00001 #include "lbsolver.h"
00002 #include "global.h"
00003 #include "globmat.h"
00004 #include "loadcase.h"
00005 #include "gmatrix.h"
00006 #include "mechprint.h"
00007 #include "node.h"
00008 #include "elemswitch.h"
00009 #include <string.h>
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 void solve_load_balancing ()
00026 {
00027 long i,nrdof;
00028 double *lhs,*rhs,*condmat,*condvect;
00029
00030 double no;
00031
00032
00033 stiffness_matrix (0);
00034
00035
00036
00037
00038
00039
00040
00041
00042 lhs = Lsrs->give_lhs (0);
00043 rhs = Lsrs->give_rhs (0);
00044
00045
00046 for (i=0;i<Lsrs->nlc;i++){
00047
00048 mefel_right_hand_side (i,rhs);
00049 }
00050
00051 nrdof=Gtm->nbdof;
00052 condmat = new double [nrdof*nrdof];
00053 condvect = new double [nrdof];
00054 if (Mespr==1)
00055 fprintf (stdout,"\n number of interface unknowns %ld",nrdof);
00056
00057
00058 for (i=0;i<Lsrs->nlc;i++){
00059 Smat->condense (Gtm,condmat,condvect,lhs,rhs,nrdof,1,Out);
00060
00061 }
00062
00063 Smat->printmat (Out);
00064 abort ();
00065
00066 fprintf (stdout,"\n");
00067 fprintf (stdout,"\n number of operations %le",no);
00068 fprintf (stdout,"\n");
00069
00070 print_init(-1, "wt");
00071 for (i=0;i<Lsrs->nlc;i++){
00072
00073
00074
00075 compute_req_val (i);
00076 print_step(i, 0, 0.0, NULL);
00077 }
00078 print_close();
00079
00080 }
00081