Changeset 1881 for issm/trunk/src/c/parallel/transient.cpp
- Timestamp:
- 08/25/09 13:04:05 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/parallel/transient.cpp
r1820 r1881 62 62 lockname=argv[4]; 63 63 64 /*Initialize model structure: */ 65 model=new Model(); 66 64 67 /*Open handle to data on disk: */ 65 68 fid=pfopen(inputfilename,"rb"); … … 70 73 _printf_("read and create finite element model:\n"); 71 74 _printf_("\n reading diagnostic horiz model data:\n"); 72 CreateFemModel(model->DiagnosticHorizontal(),fid,DiagnosticAnalysisEnum(),HorizAnalysisEnum()); 75 model->AddFormulation(fid,DiagnosticAnalysisEnum(),HorizAnalysisEnum()); 76 73 77 _printf_("\n reading diagnostic vert model data:\n"); 74 CreateFemModel(model->DiagnosticVertical(),fid,DiagnosticAnalysisEnum(),VertAnalysisEnum()); 78 model->AddFormulation(fid,DiagnosticAnalysisEnum(),VertAnalysisEnum()); 79 75 80 _printf_("\n reading diagnostic stokes model data:\n"); 76 CreateFemModel(model->DiagnosticStokes(),fid,DiagnosticAnalysisEnum(),StokesAnalysisEnum()); 81 model->AddFormulation(fid,DiagnosticAnalysisEnum(),StokesAnalysisEnum()); 82 77 83 _printf_("\n reading diagnostic hutter model data:\n"); 78 CreateFemModel(model->DiagnosticHutter(),fid,DiagnosticAnalysisEnum(),HutterAnalysisEnum()); 84 model->AddFormulation(fid,DiagnosticAnalysisEnum(),HutterAnalysisEnum()); 85 79 86 _printf_("\n reading surface and bed slope computation model data:\n"); 80 CreateFemModel(model->Slope(),fid,SlopeComputeAnalysisEnum(),NoneAnalysisEnum()); 87 model->AddFormulation(fid,SlopeComputeAnalysisEnum(),NoneAnalysisEnum()); 88 81 89 _printf_("\n reading prognositc model data:\n"); 82 CreateFemModel(model->Prognostic(),fid,PrognosticAnalysisEnum(),NoneAnalysisEnum());90 model->AddFormulation(fid,PrognosticAnalysisEnum(),NoneAnalysisEnum()); 83 91 84 92 /*Do we run in 3d?, in which case we need thermal and melting also:*/ 85 model-> DiagnosticHorizontal()->parameters->FindParam((void*)&dim,"dim");93 model->FindParam(&dim,"dim"); 86 94 if(dim==3){ 87 95 _printf_("read and create thermal finite element model:\n"); 88 CreateFemModel(model->Thermal(),fid,ThermalAnalysisEnum(),TransientAnalysisEnum());96 model->AddFormulation(fid,ThermalAnalysisEnum(),TransientAnalysisEnum()); 89 97 _printf_("read and create melting finite element model:\n"); 90 CreateFemModel(model->Melting(),fid,MeltingAnalysisEnum(),TransientAnalysisEnum());98 model->AddFormulation(fid,MeltingAnalysisEnum(),TransientAnalysisEnum()); 91 99 } 92 100 93 101 _printf_("initialize inputs:\n"); 102 103 model->FindParam(&u_g,"u_g",ThermalAnalysisEnum()); 104 model->FindParam(&m_g,"m_g",ThermalAnalysisEnum()); 105 model->FindParam(&a_g,"a_g",ThermalAnalysisEnum()); 106 model->FindParam(&numberofnodes,"numberofnodes"); 107 model->FindParam(&dt,"dt"); 108 model->FindParam(&yts,"yts"); 109 model->FindParam(&waitonlock,"waitonlock"); 110 model->FindParam(&qmu_analysis,"qmu_analysis"); 111 112 94 113 inputs=new ParameterInputs; 95 model->Thermal()->parameters->FindParam((void*)&numberofnodes,"numberofnodes");96 97 model->Thermal()->parameters->FindParam((void*)&u_g,"u_g");98 114 inputs->Add("velocity",u_g,3,numberofnodes); 99 100 model->Thermal()->parameters->FindParam((void*)&m_g,"m_g");101 115 inputs->Add("melting",m_g,1,numberofnodes); 102 103 model->Thermal()->parameters->FindParam((void*)&a_g,"a_g");104 116 inputs->Add("accumulation",a_g,1,numberofnodes); 105 106 model->Thermal()->parameters->FindParam((void*)&dt,"dt");107 model->Thermal()->parameters->FindParam((void*)&yts,"yts");108 117 inputs->Add("dt",dt*yts); 109 118 … … 112 121 113 122 /*are we running the solution sequence, or a qmu wrapper around it? : */ 114 model->Thermal()->parameters->FindParam((void*)&qmu_analysis,"qmu_analysis");115 123 if(!qmu_analysis){ 116 124 … … 141 149 142 150 _printf_("write lock file:\n"); 143 model->DiagnosticHorizontal()->parameters->FindParam((void*)&waitonlock,"waitonlock");144 151 if (waitonlock){ 145 152 WriteLockFile(lockname);
Note:
See TracChangeset
for help on using the changeset viewer.