hypoplast Class Reference

#include <hypoplast.h>

List of all members.

Public Member Functions

void changeparam (atsel &atm, vector &val)
double dstep_red (long ipp, long im, long ido)
double give_iniporosity (long ipp, long ido)
void give_reqnmq (long *anmq)
double give_virgporosity (long ipp, long ido)
void givestressincr (long ipp, long im, long ido, vector &sig)
 hypoplast ()
void initval (long ipp, long ido)
void matstiff (matrix &d, long ipp, long ido)
void nlstresses (long ipp, long im, long ido)
void read (XFILE *in)
void updateval (long ipp, long im, long ido)
 ~hypoplast ()

Public Attributes

double e_0
double kap_star
double l
double lam_star
double m
double n
double n_star
int nprops
int nstatv
double p_t
double phi
answertype pr_suc_fl
double * props
double rr
double s_e0
gfunct suc_fn

Detailed Description

The class defines hypoplastic model for unsaturated soils according to D. Masin.

MASIN HYPO - Masin hypoplastic model with intergranular strains D. Masin (2005) A hypoplastic constitutive model for clays. IJNAMG, 29:311-336

Implementation based on: Fellin, W. and Ostermann, A. (2002): Consistent tangent operators for constitutive rate equations. International Journal for Numerical and Analytical Methods in Geomechanics

Ordering of eqother/other array: --------------------------------

History of qunatities handeled by MEFEL: previous strain vector /eqother[0] - eqother[ncompstr-1]/, previous stress vector /eqother[ncompstr] - eqother[2*ncompstr-1]/,

Internal variables required and handeled by hypoplasticity model: actual void ratio e /eqother[2*ncompstr]/, previous/actual suction s /eqother[2*ncompstr+1]/, degree of saturation S_r /eqother[2*ncompstr+2]/, number of function evaluation nfev /eqother[2*ncompstr+3]/, phi_mob in degrees /eqother[2*ncompstr+4]/, suggested substep size dstub /eqother[2*ncompstr+5]/,

Internal variables handeled by hypoplasticity model: required time step size coef. pnewdt /eqother[2*ncompstr+6]/,

Definition at line 43 of file hypoplast.h.


Constructor & Destructor Documentation

hypoplast (  ) 

Definition at line 42 of file hypoplast.cpp.

References e_0, kap_star, l, lam_star, m, memset(), n, n_star, no, nprops, nstatv, p_t, phi, pr_suc_fl, props, rr, and s_e0.

~hypoplast (  ) 

Definition at line 55 of file hypoplast.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, 30.1.2014

Definition at line 564 of file hypoplast.cpp.

References atsel::atrib, e_0, kap_star, l, lam_star, m, n, n_star, atsel::num, p_t, phi, rr, and s_e0.

double dstep_red ( long  ipp,
long  im,
long  ido 
)

The function returns time step size required by the hypoplsaticity model. It is represented by ratio of required time step size to the actual one or 1.0 for no change in time step size.

Parameters:
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
Returns:
The function returns required time step size provided by the hypoplasticity model

Created by Tomas Koudelka, 10.3.2014

Definition at line 467 of file hypoplast.cpp.

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

Referenced by mechmat::dstep_red_ip().

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, 13.2.2014

Definition at line 547 of file hypoplast.cpp.

References mechmat::ic, and Mm.

Referenced by mechmat::give_iniporosity().

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. Created by Tomas Koudelka, 12.2.2014

Definition at line 509 of file hypoplast.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, 13.2.2014

Definition at line 528 of file hypoplast.cpp.

References n_star.

Referenced by mechmat::give_virgporosity().

void givestressincr ( long  ipp,
long  im,
long  ido,
vector sig 
)

The function computes stress increment due to pore pressure change 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
sig - vector of stress increment due to suction change (output)
Returns:
The function does not return anything.

Created by Tomas Koudelka, 11.2.2014

Definition at line 283 of file hypoplast.cpp.

References intpoints::eqother, gfunct::getval(), mechmat::ip, Mm, Mp, intpoints::ncompstr, pr_suc_fl, intpoints::ssst, stress, suc_fn, tensor_vector(), probdesc::time, and yes.

Referenced by mechmat::givestressincr().

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

The function computes material stiffnes matrix.

Parameters:
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
Returns:
The function returns stiffness matrix in the parameter d.

Created by Tomas Koudelka, 11.2.2014

Definition at line 140 of file hypoplast.cpp.

