1

Is it possible to model the merging or bonding of bodies or mesh elements after a collision in Abaqus? From what I have seen so far, cohesive elements and cohesive contact can be used to model the adhesives between two components or interfacial debonding, as well as fracture propagation. From a high level, I think that this, or similar, criteria could be used to describe the joining, rather than separation, of bodies.

If the theory does not apply, does anyone know if it is possible to develop a criteria for joining of mesh elements (maybe via some subroutine) based on the kinetic energy from the collision or something similar. When it comes to describing the onset of adhesion between the two layers, there could be four different criteria. When a certain contact pressure is exceeded, when the two boundaries come within a certain distance of one another, from the very beginning of the analysis, and when a user-defined Boolean expression is fulfilled. This, as well as modeling adhesion via contact, was discussed on this COMSOL Multiphysics blog post (https://www.comsol.com/blogs/how-to-model-adhesion-and-decohesion-in-comsol-multiphysics/).

Any information related to this idea would be greatly appreciated.

jgk5141
  • 11
  • 2

1 Answers1

1

if your collision surfaces are simple enough and should not undergo high unpredictable changes before the collision, then you can change interaction property starting from a certain step:

# Create the contact property with separation
contact_with_separation = m.ContactProperty('Contact_with_separation')
contact_with_separation.NormalBehavior(
    pressureOverclosure=HARD, allowSeparation=ON, constraintEnforcementMethod=DEFAULT
)
contact_with_separation.TangentialBehavior(
    formulation=PENALTY, table=((0.1, ), ), fraction=0.005, maximumElasticSlip=FRACTION
)

# Create the contact property without separation
contact_no_separation = m.ContactProperty('Contact_no_separation')
contact_no_separation.NormalBehavior(
    pressureOverclosure=HARD, allowSeparation=OFF, constraintEnforcementMethod=DEFAULT
)
contact_no_separation.TangentialBehavior(formulation=ROUGH)

# Define the contact
m.SurfaceToSurfaceContactStd(
    name='interaction_name', createStepName='Initial',
    master=master_surf, slave=slave_surf, interactionProperty=contact_with_separation,
)

# Change contact property
m.interactions['interaction_name'].setValuesInStep(
    interactionProperty=contact_no_separation, stepName=change_property_step_name
)
Roman Zh.
  • 985
  • 2
  • 6
  • 20