Skip to content

LIE; Update Heaviside function to [-1/2,1/2] range.

Dmitry Yu. Naumov requested to merge endJunction/ogs:LieMPushPull into master

Due to incorrect results for a Neumann type BC (traction) on boundaries crossed by a fracture the Heaviside function for levelsets was changed from [0;1] range to [-1/2;1/2] range. The corresponding postLIE tool was updated too.

The test is a five element test (three quads stacked with two fractures); The bottom and left boundaries are held fast the top and right boundaries being pushed/pulled. The test produces obviously incorrect results in the master-branch version.

Because of the change of the Heaviside function all of the references were updated. To ensure validity two comparisons were performed:

  1. All of the ctests passed but those for displacement/displacement_jump/stress variables.
  2. All of the ctest results were processed with postLIE tool and the resulting u displacement was compared to the master-branch version (processed in the same way) matching up to 1e-16 in absolute or relative errors.
find -name '*.vtu' | while read i; do ~/w/ogs/r/bin/postLIE -i ${i} -o ${i}_post.vtu; done 
find -name '*_post.vtu' | while read i; do ~/w/ogs/r/bin/vtkdiff -a u -b u ../master/${i} ${i} --abs 1e-16 --rel 1e-16 >& ${i}.vtkdiff || echo $i; done

The merge request is two-fold:

  • The first part is generalization of the code w/o any changes to the benchmarks.
  • After changing the Heaviside function a new test is added and references update.

  1. Feature description was added to the changelog
  2. Tests covering your feature were added?
  3. Any new feature or behavior change was documented?
Edited by Dmitry Yu. Naumov

Merge request reports