camclaycoup Class Reference

#include <camclaycoup.h>

List of all members.

Public Member Functions

 camclaycoup (void)
void changeparam (atsel &atm, vector &val)
double cohesion (vector &qtr)
void dderyieldfsigma (matrix &ddfds)
void der_q_gamma (long ipp, long ido, matrix &sig, vector &qtr, vector &dqdg)
void derpotsigma (matrix &sig, vector &q, matrix &dgds)
void deryieldfdqdq (matrix &dfq)
void deryieldfdsdq (matrix &dfdsdqt)
void deryieldfq (matrix &sig, vector &q, vector &dq)
void deryieldfsigma (matrix &sig, vector &q, matrix &dfds)
void dhardfdq (long ipp, long ido, double dgamma, vector &qt, matrix &dqdq)
void dqdsigma (matrix &sigt, vector &qt, matrix &dqds)
double give_consparam (long ipp, long ido)
double give_iniporosity (long ipp, long ido)
double give_preconspress (long ipp, long ido)
void give_reqnmq (long *anmq)
double give_virgporosity (long ipp, long ido)
void giveirrstrains (long ipp, long ido, vector &epsp)
void initval (long ipp, long ido)
void matstiff (matrix &d, long ipp, long ido)
void nlstresses (long ipp, long im, long ido)
double plasmodscalar (long ipp, long ido, matrix &sig, vector &qtr)
void read (XFILE *in)
void updateq (long ipp, long ido, vector &eps, vector &epsp, matrix &sig, vector &q)
void updateval (long ipp, long ido)
double yieldfunction (matrix &sig, vector &q)
 ~camclaycoup (void)

Public Attributes

double c1_tilde
 first parameter for control of the v/v_sat ratio evolution
double c2
 second parameter for control of the v/v_sat ratio evolution
double kappa
 slope of swelling line
double ks
 coefficent of apparent adhesion due to suction pressure
double lambda
 slope of normal consolidation line
double m
 frictional constant
strretalg sra
 stress return algorithm

Detailed Description

This class defines modified cam-clay material model for coupling with moisture transfer. The material is defined by three usual camclay material constants : m - is frictional constant and it depends on the frictional angle phi lambda - slope of the normal consolidationa line kappa - slope of the swelling line

Additionally, there are three parameters which controls evolution of hardening with respect to degree of saturation and suction c1_tilde, c2 - controls the ration of specific volumes v/v_sat (partially sturated/fully saturated) ks - controls apparent adhesion (intersection of yield surface with p axis)

In addition to these material constants, several initial values have to be specified at each integration point in the following order : v_kappa1 - initial specific volume at the reference pressure p1 after unloading from initial consolidation pressure p_c0 (v_kappa0) p1 - reference pressure (p_1), it must be negative p_c0 - initial consolidation pressure, it must be negative iepsp_1 - . \ . \ components of initial plastic strains . / iepsp_ncomp -

Order of the eqother array components id | description ------------------+------------------------------------------------ <0; ncompstr-1> | plastic strains ncompstr | gamma - consistency parameter ncompstr+1 | hardening parameter p_c - consolidation pressure ncompstr+2 | hardening parameter p_s - apparent adhesion ncompstr+3 | v_lambda1 - initial value of specific volume on the NCL at reference pressure p1 . | v_ini - initial specific volume . | i1s - mean stress . | j2s - the second invariant of stress deviator . | epsv - total volume strain ncompstr+7 | epsvp - plastic volume strain

10.2012 TKo

Definition at line 54 of file camclaycoup.h.


Constructor & Destructor Documentation

camclaycoup ( void   ) 

This constructor inializes attributes to zero values.

Definition at line 18 of file camclaycoup.cpp.

References c1_tilde, c2, kappa, ks, lambda, and m.

~camclaycoup ( void   ) 

This destructor is only for the formal purposes.

Definition at line 33 of file camclaycoup.cpp.


Member Function Documentation

void changeparam ( atsel atm,
vector val 
)

The function changes material parameters for stochastic analysis.

Parameters:
atm - selected material parameters (parameters which are changed)
val - array containing new values of parameters
Returns:
The function does not return anything.

Created by Tomas Koudelka, 09.2012

Definition at line 829 of file camclaycoup.cpp.

