You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a developer, I would like to move the GeoLinearElasticPlaneStrain2DLaw to a more suitable place in the inheritance structure and extract the 2D specific behavior, such that I can conveniently add 3D functionality to this class.
Make sure the GeoLinearElasticPlaneStrain2DLaw does not derive from a K0 law anymore
Identify the behavior that's dimension specific (should that be part of the refinement?)
Create a policy we can inject into the GeoLinearElasticPlaneStrain2DLaw (which should then be renamed to something more generic)
Capture the 2D plane strain behavior in the policy, later on easily extendible to 3D and maybe axisymmetric. This behavior is only filling the constitutive matrix (meaning the policy will have a single public function in the interface)
Register the laws with an abstract pointer to the policy.
Acceptance Criteria
The GeoLinearElasticPlaneStrain2DLaw does not derive from LinearPlaneStrainK0Law anymore
The GeoLinearElasticPlaneStrain2DLaw class is renamed to something more generic
The 2D-specific behavior can be injected into the more generic class
The only one the K0 version has, that the 2D version doesn't have is the CalculateCauchyGreenStrain function. If it would have that function, we could move it in the inheritance structure to derive from GeoLinearElasticLaw directly. This should be relatively small effort, so we could look at the possibility of extending this class to have 3D functionality.
The text was updated successfully, but these errors were encountered:
rfaasse
changed the title
[GeoMechanicsApplication] Refactor Linear Elastic law to extract a policy for 2D behavior
[GeoMechanicsApplication] Refactor Linear Elastic law to extract a policy for plane strain behavior
Sep 25, 2024
As a developer, I would like to move the GeoLinearElasticPlaneStrain2DLaw to a more suitable place in the inheritance structure and extract the 2D specific behavior, such that I can conveniently add 3D functionality to this class.
Required for 3D soil-structure interaction
Successor: #12336
Proposed steps:
Acceptance Criteria
Background information
Functions the GeoLinearElasticPlaneStrain2DLaw overrides:
Functions its base LinearPlaneStrainK0Law overrides:
The only one the K0 version has, that the 2D version doesn't have is the
CalculateCauchyGreenStrain
function. If it would have that function, we could move it in the inheritance structure to derive from GeoLinearElasticLaw directly. This should be relatively small effort, so we could look at the possibility of extending this class to have 3D functionality.The text was updated successfully, but these errors were encountered: