TACC and Local outputs not equivalent for circular NorSand model

Issue

Running circular NorSand model with cb-geo:develop on local machine and in TACC are resulting in axisymmetric and non-axisymmetric pdstrain outputs, respectively. Identical input files are used.

Local (Expected Behavior)

Build

  • upstream is cb-geo:develop
  • Local branch is up-to-date

image

Compiling

mkdir build && cd build && cmake -DCMAKE_CXX_COMPILER=g++ -DNO_KAHIP=True..
make clean && make -j2

Run & Output

  • Running on -p 1
  • Output is axisymmetric (as expected after @ezrayst bug fix)

Number of Attempts

  • Run 2x locally with identical axisymmetric outputs

TACC (Unexpected Behavior)

Build

  • TACC is up-to-date with origin
  • origin is personal fork of cb-geo:develop

image

  • Personal fork is even with cb-geo:develop

Compiling

mkdir build && cd build && cmake -DBOOST_ROOT=$TACC_BOOST_DIR -DBOOST_INCLUDE_DIRS=$TACC_BOOST_INC -DCMAKE_BUILD_TYPE=Release -DEIGEN3_INCLUDE_DIR=$HOME/eigen -DKAHIP_ROOT=$HOME/KaHIP ..
make -j2

Run & Output

  • Running on -p 1
  • Output is not axisymmetric

Number of Attempts

  • Run 3x on TACC with non-axisymmetric outputs for all attempts
  • Third attempt included removing entire mpm directory and git clone from scratch

Other Notes

  • TACC build definitely includes the axisymmetric bug fix (dF_dsigma_deviatoric) in norsand.tcc

Update

  • Instead of personal fork, built mpm in TACC directly from CB-Geo with:
git clone https://github.com/cb-geo/mpm.git
  • Continued to produce non-axisymmetric results

Thanks @jgiven100 for reporting the issue, could you please share the input files so I can try it?

@kks32
Here is a link to all input files.
Thank you for looking into this!

@kks32
Updated link with smaller input files.

  • Axisymmetric outputs observed for develop run locally
  • Unsure about the axisymmetric behavior for develop due to /work directory down for TACC

Thanks @jgiven100, locally I get this:

However, when I zoom-in some points break symmetry. Is this expected?

@kks32 thank you for running locally.

I had intially been focused on pdstrain and not been looking at stresses Magnitude and missed this behavior. For this smaller model, I decreased the number of material points but did not think to decrease the magnitude of external load - I think this is resulting in more element crossings.

Although I am also getting some points which break symetry for stresses Magnitude, the values appear closer aligned than in your output:

Even with the non-axisymmetric behavior of the stresses Magnitude, it appears my pdstrain output continues to be approximately axisymmetric at the same output step:

Possible Solution?

I think a possible solution to the original question of this thread might be related to this discussion.

Previous TACC Compiling

Previously compiling on TACC would result in 100s of warnings such as:

Based on the recommendation of others, I had been ignoring these warnings since mpm was being successfully built.

Current TACC Compiling

When compiling using the updated procedures frrom CB-Geo

export CC=icc
export CXX=icpc
mkdir build && cd build && cmake -DBOOST_ROOT=$TACC_BOOST_DIR -DBOOST_INCLUDE_DIRS=$TACC_BOOST_INC -DCMAKE_BUILD_TYPE=Release -DEIGEN3_INCLUDE_DIR=$HOME/eigen -DKAHIP_ROOT=$HOME/KaHIP ..

make -j

I now get 0 warnings during compiling.

Current TACC Output for CB-Geo:Develop

When compiling with the updated procedures (above), my most recent TACC output is identical to my most recent local output (i.e. problem solved). :+1:

Current TACC Output for Old Branches

If I’m using an outdated personal branch to reporduce older results, using updated compiling procedure (above) will not successfully compile. Therefore, I had been using just:

mkdir build && cd build && cmake -DBOOST_ROOT=$TACC_BOOST_DIR -DBOOST_INCLUDE_DIRS=$TACC_BOOST_INC -DCMAKE_BUILD_TYPE=Release -DEIGEN3_INCLUDE_DIR=$HOME/eigen -DKAHIP_ROOT=$HOME/KaHIP ..

make -j

The output when compiling with this old procedure is consistent with the non-axisymmetric results of the original post for this thread:

Conclusion

  • Using updated TACC compiling (as currently outlined on CB-Geo website) matches local outputs for CB-Geo:Develop
  • If using an outdated branch, I can only run locally
2 Likes

Thanks @jgiven100 for the detailed summary. We’ll update all the outdated branches, it’s possible they don’t have the NorSand fix in them.

Thanks @jgiven100 for this! Wonderful!