//========================================================= // vs/fe output in FEMAP neutral file format //========================================================= void femap_material_property(ofstream& ofs1) { // neutral file header ofs1 << " -1" << endl << " 100" << endl << "vs/fe output in FEMAP neutral file format" << endl << "6.0," << endl << " -1" << endl; // layer data ofs1 << " -1" << endl << " 413" << endl << "1, 124," << endl << "Default Layer" << endl << "9999,124," << endl << "Construction Layer" << endl << " -1" << endl; // materials ofs1 << " -1" << endl << " 601" << endl << "1,-601,104,0,0,1,0," << endl << "Materials" << endl << "10," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "25," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0," << endl << "200," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "50," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "60," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << " -1" << endl; // properties ofs1 << " -1" << endl << " 402" << endl << "1,110,1,17,1,0," << endl << "Properties" << endl << "0,0,0,0," << endl << "90," << endl << "0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0," << endl << "0,0," << endl << "190," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.," << endl << "0," << endl << " -1" << endl; } void femap_node_and_element(Global_Discretization& gd0, Global_Discretization& gd1, ofstream& ofs1) { Omega_h &oh0 = gd0.omega_h(); gh_on_Gamma_h &gh0 = gd0.gh_on_gamma_h(); Omega_h &oh1 = gd1.omega_h(); gh_on_Gamma_h &gh1 = gd1.gh_on_gamma_h(); // define node ofs1 << " -1" << endl << " 403" << endl; for(int i = 0; i < oh0.total_node_no(); i++) ofs1 << oh0[i].node_no()+1 // node ID starts from 1 in FEMAP << ",0,0,1,46," << gh0[i](0) << "," // displ. constraints << gh0[i](1) << ",0,0,0,0," // rot. constraints << oh0[i][0] << "," // coordinates << oh0[i][1] << ",0.,0.," << endl; for(i = 0; i < oh1.total_node_no(); i++) ofs1 << oh1[i].node_no()+101 // node ID starts from 1 in FEMAP << ",0,0,1,46," << gh1[i](0) << "," // displ. constraints << gh1[i](1) << ",0,0,0,0," // rot. constraints << oh1[i][0] << "," // coordinates << oh1[i][1] << ",0.,0.," << endl; ofs1 << " -1" << endl; // define element ofs1 << " -1" << endl << " 404" << endl; for(i = 0; i < oh0.total_element_no(); i++) { ofs1 << oh0(i).element_no()+1 << ",124,1,17,4,1,0,0,1,0,0,0," << endl; // element-node numbers for(int j = 0; j < oh0(i).element_node_no(); j++) ofs1 << oh0(i)[j]+1 << ","; ofs1 << "0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "0.,0.,0.," << endl << "0.,0.,0.," << endl << "0.,0.,0.," << endl << "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0," << endl; } for(i = 0; i < oh1.total_element_no(); i++) { ofs1 << oh1(i).element_no()+101 << ",124,1,17,4,1,0,0,1,0,0,0," << endl; // element-node numbers for(int j = 0; j < oh1(i).element_node_no(); j++) ofs1 << oh1(i)[j]+101 << ","; ofs1 << "0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "0.,0.,0.," << endl << "0.,0.,0.," << endl << "0.,0.,0.," << endl << "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0," << endl; } ofs1 << " -1" << endl; } void femap_constraint_and_load(Global_Discretization& gd0, Global_Discretization& gd1, ofstream& ofs1) { Omega_h &oh0 = gd0.omega_h(); gh_on_Gamma_h &gh0 = gd0.gh_on_gamma_h(); Omega_h &oh1 = gd1.omega_h(); gh_on_Gamma_h &gh1 = gd1.gh_on_gamma_h(); // define constraint ofs1 << " -1" << endl << " 506" << endl << "1," << endl << "Constraints" << endl; for(int i = 0; i < gh0.gh_array().length(); i++) { ofs1 << gh0.gh_array()[i].node_no()+1 // node ID starts from 1 in FEMAP << ",120,1," << gh0.gh_array()[i](0) << "," << gh0.gh_array()[i](1) << "," << "0,0,0,0,0," << endl; } for(i = 0; i < gh1.gh_array().length(); i++) { ofs1 << gh1.gh_array()[i].node_no()+101 // node ID starts from 1 in FEMAP << ",120,1," << gh1.gh_array()[i](0) << "," << gh1.gh_array()[i](1) << "," << "0,0,0,0,0," << endl; } ofs1 << "-1,-1,-1,0,0,0,0,0,0,0," << endl << "-1,-1,-1,0,0,0,0,0,0,0," << endl << "-1,-1,-1,0,0,0,0,0,0,0," << endl << "-1,-1,-1,0,0,0,0,0,0,0," << endl << "-1,-1,-1" << endl << " -1" << endl; // define load ofs1 << " -1" << endl << " 507" << endl << "1," << endl << "Loadings" << endl << "0,0.,0,0,0," << endl << "0.,0.,0.," << endl << "0.,0.,0.," << endl << "0.,0.,0.," << endl << "0.,0.,0.," << endl << "0.,0.,0.,0," << endl << "0.,0.,0.,0.," << endl << "0.,0.,0.,0.," << endl << "0,0,0," << endl << "0,0,0," << endl << "0.,0.,0.,0.," << endl << "0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.," << endl << "0.,0.,0.,0.,0.,0.,0.,0.,0.," << endl << "0,0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0," << endl; for(i = 0; i < gh0.gh_array().length(); i++) { ofs1 << gh0.gh_array()[i].node_no()+1; // node ID starts from 1 in FEMAP if(gh0.gh_array()[i](0) || gh0.gh_array()[i](1)) ofs1 << ",3,10,1,0,0,0," << endl; else ofs1 << ",1,10,1,0,0,0," << endl; ofs1 << "1,1,1," << endl << gh0.gh_array()[i][0] << "," << gh0.gh_array()[i][1] << ",0.0,0.0,0.0," << endl << "0,0,0,0,0," << endl << "0,0,0,0,0," << endl << "0,0,0," << endl << "0.,0.,0.," << endl; } for(i = 0; i < gh1.gh_array().length(); i++) { ofs1 << gh1.gh_array()[i].node_no()+101; // node ID starts from 1 in FEMAP if(gh1.gh_array()[i](0) || gh1.gh_array()[i](1)) ofs1 << ",3,10,1,0,0,0," << endl; else ofs1 << ",1,10,1,0,0,0," << endl; ofs1 << "1,1,1," << endl << gh1.gh_array()[i][0] << "," << gh1.gh_array()[i][1] << ",0.0,0.0,0.0," << endl << "0,0,0,0,0," << endl << "0,0,0,0,0," << endl << "0,0,0," << endl << "0.,0.,0.," << endl; } ofs1 << "-1,-1,-1,-1,-1,-1,0," << endl << "-1,-1,-1,-1,-1,-1,0," << endl << "-1,-1,-1,0.,0.,-1,1," << endl << "-1,-1,-1,0.,0.,-1,1," << endl << " -1" << endl; } void femap_view(Global_Discretization& gd0, Global_Discretization& gd1, ofstream& ofs1) { Omega_h &oh0 = gd0.omega_h(), &oh1 = gd1.omega_h(); // define center for the view double min_x = 1.e20, min_y = 1.e20, max_x = -1.e20, max_y =-1.e20; for(int i = 0; i < oh0.total_node_no(); i++) { if(oh0[i][0] < min_x) min_x = oh0[i][0]; if(oh0[i][0] > max_x) max_x = oh0[i][0]; if(oh0[i][1] < min_y) min_y = oh0[i][1]; if(oh0[i][1] > max_y) max_y = oh0[i][1]; } for(i = 0; i < oh1.total_node_no(); i++) { if(oh1[i][0] < min_x) min_x = oh1[i][0]; if(oh1[i][0] > max_x) max_x = oh1[i][0]; if(oh1[i][1] < min_y) min_y = oh1[i][1]; if(oh1[i][1] > max_y) max_y = oh1[i][1]; } double center_x = (min_x+max_x)/2.0, center_y = (min_y+max_y)/2.0; ofs1 << " -1" << endl << " 409" << endl << "1," << endl << "Default XY View" << endl << "0,0,0," << endl << "0.,0.,0.," << endl << center_x << "," << center_y << ",0.," << endl << "1.,1.," << endl << center_x << "," << center_y << ",0.," << endl << "1.," << endl << "0.,0.,1.,1.," << endl << "2,0,1,1,0," << endl << "-1,-1,0,0,0,1,0,0,0,4000000," << endl << "9," << endl << "0,0,0," << endl << "0,0,0," << endl << "0,0,0," << endl << "0,0,0," << endl << "0,0,0," << endl << "0,0,0," << endl << "0,0,0," << endl << "0,0,0," << endl << "0,0,0," << endl << "100.,100.,1,7," << endl << "0,1,1.," << endl << "0.,0.,0.," << endl << "0.,0.,1.," << endl << "2.,1.,70.,0.5," << endl << "0.,25.,0.,0.,0.,0,100.,1000.,0.,0.,0.," << endl << "5.,90.,10.,10.,1.," << endl << "4,1,0,0,0,0,0,0,0,0,0.,0.,1.," << endl << "0,0,0,0,0,0,14,110," << endl << "0,1,1,1,0,1,0,1,1,0,1,1,0,1,1,1,0,0,1," << endl << "0,0,0.00000001,25.,100.,0.,0.,0.,20," << endl << "0,1,1,0,0,1,20.,0," << endl << "12," << endl << "0,0.," << endl << "0,0.," << endl << "0,0.," << endl << "0,0.," << endl << "0,0.," << endl << "0,0.," << endl << "0,0.," << endl << "0,0.," << endl << "0,0.," << endl << "0,0.," << endl << "0,0.," << endl << "0,0.," << endl << "0,5,0,5,4,0.,25.," << endl << "4,16408,20,16504,100,16488," << endl << "0.,0.," << endl << "0.,0.,0.,0.," << endl << "9," << endl << "1.," << endl << "1.," << endl << "1.," << endl << "1.," << endl << "1.," << endl << "1.," << endl << "1.," << endl << "1.," << endl << "1.," << endl << "2," << endl << "" << endl << "" << endl << "0,0,0,0," << endl << "0.,0.,0.,0.," << endl << "0.,0.,0.,0.," << endl << "90,1,124,1,0," << endl << "0,60,0,1," << endl << "0,24,0,0," << endl << "0,120,0,0," << endl << "0,60,0,0," << endl << "0,24642,0,0," << endl << "0,124,0,0," << endl << "0,46,0,1," << endl << "0,120,0,1," << endl << "0,124,0,1," << endl << "0,124,0,0," << endl << "1,14,0,1," << endl << "0,62,0,0," << endl << "0,62,0,0," << endl << "0,10,0,1," << endl << "0,52,0,1," << endl << "0,4,0,1," << endl << "0,120,0,1," << endl << "0,12,0,1," << endl << "0,2,0,1," << endl << "0,120,0,1," << endl << "0,8312,0,1," << endl << "0,24600,0,0," << endl << "0,0,0,0," << endl << "1,123,0,1," << endl << "0,0,0,0," << endl << "2,124,0,1," << endl << "0,24636,0,0," << endl << "0,124,0,0," << endl << "0,4,0,0," << endl << "0,100,0,0," << endl << "0,124,0,1," << endl << "0,60,0,1," << endl << "0,56,0,1," << endl << "0,24,0,1," << endl << "0,8216,0,1," << endl << "0,4,0,0," << endl << "0,124,2,0," << endl << "0,0,1,1," << endl << "0,0,0,1," << endl << "1,124,5,1," << endl << "0,0,0,1," << endl << "0,24,0,1," << endl << "0,124,0,0," << endl << "0,100,0,1," << endl << "1,100,0,1," << endl << "0,0,0,1," << endl << "0,16,0,0," << endl << "0,124,4,1," << endl << "0,62,0,0," << endl << "2,124,1,1," << endl << "1,8254,0,0," << endl << "0,124,1,1," << endl << "1,0,5,1," << endl << "0,124,0,1," << endl << "0,100,0,1," << endl << "0,100,0,1," << endl << "1,46,0,1," << endl << "1,120,0,1," << endl << "1,4,0,1," << endl << "1,52,0,1," << endl << "1,24,0,1," << endl << "1,93,0,1," << endl << "1,12,0,1," << endl << "1,10,0,1," << endl << "1,104,0,1," << endl << "0,100,0,1," << endl << "0,24,0,1," << endl << "0,60,0,1," << endl << "0,104,0,1," << endl << "0,0,0,0," << endl << "0,90,0,1," << endl << "0,14,0,1," << endl << "0,8261,0,1," << endl << "0,19,0,0," << endl << "1,24,1,1," << endl << "0,4,0,0," << endl << "0,0,1,0," << endl << "0,0,0,0," << endl << "0,8201,0,1," << endl << "0,0,0,0," << endl << "0,0,1,1," << endl << "0,0,1,1," << endl << "0,0,1,1," << endl << "0,0,1,1," << endl << "0,0,1,1," << endl << "0,0,1,1," << endl << "0,0,1,1," << endl << "0,0,1,1," << endl << "0,0,1,1," << endl << "-1," << endl << " -1" << endl << " -1" << endl << " 412" << endl << "1,1,0,0," << endl << " -1" << endl; } void femap_def(int time_step, Global_Discretization& gd0, Global_Discretization& gd1, ofstream& ofs1) { Omega_h &oh0 = gd0.omega_h(); U_h &uh0 = gd0.u_h(); Omega_h &oh1 = gd1.omega_h(); U_h &uh1 = gd1.u_h(); // define output set ofs1 << " -1" << endl << " 450" << endl << time_step << endl << "Step " << time_step << endl << "0,1," << endl << "0,0," << endl << "1" << endl << "" << endl << " -1" << endl; // define deformation // 1. define total displacement; Vector ID = 1 double *total_displacement_0, *total_displacement_1, min = 1.e20, max = -1.e20; int min_id, max_id; total_displacement_0 = new double[oh0.total_node_no()]; total_displacement_1 = new double[oh1.total_node_no()]; for(int i = 0; i < oh0.total_node_no(); i++) { double ux = uh0[i][0], uy = uh0[i][1]; total_displacement_0[i] = sqrt(ux*ux+uy*uy); if(total_displacement_0[i] < min) { min = total_displacement_0[i]; min_id = i; } if(total_displacement_0[i] > max) { max = total_displacement_0[i]; max_id = i; } } for(i = 0; i < oh1.total_node_no(); i++) { double ux = uh1[i][0], uy = uh1[i][1]; total_displacement_1[i] = sqrt(ux*ux+uy*uy); if(total_displacement_1[i] < min) { min = total_displacement_1[i]; min_id = i; } if(total_displacement_1[i] > max) { max = total_displacement_1[i]; max_id = i; } } ofs1 << " -1" << endl << " 451" << endl << time_step << ",1,1," << endl << "total displacement" << endl << min << "," << max << "," << fabs(max) << "," << endl << "2,3,4,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << min_id+1 << "," << max_id+1 << ",1,7," << endl << "1,1,1," << endl; for(i = 0; i < oh0.total_node_no(); i++) ofs1 << i+1 << "," << total_displacement_0[i] << "," << endl; for(i = 0; i < oh1.total_node_no(); i++) ofs1 << i+101 << "," << total_displacement_1[i] << "," << endl; ofs1 << "-1,0.," << endl << " -1" << endl; // 2. define x-displacement; Vector ID = 2 min = 1.e20; max = -1.e20; for(i = 0; i < oh0.total_node_no(); i++) { if(uh0[i][0] < min) { min = uh0[i][0]; min_id = i; } if(uh0[i][0] > max) { max = uh0[i][0]; max_id = i; } } for(i = 0; i < oh1.total_node_no(); i++) { if(uh1[i][0] < min) { min = uh1[i][0]; min_id = i; } if(uh1[i][0] > max) { max = uh1[i][0]; max_id = i; } } ofs1 << " -1" << endl << " 451" << endl << time_step << ",2,1," << endl << "x-displacement" << endl << min << "," << max << "," << fabs(max) << "," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << min_id+1 << "," << max_id+1 << ",1,7," << endl << "1,1,1," << endl; for(i = 0; i < oh0.total_node_no(); i++) ofs1 << i+1 << "," << uh0[i][0] << "," << endl; for(i = 0; i < oh1.total_node_no(); i++) ofs1 << i+101 << "," << uh1[i][0] << "," << endl; ofs1 << "-1,0.," << endl << " -1" << endl; // 3. define y-displacement; Vector ID = 3 min = 1.e20; max = -1.e20; for(i = 0; i < oh0.total_node_no(); i++) { if(uh0[i][1] < min) { min = uh0[i][1]; min_id = i; } if(uh0[i][1] > max) { max = uh0[i][1]; max_id = i; } } for(i = 0; i < oh1.total_node_no(); i++) { if(uh1[i][1] < min) { min = uh1[i][1]; min_id = i; } if(uh1[i][1] > max) { max = uh1[i][1]; max_id = i; } } ofs1 << " -1" << endl << " 451" << endl << time_step << ",3,1," << endl << "y-displacement" << endl << min << "," << max << "," << fabs(max) << "," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << min_id+1 << "," << max_id+1 << ",1,7," << endl << "1,1,1," << endl; for(i = 0; i < oh0.total_node_no(); i++) ofs1 << i+1 << "," << uh0[i][1] << "," << endl; for(i = 0; i < oh1.total_node_no(); i++) ofs1 << i+101 << "," << uh1[i][1] << "," << endl; ofs1 << "-1,0.," << endl << " -1" << endl; // 4. define z-displacement; Vector ID = 4 ofs1 << " -1" << endl << " 451" << endl << time_step << ",4,1," << endl << "z-displacement" << endl << "0.0,0.0,0.0," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "1,1,1,7," << endl << "1,1,1," << endl; for(i = 0; i < oh0.total_node_no(); i++) ofs1 << i+1 << ",0.," << endl; for(i = 0; i < oh1.total_node_no(); i++) ofs1 << i+101 << ",0.," << endl; ofs1 << "-1,0.," << endl << " -1" << endl; delete [] total_displacement_0; delete [] total_displacement_1; } void femap_J2(int time_step, Global_Discretization& gd0, Global_Discretization& gd1, ofstream& ofs1, C0& J2_0, C0& J2_1) { Omega_h &oh0 = gd0.omega_h(); Omega_h &oh1 = gd1.omega_h(); // define J2; Vector ID = 9 double min = 1.e20, max = -1.e20; int min_id, max_id; for(int i = 0; i < oh0.total_node_no(); i++) { if(((double)J2_0[i]) < min) { min = J2_0[i]; min_id = i; } if(((double)J2_0[i]) > max) { max = J2_0[i]; max_id = i; } } for(i = 0; i < oh1.total_node_no(); i++) { if(((double)J2_1[i]) < min) { min = J2_1[i]; min_id = i; } if(((double)J2_1[i]) > max) { max = J2_1[i]; max_id = i; } } ofs1 << " -1" << endl << " 451" << endl << time_step << ",9,1," << endl << "J2" << endl << min << "," << max << "," << fabs(max) << "," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << "0,0,0,0,0,0,0,0,0,0," << endl << min_id+1 << "," << max_id+1 << ",1,7," << endl << "1,1,1," << endl; for(i = 0; i < oh0.total_node_no(); i++) ofs1 << i+1 << "," << J2_0[i] << "," << endl; for(i = 0; i < oh1.total_node_no(); i++) ofs1 << i+101 << "," << J2_1[i] << "," << endl; ofs1 << "-1,0.," << endl << " -1" << endl; } void femap_output_model(Global_Discretization& gd0, Global_Discretization& gd1, ofstream& ofs1) { femap_material_property(ofs1); femap_node_and_element(gd0, gd1, ofs1); femap_constraint_and_load(gd0, gd1, ofs1); femap_view(gd0, gd1, ofs1); } void femap_output_data(int time_step, Global_Discretization& gd0, Global_Discretization& gd1, ofstream& ofs1, C0& J2_0, C0& J2_1) { // deformation plot and displacement component contours; Vector ID 1..4 femap_def(time_step+1, gd0, gd1, ofs1); // component contours for J2; Vector ID 9 femap_J2(time_step+1, gd0, gd1, ofs1, J2_0, J2_1); }