suanPan
Loading...
Searching...
No Matches
Material Class Referenceabstract

A Material abstract base class. More...

#include <Material.h>

Inheritance diagram for Material:
Collaboration diagram for Material:

Public Member Functions

 Material (unsigned=0, MaterialType=MaterialType::D0, double=0.)
 
 Material (const Material &)=default
 
 Material (Material &&)=delete
 
Materialoperator= (const Material &)=delete
 
Materialoperator= (Material &&)=delete
 
 ~Material () override=default
 
int initialize_base (const shared_ptr< DomainBase > &)
 
virtual int initialize (const shared_ptr< DomainBase > &)=0
 
virtual void initialize_couple (const shared_ptr< DomainBase > &)
 
virtual void initialize_history (unsigned)
 
virtual void set_initial_history (const vec &)
 
void set_initialized (bool) const
 
void set_symmetric (bool) const
 
void set_support_couple (bool) const
 
bool is_initialized () const
 
bool is_symmetric () const
 
bool is_support_couple () const
 
void set_characteristic_length (double)
 
double get_characteristic_length () const
 
MaterialType get_material_type () const
 
virtual double get_parameter (ParameterType) const
 
virtual const vec & get_trial_strain ()
 
virtual const vec & get_trial_strain_rate ()
 
virtual const vec & get_trial_strain_acc ()
 
virtual const vec & get_trial_stress ()
 
virtual const mat & get_trial_stiffness ()
 
virtual const mat & get_trial_secant ()
 
virtual const mat & get_trial_damping ()
 
virtual const mat & get_trial_inertial ()
 
virtual const vec & get_current_strain ()
 
virtual const vec & get_current_strain_rate ()
 
virtual const vec & get_current_strain_acc ()
 
virtual const vec & get_current_stress ()
 
virtual const mat & get_current_stiffness ()
 
virtual const mat & get_current_secant ()
 
virtual const mat & get_current_damping ()
 
virtual const mat & get_current_inertial ()
 
virtual const vec & get_initial_history () const
 
virtual const mat & get_initial_stiffness () const
 
virtual const mat & get_initial_damping () const
 
virtual const mat & get_initial_inertial () const
 
virtual const vec & get_trial_curvature ()
 
virtual const vec & get_trial_couple_stress ()
 
virtual const mat & get_trial_couple_stiffness ()
 
virtual const vec & get_current_curvature ()
 
virtual const vec & get_current_couple_stress ()
 
virtual const mat & get_current_couple_stiffness ()
 
virtual const mat & get_initial_couple_stiffness () const
 
virtual unique_ptr< Materialget_copy ()=0
 
int update_incre_status (double)
 
int update_incre_status (double, double)
 
int update_incre_status (double, double, double)
 
int update_trial_status (double)
 
int update_trial_status (double, double)
 
int update_trial_status (double, double, double)
 
virtual int update_incre_status (const vec &)
 
virtual int update_incre_status (const vec &, const vec &)
 
virtual int update_incre_status (const vec &, const vec &, const vec &)
 
virtual int update_trial_status (const vec &)
 
virtual int update_trial_status (const vec &, const vec &)
 
virtual int update_trial_status (const vec &, const vec &, const vec &)
 
int update_couple_incre_status (double)
 
int update_couple_incre_status (double, double)
 
int update_couple_incre_status (double, double, double)
 
int update_couple_trial_status (double)
 
int update_couple_trial_status (double, double)
 
int update_couple_trial_status (double, double, double)
 
virtual int update_couple_incre_status (const vec &)
 
virtual int update_couple_incre_status (const vec &, const vec &)
 
virtual int update_couple_incre_status (const vec &, const vec &, const vec &)
 
virtual int update_couple_trial_status (const vec &)
 
virtual int update_couple_trial_status (const vec &, const vec &)
 
virtual int update_couple_trial_status (const vec &, const vec &, const vec &)
 
virtual int clear_status ()=0
 
virtual int commit_status ()=0
 
virtual int reset_status ()=0
 
virtual int clear_couple_status ()
 
virtual int commit_couple_status ()
 
virtual int reset_couple_status ()
 
virtual std::vector< vec > record (OutputType)
 
