suanPan
|
#include <ExpJ2.h>
Public Member Functions | |
ExpJ2 (unsigned, double, double, double, double, double, double=0.) | |
unique_ptr< Material > | get_copy () override |
void | print () override |
Public Member Functions inherited from NonlinearJ2 | |
NonlinearJ2 (unsigned, double, double, double=0.) | |
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 |
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 | |
Material & | operator= (const Material &)=delete |
Material & | operator= (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< Material > | get_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 | |
Tag & | operator= (const Tag &)=delete |
Tag & | operator= (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 NonlinearJ2 | |
NonlinearJ2 (unsigned, double, double, double=0.) | |
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 |
void | print () override |
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 | |
Material & | operator= (const Material &)=delete |
Material & | operator= (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< Material > | get_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 | |
Tag & | operator= (const Tag &)=delete |
Tag & | operator= (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 DataExpJ2 | |
const double | yield_stress |
const double | a |
const double | b |
Protected Attributes inherited from DataNonlinearJ2 | |
const double | elastic_modulus |
const double | poissons_ratio |
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 {} |
The ExpJ2 class.
The ExpJ2 class defines a 3D material model using the J2 yield criterion. There is no kinematic hardening defined so parameter \(beta\) only controls the amount of isotropic hardening, which is defined using the following expression
\begin{align} \sigma=\sigma_y\left(\left(1+a\right)\exp\left(-b\varepsilon_p\right)-a\exp\left(-2b\varepsilon_p\right)\right) \end{align}
where \(a\) and \(b\) are two parameters.
If \(a>1\), hardening are defined, the ratio \(\sigma_m/\sigma_y=\dfrac{(1+a)^2}{4a}\).
Reference:
ExpJ2::ExpJ2 | ( | unsigned | T, |
double | E, | ||
double | V, | ||
double | YS, | ||
double | PA, | ||
double | PB, | ||
double | R = 0. |
||
) |
|
overridevirtual |
Reimplemented from Tag.