mpacts.contact.models.collision.linearforce. linearforce_fl_matrix

In order to be able to use this module import it like this:

import mpacts.contact.models.collision.linearforce.linearforce_fl_matrix
#or assign it to a shorter name
import mpacts.contact.models.collision.linearforce.linearforce_fl_matrix as lin

FlatLayerAdhesionFprimIntMatrix

Description: Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Geometry combinations available:

PC2 | PC1 - Deformable_Triangle Deformable_RoundedTriangle
Rigid_Triangle YES YES
Rigid_SlidingQuad YES YES
Rigid_Quad YES YES
Rigid_Cylinder YES YES
Deformable_Triangle YES  
Deformable_RoundedTriangle   YES

FlatLayerAdhesionFprimIntMatrix (Deformable_RoundedTriangle Deformable_RoundedTriangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • abort_if_different (default value = 0) — If ‘True’, inverts the regular function of ‘AbortIfSameParent’, and makes the contact model early abort if the particles’ parents are different. Please do not change this ‘Property’ if you are not sure what you are doing.
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepDeformable_NGon_1_Data  <3 >
  ↓
Deformable_NGon_2_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesDistributeForcesAndMomentsToTriangle_2_NodesAssembleForces_DeformableTriangle_1AssembleForces_DeformableTriangle_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1DeformableTriangleDof_2AssembleContactMatrix_ComposedParticleAbortIfSameParentFeedback

FlatLayerAdhesionFprimIntMatrix (Deformable_RoundedTriangle Rigid_Cylinder)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range (default value = 0) — The range of negative overlaps for which the intersection polygon will be expanded. Default: 0
    • extend_cylinder_hull (default value = 0) — Distance that the cylinder will be extended at top and bottom for contact resolution.It is recommended that you choose a non-zero value here, to prevent particles falling out at the edges. A good choice would be the maximal allowed overlap.Default: zero.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_Cylinder_2_DataDeformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
NGon_HollowCylinderConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesionFprimIntMatrix (Deformable_RoundedTriangle Rigid_Quad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesionFprimIntMatrix (Deformable_RoundedTriangle Rigid_SlidingQuad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrix_ComposedParticleFeedback

FlatLayerAdhesionFprimIntMatrix (Deformable_RoundedTriangle Rigid_Triangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <3 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesionFprimIntMatrix (Deformable_Triangle Deformable_Triangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • abort_if_different (default value = 0) — If ‘True’, inverts the regular function of ‘AbortIfSameParent’, and makes the contact model early abort if the particles’ parents are different. Please do not change this ‘Property’ if you are not sure what you are doing.
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepDeformable_NGon_1_Data  <3 >
  ↓
Deformable_NGon_2_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesDistributeForcesAndMomentsToTriangle_2_NodesAssembleForces_DeformableTriangle_1AssembleForces_DeformableTriangle_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1DeformableTriangleDof_2AssembleContactMatrix_ComposedParticleAbortIfSameParentFeedback

FlatLayerAdhesionFprimIntMatrix (Deformable_Triangle Rigid_Cylinder)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range (default value = 0) — The range of negative overlaps for which the intersection polygon will be expanded. Default: 0
    • extend_cylinder_hull (default value = 0) — Distance that the cylinder will be extended at top and bottom for contact resolution.It is recommended that you choose a non-zero value here, to prevent particles falling out at the edges. A good choice would be the maximal allowed overlap.Default: zero.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_Cylinder_2_DataDeformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
NGon_HollowCylinderConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesionFprimIntMatrix (Deformable_Triangle Rigid_Quad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesionFprimIntMatrix (Deformable_Triangle Rigid_SlidingQuad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrix_ComposedParticleFeedback

FlatLayerAdhesionFprimIntMatrix (Deformable_Triangle Rigid_Triangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <3 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesionStressFprimIntMatrix

Description: Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle). Geometry combinations available:

PC2 | PC1 - Deformable_Triangle Deformable_RoundedTriangle
Rigid_Triangle YES YES
Rigid_SlidingQuad YES YES
Rigid_Quad YES YES
Rigid_Cylinder YES YES
Deformable_Triangle YES  
Deformable_RoundedTriangle   YES

FlatLayerAdhesionStressFprimIntMatrix (Deformable_RoundedTriangle Deformable_RoundedTriangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • abort_if_different (default value = 0) — If ‘True’, inverts the regular function of ‘AbortIfSameParent’, and makes the contact model early abort if the particles’ parents are different. Please do not change this ‘Property’ if you are not sure what you are doing.
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepDeformable_NGon_1_Data  <3 >
  ↓
Deformable_NGon_2_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesDistributeForcesAndMomentsToTriangle_2_NodesAssembleForces_DeformableTriangle_1AssembleForces_DeformableTriangle_2AssembleForces_Primitives_1AssembleForces_Primitives_2Assemble_VirialStress_DeformableTriangle_1Assemble_VirialStress_DeformableTriangle_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1DeformableTriangleDof_2AssembleContactMatrix_ComposedParticleAbortIfSameParentFeedback

FlatLayerAdhesionStressFprimIntMatrix (Deformable_RoundedTriangle Rigid_Cylinder)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range (default value = 0) — The range of negative overlaps for which the intersection polygon will be expanded. Default: 0
    • extend_cylinder_hull (default value = 0) — Distance that the cylinder will be extended at top and bottom for contact resolution.It is recommended that you choose a non-zero value here, to prevent particles falling out at the edges. A good choice would be the maximal allowed overlap.Default: zero.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_Cylinder_2_DataDeformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
NGon_HollowCylinderConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2Assemble_VirialStress_DeformableTriangle_1ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesionStressFprimIntMatrix (Deformable_RoundedTriangle Rigid_Quad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2Assemble_VirialStress_DeformableTriangle_1ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesionStressFprimIntMatrix (Deformable_RoundedTriangle Rigid_SlidingQuad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrix_ComposedParticleFeedback

FlatLayerAdhesionStressFprimIntMatrix (Deformable_RoundedTriangle Rigid_Triangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <3 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2Assemble_VirialStress_DeformableTriangle_1ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesionStressFprimIntMatrix (Deformable_Triangle Deformable_Triangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • abort_if_different (default value = 0) — If ‘True’, inverts the regular function of ‘AbortIfSameParent’, and makes the contact model early abort if the particles’ parents are different. Please do not change this ‘Property’ if you are not sure what you are doing.
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepDeformable_NGon_1_Data  <3 >
  ↓
Deformable_NGon_2_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesDistributeForcesAndMomentsToTriangle_2_NodesAssembleForces_DeformableTriangle_1AssembleForces_DeformableTriangle_2AssembleForces_Primitives_1AssembleForces_Primitives_2Assemble_VirialStress_DeformableTriangle_1Assemble_VirialStress_DeformableTriangle_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1DeformableTriangleDof_2AssembleContactMatrix_ComposedParticleAbortIfSameParentFeedback

FlatLayerAdhesionStressFprimIntMatrix (Deformable_Triangle Rigid_Cylinder)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range (default value = 0) — The range of negative overlaps for which the intersection polygon will be expanded. Default: 0
    • extend_cylinder_hull (default value = 0) — Distance that the cylinder will be extended at top and bottom for contact resolution.It is recommended that you choose a non-zero value here, to prevent particles falling out at the edges. A good choice would be the maximal allowed overlap.Default: zero.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_Cylinder_2_DataDeformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
NGon_HollowCylinderConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2Assemble_VirialStress_DeformableTriangle_1ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesionStressFprimIntMatrix (Deformable_Triangle Rigid_Quad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2Assemble_VirialStress_DeformableTriangle_1ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesionStressFprimIntMatrix (Deformable_Triangle Rigid_SlidingQuad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrix_ComposedParticleFeedback

FlatLayerAdhesionStressFprimIntMatrix (Deformable_Triangle Rigid_Triangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <3 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2Assemble_VirialStress_DeformableTriangle_1ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesionTractionFprimIntMatrix

Description: Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction. Geometry combinations available:

PC2 | PC1 - Deformable_Triangle Deformable_RoundedTriangle
Rigid_Triangle YES YES
Rigid_SlidingQuad YES YES
Rigid_Quad YES YES
Rigid_Cylinder YES YES
Deformable_Triangle YES  
Deformable_RoundedTriangle   YES

FlatLayerAdhesionTractionFprimIntMatrix (Deformable_RoundedTriangle Deformable_RoundedTriangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • abort_if_different (default value = 0) — If ‘True’, inverts the regular function of ‘AbortIfSameParent’, and makes the contact model early abort if the particles’ parents are different. Please do not change this ‘Property’ if you are not sure what you are doing.
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • traction_weight1 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc1. If not given, weight ‘1’ will be used
    • traction_weight2 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc2. If not given, weight ‘1’ will be used
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepDeformable_NGon_1_Data  <3 >
  ↓
Deformable_NGon_2_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
T_ActiveTraction_1T_ActiveTraction_2N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesDistributeForcesAndMomentsToTriangle_2_NodesAssembleForces_DeformableTriangle_1AssembleForces_DeformableTriangle_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1DeformableTriangleDof_2AssembleContactMatrix_ComposedParticleAbortIfSameParentFeedback

FlatLayerAdhesionTractionFprimIntMatrix (Deformable_RoundedTriangle Rigid_Cylinder)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range (default value = 0) — The range of negative overlaps for which the intersection polygon will be expanded. Default: 0
    • extend_cylinder_hull (default value = 0) — Distance that the cylinder will be extended at top and bottom for contact resolution.It is recommended that you choose a non-zero value here, to prevent particles falling out at the edges. A good choice would be the maximal allowed overlap.Default: zero.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • traction_weight1 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc1. If not given, weight ‘1’ will be used
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_Cylinder_2_DataDeformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
NGon_HollowCylinderConstantFlatLayerAdhesion_Int  <16 >
  ↓
T_ActiveTraction_1N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesionTractionFprimIntMatrix (Deformable_RoundedTriangle Rigid_Quad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • traction_weight1 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc1. If not given, weight ‘1’ will be used
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
T_ActiveTraction_1N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesionTractionFprimIntMatrix (Deformable_RoundedTriangle Rigid_SlidingQuad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrix_ComposedParticleFeedback

FlatLayerAdhesionTractionFprimIntMatrix (Deformable_RoundedTriangle Rigid_Triangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • traction_weight1 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc1. If not given, weight ‘1’ will be used
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <3 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
T_ActiveTraction_1N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesionTractionFprimIntMatrix (Deformable_Triangle Deformable_Triangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • abort_if_different (default value = 0) — If ‘True’, inverts the regular function of ‘AbortIfSameParent’, and makes the contact model early abort if the particles’ parents are different. Please do not change this ‘Property’ if you are not sure what you are doing.
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • traction_weight1 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc1. If not given, weight ‘1’ will be used
    • traction_weight2 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc2. If not given, weight ‘1’ will be used
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepDeformable_NGon_1_Data  <3 >
  ↓
Deformable_NGon_2_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
T_ActiveTraction_1T_ActiveTraction_2N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesDistributeForcesAndMomentsToTriangle_2_NodesAssembleForces_DeformableTriangle_1AssembleForces_DeformableTriangle_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1DeformableTriangleDof_2AssembleContactMatrix_ComposedParticleAbortIfSameParentFeedback

FlatLayerAdhesionTractionFprimIntMatrix (Deformable_Triangle Rigid_Cylinder)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range (default value = 0) — The range of negative overlaps for which the intersection polygon will be expanded. Default: 0
    • extend_cylinder_hull (default value = 0) — Distance that the cylinder will be extended at top and bottom for contact resolution.It is recommended that you choose a non-zero value here, to prevent particles falling out at the edges. A good choice would be the maximal allowed overlap.Default: zero.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • traction_weight1 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc1. If not given, weight ‘1’ will be used
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_Cylinder_2_DataDeformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
NGon_HollowCylinderConstantFlatLayerAdhesion_Int  <16 >
  ↓
T_ActiveTraction_1N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesionTractionFprimIntMatrix (Deformable_Triangle Rigid_Quad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • traction_weight1 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc1. If not given, weight ‘1’ will be used
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
T_ActiveTraction_1N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesionTractionFprimIntMatrix (Deformable_Triangle Rigid_SlidingQuad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrix_ComposedParticleFeedback

FlatLayerAdhesionTractionFprimIntMatrix (Deformable_Triangle Rigid_Triangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • traction_weight1 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc1. If not given, weight ‘1’ will be used
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <3 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
T_ActiveTraction_1N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesiveTensionFprimIntMatrix

Description: Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Geometry combinations available:

PC2 | PC1 - Deformable_Triangle Deformable_RoundedTriangle
Rigid_Triangle YES YES
Rigid_SlidingQuad YES YES
Rigid_Quad YES YES
Rigid_Cylinder YES YES
Deformable_Triangle YES  
Deformable_RoundedTriangle   YES

FlatLayerAdhesiveTensionFprimIntMatrix (Deformable_RoundedTriangle Deformable_RoundedTriangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • abort_if_different (default value = 0) — If ‘True’, inverts the regular function of ‘AbortIfSameParent’, and makes the contact model early abort if the particles’ parents are different. Please do not change this ‘Property’ if you are not sure what you are doing.
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepDeformable_NGon_1_Data  <3 >
  ↓
Deformable_NGon_2_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesDistributeForcesAndMomentsToTriangle_2_NodesAssembleForces_DeformableTriangle_1AssembleForces_DeformableTriangle_2AssembleAdhesiveTension_DeformableTriangle_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1DeformableTriangleDof_2AssembleContactMatrix_ComposedParticleAbortIfSameParentFeedback

FlatLayerAdhesiveTensionFprimIntMatrix (Deformable_RoundedTriangle Rigid_Cylinder)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range (default value = 0) — The range of negative overlaps for which the intersection polygon will be expanded. Default: 0
    • extend_cylinder_hull (default value = 0) — Distance that the cylinder will be extended at top and bottom for contact resolution.It is recommended that you choose a non-zero value here, to prevent particles falling out at the edges. A good choice would be the maximal allowed overlap.Default: zero.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_Cylinder_2_DataDeformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
NGon_HollowCylinderConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1Assemble_ScalarTension_2AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesiveTensionFprimIntMatrix (Deformable_RoundedTriangle Rigid_Quad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesiveTensionFprimIntMatrix (Deformable_RoundedTriangle Rigid_SlidingQuad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrix_ComposedParticleFeedback

FlatLayerAdhesiveTensionFprimIntMatrix (Deformable_RoundedTriangle Rigid_Triangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <3 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesiveTensionFprimIntMatrix (Deformable_Triangle Deformable_Triangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • abort_if_different (default value = 0) — If ‘True’, inverts the regular function of ‘AbortIfSameParent’, and makes the contact model early abort if the particles’ parents are different. Please do not change this ‘Property’ if you are not sure what you are doing.
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepDeformable_NGon_1_Data  <3 >
  ↓
Deformable_NGon_2_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesDistributeForcesAndMomentsToTriangle_2_NodesAssembleForces_DeformableTriangle_1AssembleForces_DeformableTriangle_2AssembleAdhesiveTension_DeformableTriangle_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1DeformableTriangleDof_2AssembleContactMatrix_ComposedParticleAbortIfSameParentFeedback

FlatLayerAdhesiveTensionFprimIntMatrix (Deformable_Triangle Rigid_Cylinder)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range (default value = 0) — The range of negative overlaps for which the intersection polygon will be expanded. Default: 0
    • extend_cylinder_hull (default value = 0) — Distance that the cylinder will be extended at top and bottom for contact resolution.It is recommended that you choose a non-zero value here, to prevent particles falling out at the edges. A good choice would be the maximal allowed overlap.Default: zero.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_Cylinder_2_DataDeformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
NGon_HollowCylinderConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1Assemble_ScalarTension_2AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesiveTensionFprimIntMatrix (Deformable_Triangle Rigid_Quad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesiveTensionFprimIntMatrix (Deformable_Triangle Rigid_SlidingQuad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrix_ComposedParticleFeedback

FlatLayerAdhesiveTensionFprimIntMatrix (Deformable_Triangle Rigid_Triangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <3 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesiveTensionStressFprimIntMatrix

Description: Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle). Geometry combinations available:

PC2 | PC1 - Deformable_Triangle Deformable_RoundedTriangle
Rigid_Triangle YES YES
Rigid_SlidingQuad YES YES
Rigid_Quad YES YES
Rigid_Cylinder YES YES
Deformable_Triangle YES  
Deformable_RoundedTriangle   YES

FlatLayerAdhesiveTensionStressFprimIntMatrix (Deformable_RoundedTriangle Deformable_RoundedTriangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • abort_if_different (default value = 0) — If ‘True’, inverts the regular function of ‘AbortIfSameParent’, and makes the contact model early abort if the particles’ parents are different. Please do not change this ‘Property’ if you are not sure what you are doing.
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepDeformable_NGon_1_Data  <3 >
  ↓
Deformable_NGon_2_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesDistributeForcesAndMomentsToTriangle_2_NodesAssembleForces_DeformableTriangle_1AssembleForces_DeformableTriangle_2AssembleAdhesiveTension_DeformableTriangle_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2Assemble_VirialStress_DeformableTriangle_1Assemble_VirialStress_DeformableTriangle_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1DeformableTriangleDof_2AssembleContactMatrix_ComposedParticleAbortIfSameParentFeedback

FlatLayerAdhesiveTensionStressFprimIntMatrix (Deformable_RoundedTriangle Rigid_Cylinder)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range (default value = 0) — The range of negative overlaps for which the intersection polygon will be expanded. Default: 0
    • extend_cylinder_hull (default value = 0) — Distance that the cylinder will be extended at top and bottom for contact resolution.It is recommended that you choose a non-zero value here, to prevent particles falling out at the edges. A good choice would be the maximal allowed overlap.Default: zero.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_Cylinder_2_DataDeformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
NGon_HollowCylinderConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1Assemble_ScalarTension_2AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2Assemble_VirialStress_DeformableTriangle_1ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesiveTensionStressFprimIntMatrix (Deformable_RoundedTriangle Rigid_Quad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2Assemble_VirialStress_DeformableTriangle_1ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesiveTensionStressFprimIntMatrix (Deformable_RoundedTriangle Rigid_SlidingQuad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrix_ComposedParticleFeedback

FlatLayerAdhesiveTensionStressFprimIntMatrix (Deformable_RoundedTriangle Rigid_Triangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <3 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2Assemble_VirialStress_DeformableTriangle_1ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesiveTensionStressFprimIntMatrix (Deformable_Triangle Deformable_Triangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • abort_if_different (default value = 0) — If ‘True’, inverts the regular function of ‘AbortIfSameParent’, and makes the contact model early abort if the particles’ parents are different. Please do not change this ‘Property’ if you are not sure what you are doing.
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepDeformable_NGon_1_Data  <3 >
  ↓
Deformable_NGon_2_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesDistributeForcesAndMomentsToTriangle_2_NodesAssembleForces_DeformableTriangle_1AssembleForces_DeformableTriangle_2AssembleAdhesiveTension_DeformableTriangle_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2Assemble_VirialStress_DeformableTriangle_1Assemble_VirialStress_DeformableTriangle_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1DeformableTriangleDof_2AssembleContactMatrix_ComposedParticleAbortIfSameParentFeedback

FlatLayerAdhesiveTensionStressFprimIntMatrix (Deformable_Triangle Rigid_Cylinder)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range (default value = 0) — The range of negative overlaps for which the intersection polygon will be expanded. Default: 0
    • extend_cylinder_hull (default value = 0) — Distance that the cylinder will be extended at top and bottom for contact resolution.It is recommended that you choose a non-zero value here, to prevent particles falling out at the edges. A good choice would be the maximal allowed overlap.Default: zero.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_Cylinder_2_DataDeformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
NGon_HollowCylinderConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1Assemble_ScalarTension_2AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2Assemble_VirialStress_DeformableTriangle_1ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesiveTensionStressFprimIntMatrix (Deformable_Triangle Rigid_Quad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2Assemble_VirialStress_DeformableTriangle_1ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesiveTensionStressFprimIntMatrix (Deformable_Triangle Rigid_SlidingQuad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrix_ComposedParticleFeedback

FlatLayerAdhesiveTensionStressFprimIntMatrix (Deformable_Triangle Rigid_Triangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Assembles the virial stress tensor contribution from the contact force to each primitive (triangle).

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <3 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2Assemble_VirialStress_DeformableTriangle_1ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesiveTensionTractionFprimIntMatrix

Description: Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction. Geometry combinations available:

PC2 | PC1 - Deformable_Triangle Deformable_RoundedTriangle
Rigid_Triangle YES YES
Rigid_SlidingQuad YES YES
Rigid_Quad YES YES
Rigid_Cylinder YES YES
Deformable_Triangle YES  
Deformable_RoundedTriangle   YES

FlatLayerAdhesiveTensionTractionFprimIntMatrix (Deformable_RoundedTriangle Deformable_RoundedTriangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • abort_if_different (default value = 0) — If ‘True’, inverts the regular function of ‘AbortIfSameParent’, and makes the contact model early abort if the particles’ parents are different. Please do not change this ‘Property’ if you are not sure what you are doing.
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • traction_weight1 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc1. If not given, weight ‘1’ will be used
    • traction_weight2 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc2. If not given, weight ‘1’ will be used
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepDeformable_NGon_1_Data  <3 >
  ↓
Deformable_NGon_2_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
T_ActiveTraction_1T_ActiveTraction_2N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesDistributeForcesAndMomentsToTriangle_2_NodesAssembleForces_DeformableTriangle_1AssembleForces_DeformableTriangle_2AssembleAdhesiveTension_DeformableTriangle_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1DeformableTriangleDof_2AssembleContactMatrix_ComposedParticleAbortIfSameParentFeedback

FlatLayerAdhesiveTensionTractionFprimIntMatrix (Deformable_RoundedTriangle Rigid_Cylinder)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range (default value = 0) — The range of negative overlaps for which the intersection polygon will be expanded. Default: 0
    • extend_cylinder_hull (default value = 0) — Distance that the cylinder will be extended at top and bottom for contact resolution.It is recommended that you choose a non-zero value here, to prevent particles falling out at the edges. A good choice would be the maximal allowed overlap.Default: zero.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • traction_weight1 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc1. If not given, weight ‘1’ will be used
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_Cylinder_2_DataDeformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
NGon_HollowCylinderConstantFlatLayerAdhesion_Int  <16 >
  ↓
T_ActiveTraction_1N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1Assemble_ScalarTension_2AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesiveTensionTractionFprimIntMatrix (Deformable_RoundedTriangle Rigid_Quad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • traction_weight1 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc1. If not given, weight ‘1’ will be used
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
T_ActiveTraction_1N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesiveTensionTractionFprimIntMatrix (Deformable_RoundedTriangle Rigid_SlidingQuad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrix_ComposedParticleFeedback

FlatLayerAdhesiveTensionTractionFprimIntMatrix (Deformable_RoundedTriangle Rigid_Triangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • traction_weight1 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc1. If not given, weight ‘1’ will be used
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <3 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
T_ActiveTraction_1N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesiveTensionTractionFprimIntMatrix (Deformable_Triangle Deformable_Triangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • abort_if_different (default value = 0) — If ‘True’, inverts the regular function of ‘AbortIfSameParent’, and makes the contact model early abort if the particles’ parents are different. Please do not change this ‘Property’ if you are not sure what you are doing.
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • traction_weight1 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc1. If not given, weight ‘1’ will be used
    • traction_weight2 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc2. If not given, weight ‘1’ will be used
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepDeformable_NGon_1_Data  <3 >
  ↓
Deformable_NGon_2_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
T_ActiveTraction_1T_ActiveTraction_2N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesDistributeForcesAndMomentsToTriangle_2_NodesAssembleForces_DeformableTriangle_1AssembleForces_DeformableTriangle_2AssembleAdhesiveTension_DeformableTriangle_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1DeformableTriangleDof_2AssembleContactMatrix_ComposedParticleAbortIfSameParentFeedback

FlatLayerAdhesiveTensionTractionFprimIntMatrix (Deformable_Triangle Rigid_Cylinder)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range (default value = 0) — The range of negative overlaps for which the intersection polygon will be expanded. Default: 0
    • extend_cylinder_hull (default value = 0) — Distance that the cylinder will be extended at top and bottom for contact resolution.It is recommended that you choose a non-zero value here, to prevent particles falling out at the edges. A good choice would be the maximal allowed overlap.Default: zero.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • traction_weight1 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc1. If not given, weight ‘1’ will be used
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_Cylinder_2_DataDeformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
NGon_HollowCylinderConstantFlatLayerAdhesion_Int  <16 >
  ↓
T_ActiveTraction_1N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1Assemble_ScalarTension_2AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesiveTensionTractionFprimIntMatrix (Deformable_Triangle Rigid_Quad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • traction_weight1 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc1. If not given, weight ‘1’ will be used
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
T_ActiveTraction_1N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback

FlatLayerAdhesiveTensionTractionFprimIntMatrix (Deformable_Triangle Rigid_SlidingQuad)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_data_storage_factory (default value = None) — The contact data storage factory to make contact data. Do not change! Especially vector in parallel is not a safe choice here.
    • contact_data (default value = None) — The contact data belonging to the DoF (parents) made by this model.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • transpose (default value = 0) — switches around pc1 and pc2 for the ContactMatrix.
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <4 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <4 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrix_ComposedParticleFeedback

FlatLayerAdhesiveTensionTractionFprimIntMatrix (Deformable_Triangle Rigid_Triangle)

Adhesion model for overdamped deformable and triangulated meshes. The normal contact force is composed of a constant adhesive traction and a linear repulsive pressure. Contact force and contact area is assembled to each contact primitive. Includes a constant tangential (sliding) active_traction within the contact area, based on the parent array motion_direction.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • contact_range — Effective range of adhesive contact.
    • gamma_normal (kg . s^-1 . m^-2) — Normal friction coefficient (Pa*s/m)
    • gamma_tangential (kg . s^-1 . m^-2) — Tangential friction coefficient (Pa*s/m)
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • Fprim1 (default value = None) — Array with vectors which stores the contact force per primitive for pc1. If not given, the array pc1[‘Fprim’] is searched first, and if not found, nothing will be done
    • Fprim2 (default value = None) — Array with vectors which stores the contact force per primitive for pc2. If not given, the array pc2[‘Fprim’] is searched first, and if not found, nothing will be done
    • _contactmatrixdatatype (default value = 1) — Identifier that signals that this chain element’s containing contact model is a friction matrix type. Only change this if you really know what you are doing!
    • attrConst (default value = -1) — Adhesion energy (J/m^2) of two surfaces brought together. If not provided, both w1 and w2 must be provided values greater than or equal to zero. In that case, attrConst = w1 + w2. However, w1 and w2 are distributed separately for computing the in-plane tension. If provided, this will always over-rule any values given in w1 and w2.
    • contact_range_distribution (default value = 0.5) — Weight to distribute the contact range displacement to p1 and p2. This is the weight of the displacement applied to p1. p2 will get 1-contact_range_distribution.Default takes the value of ‘weight_normal_1’ from the NGon_NGon resolver.
    • gamma_edge (kg . s^-1 . m^-2) (default value = 0) — Tangential friction coefficient at the edge (Pa*s/m)
    • implicitness (default value = 0) — Choose the semi-implicit integration method. (0 for explicit Euler, 1 for implicit Euler, 0.5 for Cranck-Nicholson).
    • k_layer (default value = -1) — Layer stiffness in repulsion. Set to p0 / contact_range if not given
    • max_flat_angle (default value = 0.017453292519943295) — Maximal deviation of normal1 and -normal2 (in RADIAN) for which the contact will still be considered flat (default: 1 degree).
    • reject_angle (default value = 1.2309594173407747) — Angles sharper than this angle (in RADIAN) will be ignored, regardless of node normals.Higher = more stable, but might miss sharp contacts. Lower = more inclusive, but numerically dangerous.Only change this setting from its default if you know what you are doing. Default value = arccos(1/3), the angle of the tetrahedron, which is the sharpest we can safely deal with.
    • traction_weight1 (default value = None) — Weighting coefficient per triangle for tractions exerted by pc1. If not given, weight ‘1’ will be used
    • w1 (default value = -1) — Adhesion energy of surface from particle 1. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 1.
    • w2 (default value = -1) — Adhesion energy of surface from particle 2. If given, this value is used instead of attrConst to compute the in-plane adhesive tension for particle 2.
    • weight_normal_1 (default value = 0.5) — Weight that will be assigned to the contribution of the normal of p1 in determining the normal unit vector. the weight from the normal of p2 is (1-weight_normal_1). Default is equal weights. Only change this setting if you know what you are doing.
  • Read only properties:
    • k — Apparent stiffness of the potential (N/m)
    • p0 — Adhesive traction, computed as attrConst / contact_range

This contact model is composed out of following pieces (click on the chain elements to get more information):

FlatNGonBoilerPlateContactMatrixDataBoilerPlateKeepTimeStepRigid_NGon_2_Data  <3 >
  ↓
Deformable_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_1_Data  <3 >
  ↓
FlatLayer_NGon_2_Data  <3 >
  ↓
NGon_NGon_DisplacedConstantFlatLayerAdhesion_Int  <16 >
  ↓
T_ActiveTraction_1N_T_AngleAreaWeightedResistanceN_ConstantStiffnessAssemble_ContactArea_1Assemble_ContactArea_2DistributeForcesAndMomentsToTriangle_1_NodesAssembleForces_DeformableTriangle_1AssembleForces_2AssembleMoments_cps_2AssembleMoments_2AssembleAdhesiveTension_DeformableTriangle_1AssembleForces_Primitives_1AssembleForces_Primitives_2ComputeContactMatrixElementOverdampedDeformableTriangleDof_1RigidBodyDof_2AssembleContactMatrixToDiagonal_ComposedParticle_1FrictionMatrixForce_1Feedback