- Public Member Functions inherited from Tag
 Tag (unsigned=0)
 
 Tag (const Tag &)=default
 
 Tag (Tag &&)=default
 
Tagoperator= (const Tag &)=delete
 
Tagoperator= (Tag &&)=delete
 
virtual ~Tag ()=default
 
void set_tag (unsigned) const
 
unsigned get_tag () const
 
void enable ()
 
void disable ()
 
void guard ()
 
void unguard ()
 
bool is_active () const
 
bool is_guarded () const
 
virtual void print ()
 

Friends

void ConstantStiffness (DataMaterial *)
 
void ConstantDamping (DataMaterial *)
 
void ConstantInertial (DataMaterial *)
 
void ConstantCoupleStiffness (DataCoupleMaterial *)
 
void PureWrapper (Material *)
 

Additional Inherited Members

- Protected Member Functions inherited from Tag
 Tag (unsigned=0)
 
 Tag (const Tag &)=default
 
 Tag (Tag &&)=default
 
Tagoperator= (const Tag &)=delete
 
Tagoperator= (Tag &&)=delete
 
virtual ~Tag ()=default
 
void set_tag (unsigned) const
 
unsigned get_tag () const
 
void enable ()
 
void disable ()
 
void guard ()
 
void unguard ()
 
bool is_active () const
 
bool is_guarded () const
 
virtual void print ()
 
- Protected Attributes inherited from DataMaterial
const double tolerance = 1E-14
 
const double density = 0.
 
const MaterialType material_type = MaterialType::D0
 
vec current_strain
 
vec current_strain_rate
 
vec current_strain_acc
 
vec current_stress
 
vec trial_strain
 
vec trial_strain_rate
 
vec trial_strain_acc
 
vec trial_stress
 
vec incre_strain
 
vec incre_strain_rate
 
vec incre_strain_acc
 
vec incre_stress
 
vec initial_history
 
vec current_history
 
vec trial_history
 
mat initial_stiffness
 
mat current_stiffness
 
mat trial_stiffness
 
mat initial_damping
 
mat current_damping
 
mat trial_damping
 
mat initial_inertial
 
mat current_inertial
 
mat trial_inertial
 
- Protected Attributes inherited from DataCoupleMaterial
double characteristic_length = -1.
 
vec current_curvature
 
vec current_couple_stress
 
vec trial_curvature
 
vec trial_couple_stress
 
vec incre_curvature
 
vec incre_couple_stress
 
mat initial_couple_stiffness
 
mat current_couple_stiffness
 
mat trial_couple_stiffness
 

Detailed Description

A Material abstract base class.

Author
tlc
Date
30/05/2020
Version
0.1.2

Constructor & Destructor Documentation

◆ Material() [1/3]

Material::Material ( unsigned  T = 0,
MaterialType  MT = MaterialType::D0,
double  D = 0. 
)
explicit

◆ Material() [2/3]

Material::Material ( const Material )
default

◆ Material() [3/3]

Material::Material ( Material &&  )
delete

◆ ~Material()

Material::~Material ( )
overridedefault

Member Function Documentation

◆ clear_couple_status()

int Material::clear_couple_status ( )
virtual

◆ clear_status()

◆ commit_couple_status()

int Material::commit_couple_status ( )
virtual

◆ commit_status()

◆ get_characteristic_length()

double Material::get_characteristic_length ( ) const

◆ get_copy()

◆ get_current_couple_stiffness()

const mat & Material::get_current_couple_stiffness ( )
virtual

◆ get_current_couple_stress()

const vec & Material::get_current_couple_stress ( )
virtual

◆ get_current_curvature()

const vec & Material::get_current_curvature ( )
virtual

◆ get_current_damping()

const mat & Material::get_current_damping ( )
virtual

Reimplemented in Substepping.

◆ get_current_inertial()

const mat & Material::get_current_inertial ( )
virtual

◆ get_current_secant()

const mat & Material::get_current_secant ( )
virtual

Reimplemented in Substepping.

◆ get_current_stiffness()

const mat & Material::get_current_stiffness ( )
virtual

Reimplemented in Substepping.

◆ get_current_strain()

const vec & Material::get_current_strain ( )
virtual

