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

📄 solverm.cpp

📁 Finite element program for mechanical problem. It can solve various problem in solid problem
💻 CPP
字号:
#include "solverm.h"#include "lssolver.h"#include "edsolver.h"#include "fdsolver.h"#include "nssolver.h"#include "mtsolver.h"#include "llssolver.h"#include "epsolver.h"#include "slsolver.h"#include "lfssolver.h"#include "nfssolver.h"#include "cpsolver.h"#include "vsmsolver.h"#include "homog.h"#include "global.h"void solve_mefel_problem (stochdriver *stochd){  if (Mp->stochasticcalc==0){    solve_mefel_deterministic_problem ();  }  if (Mp->stochasticcalc==1 || Mp->stochasticcalc==2 || Mp->stochasticcalc==3){    solve_mefel_stochastic_problem (stochd);  }}void solve_mefel_deterministic_problem (){  switch (Mp->tprob){  case linear_statics:{    solve_linear_statics ();    break;  }  case eigen_dynamics:{    solve_eigen_dynamics (Lsrs->lhs,Lsrs->w);    break;  }  case forced_dynamics:{    solve_forced_dynamics ();    break;  }  case linear_stability:{    solve_linear_stability ();    break;  }  case mat_nonlinear_statics:{    solve_nonlinear_statics ();    break;  }  case mech_timedependent_prob:{    solve_time_dep_prob ();    break;  }  case growing_mech_structure:{    solve_prob_constr_phases ();    break;  }  case earth_pressure:{    solve_epressure ();    break;  }  case layered_linear_statics:{    solve_layered_linear_statics ();    break;  }  case lin_floating_subdomain:{    solve_linear_floating_subdomains ();    //solve_nonlinear_floating_subdomains ();    break;  }  case nonlin_floating_subdomain:{    solve_incremental_floating_subdomains ();    break;  }  case var_stiff_method:{    solve_var_stiff_method ();    break;  }  default:{    fprintf (stderr,"\n\n unknown problem type is required in main function (file %s, line %d).\n",__FILE__,__LINE__);  }  }    //  homogenization  if (Mp->homog!=0){    homogenization (Out,0);  }  }void solve_mefel_stochastic_problem (stochdriver *stochd){  long i,j;    for (i=0;i<stochd->nsampl;i++){    //fprintf (Out,"\n\n %ld\n",i);    fprintf (stdout,"\n sample %ld",i);    //Mp->ns=i;    stochd->changevalues (i);    Lsrs->clean_lhs ();    Mm->clean_ip ();    Mt->clean_nodes ();    solve_mefel_deterministic_problem ();    stochd->extractor ();    stochd->save_results (i);    //  presunuto do extractoru    //stochd->update_auxparam ();  }    if (Mp->stochasticcalc==1){    stochd->writetable ();  }  if (Mp->stochasticcalc==3){    //for (i=0;i<stochd->nprunknowns;i++){    //fprintf (Out,"\n\n fuzzy number %ld",i);    //stochd->fn[i].print (Out);    //}        long k=0;    for (i=0;i<stochd->npnd;i++){      for (j=0;j<stochd->pnd[i].num;j++){	//fprintf (Out,"\n\n fuzzy posun %ld",i);	stochd->fn[k].print (stochd->datout);	k++;      }    }        /*    long k;    for (i=0;i<stochd->npev;i++){      fprintf (Out,"\n\n");            for (k=0;k<6;k++){	fprintf (Out,"\n");	stochd->fn[j].print (Out);	j++;      }    }    */            /*    fprintf (Out,"\n\n\n\n");    for (i=0;i<stochd->npev*6;i+=3){      fprintf (Out,"\n");      stochd->fn[j+i].print (Out);    }    fprintf (Out,"\n\n\n\n");    for (i=1;i<stochd->npev*6;i+=3){      fprintf (Out,"\n");      stochd->fn[j+i].print (Out);    }    fprintf (Out,"\n\n\n\n");    for (i=2;i<stochd->npev*6;i+=3){      fprintf (Out,"\n");      stochd->fn[j+i].print (Out);    }    */          }  //stochd->diagpostproc ();}

⌨️ 快捷键说明

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