The ApplyMPMParticleDirichletConditionProcess
imposes non-conforming Dirichlet boundary conditions by means of the Penalty method, Lagrange multipliers and Perturbed Lagrangian method, which are implemened using boundary material points conditions.
Parameters & Defaults
{
"kratos_module" : "KratosMultiphysics.MPMApplication",
"python_module" : "apply_mpm_particle_dirichlet_condition_process",
"Parameters" : {
"model_part_name" : "PLEASE_SPECIFY_MODEL_PART_NAME",
"material_points_per_condition" : 0,
"imposition_type" : "penalty|lagrange|perturbed_lagrange",
"is_equal_distributed" : false,
"penalty_factor" : 0,
"variable_name" : "DISPLACEMENT",
"constrained" : "fixed",
"value" : [0.0, "0*t", 0.0],
"interval" : [0.0, 1e30],
"option" : ""
}
}
model_part_name
String identifying the name of the target ModelPart to which the boundary conditions will be applied.
material_points_per_condition
Defines the number of material point conditions used to replace each line or surface condition where Dirichlet boundary conditions must be imposed.
imposition_type
Defines the method to be used for imposing non-conforming Dirichlet boundary conditions. Available options are:
"penalty"
"lagrange"
"perturbed_lagrange"
"lagrange"
can be used only when the background elements are triangles (in 2D) or tetrahedra (in 3D).is_equal_distributed
If true
, material point conditions are equally distributed over the original (line or surface) condition, otherwise their position is determined by Gauss quadrature nodes.
penalty_factor
Penalty coefficient used in the "penalty"
and "perturbed_lagrange"
methods to enforce Dirichlet boundary conditions.
variable_name
String identifying the variable whose value is to be imposed using the Penalty method. Admissible values are:
"DISPLACEMENT"
"VELOCITY"
"ACCELERATION"
constrained
Specifies the type of Dirichlet boundary condition to be imposed. Admissible values are:
"fixed"
- the variable is fully constrained"contact"
- movement is constrained only in the case of contact with the non-conforming boundary"slip"
- constrains the movement along the normal direction while not restricting the others"contact_slip"
- combines both contact and slip constraints
value
Value to be assigned to the variable specified by variable_name
. Each component of the list can be either a number or a string representing a function depending on space and/or time.
interval
Time interval in which the process applies.
option
If set to "flip_normal"
, the normal of each condition is flipped.
Source Code
MPMApplication/python_scripts/apply_mpm_particle_dirichlet_condition_process.py
Reference
- Chandra, B., Singer, V., Teschemacher, T., Wuechner, R., & Larese, A. (2021). Nonconforming Dirichlet boundary conditions in implicit material point method by means of penalty augmentation, Acta Geotechnica, 16(8), 2315-2335. DOI: 10.1007/s11440-020-01123-3.
- Singer, V., Teschemacher, T., Larese, A., Wüchner, R., Bletzinger, K.U. (2024). Lagrange multiplier imposition of non-conforming essential boundary conditions in implicit Material Point Method, Computational Mechanics, 73, 1311–1333 DOI: 10.1007/s00466-023-02412-w.