Reimplemented in Substepping.

◆ get_current_strain_acc()

const vec & Material::get_current_strain_acc ( )
virtual

◆ get_current_strain_rate()

const vec & Material::get_current_strain_rate ( )
virtual

Reimplemented in Substepping.

◆ get_current_stress()

const vec & Material::get_current_stress ( )
virtual

Reimplemented in Substepping.

◆ get_initial_couple_stiffness()

const mat & Material::get_initial_couple_stiffness ( ) const
virtual

◆ get_initial_damping()

const mat & Material::get_initial_damping ( ) const
virtual

Reimplemented in Substepping.

◆ get_initial_history()

const vec & Material::get_initial_history ( ) const
virtual

Reimplemented in Substepping.

◆ get_initial_inertial()

const mat & Material::get_initial_inertial ( ) const
virtual

◆ get_initial_stiffness()

const mat & Material::get_initial_stiffness ( ) const
virtual

Reimplemented in Substepping.

Here is the caller graph for this function:

◆ get_material_type()

MaterialType Material::get_material_type ( ) const
Here is the caller graph for this function:

◆ get_parameter()

◆ get_trial_couple_stiffness()

const mat & Material::get_trial_couple_stiffness ( )
virtual

◆ get_trial_couple_stress()

const vec & Material::get_trial_couple_stress ( )
virtual

◆ get_trial_curvature()

const vec & Material::get_trial_curvature ( )
virtual

◆ get_trial_damping()

const mat & Material::get_trial_damping ( )
virtual

Reimplemented in Substepping.

◆ get_trial_inertial()

const mat & Material::get_trial_inertial ( )
virtual

◆ get_trial_secant()

const mat & Material::get_trial_secant ( )
virtual

Reimplemented in Substepping.

◆ get_trial_stiffness()

const mat & Material::get_trial_stiffness ( )
virtual

Reimplemented in Material1D, and Substepping.

Here is the caller graph for this function:

◆ get_trial_strain()

const vec & Material::get_trial_strain ( )
virtual

Reimplemented in Substepping.

Here is the caller graph for this function:

◆ get_trial_strain_acc()

const vec & Material::get_trial_strain_acc ( )
virtual

◆ get_trial_strain_rate()

const vec & Material::get_trial_strain_rate ( )
virtual

Reimplemented in Substepping.

◆ get_trial_stress()

const vec & Material::get_trial_stress ( )
virtual

Reimplemented in Substepping.

Here is the caller graph for this function:

◆ initialize()

◆ initialize_base()

int Material::initialize_base ( const shared_ptr< DomainBase > &  )
Here is the caller graph for this function:

◆ initialize_couple()

void Material::initialize_couple ( const shared_ptr< DomainBase > &  )
virtual

Reimplemented in Bilinear2D, and Elastic2D.

◆ initialize_history()

void Material::initialize_history ( unsigned  size)
virtual

Reimplemented in ExternalMaterial.

Here is the caller graph for this function:

◆ is_initialized()

bool Material::is_initialized ( ) const

◆ is_support_couple()

bool Material::is_support_couple ( ) const

◆ is_symmetric()

bool Material::is_symmetric ( ) const

◆ operator=() [1/2]

Material & Material::operator= ( const Material )
delete

◆ operator=() [2/2]

Material & Material::operator= ( Material &&  )
delete

◆ record()

◆ reset_couple_status()

int Material::reset_couple_status ( )
virtual

◆ reset_status()

◆ set_characteristic_length()

void Material::set_characteristic_length ( double  L)

◆ set_initial_history()

void Material::set_initial_history ( const vec &  H)
virtual

Reimplemented in ExternalMaterial, and Substepping.

◆ set_initialized()

void Material::set_initialized ( bool  F) const

◆ set_support_couple()

void Material::set_support_couple ( bool  F) const
Here is the caller graph for this function:

◆ set_symmetric()

void Material::set_symmetric ( bool  F) const
Here is the caller graph for this function:

◆ update_couple_incre_status() [1/6]

int Material::update_couple_incre_status ( const vec &  i_curvature)
virtual
Here is the call graph for this function:

◆ update_couple_incre_status() [2/6]

