Changeset 15450
- Timestamp:
- 07/06/13 09:52:45 (12 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/ElementHook.cpp
r15428 r15450 49 49 50 50 /*retrieve material_id: */ 51 iomodel->Constant(&matpar_id,MeshNumberofelementsEnum); matpar_id++;51 matpar_id = iomodel->numberofelements+1; 52 52 53 53 /*retrieve material_id*/ -
issm/trunk-jpl/src/c/classes/Loads/Icefront.cpp
r15423 r15450 43 43 int numnodes; 44 44 int numvertices; 45 int numberofelements;46 45 47 46 /*icefront constructor data: */ 48 47 int icefront_eid; 49 48 int icefront_mparid; 50 int icefront_node_ids[NUMVERTICESQUA]; //initialize with largest size51 int icefront_vertex_ids[NUMVERTICESQUA]; //initialize with largest size52 49 int icefront_fill; 53 54 /*find parameters: */ 55 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 50 int *icefront_node_ids = NULL; 51 int *icefront_vertex_ids = NULL; 56 52 57 53 /*First, retrieve element index and element type: */ … … 63 59 } 64 60 _assert_(iomodel->Data(DiagnosticIcefrontEnum)); 65 element=reCast<int,IssmDouble>( *(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+segment_width-2)-1); //element is in the penultimate column (node1 node2 ... elem fill)61 element=reCast<int,IssmDouble>(iomodel->Data(DiagnosticIcefrontEnum)[segment_width*i+segment_width-2]-1); 66 62 67 63 /*Build ids for hook constructors: */ 68 icefront_eid =reCast<int,IssmDouble>( *(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+segment_width-2)); //matlab indexing69 icefront_mparid =numberofelements+1; //matlab indexing64 icefront_eid = reCast<int,IssmDouble>(iomodel->Data(DiagnosticIcefrontEnum)[segment_width*i+segment_width-2]); //matlab indexing 65 icefront_mparid = iomodel->numberofelements+1; 70 66 71 67 if (in_icefront_type==MacAyeal2dIceFrontEnum || in_icefront_type==MacAyeal3dIceFrontEnum){ 68 numnodes = 2; 69 numvertices = 2; 70 icefront_node_ids = xNew<int>(numnodes); 71 icefront_vertex_ids = xNew<int>(numvertices); 72 72 icefront_node_ids[0]=iomodel->nodecounter+reCast<int>(*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+0)); 73 73 icefront_node_ids[1]=iomodel->nodecounter+reCast<int>(*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+1)); … … 76 76 } 77 77 else if (in_icefront_type==PattynIceFrontEnum || in_icefront_type==StokesIceFrontEnum){ 78 numnodes = 4; 79 numvertices = 4; 80 icefront_node_ids = xNew<int>(numnodes); 81 icefront_vertex_ids = xNew<int>(numvertices); 78 82 icefront_node_ids[0]=iomodel->nodecounter+reCast<int>(*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+0)); 79 83 icefront_node_ids[1]=iomodel->nodecounter+reCast<int>(*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+1)); … … 87 91 else _error_("in_icefront_type " << EnumToStringx(in_icefront_type) << " not supported yet!"); 88 92 89 if (in_icefront_type==PattynIceFrontEnum || in_icefront_type==StokesIceFrontEnum){90 numnodes=4;91 numvertices=4;92 }93 else{94 numnodes=2;95 numvertices=2;96 }97 98 93 /*Fill*/ 99 94 icefront_fill=reCast<int>(iomodel->Data(DiagnosticIcefrontEnum)[segment_width*i+segment_width-1]); … … 120 115 this->element = NULL; 121 116 this->matpar = NULL; 122 } 123 117 118 /*Clean up*/ 119 xDelete<int>(icefront_node_ids); 120 xDelete<int>(icefront_vertex_ids); 121 } 124 122 /*}}}*/ 125 123 /*FUNCTION Icefront::Icefront(const char* element_type_in,Inputs* inputs_in,Matpar* matpar_in, int icefront_type, int in_analysis_type) {{{*/ -
issm/trunk-jpl/src/c/classes/Loads/Riftfront.cpp
r15104 r15450 44 44 IssmDouble riftfront_fractionincrement; 45 45 bool riftfront_shelf; 46 int numberofelements;47 46 int penalty_lock; 48 47 … … 52 51 53 52 /*Fetch parameters: */ 54 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);55 53 iomodel->Constant(&penalty_lock,DiagnosticRiftPenaltyLockEnum); 56 54 … … 71 69 riftfront_elem_ids[0]=el1; 72 70 riftfront_elem_ids[1]=el2; 73 riftfront_matpar_id= numberofelements+1; //matlab indexing71 riftfront_matpar_id=iomodel->numberofelements+1; //matlab indexing 74 72 75 73 /*Hooks: */ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp
r15428 r15450 16 16 Element *element = NULL; 17 17 Material *material = NULL; 18 int numberofelements;19 18 int num_control_type; 20 19 bool control_analysis; 21 20 22 21 /*Fetch parameters: */ 23 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);24 22 iomodel->Constant(&control_analysis,InversionIscontrolEnum); 25 23 if(control_analysis) iomodel->Constant(&num_control_type,InversionNumControlParametersEnum); … … 49 47 /*Update elements and materials: */ 50 48 counter=0; 51 for (i=0;i< numberofelements;i++){49 for (i=0;i<iomodel->numberofelements;i++){ 52 50 if(iomodel->my_elements[i]){ 53 51 element=(Element*)elements->GetObjectByOffset(counter); -
issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHutter/UpdateElementsDiagnosticHutter.cpp
r15428 r15450 11 11 void UpdateElementsDiagnosticHutter(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){ 12 12 13 int numberofelements;13 /*Fetch data needed: */ 14 14 bool ishutter; 15 16 /*Fetch data needed: */17 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);18 15 iomodel->Constant(&ishutter,FlowequationIshutterEnum); 19 16 … … 25 22 /*Update elements: */ 26 23 int counter=0; 27 for(int i=0;i< numberofelements;i++){24 for(int i=0;i<iomodel->numberofelements;i++){ 28 25 if(iomodel->my_elements[i]){ 29 26 Element* element=(Element*)elements->GetObjectByOffset(counter); -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp
r15428 r15450 11 11 void UpdateElementsEnthalpy(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){ 12 12 13 int numberofelements;14 15 /*Fetch parameters: */16 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);17 18 13 /*Now, is the model 3d? otherwise, do nothing: */ 19 14 if(iomodel->dim==2)return; … … 24 19 /*Update elements: */ 25 20 int counter=0; 26 for(int i=0;i< numberofelements;i++){21 for(int i=0;i<iomodel->numberofelements;i++){ 27 22 if(iomodel->my_elements[i]){ 28 23 Element* element=(Element*)elements->GetObjectByOffset(counter); -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp
r15428 r15450 11 11 void UpdateElementsPrognostic(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){ 12 12 13 int numberofelements;14 13 int stabilization; 15 14 bool dakota_analysis; … … 19 18 20 19 /*Fetch data needed: */ 21 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);22 20 iomodel->Constant(&stabilization,PrognosticStabilizationEnum); 23 21 iomodel->Constant(&dakota_analysis,QmuIsdakotaEnum); … … 28 26 /*Update elements: */ 29 27 int counter=0; 30 for(int i=0;i< numberofelements;i++){28 for(int i=0;i<iomodel->numberofelements;i++){ 31 29 if(iomodel->my_elements[i]){ 32 30 Element* element=(Element*)elements->GetObjectByOffset(counter);
Note:
See TracChangeset
for help on using the changeset viewer.