"""Links constitutive model: ELASTIC.
Links (Large Strain Implicit Nonlinear Analysis of Solids Linking Scales) is
a finite element code developed by the CM2S research group at the Faculty of
Engineering, University of Porto.
Classes
-------
LinksElastic(LinksConstitutiveModel)
Elastic constitutive model.
"""
#
# Modules
# =============================================================================
# Local
from simulators.links.models.interface import LinksConstitutiveModel
#
# Authorship & Credits
# =============================================================================
__author__ = 'Bernardo Ferreira (bernardo_ferreira@brown.edu)'
__credits__ = ['Bernardo Ferreira', ]
__status__ = 'Alpha'
# =============================================================================
#
# =============================================================================
[docs]class LinksElastic(LinksConstitutiveModel):
"""Elastic constitutive model.
Linear elastic constitutive model (infinitesimal strains) or Hencky
hyperelastic constitutive model (finite strains).
Attributes
----------
_name : str
Constitutive model name.
Methods
-------
_get_required_material_descriptors()
Get required constitutive model descriptors for Links input file.
_format_material_descriptors(self)
Format constitutive model descriptors to Links input file.
"""
[docs] def __init__(self):
"""Constructor."""
self._name = 'ELASTIC'
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[docs] @staticmethod
def _get_required_material_descriptors():
"""Get required constitutive model descriptors for Links input file.
Returns
-------
material_descriptors : tuple[str]
Required constitutive model descriptors for Links input file.
"""
# Set required constitutive model descriptors
material_descriptors = ('name', 'density', 'young', 'poisson')
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
return material_descriptors
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~