References matrix::a, vector::a, cmname, ddum, ddum3, ddum6, dfgrd, probdesc::dlambda, probdesc::dtime, dtime, mechmat::elip, intpoints::eqother, gfunct::getval(), give_full_vector(), idum, if(), mechmat::ip, probdesc::istep, probdesc::jstep, probdesc::lambda, Mm, Mp, intpoints::ncompstr, ndi, noel, notct, nprops, nstatv, ntens, intpoints::other, pr_suc_fl, props, intpoints::ssst, statev, intpoints::strain, intpoints::stress, suc_fn, timecontr::tct, tensor4_matrix(), probdesc::time, time, probdesc::timecon, umatunsat_(), unsatvar, and yes.

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
Returns:
The function does not return anything.

Created by Tomas Koudelka, 11.2.2014

Definition at line 319 of file hypoplast.cpp.

References vector::a, cmname, ddum, ddum3, ddum36, ddum6, dfgrd, probdesc::dlambda, probdesc::dtime, dtime, mechmat::elip, intpoints::eqother, for(), gfunct::getval(), give_full_vector(), give_red_vector(), idum, if(), mechmat::ip, probdesc::istep, probdesc::jstep, probdesc::lambda, memset(), Mm, Mp, intpoints::ncompstr, ndi, noel, notct, nprops, nstatv, ntens, intpoints::other, pr_suc_fl, props, intpoints::ssst, statev, mechmat::storeother(), intpoints::strain, intpoints::stress, suc_fn, timecontr::tct, probdesc::time, time, probdesc::timecon, umatunsat_(), unsatvar, and yes.

Referenced by mechmat::computenlstresses().

void read ( XFILE in  ) 

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

Parameters:
in - pointer to the opened input text file
Returns:
The function does not return anything.

Created by Tomas Koudelka, 30.1.2014

Definition at line 71 of file hypoplast.cpp.

References answertype_kwdset(), e_0, kap_star, l, lam_star, m, n, n_star, p_t, phi, pr_suc_fl, props, gfunct::read(), rr, s_e0, suc_fn, xfscanf(), and yes.

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.

Parameters:
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
Returns:
The function does not return anything.

Created by Tomas Koudelka, 11.2.2014

Definition at line 488 of file hypoplast.cpp.

References intpoints::eqother, mechmat::givencompeqother(), mechmat::ip, Mm, n, and intpoints::other.

Referenced by mechmat::updateipvalmat().


Member Data Documentation

double e_0

Definition at line 70 of file hypoplast.h.

Referenced by changeparam(), hypoplast(), and read().

double kap_star

Definition at line 63 of file hypoplast.h.

Referenced by changeparam(), hypoplast(), and read().

double l

Definition at line 67 of file hypoplast.h.

Referenced by changeparam(), hypoplast(), and read().

double lam_star

Definition at line 62 of file hypoplast.h.

Referenced by changeparam(), hypoplast(), and read().

double m

Definition at line 68 of file hypoplast.h.

Referenced by changeparam(), hypoplast(), and read().

double n

Definition at line 66 of file hypoplast.h.

Referenced by changeparam(), hypoplast(), read(), and updateval().

double n_star

Definition at line 64 of file hypoplast.h.

Referenced by changeparam(), give_virgporosity(), hypoplast(), and read().

int nprops

Definition at line 71 of file hypoplast.h.

Referenced by hypoplast(), matstiff(), and nlstresses().

int nstatv

Definition at line 73 of file hypoplast.h.

Referenced by dstep_red(), mechmat::givencompeqother(), hypoplast(), matstiff(), and nlstresses().

double p_t

Definition at line 61 of file hypoplast.h.

Referenced by changeparam(), hypoplast(), and read().

double phi

Definition at line 60 of file hypoplast.h.

Referenced by changeparam(), hypoplast(), and read().

Definition at line 74 of file hypoplast.h.

Referenced by givestressincr(), hypoplast(), initval(), matstiff(), nlstresses(), and read().

double* props

Definition at line 72 of file hypoplast.h.

Referenced by hypoplast(), matstiff(), nlstresses(), and read().

double rr

Definition at line 65 of file hypoplast.h.

Referenced by changeparam(), hypoplast(), and read().

double s_e0

Definition at line 69 of file hypoplast.h.

Referenced by changeparam(), hypoplast(), and read().

Definition at line 75 of file hypoplast.h.

Referenced by givestressincr(), initval(), matstiff(), nlstresses(), and read().


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

Generated by  doxygen 1.6.2