00001 #include "llssolver.h"
00002 #include "global.h"
00003 #include "globmat.h"
00004 #include "loadcase.h"
00005 #include "gmatrix.h"
00006 #include "mechprint.h"
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 void solve_layered_linear_statics ()
00023 {
00024 long i;
00025 double *rhs;
00026
00027
00028 stiffness_matrix (0);
00029
00030
00031
00032 rhs = Lsrs->give_rhs (0);
00033
00034
00035 for (i=0;i<Lsrs->nlc;i++){
00036
00037 Mb->lc[i].assemble (i,rhs+i*Ndofm,NULL,1.0);
00038 }
00039
00040
00041 fprintf (Out,"\n\n right hand side before solution");
00042 for (i=0;i<Ndofm;i++){
00043 fprintf (Out,"\n %4ld %20.10f",i,Lsrs->rhs[i]);
00044 }
00045
00046
00047
00048 for (i=0;i<Lsrs->nlc;i++){
00049
00050 Mp->ssle->solve_system (Gtm,Smat,Lsrs->give_lhs(i),Lsrs->give_rhs(i),Out);
00051 }
00052
00053 Smat->printmat(Out);
00054
00055 fprintf (Out,"\n\n right hand side after solution");
00056 for (i=0;i<Ndofm;i++){
00057 fprintf (Out,"\n %4ld %20.10f",i,Lsrs->rhs[i]);
00058 }
00059
00060
00061
00062 fprintf (Out,"\n\n solution of the system");
00063 for (i=0;i<Ndofm;i++){
00064 fprintf (Out,"\n %4ld %20.10f",i,Lsrs->lhs[i]);
00065 }
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095 print_init(-1, "wt");
00096 for (i=0;i<Lsrs->nlc;i++){
00097 print_step(i, 0, 0.0, NULL);
00098 }
00099 print_close();
00100
00101 }
00102