References atsel::atrib, c1_tilde, c2, kappa, ks, lambda, m, atsel::num, and print_err().

double cohesion ( vector qtr  ) 
void dderyieldfsigma ( matrix ddfds  ) 

The function computes the second derivatives of yield function with respect of stress tensor sigma.

Parameters:
ddfds - tensor of the 4-th order where the are derivatives stored

19.12.2002

Definition at line 174 of file camclaycoup.cpp.

References fillm(), and m.

Referenced by mechmat::dfdsigmadsigma(), mechmat::dgdsigmadsigma(), and matstiff().

void der_q_gamma ( long  ipp,
long  ido,
matrix sig,
vector qtr,
vector dqdg 
)

The function computes derivatives of hardening paramters with respect of consistency parameter gamma.

Parameters:
ipp - integration point number
ido - index of internal variables for given material in the ipp other array
sig - stress tensor
qtr - vector of hardening variables
dqdg - matrix where the resulting derivatives are stored

Created by Tomas Koudelka, 09.2012

Definition at line 282 of file camclaycoup.cpp.

References c1_tilde, c2, intpoints::eqother, first_invar(), mechmat::givenonmechq(), mechmat::ip, kappa, lambda, Mm, intpoints::ncompstr, saturation_degree, and suction.

Referenced by plasmodscalar().

void derpotsigma ( matrix sig,
vector q,
matrix dgds 
)

The function computes derivatives of plastic potential function with respect of vector sigma.

Parameters:
sig - stress tensor
q - vector of the hardening parameters
dgds - matrix where the resulting derivatives are stored

Definition at line 195 of file camclaycoup.cpp.

References deryieldfsigma().

void deryieldfdqdq ( matrix dfq  ) 

The function computes the second derivatives of yield function with respect to hradening parameters.

Parameters:
dfds - matrix, where the resulting derivatives are stored

Created by Tomas Koudelka, 09.2012

Definition at line 238 of file camclaycoup.cpp.

void deryieldfdsdq ( matrix dfdsdqt  ) 

The function computes the second derivatives of yield function with respect to stresses.

Parameters:
dfds - tensor, where the resulting derivatives are stored. size of dfds = (6,number_of_hardening_param)

Created by Tomas Koudelka, 09.2012

Definition at line 260 of file camclaycoup.cpp.

Referenced by mechmat::dfdsigmadq(), and mechmat::dgdsigmadq().

void deryieldfq ( matrix sig,
vector q,
vector dfq 
)

This function computes derivatives of as-th yield function with respect of vector of hradening parameters.

Parameters:
sig - stress tensor
q - vector of the hardening parameters
dfds - vector where the resulting derivatives are stored

4.1.2002

Definition at line 213 of file camclaycoup.cpp.

References first_invar().

Referenced by mechmat::dfdqpar(), mechmat::dgdqpar(), and plasmodscalar().

void deryieldfsigma ( matrix sig,
vector q,
matrix dfds 
)

This function computes derivatives of as-th yield function with respect of vector sigma.

Parameters:
sig - stress tensor
q - vector of the hardening parameter
dfds - matrix where the resulting derivatives are stored

4.1.2002

Definition at line 146 of file camclaycoup.cpp.

References cmulm(), deviator(), first_invar(), m, and volume.

Referenced by derpotsigma(), mechmat::dfdsigma(), and mechmat::dgdsigma().

void dhardfdq ( long  ipp,
long  ido,
double  dgamma,
vector qt,
matrix dqdq 
)
void dqdsigma ( matrix sigt,
vector qt,
matrix dqds 
)
double give_consparam ( long  ipp,
long  ido 
)

This function extracts consistency parametr gamma for the reached equilibrium state from the integration point other array.

Parameters:
ipp - integration point number in the mechmat ip array.
ido - index of internal variables for given material in the ipp other array
Return values:
The function returns value of consistency parameter.

Created by Tomas Koudelka, 09.2012

Definition at line 717 of file camclaycoup.cpp.

References intpoints::eqother, mechmat::ip, Mm, and intpoints::ncompstr.

Referenced by mechmat::give_consparam().

double give_iniporosity ( long  ipp,
long  ido 
)

The function extracts initial porosity e_ini for the attained equilibrium state from the integration point eqother array.

