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._classSetupFailed
PowerLawHardeningTestFixture._class_cleanups
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
VoceHardeningTestFixture._classSetupFailed
VoceHardeningTestFixture._class_cleanups
VoceHardeningTestFixture.setUp()
VoceHardeningTestFixture.test_voce_hardening_saturates_to_correct_value()
VoceHardeningTestFixture.test_voce_hardening_yield_strength()
VoceHardeningTestFixture.test_voce_hardening_zero_point()
- optimism.material.test.test_HyperVisco module
- optimism.material.test.test_J2Plastic module
GradOfPlasticityModelFixture
GradOfPlasticityModelFixture._classSetupFailed
GradOfPlasticityModelFixture._class_cleanups
GradOfPlasticityModelFixture.setUp()
GradOfPlasticityModelFixture.test_elastic_energy()
GradOfPlasticityModelFixture.test_elastic_strain_path()
GradOfPlasticityModelFixture.test_plastic_strain_path()
GradOfPlasticityModelFixture.test_zero_point()
J2PlasticUniaxial
J2UpdateFixture
PlasticityOnMesh
make_disp_grad_from_strain()
- optimism.material.test.test_LinearElastic module
- optimism.material.test.test_MaterialUniaxialSimulator 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.J2Plastic module
- optimism.material.J2Plastic._compute_dissipation(dispGrad, 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, 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 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