suanPan
CDP Class Referencefinal

The CDP class. More...

#include <CDP.h>

Inheritance diagram for CDP:
Collaboration diagram for CDP:

Public Member Functions

 CDP (unsigned=0, double=3E4, double=.2, double=3., double=30., double=1E-3, double=1E-1, double=.8, double=4., double=.6, double=.6, double=.2, double=1.16, double=.5, double=2400E-12)
 
unique_ptr< Materialget_copy () override
 
- Public Member Functions inherited from NonlinearCDP
 NonlinearCDP (unsigned, double, double, double, double, double, double, double, double)
 
int initialize (const shared_ptr< DomainBase > &) override
 
double get_parameter (ParameterType) const override
 
int update_trial_status (const vec &) override
 
int clear_status () override
 
int commit_status () override
 
int reset_status () override
 
vector< vec > record (OutputType) override
 
void print () override
 
- Public Member Functions inherited from Material3D
 Material3D (unsigned, double)
 
vector< vec > record (OutputType) override
 
- Public Member Functions inherited from Material
 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
 
double get_density () const
 
MaterialType get_material_type () const
 
PlaneType get_plane_type () const
 
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) const
 
double get_characteristic_length () 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 ()
 

Additional Inherited Members

- Protected Member Functions inherited from Material3D
 Material3D (unsigned, double)
 
vector< vec > record (OutputType) override
 
- Protected Member Functions inherited from Material
 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
 
double get_density () const
 
MaterialType get_material_type () const
 
PlaneType get_plane_type () const
 
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) const
 
double get_characteristic_length () 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)
 
- 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 DataNonlinearCDP
const double elastic_modulus
 
const double poissons_ratio
 
const double g_t
 
const double g_c
 
const double alpha
 
const double alpha_p
 
const double s0
 
- Protected Attributes inherited from DataMaterial
const double density = 0.
 
const MaterialType material_type = MaterialType::D0
 
const PlaneType plane_type = PlaneType::N
 
const double tolerance = 1E-14
 
const double characteristic_length = -1.
 
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
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

The CDP class.

A 3D concrete material model that supports stiffness degradation.

This model uses the original backbones.

algorithm verified at 29 April 2019 by tlc

References:

  1. A Plastic-Damage Model for Concrete. https://doi.org/10.1016/0020-7683(89)90050-4
  2. Plastic-Damage Model for Cyclic Loading of Concrete Structures. https://doi.org/10.1061/(ASCE)0733-9399(1998)124:8(892)
  3. A Plastic-Damage Concrete Model for Earthquake Analysis of Dams. https://doi.org/10.1002/(SICI)1096-9845(199809)27:9<937::AID-EQE764>3.0.CO;2-5
  4. A Return-Mapping Algorithm for Plastic-Damage Models: 3-D and Plane Stress Formulation. https://doi.org/10.1002/1097-0207(20010120)50:2<487::AID-NME44>3.0.CO;2-N
Author
tlc
Date
29/04/2019
Version
1.0.0

Constructor & Destructor Documentation

◆ CDP()

CDP::CDP ( unsigned  T = 0,
double  E = 3E4,
double  V = .2,
double  ST = 3.,
double  SC = 30.,
double  GT = 1E-3,
double  GC = 1E-1,
double  AT = .8,
double  AC = 4.,
double  DT = .6,
double  DC = .6,
double  AP = .2,
double  BC = 1.16,
double  S = .5,
double  R = 2400E-12 
)
explicit

Member Function Documentation

◆ get_copy()

unique_ptr< Material > CDP::get_copy ( )
overridevirtual

Implements Material.


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