Materials

Routines and objects described below allow to define bulk and surface materials.

FIELD

An object of type FIELD represents a three–dimensional, scalar, time dependent field.

obj = FIELD (solfec, field_callback | label, data)

This routine creates a FIELD object.

  • obj – created FIELD object

  • solfec – obj is created for this SOLFEC object

  • field_callback – the Python function defining the scalar field:

    value = field_callback (data, x, y, z, t)

    where data is the optional user data passed to FIELD routine (if data is a tuple it will expand the list of parameters to the callback), x, y, z are the point coordinates, and t is time. The function should return a numeric value of the scalar field at given point and instant of time.

  • label – label string (default: ‘FIELD_i’, where i is incremented for each call)

  • data – callback routine user data

Some parameters can also be accessed as members of a FIELD object, cf. Table 12.

Table 12 FIELD object parameters.
Read only members:
obj.label

BULK_MATERIAL

An object of type BULK_MATERIAL represents material properties of a volume.

obj = BULK_MATERIAL (solfec| model, label, young, poisson, density, tensile, fields, fracene)

This routine creates a BULK_MATERIAL object.

  • obj – created BULK_MATERIAL object
  • solfec – obj is created for this SOLFEC object
  • model – material model name (default: ‘KIRCHHOFF’), see Table 14
  • label – label string (default: ‘BULK_MATERIAL_i’, where i is incremented for each call)
  • young – Young’s modulus (default: 1E9)
  • poisson – Poisson’s coefficient (default: 0.25)
  • density – material density (default: 1E3)
  • tensile – tensile strength for fracture check (default: \(\infty\))
  • fields – list [field1, field1, …, fieldN] of FIELD objects (or FIELD object labels) needed by the material model
  • fracene – fracture energy threshold (default: \(\infty\))

Some parameters can also be accessed as members of a BULK_MATERIAL object, cf. Table 13.

Table 13 BULK_MATERIAL object parameters.
Read only members:
obj.model, obj.label
Read/write members:
obj.young, obj.poisson, obj.density

Table 14 Bulk material models.
Model name Employs variables
‘KIRCHHOFF’ young, poisson, density

APPLY_BULKMAT

This routine applies bulk material to a subset of geometric objects with the given volume identifier.

APPLY_BULKMAT (solfec, body, volid, material)

  • solfec – SOLFEC object
  • body – BODY object
  • volid – volume identifier
  • material – MATERIAL object or material label

SURFACE_MATERIAL

An object of type SURFACE_MATERIAL represents material properties on the interface between two surfaces. Surfaces identifiers are included in definitions of all geometric objects.

obj = SURFACE_MATERIAL (solfec | surf1, surf2, model, label, friction, cohesion, restitution, spring, dashpot, hpow)

This routine creates a SURFACE_MATERIAL object.

  • obj – created SURFACE_MATERIAL object
  • solfec – obj is created for this SOLFEC object
  • surf1 – first surface identifier
  • surf2 – second surface identifier; If only surf1 is specified, the surface material is used for all contacts with the specified surface; If neither surf1 or surf2 are specified, the surface material is used for any contacts where a more-specific pairing cannot be found.
  • model – material model name (default: ‘SIGNORINI_COULOMB’), see Table 16
  • label – label string (default: ‘SURFACE_MATERIAL_i’, where i is incremented for each call)
  • friction – friction coefficient (default: 0.0)
  • cohesion – cohesion per unit area (default: 0.0)
  • restitution – velocity restitution (default: 0.0)
  • spring – spring stiffness (default: 0.0)
  • dashpot – dashpot stiffness (default: 0.0); any negative value indicates critical damping
  • hpow – Hertz’s law power (default: 1.0)

Some parameters can also be accessed as members of a SURFACE_MATERIAL object, cf. Table 15.

Table 15 SURFACE_MATERIAL object parameters.
Read only members:
obj.surf1, obj.surf2, obj.label
Read/write members:
obj.model,obj.friction, obj.cohesion, obj.restitution, obj.spring, obj.dashpot, obj.hpow

Table 16 Surface material models.
Model name Employs variables
‘SIGNORINI_COULOMB’ friction, cohesion, restitution
‘SPRING_DASHPOT’ spring, dashpot, friction, cohesion, hpow