genericROM.Containers.ConstitutiveLaws.MfrontConstitutiveLaw module

class MfrontConstitutiveLaw(set)[source]

Bases: ConstitutiveLawBase

Class containing a MfrontConstitutiveLaw

b

mfront behaviour

Type:

mgis.behaviour.Behaviour

m

mfront material data manager

Type:

mgis.behaviour.MaterialDataManager

density

density of the material

Type:

float

constitutiveLawVariables

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

Type:

dict

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 (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:

  • 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

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

SetLawModelling(hypothesis, behavior, behaviorFile, internalVariables, nbIntPoints)[source]

Sets the density of the constitutive law

Parameters:
  • hypothesis (mgis_bv.Hypothesis) – mfront hypothesis

  • behavior (mgis.behaviour.Behaviour) – mfront behaviour

  • behaviorFile (string) – path to compiled mfront behavior file (.so)

  • internalVariables (list of strings) – list of the name of the internal variables modeling the constitutive law

  • nbIntPoints (int) – number of integration points, where the constitutive law is modeled

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

UpdateInternalState()[source]

Updates the state of the internal variables

get_external_state_variable_names()[source]
get_flux_names()[source]
get_gradient_names()[source]
get_internal_state_variable_names()[source]