Changeset 16542
- Timestamp:
- 10/24/13 16:30:36 (11 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 64 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/AdjointBalancethicknessAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void AdjointBalancethicknessAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void AdjointBalancethicknessAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 _error_("not implemented yet"); 13 13 }/*}}}*/ … … 15 15 _error_("not implemented yet"); 16 16 }/*}}}*/ 17 void AdjointBalancethicknessAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/17 void AdjointBalancethicknessAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 18 18 _error_("not implemented yet"); 19 19 }/*}}}*/ 20 void AdjointBalancethicknessAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/20 void AdjointBalancethicknessAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 21 21 _error_("not implemented yet"); 22 22 }/*}}}*/ 23 void AdjointBalancethicknessAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/23 void AdjointBalancethicknessAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 24 24 _error_("not implemented yet"); 25 25 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/AdjointBalancethicknessAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/AdjointHorizAnalysis.cpp
r16539 r16542 9 9 _error_("not implemented"); 10 10 }/*}}}*/ 11 void AdjointHorizAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void AdjointHorizAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 _error_("not implemented yet"); 13 13 }/*}}}*/ … … 15 15 _error_("not implemented yet"); 16 16 }/*}}}*/ 17 void AdjointHorizAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/17 void AdjointHorizAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 18 18 _error_("not implemented yet"); 19 19 }/*}}}*/ 20 void AdjointHorizAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/20 void AdjointHorizAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 21 21 _error_("not implemented yet"); 22 22 }/*}}}*/ 23 void AdjointHorizAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/23 void AdjointHorizAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 24 24 _error_("not implemented yet"); 25 25 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/AdjointHorizAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/Analysis.h
r16539 r16542 19 19 virtual ~Analysis(){}; 20 20 virtual int DofsPerNode(int** doflist,int meshtype,int approximation)=0; 21 virtual void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum)=0;21 virtual void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum)=0; 22 22 virtual void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type)=0; 23 virtual void CreateNodes(Nodes* * pnodes,IoModel* iomodel)=0;24 virtual void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel)=0;25 virtual void CreateLoads(Loads* * ploads, IoModel* iomodel)=0;23 virtual void CreateNodes(Nodes* nodes,IoModel* iomodel)=0; 24 virtual void CreateConstraints(Constraints* constraints,IoModel* iomodel)=0; 25 virtual void CreateLoads(Loads* loads, IoModel* iomodel)=0; 26 26 }; 27 27 #endif -
issm/trunk-jpl/src/c/analyses/BalancethicknessAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void BalancethicknessAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void BalancethicknessAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 }/*}}}*/ 13 13 void BalancethicknessAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 49 49 } 50 50 }/*}}}*/ 51 void BalancethicknessAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/51 void BalancethicknessAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 52 52 53 53 int stabilization; … … 60 60 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 61 61 if(stabilization!=3){ 62 ::CreateNodes( pnodes,iomodel,BalancethicknessAnalysisEnum,P1Enum);62 ::CreateNodes(nodes,iomodel,BalancethicknessAnalysisEnum,P1Enum); 63 63 } 64 64 else{ 65 ::CreateNodes( pnodes,iomodel,BalancethicknessAnalysisEnum,P1DGEnum);65 ::CreateNodes(nodes,iomodel,BalancethicknessAnalysisEnum,P1DGEnum); 66 66 } 67 67 iomodel->DeleteData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 68 68 }/*}}}*/ 69 void BalancethicknessAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/69 void BalancethicknessAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 70 70 71 71 /*Fetch parameters: */ 72 72 int stabilization; 73 73 iomodel->Constant(&stabilization,BalancethicknessStabilizationEnum); 74 75 /*Recover pointer: */76 Constraints* constraints=*pconstraints;77 74 78 75 /*Do not add constraints in DG*/ … … 81 78 } 82 79 83 /*Assign output pointer: */84 *pconstraints=constraints;85 80 }/*}}}*/ 86 void BalancethicknessAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/81 void BalancethicknessAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 87 82 88 83 /*Intermediary*/ … … 92 87 /*Fetch parameters: */ 93 88 iomodel->Constant(&stabilization,BalancethicknessStabilizationEnum); 94 95 /*Recover pointer: */96 Loads* loads=*ploads;97 89 98 90 /*Loads only in DG*/ … … 119 111 iomodel->DeleteData(1,ThicknessEnum); 120 112 } 121 122 /*Assign output pointer: */123 *ploads=loads;124 113 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/BalancethicknessAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/BalancethicknessSoftAnalysis.cpp
r16539 r16542 9 9 _error_("not implemented"); 10 10 }/*}}}*/ 11 void BalancethicknessSoftAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void BalancethicknessSoftAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 _error_("not implemented yet"); 13 13 }/*}}}*/ … … 15 15 _error_("not implemented yet"); 16 16 }/*}}}*/ 17 void BalancethicknessSoftAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/17 void BalancethicknessSoftAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 18 18 _error_("not implemented yet"); 19 19 }/*}}}*/ 20 void BalancethicknessSoftAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/20 void BalancethicknessSoftAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 21 21 _error_("not implemented yet"); 22 22 }/*}}}*/ 23 void BalancethicknessSoftAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/23 void BalancethicknessSoftAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 24 24 _error_("not implemented yet"); 25 25 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/BalancethicknessSoftAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/BalancevelocityAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void BalancevelocityAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void BalancevelocityAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 }/*}}}*/ 13 13 void BalancevelocityAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 38 38 } 39 39 }/*}}}*/ 40 void BalancevelocityAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/40 void BalancevelocityAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 41 41 42 42 /*Check in 3d*/ … … 45 45 /*First fetch data: */ 46 46 iomodel->FetchData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum); 47 ::CreateNodes( pnodes,iomodel,BalancevelocityAnalysisEnum,P1Enum);47 ::CreateNodes(nodes,iomodel,BalancevelocityAnalysisEnum,P1Enum); 48 48 iomodel->DeleteData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum); 49 49 }/*}}}*/ 50 void BalancevelocityAnalysis::CreateConstraints(Constraints** pconstraints,IoModel* iomodel){/*{{{*/ 51 52 /*Recover pointer: */ 53 Constraints* constraints=*pconstraints; 50 void BalancevelocityAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 54 51 55 52 /*No constraints for now*/ 56 53 //IoModelToConstraintsx(constraints,iomodel,BalancethicknessSpcthicknessEnum,BalancevelocityAnalysisEnum,P1Enum); 57 58 /*Assign output pointer: */59 *pconstraints=constraints;60 54 }/*}}}*/ 61 void BalancevelocityAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/55 void BalancevelocityAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 62 56 63 57 /*No loads*/ -
issm/trunk-jpl/src/c/analyses/BalancevelocityAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.cpp
r16541 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void DamageEvolutionAnalysis::UpdateParameters(Parameters** pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 Parameters *parameters = NULL; 13 char* law = NULL; 14 15 /*Get parameters: */ 16 parameters=*pparameters; 11 void DamageEvolutionAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 17 12 18 13 /*retrieve some parameters: */ … … 27 22 28 23 /*Retrieve law dependent parameters: */ 24 char* law = NULL; 29 25 iomodel->Constant(&law,DamageLawEnum); 30 26 if (strcmp(law,"pralong")==0){ … … 36 32 parameters->AddObject(iomodel->CopyConstantObject(DamageHealingEnum)); 37 33 } 34 xDelete<char>(law); 38 35 39 /*Assign output pointer: */40 xDelete<char>(law);41 *pparameters=parameters;42 36 }/*}}}*/ 43 37 void DamageEvolutionAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 67 61 } 68 62 }/*}}}*/ 69 void DamageEvolutionAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/63 void DamageEvolutionAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 70 64 71 65 iomodel->FetchData(1,MeshVertexonbedEnum); 72 ::CreateNodes( pnodes,iomodel,DamageEvolutionAnalysisEnum,P1Enum);66 ::CreateNodes(nodes,iomodel,DamageEvolutionAnalysisEnum,P1Enum); 73 67 iomodel->DeleteData(1,MeshVertexonbedEnum); 74 68 }/*}}}*/ 75 void DamageEvolutionAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/69 void DamageEvolutionAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 76 70 77 /*Fetch parameters: */78 71 int stabilization; 79 72 iomodel->Constant(&stabilization,DamageStabilizationEnum); 80 73 81 /*Recover pointer: */82 Constraints* constraints=*pconstraints;83 84 74 IoModelToConstraintsx(constraints,iomodel,DamageSpcdamageEnum,DamageEvolutionAnalysisEnum,P1Enum); 85 75 86 /*Assign output pointer: */87 *pconstraints=constraints;88 76 }/*}}}*/ 89 void DamageEvolutionAnalysis::CreateLoads(Loads** ploads, IoModel* iomodel){/*{{{*/ 90 91 /*Recover pointer: */ 92 Loads* loads=*ploads; 77 void DamageEvolutionAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 93 78 94 79 /*create penalties for nodes: no node can have a damage > 1*/ … … 107 92 iomodel->DeleteData(1,DamageSpcdamageEnum); 108 93 109 /*Assign output pointer: */110 *ploads=loads;111 94 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void EnthalpyAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void EnthalpyAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 }/*}}}*/ 13 13 void EnthalpyAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 75 75 iomodel->DeleteData(3,TemperatureEnum,WaterfractionEnum,PressureEnum); 76 76 }/*}}}*/ 77 void EnthalpyAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/77 void EnthalpyAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 78 78 79 79 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 80 ::CreateNodes( pnodes,iomodel,EnthalpyAnalysisEnum,P1Enum);80 ::CreateNodes(nodes,iomodel,EnthalpyAnalysisEnum,P1Enum); 81 81 iomodel->DeleteData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 82 82 }/*}}}*/ 83 void EnthalpyAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/83 void EnthalpyAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 84 84 85 85 /*Intermediary*/ … … 98 98 iomodel->Constant(&heatcapacity,MaterialsHeatcapacityEnum); 99 99 iomodel->Constant(&referencetemperature,ConstantsReferencetemperatureEnum); 100 101 /*Recover pointer: */102 Constraints* constraints=*pconstraints;103 100 104 101 /*return if 2d mesh*/ … … 168 165 xDelete<IssmDouble>(times); 169 166 xDelete<IssmDouble>(values); 170 171 /*Assign output pointer: */172 *pconstraints=constraints;173 167 }/*}}}*/ 174 void EnthalpyAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/168 void EnthalpyAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 175 169 176 170 /*No loads */ -
issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/EnumToAnalysis.h
r16539 r16542 8 8 #endif 9 9 int DofsPerNode(int** doflist,int meshtype,int approximation); 10 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);10 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 11 11 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 12 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);13 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);14 void CreateLoads(Loads* * ploads, IoModel* iomodel);12 void CreateNodes(Nodes* nodes,IoModel* iomodel); 13 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 14 void CreateLoads(Loads* loads, IoModel* iomodel); -
issm/trunk-jpl/src/c/analyses/ExtrudeFromBaseAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void ExtrudeFromBaseAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void ExtrudeFromBaseAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 }/*}}}*/ 13 13 void ExtrudeFromBaseAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 26 26 } 27 27 }/*}}}*/ 28 void ExtrudeFromBaseAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/28 void ExtrudeFromBaseAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 29 29 30 ::CreateNodes( pnodes,iomodel,ExtrudeFromBaseAnalysisEnum,P1Enum);30 ::CreateNodes(nodes,iomodel,ExtrudeFromBaseAnalysisEnum,P1Enum); 31 31 32 32 }/*}}}*/ 33 void ExtrudeFromBaseAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/33 void ExtrudeFromBaseAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 34 34 }/*}}}*/ 35 void ExtrudeFromBaseAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/35 void ExtrudeFromBaseAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 36 36 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/ExtrudeFromBaseAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/ExtrudeFromTopAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void ExtrudeFromTopAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void ExtrudeFromTopAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 }/*}}}*/ 13 13 void ExtrudeFromTopAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 26 26 } 27 27 }/*}}}*/ 28 void ExtrudeFromTopAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/28 void ExtrudeFromTopAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 29 29 30 ::CreateNodes( pnodes,iomodel,ExtrudeFromBaseAnalysisEnum,P1Enum);30 ::CreateNodes(nodes,iomodel,ExtrudeFromBaseAnalysisEnum,P1Enum); 31 31 32 32 }/*}}}*/ 33 void ExtrudeFromTopAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/33 void ExtrudeFromTopAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 34 34 }/*}}}*/ 35 void ExtrudeFromTopAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/35 void ExtrudeFromTopAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 36 36 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/ExtrudeFromTopAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void FreeSurfaceBaseAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void FreeSurfaceBaseAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 }/*}}}*/ 13 13 void FreeSurfaceBaseAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 41 41 } 42 42 }/*}}}*/ 43 void FreeSurfaceBaseAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/43 void FreeSurfaceBaseAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 44 44 45 45 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 46 ::CreateNodes( pnodes,iomodel,FreeSurfaceBaseAnalysisEnum,P1Enum);46 ::CreateNodes(nodes,iomodel,FreeSurfaceBaseAnalysisEnum,P1Enum); 47 47 iomodel->DeleteData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 48 48 }/*}}}*/ 49 void FreeSurfaceBaseAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/49 void FreeSurfaceBaseAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 50 50 }/*}}}*/ 51 void FreeSurfaceBaseAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/51 void FreeSurfaceBaseAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 52 52 53 53 /*Intermediaries*/ … … 55 55 int count=0; 56 56 int numvertex_pairing; 57 58 /*Recover pointer: */59 Loads* loads=*ploads;60 57 61 58 /*Create Penpair for vertex_pairing: */ … … 90 87 iomodel->DeleteData(vertex_pairing,MasstransportVertexPairingEnum); 91 88 iomodel->DeleteData(nodeonbed,MeshVertexonbedEnum); 92 93 /*Assign output pointer: */94 *ploads=loads;95 89 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/FreeSurfaceTopAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void FreeSurfaceTopAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void FreeSurfaceTopAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 }/*}}}*/ 13 13 void FreeSurfaceTopAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 39 39 } 40 40 }/*}}}*/ 41 void FreeSurfaceTopAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/41 void FreeSurfaceTopAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 42 42 43 43 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 44 ::CreateNodes( pnodes,iomodel,FreeSurfaceTopAnalysisEnum,P1Enum);44 ::CreateNodes(nodes,iomodel,FreeSurfaceTopAnalysisEnum,P1Enum); 45 45 iomodel->DeleteData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 46 46 }/*}}}*/ 47 void FreeSurfaceTopAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/47 void FreeSurfaceTopAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 48 48 }/*}}}*/ 49 void FreeSurfaceTopAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/49 void FreeSurfaceTopAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 50 50 51 51 /*Intermediaries*/ … … 53 53 int count=0; 54 54 int numvertex_pairing; 55 56 /*Recover pointer: */57 Loads* loads=*ploads;58 55 59 56 /*Create Penpair for vertex_pairing: */ … … 88 85 iomodel->DeleteData(vertex_pairing,MasstransportVertexPairingEnum); 89 86 iomodel->DeleteData(nodeonsurface,MeshVertexonsurfaceEnum); 90 91 /*Assign output pointer: */92 *ploads=loads;93 87 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/FreeSurfaceTopAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/GiaAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void GiaAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void GiaAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 }/*}}}*/ 13 13 void GiaAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 27 27 iomodel->FetchDataToInput(elements,GiaLithosphereThicknessEnum); 28 28 }/*}}}*/ 29 void GiaAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/30 ::CreateNodes( pnodes,iomodel,GiaAnalysisEnum,P1Enum);29 void GiaAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 30 ::CreateNodes(nodes,iomodel,GiaAnalysisEnum,P1Enum); 31 31 }/*}}}*/ 32 void GiaAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/32 void GiaAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 33 33 /*No constraints*/ 34 34 }/*}}}*/ 35 void GiaAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/35 void GiaAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 36 36 /*No loads*/ 37 37 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/GiaAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void HydrologyDCEfficientAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void HydrologyDCEfficientAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 13 Parameters *parameters = NULL;14 13 int hydrology_model; 15 14 bool isefficientlayer; 16 17 /*Get parameters: */18 parameters=*pparameters;19 15 20 16 /*retrieve some parameters: */ … … 22 18 23 19 /*Now, do we really want DC?*/ 24 if(hydrology_model!=HydrologydcEnum){ 25 *pparameters=parameters; 26 return; 27 } 20 if(hydrology_model!=HydrologydcEnum) return; 28 21 29 22 /*Do we want an efficient layer*/ 30 23 iomodel->Constant(&isefficientlayer,HydrologydcIsefficientlayerEnum); 31 if(!isefficientlayer){ 32 *pparameters=parameters; 33 return; 34 } 24 if(!isefficientlayer) return; 35 25 36 26 /*Nothing for now*/ 37 38 /*Assign output pointer: */39 *pparameters=parameters;40 27 }/*}}}*/ 41 28 void HydrologyDCEfficientAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 71 58 iomodel->FetchDataToInput(elements,EplHeadEnum); 72 59 }/*}}}*/ 73 void HydrologyDCEfficientAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/60 void HydrologyDCEfficientAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 74 61 75 62 /*Now, do we really want DC?*/ … … 84 71 85 72 iomodel->FetchData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum); 86 ::CreateNodes( pnodes,iomodel,HydrologyDCEfficientAnalysisEnum,P1Enum);73 ::CreateNodes(nodes,iomodel,HydrologyDCEfficientAnalysisEnum,P1Enum); 87 74 iomodel->DeleteData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum); 88 75 }/*}}}*/ 89 void HydrologyDCEfficientAnalysis::CreateConstraints(Constraints** pconstraints,IoModel* iomodel){/*{{{*/ 90 91 /*Recover pointer: */ 92 Constraints* constraints=*pconstraints; 76 void HydrologyDCEfficientAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 93 77 94 78 /*Do we really want DC?*/ … … 104 88 IoModelToConstraintsx(constraints,iomodel,HydrologydcSpceplHeadEnum,HydrologyDCEfficientAnalysisEnum,P1Enum); 105 89 106 /*Assign output pointer: */107 *pconstraints=constraints;108 90 }/*}}}*/ 109 void HydrologyDCEfficientAnalysis::CreateLoads(Loads** ploads, IoModel* iomodel){/*{{{*/ 110 111 /*Recover pointer: */ 112 Loads* loads=*ploads; 91 void HydrologyDCEfficientAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 113 92 114 93 /*Do we really want DC?*/ … … 123 102 124 103 /*Nothing for now*/ 125 126 /*Assign output pointer: */127 *ploads=loads;128 104 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void HydrologyDCInefficientAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void HydrologyDCInefficientAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 13 Parameters *parameters = NULL;14 13 int hydrology_model; 15 14 int sedimentlimit_flag; … … 21 20 IssmDouble rel_tol; 22 21 23 /*Get parameters: */24 parameters=*pparameters;25 26 22 /*retrieve some parameters: */ 27 23 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 28 24 29 25 /*Now, do we really want DC?*/ 30 if(hydrology_model!=HydrologydcEnum){ 31 *pparameters=parameters; 32 return; 33 } 26 if(hydrology_model!=HydrologydcEnum) return; 34 27 35 28 iomodel->FetchData(&isefficientlayer,HydrologydcIsefficientlayerEnum); … … 56 49 parameters->AddObject(new DoubleParam(HydrologydcRelTolEnum,rel_tol)); 57 50 58 /*Assign output pointer: */59 *pparameters=parameters;60 51 }/*}}}*/ 61 52 void HydrologyDCInefficientAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 93 84 if(isefficientlayer)iomodel->FetchDataToInput(elements,HydrologydcMaskEplactiveEnum); 94 85 }/*}}}*/ 95 void HydrologyDCInefficientAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/86 void HydrologyDCInefficientAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 96 87 97 88 /*Fetch parameters: */ … … 103 94 104 95 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 105 ::CreateNodes( pnodes,iomodel,HydrologyDCInefficientAnalysisEnum,P1Enum);96 ::CreateNodes(nodes,iomodel,HydrologyDCInefficientAnalysisEnum,P1Enum); 106 97 iomodel->DeleteData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 107 98 }/*}}}*/ 108 void HydrologyDCInefficientAnalysis::CreateConstraints(Constraints** pconstraints,IoModel* iomodel){/*{{{*/ 109 110 /*Recover pointer: */ 111 Constraints* constraints=*pconstraints; 99 void HydrologyDCInefficientAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 112 100 113 101 /*retrieve some parameters: */ … … 117 105 118 106 IoModelToConstraintsx(constraints,iomodel,HydrologydcSpcsedimentHeadEnum,HydrologyDCInefficientAnalysisEnum,P1Enum); 119 120 /*Assign output pointer: */121 *pconstraints=constraints;122 107 }/*}}}*/ 123 void HydrologyDCInefficientAnalysis::CreateLoads(Loads** ploads, IoModel* iomodel){/*{{{*/ 124 125 /*Recover pointer: */ 126 Loads* loads=*ploads; 108 void HydrologyDCInefficientAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 127 109 128 110 /*Fetch parameters: */ … … 148 130 } 149 131 } 150 /*Assign output pointer: */151 *ploads=loads;152 132 iomodel->DeleteData(1,MeshVertexonbedEnum); 153 133 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void HydrologyShreveAnalysis::UpdateParameters(Parameters** pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 13 Parameters *parameters = NULL; 14 int hydrology_model; 15 16 /*Get parameters: */ 17 parameters=*pparameters; 11 void HydrologyShreveAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 18 12 19 13 /*retrieve some parameters: */ 14 int hydrology_model; 20 15 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 21 16 22 17 /*Now, do we really want Shreve?*/ 23 if(hydrology_model!=HydrologyshreveEnum){ 24 *pparameters=parameters; 25 return; 26 } 18 if(hydrology_model!=HydrologyshreveEnum) return; 27 19 28 20 parameters->AddObject(new IntParam(HydrologyModelEnum,hydrology_model)); 29 21 parameters->AddObject(iomodel->CopyConstantObject(HydrologyshreveStabilizationEnum)); 30 22 31 /*Assign output pointer: */32 *pparameters=parameters;33 23 }/*}}}*/ 34 24 void HydrologyShreveAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 63 53 elements->InputDuplicate(WatercolumnEnum,WaterColumnOldEnum); 64 54 }/*}}}*/ 65 void HydrologyShreveAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/55 void HydrologyShreveAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 66 56 67 57 /*Fetch parameters: */ … … 73 63 74 64 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 75 ::CreateNodes( pnodes,iomodel,HydrologyShreveAnalysisEnum,P1Enum);65 ::CreateNodes(nodes,iomodel,HydrologyShreveAnalysisEnum,P1Enum); 76 66 iomodel->DeleteData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 77 67 }/*}}}*/ 78 void HydrologyShreveAnalysis::CreateConstraints(Constraints** pconstraints,IoModel* iomodel){/*{{{*/ 79 80 /*Recover pointer: */ 81 Constraints* constraints=*pconstraints; 68 void HydrologyShreveAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 82 69 83 70 /*retrieve some parameters: */ … … 89 76 IoModelToConstraintsx(constraints,iomodel,HydrologyshreveSpcwatercolumnEnum,HydrologyShreveAnalysisEnum,P1Enum); 90 77 91 /*Assign output pointer: */92 *pconstraints=constraints;93 78 }/*}}}*/ 94 void HydrologyShreveAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/79 void HydrologyShreveAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 95 80 /*No loads*/ 96 81 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/L2ProjectionBaseAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void L2ProjectionBaseAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void L2ProjectionBaseAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 }/*}}}*/ 13 13 void L2ProjectionBaseAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 34 34 } 35 35 }/*}}}*/ 36 void L2ProjectionBaseAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/36 void L2ProjectionBaseAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 37 37 38 38 if(iomodel->meshtype==Mesh3DEnum){ … … 42 42 iomodel->FetchData(1,MeshVertexonbedEnum); 43 43 } 44 ::CreateNodes( pnodes,iomodel,L2ProjectionBaseAnalysisEnum,P1Enum);44 ::CreateNodes(nodes,iomodel,L2ProjectionBaseAnalysisEnum,P1Enum); 45 45 iomodel->DeleteData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 46 46 }/*}}}*/ 47 void L2ProjectionBaseAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/47 void L2ProjectionBaseAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 48 48 49 49 /*No constraints*/ 50 50 }/*}}}*/ 51 void L2ProjectionBaseAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/51 void L2ProjectionBaseAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 52 52 53 53 /*No loads*/ -
issm/trunk-jpl/src/c/analyses/L2ProjectionBaseAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void MasstransportAnalysis::UpdateParameters(Parameters** pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 13 /*Get parameters: */ 14 Parameters *parameters=*pparameters; 11 void MasstransportAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 15 12 16 13 parameters->AddObject(iomodel->CopyConstantObject(FlowequationIsFSEnum)); 17 14 18 /*Assign output pointer: */19 *pparameters = parameters;20 15 }/*}}}*/ 21 16 void MasstransportAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 101 96 } 102 97 }/*}}}*/ 103 void MasstransportAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/98 void MasstransportAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 104 99 105 100 /*Fetch parameters: */ … … 113 108 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 114 109 if(stabilization!=3){ 115 ::CreateNodes( pnodes,iomodel,MasstransportAnalysisEnum,P1Enum);110 ::CreateNodes(nodes,iomodel,MasstransportAnalysisEnum,P1Enum); 116 111 } 117 112 else{ 118 ::CreateNodes( pnodes,iomodel,MasstransportAnalysisEnum,P1DGEnum);113 ::CreateNodes(nodes,iomodel,MasstransportAnalysisEnum,P1DGEnum); 119 114 } 120 115 iomodel->DeleteData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 121 116 }/*}}}*/ 122 void MasstransportAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/117 void MasstransportAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 123 118 124 119 /*Fetch parameters: */ … … 126 121 iomodel->Constant(&stabilization,MasstransportStabilizationEnum); 127 122 128 /*Recover pointer: */129 Constraints* constraints=*pconstraints;130 131 123 /*Do not add constraints in DG, they are weakly imposed*/ 132 124 if(stabilization!=3){ 133 125 IoModelToConstraintsx(constraints,iomodel,MasstransportSpcthicknessEnum,MasstransportAnalysisEnum,P1Enum); 134 126 } 135 136 /*Assign output pointer: */137 *pconstraints=constraints;138 127 }/*}}}*/ 139 void MasstransportAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/128 void MasstransportAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 140 129 141 130 /*Intermediaries*/ … … 148 137 /*Fetch parameters: */ 149 138 iomodel->Constant(&stabilization,MasstransportStabilizationEnum); 150 151 /*Recover pointer: */152 Loads* loads=*ploads;153 139 154 140 /*Loads only in DG*/ … … 209 195 iomodel->DeleteData(nodeonbed,MeshVertexonbedEnum); 210 196 211 /*Assign output pointer: */212 *ploads=loads;213 197 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/MeltingAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void MeltingAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void MeltingAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 }/*}}}*/ 13 13 void MeltingAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 42 42 iomodel->FetchDataToInput(elements,PressureEnum); 43 43 }/*}}}*/ 44 void MeltingAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/44 void MeltingAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 45 45 46 46 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 47 ::CreateNodes( pnodes,iomodel,MeltingAnalysisEnum,P1Enum);47 ::CreateNodes(nodes,iomodel,MeltingAnalysisEnum,P1Enum); 48 48 iomodel->DeleteData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 49 49 }/*}}}*/ 50 void MeltingAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/50 void MeltingAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 51 51 /*No Constraints*/ 52 52 }/*}}}*/ 53 void MeltingAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/53 void MeltingAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 54 54 55 55 /*if 2d: Error*/ 56 56 if(iomodel->meshtype==Mesh2DhorizontalEnum) _error_("2d meshes not supported yet"); 57 58 /*Recover pointer: */59 Loads* loads=*ploads;60 57 61 58 //create penalties for nodes: no node can have a temperature over the melting point … … 72 69 iomodel->DeleteData(1,MeshVertexonbedEnum); 73 70 74 /*Assign output pointer: */75 *ploads=loads;76 71 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/MeltingAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/MeshdeformationAnalysis.cpp
r16539 r16542 9 9 _error_("not implemented"); 10 10 }/*}}}*/ 11 void MeshdeformationAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void MeshdeformationAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 _error_("not implemented yet"); 13 13 }/*}}}*/ … … 15 15 _error_("not implemented yet"); 16 16 }/*}}}*/ 17 void MeshdeformationAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/17 void MeshdeformationAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 18 18 _error_("not implemented yet"); 19 19 }/*}}}*/ 20 void MeshdeformationAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/20 void MeshdeformationAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 21 21 _error_("not implemented yet"); 22 22 }/*}}}*/ 23 void MeshdeformationAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/23 void MeshdeformationAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 24 24 _error_("not implemented yet"); 25 25 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/MeshdeformationAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeXAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void SmoothedSurfaceSlopeXAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void SmoothedSurfaceSlopeXAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 }/*}}}*/ 13 13 void SmoothedSurfaceSlopeXAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 34 34 } 35 35 }/*}}}*/ 36 void SmoothedSurfaceSlopeXAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/36 void SmoothedSurfaceSlopeXAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 37 37 iomodel->FetchData(1,MeshVertexonbedEnum); 38 ::CreateNodes( pnodes,iomodel,SmoothedSurfaceSlopeXAnalysisEnum,P1Enum);38 ::CreateNodes(nodes,iomodel,SmoothedSurfaceSlopeXAnalysisEnum,P1Enum); 39 39 iomodel->DeleteData(1,MeshVertexonbedEnum); 40 40 }/*}}}*/ 41 void SmoothedSurfaceSlopeXAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/41 void SmoothedSurfaceSlopeXAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 42 42 }/*}}}*/ 43 void SmoothedSurfaceSlopeXAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/43 void SmoothedSurfaceSlopeXAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 44 44 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeXAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeYAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void SmoothedSurfaceSlopeYAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void SmoothedSurfaceSlopeYAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 }/*}}}*/ 13 13 void SmoothedSurfaceSlopeYAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 34 34 } 35 35 }/*}}}*/ 36 void SmoothedSurfaceSlopeYAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/36 void SmoothedSurfaceSlopeYAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 37 37 iomodel->FetchData(1,MeshVertexonbedEnum); 38 ::CreateNodes( pnodes,iomodel,SmoothedSurfaceSlopeYAnalysisEnum,P1Enum);38 ::CreateNodes(nodes,iomodel,SmoothedSurfaceSlopeYAnalysisEnum,P1Enum); 39 39 iomodel->DeleteData(1,MeshVertexonbedEnum); 40 40 }/*}}}*/ 41 void SmoothedSurfaceSlopeYAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/41 void SmoothedSurfaceSlopeYAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 42 42 }/*}}}*/ 43 void SmoothedSurfaceSlopeYAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/43 void SmoothedSurfaceSlopeYAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 44 44 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeYAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
r16539 r16542 66 66 return numdofs; 67 67 }/*}}}*/ 68 void StressbalanceAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/68 void StressbalanceAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 69 69 70 70 /*Intermediaries*/ 71 71 int numoutputs; 72 72 char** requestedoutputs = NULL; 73 74 /*Get parameters: */75 Parameters *parameters=*pparameters;76 73 77 74 parameters->AddObject(iomodel->CopyConstantObject(FlowequationIsSIAEnum)); … … 98 95 iomodel->DeleteData(&requestedoutputs,numoutputs,StressbalanceRequestedOutputsEnum); 99 96 100 /*Assign output pointer: */101 *pparameters = parameters;102 97 }/*}}}*/ 103 98 void StressbalanceAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 215 210 xDelete<int>(finiteelement_list); 216 211 }/*}}}*/ 217 void StressbalanceAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/212 void StressbalanceAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 218 213 219 214 /*Intermediary*/ … … 258 253 iomodel->FetchData(3,FlowequationBorderSSAEnum,FlowequationVertexEquationEnum,StressbalanceReferentialEnum); 259 254 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderFSEnum); 260 ::CreateNodes( pnodes,iomodel,StressbalanceAnalysisEnum,finiteelement,approximation);255 ::CreateNodes(nodes,iomodel,StressbalanceAnalysisEnum,finiteelement,approximation); 261 256 iomodel->DeleteData(6,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum, 262 257 FlowequationVertexEquationEnum,StressbalanceReferentialEnum); … … 265 260 /*Coupling: we are going to create P1 Elements only*/ 266 261 267 /*Recover nodes*/268 Nodes* nodes = *pnodes;269 262 Node* node = NULL; 270 263 int lid=0; … … 310 303 iomodel->DeleteData(6,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum, 311 304 FlowequationVertexEquationEnum,StressbalanceReferentialEnum); 312 313 /*Assign output pointer: */314 *pnodes=nodes;315 305 } 316 306 }/*}}}*/ 317 void StressbalanceAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/307 void StressbalanceAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 318 308 319 309 /*Intermediary*/ … … 344 334 IssmDouble* values=NULL; 345 335 346 /*Output*/347 Constraints *constraints = NULL;348 349 336 /*Fetch parameters: */ 350 337 iomodel->Constant(&g,ConstantsGEnum); … … 357 344 iomodel->Constant(&isFS,FlowequationIsFSEnum); 358 345 359 /*Recover pointer: */360 constraints=*pconstraints;361 362 346 /*Now, is the flag macayaealHO on? otherwise, do nothing: */ 363 if(!isSSA && !isHO && !isFS && !isL1L2){ 364 *pconstraints=constraints; 365 return; 366 } 347 if(!isSSA && !isHO && !isFS && !isL1L2) return; 367 348 368 349 /*Do we have coupling*/ … … 479 460 } 480 461 481 *pconstraints=constraints;482 462 return; 483 463 } … … 751 731 xDelete<IssmDouble>(values); 752 732 753 /*Assign output pointer: */754 *pconstraints=constraints;755 733 }/*}}}*/ 756 void StressbalanceAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/734 void StressbalanceAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 757 735 758 736 /*Intermediary*/ … … 774 752 iomodel->Constant(&numrifts,RiftsNumriftsEnum); 775 753 776 /*Recover pointer: */777 Loads* loads=*ploads;778 779 754 /*Now, is the flag macayaealHO on? otherwise, do nothing: */ 780 755 if(!isSSA && !isHO && !isFS && !isL1L2) return; … … 821 796 } 822 797 #endif 823 824 /*Assign output pointer: */825 *ploads=loads;826 798 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp
r16539 r16542 9 9 return 2; 10 10 }/*}}}*/ 11 void StressbalanceSIAAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void StressbalanceSIAAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 13 13 /*No specific parameters*/ … … 40 40 iomodel->DeleteData(1,FlowequationElementEquationEnum); 41 41 }/*}}}*/ 42 void StressbalanceSIAAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/42 void StressbalanceSIAAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 43 43 44 44 /*Intermediaries*/ … … 53 53 54 54 /*First create nodes*/ 55 Nodes* nodes=*pnodes;56 55 int lid=0; 57 if(!nodes) nodes = new Nodes();58 59 56 iomodel->FetchData(6,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum, 60 57 FlowequationVertexEquationEnum,StressbalanceReferentialEnum); … … 79 76 FlowequationVertexEquationEnum,StressbalanceReferentialEnum); 80 77 81 /*Assign output pointer: */82 *pnodes=nodes;83 84 78 }/*}}}*/ 85 void StressbalanceSIAAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/79 void StressbalanceSIAAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 86 80 87 81 /*Intermediary*/ … … 89 83 IssmDouble yts; 90 84 bool isSIA; 91 92 /*Output*/93 Constraints* constraints = NULL;94 95 /*Recover pointer: */96 constraints=*pconstraints;97 85 98 86 /*Fetch parameters: */ … … 138 126 iomodel->DeleteData(3,StressbalanceSpcvxEnum,StressbalanceSpcvyEnum,FlowequationVertexEquationEnum); 139 127 140 /*Assign output pointer: */141 *pconstraints=constraints;142 128 }/*}}}*/ 143 void StressbalanceSIAAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/129 void StressbalanceSIAAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 144 130 145 131 /*No loads*/ -
issm/trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void StressbalanceVerticalAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void StressbalanceVerticalAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 13 13 /*No specific parameters*/ … … 39 39 iomodel->FetchDataToInput(elements,VyEnum,0.); 40 40 }/*}}}*/ 41 void StressbalanceVerticalAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/41 void StressbalanceVerticalAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 42 42 43 43 /*return if not 3d mesh*/ … … 45 45 46 46 iomodel->FetchData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum); 47 ::CreateNodes( pnodes,iomodel,StressbalanceVerticalAnalysisEnum,P1Enum);47 ::CreateNodes(nodes,iomodel,StressbalanceVerticalAnalysisEnum,P1Enum); 48 48 iomodel->DeleteData(3,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum); 49 49 }/*}}}*/ 50 void StressbalanceVerticalAnalysis::CreateConstraints(Constraints* * pconstraints,IoModel* iomodel){/*{{{*/50 void StressbalanceVerticalAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 51 51 52 52 /*Intermediary*/ … … 56 56 /*Fetch parameters: */ 57 57 iomodel->Constant(&yts,ConstantsYtsEnum); 58 59 /*Recover pointer: */60 Constraints* constraints=*pconstraints;61 58 62 59 /*return if not 3d mesh*/ … … 91 88 iomodel->DeleteData(2,StressbalanceSpcvzEnum,FlowequationBorderFSEnum); 92 89 93 /*Assign output pointer: */94 *pconstraints=constraints;95 90 }/*}}}*/ 96 void StressbalanceVerticalAnalysis::CreateLoads(Loads* * ploads, IoModel* iomodel){/*{{{*/91 void StressbalanceVerticalAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 97 92 98 93 /*No loads*/ -
issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp
r16539 r16542 9 9 return 1; 10 10 }/*}}}*/ 11 void ThermalAnalysis::UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/11 void ThermalAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 }/*}}}*/ 13 13 void ThermalAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 59 59 } 60 60 }/*}}}*/ 61 void ThermalAnalysis::CreateNodes(Nodes* * pnodes,IoModel* iomodel){/*{{{*/61 void ThermalAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 62 62 63 63 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 64 ::CreateNodes( pnodes,iomodel,ThermalAnalysisEnum,P1Enum);64 ::CreateNodes(nodes,iomodel,ThermalAnalysisEnum,P1Enum); 65 65 iomodel->DeleteData(2,MeshVertexonbedEnum,MeshVertexonsurfaceEnum); 66 66 }/*}}}*/ 67 void ThermalAnalysis::CreateConstraints(Constraints** pconstraints,IoModel* iomodel){/*{{{*/ 68 69 /*Recover pointer: */ 70 Constraints* constraints=*pconstraints; 67 void ThermalAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 71 68 72 69 /*Only 3d mesh supported*/ … … 75 72 } 76 73 77 /*Assign output pointer: */78 *pconstraints=constraints;79 74 }/*}}}*/ 80 void ThermalAnalysis::CreateLoads(Loads** ploads, IoModel* iomodel){/*{{{*/ 81 82 /*Recover pointer: */ 83 Loads* loads=*ploads; 75 void ThermalAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 84 76 85 77 if(iomodel->meshtype==Mesh2DhorizontalEnum) _error_("2d meshes not supported yet"); … … 100 92 iomodel->DeleteData(1,ThermalSpctemperatureEnum); 101 93 102 /*Assign output pointer: */103 *ploads=loads;104 94 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/ThermalAnalysis.h
r16539 r16542 13 13 public: 14 14 int DofsPerNode(int** doflist,int meshtype,int approximation); 15 void UpdateParameters(Parameters* * pparameters,IoModel* iomodel,int solution_enum,int analysis_enum);15 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum); 16 16 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type); 17 void CreateNodes(Nodes* * pnodes,IoModel* iomodel);18 void CreateConstraints(Constraints* * pconstraints,IoModel* iomodel);19 void CreateLoads(Loads* * ploads, IoModel* iomodel);17 void CreateNodes(Nodes* nodes,IoModel* iomodel); 18 void CreateConstraints(Constraints* constraints,IoModel* iomodel); 19 void CreateLoads(Loads* loads, IoModel* iomodel); 20 20 }; 21 21 #endif -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Autodiff/CreateParametersAutodiff.cpp
r16467 r16542 8 8 #include "../ModelProcessorx.h" 9 9 10 void CreateParametersAutodiff(Parameters** pparameters,IoModel* iomodel ,int solution_type,int analysis_type){10 void CreateParametersAutodiff(Parameters** pparameters,IoModel* iomodel){ 11 11 12 12 int i; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/CreateParametersControl.cpp
r16313 r16542 8 8 #include "../ModelProcessorx.h" 9 9 10 void CreateParametersControl(Parameters* * pparameters,IoModel* iomodel,int solution_type,int analysis_type){10 void CreateParametersControl(Parameters* parameters,IoModel* iomodel,int solution_type){ 11 11 12 Parameters *parameters = NULL;13 12 bool control_analysis,tao_analysis; 14 13 int nsteps; … … 20 19 IssmDouble *optscal = NULL; 21 20 IssmDouble *maxiter = NULL; 22 23 /*Get parameters: */24 parameters=*pparameters;25 21 26 22 /*retrieve some parameters: */ … … 40 36 41 37 /*What solution type?*/ 42 if 38 if(solution_type==SteadystateSolutionEnum){ 43 39 parameters->AddObject(new BoolParam(ControlSteadyEnum,true)); 44 40 } … … 74 70 iomodel->DeleteData(maxiter,InversionMaxiterPerStepEnum); 75 71 } 76 77 /*Assign output pointer: */78 *pparameters=parameters;79 72 } -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateDataSets.cpp
r16539 r16542 14 14 #include "./ModelProcessorx.h" 15 15 16 void CreateDataSets(Elements** pelements,Nodes** pnodes, Vertices** pvertices, Materials** pmaterials, Constraints** pconstraints, Loads** ploads,Parameters** pparameters,IoModel* iomodel,FILE* toolkitfile,char* rootpath,const int solution_enum,const int analysis_enum,const int nummodels,int analysis_counter){ 17 18 Elements *elements = NULL; 19 Materials *materials = NULL; 20 Parameters *parameters = NULL; 21 22 /*Process Finite Element Mesh*/ 23 24 /*Partition Elements and Nodes*/ 25 ElementsAndVerticesPartitioning(&iomodel->my_elements,&iomodel->my_vertices,iomodel); 26 27 /*Create elements, vertices and materials, independent of analysis_enum: */ 28 CreateElementsVerticesAndMaterials(pelements, pvertices, pmaterials, iomodel,nummodels); 29 30 /*Create Parameters*/ 31 CreateParameters(pparameters,iomodel,rootpath,toolkitfile,solution_enum,analysis_enum,analysis_counter); 32 33 /*Recover elements and materials, for future update: */ 34 elements = *pelements; 35 materials = *pmaterials; 16 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_enum,const int analysis_enum,const int nummodels,int analysis_counter){ 36 17 37 18 /*Creates Nodes and constraints datasets if empty*/ 38 if(!*pnodes) *pnodes = new Nodes();39 if(!*pconstraints) *pconstraints = new Constraints();40 if(!*ploads) *ploads = new Loads();41 19 42 20 /*Now, branch onto analysis dependent model generation: */ 43 21 Analysis* analysis = EnumToAnalysis(analysis_enum); 44 analysis->UpdateParameters(p parameters,iomodel,solution_enum,analysis_enum);45 analysis->CreateNodes( pnodes,iomodel);46 analysis->CreateConstraints( pconstraints,iomodel);47 analysis->CreateLoads( ploads,iomodel);22 analysis->UpdateParameters(parameters,iomodel,solution_enum,analysis_enum); 23 analysis->CreateNodes(nodes,iomodel); 24 analysis->CreateConstraints(constraints,iomodel); 25 analysis->CreateLoads(loads,iomodel); 48 26 analysis->UpdateElements(elements,iomodel,analysis_counter,analysis_enum); 49 27 delete analysis; … … 59 37 #endif 60 38 61 62 39 /*Update Elements in case we are running a transient solution: */ 63 40 #ifdef _HAVE_TRANSIENT_ 64 parameters=*pparameters;65 41 if(analysis_counter==(nummodels-1)&& solution_enum==TransientSolutionEnum){ 66 42 UpdateElementsTransient(elements,parameters,iomodel,analysis_counter,analysis_enum); … … 69 45 70 46 /*Sort datasets: */ 71 SortDataSets( pelements,pnodes,pvertices, ploads, pmaterials, pconstraints, pparameters);47 SortDataSets(elements,nodes,vertices,loads,materials,constraints,parameters); 72 48 73 49 /* Update counters, because we have created more nodes, loads and 74 50 * constraints, and ids for objects created in next call to CreateDataSets 75 51 * will need to start at the end of the updated counters: */ 76 UpdateCounters(iomodel, pnodes,ploads,pconstraints);52 UpdateCounters(iomodel,nodes,loads,constraints); 77 53 } -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
r16336 r16542 8 8 #include "./ModelProcessorx.h" 9 9 10 void CreateElementsVerticesAndMaterials(Elements** pelements,Vertices** pvertices,Materials** pmaterials,IoModel* iomodel,const int nummodels){10 void CreateElementsVerticesAndMaterials(Elements* elements,Vertices* vertices,Materials* materials,IoModel* iomodel,const int nummodels){ 11 11 12 12 /*Intermediary*/ … … 16 16 bool dakota_analysis; 17 17 18 /*DataSets: */19 Elements *elements = NULL;20 Vertices *vertices = NULL;21 Materials *materials = NULL;22 23 18 /*Fetch parameters: */ 24 19 iomodel->Constant(&control_analysis,InversionIscontrolEnum); … … 27 22 28 23 /*Did we already create the elements? : */ 29 if(*pelements)return; 30 31 /*First create the elements, vertices, nodes and material properties, if they don't already exist */ 32 elements = new Elements(); 33 vertices = new Vertices(); 34 materials = new Materials(); 24 _assert_(elements->Size()==0); 35 25 36 26 /*Create elements*/ … … 104 94 /*Free data: */ 105 95 iomodel->DeleteData(6,MeshXEnum,MeshYEnum,MeshZEnum,BedEnum,ThicknessEnum,MaskIceLevelsetEnum); 106 107 /*Assign output pointer: */108 *pelements=elements;109 *pvertices=vertices;110 *pmaterials=materials;111 96 } -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp
r16024 r16542 9 9 #include "./ModelProcessorx.h" 10 10 11 void CreateNodes(Nodes* * pnodes, IoModel* iomodel,int analysis,int finite_element,int approximation){11 void CreateNodes(Nodes* nodes, IoModel* iomodel,int analysis,int finite_element,int approximation){ 12 12 13 13 /*Intermediaries*/ … … 16 16 bool *my_nodes = NULL; 17 17 Node *node = NULL; 18 19 /*Recover pointer: */20 Nodes* nodes=*pnodes;21 22 /*First create nodes*/23 if(!nodes) nodes = new Nodes();24 18 25 19 switch(finite_element){ … … 228 222 xDelete<bool>(my_edges); 229 223 xDelete<bool>(my_nodes); 230 231 /*Assign output pointer: */232 *pnodes=nodes;233 224 } -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp
r16474 r16542 8 8 #include "./ModelProcessorx.h" 9 9 10 void CreateOutputDefinitions(Parameters* * pparameters,IoModel* iomodel){10 void CreateOutputDefinitions(Parameters* parameters,IoModel* iomodel){ 11 11 12 12 int i,j; 13 13 14 Parameters *parameters = NULL;15 14 DataSet *output_definitions = NULL; 16 15 int *output_definition_enums = NULL; … … 20 19 IssmDouble **gatesegments = NULL; 21 20 int *gatesegments_M = NULL; 22 23 /*Get parameters: */24 parameters=*pparameters;25 21 26 22 /*Create output_definitions dataset: */ … … 59 55 delete output_definitions; 60 56 xDelete<int>(output_definition_enums); 61 62 /*Assign output pointer: */63 *pparameters=parameters;64 57 } -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r16539 r16542 16 16 #include "./ModelProcessorx.h" 17 17 18 void CreateParameters(Parameters* * pparameters,IoModel* iomodel,char* rootpath,FILE* toolkitsoptionsfid,const int solution_type,int analysis_type,int analysis_counter){18 void CreateParameters(Parameters* parameters,IoModel* iomodel,char* rootpath,FILE* toolkitsoptionsfid,const int solution_type){ 19 19 20 20 int i,j,m,k; 21 21 int numoutputs,meshtype; 22 Parameters *parameters = NULL;23 22 char** requestedoutputs = NULL; 24 23 IssmDouble time; … … 38 37 int count; 39 38 40 if(*pparameters)return; //do not create parameters twice! 41 42 /*Initialize dataset: */ 43 parameters = new Parameters(); 39 /*Make sure current dataset is empty*/ 40 _assert_(parameters->Size()==0); 44 41 45 42 /*Copy some constants from iomodel */ … … 130 127 /*some parameters that did not come with the iomodel: */ 131 128 parameters->AddObject(new IntParam(SolutionTypeEnum,solution_type)); 132 parameters->AddObject(new IntParam(AnalysisTypeEnum,analysis_type));133 parameters->AddObject(new IntParam(AnalysisCounterEnum,analysis_counter));134 129 135 130 iomodel->Constant(&time,TimesteppingStartTimeEnum); … … 224 219 225 220 /*Output definitions dataset: */ 226 CreateOutputDefinitions( ¶meters,iomodel);221 CreateOutputDefinitions(parameters,iomodel); 227 222 228 223 /*Before returning, create parameters in case we are running Qmu or control types runs: */ 229 224 #ifdef _HAVE_CONTROL_ 230 CreateParametersControl( ¶meters,iomodel,solution_type,analysis_type);225 CreateParametersControl(parameters,iomodel,solution_type); 231 226 #endif 232 227 233 228 #ifdef _HAVE_DAKOTA_ 234 CreateParametersDakota( ¶meters,iomodel,rootpath,solution_type,analysis_type);229 CreateParametersDakota(parameters,iomodel,rootpath); 235 230 #endif 236 231 … … 239 234 240 235 #ifdef _HAVE_ADOLC_ 241 CreateParametersAutodiff( ¶meters,iomodel,solution_type,analysis_type);236 CreateParametersAutodiff(parameters,iomodel); 242 237 #endif 243 244 /*Assign output pointer: */245 *pparameters=parameters;246 238 } -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp
r16240 r16542 9 9 #include "../ModelProcessorx.h" 10 10 11 void CreateParametersDakota(Parameters** pparameters,IoModel* iomodel,char* rootpath ,int solution_type,int analysis_type){11 void CreateParametersDakota(Parameters** pparameters,IoModel* iomodel,char* rootpath){ 12 12 13 13 /*variable declarations*/ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp
r16291 r16542 13 13 #include "./ModelProcessorx.h" 14 14 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_ type,const int nummodels,const int* analysis_type_list){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){ 16 16 17 17 int i,analysis_type,verbose; 18 18 bool isthermal,ismasstransport,isstressbalance,isgroundingline,isenthalpy; 19 19 20 /* output:*/21 Elements *elements = NULL;22 Nodes *nodes = NULL;23 Vertices *vertices = NULL;24 Materials *materials = NULL;25 Constraints *constraints = NULL;26 Loads *loads = NULL;27 Parameters *parameters = NULL;20 /*Initialize datasets*/ 21 Elements *elements = new Elements(); 22 Nodes *nodes = new Nodes(); 23 Vertices *vertices = new Vertices(); 24 Materials *materials = new Materials(); 25 Constraints *constraints = new Constraints(); 26 Loads *loads = new Loads(); 27 Parameters *parameters = new Parameters(); 28 28 29 29 /*Initialize IoModel from input file*/ … … 42 42 if(VerboseMProcessor()) _printf0_(" starting model processor \n"); 43 43 44 /*Partition Elements and Nodes*/ 45 ElementsAndVerticesPartitioning(&iomodel->my_elements,&iomodel->my_vertices,iomodel); 46 47 /*Create elements, vertices and materials, independent of analysis_enum: */ 48 CreateElementsVerticesAndMaterials(elements,vertices,materials,iomodel,nummodels); 49 50 /*Create Parameters*/ 51 CreateParameters(parameters,iomodel,rootpath,toolkitfile,solution_enum); 52 44 53 for(i=0;i<nummodels;i++){ 45 54 46 55 analysis_type=analysis_type_list[i]; 56 parameters->AddObject(new IntParam(AnalysisCounterEnum,i)); 47 57 48 58 /*Hack for trasient runs (FIXME: to be improved)*/ 49 if(solution_ type==TransientSolutionEnum && analysis_type==ThermalAnalysisEnum && iomodel->meshtype==Mesh2DhorizontalEnum) continue;50 if(solution_ type==TransientSolutionEnum && analysis_type==MeltingAnalysisEnum && iomodel->meshtype==Mesh2DhorizontalEnum) continue;51 if(solution_ type==TransientSolutionEnum && analysis_type==EnthalpyAnalysisEnum && iomodel->meshtype==Mesh2DhorizontalEnum) continue;52 if(solution_ type==TransientSolutionEnum && analysis_type==ThermalAnalysisEnum && isthermal==false) continue;53 if(solution_ type==TransientSolutionEnum && analysis_type==MeltingAnalysisEnum && isthermal==false) continue;54 if(solution_ type==TransientSolutionEnum && analysis_type==EnthalpyAnalysisEnum && isthermal==false) continue;55 if(solution_ type==TransientSolutionEnum && analysis_type==ThermalAnalysisEnum && isenthalpy==true) continue;56 if(solution_ type==TransientSolutionEnum && analysis_type==MeltingAnalysisEnum && isenthalpy==true) continue;57 if(solution_ type==TransientSolutionEnum && analysis_type==EnthalpyAnalysisEnum && isenthalpy==false) continue;58 if(solution_ type==TransientSolutionEnum && analysis_type==MasstransportAnalysisEnum && ismasstransport==false && isgroundingline==false) continue;59 if(solution_ type==TransientSolutionEnum && analysis_type==StressbalanceAnalysisEnum && isstressbalance==false) continue;60 if(solution_ type==TransientSolutionEnum && analysis_type==StressbalanceVerticalAnalysisEnum && isstressbalance==false) continue;61 if(solution_ type==TransientSolutionEnum && analysis_type==StressbalanceSIAAnalysisEnum && isstressbalance==false) continue;62 if(solution_ type==SteadystateSolutionEnum && analysis_type==ThermalAnalysisEnum && isenthalpy==true) continue;63 if(solution_ type==SteadystateSolutionEnum && analysis_type==MeltingAnalysisEnum && isenthalpy==true) continue;64 if(solution_ type==SteadystateSolutionEnum && analysis_type==EnthalpyAnalysisEnum && isenthalpy==false) continue;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; 65 75 66 76 if(VerboseMProcessor()) _printf0_(" creating datasets for analysis " << EnumToStringx(analysis_type) << "\n"); 67 CreateDataSets( &elements,&nodes,&vertices,&materials,&constraints,&loads,¶meters,iomodel,toolkitfile,rootpath,solution_type,analysis_type,nummodels,i);77 CreateDataSets(elements,nodes,vertices,materials,constraints,loads,parameters,iomodel,toolkitfile,rootpath,solution_enum,analysis_type,nummodels,i); 68 78 } 69 79 if(VerboseMProcessor()) _printf0_(" done with model processor \n"); … … 73 83 74 84 /*Assign output pointers:*/ 75 *pelements=elements; 76 *pnodes=nodes; 77 *pvertices=vertices; 78 *pmaterials=materials; 79 *pconstraints=constraints; 80 *ploads=loads; 81 *pparameters=parameters; 82 85 *pelements = elements; 86 *pnodes = nodes; 87 *pvertices = vertices; 88 *pmaterials = materials; 89 *pconstraints = constraints; 90 *ploads = loads; 91 *pparameters = parameters; 83 92 } -
issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.h
r16539 r16542 12 12 13 13 /*Creation of fem datasets: general drivers*/ 14 void CreateDataSets(Elements* * pelements,Nodes** pnodes,Vertices** pvertices, Materials** pmaterials, Constraints** pconstraints, Loads** ploads,Parameters** pparameters,IoModel* iomodel,FILE* toolkitfile,char* rootpath,const int solution_type,int analysis_type,const int nummodels,int analysis_counter);15 void CreateElementsVerticesAndMaterials(Elements* * pelements,Vertices** pvertices,Materials** pmaterials, IoModel* iomodel,const int nummodels);16 void CreateParameters(Parameters* * pparameters,IoModel* iomodel,char* rootpath,FILE* toolkitfile,const int solution_type,int analysis_type,int analysis_counter);17 void CreateParametersAutodiff(Parameters* * pparameters,IoModel* iomodel,int solution_type,int analysis_type);18 void CreateParametersControl(Parameters* * pparameters,IoModel* iomodel,int solution_type,int analysis_type);19 void CreateParametersDakota(Parameters* * pparameters,IoModel* iomodel,char* rootpath,int solution_type,int analysis_type);20 void CreateOutputDefinitions(Parameters* * pparameters,IoModel* iomodel);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); 15 void CreateElementsVerticesAndMaterials(Elements* elements,Vertices* vertices,Materials* materials, IoModel* iomodel,const int nummodels); 16 void CreateParameters(Parameters*parameters,IoModel* iomodel,char* rootpath,FILE* toolkitfile,const int solution_type); 17 void CreateParametersAutodiff(Parameters* parameters,IoModel* iomodel); 18 void CreateParametersControl(Parameters* parameters,IoModel* iomodel,int solution_type); 19 void CreateParametersDakota(Parameters* parameters,IoModel* iomodel,char* rootpath); 20 void CreateOutputDefinitions(Parameters* parameters,IoModel* iomodel); 21 21 void UpdateElementsAndMaterialsControl(Elements* elements,Materials* materials, IoModel* iomodel); 22 22 void UpdateElementsAndMaterialsDakota(Elements* elements,Materials* materials, IoModel* iomodel); 23 23 void UpdateElementsTransient(Elements* elements,Parameters* parameters,IoModel* iomodel,int analysis_counter,int analysis_type); 24 void CreateNodes(Nodes* * pnodes, IoModel* iomodel,int analysis,int finite_element,int approximation=NoneApproximationEnum);24 void CreateNodes(Nodes*nodes, IoModel* iomodel,int analysis,int finite_element,int approximation=NoneApproximationEnum); 25 25 26 26 /*partitioning: */ … … 39 39 40 40 /*Diverse: */ 41 void SortDataSets(Elements* * pelements,Nodes** pnodes,Vertices** pvertices, Loads** ploads, Materials** pmaterials, Constraints** pconstraints, Parameters** pparameters);42 void UpdateCounters(IoModel* iomodel,Nodes* * pnodes,Loads** ploads, Constraints** pconstraints);41 void SortDataSets(Elements*elements,Nodes*nodes,Vertices*vertices, Loads*loads, Materials*materials, Constraints*constraints, Parameters*parameters); 42 void UpdateCounters(IoModel* iomodel,Nodes*nodes,Loads*loads, Constraints*constraints); 43 43 44 44 #endif -
issm/trunk-jpl/src/c/modules/ModelProcessorx/SortDataSets.cpp
r15464 r16542 13 13 #include "./ModelProcessorx.h" 14 14 15 void SortDataSets(Elements** pelements,Nodes** pnodes,Vertices** pvertices, Loads** ploads, Materials** pmaterials, Constraints** pconstraints, Parameters** pparameters){ 16 17 Elements *elements = NULL; 18 Nodes *nodes = NULL; 19 Vertices *vertices = NULL; 20 Loads *loads = NULL; 21 Materials *materials = NULL; 22 Constraints *constraints = NULL; 23 Parameters *parameters = NULL; 24 25 /*Recover pointers: */ 26 elements = *pelements; 27 nodes = *pnodes; 28 vertices = *pvertices; 29 loads = *ploads; 30 materials = *pmaterials; 31 constraints = *pconstraints; 32 parameters = *pparameters; 15 void SortDataSets(Elements*elements,Nodes*nodes,Vertices*vertices, Loads*loads, Materials*materials, Constraints*constraints, Parameters*parameters){ 33 16 34 17 /*All our datasets are already ordered by ids. Set presort flag so that 35 18 * later on, when sorting is requested on these datasets, it will not be 36 19 * redone: */ 37 if(elements) elements->Presort(); 38 if(nodes) nodes->Presort(); 39 if(vertices) vertices->Presort(); 40 if(loads) loads->Presort(); 41 if(materials) materials->Presort(); 42 if(constraints) constraints->Presort(); 43 if(parameters) parameters->Presort(); 44 20 elements->Presort(); 21 nodes->Presort(); 22 vertices->Presort(); 23 loads->Presort(); 24 materials->Presort(); 25 constraints->Presort(); 26 parameters->Presort(); 45 27 } -
issm/trunk-jpl/src/c/modules/ModelProcessorx/UpdateCounters.cpp
r16182 r16542 13 13 #include "./ModelProcessorx.h" 14 14 15 void UpdateCounters(IoModel* iomodel,Nodes* * pnodes,Loads** ploads, Constraints** pconstraints){15 void UpdateCounters(IoModel* iomodel,Nodes* nodes,Loads* loads, Constraints* constraints){ 16 16 17 Nodes* nodes=NULL; 18 Loads* loads=NULL; 19 Constraints* constraints=NULL; 20 21 /*recover pointers: */ 22 nodes=*pnodes; 23 loads=*ploads; 24 constraints=*pconstraints; 25 26 if(nodes) iomodel->nodecounter=nodes->MaximumId(); 27 else iomodel->nodecounter=0; 28 29 if(loads)iomodel->loadcounter=loads->NumberOfLoads(); 30 else iomodel->loadcounter=0; 31 32 if(constraints)iomodel->constraintcounter=constraints->NumberOfConstraints(); 33 else iomodel->constraintcounter=0; 17 iomodel->nodecounter = nodes->MaximumId(); 18 iomodel->loadcounter = loads->NumberOfLoads(); 19 iomodel->constraintcounter = constraints->NumberOfConstraints(); 34 20 35 21 }
Note:
See TracChangeset
for help on using the changeset viewer.