⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mechmat.cpp

📁 Finite element program for mechanical problem. It can solve various problem in solid problem
💻 CPP
📖 第 1 页 / 共 5 页
字号:
      mpfib = new microfiber [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of microplane material in function mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        mpfib[k-1].read (in);      }      break;    }    case mohrcoul:{      if (Mespr==1)  fprintf (stdout,"\n number of Mohr-Coulomb materials   %ld",numtype);      mcoul = new mohrcoulomb [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of Mohr-Coulomb material in function mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        mcoul[k-1].read (in);      }      break;    }    case mohrcoulparab:{      if (Mespr==1)  fprintf (stdout,"\n number of parabolic Mohr-Coulomb materials   %ld",numtype);      mcpar = new mohrcoulombpar [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of parabolic Mohr-Coulomb material in function mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        mcpar[k-1].read (in);      }      break;    }    case boermaterial:{      if (Mespr==1)  fprintf (stdout,"\n number of Boer materials   %ld",numtype);      boerm = new boermat [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of Boer material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        boerm[k-1].read (in);      }      break;    }    case druckerprager:{      if (Mespr==1)  fprintf (stdout,"\n number of Drucker-Prager materials   %ld",numtype);      drprm = new drprag [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of Drucker-Prager material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        drprm[k-1].read (in);      }      break;    }    case modcamclaymat:{      if (Mespr==1)  fprintf (stdout,"\n number of modified cam-clay materials   %ld",numtype);      cclay = new camclay [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of modified cam-clay material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        cclay[k-1].read (in);      }      break;    }    case shefpl:{      if (Mespr==1)  fprintf (stdout,"\n number of Sheffield plasticity materials   %ld",numtype);      shpl = new shefplast [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of Sheffiled material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        shpl[k-1].read (in);      }      break;    }    case chenplast:{      if (Mespr==1)  fprintf (stdout,"\n number of Chen plasticity materials   %ld",numtype);      chplast = new chen [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of Chen material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        chplast[k-1].read (in);      }      break;    }    case glasgowmechmat:{      if (Mespr==1)  fprintf (stdout,"\n number of Glasgow plasticity materials   %ld",numtype);      glasgmat = new glasgmech [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of Glasgow material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        glasgmat[k-1].read (in);      }      break;    }    case glasgowdamage:{      if (Mespr==1)  fprintf (stdout,"\n number of Glasgow damage materials   %ld",numtype);      glasgdam = new glasgowdam [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of Glasgow damage material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        glasgdam[k-1].read (in);      }      break;    }    case creep_damage:{      if (Mespr==1)  fprintf (stdout,"\n number of artificial material creep-damage %ld",numtype);      crdam = new creepdam [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of artificial material creep-damge");          fprintf (stderr,"\n in function mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }      }      break;    }    case time_switchmat:{      if (Mespr==1)  fprintf (stdout,"\n number of artificial time-switched material %ld",numtype);      tswmat = new timeswmat [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of artificial time-switched material");          fprintf (stderr,"\n in function mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }      }      break;    }    case simvisc:{      if (Mespr==1)  fprintf (stdout,"\n number of simple viscous materials   %ld",numtype);      svis = new simviscous [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of simple viscous material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        svis[k-1].read (in);      }      break;    }    case simvisplas:{      if (Mespr==1)  fprintf (stdout,"\n number of simple visco-plastic materials   %ld",numtype);      svipl = new svisplas [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of simple visco-plastic material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        svipl[k-1].read (in);      }      break;    }    case lemaitr:{      if (Mespr==1)  fprintf (stdout,"\n number of Lemaitre visco materials   %ld",numtype);      lmtr = new lemaitre [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of Lemaitre visco material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        lmtr[k-1].read (in);      }      break;    }    case scaldamage:{      if (Mespr==1)  fprintf (stdout,"\n number of simple damage materials   %ld",numtype);      scdam = new scaldam [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of simple damage material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        scdam[k-1].read (in);      }      break;    }    case scaldamagecc:{      if (Mespr==1)  fprintf (stdout,"\n number of simple damage materials with crack closure  %ld",numtype);      scdamcc = new scaldamcc [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of simple damage material with crack closure in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        scdamcc[k-1].read (in);      }      break;    }    case scaldamage_time:{      if (Mespr==1)  fprintf (stdout,"\n number of simple damage time dependent materials   %ld",numtype);      scdamtime = new scaldamtime [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of simple damage time dependent material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        scdamtime[k-1].read (in);      }      break;    }    case anisodamage:{      if (Mespr==1)  fprintf (stdout,"\n number of anisotropic damage materials   %ld",numtype);      anidam = new anisodam [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of anisotropic damage material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        anidam[k-1].read (in);      }      break;    }    case aci:{      if (Mespr==1)  fprintf (stdout,"\n number of aci78 materials   %ld",numtype);      aci78mod = new aci78 [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of aci78 material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        aci78mod[k-1].read (in);      }      break;    }    case cebfip:{      if (Mespr==1)  fprintf (stdout,"\n number of cebfip78 materials   %ld",numtype);      cebfip78mod = new cebfip78 [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of cebfip78 material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        cebfip78mod[k-1].read (in);      }      break;    }    case graphm:{      if (Mespr==1)  fprintf (stdout,"\n number of graphic material materials   %ld",numtype);      grmat = new graphmat [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of graphic material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        grmat[k-1].read (in);      }      break;    }    case graphmtime:{      if (Mespr==1)  fprintf (stdout,"\n number of graphic material time dependent materials   %ld",numtype);      grmattime = new graphmattime [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of graphic time dependent material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        grmattime[k-1].read (in);      }      break;    }    case geoelast:{      if (Mespr==1)  fprintf (stdout,"\n number of geoelast material materials   %ld",numtype);      geoel = new geoelastmat [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;	xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of graphic material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        geoel[k-1].read (in);      }      break;    }    case creepb3:{      if (Mespr==1)  fprintf (stdout,"\n number of b3 creep material materials   %ld",numtype);      crb3 = new b3mat [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of b3 creep material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        crb3[k-1].read (in);      }      break;    }    case creeprs:{      if (Mespr==1)  fprintf (stdout,"\n number of b3 creep material materials   %ld",numtype);      crrs = new rspecmat [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of b3 creep material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        crrs[k-1].read (in);      }      break;    }    case creepdpl:{      if (Mespr==1)  fprintf (stdout,"\n number of double-power law creep material materials   %ld",numtype);      crdpl = new dplmat [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of double-power law creep material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        crdpl[k-1].read (in);      }      break;    }    case creepbaz:{      if (Mespr==1)  fprintf (stdout,"\n number of creep material materials   %ld",numtype);      crbaz = new creepb [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of creep material in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        crbaz[k-1].read (in);      }      break;    }    case consolidation:{      if (Mespr==1)  fprintf (stdout,"\n number of consolidation material materials   %ld",numtype);      csol = new consol [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of consolidation material model in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        csol[k-1].read (in);      }      break;    }    case winklerpasternak:{      if (Mespr==1)  fprintf (stdout,"\n number of Winkler-Pasternak material materials   %ld",numtype);      wpast = new winpast [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of Winkler-Pasternak material model in function");          fprintf (stderr,"\n mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        wpast[k-1].read (in);      }      break;    }    case therisodilat:{      if (Mespr==1)  fprintf (stdout,"\n number of isotropic thermal dilatancy materials  %ld",numtype);      tidilat = new therisomat [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of isotropic thermal dilatancy material");          fprintf (stderr,"\n in function mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        tidilat[k-1].read (in);      }      break;    }    case therisodilattime:{      if (Mespr==1)  fprintf (stdout,"\n number of isotropic thermal dilatancy materials with time dependent temperature  %ld",numtype);      tidilattime = new therisomattime [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of isotropic thermal dilatancy material with time dependent temperature");          fprintf (stderr,"\n in function mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        tidilattime[k-1].read (in);      }      break;    }    case nonlocplastmat:{      if (Mespr==1)  fprintf (stdout,"\n number of nonlocal plasticity materials   %ld",numtype);      nlplast = new nonlocplast [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of nonlocal plasticity material in function mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        nlplast[k-1].read (in);      }      // nonlocal material model flag is set      Mp->matmodel = nonlocal;      break;    }    case nonlocdamgmat:{      if (Mespr==1)  fprintf (stdout,"\n number of nonlocal damage materials   %ld",numtype);      nldamg = new nonlocdamg [numtype];      for (j=0;j<numtype;j++){        k=numtype+1;        xfscanf (in,"%ld",&k);        if (k>numtype || k<1){          fprintf (stderr,"\n\n wrong number of nonlocal damage material in function mechmat::readmatchar (file %s, line %d).\n",__FILE__,__LINE__);        }        nldamg[k-1].read (in);      }      // nonlocal material model flag is set      Mp->matmodel = nonlocal;      break;    }    case damage_plasticity:{

⌨️ 快捷键说明

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