MASTmultiphysics / mast-multiphysics

Multidisciplinary-design Adaptation and Sensitivity Toolkit (MAST) - Sensitivity-enabled multiphysics FEA for design
https://www.mast-multiphysics.com
GNU Lesser General Public License v2.1
43 stars 24 forks source link

Add plane strain support to 2D materials and move kappa from material card to section card #72

Closed JohnDN90 closed 4 years ago

JohnDN90 commented 4 years ago

This pull request added plane strain support for 2D isotropic and orthotropic materials and moved the shear coefficient, kappa, from the material card to the section card.

In addition, for 1D materials kappa was split into Kappazz and Kappayy since in general the value is not the same in the y- and z- directions.

Examples were updated to account for this change.

Catch2 tests were added for isotropic and orthotropic material cards.

JohnDN90 commented 4 years ago

It seems that the tests run with MPI fail intermittently. Sometimes they run through without issues, other times it hangs up on a test (the test it hangs up on seems to be random, it's not always the same one). Need to investigate this further to determine if its an issue in the test source code, ctest, or MAST

JohnDN90 commented 4 years ago

Manually running the catch2 mpi tests, without ctest, I still encounter the intermittent "hang up" issue. So it seems like its an issue in either the test code or in MAST. I suppose it could be an issue within catch2 as well.

@manavbhatia could you take a look at the test for mast_function_set_base.cpp and see if anything sticks out that may cause issues with MPI? For some reason, this particular test always takes orders of magnitude longer with MPI (~11.5 seconds) than without (~0.15), so I figure that's a good place to start looking for issues. Nothing sticks out to me, but you have more experience using MPI than I do.

Edit: Added possibility of problem lying within catch2.

JohnDN90 commented 4 years ago

@manavbhatia could you take a look at the test for mast_function_set_base.cpp and see if anything sticks out that may cause issues with MPI? For some reason, this particular test always takes orders of magnitude longer with MPI (~11.5 seconds) than without (~0.15)

It looks like the REQUIRE_THROWS is causing the test to take a long time with MPI for some reason. This is the only place REQUIRE_THROWS is used in the current tests. I commented it out, but ctest still hangs up intermittently on random MPI tests.

JohnDN90 commented 4 years ago

The issue also occurs when only using libMesh and Catch2 (no MAST), so the issue is not in MAST or the MAST tests. I've opened an issue in the Catch2 repository.

jdeaton commented 4 years ago

Merging this pull request. Note that at this time we have switched the CI system so that jobs are not marked failed due to failing unit tests because we have an issue that CTest tests sometimes hang for unexplained reasons.

Closes #42.