-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: phase-field nucleation modeling of hydraulic fracturing #2125
base: develop
Are you sure you want to change the base?
feat: phase-field nucleation modeling of hydraulic fracturing #2125
Conversation
…ction to output it
… value non-negative
…to the Damage base code
… formulation is called
… the damage base code
…ation To keep the branch up-to-date
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a pretty big PR and we may need to iterate a few times but I don't really see anything that should prevent us from merging this quickly.
src/coreComponents/schema/docs/PhaseFieldPoromechanics_other.rst
Outdated
Show resolved
Hide resolved
faceScale += nodalScaleSet[ faceToNodeMap( kf, a ) ]; | ||
} | ||
|
||
m_scaleSet[i] = std::min( 1.0, (1.0 - faceScale/numNodes)*(1.0 - faceScale/numNodes) ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
m_scaleSet[i] = std::min( 1.0, (1.0 - faceScale/numNodes)*(1.0 - faceScale/numNodes) ); | |
m_scaleSet[i] = LvArray::math::min( 1.0, (1.0 - faceScale/numNodes)*(1.0 - faceScale/numNodes) ); |
@@ -81,6 +81,10 @@ class TractionBoundaryCondition : public FieldSpecificationBase | |||
SortedArrayView< localIndex const > const & targetSet, | |||
arrayView1d< real64 > const & localRhs ) const; | |||
|
|||
void reinitScaleSet( FaceManager const & faceManager, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
write doxygen.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
write doxygen.
The doxygen is added
@@ -220,6 +234,33 @@ void TractionBoundaryCondition::launch( real64 const time, | |||
} | |||
} | |||
|
|||
void TractionBoundaryCondition::reinitScaleSet( FaceManager const & faceManager, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure I understand what's happening in here and why you need it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure I understand what's happening in here and why you need it.
I added this function to account for the reduction of traction on the boundary where phase-field damage is generated. Maybe this function can be used for other purposes when the traction magnitude depends on any nodal variables.
...mponents/physicsSolvers/multiphysics/poromechanicsKernels/SinglePhasePoromechanicsDamage.hpp
Outdated
Show resolved
Hide resolved
…chanics kernel and updated copyright content
…efield_nucleation_poromech
In this PR, we have added a phase-field poromechanics solver that can simulate the hydraulic fracturing nucleation and propagation. Detailed formulations can be seen in Fei et al. (2023). We have added and used following features in this PR:
On a new solver
DamagePermeability
to simply calculate the phase-field fracture permeabilityOn existing solvers and/or functions
SinglePhaseHybridFVM
ImplicitSmallStrainQuasiStaticPressurizedDamage
kernel for solid mechanics solver so that we can solve for pressurized fracture nucleation and propagation in a dry solid without using poromechanics (this is for calibration of some phase-field nucleation parameters) -> removed here, and can be added in another PR