📄 lemaitre.cpp
字号:
#include <math.h>#include "lemaitre.h"#include "global.h"#include "matrix.h"#include "vector.h"#include "intpoints.h"lemaitre::lemaitre (void){ eta=0.0; m = 0.0; n = 0.0;}lemaitre::~lemaitre (void){}void lemaitre::read (XFILE *in){ xfscanf (in,"%lf %lf %lf",&eta,&m,&n);}double lemaitre::gfun (double f,double cs) // ramp function // f - yield function // cs - cumulative irreversible strain // 28.10.2001{ double g; if (f>0.0){ if (cs<Mp->zero) g=eta*pow(f,n); else g=eta*pow(cs,m)*pow(f,n); } else{ g=0.0; } return g;}void lemaitre::nlstresses (long ipp,long ido) // 29.10.2001{ long i,ncomp=Mm->ip[ipp].ncompstr,ncomph=1; double dt; vector sig(ncomp),q(ncomph),epsn(ncomp),epso(ncomp),epsp(ncomp); matrix d(ncomp,ncomp); if (Mp->phase==1){ /*********************************/ // right hand side computation // /*********************************/ // stress component for (i=0;i<ncomp;i++){ sig[i]=Mm->ip[ipp].other[ido+i]; } // internal variable q[0]=Mm->ip[ipp].other[ido+3*ncomp+1]; //dt=Mp->incrvs; //dt=Mp->timefun.getval(Mp->time); dt=Mp->timecon.actualforwtimeincr (); Mm->stiff_deps_vispl (ipp,0,0,sig,q,dt); } if (Mp->phase==2){ for (i=0;i<ncomp;i++){ // new total strain epsn[i] = Mm->ip[ipp].strain[i]; // previous total strain epso[i] = Mm->ip[ipp].other[ido+i+ncomp*2]; // irreversible increment of strain epsp[i] = Mm->ip[ipp].other[ido+i+ncomp]; } // internal variable //q[0] = Mm->ip[ipp].other[ido+3]; // elastic strain subv (epsn,epso,epso); subv (epso,epsp,epsp); // stiffness matrix of material Mm->matstiff(d,ipp); // stress components mxv (d,epsp,sig); // new data storage for (i=0;i<ncomp;i++){ Mm->ip[ipp].other[ido+i] += sig[i]; Mm->ip[ipp].other[ido+i+ncomp*2] = epsn[i]; } }}/** function returns tangent stiffness matrix of material @param ipp - integration point pointer @param d - elastic stiffness matrix 12.8.2001*/void lemaitre::matstiff (matrix &d,long ipp,long ido){ Mm->elmatstiff (d,ipp);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -