Skip to content

An implementation-independent mechanical material models interface

License

Notifications You must be signed in to change notification settings

KnutAM/MaterialModelsBase.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MaterialModelsBase

Dev Build Status Coverage

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

Main interface function

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

License

Stars

Watchers

Forks

Packages

No packages published

Languages