Skip to content

Repository files navigation

MaterialModelsBase

DevBuild StatusCoverage

Provide interface to "standard" history dependent mechanical (stress-strain) material models that is independent of the implementation.

Main interface function

stress, stiffness, state, [full_strain] =material_response(
[stress_state::AbstractStressState] # Optional stress state (e.g. plane stress) if full 3d is not desired
m::AbstractMaterial, # Describes the specific material and its parameters
strain::Union{SymmetricTensor{2}, Tensor{2}, Vec},# ϵ (small strain tensor), F (deformation gradient), or u (displacement jump)
old::AbstractMaterialState, # The old material state
Δt, # The time step
cache::AbstractMaterialCache, # A cache that can be used to reduce allocations inside material_response
extras::AbstractExtraOutput) # Custom struct whose entries can be mutated to provide extra information from material_response's calculations

Dependencies

The dependencies are limited to Tensors.jl and its dependencies to keep the package light-weight.

Limitations

  • Only mechanical materials: stress-strain (continuum elements) or force-displacement (cohesive elements)
  • Gradient-dependent materials are not supported. This restriction would be nice to lift if a suitable interface can be determined.

Acknowledgements

The interface was developed based on MaterialModels.jl

About

An implementation-independent mechanical material models interface

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages