material

material#

class Material(**kwargs)[source]#

Bases: object

This class is used to define a material behavior implemented in pure Python. This will be extremely slow if looping over all quadrature points.

class MFrontMaterial(path, name, hypothesis='3d', material_properties={}, parameters={}, rotation_matrix=None, dt=0)[source]#

Bases: object

This class is used to define a material behavior compiled with MFront.

Parameters:
  • path (str) – path to the ‘libMaterial.so’ library containing MFront material laws

  • name (str) – name of the MFront behaviour

  • hypothesis ({"plane_strain", "3d", "axisymmetric"}) – modelling hypothesis

  • material_properties (dict) – a dictionary of material properties. The dictionary keys must match the material property names declared in the MFront behaviour. Values can be constants or functions.

  • parameters (dict) – a dictionary of parameters. The dictionary keys must match the parameter names declared in the MFront behaviour. Values must be constants.

  • rotation_matrix (Numpy array, list of list, UFL matrix) – a 3D rotation matrix expressing the rotation from the global frame to the material frame. The matrix can be spatially variable (either UFL matrix or function of Tensor type)