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