00001 #include "vsmsolver.h"
00002
00003 #include "global.h"
00004 #include "globmat.h"
00005 #include "loadcase.h"
00006 #include "gmatrix.h"
00007 #include "mechprint.h"
00008 #include "node.h"
00009 #include "elemswitch.h"
00010 #include <string.h>
00011
00012
00013
00014
00015
00016
00017 void solve_var_stiff_method ()
00018 {
00019 long i,j,lcid;
00020 double *lhs,*rhs;
00021
00022
00023
00024 lcid=0;
00025
00026
00027 lhs = Lsrs->give_lhs (0);
00028 rhs = Lsrs->give_rhs (0);
00029
00030 for (i=0;i<Mp->nivsm;i++){
00031 fprintf (stdout,"\n iteration number %ld",i);
00032
00033
00034 stiffness_matrix (0);
00035
00036 mefel_right_hand_side (lcid,rhs);
00037
00038
00039
00040
00041
00042
00043 Mp->ssle->solve_system (Gtm,Smat,lhs,rhs,Out);
00044
00045 fprintf (Out,"\n\n iterace %ld",i);
00046 for (j=0;j<Ndofm;j++){
00047 fprintf (Out,"\n %le",lhs[j]);
00048 }
00049
00050
00051 if (Mp->reactcomp==1){
00052 Mb->lc[0].compute_reactions (0);
00053 }
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063 print_init(-1, "wt");
00064
00065
00066 compute_ipstrains (lcid);
00067 compute_ipstresses (lcid);
00068 compute_req_val (lcid);
00069 print_step(lcid, i, 0.0, NULL);
00070
00071 print_close();
00072
00073 }
00074
00075
00076 }
00077