#include <glasgmech.h>
Public Member Functions | |
double | betacoeff (long ipp, double t) |
void | compute_lits (long ipp, vector &epstm, matrix &sigt, double told, double tnew) |
void | compute_thermdilat (double t, double dt, matrix &eps) |
void | damfuncpar (long ipp, vector &eps, vector &kappa) |
double | damfunction (long ipp, double tempr, double chi, vector &kappa) |
void | depseqdepsel (long ipp, vector &eps, vector &deeqdeel) |
double | domegadkmd (long ipp, double tempr, double chi, vector &kappa) |
double | domegadt (long ipp, double tempr, double chi, vector &kappa) |
double | dtdfdt (long ipp, double tempr, vector &kappa) |
glasgmech () | |
void | matstiff (matrix &d, long ipp, long ido) |
void | nlstresses (long ipp, long im, long ido) |
void | read (XFILE *in) |
double | thermdamfunction (long ipp, double tempr, vector &kappa) |
~glasgmech () | |
Public Attributes | |
double | a |
parameters of LITS (Load Induced Thermal Strains) | |
double | b |
double | c |
paramf_type | ft |
type of norm of equivalent strains | |
double | gf0 |
fracture energy at room temperature | |
double | k |
ratio between compressive and tensile strengths | |
double | lc |
characteristic length | |
double | st |
tensile strength | |
double | tkappa0 |
thermal damage threshold |
class contains mechanical part of the Glasgow material model of hygro-thermo-mechanical problems
strain rate is the sum of rates of elastic, plastic, free thermal, creep and load induced thermal strains
stored values in the array eqother: previous total stresses, previous total strains, total irreversible strains, previous temperature, equivalent strain, mechanical damage parameter, maximum reached normalized temperature, thermal damage parameter
Definition at line 22 of file glasgmech.h.
glasgmech | ( | void | ) |
~glasgmech | ( | void | ) |
Definition at line 28 of file glasgmech.cpp.
double betacoeff | ( | long | ipp, | |
double | t | |||
) |
function computes coefficient beta
ipp | - number of integration point | |
t | - temperature |
13.7.2004
Definition at line 51 of file glasgmech.cpp.
Referenced by compute_lits().
function computes increments of load induced thermal strains
ipp | - integration point number | |
epstm | - result vector of increments of load induced thermal strains | |
sigt | - stress tensor | |
told | - previous temperature | |
tnew | - actual temperature |
Definition at line 433 of file glasgmech.cpp.
References betacoeff(), cmulm(), mechmat::eliso, elisomat, extractnegv(), fillm(), fillv(), first_invar(), intpoints::gemid(), mechmat::ip, k, lgmatrixtransf(), limit, Mm, Mp, nijac, elastisomat::nu, princ_val(), intpoints::ssst, st, strain, tensor_vector(), intpoints::tm, and probdesc::zero.
Referenced by nlstresses().
void compute_thermdilat | ( | double | t, | |
double | dt, | |||
matrix & | eps | |||
) |
function computes
t | - temeprature | |
dt | - incrment of temperature | |
eps | - thermal strain increment |
Definition at line 355 of file glasgmech.cpp.
References fillm().
Referenced by nlstresses().
function computes norm of equivalent strains
ipp | - number of integration point | |
eps | - vector of the strains | |
kappa | - vector where the computed parameters are stored |
Definition at line 81 of file glasgmech.cpp.
References a, allocm(), allocv(), b, deviator(), elastisomat::e, mechmat::eliso, elisomat, extractposv(), fillv(), first_invar(), ft, intpoints::gemid(), mechmat::ip, k, limit, Mm, Mp, intpoints::ncompstr, nijac, normazar, elastisomat::nu, princ_val(), scprd(), second_invar(), intpoints::ssst, strain, intpoints::tm, vector_tensor(), vonmises, and probdesc::zero.
Referenced by nlstresses().
double damfunction | ( | long | ipp, | |
double | tempr, | |||
double | chi, | |||
vector & | kappa | |||
) |
This function computes damage parameter omega which is the result of the damage function.
ipp | - integration point number | |
tempr | - actual temperature | |
chi | - thermal damage parameter | |
kappa | - vector of the parameters of damage function |
Definition at line 145 of file glasgmech.cpp.
References elastisomat::e, mechmat::eliso, elisomat, intpoints::gemid(), gf0, intpoints::idm, mechmat::ip, lc, Mm, st, and intpoints::tm.
Referenced by nlstresses().
Function computes derivatives of equivalent strain with respect of elastic strains.
ipp | - integration point number | |
epstm | - result vector of increments of load induced thermal strains | |
sigt | - stress tensor | |
told | - previous temperature | |
tnew | - actual temperature |
Definition at line 491 of file glasgmech.cpp.
References addv(), axisymm, cmulv(), deviator(), elastisomat::e, mechmat::eliso, elisomat, fillm(), fillv(), first_invar(), intpoints::gemid(), mechmat::ip, k, Mm, mxv(), intpoints::ncompstr, elastisomat::nu, planestrain, second_invar(), spacestress, intpoints::ssst, strain, intpoints::tm, and vector_tensor().
Referenced by nlstresses().
double domegadkmd | ( | long | ipp, | |
double | tempr, | |||
double | chi, | |||
vector & | kappa | |||
) |
Function computes derivative of mechanical damage parameter with respect to equivalent strain
ipp | - integration point number | |
tempr | - actual temperature | |
chi | - thermal damage parameter | |
kappa | - vector of the parameters of damage function |
Definition at line 203 of file glasgmech.cpp.
References elastisomat::e, mechmat::eliso, elisomat, intpoints::gemid(), gf0, intpoints::idm, mechmat::ip, lc, Mm, st, and intpoints::tm.
Referenced by nlstresses().
double domegadt | ( | long | ipp, | |
double | tempr, | |||
double | chi, | |||
vector & | kappa | |||
) |
Function computes derivative of mechanical damage parameter with respect to temperature
ipp | - integration point number | |
tempr | - actual temperature | |
chi | - thermal damage parameter | |
kappa | - vector of the parameters of damage function |
Definition at line 262 of file glasgmech.cpp.
References elastisomat::e, mechmat::eliso, elisomat, intpoints::gemid(), gf0, intpoints::idm, mechmat::ip, lc, Mm, st, and intpoints::tm.
Referenced by nlstresses().
double dtdfdt | ( | long | ipp, | |
double | tempr, | |||
vector & | kappa | |||
) |
function computes derivative of thermal damage function with respect to temperature kappa_td is notation in the notes
ipp | - integration point number | |
tempr | - actual temperature | |
kappa | - vector of the parameters of thermal damage function it contains the maximum of either the largest value attained by temperature or the reference temperature |
Definition at line 409 of file glasgmech.cpp.
References tkappa0.
Referenced by nlstresses().
void matstiff | ( | matrix & | d, | |
long | ipp, | |||
long | ido | |||
) |
This function computes material stiffnes matrix.
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 |
Definition at line 325 of file glasgmech.cpp.
References cmulm(), mechmat::elmatstiff(), intpoints::eqother, initial_stiff, mechmat::ip, Mm, Mp, probdesc::nlman, nonlinman::stmat, and tangent_stiff.
Referenced by mechmat::matstiff().
void nlstresses | ( | long | ipp, | |
long | im, | |||
long | ido | |||
) |
function computes correct stresses in the integration point and stores them into ip stress array.
ipp | - integration point pointer | |
im | - index of material | |
ido | - index of the viscous material in the array eqother |
Definition at line 586 of file glasgmech.cpp.
References cmulm(), cmulv(), compute_lits(), compute_thermdilat(), damfuncpar(), damfunction(), depseqdepsel(), domegadkmd(), domegadt(), dtdfdt(), mechmat::elmatstiff(), intpoints::eqother, mechmat::givenonmechq(), mechmat::ip, mechmat::matstiff(), Mm, mxv(), intpoints::ncompstr, scprd(), intpoints::ssst, mechmat::storestress(), strain, intpoints::strain, intpoints::stress, stress, subv(), temperature, tensor_vector(), thermdamfunction(), and vector_tensor().
Referenced by mechmat::computenlstresses().
void read | ( | XFILE * | in | ) |
function reads input data from the input text file
Definition at line 36 of file glasgmech.cpp.
References a, b, c, ft, gf0, k, lc, paramf_type_kwdset(), st, tkappa0, and xfscanf().
Referenced by mechmat::readmattype().
double thermdamfunction | ( | long | ipp, | |
double | tempr, | |||
vector & | kappa | |||
) |
This function computes thermal damage parameter chi which is the result of the thermal damage function.
ipp | - integration point number | |
tempr | - actual temperature | |
kappa | - vector of the parameters of thermal damage function it contains the maximum of either the largest value attained by temperature or the reference temperature |
Definition at line 384 of file glasgmech.cpp.
References tkappa0.
Referenced by nlstresses().
double a |
parameters of LITS (Load Induced Thermal Strains)
Definition at line 57 of file glasgmech.h.
Referenced by betacoeff(), damfuncpar(), glasgmech(), and read().
double b |
Definition at line 57 of file glasgmech.h.
Referenced by betacoeff(), damfuncpar(), glasgmech(), and read().
double c |
Definition at line 57 of file glasgmech.h.
Referenced by betacoeff(), glasgmech(), and read().
type of norm of equivalent strains
Definition at line 44 of file glasgmech.h.
Referenced by damfuncpar(), glasgmech(), and read().
double gf0 |
fracture energy at room temperature
Definition at line 51 of file glasgmech.h.
Referenced by damfunction(), domegadkmd(), domegadt(), glasgmech(), and read().
double k |
ratio between compressive and tensile strengths
Definition at line 53 of file glasgmech.h.
Referenced by compute_lits(), damfuncpar(), depseqdepsel(), glasgmech(), and read().
double lc |
characteristic length
Definition at line 55 of file glasgmech.h.
Referenced by damfunction(), domegadkmd(), domegadt(), glasgmech(), and read().
double st |
tensile strength
Definition at line 49 of file glasgmech.h.
Referenced by compute_lits(), damfunction(), domegadkmd(), domegadt(), glasgmech(), and read().
double tkappa0 |
thermal damage threshold
Definition at line 47 of file glasgmech.h.
Referenced by dtdfdt(), glasgmech(), read(), and thermdamfunction().