Parameters:
ipp - integration point number in the mechmat ip array.
ido - index of internal variables for given material in the ipp other array
Return values:
The function returns value of initial porosity e_ini.

Created by Tomas Koudelka, 8.10.2013

Definition at line 789 of file camclaycoup.cpp.

References intpoints::eqother, mechmat::ip, Mm, and intpoints::ncompstr.

Referenced by mechmat::give_iniporosity().

double give_preconspress ( long  ipp,
long  ido 
)

The function extracts preconsolidation pressure p_c for the attained equilibrium state from the integration point eqother array.

Parameters:
ipp - integration point number in the mechmat ip array.
ido - index of internal variables for given material in the ipp other array
Return values:
The function returns value of preconsolidation pressure.

Created by Tomas Koudelka, 8.10.2013

Definition at line 741 of file camclaycoup.cpp.

References intpoints::eqother, mechmat::ip, Mm, and intpoints::ncompstr.

Referenced by mechmat::give_preconspress().

void give_reqnmq ( long *  anmq  ) 

The funtion marks required non-mechanical quantities in the array anmq.

Parameters:
anmq - array with flags for used material types anmq[i] = 1 => qunatity type nonmechquant(i+1) is required anmq[i] = 0 => qunatity type nonmechquant(i+1) is not required
Returns:
The function does not return anything, but it may change content of anmq array.

Definition at line 811 of file camclaycoup.cpp.

References saturation_degree, and suction.

Referenced by mechmat::give_reqnmq().

double give_virgporosity ( long  ipp,
long  ido 
)

The function extracts virgin porosity e_lambda1 for the attained equilibrium state from the integration point eqother array.

Parameters:
ipp - integration point number in the mechmat ip array.
ido - index of internal variables for given material in the ipp other array
Return values:
The function returns value of virgin porosity e_lambda1.

Created by Tomas Koudelka, 8.10.2013

Definition at line 765 of file camclaycoup.cpp.

References intpoints::eqother, mechmat::ip, Mm, and intpoints::ncompstr.

Referenced by mechmat::give_virgporosity().

void giveirrstrains ( long  ipp,
long  ido,
vector epsp 
)

Function returns irreversible plastic strains.

Parameters:
ipp - integration point number in the mechmat ip array.
ido - index of the first internal variable for given material in the ipp other array
epsp - vector of irreversible strains

Returns vector of irreversible strains via parameter epsp

Created by Tomas Koudelka, 09.2012

Definition at line 697 of file camclaycoup.cpp.

References intpoints::eqother, mechmat::ip, Mm, and vector::n.

Referenced by mechmat::giveirrstrains().

void initval ( long  ipp,
long  ido 
)

This function initializes material model data with respect of consistency parameter gamma.

Parameters:
ipp - integration point number
ido - index of internal variables for given material in the ipp other array

12/06/2012 TKo

Definition at line 63 of file camclaycoup.cpp.

References mechmat::elmatstiff(), intpoints::eqother, first_invar(), mechmat::ic, mechmat::ip, kappa, lambda, Mm, mxv(), intpoints::ncompstr, intpoints::ssst, stress, and vector_tensor().

Referenced by mechmat::initvalues().

void matstiff ( matrix d,
long  ipp,
long  ido 
)

This function computes material stiffnes matrix.

Parameters:
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, 09.2012

Definition at line 534 of file camclaycoup.cpp.

References addm(), cmulm(), dderyieldfsigma(), mechmat::elmatstiff(), invm(), mechmat::ip, matrix::m, Mm, Mp, mxm(), matrix::n, intpoints::ncompstr, probdesc::nlman, intpoints::other, intpoints::ssst, nonlinman::stmat, and tensor4_matrix().

Referenced by mechmat::matstiff().

void nlstresses ( long  ipp,
long  im,
long  ido 
)

This function computes stresses at given integration point ipp, depending on the reached strains. The cutting plane algorithm is used. The stress and the other attribute of given integration point is actualized.

Parameters:
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, 09.2012

Definition at line 576 of file camclaycoup.cpp.

