The new rigid material (with setDirection=8) ignores cracks but will interact
with crack velocity fields by multi-material
mode contact. This material can handle problems involving wedging opening of a
crack.
The current code (5/21/2010) extrapolates these particles to the grid just like
regular particles and thus they may
become part of crack velocity fields above and below cracks. They will do
material contact in those fields whenever
they are present in those fields. They are ignored for all other crack
calculations. In this approach, crack surface will not "feel" the rigid
particles until they pass through the crack plane
particles. This seems to work OK, but is it physically correct? Here are some
alternatives that can be activated in the
code:
1. An alternate scheme is to extrapolate rigid particles to all crack velocity
fields and thus they will interface with all
surfaces when near those surfaces. This approach seems physically better, but
gave poor results in some cutting
simulations. This approach is coded and can be
implemented by uncommenting the line
//#define COMBINE_RIGID_MATERIALS
in NairnMPM.cpp. When this variable is defined, a new method is called at the
end of task 1 that combines rigid
particle material velocity fields for all crack velocity fields and transfers a
copy of that full field to each crack velocity
field with other materials.
2. Another option is to transfer rigid particles only to crack velocity fields
that already had at least one particle of that
material. This approach may not make physical sense (i.e., presence of one
particle should not be a requirement to
start contact). It can be implemented by
uncommenting the line as described in #1 and then uncommenting the first
section in
void CrackVelocityFieldMulti::CopyRigidFrom(CrackVelocityFieldMulti *cvfm,int rigidFieldNum)
in CrackVelocityFieldMulti.cpp and finally commenting out the second section
beginning in
// create material field if needed
Original issue reported on code.google.com by johnanairn@gmail.com on 21 May 2010 at 11:55
Original issue reported on code.google.com by
johnanairn@gmail.com
on 21 May 2010 at 11:55