vsmsolver.cpp

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

CPP
78
字号
#include "vsmsolver.h"#include "global.h"#include "globmat.h"#include "loadcase.h"#include "gmatrix.h"#include "mechprint.h"#include "node.h"#include "elemswitch.h"#include <string.h>/**   function solves problems with variable stiffness      JK, KP, 24.5.2006*/void solve_var_stiff_method (){  long i,j,lcid;  double *lhs,*rhs;    //  this type of analysis enables only one load case  //  therefore, lcid must be equal to 0  lcid=0;    //  array is allocated in Lsrs  lhs = Lsrs->give_lhs (0);  rhs = Lsrs->give_rhs (0);  for (i=0;i<Mp->nivsm;i++){    fprintf (stdout,"\n iteration number   %ld",i);    //  stiffness matrix assembling    stiffness_matrix (0);    //  load vector assembling    mefel_right_hand_side (lcid,rhs);        //  rozmyslet 24.5.2006    //Mm->tempstr_eigstr();        //  solution of equation system    //Smat->solve_system (Gtm,lhs,rhs);    Mp->ssle.solve_system (Gtm,Smat,lhs,rhs,Out);    fprintf (Out,"\n\n iterace %ld",i);    for (j=0;j<Ndofm;j++){      fprintf (Out,"\n %le",lhs[j]);    }    //  reactions    if (Mp->reactcomp==1){      Mb->lc[0].compute_reactions (0);    }            //  pondeli 30.1.2006    //local_global_displ_transf (0);        //for (i=0;i<Mt->nn;i++){    //fprintf (Out,"\n uzel %ld   %ld",i,Mt->nodes[i].transf);    //}        print_init(-1, "wt");            //  computes and prints required quantities    compute_ipstrains (lcid);    compute_ipstresses (lcid);    compute_req_val (lcid);    print_step(lcid, i, 0.0, NULL);            print_close();      }   }

⌨️ 快捷键说明

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