optimism.material package
Subpackages
- optimism.material.test package
- Submodules
- optimism.material.test.plotJ2Plastic module
- optimism.material.test.test_Gent module
- optimism.material.test.test_Hardening module
PowerLawHardeningTestFixture
PowerLawHardeningTestFixture.setUp()
PowerLawHardeningTestFixture.test_power_law_hardening_slope_is_finite_at_origin()
PowerLawHardeningTestFixture.test_power_law_hardening_yield_strength()
PowerLawHardeningTestFixture.test_power_law_hardening_zero_point()
PowerLawHardeningTestFixture.test_power_law_strength_increases()
VoceHardeningTestFixture
- optimism.material.test.test_HyperVisco module
- optimism.material.test.test_J2Plastic module
- optimism.material.test.test_LinearElastic module
- optimism.material.test.test_MaterialUniaxialSimulator module
- optimism.material.test.test_MultiBranchHyperVisco module
- optimism.material.test.test_RateSensitivity module
- Module contents
Submodules
optimism.material.Gent module
optimism.material.Hardening module
- class optimism.material.Hardening.HardeningModel(compute_hardening_energy_density, compute_flow_stress)
Bases:
tuple
- _asdict()
Return a new dict which maps field names to their values.
- _field_defaults = {}
- _fields = ('compute_hardening_energy_density', 'compute_flow_stress')
- classmethod _make(iterable)
Make a new HardeningModel object from a sequence or iterable
- _replace(**kwds)
Return a new HardeningModel object replacing specified fields with new values
- compute_flow_stress
Alias for field number 1
- compute_hardening_energy_density
Alias for field number 0
- class optimism.material.Hardening.RateSensitivityModel(compute_potential, compute_overstress)
Bases:
tuple
- _asdict()
Return a new dict which maps field names to their values.
- _field_defaults = {}
- _fields = ('compute_potential', 'compute_overstress')
- classmethod _make(iterable)
Make a new RateSensitivityModel object from a sequence or iterable
- _replace(**kwds)
Return a new RateSensitivityModel object replacing specified fields with new values
- compute_overstress
Alias for field number 1
- compute_potential
Alias for field number 0
optimism.material.HyperViscoelastic module
optimism.material.HyperViscoelastic_VariableProps module
- optimism.material.HyperViscoelastic_VariableProps._compute_dissipation(dispGrad, state, dt, props)[source]
- optimism.material.HyperViscoelastic_VariableProps._compute_elastic_logarithmic_strain(dispGrad, stateOld)[source]
- optimism.material.HyperViscoelastic_VariableProps._compute_state_increment(elasticStrain, dt, props)[source]
- optimism.material.HyperViscoelastic_VariableProps._compute_state_new(dispGrad, stateOld, dt, props)[source]
- optimism.material.HyperViscoelastic_VariableProps._energy_density(dispGrad, state, dt, props)[source]
- optimism.material.HyperViscoelastic_VariableProps._incremental_dissipated_energy(elasticStrain, dt, props)[source]
optimism.material.J2Plastic module
- optimism.material.J2Plastic._compute_dissipation(elasticTrialStrain, stateOld, dt, props, hardeningModel)[source]
- optimism.material.J2Plastic.compute_state_increment(elasticStrain, state, dt, props, hardening_model)[source]
- optimism.material.J2Plastic.compute_state_new_finite_deformations(dispGrad, stateOld, dt, props, hardening_model)[source]
- optimism.material.J2Plastic.compute_state_new_seth_hill(dispGrad, stateOld, dt, props, hardening_model)[source]
- optimism.material.J2Plastic.compute_state_new_small_deformations(dispGrad, stateOld, dt, props, hardening_model)[source]
- optimism.material.J2Plastic.incremental_potential(elasticTrialStrain, eqps, eqpsOld, dt, props, hardening_model)[source]
- optimism.material.J2Plastic.r(elasticTrialStrain, eqps, eqpsOld, dt, props, hardening_model)
Jacobian of incremental_potential with respect to positional argument(s) 1. Takes the same arguments as incremental_potential but returns the jacobian of the output with respect to the arguments at positions 1.
optimism.material.LinearElastic module
optimism.material.MaterialModel module
- class optimism.material.MaterialModel.MatProps(props, num_props, num_states)
Bases:
tuple
- _asdict()
Return a new dict which maps field names to their values.
- _field_defaults = {}
- _fields = ('props', 'num_props', 'num_states')
- classmethod _make(iterable)
Make a new MatProps object from a sequence or iterable
- _replace(**kwds)
Return a new MatProps object replacing specified fields with new values
- num_props
Alias for field number 1
- num_states
Alias for field number 2
- props
Alias for field number 0
- class optimism.material.MaterialModel.MaterialModel(compute_energy_density, compute_initial_state, compute_state_new, compute_material_qoi, density)
Bases:
tuple
- _asdict()
Return a new dict which maps field names to their values.
- _field_defaults = {'compute_material_qoi': 0.0, 'density': None}
- _fields = ('compute_energy_density', 'compute_initial_state', 'compute_state_new', 'compute_material_qoi', 'density')
- classmethod _make(iterable)
Make a new MaterialModel object from a sequence or iterable
- _replace(**kwds)
Return a new MaterialModel object replacing specified fields with new values
- compute_energy_density
Alias for field number 0
- compute_initial_state
Alias for field number 1
- compute_material_qoi
Alias for field number 3
- compute_state_new
Alias for field number 2
- density
Alias for field number 4
optimism.material.MaterialUniaxialSimulator module
- class optimism.material.MaterialUniaxialSimulator.UniaxialOutput(time, strainHistory, stressHistory, energyHistory, internalVariableHistory)
Bases:
tuple
Output from a uniaxial tension test on a material.
- time
discrete time points in the unixial data
- Type:
array
- strainHistory
displacement gradient tensor at each time point
- Type:
array
- stressHistory
Piola stress tensor at each time point
- Type:
array
- energyHistory
Potential function value at each time point
- Type:
array
- internalVariableHistory
Collection of internal variables for the given material at each time point.
- Type:
array
- _asdict()
Return a new dict which maps field names to their values.
- _field_defaults = {}
- _fields = ('time', 'strainHistory', 'stressHistory', 'energyHistory', 'internalVariableHistory')
- classmethod _make(iterable)
Make a new UniaxialOutput object from a sequence or iterable
- _replace(**kwds)
Return a new UniaxialOutput object replacing specified fields with new values
- energyHistory
Alias for field number 3
- internalVariableHistory
Alias for field number 4
- strainHistory
Alias for field number 1
- stressHistory
Alias for field number 2
- time
Alias for field number 0
- optimism.material.MaterialUniaxialSimulator.run(materialModel, props, strain_history, maxTime, steps=10, tol=0.001)[source]
Generates the uniaxial response of a given material :param materialModel: Material to subject to uniaxial stress test :type materialModel: MaterialModel object :param props: :type props: jax array of properties :param strain_history: The tensile strain as a function of time :type strain_history: callable (float) -> float :param maxTime: Upper limit of the time interval :type maxTime: float :param steps: Number of time steps to take :type steps: int
- Returns:
UniaxialOutput
- Return type:
named tuple of constitutive output
optimism.material.MultiBranchHyperViscoelastic module
- optimism.material.MultiBranchHyperViscoelastic._compute_dissipated_energy(dispGrad, state, dt, props)[source]
- optimism.material.MultiBranchHyperViscoelastic._compute_elastic_logarithmic_strain(dispGrad, stateOld)[source]
- optimism.material.MultiBranchHyperViscoelastic._compute_state_increment(elasticStrain, dt, props, prop_id)[source]
- optimism.material.MultiBranchHyperViscoelastic._compute_state_new(dispGrad, stateOld, dt, props)[source]
optimism.material.Neohookean module
optimism.material.Neohookean_VariableProps module
- optimism.material.Neohookean_VariableProps._adagio_neohookean(dispGrad, internalVariables, props)[source]
- optimism.material.Neohookean_VariableProps._compute_state_new(dispGrad, internalVars, props)[source]
- optimism.material.Neohookean_VariableProps._neohookean_3D_energy_density(dispGrad, internalVariables, props)[source]