From: Roy S. <roy...@ic...> - 2010-04-28 02:21:02
|
On Tue, 27 Apr 2010, Boyce Griffith wrote: > I am trying to use the DofMap to impose Dirichlet-type boundary > conditions within an explicit nonlinear mechanics solver which is > embedded in a larger fluid-structure interaction solver. I constrain > the velocity and force DOFs at Dirichlet boundaries to be zero by adding > a DofConstraintRow for each of the constrained DOFs. This should be a good method for homogeneous constraints on LAGRANGE (or HIERARCHIC, or pretty much anything but CLOUGH) elements. I don't know if anyone's ever actually tested using it before, though. > This seems to work well as long as I do not also have subdomains in my > mesh; however, as soon as I start labeling different subdomains, the dof > constraints no longer impose the boundary conditions. Is this expected > behavior? Is there something special that I should be doing in the case > of multiple subdomains? This is very surprising - unless you're adding subdomain-specific variables, in general the only part of the code that cares about subdomains is the I/O (to read them in and write them out), the refinement (to assign them to new child elements), and your own user code! Could you verify this problem in a small example? > By the way, subdomain_id seems to be the most direct way to assign > different material properties to different parts of the mesh. Are > there any alternatives which I should use instead? Subdomain ids are ideal unless you have a very large number of different materials or you have continuously varying material properties; in those cases you'd want to use a separate ExplicitSystem with properties as variable fields. --- Roy |