Changeset 4356


Ignore:
Timestamp:
06/30/10 14:58:56 (15 years ago)
Author:
Eric.Larour
Message:

New configuration_type instead of aliases

Location:
issm/trunk
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/cron/configs/linux64_larour

    r3610 r4356  
    11#
    2 ########### Configuration file for a Eric Larour nightly run on Linux ############
     2########### Configuration file for Eric Larour's nightly run on Linux ############
    33
    44#1: ISSM general configuration
     
    3131
    3232#execution path used for parallel runs
    33 EXECUTION_PATH="/u/wilkes-r1b/larour/Testing/Execution"
     33EXECUTION_PATH="/u/astrid-r1b/larour/Testing/Execution"
    3434
    3535#External packages installation. If SKIPPACKAGESCOMPILATION="no" the
     
    3939#EXTERNALPACKAGESDIR and DEVPACKAGESDIR will be copied.
    4040
    41 SKIPPACKAGESCOMPILATION="yes"
     41SKIPPACKAGESCOMPILATION="no"
    4242EXTERNALPACKAGESDIR="/u/astrid-r1b/larour/issm/trunk/externalpackages"
    4343DEVPACKAGESDIR="/u/astrid-r1b/larour/issm/trunk/devpackages"
    4444
    4545#List of external pakages to be installed
    46 EXTERNALPACKAGES="matlab mpich2 petsc metis triangle dakota"
     46EXTERNALPACKAGES="matlab mpich2 petsc metis triangle"
    4747
    4848#3: ISSM Compilation
     
    6161
    6262#Sender email address
    63 EMAIL_ADRESS="eric.larour@jpl.nasa.gov"
     63EMAIL_ADRESS="eric.larourm@jpl.nasa.gov"
    6464
    6565#5: Nightly run options
     
    7171
    7272#number of cpus used in the nightly runs.
    73 NUMCPUS_RUN=8
     73NUMCPUS_RUN=14
    7474
    7575#Nightly run options. The matlab routine nightlyrun.m will be called
     
    7777#by Matlab and nightlyrun.m
    7878
    79 NROPTIONS="'parallel',1"
     79NROPTIONS=""
  • issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h

    r4332 r4356  
    2525        /*Analysis types {{{1 */
    2626        AnalysisTypeEnum,
     27        BaseAnalysisTypeEnum,
    2728        SubAnalysisTypeEnum,
    2829        AnalysisCounterEnum,
  • issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.cpp

    r4272 r4356  
    2525
    2626        int analysis_type;
     27        int configuration_type;
    2728
    2829        /*First, get elements and loads configured: */
     
    3435        /*retrive parameters: */
    3536        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
     37        parameters->FindParam(&configuration_type,ConfigurationType);
    3638
    3739        /*Recover parameters: */
     
    4042
    4143        /*Get size of matrix: */
    42         gsize=nodes->NumberOfDofs(analysis_type);
     44        gsize=nodes->NumberOfDofs(configuration_type);
    4345
    4446        /*Compute stiffness matrix*/
  • issm/trunk/src/c/objects/Elements/Penta.cpp

    r4355 r4356  
    17851785        tria->results=tria_results;
    17861786        tria->parameters=tria_parameters;
     1787       
     1788       
     1789        parametersin->FindParam(&analysis_counter,AnalysisCounterEnum);
     1790        this->SetHookNodes(tria_node_ids,analysis_counter); this->nodes=NULL; //set hook to nodes, for this analysis type
     1791
    17871792
    17881793        /*now deal with nodes, matice and matpar: */
  • issm/trunk/src/c/objects/FemModel.cpp

    r4295 r4356  
    5959                _printf_("   processing finite element model of analysis %s:\n",EnumAsString(analysis_type_list[i]));
    6060                analysis_type=analysis_type_list[i];
    61                 this->SetCurrentAnalysis(analysis_type);
     61                this->SetCurrentConfiguration(analysis_type);
    6262       
    6363                _printf_("      create degrees of freedom\n");
     
    143143
    144144/*Numerics: */
    145 /*FUNCTION FemModel::GetCurrentAnalysis {{{1*/
    146 int FemModel::GetCurrentAnalysis(){
    147         return analysis_type_list[analysis_counter];
    148 }
    149 /*}}}1*/
    150 /*FUNCTION FemModel::SetCurrentAnalysis {{{1*/
    151 void FemModel::SetCurrentAnalysis(int analysis_type){
     145/*FUNCTION FemModel::SetCurrentConfiguration{{{1*/
     146void FemModel::SetCurrentConfiguration(int configuration_type,int analysis_type){
     147
     148        /*Use configuration_type to setup the analysis counter, the configurations of objects etc ... but use
     149         * analysis_type to drive the element numerics. This allows for use of 1 configuration_type for several
     150         * analyses. For example: do a SurfaceSlopeX, SurfaceSlopeY, BedSlopeX and BedSlopeY analysis using the
     151         * SlopeCompute configuration.*/
    152152
    153153        int found=-1;
    154154        for(int i=0;i<nummodels;i++){
    155                 if (analysis_type_list[i]==analysis_type){
     155                if (analysis_type_list[i]==configuration_type){
    156156                        found=i;
    157157                        break;
     
    159159        }
    160160        if(found!=-1) analysis_counter=found;
    161         else ISSMERROR("Could not find analysis_type %s in list of FemModel analyses",EnumAsString(analysis_type));
     161        else ISSMERROR("Could not find alias for analysis_type %s in list of FemModel analyses",EnumAsString(configuration_type));
    162162
    163163        /*activate matrices/vectors: */
     
    171171        this->parameters->SetParam(analysis_counter,AnalysisCounterEnum);
    172172        this->parameters->SetParam(analysis_type,AnalysisTypeEnum);
     173        this->parameters->SetParam(configuration_type,ConfigurationTypeEnum);
    173174}
    174175/*}}}1*/
    175 /*FUNCTION FemModel::SetCurrentAnalysisAlias {{{1*/
    176 void FemModel::SetCurrentAnalysisAlias(int base_analysis_type,int real_analysis_type){
     176/*FUNCTION FemModel::SetCurrentConfiguration{{{1*/
     177void FemModel::SetCurrentConfiguration(int configuration_type){
    177178
    178         /*Use base_analysis_type to setup the analysis counter, but the analysis type of the FemModel will remain
    179          * real_analysis_type. This means we are using the base_analysis_type settings to run a similar, compatible
    180          * analysis called real_analysis_type: */
    181 
    182         int found=-1;
    183         for(int i=0;i<nummodels;i++){
    184                 if (analysis_type_list[i]==base_analysis_type){
    185                         found=i;
    186                         break;
    187                 }
    188         }
    189         if(found!=-1) analysis_counter=found;
    190         else ISSMERROR("Could not find alias for analysis_type %s in list of FemModel analyses",EnumAsString(base_analysis_type));
    191 
    192         /*activate matrices/vectors: */
    193         Rmg=m_Rmg[analysis_counter];
    194         Gmn=m_Gmn[analysis_counter];
    195         nodesets=m_nodesets[analysis_counter];
    196         yg=m_yg[analysis_counter];
    197         ys=m_ys[analysis_counter];
    198 
    199         /*Now, plug analysis_counter and real_analysis_type inside the parameters: */
    200         this->parameters->SetParam(analysis_counter,AnalysisCounterEnum);
    201         this->parameters->SetParam(real_analysis_type,AnalysisTypeEnum);
     179        /*overload: analysis_type = configuration_type: */
     180        this->SetCurrentConfiguration(configuration_type,configuration_type);
    202181}
    203182/*}}}1*/
  • issm/trunk/src/c/objects/FemModel.h

    r4295 r4356  
    6161
    6262                /*Fem: */
    63                 void  SetCurrentAnalysis(int analysis_type);
    64                 void  SetCurrentAnalysisAlias(int base_analysis_type,int real_analysis_type);
    65                 int   GetCurrentAnalysis(void);
     63                void  SetCurrentConfiguration(int configuration_type);
     64                void  SetCurrentConfiguration(int configuration_type,int analysis_type);
    6665
    6766};
  • issm/trunk/src/c/solutions/ResetBoundaryConditions.cpp

    r4057 r4356  
    1919
    2020        /*set current analysis: */
    21         femmodel->SetCurrentAnalysis(analysis_type);
     21        femmodel->SetCurrentConfiguration(analysis_type);
    2222       
    2323        /*For this analysis_type, free existing boundary condition vectors: */
  • issm/trunk/src/c/solutions/adjoint_core.cpp

    r4353 r4356  
    4242
    4343        /*set analysis type to compute velocity: */
    44         if(isstokes)femmodel->SetCurrentAnalysis(DiagnosticStokesAnalysisEnum);
    45         else femmodel->SetCurrentAnalysis(DiagnosticHorizAnalysisEnum);
     44        if(isstokes)femmodel->SetCurrentConfiguration(DiagnosticStokesAnalysisEnum);
     45        else femmodel->SetCurrentConfiguration(DiagnosticHorizAnalysisEnum);
    4646       
    4747        _printf_("%s\n","      recover solution for this stiffness and right hand side:");
     
    7070
    7171        /*Update inputs using adjoint solution, and same type of setup as diagnostic solution: */
    72         if(isstokes)femmodel->SetCurrentAnalysisAlias(DiagnosticStokesAnalysisEnum,AdjointAnalysisEnum);
    73         else femmodel->SetCurrentAnalysisAlias(DiagnosticHorizAnalysisEnum,AdjointAnalysisEnum);
     72        if(isstokes)femmodel->SetCurrentConfiguration(DiagnosticStokesAnalysisEnum,AdjointAnalysisEnum);
     73        else femmodel->SetCurrentConfiguration(DiagnosticHorizAnalysisEnum,AdjointAnalysisEnum);
    7474       
    7575        InputUpdateFromSolutionx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,adjoint_g);
  • issm/trunk/src/c/solutions/balancedthickness2_core.cpp

    r4331 r4356  
    2020
    2121        /*activate formulation: */
    22         femmodel->SetCurrentAnalysis(BalancedthicknessAnalysisEnum);
     22        femmodel->SetCurrentConfiguration(BalancedthicknessAnalysisEnum);
    2323       
    2424        /*recover parameters: */
  • issm/trunk/src/c/solutions/balancedthickness_core.cpp

    r4331 r4356  
    2020
    2121        /*activate formulation: */
    22         femmodel->SetCurrentAnalysis(BalancedthicknessAnalysisEnum);
     22        femmodel->SetCurrentConfiguration(BalancedthicknessAnalysisEnum);
    2323       
    2424        /*recover parameters: */
  • issm/trunk/src/c/solutions/balancedvelocities_core.cpp

    r4331 r4356  
    1919
    2020        /*activate formulation: */
    21         femmodel->SetCurrentAnalysis(BalancedvelocitiesAnalysisEnum);
     21        femmodel->SetCurrentConfiguration(BalancedvelocitiesAnalysisEnum);
    2222       
    2323        /*recover parameters: */
  • issm/trunk/src/c/solutions/bedslope_core.cpp

    r4331 r4356  
    2727
    2828        /*Call on core computations: */
    29         femmodel->SetCurrentAnalysisAlias(BedSlopeAnalysisEnum,BedSlopeXAnalysisEnum);
     29        femmodel->SetCurrentConfiguration(BedSlopeAnalysisEnum,BedSlopeXAnalysisEnum);
    3030        solver_linear(NULL,femmodel);
    31         femmodel->SetCurrentAnalysisAlias(BedSlopeAnalysisEnum,BedSlopeYAnalysisEnum);
     31        femmodel->SetCurrentConfiguration(BedSlopeAnalysisEnum,BedSlopeYAnalysisEnum);
    3232        solver_linear(NULL,femmodel);
    3333       
  • issm/trunk/src/c/solutions/diagnostic_core.cpp

    r4331 r4356  
    5151                       
    5252                if(verbose)_printf_("%s\n"," computing hutter velocities...");
    53                 femmodel->SetCurrentAnalysis(DiagnosticHutterAnalysisEnum);
     53                femmodel->SetCurrentConfiguration(DiagnosticHutterAnalysisEnum);
    5454                solver_linear(NULL,femmodel);
    5555               
     
    6060               
    6161                if(verbose)_printf_("%s\n"," computing horizontal velocities...");
    62                 femmodel->SetCurrentAnalysis(DiagnosticHorizAnalysisEnum);
     62                femmodel->SetCurrentConfiguration(DiagnosticHorizAnalysisEnum);
    6363                solver_diagnostic_nonlinear(NULL,NULL,NULL,femmodel,modify_loads);
    6464        }
     
    6868
    6969                if(verbose)_printf_("%s\n"," computing vertical velocities...");
    70                 femmodel->SetCurrentAnalysis(DiagnosticVertAnalysisEnum);
     70                femmodel->SetCurrentConfiguration(DiagnosticVertAnalysisEnum);
    7171                solver_linear(NULL,femmodel);
    7272
     
    8181
    8282                        if(verbose)_printf_("%s\n"," computing stokes velocities and pressure ...");
    83                         femmodel->SetCurrentAnalysis(DiagnosticStokesAnalysisEnum);
     83                        femmodel->SetCurrentConfiguration(DiagnosticStokesAnalysisEnum);
    8484                        solver_diagnostic_nonlinear(NULL,NULL,NULL,femmodel,conserve_loads);
    8585                }
  • issm/trunk/src/c/solutions/prognostic2_core.cpp

    r4331 r4356  
    1818
    1919        /*activate formulation: */
    20         femmodel->SetCurrentAnalysis(Prognostic2AnalysisEnum);
     20        femmodel->SetCurrentConfiguration(Prognostic2AnalysisEnum);
    2121
    2222        /*recover parameters: */
  • issm/trunk/src/c/solutions/prognostic_core.cpp

    r4331 r4356  
    1818
    1919        /*activate formulation: */
    20         femmodel->SetCurrentAnalysis(PrognosticAnalysisEnum);
     20        femmodel->SetCurrentConfiguration(PrognosticAnalysisEnum);
    2121       
    2222        /*recover parameters: */
  • issm/trunk/src/c/solutions/stokescontrolinit.cpp

    r4351 r4356  
    2727        /*if no Stokes analysis carried out, assign output and return*/
    2828        if (!isstokes){
    29                 femmodel->SetCurrentAnalysis(DiagnosticHorizAnalysisEnum);
     29                femmodel->SetCurrentConfiguration(DiagnosticHorizAnalysisEnum);
    3030                return;
    3131        }
     
    4040       
    4141        /*Run a complete diagnostic to update the Stokes spcs: */
    42         femmodel->SetCurrentAnalysis(DiagnosticHorizAnalysisEnum);
     42        femmodel->SetCurrentConfiguration(DiagnosticHorizAnalysisEnum);
    4343        solver_diagnostic_nonlinear(NULL,NULL,NULL,femmodel,conserve_loads);
    4444
     
    5454
    5555        if(verbose)_printf_("%s\n"," computing stokes velocities and pressure ...");
    56         femmodel->SetCurrentAnalysis(DiagnosticStokesAnalysisEnum);
     56        femmodel->SetCurrentConfiguration(DiagnosticStokesAnalysisEnum);
    5757        solver_diagnostic_nonlinear(NULL,NULL,NULL,femmodel,conserve_loads);
    5858}
  • issm/trunk/src/c/solutions/surfaceslope_core.cpp

    r4331 r4356  
    2727
    2828        /*Call on core computations: */
    29         femmodel->SetCurrentAnalysisAlias(SurfaceSlopeAnalysisEnum,SurfaceSlopeXAnalysisEnum);
     29        femmodel->SetCurrentConfiguration(SurfaceSlopeAnalysisEnum,SurfaceSlopeXAnalysisEnum);
    3030        solver_linear(NULL,femmodel);
    31         femmodel->SetCurrentAnalysisAlias(SurfaceSlopeAnalysisEnum,SurfaceSlopeYAnalysisEnum);
     31        femmodel->SetCurrentConfiguration(SurfaceSlopeAnalysisEnum,SurfaceSlopeYAnalysisEnum);
    3232        solver_linear(NULL,femmodel);
    3333       
  • issm/trunk/src/c/solutions/thermal_core_step.cpp

    r4057 r4356  
    2020
    2121        if(verbose)_printf_("computing temperatures:\n");
    22         femmodel->SetCurrentAnalysis(ThermalAnalysisEnum);
     22        femmodel->SetCurrentConfiguration(ThermalAnalysisEnum);
    2323        solver_thermal_nonlinear(NULL,NULL,femmodel);
    2424
    2525        if(verbose)_printf_("computing melting:\n");
    26         femmodel->SetCurrentAnalysis(MeltingAnalysisEnum);
     26        femmodel->SetCurrentConfiguration(MeltingAnalysisEnum);
    2727        solver_linear(NULL,femmodel);
    2828}
Note: See TracChangeset for help on using the changeset viewer.