Mainly adapting to new FM interface to treat GAMAIN and avoid prb
dam_pull_out ============ Adapting to para version FastMarchingInterface,TLSGeom,TLSSolver ======================================= Modify groups (sm, sub mesh) to enter FM with known fixed and volatile values. This is following new FM interface. It correct bug with previous interface where progression of the front was stopped by re-initialisation process (all new variation of phi removed by fast marching). Now buildBndIntNonlocal (TLSGEOM) is creating 2 set (bnd_part_nonlocal and bnd_nonlocal) in replacement of the original bnd_nonlocal. Those sets split boundary of non local zone in : * boundary with local mesh element (bnd_nonlocal) * boundary with part boundary (bnd_part_nonlocal) Has before it is do_bnd_in that control if we create bnd_part_nonlocal or not by calling GetBoundary or GetInteriorBoundary. In GetBoundary a dirty hack is used to identify part boundary and remove Gama_c. When do_bnd_in is 0 bnd_part_nonlocal exist but is empty. For FM, bnd_part_nonlocal is used has known volatile value. Says those part boundary value may or may not be re-initialized by FM. In the latter case those values are used for velocity computation as new extra modes with their values unmodified. This imply that on part boundary the level set live its own life when phi gradient enter the part. Unfortunately as can be seen, for now, in new dam_gamain test, setting bnd_part_nonlocal as volatile values may stop progression of the front just like before when all modified values are reset by FM. N. Chevaugeon suggested to create only volatile values for non modified values (values not updated during current time step). This look like a promising solution because removing these values from bnd_part_nonlocal and put them in bnd_nonlocal force them to be still present in velocity computation. It ensure that variation of phi is not destroyed. But it does not insure anymore that phi gradient norm is 1 around those values. This somehow must be the case when gradient direction start to be collinear to part boundary. In that case epsilon_ratio was supposed to do the job but for rather blunt variation of phi it is not clear if this will fits ours needs. So filtering like that bnd_part_nonlocal seems interesting. TODO About epsilon_ratio it have been forced to zero because really strange result where obtain with it (non same result in case where bnd_part_nonlocal is empty, non deterministic computation !???). To be analyzed. dam_gamain ========== This test case is to check if and how gamin feature works. It is a simple plate with a shear loading that force creation of crack with an angle of -45 degres (x axes). A default( removing of 2 elements) is placed in the diagonal of the plate a little closer to left upper corner. Mesh is regular and chosen to intentionally offers a line of nodes from default to corner. lc is chosen rather big so that number of element per lc is important. Without gamin non-local zone progress toward corner. When reaching part boundary modification of phi on it are clearly done by FM re-init only. It arrive to a point where bluntly in on step all corner is extra damaged (phi>lc). With gamain when reaching part boundary modification comes clearly from phi update in far more slower way. Crack continue on the diagonal. Unfortunately process is stopped by the case of delta-phi removed by FM. (see above for perspectives) In both case it is not clear how boundary condition have to be handle in omega+ zone. Without treatment like here it impose force on almost damaged material which induce maybe other estimate strain. To be check.
Showing with 18913 additions and 32 deletions