Changeset 3709


Ignore:
Timestamp:
05/11/10 09:35:04 (15 years ago)
Author:
Mathieu Morlighem
Message:

Use Enums to find params

Location:
issm/trunk/src/c/parallel
Files:
28 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/parallel/ControlInitialization.cpp

    r3567 r3709  
    5151
    5252        /*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);
    6060
    6161        /*recover fem models: */
     
    6767
    6868        //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);
    7272
    7373        /*if no Stokes, assign output and return*/
  • issm/trunk/src/c/parallel/ControlRestart.cpp

    r3567 r3709  
    2323
    2424        /*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);
    2727
    2828        /*Plug COPYS of the results into output dataset:
  • issm/trunk/src/c/parallel/balancedthickness.cpp

    r3598 r3709  
    2525        Model* model=NULL;
    2626
    27         double* u_g_serial=NULL;
    28         double* melting_g=NULL;
    29         double* accumulation_g=NULL;
    3027        double  dt;
    3128        double  yts;
     
    7774
    7875        /*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);
    9378
    9479        _printf_("initialize results:\n");
     
    136121
    137122        /*Free ressources:*/
    138         xfree((void**)&u_g_serial);
    139         xfree((void**)&melting_g);
    140         xfree((void**)&accumulation_g);
    141123        delete processedresults;
    142124        delete results;
  • issm/trunk/src/c/parallel/balancedthickness2.cpp

    r3598 r3709  
    2020        char* outputfilename=NULL;
    2121        char* lockname=NULL;
    22         int   numberofnodes;
    2322        double waitonlock=0;
    2423
    2524        Model* model=NULL;
    2625
    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;
    3326        double  dt;
    3427        double  yts;
     
    8073
    8174        /*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);
    10277
    10378        _printf_("initialize results:\n");
     
    145120
    146121        /*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);
    153122        delete processedresults;
    154123        delete results;
  • issm/trunk/src/c/parallel/balancedthickness2_core.cpp

    r3588 r3709  
    3939
    4040        //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);
    4545
    4646        _printf_("depth averaging velocity...\n");
  • issm/trunk/src/c/parallel/balancedthickness_core.cpp

    r3588 r3709  
    3838
    3939        //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);
    4343
    4444        _printf_("depth averaging velocity...\n");
  • issm/trunk/src/c/parallel/balancedvelocities.cpp

    r3598 r3709  
    2525        Model* model=NULL;
    2626
    27         double* u_g_serial=NULL;
    28         double* melting_g=NULL;
    29         double* accumulation_g=NULL;
    3027        int     qmu_analysis;
    3128
     
    7572
    7673        /*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);
    9176
    9277        _printf_("initialize results:\n");
     
    134119
    135120        /*Free ressources:*/
    136         xfree((void**)&u_g_serial);
    137         xfree((void**)&melting_g);
    138         xfree((void**)&accumulation_g);
    139121        delete processedresults;
    140122        delete results;
  • issm/trunk/src/c/parallel/balancedvelocities_core.cpp

    r3567 r3709  
    3737
    3838        //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);
    4242
    4343        _printf_("depth averaging velocity...\n");
  • issm/trunk/src/c/parallel/control_core.cpp

    r3567 r3709  
    5959
    6060        /*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(&param_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(&param_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);
    7777        gsize=fem_model->nodes->NumberOfDofs();
    7878
    7979        /*Initialize misfit: */
    8080        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);
    8881
    8982        /*Start looping: */
  • issm/trunk/src/c/parallel/diagnostic.cpp

    r3699 r3709  
    119119                        results->AddObject(result);
    120120                       
    121                         model->FindParam(&control_type,"control_type");
     121                        model->FindParam(&control_type,ControlTypeEnum);
    122122                        result=new Result(results->Size()+1,0,1,"control_type",control_type);
    123123                        results->AddObject(result);
  • issm/trunk/src/c/parallel/diagnostic_core_linear.cpp

    r3446 r3709  
    2828        /*Recover parameters: */
    2929        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);
    3434
    3535        /*Update parameters: */
  • issm/trunk/src/c/parallel/diagnostic_core_nonlinear.cpp

    r3446 r3709  
    4141        /*Recover parameters: */
    4242        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);
    5050       
    5151        /*Were loads requested as output? : */
  • issm/trunk/src/c/parallel/gradjcompute_core.cpp

    r3567 r3709  
    5050        /*some parameters:*/
    5151        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);
    6262
    6363        _printf_("%s\n","      recover solution for this stiffness and right hand side:");
  • issm/trunk/src/c/parallel/objectivefunctionC.cpp

    r3567 r3709  
    6363
    6464        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);
    7677
    7778        /*First copy param_g so we don't modify it: */
  • issm/trunk/src/c/parallel/prognostic.cpp

    r3595 r3709  
    2525        Model* model=NULL;
    2626
    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;
    3327        int     qmu_analysis;
    3428
     
    7670
    7771        /*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);
    9774
    9875        _printf_("initialize results:\n");
     
    140117
    141118        /*Free ressources:*/
    142         xfree((void**)&u_g_serial);
    143         xfree((void**)&h_g_initial);
    144         xfree((void**)&melting_g);
    145         xfree((void**)&accumulation_g);
    146119        delete processedresults;
    147120        delete results;
  • issm/trunk/src/c/parallel/prognostic2.cpp

    r3567 r3709  
    2525        Model* model=NULL;
    2626
    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;
    3427        int     qmu_analysis;
    3528
     
    7770
    7871        /*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);
    10075
    10176        _printf_("initialize results:\n");
     
    143118
    144119        /*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);
    150120        delete processedresults;
    151121        delete results;
  • issm/trunk/src/c/parallel/prognostic2_core.cpp

    r3567 r3709  
    3838
    3939        //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);
    4444
    4545        _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?*/
    5447       
    5548        _printf_("call computational core:\n");
  • issm/trunk/src/c/parallel/prognostic_core.cpp

    r3567 r3709  
    3737
    3838        //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);
    4242
    4343        _printf_("depth averaging velocity...\n");
  • issm/trunk/src/c/parallel/slopecompute.cpp

    r3567 r3709  
    7171
    7272        /*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);
    8074
    8175        _printf_("initialize results:\n");
  • issm/trunk/src/c/parallel/slopecompute_core.cpp

    r3567 r3709  
    3434
    3535        //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);
    3939
    4040        _printf_("call computational core:\n");
  • issm/trunk/src/c/parallel/steadystate.cpp

    r3703 r3709  
    103103        model->FindParam(&qmu_analysis,QmuAnalysisEnum);
    104104
    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        
    123105        _printf_("initialize results:\n");
    124106        results=new DataSet(ResultsEnum);
     
    160142                        results->AddObject(result);
    161143
    162                         model->FindParam(&control_type,"control_type");
     144                        model->FindParam(&control_type,ControlTypeEnum);
    163145                        result=new Result(results->Size()+1,0,1,"control_type",control_type);
    164146                        results->AddObject(result);
  • issm/trunk/src/c/parallel/steadystate_core.cpp

    r3567 r3709  
    6161
    6262        //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);
    6767
    6868        //initialize:
  • issm/trunk/src/c/parallel/thermal.cpp

    r3567 r3709  
    2727        /*Model: */
    2828        Model* model=NULL;
    29 
    30         /*initial velocity and pressure: */
    31         double* u_g=NULL;
    32         double* p_g=NULL;
    3329
    3430        /*Results: */
     
    7874
    7975        /*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);
    9578
    9679        _printf_("initialize results:\n");
     
    136119
    137120        /*Free ressources */
    138         xfree((void**)&u_g);
    139         xfree((void**)&p_g);
    140121        delete model;
    141122        delete results;
  • issm/trunk/src/c/parallel/thermal_core.cpp

    r3567 r3709  
    4949
    5050        //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);
    5656
    5757        if(dt==0){
     
    8383
    8484                //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);
    8686                t_g[0]=SerialToVec(t_g_serial,numberofnodes);
    8787                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);
    8989                m_g[0]=SerialToVec(m_g_serial,numberofnodes);
    9090                xfree((void**)&m_g_serial);
  • issm/trunk/src/c/parallel/thermal_core_nonlinear.cpp

    r3446 r3709  
    4141        kflag=1; pflag=1;
    4242
    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);
    5050
    5151        count=1;
  • issm/trunk/src/c/parallel/transient.cpp

    r3567 r3709  
    3636       
    3737        /*inputs: */
    38         double* u_g=NULL;
    39         double* m_g=NULL;
    40         double* a_g=NULL;
    41         double  dt;
    42         double  yts;
    4338        Param*  param=NULL;
    4439
     
    9489       
    9590        /*Do we run in 3d?, in which case we need thermal and melting also:*/
    96         model->FindParam(&dim,"dim");
     91        model->FindParam(&dim,DimEnum);
    9792        if(dim==3){
    9893                _printf_("read and create thermal finite element model:\n");
     
    10398
    10499        /*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);
    122102       
    123103        _printf_("initialize results:\n");
     
    167147        delete model;
    168148        delete inputs;
    169         xfree((void**)&u_g);
    170         xfree((void**)&m_g);
    171         xfree((void**)&a_g);
    172149
    173150        /*Get finish time and close*/
  • issm/trunk/src/c/parallel/transient_core_2d.cpp

    r3567 r3709  
    3030
    3131        Vec u_g=NULL;
    32         double* u_g_serial=NULL;
    33         double* u_g_serial3d=NULL;
    3432        Vec p_g=NULL;
    35         double* p_g_serial=NULL;
    3633        Vec h_g=NULL;
    3734        Vec new_h_g=NULL;
    3835        Vec h_g_intermediary=NULL;
    39         double* h_g_serial=NULL;
    4036        Vec s_g=NULL;
    4137        Vec new_s_g=NULL;
    42         double* s_g_serial=NULL;
    4338        Vec b_g=NULL;
    4439        Vec new_b_g=NULL;
    45         double* b_g_serial=NULL;
    4640
    4741        /*intermediary: */
     
    7266
    7367        //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);
    7872
    7973        /*initialize: */
    8074        step=1;
    8175        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);
    10576
    10677        while(time<finaltime){ //make sure we run up to finaltime.
     
    11081                step+=1;
    11182                time+=dt;
    112 
    113                 //update inputs
    114                 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);
    11883
    11984                //Deal with velocities.
     
    154119                result=new Result(results->Size()+1,time,step,"b_g",b_g); results->AddObject(result);
    155120
     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
    156127        }
    157128
    158129        /*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);
    165130        VecFree(&u_g);
    166131        VecFree(&p_g);
  • issm/trunk/src/c/parallel/transient_core_3d.cpp

    r3604 r3709  
    3232       
    3333        Vec u_g=NULL;
    34         double* u_g_serial=NULL;
    3534        Vec p_g=NULL;
    36         double* p_g_serial=NULL;
    3735        Vec h_g=NULL;
    3836        Vec h_g_intermediary=NULL;
    39         double* h_g_serial=NULL;
    4037        Vec s_g=NULL;
    41         double* s_g_serial=NULL;
    4238        Vec b_g=NULL;
    43         double* b_g_serial=NULL;
    4439        Vec t_g=NULL;
    4540        Vec t_g_average=NULL;
    46         double* t_g_serial=NULL;
    4741        double melting_offset;
    4842        Vec m_g=NULL;
    49         double* m_g_serial=NULL;
    5043
    5144        /*intermediary: */
     
    7871
    7972        //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);
    8477
    8578        /*initialize: */
    8679        step=1;
    8780        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);
    11881
    11982        while(time<finaltime){ //make sure we run up to finaltime.
     
    12386                step+=1;
    12487                time+=dt;
    125 
    126                 //update inputs
    127                 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);
    13388
    13489                //Deal with temperature first
     
    190145                result=new Result(results->Size()+1,time,step,"m_g",m_g); results->AddObject(result);
    191146
     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
    192155                //Save temporary results every 5 steps
    193156                if (step%5==0){
     
    216179        VecFree(&t_g);
    217180        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);
    225181}
Note: See TracChangeset for help on using the changeset viewer.