crsec2dbeam.cpp

来自「Finite element program for mechanical pr」· C++ 代码 · 共 119 行

CPP
119
字号
#include "crsec2dbeam.h"#include "global.h"#include "stochdriver.h"crsec2dbeam::crsec2dbeam (void){  a=0.0;  iy=0.0;  shearcoeff=0.0;  rho=0.0;  t=0.0;}crsec2dbeam::~crsec2dbeam (void){  }/**   function reads parameters of cross-section of twodimensional beams      @param in - input stream*/void crsec2dbeam::read (XFILE *in){  switch (Mp->tprob){  case linear_statics:{    xfscanf (in,"%lf %lf %lf",&a,&iy,&shearcoeff);    break;  }  case mech_timedependent_prob:{    xfscanf (in,"%lf %lf %lf",&a,&iy,&shearcoeff);    break;  }  case mat_nonlinear_statics:{    xfscanf (in,"%lf %lf %lf",&a,&iy,&shearcoeff);    break;  }  case eigen_dynamics:{    xfscanf (in,"%lf %lf %lf %lf",&a,&iy,&shearcoeff,&rho);    break;  }  case forced_dynamics:{    xfscanf (in,"%lf %lf %lf %lf",&a,&iy,&shearcoeff,&rho);    break;  }  case earth_pressure:{    xfscanf (in,"%lf %lf %lf",&a,&iy,&shearcoeff);    break;  }  case layered_linear_statics:{    xfscanf (in,"%lf %lf %lf %lf",&a,&iy,&shearcoeff,&t);    break;  }  case var_stiff_method:{    xfscanf (in,"%lf %lf %lf",&a,&iy,&shearcoeff);    break;  }  case growing_mech_structure:{    xfscanf (in,"%lf %lf %lf",&a,&iy,&shearcoeff);    break;  }  default:{    fprintf (stderr,"\n\n unknown problem type is required in function");    fprintf (stderr,"\n crsec2dbeam::read (file %s, line %d).\n",__FILE__,__LINE__);  }  }}double crsec2dbeam::give_area (){  return a;}void crsec2dbeam::give_moments (double *i){  i[0]=iy;}void crsec2dbeam::give_shearcoeff (double *sc){  sc[0]=shearcoeff;}double crsec2dbeam::give_density (){  return rho;}/**   function changes class parameters   function is used in stochastic or fuzzy computations      JK*/void crsec2dbeam::changeparam (atsel &atcs,vector &val){  long i;    for (i=0;i<atcs.num;i++){    switch (atcs.atrib[i]){    case 0:{      a=val[i];      break;    }    case 1:{      iy=val[i];      break;    }    case 2:{      shearcoeff=val[i];      break;    }    case 3:{      rho=val[i];      break;    }    default:{      fprintf (stderr,"\n\n wrong number of atribute in function changeparam (file %s, line %d).\n",__FILE__,__LINE__);    }    }  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?