#include <anisodamrot.h>
Public Member Functions | |
anisodamrot (void) | |
double | brittle_damage (long ipp, double y, double e, double f, double uf, double omegao) |
double | dam_vol (long ipp, double y, double aa, double dvo) |
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 &aa, double &aat, double &aac) |
void | initvalues (long ipp, long ido) |
void | loadfuncdev (long ipp, double nu, vector &peps, vector &damt, vector &damc, double aat, double aac, vector &lft, vector &lfc) |
double | loadfuncvol (long ipp, double nu, vector &peps, double d, double aa) |
void | matstiff (matrix &d, long ipp, long ido) |
void | nlstresses (long ipp, long im, long ido) |
void | pdam_dev (long ipp, vector &pyc, vector &pyt, double aat, double aac, vector &pdamt, vector &pdamc) |
void | read (XFILE *in) |
void | updateval (long ipp, long im, long ido) |
~anisodamrot (void) | |
Public Attributes | |
double | a |
material parameter A for volumetric damage | |
double | ac |
material parameter Ac for compression | |
double | at |
material parameter At for tension | |
double | b |
material parameter B for volumetric damage | |
double | bc |
material parameter Bc for compression | |
double | bt |
material parameter Bt for tension | |
corr_disip_en | cde |
correction of disipated energy switch | |
dam_evolfunc | damevf |
type of damage evolution function | |
double | fc |
compressive strength | |
double | ft |
tensile strength | |
double | gf |
fracture energy of volumetric damage | |
double | gfc |
fracture energy of deviatoric damage for compression | |
double | gft |
fracture energy of deviatoric damage for tension | |
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 | y0 |
initial treshold for damage driving force Y0 for volumetric damage | |
double | y0c |
initial treshold for damage driving force Y0 for compression | |
double | y0t |
initial treshold for damage driving force Y0 for tension |
This class defines scalar isotropic damage material model. 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 a 1 - actual value of param At 2 - actual value of param Ac 3 - reached value of volumetric damage parameter 4..9 - reached values of deviatoric damage parameters for tension 10..15 - reached values of deviatoric damage parameters for compression 16..18 - reached principal values of damage tensor for tension 19..21 - reached principal values of damage tensor for compression
Definition at line 25 of file anisodamrot.h.
anisodamrot | ( | void | ) |
~anisodamrot | ( | void | ) |
The destructor is defined only for the formal purposes.
Created by Tomas Koudelka, 9.2006
Definition at line 43 of file anisodamrot.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=equvalent strain (generalized conjugated 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, 10.2009
Definition at line 474 of file anisodamrot.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 dam_vol(), and pdam_dev().
double dam_vol | ( | long | ipp, | |
double | y, | |||
double | aa, | |||
double | dvo | |||
) |
Function computes value of damage parameter d. The damage parameter is derived from the damage function.
ipp | - integration point number | |
y | - driving forces for volumetric damage | |
aa | - actual value of material parameter a | |
dvo | - old value of volumteric damage |
Created by Tomas Koudelka, 9.2006 Modified by Tomas Koudelka, 10.2009
Definition at line 338 of file anisodamrot.cpp.
References b, brittle, brittle_damage(), damevf, ft, mechmat::give_actual_ft(), mechmat::give_actual_ym(), Mm, print_err(), quasi_brittle, uft, and y0.
Referenced by nlstresses().
Function computes dimensionless damage driving force for deviatoric damage parameters.
nu | - Poissons ratio | |
peps | - vector of principal strains | |
pyt | - vector of principal values of driving forces for tension damage parameters | |
pyc | - vector of principal values of driving forces for compression damage parameters |
Created by Tomas Koudelka, 9.2006 Modified by Tomas Koudelka, 10.2009
Definition at line 144 of file anisodamrot.cpp.
References fillv().
Referenced by loadfuncdev(), and nlstresses().
double damdrvforce_vol | ( | double | nu, | |
vector & | peps | |||
) |
Function computes dimensionless damage driving force for volumetric damage parameter.
nu | - Poissons ratio | |
peps | - vector of principal strains |
Created by Tomas Koudelka, 9.2006
Definition at line 108 of file anisodamrot.cpp.
Referenced by loadfuncvol(), and nlstresses().
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 | |
ipp | - integration point number |
Created by Tomas Koudelka, 9.2006
Definition at line 740 of file anisodamrot.cpp.
References cmulm(), elastisomat::e, mechmat::eliso, elisomat, mechmat::elmatstiff(), intpoints::gemid(), mechmat::give_actual_ym(), intpoints::idm, mechmat::ip, Mm, print_err(), and intpoints::tm.
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.2009
Definition at line 673 of file anisodamrot.cpp.
References fc.
Referenced by mechmat::give_actual_fc().
double give_actual_ft | ( | long | ipp | ) |
The function returns the actual 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.2009
Definition at line 656 of file anisodamrot.cpp.
References ft.
Referenced by mechmat::give_actual_ft().
void give_actual_param_a | ( | long | ipp, | |
long | ido, | |||
double & | aa, | |||
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 | |
aa | - actual value of parameter A (output) | |
aat | - actual value of parameter At (output) | |
aac | - actual value of parameter Ac (output) |
The | function returns computed material parameters A, Ac and At in the parameters aa, aat and aac. |
Created by Tomas Koudelka, 9.2006
Definition at line 586 of file anisodamrot.cpp.
References a, ac, at, b, bc, bt, cde, corr_off, mechmat::elip, intpoints::eqother, gf, 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(), y0, y0c, and y0t.
Referenced by initvalues(), and nlstresses().
void initvalues | ( | long | ipp, | |
long | ido | |||
) |
Function 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 691 of file anisodamrot.cpp.
References give_actual_param_a().
Referenced by mechmat::initvalues().
void loadfuncdev | ( | long | ipp, | |
double | nu, | |||
vector & | peps, | |||
vector & | damt, | |||
vector & | damc, | |||
double | aat, | |||
double | aac, | |||
vector & | lft, | |||
vector & | lfc | |||
) |
Function computes value of load function for deviatoric damage
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 by Tomas Koudelka, 10.2008 Modified by Tomas Koudelka, 10.2009
Definition at line 244 of file anisodamrot.cpp.
References bc, brittle, bt, damdrvforce_dev(), damevf, fc, ft, mechmat::give_actual_fc(), mechmat::give_actual_ft(), mechmat::give_actual_ym(), Mm, print_err(), quasi_brittle, ufc, uft, y0c, and y0t.
double loadfuncvol | ( | long | ipp, | |
double | nu, | |||
vector & | peps, | |||
double | d, | |||
double | aa | |||
) |
Function computes value of load function for the volumetric damage.
ipp | - integration point number | |
nu | - Poissons ratio | |
peps | - vector of principal strains | |
d | - actual value of damage parameter | |
aa | - actual value of material parameter a |
Created by Tomas Koudelka, 9.2006 Modified by Tomas Koudelka, 10.2009
Definition at line 178 of file anisodamrot.cpp.
References b, brittle, damdrvforce_vol(), damevf, f, ft, mechmat::give_actual_ft(), mechmat::give_actual_ym(), Mm, print_err(), quasi_brittle, uft, and y0.
void matstiff | ( | matrix & | d, | |
long | ipp, | |||
long | ido | |||
) |
This function computes actual 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 710 of file anisodamrot.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.
Parameters:
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 Modified by Tomas Koudelka, 10.2009
Definition at line 771 of file anisodamrot.cpp.
References addm(), cmulm(), dam_vol(), damdrvforce_dev(), damdrvforce_vol(), intpoints::eqother, fillm(), mechmat::give_actual_nu(), give_actual_param_a(), mechmat::give_actual_ym(), glmatrixtransf(), mechmat::ip, lgmatrixtransf(), limit, Mm, Mp, mxm(), intpoints::ncompstr, nijac, intpoints::other, pdam_dev(), planestress, princ_val(), print_err(), intpoints::ssst, strain, intpoints::strain, intpoints::stress, stress, tensor_vector(), vector_tensor(), and probdesc::zero.
Referenced by mechmat::compnonloc_nlstresses(), and mechmat::computenlstresses().
void pdam_dev | ( | long | ipp, | |
vector & | pyc, | |||
vector & | pyt, | |||
double | aat, | |||
double | aac, | |||
vector & | pdamt, | |||
vector & | pdamc | |||
) |
Function computes values of principal damage parameters Dt and Dc. The damage parameters are derived from the damage function.
ipp | - integration point number | |
pyc | - vector of principal driving forces for tension | |
pyt | - vector of principal driving forces for tension | |
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 Modified by Tomas Koudelka, 10.2009
Definition at line 391 of file anisodamrot.cpp.
References bc, brittle, brittle_damage(), bt, damevf, fc, fillv(), ft, mechmat::give_actual_fc(), mechmat::give_actual_ft(), mechmat::give_actual_ym(), Mm, print_err(), quasi_brittle, ufc, uft, y0c, and y0t.
Referenced by nlstresses().
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.2009
Definition at line 61 of file anisodamrot.cpp.
References a, ac, at, b, bc, brittle, bt, cde, corr_disip_en_kwdset(), corr_off, corr_on, dam_evolfunc_kwdset(), damevf, fc, ft, gf, gfc, gft, print_err(), quasi_brittle, strretalg::read(), sra, ufc, uft, xfscanf(), y0, 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, 9.2006
Definition at line 990 of file anisodamrot.cpp.
References intpoints::eqother, mechmat::givencompeqother(), mechmat::ip, Mm, and intpoints::other.
Referenced by mechmat::updateipvalmat().
double a |
material parameter A for volumetric damage
Definition at line 63 of file anisodamrot.h.
Referenced by anisodamrot(), give_actual_param_a(), and read().
double ac |
material parameter Ac for compression
Definition at line 75 of file anisodamrot.h.
Referenced by anisodamrot(), give_actual_param_a(), and read().
double at |
material parameter At for tension
Definition at line 69 of file anisodamrot.h.
Referenced by anisodamrot(), give_actual_param_a(), and read().
double b |
material parameter B for volumetric damage
Definition at line 65 of file anisodamrot.h.
Referenced by anisodamrot(), dam_vol(), give_actual_param_a(), loadfuncvol(), and read().
double bc |
material parameter Bc for compression
Definition at line 77 of file anisodamrot.h.
Referenced by anisodamrot(), give_actual_param_a(), loadfuncdev(), pdam_dev(), and read().
double bt |
material parameter Bt for tension
Definition at line 71 of file anisodamrot.h.
Referenced by anisodamrot(), give_actual_param_a(), loadfuncdev(), pdam_dev(), and read().
correction of disipated energy switch
Definition at line 61 of file anisodamrot.h.
Referenced by anisodamrot(), brittle_damage(), give_actual_param_a(), and read().
type of damage evolution function
Definition at line 49 of file anisodamrot.h.
Referenced by dam_vol(), loadfuncdev(), loadfuncvol(), pdam_dev(), and read().
double fc |
compressive strength
Definition at line 55 of file anisodamrot.h.
Referenced by anisodamrot(), give_actual_fc(), loadfuncdev(), pdam_dev(), and read().
double ft |
tensile strength
Definition at line 51 of file anisodamrot.h.
Referenced by anisodamrot(), brittle_damage(), dam_vol(), give_actual_ft(), loadfuncdev(), loadfuncvol(), pdam_dev(), and read().
double gf |
fracture energy of volumetric damage
Definition at line 81 of file anisodamrot.h.
Referenced by anisodamrot(), give_actual_param_a(), and read().
double gfc |
fracture energy of deviatoric damage for compression
Definition at line 85 of file anisodamrot.h.
Referenced by anisodamrot(), give_actual_param_a(), and read().
double gft |
fracture energy of deviatoric damage for tension
Definition at line 83 of file anisodamrot.h.
Referenced by anisodamrot(), give_actual_param_a(), and read().
parameters for Newton tangent method for damage parameter computation for brittle evolution fucntion and correction of dissipated energy
Definition at line 59 of file anisodamrot.h.
Referenced by brittle_damage(), and read().
double ufc |
initial crack opening u_fc or eps_fc - controls initial slope of softening branch for compression
Definition at line 57 of file anisodamrot.h.
Referenced by anisodamrot(), loadfuncdev(), pdam_dev(), and read().
double uft |
initial crack opening u_ft or eps_ft - controls initial slope of softening branch for tension
Definition at line 53 of file anisodamrot.h.
Referenced by anisodamrot(), dam_vol(), loadfuncdev(), loadfuncvol(), pdam_dev(), and read().
double y0 |
initial treshold for damage driving force Y0 for volumetric damage
Definition at line 67 of file anisodamrot.h.
Referenced by anisodamrot(), dam_vol(), give_actual_param_a(), loadfuncvol(), and read().
double y0c |
initial treshold for damage driving force Y0 for compression
Definition at line 79 of file anisodamrot.h.
Referenced by anisodamrot(), give_actual_param_a(), loadfuncdev(), pdam_dev(), and read().
double y0t |
initial treshold for damage driving force Y0 for tension
Definition at line 73 of file anisodamrot.h.
Referenced by anisodamrot(), give_actual_param_a(), loadfuncdev(), pdam_dev(), and read().