LLNL / spheral

Other
63 stars 17 forks source link

Johnson-Cook Damage Model dependency #303

Open jmpearl opened 3 months ago

jmpearl commented 3 months ago

The Johnson-Cook damage model currently causes a circular dependency issue. It looks like some change (who knows how recently?) broke that damage model. Down the road, we should add a ci tests to construct and run a cycle w/ our various eos/strength/damage models just to make sure they don't get outdated like this.

Sean Stokes encountered this bug and here's the error message he sent me:

...at line 259 of file /usr/WS2/sphapp/gitlab-runner/builds/zcqvTfGz/000/gitlab/spheral/spheral/toss_4_x86_64_ib-spheral-dev-pkg-9848/src/./DataBase/State.cc.

control.advance(goalTime, maxSteps)

File "/usr/gapps/Spheral/toss_4_x86_64_ib/spheral-9848/.venv/lib/python3.9/site-packages/Spheral/SpheralController.py", line 368, in advance self.integrator.step(goalTime) RuntimeError: Verification failed: State::update ERROR: someone has specified a circular state dependency. Remaining State: flaws plastic strain pressure shear modulus sound speed tensor damage yield strength State dependencies: H|Air : H|Impactor : H|Plate : bulk modulus|Air : mass density ++ porosity solid mass density ++ specific thermal energy ++
bulk modulus|Impactor : mass density ++ porosity solid mass density ++ specific thermal energy ++
bulk modulus|Plate : mass density ++ porosity solid mass density ++ specific thermal energy ++
deviatoric stress|Air : deviatoric stress|Impactor : deviatoric stress|Plate : flaws|Impactor : deviatoric stress ++ melt specific energy ++ plastic strain ++ pressure ++ specific thermal energy ++
flaws|Plate : deviatoric stress ++ melt specific energy ++ plastic strain ++ pressure ++ specific thermal energy ++
interfaceAreaVectors|Air : interfaceAreaVectors|Impactor : interfaceAreaVectors|Plate : interfaceFlags|Air : interfaceFlags|Impactor : interfaceFlags|Plate : interfaceNormals|Air : interfaceNormals|Impactor : interfaceNormals|Plate : interfaceSmoothness|Air : interfaceSmoothness|Impactor : interfaceSmoothness|Plate : mass density|Air : mass density|Impactor : mass density|Plate : melt specific energy|Impactor : mass density ++ porosity solid mass density ++ specific thermal energy ++
melt specific energy|Plate : mass density ++ porosity solid mass density ++ specific thermal energy ++
node volume|Air : mass density ++
node volume|Impactor : mass density ++
node volume|Plate : mass density ++
plastic strain|Air : deviatoric stress ++ mass density ++ pressure ++ specific thermal energy ++
plastic strain|Impactor : deviatoric stress ++ mass density ++ pressure ++ specific thermal energy ++
plastic strain|Plate : deviatoric stress ++ mass density ++ pressure ++ specific thermal energy ++
position|Air : position|Impactor : position|Plate : pressure|Air : mass density ++ porosity alpha ++ porosity solid mass density ++ specific thermal energy ++ tensor damage ++
pressure|Impactor : mass density ++ porosity alpha ++ porosity solid mass density ++ specific thermal energy ++ tensor damage ++
pressure|Plate : mass density ++ porosity alpha ++ porosity solid mass density ++ specific thermal energy ++ tensor damage ++
shear modulus|Air : mass density ++ porosity alpha ++ porosity solid mass density ++ pressure ++ specific thermal energy ++ tensor damage ++
shear modulus|Impactor : mass density ++ porosity alpha ++ porosity solid mass density ++ pressure ++ specific thermal energy ++ tensor damage ++
shear modulus|Plate : mass density ++ porosity alpha ++ porosity solid mass density ++ pressure ++ specific thermal energy ++ tensor damage ++
sound speed|Air : initial porosity alpha ++ initial porosity sound speed ++ mass density ++ porosity alpha ++ porosity solid mass density ++ pressure ++ specific thermal energy ++ tensor damage ++
sound speed|Impactor : initial porosity alpha ++ initial porosity sound speed ++ mass density ++ porosity alpha ++ porosity solid mass density ++ pressure ++ specific thermal energy ++ tensor damage ++
sound speed|Plate : initial porosity alpha ++ initial porosity sound speed ++ mass density ++ porosity alpha ++ porosity solid mass density ++ pressure ++ specific thermal energy ++ tensor damage ++
specific thermal energy|* : tensor damage|Impactor : flaws ++ plastic strain ++
tensor damage|Plate : flaws ++ plastic strain ++
velocity|Air : position ++ specific thermal energy ++
velocity|Impactor : position ++ specific thermal energy ++
velocity|Plate : position ++ specific thermal energy ++
yield strength|Air : delta plastic strain ++ mass density ++ plastic strain ++ porosity alpha ++ porosity solid mass density ++ pressure ++ specific thermal energy ++ tensor damage ++
yield strength|Impactor : delta plastic strain ++ mass density ++ plastic strain ++ porosity alpha ++ porosity solid mass density ++ pressure ++ specific thermal energy ++ tensor damage ++
yield strength|Plate : delta plastic strain ++ mass density ++ plastic strain ++ porosity alpha ++ porosity solid mass density ++ pressure ++ specific thermal energy ++ tensor damage ++

