crsec3dbeam.cpp

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

CPP
120
字号
#include "crsec3dbeam.h"#include "global.h"#include "stochdriver.h"crsec3dbeam::crsec3dbeam (void){  a=0.0;  ix=0.0;  iy=0.0;  iz=0.0;  shearcoeffy=0.0;  shearcoeffz=0.0;  rho=0.0;  allocv(3, lcs);  fillv(0.0, lcs);}crsec3dbeam::~crsec3dbeam (void){  }/**   function read parameters of cross-section of 3D beams      @param in - input stream*/void crsec3dbeam::read (XFILE *in){  switch (Mp->tprob){  case linear_statics:{    xfscanf (in,"%lf  %lf %lf %lf  %lf %lf",&a,&ix,&iy,&iz,&shearcoeffy,&shearcoeffz);    readv(in, lcs);//  function from the file vector.cpp    break;  }  case eigen_dynamics:{    xfscanf (in,"%lf  %lf %lf %lf  %lf %lf  %lf",&a,&ix,&iy,&iz,&shearcoeffy,&shearcoeffz,&rho);    readv(in, lcs);//  function from the file vector.cpp    break;  }  case forced_dynamics:{    xfscanf (in,"%lf  %lf %lf %lf  %lf %lf  %lf",&a,&ix,&iy,&iz,&shearcoeffy,&shearcoeffz,&rho);    readv(in, lcs);//  function from the file vector.cpp    break;  }  case growing_mech_structure:  case mech_timedependent_prob:{    xfscanf (in,"%lf  %lf %lf %lf  %lf %lf",&a,&ix,&iy,&iz,&shearcoeffy,&shearcoeffz);    readv(in, lcs);//  function from the file vector.cpp    break;  }  case earth_pressure:{    xfscanf (in,"%lf  %lf %lf %lf  %lf %lf",&a,&ix,&iy,&iz,&shearcoeffy,&shearcoeffz);    readv(in, lcs);//  function from the file vector.cpp    break;  }  default:{    fprintf (stderr,"\n\n unknown problem type is required in function");    fprintf (stderr,"\n crsec3dbeam::read (%s, line %d).\n",__FILE__,__LINE__);  }  }}double crsec3dbeam::give_area (){  return a;}void crsec3dbeam::give_moments (double *i){  i[0]=ix;  i[1]=iy;  i[2]=iz;}void crsec3dbeam::give_shearcoeff (double *sc){  sc[0]=shearcoeffy;  sc[1]=shearcoeffz;}double crsec3dbeam::give_density (){  return rho;}void crsec3dbeam::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:{      ix=val[i];      break;    }    case 2:{      iy=val[i];      break;    }    case 3:{      iz=val[i];      break;    }    case 4:{      shearcoeffy=val[i];      break;    }    case 5:{      shearcoeffz=val[i];      break;    }    case 6:{      rho=val[i];      break;    }    default:{      fprintf (stderr,"\n\n wrong number of atribute in function changeparam (%s, line %d).\n",__FILE__,__LINE__);    }    }  }}

⌨️ 快捷键说明

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