refactor: Phase-field and damage solid model cleanup, refactor - #4096
refactor: Phase-field and damage solid model cleanup, refactor#4096frankfeifan wants to merge 32 commits into
Conversation
|
Added a few well-known benchmark examples in A short report summarizing these examples is attached here: |
…ctor' into refactor/frankfei/phaseFieldRefactor
…phaseFieldRefactor
…phaseFieldRefactor
…phaseFieldRefactor
…phaseFieldRefactor
…phaseFieldRefactor
There was a problem hiding this comment.
@jhuang2601 @victorapm, the refined versions are now provided in GEOS-DEV/GEOSDATA#3
…phaseFieldRefactor
|
|
||
| arrayView2d< real64 > const damageFieldOnMaterial = constitutiveUpdate.m_newDamage; | ||
| arrayView2d< localIndex const, cells::NODE_MAP_USD > const elemToNodes = elementSubRegion.nodeList(); | ||
| arrayView2d< real64 > const damageFieldOnMaterial = constitutiveUpdate.m_newDamage; |
There was a problem hiding this comment.
Should m_damageGrad also be updated?
There was a problem hiding this comment.
Should
m_damageGradalso be updated?
So far m_damageGrad is only used in the PhaseFieldPoromechanicsSolver, so it's not mapped here in this solver for pure solid. That said, it's worthwhile to consolidate the two interpolation kernels in the poromechanics solver and this solid solver into one. The tradeoff is just to write an additional array for each outer iteration, which should be trivial.
|
|
||
| interpolationKernel.interpolateDamage( elemToNodes, nodalDamage, damageFieldOnMaterial ); | ||
| } ); | ||
| interpolationKernel.interpolateDamage( elemToNodes, nodalDamage, damageFieldOnMaterial ); |
There was a problem hiding this comment.
Also interpolates damageGradOnMaterial?
There was a problem hiding this comment.
Same comment above.
|
Needs a code owner review from @bd713 and/or @rrsettgast |
To remove dead codes, unify duplicated logic, rename unclear variables, and decouple crack model type from decomposition scheme to enable more options of the phase-field model.
LocalDissipationOptioninto a constitutive-level definitionFractureModelType(Brittle/Cohesive/Nucleation), and decouple it from decomposition scheme to allow for more phase-field model combinations, e.g.,- Brittle + Linear (AT1)/Quadratic (AT2) + No decomposition/Spectral/VolDev
- Cohesive + Linear + No decomposition/Spectral/VolDev
- Nucleation + Linear + No decomposition
PhaseFieldFractureorPhaseFieldDamageFEM.