int Material::update_couple_incre_status ( const vec &  i_curvature,
const vec &   
)
virtual
Here is the call graph for this function:

◆ update_couple_incre_status() [3/6]

int Material::update_couple_incre_status ( const vec &  i_curvature,
const vec &  ,
const vec &   
)
virtual
Here is the call graph for this function:

◆ update_couple_incre_status() [4/6]

int Material::update_couple_incre_status ( double  i_strain)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_couple_incre_status() [5/6]

int Material::update_couple_incre_status ( double  i_strain,
double  i_strain_rate 
)
Here is the call graph for this function:

◆ update_couple_incre_status() [6/6]

int Material::update_couple_incre_status ( double  i_strain,
double  i_strain_rate,
double  i_strain_acc 
)
Here is the call graph for this function:

◆ update_couple_trial_status() [1/6]

int Material::update_couple_trial_status ( const vec &  t_curvature)
virtual

◆ update_couple_trial_status() [2/6]

int Material::update_couple_trial_status ( const vec &  t_curvature,
const vec &   
)
virtual
Here is the call graph for this function:

◆ update_couple_trial_status() [3/6]

int Material::update_couple_trial_status ( const vec &  t_curvature,
const vec &  ,
const vec &   
)
virtual
Here is the call graph for this function:

◆ update_couple_trial_status() [4/6]

int Material::update_couple_trial_status ( double  t_strain)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_couple_trial_status() [5/6]

int Material::update_couple_trial_status ( double  t_strain,
double  t_strain_rate 
)
Here is the call graph for this function:

◆ update_couple_trial_status() [6/6]

int Material::update_couple_trial_status ( double  t_strain,
double  t_strain_rate,
double  t_strain_acc 
)
Here is the call graph for this function:

◆ update_incre_status() [1/6]

int Material::update_incre_status ( const vec &  i_strain)
virtual
Here is the call graph for this function:

◆ update_incre_status() [2/6]

int Material::update_incre_status ( const vec &  i_strain,
const vec &  i_strain_rate 
)
virtual
Here is the call graph for this function:

◆ update_incre_status() [3/6]

int Material::update_incre_status ( const vec &  i_strain,
const vec &  i_strain_rate,
const vec &  i_strain_acc 
)
virtual
Here is the call graph for this function:

◆ update_incre_status() [4/6]

int Material::update_incre_status ( double  i_strain)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_incre_status() [5/6]

int Material::update_incre_status ( double  i_strain,
double  i_strain_rate 
)
Here is the call graph for this function:

◆ update_incre_status() [6/6]

int Material::update_incre_status ( double  i_strain,
double  i_strain_rate,
double  i_strain_acc 
)
Here is the call graph for this function:

◆ update_trial_status() [1/6]

◆ update_trial_status() [2/6]

int Material::update_trial_status ( const vec &  t_strain,
const vec &  t_strain_rate 
)
virtual

Reimplemented in ExternalMaterial, CoulombFriction, Kelvin, Maxwell, NonlinearViscosity, and Parallel.

Here is the call graph for this function:

◆ update_trial_status() [3/6]

int Material::update_trial_status ( const vec &  t_strain,
const vec &  t_strain_rate,
const vec &  t_strain_acc 
)
virtual
Here is the call graph for this function:

◆ update_trial_status() [4/6]

int Material::update_trial_status ( double  t_strain)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_trial_status() [5/6]

int Material::update_trial_status ( double  t_strain,
double  t_strain_rate 
)
Here is the call graph for this function:

◆ update_trial_status() [6/6]

int Material::update_trial_status ( double  t_strain,
double  t_strain_rate,
double  t_strain_acc 
)
Here is the call graph for this function:

Friends And Related Function Documentation

◆ ConstantCoupleStiffness

void ConstantCoupleStiffness ( DataCoupleMaterial M)
friend

◆ ConstantDamping

void ConstantDamping ( DataMaterial M)
friend

◆ ConstantInertial

void ConstantInertial ( DataMaterial M)
friend

◆ ConstantStiffness

void ConstantStiffness ( DataMaterial M)
friend

◆ PureWrapper

void PureWrapper ( Material M)
friend

The documentation for this class was generated from the following files: