Changeset 16550


Ignore:
Timestamp:
10/25/13 15:31:24 (11 years ago)
Author:
Mathieu Morlighem
Message:

DEL: getting rid of CreateDatasets

Location:
issm/trunk-jpl/src/c
Files:
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/Makefile.am

    r16544 r16550  
    246246                                        ./modules/ModelProcessorx/EdgesPartitioning.cpp\
    247247                                        ./modules/ModelProcessorx/FacesPartitioning.cpp\
    248                                         ./modules/ModelProcessorx/CreateDataSets.cpp\
    249248                                        ./modules/ModelProcessorx/CreateParameters.cpp\
    250249                                        ./modules/ModelProcessorx/Autodiff/CreateParametersAutodiff.cpp\
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp

    r16544 r16550  
    1313#include "./ModelProcessorx.h"
    1414
    15 void ModelProcessorx(Elements** pelements, Nodes** pnodes, Vertices** pvertices, Materials** pmaterials, Constraints** pconstraints, Loads** ploads, Parameters** pparameters, FILE* IOMODEL,FILE* toolkitfile, char* rootpath,const int solution_enum,const int nummodels,const int* analysis_type_list){
     15void ModelProcessorx(Elements** pelements, Nodes** pnodes, Vertices** pvertices, Materials** pmaterials, Constraints** pconstraints, Loads** ploads, Parameters** pparameters, FILE* IOMODEL,FILE* toolkitfile, char* rootpath,const int solution_enum,const int nummodels,const int* analysis_enum_list){
    1616
    17         int   i,analysis_type,verbose;
     17        int   i,analysis_enum,verbose;
    1818        bool  isthermal,ismasstransport,isstressbalance,isgroundingline,isenthalpy;
    1919
     
    5353        for(i=0;i<nummodels;i++){
    5454
    55                 analysis_type=analysis_type_list[i];
     55                analysis_enum=analysis_enum_list[i];
    5656                parameters->AddObject(new IntParam(AnalysisCounterEnum,i));
    5757
    5858                /*Hack for trasient runs (FIXME: to be improved)*/
    59                 if(solution_enum==TransientSolutionEnum && analysis_type==ThermalAnalysisEnum  && iomodel->meshtype==Mesh2DhorizontalEnum) continue;
    60                 if(solution_enum==TransientSolutionEnum && analysis_type==MeltingAnalysisEnum  && iomodel->meshtype==Mesh2DhorizontalEnum) continue;
    61                 if(solution_enum==TransientSolutionEnum && analysis_type==EnthalpyAnalysisEnum && iomodel->meshtype==Mesh2DhorizontalEnum) continue;
    62                 if(solution_enum==TransientSolutionEnum && analysis_type==ThermalAnalysisEnum && isthermal==false) continue;
    63                 if(solution_enum==TransientSolutionEnum && analysis_type==MeltingAnalysisEnum && isthermal==false) continue;
    64                 if(solution_enum==TransientSolutionEnum && analysis_type==EnthalpyAnalysisEnum && isthermal==false) continue;
    65                 if(solution_enum==TransientSolutionEnum && analysis_type==ThermalAnalysisEnum && isenthalpy==true) continue;
    66                 if(solution_enum==TransientSolutionEnum && analysis_type==MeltingAnalysisEnum && isenthalpy==true) continue;
    67                 if(solution_enum==TransientSolutionEnum && analysis_type==EnthalpyAnalysisEnum && isenthalpy==false) continue;
    68                 if(solution_enum==TransientSolutionEnum && analysis_type==MasstransportAnalysisEnum && ismasstransport==false && isgroundingline==false) continue;
    69                 if(solution_enum==TransientSolutionEnum && analysis_type==StressbalanceAnalysisEnum && isstressbalance==false) continue;
    70                 if(solution_enum==TransientSolutionEnum && analysis_type==StressbalanceVerticalAnalysisEnum && isstressbalance==false) continue;
    71                 if(solution_enum==TransientSolutionEnum && analysis_type==StressbalanceSIAAnalysisEnum && isstressbalance==false) continue;
    72                 if(solution_enum==SteadystateSolutionEnum && analysis_type==ThermalAnalysisEnum && isenthalpy==true) continue;
    73                 if(solution_enum==SteadystateSolutionEnum && analysis_type==MeltingAnalysisEnum && isenthalpy==true) continue;
    74                 if(solution_enum==SteadystateSolutionEnum && analysis_type==EnthalpyAnalysisEnum && isenthalpy==false) continue;
     59                if(solution_enum==TransientSolutionEnum && analysis_enum==ThermalAnalysisEnum  && iomodel->meshtype==Mesh2DhorizontalEnum) continue;
     60                if(solution_enum==TransientSolutionEnum && analysis_enum==MeltingAnalysisEnum  && iomodel->meshtype==Mesh2DhorizontalEnum) continue;
     61                if(solution_enum==TransientSolutionEnum && analysis_enum==EnthalpyAnalysisEnum && iomodel->meshtype==Mesh2DhorizontalEnum) continue;
     62                if(solution_enum==TransientSolutionEnum && analysis_enum==ThermalAnalysisEnum && isthermal==false) continue;
     63                if(solution_enum==TransientSolutionEnum && analysis_enum==MeltingAnalysisEnum && isthermal==false) continue;
     64                if(solution_enum==TransientSolutionEnum && analysis_enum==EnthalpyAnalysisEnum && isthermal==false) continue;
     65                if(solution_enum==TransientSolutionEnum && analysis_enum==ThermalAnalysisEnum && isenthalpy==true) continue;
     66                if(solution_enum==TransientSolutionEnum && analysis_enum==MeltingAnalysisEnum && isenthalpy==true) continue;
     67                if(solution_enum==TransientSolutionEnum && analysis_enum==EnthalpyAnalysisEnum && isenthalpy==false) continue;
     68                if(solution_enum==TransientSolutionEnum && analysis_enum==MasstransportAnalysisEnum && ismasstransport==false && isgroundingline==false) continue;
     69                if(solution_enum==TransientSolutionEnum && analysis_enum==StressbalanceAnalysisEnum && isstressbalance==false) continue;
     70                if(solution_enum==TransientSolutionEnum && analysis_enum==StressbalanceVerticalAnalysisEnum && isstressbalance==false) continue;
     71                if(solution_enum==TransientSolutionEnum && analysis_enum==StressbalanceSIAAnalysisEnum && isstressbalance==false) continue;
     72                if(solution_enum==SteadystateSolutionEnum && analysis_enum==ThermalAnalysisEnum && isenthalpy==true) continue;
     73                if(solution_enum==SteadystateSolutionEnum && analysis_enum==MeltingAnalysisEnum && isenthalpy==true) continue;
     74                if(solution_enum==SteadystateSolutionEnum && analysis_enum==EnthalpyAnalysisEnum && isenthalpy==false) continue;
    7575
    76                 if(VerboseMProcessor()) _printf0_("   creating datasets for analysis " << EnumToStringx(analysis_type) << "\n");
    77                 CreateDataSets(elements,nodes,vertices,materials,constraints,loads,parameters,iomodel,toolkitfile,rootpath,solution_enum,analysis_type,nummodels,i);
     76                if(VerboseMProcessor()) _printf0_("   creating datasets for analysis " << EnumToStringx(analysis_enum) << "\n");
     77                Analysis* analysis = EnumToAnalysis(analysis_enum);
     78                analysis->UpdateParameters(parameters,iomodel,solution_enum,analysis_enum);
     79                analysis->CreateNodes(nodes,iomodel);
     80                analysis->CreateConstraints(constraints,iomodel);
     81                analysis->CreateLoads(loads,iomodel);
     82                analysis->UpdateElements(elements,iomodel,i,analysis_enum);
     83                delete analysis;
     84
     85
     86                /* Update counters, because we have created more nodes, loads and
     87                 * constraints, and ids for objects created in next call to CreateDataSets
     88                 * will need to start at the end of the updated counters: */
     89                iomodel->nodecounter       = nodes->MaximumId();
     90                iomodel->loadcounter       = loads->NumberOfLoads();
     91                iomodel->constraintcounter = constraints->NumberOfConstraints();
    7892        }
     93
     94        /*Solution specific updates*/
     95        #ifdef _HAVE_CONTROL_
     96        UpdateElementsAndMaterialsControl(elements,materials,iomodel);
     97        #endif
     98        #ifdef _HAVE_DAKOTA_
     99        UpdateElementsAndMaterialsDakota(elements,materials,iomodel);
     100        #endif
     101        #ifdef _HAVE_TRANSIENT_
     102        if(solution_enum==TransientSolutionEnum){
     103                UpdateElementsTransient(elements,parameters,iomodel,analysis_enum);
     104        }
     105        #endif
    79106
    80107        /* Sort datasets:
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.h

    r16544 r16550  
    1212
    1313/*Creation of fem datasets: general drivers*/
    14 void CreateDataSets(Elements* elements,Nodes* nodes,Vertices* vertices, Materials* materials, Constraints* constraints, Loads* loads,Parameters* parameters,IoModel* iomodel,FILE* toolkitfile,char* rootpath,const int solution_type,int analysis_type,const int nummodels,int analysis_counter);
    1514void CreateElementsVerticesAndMaterials(Elements* elements,Vertices* vertices,Materials* materials, IoModel* iomodel,const int nummodels);
    1615void CreateParameters(Parameters*parameters,IoModel* iomodel,char* rootpath,FILE* toolkitfile,const int solution_type);
     
    2120void UpdateElementsAndMaterialsControl(Elements* elements,Materials* materials, IoModel* iomodel);
    2221void UpdateElementsAndMaterialsDakota(Elements* elements,Materials* materials, IoModel* iomodel);
    23 void UpdateElementsTransient(Elements* elements,Parameters* parameters,IoModel* iomodel,int analysis_counter,int analysis_type);
     22void UpdateElementsTransient(Elements* elements,Parameters* parameters,IoModel* iomodel,int analysis_type);
    2423void CreateNodes(Nodes*nodes, IoModel* iomodel,int analysis,int finite_element,int approximation=NoneApproximationEnum);
    2524
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Transient/UpdateElementsTransient.cpp

    r16211 r16550  
    99#include "../ModelProcessorx.h"
    1010
    11 void    UpdateElementsTransient(Elements* elements, Parameters* parameters,IoModel* iomodel,int analysis_counter,int analysis_type){
     11void    UpdateElementsTransient(Elements* elements, Parameters* parameters,IoModel* iomodel,int analysis_type){
    1212
    1313        bool isgroundingline;
Note: See TracChangeset for help on using the changeset viewer.