Changeset 3709
- Timestamp:
- 05/11/10 09:35:04 (15 years ago)
- Location:
- issm/trunk/src/c/parallel
- Files:
-
- 28 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/parallel/ControlInitialization.cpp
r3567 r3709 51 51 52 52 /*first recover parameters common to all solutions:*/ 53 model->FindParam(&verbose, "verbose");54 model->FindParam(&dim, "dim");55 model->FindParam(&ishutter, "ishutter");56 model->FindParam(&ismacayealpattyn, "ismacayealpattyn");57 model->FindParam(& numberofnodes,"numberofnodes");58 model->FindParam(& isstokes,"isstokes");59 model->FindParam(&stokesreconditioning, "stokesreconditioning");53 model->FindParam(&verbose,VerboseEnum); 54 model->FindParam(&dim,DimEnum); 55 model->FindParam(&ishutter,IsHutterEnum); 56 model->FindParam(&ismacayealpattyn,IsMacayealPattynEnum); 57 model->FindParam(&isstokes,IsStokesEnum); 58 model->FindParam(&numberofnodes,NumberOfNodesEnum); 59 model->FindParam(&stokesreconditioning,StokesReconditioningEnum); 60 60 61 61 /*recover fem models: */ … … 67 67 68 68 //specific parameters for specific models 69 fem_dh->FindParam(&numberofdofspernode_dh, "numberofdofspernode");70 fem_sl->FindParam(&numberofdofspernode_sl, "numberofdofspernode");71 fem_ds->FindParam(&numberofdofspernode_ds, "numberofdofspernode");69 fem_dh->FindParam(&numberofdofspernode_dh,NumberOfDofsPerNodeEnum); 70 fem_sl->FindParam(&numberofdofspernode_sl,NumberOfDofsPerNodeEnum); 71 fem_ds->FindParam(&numberofdofspernode_ds,NumberOfDofsPerNodeEnum); 72 72 73 73 /*if no Stokes, assign output and return*/ -
issm/trunk/src/c/parallel/ControlRestart.cpp
r3567 r3709 23 23 24 24 /*Recover parameters used throughout the solution:*/ 25 model->FindParam(&numberofnodes, "numberofnodes");26 model->FindParam(&outputfilename, "outputfilename");25 model->FindParam(&numberofnodes,NumberOfNodesEnum); 26 model->FindParam(&outputfilename,OutputFileNameEnum); 27 27 28 28 /*Plug COPYS of the results into output dataset: -
issm/trunk/src/c/parallel/balancedthickness.cpp
r3598 r3709 25 25 Model* model=NULL; 26 26 27 double* u_g_serial=NULL;28 double* melting_g=NULL;29 double* accumulation_g=NULL;30 27 double dt; 31 28 double yts; … … 77 74 78 75 /*recover parameters: */ 79 model->FindParam(&waitonlock,"waitonlock"); 80 model->FindParam(&qmu_analysis,"qmu_analysis"); 81 82 _printf_("initialize inputs:\n"); 83 84 model->FindParam(&u_g_serial,NULL,NULL,"u_g",BalancedthicknessAnalysisEnum); 85 model->FindParam(&melting_g,NULL,NULL,"m_g",BalancedthicknessAnalysisEnum); 86 model->FindParam(&accumulation_g,NULL,NULL,"a_g",BalancedthicknessAnalysisEnum); 87 model->FindParam(&numberofnodes,"numberofnodes"); 88 89 inputs=new ParameterInputs; 90 inputs->Add("velocity",u_g_serial,3,numberofnodes); 91 inputs->Add("melting",melting_g,1,numberofnodes); 92 inputs->Add("accumulation",accumulation_g,1,numberofnodes); 76 model->FindParam(&waitonlock,WaitOnLockEnum); 77 model->FindParam(&qmu_analysis,QmuAnalysisEnum); 93 78 94 79 _printf_("initialize results:\n"); … … 136 121 137 122 /*Free ressources:*/ 138 xfree((void**)&u_g_serial);139 xfree((void**)&melting_g);140 xfree((void**)&accumulation_g);141 123 delete processedresults; 142 124 delete results; -
issm/trunk/src/c/parallel/balancedthickness2.cpp
r3598 r3709 20 20 char* outputfilename=NULL; 21 21 char* lockname=NULL; 22 int numberofnodes;23 22 double waitonlock=0; 24 23 25 24 Model* model=NULL; 26 25 27 double* vx_g=NULL;28 double* vy_g=NULL;29 double* m_g=NULL;30 double* a_g=NULL;31 double* h_g=NULL;32 double* dhdt_g=NULL;33 26 double dt; 34 27 double yts; … … 80 73 81 74 /*recover parameters: */ 82 model->FindParam(&waitonlock,"waitonlock"); 83 model->FindParam(&qmu_analysis,"qmu_analysis"); 84 85 _printf_("initialize inputs:\n"); 86 87 model->FindParam(&vx_g,NULL,NULL,"vx_g",Balancedthickness2AnalysisEnum); 88 model->FindParam(&vy_g,NULL,NULL,"vy_g",Balancedthickness2AnalysisEnum); 89 model->FindParam(&m_g,NULL,NULL,"m_g",Balancedthickness2AnalysisEnum); 90 model->FindParam(&a_g,NULL,NULL,"a_g",Balancedthickness2AnalysisEnum); 91 model->FindParam(&h_g,NULL,NULL,"h_g",Balancedthickness2AnalysisEnum); 92 model->FindParam(&dhdt_g,NULL,NULL,"dhdt_g",Balancedthickness2AnalysisEnum); 93 model->FindParam(&numberofnodes,"numberofnodes"); 94 95 inputs=new ParameterInputs; 96 inputs->Add("vx",vx_g,1,numberofnodes); 97 inputs->Add("vy",vy_g,1,numberofnodes); 98 inputs->Add("melting",m_g,1,numberofnodes); 99 inputs->Add("accumulation",a_g,1,numberofnodes); 100 inputs->Add("thickness",h_g,1,numberofnodes); 101 inputs->Add("dhdt",dhdt_g,1,numberofnodes); 75 model->FindParam(&waitonlock,WaitOnLockEnum); 76 model->FindParam(&qmu_analysis,QmuAnalysisEnum); 102 77 103 78 _printf_("initialize results:\n"); … … 145 120 146 121 /*Free ressources:*/ 147 xfree((void**)&vx_g);148 xfree((void**)&vy_g);149 xfree((void**)&m_g);150 xfree((void**)&a_g);151 xfree((void**)&dhdt_g);152 xfree((void**)&h_g);153 122 delete processedresults; 154 123 delete results; -
issm/trunk/src/c/parallel/balancedthickness2_core.cpp
r3588 r3709 39 39 40 40 //first recover parameters common to all solutions 41 model->FindParam(&verbose, "verbose");42 model->FindParam(&numberofnodes, "numberofnodes");43 model->FindParam(&numberofvertices, "numberofvertices");44 model->FindParam(&numberofdofspernode, "numberofdofspernode");41 model->FindParam(&verbose,VerboseEnum); 42 model->FindParam(&numberofnodes,NumberOfNodesEnum); 43 model->FindParam(&numberofvertices,NumberOfVerticesEnum); 44 model->FindParam(&numberofdofspernode,NumberOfDofsPerNodeEnum); 45 45 46 46 _printf_("depth averaging velocity...\n"); -
issm/trunk/src/c/parallel/balancedthickness_core.cpp
r3588 r3709 38 38 39 39 //first recover parameters common to all solutions 40 model->FindParam(&verbose, "verbose");41 model->FindParam(&numberofnodes, "numberofnodes");42 model->FindParam(&numberofdofspernode, "numberofdofspernode");40 model->FindParam(&verbose,VerboseEnum); 41 model->FindParam(&numberofnodes,NumberOfNodesEnum); 42 model->FindParam(&numberofdofspernode,NumberOfDofsPerNodeEnum); 43 43 44 44 _printf_("depth averaging velocity...\n"); -
issm/trunk/src/c/parallel/balancedvelocities.cpp
r3598 r3709 25 25 Model* model=NULL; 26 26 27 double* u_g_serial=NULL;28 double* melting_g=NULL;29 double* accumulation_g=NULL;30 27 int qmu_analysis; 31 28 … … 75 72 76 73 /*recover parameters: */ 77 model->FindParam(&waitonlock,"waitonlock"); 78 model->FindParam(&qmu_analysis,"qmu_analysis"); 79 80 _printf_("initialize inputs:\n"); 81 82 model->FindParam(&u_g_serial,NULL,NULL,"u_g",BalancedvelocitiesAnalysisEnum); 83 model->FindParam(&melting_g,NULL,NULL,"m_g",BalancedvelocitiesAnalysisEnum); 84 model->FindParam(&accumulation_g,NULL,NULL,"a_g",BalancedvelocitiesAnalysisEnum); 85 model->FindParam(&numberofnodes,"numberofnodes"); 86 87 inputs=new ParameterInputs; 88 inputs->Add("velocity",u_g_serial,3,numberofnodes); 89 inputs->Add("melting",melting_g,1,numberofnodes); 90 inputs->Add("accumulation",accumulation_g,1,numberofnodes); 74 model->FindParam(&waitonlock,WaitOnLockEnum); 75 model->FindParam(&qmu_analysis,QmuAnalysisEnum); 91 76 92 77 _printf_("initialize results:\n"); … … 134 119 135 120 /*Free ressources:*/ 136 xfree((void**)&u_g_serial);137 xfree((void**)&melting_g);138 xfree((void**)&accumulation_g);139 121 delete processedresults; 140 122 delete results; -
issm/trunk/src/c/parallel/balancedvelocities_core.cpp
r3567 r3709 37 37 38 38 //first recover parameters common to all solutions 39 model->FindParam(&verbose, "verbose");40 model->FindParam(&numberofnodes, "numberofnodes");41 model->FindParam(&numberofdofspernode, "numberofdofspernode");39 model->FindParam(&verbose,VerboseEnum); 40 model->FindParam(&numberofnodes,NumberOfNodesEnum); 41 model->FindParam(&numberofdofspernode,NumberOfDofsPerNodeEnum); 42 42 43 43 _printf_("depth averaging velocity...\n"); -
issm/trunk/src/c/parallel/control_core.cpp
r3567 r3709 59 59 60 60 /*Recover parameters used throughout the solution:*/ 61 model->FindParam(&nsteps, "nsteps");62 model->FindParam(&control_type, "control_type");63 model->FindParam(&fit,NULL,NULL, "fit");64 model->FindParam(&optscal,NULL,NULL, "optscal");65 model->FindParam(&maxiter,NULL,NULL, "maxiter");66 model->FindParam(&cm_jump,NULL,NULL, "cm_jump");67 model->FindParam(&eps_cm, "eps_cm");68 model->FindParam(&tolx, "tolx");69 model->FindParam(&cm_min, "cm_min");70 model->FindParam(&cm_max, "cm_max");71 model->FindParam(&cm_gradient, "cm_gradient");72 model->FindParam(¶m_g,NULL,NULL, "param_g");73 model->FindParam(&analysis_type, "analysis_type");74 model->FindParam(&sub_analysis_type, "sub_analysis_type");75 model->FindParam(&numberofnodes, "numberofnodes");76 model->FindParam(&control_steady, "control_steady");61 model->FindParam(&nsteps,NStepsEnum); 62 model->FindParam(&control_type,ControlTypeEnum); 63 model->FindParam(&fit,NULL,NULL,FitEnum); 64 model->FindParam(&optscal,NULL,NULL,OptScalEnum); 65 model->FindParam(&maxiter,NULL,NULL,MaxIterEnum); 66 model->FindParam(&cm_jump,NULL,NULL,CmJumpEnum); 67 model->FindParam(&eps_cm,EpsCmEnum); 68 model->FindParam(&tolx,TolXEnum); 69 model->FindParam(&cm_min,CmMinEnum); 70 model->FindParam(&cm_max,CmMaxEnum); 71 model->FindParam(&cm_gradient,CmGradientEnum); 72 model->FindParam(¶m_g,NULL,NULL,ControlParameterEnum); 73 model->FindParam(&analysis_type,AnalysisTypeEnum); 74 model->FindParam(&sub_analysis_type,SubAnalysisTypeEnum); 75 model->FindParam(&numberofnodes,NumberOfNodesEnum); 76 model->FindParam(&control_steady,ControlSteadyEnum); 77 77 gsize=fem_model->nodes->NumberOfDofs(); 78 78 79 79 /*Initialize misfit: */ 80 80 J=(double*)xmalloc(nsteps*sizeof(double)); 81 82 /*erase useless parameters: */83 param=(Param*)fem_model->parameters->FindParamObject("param_g");84 fem_model->parameters->DeleteObject((Object*)param);85 86 param=(Param*)fem_model->parameters->FindParamObject("u_g");87 fem_model->parameters->DeleteObject((Object*)param);88 81 89 82 /*Start looping: */ -
issm/trunk/src/c/parallel/diagnostic.cpp
r3699 r3709 119 119 results->AddObject(result); 120 120 121 model->FindParam(&control_type, "control_type");121 model->FindParam(&control_type,ControlTypeEnum); 122 122 result=new Result(results->Size()+1,0,1,"control_type",control_type); 123 123 results->AddObject(result); -
issm/trunk/src/c/parallel/diagnostic_core_linear.cpp
r3446 r3709 28 28 /*Recover parameters: */ 29 29 kflag=1; pflag=1; 30 fem->parameters->FindParam(&connectivity, "connectivity");31 fem->parameters->FindParam(&numberofdofspernode, "numberofdofspernode");32 fem->parameters->FindParam(&verbose, "verbose");33 fem->parameters->FindParam(&solver_string, "solverstring");30 fem->parameters->FindParam(&connectivity,ConnectivityEnum); 31 fem->parameters->FindParam(&numberofdofspernode,NumberOfDofsPerNodeEnum); 32 fem->parameters->FindParam(&verbose,VerboseEnum); 33 fem->parameters->FindParam(&solver_string,SolverStringEnum); 34 34 35 35 /*Update parameters: */ -
issm/trunk/src/c/parallel/diagnostic_core_nonlinear.cpp
r3446 r3709 41 41 /*Recover parameters: */ 42 42 kflag=1; pflag=1; 43 fem->FindParam(&connectivity, "connectivity");44 fem->FindParam(&numberofdofspernode, "numberofdofspernode");45 fem->FindParam(&numberofnodes, "numberofnodes");46 fem->FindParam(&solver_string, "solverstring");47 fem->FindParam(&verbose, "verbose");48 fem->FindParam(&min_mechanical_constraints, "min_mechanical_constraints");49 fem->FindParam(&max_nonlinear_iterations, "max_nonlinear_iterations");43 fem->FindParam(&connectivity,ConnectivityEnum); 44 fem->FindParam(&numberofdofspernode,NumberOfDofsPerNodeEnum); 45 fem->FindParam(&numberofnodes,NumberOfNodesEnum); 46 fem->FindParam(&solver_string,SolverStringEnum); 47 fem->FindParam(&verbose,VerboseEnum); 48 fem->FindParam(&min_mechanical_constraints,MinMechanicalConstraintsEnum); 49 fem->FindParam(&max_nonlinear_iterations,MaxNonlinearIterationsEnum); 50 50 51 51 /*Were loads requested as output? : */ -
issm/trunk/src/c/parallel/gradjcompute_core.cpp
r3567 r3709 50 50 /*some parameters:*/ 51 51 femmodel=model->GetActiveFormulation(); 52 femmodel->parameters->FindParam(&analysis_type, "analysis_type");53 femmodel->parameters->FindParam(&sub_analysis_type, "sub_analysis_type");54 femmodel->parameters->FindParam(&control_steady, "control_steady");55 femmodel->parameters->FindParam(&numberofnodes, "numberofnodes");56 femmodel->parameters->FindParam(&numberofdofspernode, "numberofdofspernode");57 femmodel->parameters->FindParam(&solverstring, "solverstring");58 femmodel->parameters->FindParam(&control_type, "control_type");59 femmodel->parameters->FindParam(&extrude_param, "extrude_param");60 femmodel->parameters->FindParam(&verbose, "verbose");61 femmodel->parameters->FindParam(&dim, "dim");52 femmodel->parameters->FindParam(&analysis_type,AnalysisTypeEnum); 53 femmodel->parameters->FindParam(&sub_analysis_type,SubAnalysisTypeEnum); 54 femmodel->parameters->FindParam(&control_steady,ControlSteadyEnum); 55 femmodel->parameters->FindParam(&numberofnodes,NumberOfNodesEnum); 56 femmodel->parameters->FindParam(&numberofdofspernode,NumberOfDofsPerNodeEnum); 57 femmodel->parameters->FindParam(&solverstring,SolverStringEnum); 58 femmodel->parameters->FindParam(&control_type,ControlTypeEnum); 59 femmodel->parameters->FindParam(&extrude_param,ExtrudeParamEnum); 60 femmodel->parameters->FindParam(&verbose,VerboseEnum); 61 femmodel->parameters->FindParam(&dim,DimEnum); 62 62 63 63 _printf_("%s\n"," recover solution for this stiffness and right hand side:"); -
issm/trunk/src/c/parallel/objectivefunctionC.cpp
r3567 r3709 63 63 64 64 gsize=femmodel->nodesets->GetGSize(); 65 femmodel->parameters->FindParam(&optscal,NULL,NULL,"optscal"); 66 femmodel->parameters->FindParam(&fit,NULL,NULL,"fit"); 67 femmodel->parameters->FindParam(&cm_min,"cm_min"); 68 femmodel->parameters->FindParam(&cm_max,"cm_max"); 69 femmodel->parameters->FindParam(&control_type,"control_type"); 70 femmodel->parameters->FindParam(&analysis_type,"analysis_type"); 71 femmodel->parameters->FindParam(&sub_analysis_type,"sub_analysis_type"); 72 femmodel->parameters->FindParam(&control_steady,"control_steady"); 73 femmodel->parameters->FindParam(&numberofnodes,"numberofnodes"); 74 femmodel->parameters->FindParam(&numberofdofspernode,"numberofdofspernode"); 75 femmodel->parameters->FindParam(&isstokes,"isstokes"); 65 femmodel->parameters->FindParam(&optscal,NULL,NULL,OptScalEnum); 66 femmodel->parameters->FindParam(&control_type,ControlTypeEnum); 67 femmodel->parameters->FindParam(&fit,NULL,NULL,FitEnum); 68 femmodel->parameters->FindParam(&cm_min,CmMinEnum); 69 femmodel->parameters->FindParam(&cm_max,CmMaxEnum); 70 femmodel->parameters->FindParam(&control_type,ControlTypeEnum); 71 femmodel->parameters->FindParam(&control_steady,ControlSteadyEnum); 72 femmodel->parameters->FindParam(&analysis_type,AnalysisTypeEnum); 73 femmodel->parameters->FindParam(&sub_analysis_type,SubAnalysisTypeEnum); 74 femmodel->parameters->FindParam(&isstokes,IsStokesEnum); 75 femmodel->parameters->FindParam(&numberofnodes,NumberOfNodesEnum); 76 femmodel->parameters->FindParam(&numberofdofspernode,NumberOfDofsPerNodeEnum); 76 77 77 78 /*First copy param_g so we don't modify it: */ -
issm/trunk/src/c/parallel/prognostic.cpp
r3595 r3709 25 25 Model* model=NULL; 26 26 27 double* u_g_serial=NULL;28 double* h_g_initial=NULL;29 double* melting_g=NULL;30 double* accumulation_g=NULL;31 double dt;32 double yts;33 27 int qmu_analysis; 34 28 … … 76 70 77 71 /*recover parameters: */ 78 model->FindParam(&waitonlock,"waitonlock"); 79 model->FindParam(&qmu_analysis,"qmu_analysis"); 80 81 _printf_("initialize inputs:\n"); 82 83 model->FindParam(&u_g_serial,NULL,NULL,"u_g",PrognosticAnalysisEnum); 84 model->FindParam(&h_g_initial,NULL,NULL,"h_g",PrognosticAnalysisEnum); 85 model->FindParam(&melting_g,NULL,NULL,"m_g",PrognosticAnalysisEnum); 86 model->FindParam(&accumulation_g,NULL,NULL,"a_g",PrognosticAnalysisEnum); 87 model->FindParam(&dt,"dt"); 88 model->FindParam(&yts,"yts"); 89 model->FindParam(&numberofnodes,"numberofnodes"); 90 91 inputs=new ParameterInputs; 92 inputs->Add("velocity",u_g_serial,3,numberofnodes); 93 inputs->Add("thickness",h_g_initial,1,numberofnodes); 94 inputs->Add("melting",melting_g,1,numberofnodes); 95 inputs->Add("accumulation",accumulation_g,1,numberofnodes); 96 inputs->Add("dt",dt*yts); 72 model->FindParam(&waitonlock,WaitOnLockEnum); 73 model->FindParam(&qmu_analysis,QmuAnalysisEnum); 97 74 98 75 _printf_("initialize results:\n"); … … 140 117 141 118 /*Free ressources:*/ 142 xfree((void**)&u_g_serial);143 xfree((void**)&h_g_initial);144 xfree((void**)&melting_g);145 xfree((void**)&accumulation_g);146 119 delete processedresults; 147 120 delete results; -
issm/trunk/src/c/parallel/prognostic2.cpp
r3567 r3709 25 25 Model* model=NULL; 26 26 27 double* vx_g=NULL;28 double* vy_g=NULL;29 double* h_g_initial=NULL;30 double* m_g=NULL;31 double* a_g=NULL;32 double dt;33 double yts;34 27 int qmu_analysis; 35 28 … … 77 70 78 71 /*recover parameters: */ 79 model->FindParam(&waitonlock,"waitonlock"); 80 model->FindParam(&qmu_analysis,"qmu_analysis"); 81 82 _printf_("initialize inputs:\n"); 83 84 model->FindParam(&vx_g,NULL,NULL,"vx_g",Prognostic2AnalysisEnum); 85 model->FindParam(&vy_g,NULL,NULL,"vy_g",Prognostic2AnalysisEnum); 86 model->FindParam(&h_g_initial,NULL,NULL,"h_g",Prognostic2AnalysisEnum); 87 model->FindParam(&m_g,NULL,NULL,"m_g",Prognostic2AnalysisEnum); 88 model->FindParam(&a_g,NULL,NULL,"a_g",Prognostic2AnalysisEnum); 89 model->FindParam(&dt,"dt"); 90 model->FindParam(&yts,"yts"); 91 model->FindParam(&numberofnodes,"numberofnodes"); 92 93 inputs=new ParameterInputs; 94 inputs->Add("vx",vx_g,1,numberofnodes); 95 inputs->Add("vy",vy_g,1,numberofnodes); 96 inputs->Add("thickness",h_g_initial,1,numberofnodes); 97 inputs->Add("melting",m_g,1,numberofnodes); 98 inputs->Add("accumulation",a_g,1,numberofnodes); 99 inputs->Add("dt",dt*yts); 72 model->FindParam(&waitonlock,WaitOnLockEnum); 73 model->FindParam(&qmu_analysis,QmuAnalysisEnum); 74 model->FindParam(&numberofnodes,NumberOfNodesEnum); 100 75 101 76 _printf_("initialize results:\n"); … … 143 118 144 119 /*Free ressources:*/ 145 xfree((void**)&vx_g);146 xfree((void**)&vy_g);147 xfree((void**)&h_g_initial);148 xfree((void**)&m_g);149 xfree((void**)&a_g);150 120 delete processedresults; 151 121 delete results; -
issm/trunk/src/c/parallel/prognostic2_core.cpp
r3567 r3709 38 38 39 39 //first recover parameters common to all solutions 40 model->FindParam(&verbose, "verbose");41 model->FindParam(&numberofnodes, "numberofnodes");42 model->FindParam(&numberofvertices, "numberofvertices");43 model->FindParam(&numberofdofspernode, "numberofdofspernode");40 model->FindParam(&verbose,VerboseEnum); 41 model->FindParam(&numberofnodes,NumberOfNodesEnum); 42 model->FindParam(&numberofvertices,NumberOfVerticesEnum); 43 model->FindParam(&numberofdofspernode,NumberOfNodesEnum); 44 44 45 45 _printf_("depth averaging velocity...\n"); 46 vx_g=inputs->Get("vx",&dofs[0],1); 47 vy_g=inputs->Get("vy",&dofs[0],1); 48 /* NOT WORKING YET.... 49 FieldDepthAveragex(vx_g, fem_p->elements,fem_p->nodes, fem_p->vertices,fem_p->loads, fem_p->materials,fem_p->parameters,"vx"); 50 FieldDepthAveragex(vy_g, fem_p->elements,fem_p->nodes, fem_p->vertices,fem_p->loads, fem_p->materials,fem_p->parameters,"vy"); 51 */ 52 inputs->Add("vx_average",vx_g,1,numberofvertices); 53 inputs->Add("vy_average",vy_g,1,numberofvertices); 46 /*Where is it done?*/ 54 47 55 48 _printf_("call computational core:\n"); -
issm/trunk/src/c/parallel/prognostic_core.cpp
r3567 r3709 37 37 38 38 //first recover parameters common to all solutions 39 model->FindParam(&verbose, "verbose");40 model->FindParam(&numberofnodes, "numberofnodes");41 model->FindParam(&numberofdofspernode, "numberofdofspernode");39 model->FindParam(&verbose,VerboseEnum); 40 model->FindParam(&numberofnodes,NumberOfNodesEnum); 41 model->FindParam(&numberofdofspernode,NumberOfDofsPerNodeEnum); 42 42 43 43 _printf_("depth averaging velocity...\n"); -
issm/trunk/src/c/parallel/slopecompute.cpp
r3567 r3709 71 71 72 72 /*recover parameters: */ 73 model->FindParam(&waitonlock,"waitonlock"); 74 75 _printf_("initialize inputs:\n"); 76 77 model->FindParam(&numberofnodes,"numberofnodes"); 78 79 inputs=new ParameterInputs; 73 model->FindParam(&waitonlock,WaitOnLockEnum); 80 74 81 75 _printf_("initialize results:\n"); -
issm/trunk/src/c/parallel/slopecompute_core.cpp
r3567 r3709 34 34 35 35 //first recover parameters common to all solutions 36 model->FindParam(&verbose, "verbose");37 model->FindParam(&numberofnodes, "numberofnodes");38 model->FindParam(&numberofdofspernode, "numberofdofspernode");36 model->FindParam(&verbose,VerboseEnum); 37 model->FindParam(&numberofnodes,NumberOfNodesEnum); 38 model->FindParam(&numberofdofspernode,NumberOfDofsPerNodeEnum); 39 39 40 40 _printf_("call computational core:\n"); -
issm/trunk/src/c/parallel/steadystate.cpp
r3703 r3709 103 103 model->FindParam(&qmu_analysis,QmuAnalysisEnum); 104 104 105 _printf_("initialize inputs:\n");106 model->FindParam(&u_g_initial,NULL,NULL,"u_g",DiagnosticAnalysisEnum,HorizAnalysisEnum);107 model->FindParam(&p_g_initial,NULL,NULL,"p_g",ThermalAnalysisEnum);108 model->FindParam(&dt,"dt");109 model->FindParam(&numberofnodes,"numberofnodes");110 111 inputs=new ParameterInputs;112 inputs->Add("velocity",u_g_initial,3,numberofnodes);113 inputs->Add("pressure",p_g_initial,1,numberofnodes);114 inputs->Add("dt",dt);115 116 if(control_analysis){117 model->FindParam(&u_g_obs,NULL,NULL,"u_g_obs",DiagnosticAnalysisEnum,HorizAnalysisEnum);118 model->FindParam(&weights,NULL,NULL,"weights",DiagnosticAnalysisEnum,HorizAnalysisEnum);119 inputs->Add("velocity_obs",u_g_obs,2,numberofnodes);120 inputs->Add("weights",weights,1,numberofnodes);121 }122 123 105 _printf_("initialize results:\n"); 124 106 results=new DataSet(ResultsEnum); … … 160 142 results->AddObject(result); 161 143 162 model->FindParam(&control_type, "control_type");144 model->FindParam(&control_type,ControlTypeEnum); 163 145 result=new Result(results->Size()+1,0,1,"control_type",control_type); 164 146 results->AddObject(result); -
issm/trunk/src/c/parallel/steadystate_core.cpp
r3567 r3709 61 61 62 62 //first recover parameters common to all solutions 63 model->FindParam(&verbose, "verbose");verbose=1;64 model->FindParam(&numberofnodes, "numberofnodes");65 model->FindParam(&eps_rel, "eps_rel");66 model->FindParam(&isstokes, "isstokes");63 model->FindParam(&verbose,VerboseEnum); 64 model->FindParam(&numberofnodes,NumberOfNodesEnum); 65 model->FindParam(&eps_rel,EpsResEnum); 66 model->FindParam(&isstokes,IsStokesEnum); 67 67 68 68 //initialize: -
issm/trunk/src/c/parallel/thermal.cpp
r3567 r3709 27 27 /*Model: */ 28 28 Model* model=NULL; 29 30 /*initial velocity and pressure: */31 double* u_g=NULL;32 double* p_g=NULL;33 29 34 30 /*Results: */ … … 78 74 79 75 /*recover parameters: */ 80 model->FindParam(&waitonlock,"waitonlock"); 81 model->FindParam(&qmu_analysis,"qmu_analysis"); 82 83 _printf_("initialize inputs:\n"); 84 model->FindParam(&u_g,NULL,NULL,"u_g",ThermalAnalysisEnum); 85 model->FindParam(&p_g,NULL,NULL,"p_g",ThermalAnalysisEnum); 86 model->FindParam(&numberofnodes,"numberofnodes"); 87 model->FindParam(&dt,"dt"); 88 model->FindParam(&yts,"yts"); 89 90 inputs=new ParameterInputs; 91 92 inputs->Add("velocity",u_g,3,numberofnodes); 93 inputs->Add("pressure",p_g,1,numberofnodes); 94 inputs->Add("dt",dt*yts); //convert in seconds 76 model->FindParam(&waitonlock,WaitOnLockEnum); 77 model->FindParam(&qmu_analysis,QmuAnalysisEnum); 95 78 96 79 _printf_("initialize results:\n"); … … 136 119 137 120 /*Free ressources */ 138 xfree((void**)&u_g);139 xfree((void**)&p_g);140 121 delete model; 141 122 delete results; -
issm/trunk/src/c/parallel/thermal_core.cpp
r3567 r3709 49 49 50 50 //first recover parameters common to all solutions 51 fem_t->FindParam(&numberofnodes, "numberofnodes");52 fem_t->FindParam(&sub_analysis_type, "sub_analysis_type");53 fem_t->FindParam(&verbose, "verbose");54 fem_t->FindParam(&ndt, "ndt");55 fem_t->FindParam(&dt, "dt");51 fem_t->FindParam(&numberofnodes,NumberOfNodesEnum); 52 fem_t->FindParam(&sub_analysis_type,SubAnalysisTypeEnum); 53 fem_t->FindParam(&verbose,VerboseEnum); 54 fem_t->FindParam(&ndt,NdtEnum); 55 fem_t->FindParam(&dt,DtEnum); 56 56 57 57 if(dt==0){ … … 83 83 84 84 //initialize temperature and melting 85 fem_t->FindParam(&t_g_serial,NULL,NULL, "t_g");85 fem_t->FindParam(&t_g_serial,NULL,NULL,TemperatureEnum); 86 86 t_g[0]=SerialToVec(t_g_serial,numberofnodes); 87 87 xfree((void**)&t_g_serial); 88 fem_m->FindParam(&m_g_serial,NULL,NULL, "m_g");88 fem_m->FindParam(&m_g_serial,NULL,NULL,MeltingEnum); 89 89 m_g[0]=SerialToVec(m_g_serial,numberofnodes); 90 90 xfree((void**)&m_g_serial); -
issm/trunk/src/c/parallel/thermal_core_nonlinear.cpp
r3446 r3709 41 41 kflag=1; pflag=1; 42 42 43 fem->parameters->FindParam(&connectivity, "connectivity");44 fem->parameters->FindParam(&numberofdofspernode, "numberofdofspernode");45 fem->parameters->FindParam(&numberofnodes, "numberofnodes");46 fem->parameters->FindParam(&solver_string, "solverstring");47 fem->parameters->FindParam(&verbose, "verbose");48 fem->parameters->FindParam(&lowmem, "lowmem");49 fem->parameters->FindParam(&min_thermal_constraints, "min_thermal_constraints");43 fem->parameters->FindParam(&connectivity,ConnectivityEnum); 44 fem->parameters->FindParam(&numberofdofspernode,NumberOfDofsPerNodeEnum); 45 fem->parameters->FindParam(&numberofnodes,NumberOfNodesEnum); 46 fem->parameters->FindParam(&solver_string,SolverStringEnum); 47 fem->parameters->FindParam(&verbose,VerboseEnum); 48 fem->parameters->FindParam(&lowmem,LowmemEnum); 49 fem->parameters->FindParam(&min_thermal_constraints,MinThermalConstraintsEnum); 50 50 51 51 count=1; -
issm/trunk/src/c/parallel/transient.cpp
r3567 r3709 36 36 37 37 /*inputs: */ 38 double* u_g=NULL;39 double* m_g=NULL;40 double* a_g=NULL;41 double dt;42 double yts;43 38 Param* param=NULL; 44 39 … … 94 89 95 90 /*Do we run in 3d?, in which case we need thermal and melting also:*/ 96 model->FindParam(&dim, "dim");91 model->FindParam(&dim,DimEnum); 97 92 if(dim==3){ 98 93 _printf_("read and create thermal finite element model:\n"); … … 103 98 104 99 /*recover parameters: */ 105 model->FindParam(&waitonlock,"waitonlock"); 106 model->FindParam(&qmu_analysis,"qmu_analysis"); 107 108 _printf_("initialize inputs:\n"); 109 model->FindParam(&u_g,NULL,NULL,"u_g",PrognosticAnalysisEnum); 110 model->FindParam(&m_g,NULL,NULL,"m_g",PrognosticAnalysisEnum); 111 model->FindParam(&a_g,NULL,NULL,"a_g",PrognosticAnalysisEnum); 112 model->FindParam(&numberofnodes,"numberofnodes"); 113 model->FindParam(&dt,"dt"); 114 model->FindParam(&yts,"yts"); 115 116 117 inputs=new ParameterInputs; 118 inputs->Add("velocity",u_g,3,numberofnodes); 119 inputs->Add("melting",m_g,1,numberofnodes); 120 inputs->Add("accumulation",a_g,1,numberofnodes); 121 inputs->Add("dt",dt*yts); 100 model->FindParam(&waitonlock,WaitOnLockEnum); 101 model->FindParam(&qmu_analysis,QmuAnalysisEnum); 122 102 123 103 _printf_("initialize results:\n"); … … 167 147 delete model; 168 148 delete inputs; 169 xfree((void**)&u_g);170 xfree((void**)&m_g);171 xfree((void**)&a_g);172 149 173 150 /*Get finish time and close*/ -
issm/trunk/src/c/parallel/transient_core_2d.cpp
r3567 r3709 30 30 31 31 Vec u_g=NULL; 32 double* u_g_serial=NULL;33 double* u_g_serial3d=NULL;34 32 Vec p_g=NULL; 35 double* p_g_serial=NULL;36 33 Vec h_g=NULL; 37 34 Vec new_h_g=NULL; 38 35 Vec h_g_intermediary=NULL; 39 double* h_g_serial=NULL;40 36 Vec s_g=NULL; 41 37 Vec new_s_g=NULL; 42 double* s_g_serial=NULL;43 38 Vec b_g=NULL; 44 39 Vec new_b_g=NULL; 45 double* b_g_serial=NULL;46 40 47 41 /*intermediary: */ … … 72 66 73 67 //first recover parameters common to all solutions 74 model->FindParam(&verbose, "verbose");75 model->FindParam(&finaltime, "ndt");76 model->FindParam(&dt, "dt");77 model->FindParam(&numberofnodes, "numberofnodes");68 model->FindParam(&verbose,VerboseEnum); 69 model->FindParam(&finaltime,NdtEnum); 70 model->FindParam(&dt,DtEnum); 71 model->FindParam(&numberofnodes,NumberOfNodesEnum); 78 72 79 73 /*initialize: */ 80 74 step=1; 81 75 time=0; 82 83 fem_p->parameters->FindParam(&u_g_serial3d,NULL,NULL,"u_g");84 u_g_serial=(double*)xmalloc(2*numberofnodes*sizeof(double));85 for(i=0;i<numberofnodes;i++){86 u_g_serial[2*i+0]=u_g_serial3d[3*i+0];87 u_g_serial[2*i+1]=u_g_serial3d[3*i+1];88 }89 u_g=SerialToVec(u_g_serial,2*numberofnodes); xfree((void**)&u_g_serial);90 91 fem_p->parameters->FindParam(&h_g_serial,NULL,NULL,"h_g");92 h_g=SerialToVec(h_g_serial,1*numberofnodes); xfree((void**)&h_g_serial);93 94 fem_p->parameters->FindParam(&s_g_serial,NULL,NULL,"s_g");95 s_g=SerialToVec(s_g_serial,1*numberofnodes); xfree((void**)&s_g_serial);96 97 fem_p->parameters->FindParam(&b_g_serial,NULL,NULL,"b_g");98 b_g=SerialToVec(b_g_serial,1*numberofnodes); xfree((void**)&b_g_serial);99 100 /*Add all these initial vectors in the results!: */101 result=new Result(results->Size()+1,time,step,"u_g",u_g); results->AddObject(result);102 result=new Result(results->Size()+1,time,step,"h_g",h_g); results->AddObject(result);103 result=new Result(results->Size()+1,time,step,"s_g",s_g); results->AddObject(result);104 result=new Result(results->Size()+1,time,step,"b_g",b_g); results->AddObject(result);105 76 106 77 while(time<finaltime){ //make sure we run up to finaltime. … … 110 81 step+=1; 111 82 time+=dt; 112 113 //update inputs114 inputs->Add("thickness",h_g,1,numberofnodes);115 inputs->Add("surface",s_g,1,numberofnodes);116 inputs->Add("bed",b_g,1,numberofnodes);117 inputs->Add("velocity",u_g,2,numberofnodes);118 83 119 84 //Deal with velocities. … … 154 119 result=new Result(results->Size()+1,time,step,"b_g",b_g); results->AddObject(result); 155 120 121 //update inputs 122 inputs->Add("thickness",h_g,1,numberofnodes); 123 inputs->Add("surface",s_g,1,numberofnodes); 124 inputs->Add("bed",b_g,1,numberofnodes); 125 inputs->Add("velocity",u_g,2,numberofnodes); 126 156 127 } 157 128 158 129 /*Free ressources:*/ 159 xfree((void**)&u_g_serial);160 xfree((void**)&u_g_serial3d);161 xfree((void**)&p_g_serial);162 xfree((void**)&h_g_serial);163 xfree((void**)&s_g_serial);164 xfree((void**)&b_g_serial);165 130 VecFree(&u_g); 166 131 VecFree(&p_g); -
issm/trunk/src/c/parallel/transient_core_3d.cpp
r3604 r3709 32 32 33 33 Vec u_g=NULL; 34 double* u_g_serial=NULL;35 34 Vec p_g=NULL; 36 double* p_g_serial=NULL;37 35 Vec h_g=NULL; 38 36 Vec h_g_intermediary=NULL; 39 double* h_g_serial=NULL;40 37 Vec s_g=NULL; 41 double* s_g_serial=NULL;42 38 Vec b_g=NULL; 43 double* b_g_serial=NULL;44 39 Vec t_g=NULL; 45 40 Vec t_g_average=NULL; 46 double* t_g_serial=NULL;47 41 double melting_offset; 48 42 Vec m_g=NULL; 49 double* m_g_serial=NULL;50 43 51 44 /*intermediary: */ … … 78 71 79 72 //first recover parameters common to all solutions 80 model->FindParam(&verbose, "verbose");81 model->FindParam(&finaltime, "ndt");82 model->FindParam(&dt, "dt");83 model->FindParam(&numberofnodes, "numberofnodes");73 model->FindParam(&verbose,VerboseEnum); 74 model->FindParam(&finaltime,NdtEnum); 75 model->FindParam(&dt,DtEnum); 76 model->FindParam(&numberofnodes,NumberOfDofsPerNodeEnum); 84 77 85 78 /*initialize: */ 86 79 step=1; 87 80 time=0; 88 89 fem_p->parameters->FindParam(&u_g_serial,NULL,NULL,"u_g");90 u_g=SerialToVec(u_g_serial,3*numberofnodes); xfree((void**)&u_g_serial);91 92 fem_p->parameters->FindParam(&p_g_serial,NULL,NULL,"p_g");93 p_g=SerialToVec(p_g_serial,1*numberofnodes); xfree((void**)&p_g_serial);94 95 fem_p->parameters->FindParam(&h_g_serial,NULL,NULL,"h_g");96 h_g=SerialToVec(h_g_serial,1*numberofnodes); xfree((void**)&h_g_serial);97 98 fem_p->parameters->FindParam(&s_g_serial,NULL,NULL,"s_g");99 s_g=SerialToVec(s_g_serial,1*numberofnodes); xfree((void**)&s_g_serial);100 101 fem_p->parameters->FindParam(&b_g_serial,NULL,NULL,"b_g");102 b_g=SerialToVec(b_g_serial,1*numberofnodes); xfree((void**)&b_g_serial);103 104 fem_p->parameters->FindParam(&t_g_serial,NULL,NULL,"t_g");105 t_g=SerialToVec(t_g_serial,1*numberofnodes); xfree((void**)&t_g_serial);106 107 fem_p->parameters->FindParam(&m_g_serial,NULL,NULL,"m_g");108 m_g=SerialToVec(m_g_serial,1*numberofnodes); xfree((void**)&m_g_serial);109 110 /*Add all these initial vectors in the results!: */111 result=new Result(results->Size()+1,time,step,"u_g",u_g); results->AddObject(result);112 result=new Result(results->Size()+1,time,step,"p_g",p_g); results->AddObject(result);113 result=new Result(results->Size()+1,time,step,"h_g",h_g); results->AddObject(result);114 result=new Result(results->Size()+1,time,step,"s_g",s_g); results->AddObject(result);115 result=new Result(results->Size()+1,time,step,"b_g",b_g); results->AddObject(result);116 result=new Result(results->Size()+1,time,step,"t_g",t_g); results->AddObject(result);117 result=new Result(results->Size()+1,time,step,"m_g",m_g); results->AddObject(result);118 81 119 82 while(time<finaltime){ //make sure we run up to finaltime. … … 123 86 step+=1; 124 87 time+=dt; 125 126 //update inputs127 inputs->Add("thickness",h_g,1,numberofnodes);128 inputs->Add("surface",s_g,1,numberofnodes);129 inputs->Add("bed",b_g,1,numberofnodes);130 inputs->Add("velocity",u_g,3,numberofnodes);131 inputs->Add("pressure",p_g,1,numberofnodes);132 inputs->Add("temperature",t_g,1,numberofnodes);133 88 134 89 //Deal with temperature first … … 190 145 result=new Result(results->Size()+1,time,step,"m_g",m_g); results->AddObject(result); 191 146 147 //update inputs 148 inputs->Add("thickness",h_g,1,numberofnodes); 149 inputs->Add("surface",s_g,1,numberofnodes); 150 inputs->Add("bed",b_g,1,numberofnodes); 151 inputs->Add("velocity",u_g,3,numberofnodes); 152 inputs->Add("pressure",p_g,1,numberofnodes); 153 inputs->Add("temperature",t_g,1,numberofnodes); 154 192 155 //Save temporary results every 5 steps 193 156 if (step%5==0){ … … 216 179 VecFree(&t_g); 217 180 VecFree(&m_g); 218 xfree((void**)&u_g_serial);219 xfree((void**)&p_g_serial);220 xfree((void**)&h_g_serial);221 xfree((void**)&s_g_serial);222 xfree((void**)&b_g_serial);223 xfree((void**)&t_g_serial);224 xfree((void**)&m_g_serial);225 181 }
Note:
See TracChangeset
for help on using the changeset viewer.