References cp, mechmat::cutting_plane(), deviator(), intpoints::eqother, first_invar(), strretalg::give_err(), strretalg::give_ni(), strretalg::give_tsra(), mechmat::givestress(), gsra, mechmat::ic, mechmat::ip, Mm, intpoints::ncompstr, mechmat::newton_stress_return(), intpoints::other, print_err(), second_invar(), sra, intpoints::ssst, strain, intpoints::strain, and vector_tensor().

Referenced by mechmat::computenlstresses().

double plasmodscalar ( long  ipp,
long  ido,
matrix sig,
vector qtr 
)

This function computes plastic modulus.

Parameters:
ipp - integration point number
ido - index of internal variables for given material in the ipp other array
sig - stress tensor
qtr - vector of hardening parameters
Return values:
The function returns value of the plastic modulus.

Created by Tomas Koudelka, 09.2012

Definition at line 387 of file camclaycoup.cpp.

References der_q_gamma(), deryieldfq(), and scprd().

Referenced by mechmat::plasmodscalar().

void read ( XFILE in  ) 

This function reads material parameters from the opened text file given by the parameter in.

Parameters:
in - pointer to the opned text file

Definition at line 47 of file camclaycoup.cpp.

References c1_tilde, c2, kappa, ks, lambda, m, strretalg::read(), sra, and xfscanf().

Referenced by mechmat::readmattype().

void updateq ( long  ipp,
long  ido,
vector eps,
vector epsp,
matrix sig,
vector q 
)

This function computes new value of the hardening parameter q.

Parameters:
ipp - integration point pointer
ido - index of internal variables for given material in the ipp other array
eps - vector of the attained strains
epsp - vector of the attained plastic strains
sig - attained stress tensor
ssst - stress/strain state parameter (for the used vector_tensor function)
q - vector of the hardening parameters

Created by Tomas Koudelka, 09.2012

Definition at line 415 of file camclaycoup.cpp.

References c1_tilde, c2, intpoints::eqother, first_invar(), mechmat::givenonmechq(), mechmat::ic, mechmat::ip, kappa, ks, lambda, Mm, vector::n, intpoints::ncompstr, saturation_degree, intpoints::ssst, strain, suction, and vector_tensor().

Referenced by mechmat::updateq().

void updateval ( long  ipp,
long  ido 
)

This function updates values in the other array reached in the previous equlibrium state to values reached in the new actual equilibrium state.

Parameters:
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, 09.2012

Definition at line 652 of file camclaycoup.cpp.

References intpoints::eqother, mechmat::ip, Mm, intpoints::ncompstr, and intpoints::other.

Referenced by mechmat::updateipvalmat().

double yieldfunction ( matrix sig,
vector q 
)

This function computes the value of yield functions.

Parameters:
sig - stress tensor
q - vector of hardening parameter
Return values:
The function returns value of yield function for the given stress tensor

25.3.2002

Definition at line 116 of file camclaycoup.cpp.

References deviator(), f, first_invar(), m, and second_invar().

Referenced by mechmat::yieldfunction().


Member Data Documentation

double c1_tilde

first parameter for control of the v/v_sat ratio evolution

Definition at line 96 of file camclaycoup.h.

Referenced by camclaycoup(), changeparam(), der_q_gamma(), read(), and updateq().

double c2

second parameter for control of the v/v_sat ratio evolution

Definition at line 99 of file camclaycoup.h.

Referenced by camclaycoup(), changeparam(), der_q_gamma(), read(), and updateq().

double kappa

slope of swelling line

Definition at line 93 of file camclaycoup.h.

Referenced by camclaycoup(), changeparam(), der_q_gamma(), initval(), read(), and updateq().

double ks

coefficent of apparent adhesion due to suction pressure

Definition at line 102 of file camclaycoup.h.

Referenced by camclaycoup(), changeparam(), read(), and updateq().

double lambda

slope of normal consolidation line

Definition at line 90 of file camclaycoup.h.

Referenced by camclaycoup(), changeparam(), der_q_gamma(), initval(), read(), and updateq().

double m

frictional constant

Definition at line 87 of file camclaycoup.h.

Referenced by camclaycoup(), changeparam(), dderyieldfsigma(), deryieldfsigma(), read(), and yieldfunction().

stress return algorithm

Definition at line 105 of file camclaycoup.h.

Referenced by nlstresses(), and read().


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

Generated by  doxygen 1.6.2