#include <ortodamrot.h>
Public Member Functions | |
double | brittle_damage (long ipp, double y, double e, double f, double uf, double omegao) |
void | damdrvforce_dev (double nu, vector &peps, vector &pyt, vector &pyc) |
double | damdrvforce_vol (double nu, vector &peps) |
void | elmatstiff (matrix &d, long ipp) |
double | give_actual_fc (long ipp) |
double | give_actual_ft (long ipp) |
void | give_actual_param_a (long ipp, long ido, double &aat, double &aac) |
void | initvalues (long ipp, long ido) |
void | loadfunc (long ipp, double nu, vector &peps, vector &damt, vector &damc, double aat, double aac, vector &lft, vector &lfc) |
void | matstiff (matrix &d, long ipp, long ido) |
void | nlstresses (long ipp, long im, long ido) |
ortodamrot (void) | |
void | pelmatstiff (long ipp, matrix &d, double e, double nu) |
void | princ_dam (long ipp, vector &peps, double aat, double aac, vector &pdamt, vector &pdamc) |
double | qbezier_damage (long ipp, double y, double e, double f, double uf, double ul, double omegao, long pq) |
void | read (XFILE *in) |
void | updateval (long ipp, long im, long ido) |
~ortodamrot (void) | |
Public Attributes | |
double | ac |
material parameter Ac for compression | |
double | at |
material parameter At for tension | |
double | bc |
material parameter Bc for compression | |
double | betac |
coefficient of inelastic strains computed from damage parameter for compression | |
double | betat |
coefficient of inelastic strains computed from damage parameter for tension | |
double | bt |
material parameter Bt for tension | |
corr_disip_en | cde |
correction of disipated energy switch | |
dam_evolfunc | damevf |
type of damage evolution function | |
fatigue_flag | fat |
flag for counting with fatigue | |
double | fc |
compressive strength | |
double | ft |
tensile strength | |
double | gfc |
fracture energy of damage for compression | |
double | gft |
fracture energy of damage for tension | |
long | pqc |
indicator for singularity in quadratic Bezier evolution function for compression (pure quadratic function will be used instead Bezier one) | |
long | pqt |
indicator for singularity in quadratic Bezier evolution function for tension (pure quadratic function will be used instead Bezier one) | |
strretalg | sra |
parameters for Newton tangent method for damage parameter computation for brittle evolution fucntion and correction of dissipated energy | |
double | ufc |
initial crack opening u_fc or eps_fc - controls initial slope of softening branch for compression | |
double | uft |
initial crack opening u_ft or eps_ft - controls initial slope of softening branch for tension | |
double | ulc |
limit crack opening u_lc or eps_lc - limit value for zero stresses in compression | |
double | ult |
limit crack opening u_lt or eps_lt - limit value for zero stresses in tension | |
double | y0c |
initial treshold for dimensionless damage driving force Y0 for compression | |
double | y0t |
initial treshold for dimensionless damage driving force Y0 for tension |
This class defines ortoropic damage material model with crack rotation. The different type of norms for the computing parameters of the damage function can be used. The order of internal variables is following: 0 - actual value of param At (actualized for the quasibrittle evolution law only) 1 - actual value of param Ac (actualized for the quasibrittle evolution law only) 2 .. 7 - attained values of damage tensor for tension (order of values corresponds to stress vector) 8 .. 13 - attained values of damage tensor for compression (order of values corresponds to stress vector) 14 .. 19 - attained values of inelastic strain tensor caused by damage (actualized for fatigue only) 20 .. 22 - crack widths in the principal directions
Definition at line 23 of file ortodamrot.h.
ortodamrot | ( | void | ) |
The constructor inializes attributes to zero values.
Created by Tomas Koudelka, 9.2006 Modified by Tomas Koudelka, 10.2008
Definition at line 29 of file ortodamrot.cpp.
References ac, at, bc, betac, betat, bt, cde, corr_off, fat, fatigue_off, fc, ft, gfc, gft, pqc, pqt, ufc, uft, ulc, ult, y0c, and y0t.
~ortodamrot | ( | void | ) |
The destructor is defined only for the formal purposes.
Created by Tomas Koudelka, 9.2006
Definition at line 48 of file ortodamrot.cpp.
double brittle_damage | ( | long | ipp, | |
double | y, | |||
double | e, | |||
double | f, | |||
double | uf, | |||
double | omegao | |||
) |
The function computes damage parameter which is the result of the damage function for brittle type of damage function. Correction of dissipated energy is controled by the cde flag.
ipp | - integration point number | |
y | - parameter of damage function=equivalent strain (generalized conjugated dimensionless thermodynamical force) | |
e | - actual value of Young modulus | |
f | - actual value of strength (tensile or compressive) | |
uf | - actual value of initial crack opening | |
omegao | - old value of damage |
Created by Tomas Koudelka,
Definition at line 297 of file ortodamrot.cpp.
References cde, corr_off, mechmat::elip, ft, mechtop::give_area(), mechtop::give_dimension(), strretalg::give_err(), mechtop::give_length(), strretalg::give_ni(), mechtop::give_volume(), h(), intpoints::hmt, mechmat::ip, Mm, Mt, print_err(), and sra.
Referenced by princ_dam().
double damdrvforce_vol | ( | double | nu, | |
vector & | peps | |||
) |
void elmatstiff | ( | matrix & | d, | |
long | ipp | |||
) |
The function computes elastic material stiffnes matrix from actual Young modulus.
d | - allocated matrix structure for material stiffness matrix (output) | |
ipp | - integration point number |
Created by Tomas Koudelka,
Definition at line 803 of file ortodamrot.cpp.
References cmulm(), mechmat::elmatstiff(), intpoints::gemid(), mechmat::give_actual_ym(), mechmat::givencompeqother(), mechmat::ip, and Mm.
Referenced by matstiff().
double give_actual_fc | ( | long | ipp | ) |
The function returns the value of compressive strength
ipp | - integration point number in the mechmat ip array. | |
ido | - index of internal variables for given material in the ipp other array |
Created by Tomas Koudelka, 10.2008
Definition at line 736 of file ortodamrot.cpp.
References fc.
Referenced by mechmat::give_actual_fc().
double give_actual_ft | ( | long | ipp | ) |
The function returns the value of tensile strength
ipp | - integration point number in the mechmat ip array. | |
ido | - index of internal variables for given material in the ipp other array |
Created by Tomas Koudelka, 10.2008
Definition at line 719 of file ortodamrot.cpp.
References ft.
Referenced by mechmat::give_actual_ft().
void give_actual_param_a | ( | long | ipp, | |
long | ido, | |||
double & | aat, | |||
double & | aac | |||
) |
Function computes material parameters A, At and Ac. If the correction of dissipated energy is required, they are computed with respect to size of element for given ipp and variable softening modulus technique was used in order to avoid mesh dependence. Otherwise, values read from the input file are used.
d | - allocated matrix structure for material stiffness matrix | |
ipp | - integration point number | |
ido | - index of internal variables for given material in the ipp other array | |
aat | - actual value of parameter At | |
aac | - actual value of parameter Ac |
Created by Tomas Koudelka, 9.2006
Definition at line 654 of file ortodamrot.cpp.
References ac, at, bc, bt, cde, corr_off, mechmat::elip, intpoints::eqother, gfc, gft, mechmat::give_actual_ym(), mechtop::give_area(), mechtop::give_dimension(), mechtop::give_length(), mechtop::give_volume(), h(), mechmat::ip, M_PI, Mm, Mt, print_err(), y0c, and y0t.
Referenced by initvalues(), and nlstresses().
void initvalues | ( | long | ipp, | |
long | ido | |||
) |
Function computes initializes material parameters A, At and Ac.
d | - allocated matrix structure for material stiffness matrix | |
ipp | - integration point number | |
ido | - index of internal variables for given material in the ipp other array |
Created by Tomas Koudelka, 9.2006
Definition at line 754 of file ortodamrot.cpp.
References give_actual_param_a().
Referenced by mechmat::initvalues().
void loadfunc | ( | long | ipp, | |
double | nu, | |||
vector & | peps, | |||
vector & | damt, | |||
vector & | damc, | |||
double | aat, | |||
double | aac, | |||
vector & | lft, | |||
vector & | lfc | |||
) |
Function computes value of load function
ipp | - integration point number | |
nu | - Poissons ratio | |
peps | - vector of principal strains | |
damt | - vector actual values of principal damage parameters for tension | |
damc | - vector actual values of principal damage parameters for compression | |
aat | - actual values of material parameter a for tension | |
aac | - actual values of material parameter a for compression | |
lft | - vector of resulting values of load function for tension for each principal direction (output) | |
lfc | - vector of resulting values of load function for compression for each principal direction (output) |
Created by Tomas Koudelka, 9.2006 Modified Tomas Koudelka, 10.2008
Definition at line 134 of file ortodamrot.cpp.
References bc, brittle, bt, damevf, fc, ft, mechmat::give_actual_fc(), mechmat::give_actual_ft(), mechmat::give_actual_ym(), h(), Mm, pqc, pqt, print_err(), quadbezier, quasi_brittle, sqr, ufc, uft, ult, y0c, and y0t.
void matstiff | ( | matrix & | d, | |
long | ipp, | |||
long | ido | |||
) |
The function computes material stiffnes matrix.
d | - allocated matrix structure for material stiffness matrix (output) | |
ipp | - integration point number | |
ido | - index of internal variables for given material in the ipp other array |
Created by Tomas Koudelka,
Definition at line 773 of file ortodamrot.cpp.
References elmatstiff(), initial_stiff, Mp, probdesc::nlman, print_err(), nonlinman::stmat, and tangent_stiff.
Referenced by mechmat::matstiff().
void nlstresses | ( | long | ipp, | |
long | im, | |||
long | ido | |||
) |
The function computes correct stresses in the integration point and stores them into ip stress array.
ipp | - integration point pointer | |
im | - index of material type for given ip | |
ido | - index of internal variables for given material in the ipp other array |
Created by Tomas Koudelka, 9.2006
Definition at line 871 of file ortodamrot.cpp.
References addv(), betac, betat, copyv(), mechmat::elip, mechmat::elmatstiff(), intpoints::eqother, fat, fatigue_on, fillm(), mechmat::give_actual_nu(), give_actual_param_a(), mechmat::give_actual_ym(), mechtop::give_area(), mechtop::give_dimension(), mechtop::give_length(), mechtop::give_volume(), glmatrixtransf(), h(), intpoints::hmt, if(), mechmat::ip, lgmatrixtransf(), limit, probdesc::matmodel, Mm, Mp, Mt, mxm(), mxv(), intpoints::ncompstr, nijac, intpoints::nonloc, nonlocal, probdesc::nonlocphase, intpoints::other, planestress, princ_dam(), princ_val(), print_err(), intpoints::ssst, strain, intpoints::strain, intpoints::stress, stress, subv(), tensor_vector(), vector_tensor(), and probdesc::zero.
Referenced by mechmat::compnonloc_nlstresses(), and mechmat::computenlstresses().
void pelmatstiff | ( | long | ipp, | |
matrix & | d, | |||
double | e, | |||
double | nu | |||
) |
The function computes material stiffnes matrix used in principal stress computations.
d | - allocated matrix structure for material stiffness matrix (output) | |
e | - actual value of Young modulus | |
nu | - actual value of Poissons ratio |
Created by Tomas Koudelka,
Definition at line 832 of file ortodamrot.cpp.
References cmulm(), mechmat::ip, Mm, planestrain, planestress, print_err(), spacestress, and intpoints::ssst.
Function computes values of principal damage parameters Dt and Dc. The damage parameters are derived from the damage function.
ipp | - integration point number | |
peps | - vector of principal strains | |
aat | - actual value of material parameter at | |
aac | - actual value of material parameter ac | |
pdamc | - vector of principal damage parameters for tension (output) | |
pdamt | - vector of principal damage parameters for compression (output) |
Created by Tomas Koudelka, 9.2006
Definition at line 532 of file ortodamrot.cpp.
References bc, brittle, brittle_damage(), bt, damevf, fc, ft, mechmat::give_actual_fc(), mechmat::give_actual_ft(), mechmat::give_actual_ym(), Mm, pqc, pqt, print_err(), qbezier_damage(), quadbezier, quasi_brittle, ufc, uft, ulc, ult, y0c, and y0t.
Referenced by nlstresses().
double qbezier_damage | ( | long | ipp, | |
double | y, | |||
double | e, | |||
double | f, | |||
double | uf, | |||
double | ul, | |||
double | omegao, | |||
long | pq | |||
) |
The function computes damage parameter which is the result of the damage function for Bezier type of damage function. Correction of dissipated energy is controled by the cde flag.
ipp | - integration point number | |
y | - parameter of damage function=equivalent strain (generalized conjugated dimensionless thermodynamical force) | |
e | - actual value of Young modulus | |
f | - actual value of strength (tensile or compressive) | |
uf | - actual value of initial crack opening | |
ul | - actual value of limit crack opening | |
omegao | - old value of damage | |
pq | - indicator of singularity in quadratic Beziere function (pq=1), pure quadratic function have to be used instead of its. |
Created by Tomas Koudelka,
Definition at line 410 of file ortodamrot.cpp.
References cde, corr_off, mechmat::elip, ft, mechtop::give_area(), mechtop::give_dimension(), strretalg::give_err(), mechtop::give_length(), strretalg::give_ni(), mechtop::give_volume(), h(), intpoints::hmt, mechmat::ip, Mm, Mt, print_err(), sqr, and sra.
Referenced by princ_dam().
void read | ( | XFILE * | in | ) |
The function reads material parameters from the opened text file given by the parameter in.
in | - pointer to the opened input text file |
Created by Tomas Koudelka, 9.2006 Modified by Tomas Koudelka, 10.2008
Definition at line 66 of file ortodamrot.cpp.
References ac, at, bc, betac, betat, brittle, bt, cde, corr_disip_en_kwdset(), corr_off, corr_on, dam_evolfunc_kwdset(), damevf, fat, fatigue_flag_kwdset(), fatigue_on, fc, ft, gfc, gft, pqc, pqt, print_err(), qlimit, quadbezier, quasi_brittle, strretalg::read(), sra, ufc, uft, ulc, ult, xfscanf(), y0c, and y0t.
Referenced by mechmat::readmattype().
void updateval | ( | long | ipp, | |
long | im, | |||
long | ido | |||
) |
Function updates values in the other array reached in the previous equlibrium state to values reached in the new actual equilibrium state.
ipp | - integration point number in the mechmat ip array. | |
im | - index of material type for given ip | |
ido | - index of internal variables for given material in the ipp other array |
Created by Tomas Koudelka,
Definition at line 1188 of file ortodamrot.cpp.
References intpoints::eqother, mechmat::givencompeqother(), mechmat::ip, Mm, and intpoints::other.
Referenced by mechmat::updateipvalmat().
double ac |
material parameter Ac for compression
Definition at line 72 of file ortodamrot.h.
Referenced by give_actual_param_a(), ortodamrot(), and read().
double at |
material parameter At for tension
Definition at line 66 of file ortodamrot.h.
Referenced by give_actual_param_a(), ortodamrot(), and read().
double bc |
material parameter Bc for compression
Definition at line 74 of file ortodamrot.h.
Referenced by give_actual_param_a(), loadfunc(), ortodamrot(), princ_dam(), and read().
double betac |
coefficient of inelastic strains computed from damage parameter for compression
Definition at line 90 of file ortodamrot.h.
Referenced by nlstresses(), ortodamrot(), and read().
double betat |
coefficient of inelastic strains computed from damage parameter for tension
Definition at line 88 of file ortodamrot.h.
Referenced by nlstresses(), ortodamrot(), and read().
double bt |
material parameter Bt for tension
Definition at line 68 of file ortodamrot.h.
Referenced by give_actual_param_a(), loadfunc(), ortodamrot(), princ_dam(), and read().
correction of disipated energy switch
Definition at line 64 of file ortodamrot.h.
Referenced by brittle_damage(), give_actual_param_a(), ortodamrot(), qbezier_damage(), and read().
type of damage evolution function
Definition at line 48 of file ortodamrot.h.
Referenced by loadfunc(), princ_dam(), and read().
flag for counting with fatigue
Definition at line 86 of file ortodamrot.h.
Referenced by nlstresses(), ortodamrot(), and read().
double fc |
compressive strength
Definition at line 56 of file ortodamrot.h.
Referenced by give_actual_fc(), loadfunc(), ortodamrot(), princ_dam(), and read().
double ft |
tensile strength
Definition at line 50 of file ortodamrot.h.
Referenced by brittle_damage(), give_actual_ft(), loadfunc(), ortodamrot(), princ_dam(), qbezier_damage(), and read().
double gfc |
fracture energy of damage for compression
Definition at line 80 of file ortodamrot.h.
Referenced by give_actual_param_a(), ortodamrot(), and read().
double gft |
fracture energy of damage for tension
Definition at line 78 of file ortodamrot.h.
Referenced by give_actual_param_a(), ortodamrot(), and read().
long pqc |
indicator for singularity in quadratic Bezier evolution function for compression (pure quadratic function will be used instead Bezier one)
Definition at line 84 of file ortodamrot.h.
Referenced by loadfunc(), ortodamrot(), princ_dam(), and read().
long pqt |
indicator for singularity in quadratic Bezier evolution function for tension (pure quadratic function will be used instead Bezier one)
Definition at line 82 of file ortodamrot.h.
Referenced by loadfunc(), ortodamrot(), princ_dam(), and read().
parameters for Newton tangent method for damage parameter computation for brittle evolution fucntion and correction of dissipated energy
Definition at line 62 of file ortodamrot.h.
Referenced by brittle_damage(), qbezier_damage(), and read().
double ufc |
initial crack opening u_fc or eps_fc - controls initial slope of softening branch for compression
Definition at line 60 of file ortodamrot.h.
Referenced by loadfunc(), ortodamrot(), princ_dam(), and read().
double uft |
initial crack opening u_ft or eps_ft - controls initial slope of softening branch for tension
Definition at line 52 of file ortodamrot.h.
Referenced by loadfunc(), ortodamrot(), princ_dam(), and read().
double ulc |
limit crack opening u_lc or eps_lc - limit value for zero stresses in compression
Definition at line 58 of file ortodamrot.h.
Referenced by ortodamrot(), princ_dam(), and read().
double ult |
limit crack opening u_lt or eps_lt - limit value for zero stresses in tension
Definition at line 54 of file ortodamrot.h.
Referenced by loadfunc(), ortodamrot(), princ_dam(), and read().
double y0c |
initial treshold for dimensionless damage driving force Y0 for compression
Definition at line 76 of file ortodamrot.h.
Referenced by give_actual_param_a(), loadfunc(), ortodamrot(), princ_dam(), and read().
double y0t |
initial treshold for dimensionless damage driving force Y0 for tension
Definition at line 70 of file ortodamrot.h.
Referenced by give_actual_param_a(), loadfunc(), ortodamrot(), princ_dam(), and read().