jmikeowen commented 3 months ago

Have to take a look at that. We don’t generally use the Johnson-Cook damage model, but clearly we need to add a regression test that does to catch stuff like this.

From: Jason Pearl @.> Date: Wednesday, August 28, 2024 at 8:04 AM To: LLNL/spheral @.> Cc: Subscribed @.***> Subject: [LLNL/spheral] Johnson-Cook Damage Model dependency (Issue #303)

The Johnson-Cook damage model currently causes a circular dependency issue. It looks like some change (who knows how recently?) broke that damage model. Down the road, we should add a ci tests to construct and run a cycle w/ our various eos/strength/damage models just to make sure they don't get outdated like this.

Sean Stokes encountered this bug and here's the error message he sent me:

`...at line 259 of file /usr/WS2/sphapp/gitlab-runner/builds/zcqvTfGz/000/gitlab/spheral/spheral/toss_4_x86_64_ib-spheral-dev-pkg-9848/src/./DataBase/State.cc.

control.advance(goalTime, maxSteps)

File "/usr/gapps/Spheral/toss_4_x86_64_ib/spheral-9848/.venv/lib/python3.9/site-packages/Spheral/SpheralController.py", line 368, in advance self.integrator.step(goalTime) RuntimeError: Verification failed: State::update ERROR: someone has specified a circular state dependency. Remaining State: flaws plastic strain pressure shear modulus sound speed tensor damage yield strength State dependencies: H|Air : H|Impactor : H|Plate : bulk modulus|Air : mass density ++ porosity solid mass density ++ specific thermal energy ++ bulk modulus|Impactor : mass density ++ porosity solid mass density ++ specific thermal energy ++ bulk modulus|Plate : mass density ++ porosity solid mass density ++ specific thermal energy ++ deviatoric stress|Air : deviatoric stress|Impactor : deviatoric stress|Plate : flaws|Impactor : deviatoric stress ++ melt specific energy ++ plastic strain ++ pressure ++ specific thermal energy ++ flaws|Plate : deviatoric stress ++ melt specific energy ++ plastic strain ++ pressure ++ specific thermal energy ++ interfaceAreaVectors|Air : interfaceAreaVectors|Impactor : interfaceAreaVectors|Plate : interfaceFlags|Air : interfaceFlags|Impactor : interfaceFlags|Plate : interfaceNormals|Air : interfaceNormals|Impactor : interfaceNormals|Plate : interfaceSmoothness|Air : interfaceSmoothness|Impactor : interfaceSmoothness|Plate : mass density|Air : mass density|Impactor : mass density|Plate : melt specific energy|Impactor : mass density ++ porosity solid mass density ++ specific thermal energy ++ melt specific energy|Plate : mass density ++ porosity solid mass density ++ specific thermal energy ++ node volume|Air : mass density ++ node volume|Impactor : mass density ++ node volume|Plate : mass density ++ plastic strain|Air : deviatoric stress ++ mass density ++ pressure ++ specific thermal energy ++ plastic strain|Impactor : deviatoric stress ++ mass density ++ pressure ++ specific thermal energy ++ plastic strain|Plate : deviatoric stress ++ mass density ++ pressure ++ specific thermal energy ++ position|Air : position|Impactor : position|Plate : pressure|Air : mass density ++ porosity alpha ++ porosity solid mass density ++ specific thermal energy ++ tensor damage ++ pressure|Impactor : mass density ++ porosity alpha ++ porosity solid mass density ++ specific thermal energy ++ tensor damage ++ pressure|Plate : mass density ++ porosity alpha ++ porosity solid mass density ++ specific thermal energy ++ tensor damage ++ shear modulus|Air : mass density ++ porosity alpha ++ porosity solid mass density ++ pressure ++ specific thermal energy ++ tensor damage ++ shear modulus|Impactor : mass density ++ porosity alpha ++ porosity solid mass density ++ pressure ++ specific thermal energy ++ tensor damage ++ shear modulus|Plate : mass density ++ porosity alpha ++ porosity solid mass density ++ pressure ++ specific thermal energy ++ tensor damage ++ sound speed|Air : initial porosity alpha ++ initial porosity sound speed ++ mass density ++ porosity alpha ++ porosity solid mass density ++ pressure ++ specific thermal energy ++ tensor damage ++ sound speed|Impactor : initial porosity alpha ++ initial porosity sound speed ++ mass density ++ porosity alpha ++ porosity solid mass density ++ pressure ++ specific thermal energy ++ tensor damage ++ sound speed|Plate : initial porosity alpha ++ initial porosity sound speed ++ mass density ++ porosity alpha ++ porosity solid mass density ++ pressure ++ specific thermal energy ++ tensor damage ++ specific thermal energy|* : tensor damage|Impactor : flaws ++ plastic strain ++ tensor damage|Plate : flaws ++ plastic strain ++ velocity|Air : position ++ specific thermal energy ++ velocity|Impactor : position ++ specific thermal energy ++ velocity|Plate : position ++ specific thermal energy ++ yield strength|Air : delta plastic strain ++ mass density ++ plastic strain ++ porosity alpha ++ porosity solid mass density ++ pressure ++ specific thermal energy ++ tensor damage ++ yield strength|Impactor : delta plastic strain ++ mass density ++ plastic strain ++ porosity alpha ++ porosity solid mass density ++ pressure ++ specific thermal energy ++ tensor damage ++ yield strength|Plate : delta plastic strain ++ mass density ++ plastic strain ++ porosity alpha ++ porosity solid mass density ++ pressure ++ specific thermal energy ++ tensor damage ++ `

— Reply to this email directly, view it on GitHubhttps://urldefense.us/v3/__https:/github.com/LLNL/spheral/issues/303__;!!G2kpM7uM-TzIFchu!1EENOXOJvifFGp46B7oJrJksJlhUJAMhdDCu4yH1o8bidnlUhEHq1-_MtZPTVpEYbQAZA6_cAnbstf77JbNcZPgL0g$, or unsubscribehttps://urldefense.us/v3/__https:/github.com/notifications/unsubscribe-auth/ABCN6BXEE5D2VHMTZ4QD5TTZTXRHXAVCNFSM6AAAAABNIP4FO6VHI2DSMVQWIX3LMV43ASLTON2WKOZSGQ4TEMZWHE4TAMY__;!!G2kpM7uM-TzIFchu!1EENOXOJvifFGp46B7oJrJksJlhUJAMhdDCu4yH1o8bidnlUhEHq1-_MtZPTVpEYbQAZA6_cAnbstf77JbP0Vlmf9g$. You are receiving this because you are subscribed to this thread.Message ID: @.***>