📄 solverm.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 + -