genericROM.Containers.ConstitutiveLaws.ZmatConstitutiveLaw module

MatrixToVoigt2ndOrder(matrix)[source]
MatrixToVoigt4thOrder(matrix)[source]
VoigtToMatrix2ndOrder(voigt)[source]
VoigtToMatrix4thOrder(voigt)[source]
class ZmatConstitutiveLaw(set)[source]

Bases: ConstitutiveLawBase

Class containing a ZmatConstitutiveLaw

constitutiveLawVariables

dictionary with variable names (str) as keys and variables as type

Type:

dict

density

density of the material

Type:

float

rotation

rotation matrix to apply to the local coordinates (for order-2 tensors)

Type:

np.ndarray((3,3))

rotatedMaterial

False if material is not rotated

Type:

bool

behavior

Z-mat behavior keyword

Type:

str

ComputeConstitutiveLaw(temperature, dtemp, stran, dstran, statev)[source]

Main function of the class: computes a new material state using a constitutive law solver from a previous material state and variations of temperature and strain

Parameters:
  • temperature (1D np.ndarray or list) – temperature at the previous state, at integration points (np.ndarray of size (nbIntPoints) or list of length nbIntPoints)

  • dtemp (1D np.ndarray or list) – variations of temperature between the previous state and the new state to compute, at integration points (np.ndarray of size (nbIntPoints) or list of length nbIntPoints)

  • stran (np.ndarray) – strain at the previous state, at integration points (np.ndarray of size (nbIntPoints,nbeOfDualComponents))

  • dstran (np.ndarray) – variations of strain between the previous state and the new state to compute, at integration points (np.ndarray of size (nbIntPoints,nbeOfDualComponents))

  • statev (np.ndarray) – internal state variables at the previous state, at integration points (np.ndarray of size (nbIntPoints,nbeOfStateVariables))

Returns:

  • np.ndarray – of size (nbIntPoints, nbeOfDualComponents, nbeOfDualComponents) ddsdde: local tangent matrix at the new state

  • np.ndarray – of size (nbIntPoints, nbeOfDualComponents) stress: stress at the new state

  • np.ndarray – of size (nbIntPoints, nbeOfStateVariables) statev: internal state variables at the new state

GetConstitutiveLawVariables()[source]
Returns:

complete dictionary defining the constitutive law variables

Return type:

dict

GetDensity()[source]

Returns the density of the material

Returns:

density

Return type:

float

GetOneConstitutiveLawVariable(var)[source]

Returns one variable of the constitutive law

Parameters:

var (str) – key of the dictionnary for storing the variable (e.g. name of the variable)

Returns:

variable of the constitutive law

Return type:

custom_data_structure

PyumatCall(k, temperature, dtemp, stran, dstran, statev)[source]

Computes a new material state using a constitutive law solver from a previous material state and variations of temperature and strain at the integration point ranked k

Parameters:
  • temperature (np.ndarray or list) – temperature at the previous state, at integration points (np.ndarray of size (nbIntPoints) or list of length nbIntPoints)

  • dtemp (np.ndarray or list) – variations of temperature between the previous state and the new state to compute, at integration points (np.ndarray of size (nbIntPoints) or list of length nbIntPoints)

  • stran (np.ndarray) – strain at the previous state, at integration points (np.ndarray of size (nbIntPoints,nbeOfDualComponents))

  • dstran (np.ndarray) – variations of strain between the previous state and the new state to compute, at integration points (np.ndarray of size (nbIntPoints,nbeOfDualComponents))

  • statev (np.ndarray) – internal state variables at the previous state, at integration points (np.ndarray of size (nbIntPoints,nbeOfStateVariables))

Returns:

of size (nbIntPoints, nbeOfDualComponents, nbeOfDualComponents) ddsdde: local tangent matrix at the new state

Return type:

np.ndarray

SetBehavior(behavior)[source]

Sets the name of the model behavior

Parameters:

behavior (str) – name of the model behavior

SetConstitutiveLawVariables(constitutiveLawVariables)[source]

Sets the constitutiveLawVariables dictionary

Parameters:

constitutiveLawVariables (dict) – dictionary with variable names (str) as keys and variables as type

SetDensity(density)[source]

Sets the density of the constitutive law

Parameters:

density (float) – density of the material

SetOneConstitutiveLawVariable(var, value)[source]

Sets one variable of the constitutive law

Parameters:
  • var (str) – name of the variable

  • value (custom_data_structure) – variable of the constitutive law

SetRotation(Q)[source]

Sets the rotation matrix of the constitutive law

Parameters:

Q (np.ndarray((3,3))) – Q of the material

UpdateInternalState()[source]

Updates the state of the internal variables Not applicable to the present implementation