Dear all,
     I am afraid that boundary conditions imposed with the penalty 
method are confusing NewtonSolver for a nonlinear system of PDE's I'm 
working with (I have already checked the jacobians with 
verify_analitic_jacobians...). Thus, I would like to rule out the 
penalty method as culprit for the shaky convergence by imposing b.c.'s 
exactly when building the residual.

Say the b.c.'s are  B(u(x))=0 for all points x on a (portion of) the 
boundary. I am working with Lagrange elements on tris and tets. So I 
need to replace the entries of the residual corresponding to nodes on 
the bdry, with the boundary condition residual b(u_i) and set the 
jacobian accordingly.

Upon reading old posts on this list (notably one about Dirichlet b.c. in 
a matrix-free method), I understand that the best way to go about this 
should be:
1) assemble as usual for elements,
2) zero out residual entries (and jacobian rows) given by 
BoundaryInfo::build_node_list
3)assemble for sides as in the examples for Dirichlet b.c. using 
PENALTY=1.0, obtaining the constraint equations N*B(u_i)=0 with N=number 
of elements that share boundary node i as vertex (of an edge entirely on 
the bdry).

This would be ok with me, but the question is how can I achieve this in 
the DifferentiableSystem framework? Part 3 should be ok using 
FEMSystem::side_postprocess, but how about part 2?

An alternative that was considered at the time was to avoid adding 
residual/jacobian contributions when assembling for elements if the dof 
corresponds to a node on the boundary of the domain, so that one does 
not need step 2. From my understanding, however, this idea lead nowhere 
since it is difficult recognize the case of elements intersecting the 
boundary only in one vertex (as opposed to the easy case of a node 
belonging to a side of the element which lies entirely on the boundary).

Any suggestions? or other ideas?

Best,
         Matteo

-- 
Matteo Semplice                         Dip. di Fisica e Matematica
Phone: 031-2386132                      Università dell'Insubria
Fax:   031-2386209                      Via Valleggio, 11
                                        22100 Como


------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to