More specifically,

I used TransientNonlinearImplicitSystem for Navier-Stokes solver with U2P1 
element.
    system.nonlinear_solver->residual = compute_residual;
    system.nonlinear_solver->jacobian = compute_jacobian;

In compute_jacobian(...),
if(pin_pressure)
        {
            for (unsigned int c=0; c<elem->n_nodes(); c++)
            {
                if (elem->node(c) == (unsigned int)pin_pressure_node)
                {
                    Kpp(c,c) += penalty_pin;
                }
            }
        }

in compute_residual(...),
DenseSubVector<Number>    Ru(Re),    Rv(Re),    Rp(Re);
...
          Rp.reposition (p_var*n_u_dofs, n_p_dofs);
....
          for (unsigned int i=0; i<n_p_dofs; i++)
            {
                Rp(i) -=jxw*dt*psi[i][qp]*(gradu(0)+gradv(1));
            }
...
        if (pin_pressure )
        {
            for (unsigned int c=0; c<elem->n_nodes(); c++)
            {
                if (elem->node(c) == (unsigned int)pin_pressure_node)
                {
                    Rp(c)    += penalty_pin*(soln(dof_indices_p[c])-pref);
                }
            } // c loop
        } // pin pressure

        dof_map.constrain_element_vector (Re, dof_indices);
        residual.add_vector (Re, dof_indices);
...

Strangely, during the parallel run, the solution of M*dX=-R(X) gives 
a constant nonzero R,and this makes the pressure at the pinning place always is 
zero and then iot contaminated the whole field when np>1.

Cheers,

Zhenyu
------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to