Skip to content

[GeoMechanicsApplication] Let the K0 procedure process also accept GEO_FRICTION_ANGLE as optional input #14351

@markelov208

Description

@markelov208

When the ApplyK0ProcedureProcess creates the $K_0$ vector and property K0_NC has not been provided, it will look for the friction angle $\phi$ by means of the UMAT_PARAMETERS array (also using INDEX_OF_UMAT_PHI_PARAMETER), see line 215 of apply_k0_procedure_process.cpp. However, the friction angle may also be provided through property GEO_FRICTION_ANGLE. At present, that is not reflected by the test (which only checks for the UMAT parameters), but it is accounted for by the corresponding getter (ConstitutiveLawUtilities::GetFrictionAngleInRadians).

To overcome this problem, we may add a new utility function (e.g. ConstitutiveLawUtilities::HasFrictionAngle) that does the proper check, and which should be used in conjunction with ConstitutiveLawUtilities::GetFrictionAngleInRadians. Needless to say, this new utility function needs to be unit-tested.

Also, we should add a unit test for the ApplyK0ProcedureProcess that demonstrates this additional optional input works as expected. The documentation of the $K_0$ procedure process (see custom_processes/README.md) needs to be updated as well.

(This issue was raised here.)

*** 08-04-2026 @WPK4FEM wrote: ***
The constitutive law utilities now exist, the calling of them in ApplyK0ProcedureProcess::CheckPhi, ApplyK0ProcedureProcess::CheckSufficientMaterialParameters and ApplyK0ProcedureProcess::CreateK0Vector is not there yet.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions