Changeset 13798
- Timestamp:
- 10/22/12 15:00:16 (13 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 54 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/Container/DataSet.cpp
r13763 r13798 50 50 DataSet* DataSet::Copy(void){ 51 51 52 DataSet* copy=NULL;53 52 vector<Object*>::iterator object; 54 53 Object* object_copy=NULL; 55 54 56 copy=new DataSet(enum_type);55 DataSet* copy=new DataSet(enum_type); 57 56 58 57 copy->sorted=sorted; -
issm/trunk-jpl/src/c/Container/Inputs.cpp
r13797 r13798 208 208 void Inputs::ConstrainMin(int constrain_enum, IssmDouble minimum){ 209 209 210 Input* constrain_input=NULL;211 210 /*Find x and y inputs: */ 212 constrain_input=dynamic_cast<Input*>(this->GetInput(constrain_enum));211 Input* constrain_input=dynamic_cast<Input*>(this->GetInput(constrain_enum)); 213 212 214 213 /*some checks: */ -
issm/trunk-jpl/src/c/Container/Nodes.cpp
r13790 r13798 154 154 int num_procs; 155 155 156 int* ranks=NULL;157 int* minranks=NULL;158 156 int numnodes; 159 157 … … 165 163 166 164 /*Allocate ranks: */ 167 ranks=xNew<int>(numnodes);168 minranks=xNew<int>(numnodes);165 int* ranks = xNew<int>(numnodes); 166 int* minranks = xNew<int>(numnodes); 169 167 for(i=0;i<numnodes;i++)ranks[i]=num_procs; //no cpu can have rank num_procs. This is the maximum limit. 170 168 -
issm/trunk-jpl/src/c/classes/FemModel.cpp
r13784 r13798 534 534 535 535 for (i=1;i<elements->Size();i++){ 536 element= (Element*)elements->GetObjectByOffset(i);536 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 537 537 dt=element->TimeAdapt(); 538 538 if(dt<min_dt)min_dt=dt; … … 808 808 /*Compute Misfit: */ 809 809 for (i=0;i<elements->Size();i++){ 810 element= (Element*)elements->GetObjectByOffset(i);810 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 811 811 J+=element->ThicknessAbsGradient(process_units,weight_index); 812 812 } -
issm/trunk-jpl/src/c/classes/Hook.cpp
r13622 r13798 173 173 /*Now, for this->objects that did not get resolved, and for which we have no offset, chase them in the dataset, by id: */ 174 174 if(this->objects[i]==NULL){ 175 this->objects[i]= (Object*)dataset->GetObjectById(this->offsets+i,this->ids[i]); //remember the offset for later on.175 this->objects[i]=dynamic_cast<Object*>(dataset->GetObjectById(this->offsets+i,this->ids[i])); //remember the offset for later on. 176 176 /*check the id is correct!: */ 177 177 if (this->objects[i]->Id()!=this->ids[i]) _error_("wrong id: " << this->objects[i]->Id() << " vs " << this->ids[i] << " in resolved pointer!"); -
issm/trunk-jpl/src/c/classes/IoModel.cpp
r13787 r13798 186 186 187 187 /*Find constant*/ 188 Param* param= (Param*)this->constants->FindParamObject(constant_enum);188 Param* param=dynamic_cast<Param*>(this->constants->FindParamObject(constant_enum)); 189 189 if(!param) _error_("Constant " << EnumToStringx(constant_enum) << " not found in iomodel"); 190 190 191 return (Param*)param->copy();191 return dynamic_cast<Param*>(param->copy()); 192 192 } 193 193 /*}}}*/ … … 1105 1105 for (i=0;i<numberofelements;i++){ 1106 1106 if(this->my_elements[i]){ 1107 Element* element= (Element*)elements->GetObjectByOffset(counter);1107 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(counter)); 1108 1108 element->InputCreate((IssmDouble)boolean,vector_enum,code); 1109 1109 counter++; … … 1118 1118 for (i=0;i<numberofelements;i++){ 1119 1119 if(this->my_elements[i]){ 1120 Element* element= (Element*)elements->GetObjectByOffset(counter);1120 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(counter)); 1121 1121 element->InputCreate((IssmDouble)integer,vector_enum,code); 1122 1122 counter++; … … 1131 1131 for (i=0;i<numberofelements;i++){ 1132 1132 if(this->my_elements[i]){ 1133 Element* element= (Element*)elements->GetObjectByOffset(counter);1133 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(counter)); 1134 1134 element->InputCreate(scalar,vector_enum,code); 1135 1135 counter++; … … 1168 1168 for (i=0;i<numberofelements;i++){ 1169 1169 if(this->my_elements[i]){ 1170 Element* element= (Element*)elements->GetObjectByOffset(counter);1170 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(counter)); 1171 1171 if(defaulting) element->InputCreate(default_value,vector_enum,code); 1172 1172 else element->InputCreate(IssmDoublevector,i,this,M,N,vector_layout,vector_enum,code);//we need i to index into elements. … … 1206 1206 for (i=0;i<numberofelements;i++){ 1207 1207 if(this->my_elements[i]){ 1208 Element* element= (Element*)elements->GetObjectByOffset(counter);1208 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(counter)); 1209 1209 if(defaulting) element->InputCreate(default_value,vector_enum,code); 1210 1210 else element->InputCreate(IssmDoublevector,i,this,M,N,vector_layout,vector_enum,code);//we need i to index into elements. … … 1244 1244 for (i=0;i<numberofelements;i++){ 1245 1245 if(this->my_elements[i]){ 1246 Element* element= (Element*)elements->GetObjectByOffset(counter);1246 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(counter)); 1247 1247 if(defaulting) element->InputCreate(default_value,vector_enum,code); 1248 1248 else element->InputCreate(IssmDoublevector,i,this,M,N,vector_layout,vector_enum,code);//we need i to index into elements. -
issm/trunk-jpl/src/c/classes/bamg/Geometry.cpp
r13761 r13798 499 499 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, MeshGeom.cpp/AfterRead)*/ 500 500 501 long i,j,k; 502 long *head_v = new long[nbv]; 503 long *next_p = new long[2*nbe]; 504 float *eangle = new float[nbe]; 505 double eps = 1e-20; 506 BamgQuadtree quadtree; // build quadtree to find duplicates 507 BamgVertex *v0 = vertices; 508 GeomVertex *v0g = (GeomVertex*) (void*)v0; 501 long i ,j,k; 502 long *head_v = new long[nbv]; 503 long *next_p = new long[2 *nbe]; 504 float *eangle = new float[nbe]; 505 double eps = 1e-20; 506 BamgQuadtree quadtree; // build quadtree to find duplicates 507 BamgVertex *v0 = vertices; 509 508 510 509 k=0; … … 868 867 directionge[bge]=1; 869 868 870 while 869 while(eg0!=(GeomEdge*)vg0 && (*eg0)(direction0)!=(GeomVertex*)vg0){ 871 870 if (bge<=0) { 872 871 if(NbTry) { -
issm/trunk-jpl/src/c/modules/AverageOntoPartitionx/AverageOntoPartitionx.cpp
r13762 r13798 47 47 /*loop on each element, and add contribution of the element to the partition (surface weighted average): */ 48 48 for(int i=0;i<elements->Size();i++){ 49 Element* element= (Element*)elements->GetObjectByOffset(i);49 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 50 50 element->AverageOntoPartition(partition_contributions,partition_areas,vertex_response,qmu_part); 51 51 } -
issm/trunk-jpl/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.cpp
r13622 r13798 29 29 /*Compute basal stress for each element: */ 30 30 for (i=0;i<elements->Size();i++){ 31 element= (Element*)elements->GetObjectByOffset(i);31 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 32 32 element->ComputeBasalStress(sigma); 33 33 } -
issm/trunk-jpl/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.cpp
r13622 r13798 29 29 /*Compute basal stress for each element: */ 30 30 for (i=0;i<elements->Size();i++){ 31 element= (Element*)elements->GetObjectByOffset(i);31 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 32 32 element->ComputeStrainRate(eps); 33 33 } -
issm/trunk-jpl/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.cpp
r13622 r13798 27 27 if(VerboseMProcessor()) _pprintLine_(" Configuring elements..."); 28 28 for (i=0;i<elements->Size();i++){ 29 element= (Element*)elements->GetObjectByOffset(i);29 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 30 30 element->Configure(elements,loads,nodes,materials,parameters); 31 31 } -
issm/trunk-jpl/src/c/modules/CreateJacobianMatrixx/CreateJacobianMatrixx.cpp
r13622 r13798 33 33 /*Create and assemble matrix*/ 34 34 for(i=0;i<elements->Size();i++){ 35 element= (Element*)elements->GetObjectByOffset(i);35 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 36 36 element->CreateJacobianMatrix(Jff); 37 37 } -
issm/trunk-jpl/src/c/modules/Delta18oParameterizationx/Delta18oParameterizationx.cpp
r13622 r13798 18 18 /*Compute temperature and precipitation fields: */ 19 19 for(i=0;i<elements->Size();i++){ 20 element= (Element*)elements->GetObjectByOffset(i);20 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 21 21 element->Delta18oParameterization(); 22 22 } -
issm/trunk-jpl/src/c/modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.cpp
r13590 r13798 22 22 /*Compute Misfit: */ 23 23 for (i=0;i<elements->Size();i++){ 24 element= (Element*)elements->GetObjectByOffset(i);24 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 25 25 J+=element->DragCoefficientAbsGradient(process_units,weight_index); 26 26 } -
issm/trunk-jpl/src/c/modules/ElementResponsex/ElementResponsex.cpp
r13622 r13798 28 28 /*now, go through our elements, and retrieve the one with this id: index: */ 29 29 for(i=0;i<elements->Size();i++){ 30 element= (Element*)elements->GetObjectByOffset(i);30 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 31 31 if (element->Id()==index){ 32 32 found=1; -
issm/trunk-jpl/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp
r13622 r13798 33 33 /*Go through elements and plug solution: */ 34 34 for (i=0;i<elements->Size();i++){ 35 element= (Element*)elements->GetObjectByOffset(i);35 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 36 36 element->GetSolutionFromInputs(solution); 37 37 } -
issm/trunk-jpl/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp
r13622 r13798 21 21 /*Look up in elements*/ 22 22 for(i=0;i<elements->Size();i++){ 23 Element* element= (Element*)elements->GetObjectByOffset(i);23 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 24 24 element->GetVectorFromInputs(vector,name); 25 25 } -
issm/trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp
r13622 r13798 43 43 /*Migrate grounding line : */ 44 44 for(i=0;i<elements->Size();i++){ 45 element= (Element*)elements->GetObjectByOffset(i);45 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 46 46 element->MigrateGroundingLine(old_floatingice,vertices_ungrounding); 47 47 } … … 95 95 /*Fill vector vertices_potentially_floating: */ 96 96 for(i=0;i<elements->Size();i++){ 97 element= (Element*)elements->GetObjectByOffset(i);97 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 98 98 element->PotentialSheetUngrounding(vec_vertices_potentially_ungrounding); 99 99 } … … 137 137 /*Figure out if any of the nodes of the element will be floating -> elements neighbouting the floating ice*/ 138 138 for(i=0;i<elements->Size();i++){ 139 element= (Element*)elements->GetObjectByOffset(i);139 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 140 140 vec_elements_neighboring_floatingice->SetValue(element->Sid(),element->IsNodeOnShelfFromFlags(nodes_on_floatingice)?1.0:0.0,INS_VAL); 141 141 } … … 148 148 local_nflipped=0; 149 149 for(i=0;i<elements->Size();i++){ 150 element= (Element*)elements->GetObjectByOffset(i);150 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 151 151 if(reCast<int,IssmDouble>(elements_neighboring_floatingce[element->Sid()])){ 152 152 local_nflipped+=element->UpdatePotentialSheetUngrounding(vertices_potentially_ungrounding,vec_nodes_on_floatingice,nodes_on_floatingice); -
issm/trunk-jpl/src/c/modules/IceVolumex/IceVolumex.cpp
r13590 r13798 16 16 17 17 for(int i=0;i<elements->Size();i++){ 18 Element* element= (Element*)elements->GetObjectByOffset(i);18 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 19 19 local_ice_volume+=element->IceVolume(); 20 20 } -
issm/trunk-jpl/src/c/modules/InputArtificialNoisex/InputArtificialNoisex.cpp
r12470 r13798 15 15 /*Update elements, nodes, loads and materials from inputs: */ 16 16 for(i=0;i<elements->Size();i++){ 17 Element* element= (Element*)elements->GetObjectByOffset(i);17 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 18 18 element->InputArtificialNoise(enum_name,min,max); 19 19 } -
issm/trunk-jpl/src/c/modules/InputControlUpdatex/InputControlUpdatex.cpp
r13073 r13798 13 13 /*Go through elemnets, and ask to carry out the operation on inputs: */ 14 14 for(int i=0;i<elements->Size();i++){ 15 Element* element= (Element*)elements->GetObjectByOffset(i);15 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 16 16 element->InputControlUpdate(scalar,save_parameter); 17 17 } -
issm/trunk-jpl/src/c/modules/InputConvergencex/InputConvergencex.cpp
r13590 r13798 24 24 /*Go through elements, and ask them to do the job: */ 25 25 for(i=0;i<elements->Size();i++){ 26 element= (Element*)elements->GetObjectByOffset(i);26 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 27 27 converged=element->InputConvergence(eps,enums,num_enums,criterionenums,criterionvalues,num_criterionenums); 28 28 if(!converged) num_notconverged++; -
issm/trunk-jpl/src/c/modules/InputDuplicatex/InputDuplicatex.cpp
r13622 r13798 14 14 int i; 15 15 for(i=0;i<elements->Size();i++){ 16 Element* element= (Element*)elements->GetObjectByOffset(i);16 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 17 17 element->InputDuplicate(original_enum,new_enum); 18 18 } -
issm/trunk-jpl/src/c/modules/InputScalex/InputScalex.cpp
r12470 r13798 16 16 /*Go through elemnets, and ask to reinitialie the input: */ 17 17 for(i=0;i<elements->Size();i++){ 18 Element* element= (Element*)elements->GetObjectByOffset(i);18 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 19 19 element->InputScale(enum_type,scale_factor); 20 20 } -
issm/trunk-jpl/src/c/modules/InputToResultx/InputToResultx.cpp
r12470 r13798 23 23 for(int i=0;i<elements->Size();i++){ 24 24 25 element= (Element*)elements->GetObjectByOffset(i);25 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 26 26 element->InputToResult(enum_type,step,time); 27 27 } -
issm/trunk-jpl/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp
r13622 r13798 15 15 /*Elements and loads drive the update: */ 16 16 for(i=0;i<elements->Size();i++){ 17 Element* element= (Element*)elements->GetObjectByOffset(i);17 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 18 18 element->InputUpdateFromConstant(constant,name); 19 19 } … … 35 35 /*Elements and loads drive the update: */ 36 36 for(i=0;i<elements->Size();i++){ 37 Element* element= (Element*)elements->GetObjectByOffset(i);37 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 38 38 element->InputUpdateFromConstant(constant,name); 39 39 } … … 55 55 /*Elements and loads drive the update: */ 56 56 for(i=0;i<elements->Size();i++){ 57 Element* element= (Element*)elements->GetObjectByOffset(i);57 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 58 58 element->InputUpdateFromConstant(constant,name); 59 59 } -
issm/trunk-jpl/src/c/modules/InputUpdateFromMatrixDakotax/InputUpdateFromMatrixDakotax.cpp
r10576 r13798 22 22 /*Update elements, nodes, loads and materials from inputs: */ 23 23 for(i=0;i<elements->Size();i++){ 24 Element* element= (Element*)elements->GetObjectByOffset(i);24 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 25 25 element->InputUpdateFromMatrixDakota(matrix,nrows,ncols,name,type); 26 26 } -
issm/trunk-jpl/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.cpp
r13622 r13798 31 31 /*Elements drive the update: */ 32 32 for (i=0;i<elements->Size();i++){ 33 element= (Element*)elements->GetObjectByOffset(i);33 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 34 34 element->InputUpdateFromSolution(solution); 35 35 } -
issm/trunk-jpl/src/c/modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.cpp
r13622 r13798 27 27 /*Update elements, nodes, loads and materials from inputs: */ 28 28 for(i=0;i<elements->Size();i++){ 29 Element* element= (Element*)elements->GetObjectByOffset(i);29 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 30 30 element->InputUpdateFromVectorDakota(vector,name,type); 31 31 } … … 50 50 /*Update elements, nodes, loads and materials from inputs: */ 51 51 for(i=0;i<elements->Size();i++){ 52 Element* element= (Element*)elements->GetObjectByOffset(i);52 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 53 53 element->InputUpdateFromVectorDakota(vector,name,type); 54 54 } … … 73 73 /*Update elements, nodes, loads and materials from inputs: */ 74 74 for(i=0;i<elements->Size();i++){ 75 Element* element= (Element*)elements->GetObjectByOffset(i);75 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 76 76 element->InputUpdateFromVectorDakota(vector,name,type); 77 77 } -
issm/trunk-jpl/src/c/modules/InputUpdateFromVectorx/InputUpdateFromVectorx.cpp
r13622 r13798 27 27 /*Update elements, nodes, loads and materials from inputs: */ 28 28 for(i=0;i<elements->Size();i++){ 29 Element* element= (Element*)elements->GetObjectByOffset(i);29 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 30 30 element->InputUpdateFromVector(vector,name,type); 31 31 } … … 50 50 /*Update elements, nodes, loads and materials from inputs: */ 51 51 for(i=0;i<elements->Size();i++){ 52 Element* element= (Element*)elements->GetObjectByOffset(i);52 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 53 53 element->InputUpdateFromVector(vector,name,type); 54 54 } … … 73 73 /*Update elements, nodes, loads and materials from inputs: */ 74 74 for(i=0;i<elements->Size();i++){ 75 Element* element= (Element*)elements->GetObjectByOffset(i);75 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 76 76 element->InputUpdateFromVector(vector,name,type); 77 77 } -
issm/trunk-jpl/src/c/modules/MinVelx/MinVelx.cpp
r13622 r13798 19 19 /*Go through elements, and request velocity: */ 20 20 for(i=0;i<elements->Size();i++){ 21 Element* element= (Element*)elements->GetObjectByOffset(i);21 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 22 22 element->MinVel(&element_minvel,process_units); //go pick up the minimum velocity in the inputs 23 23 -
issm/trunk-jpl/src/c/modules/MinVxx/MinVxx.cpp
r13622 r13798 18 18 /*Go through elements, and request velocity: */ 19 19 for(i=0;i<elements->Size();i++){ 20 Element* element= (Element*)elements->GetObjectByOffset(i);20 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 21 21 element->MinVx(&element_minvx,process_units); //go pick up the minimum velocity in the inputs 22 22 -
issm/trunk-jpl/src/c/modules/MinVyx/MinVyx.cpp
r13622 r13798 18 18 /*Go through elements, and request velocity: */ 19 19 for(i=0;i<elements->Size();i++){ 20 Element* element= (Element*)elements->GetObjectByOffset(i);20 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 21 21 element->MinVy(&element_minvy,process_units); //go pick up the minimum velocity in the inputs 22 22 -
issm/trunk-jpl/src/c/modules/MinVzx/MinVzx.cpp
r13622 r13798 18 18 /*Go through elements, and request velocity: */ 19 19 for(i=0;i<elements->Size();i++){ 20 Element* element= (Element*)elements->GetObjectByOffset(i);20 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 21 21 element->MinVz(&element_minvz,process_units); //go pick up the minimum velocity in the inputs 22 22 -
issm/trunk-jpl/src/c/modules/NodalValuex/NodalValuex.cpp
r13612 r13798 30 30 *element, figure out if they hold the vertex, and the data. If so, return it: */ 31 31 for(i=0;i<elements->Size();i++){ 32 Element* element= (Element*)elements->GetObjectByOffset(i);32 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 33 33 found=element->NodalValue(&value,index,natureofdataenum,process_units); 34 34 if (found){ -
issm/trunk-jpl/src/c/modules/PositiveDegreeDayx/PositiveDegreeDayx.cpp
r13622 r13798 102 102 103 103 for(i=0;i<elements->Size();i++){ 104 element= (Element*)elements->GetObjectByOffset(i);104 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 105 105 element->PositiveDegreeDay(pdds,pds,signorm); 106 106 } -
issm/trunk-jpl/src/c/modules/ResetCoordinateSystemx/ResetCoordinateSystemx.cpp
r10440 r13798 13 13 14 14 for (int i=0;i<elements->Size();i++){ 15 element= (Element*)elements->GetObjectByOffset(i);15 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 16 16 element->ResetCoordinateSystem(); 17 17 } -
issm/trunk-jpl/src/c/modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.cpp
r13590 r13798 22 22 /*Compute Misfit: */ 23 23 for (i=0;i<elements->Size();i++){ 24 element= (Element*)elements->GetObjectByOffset(i);24 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 25 25 J+=element->RheologyBbarAbsGradient(process_units,weight_index); 26 26 } -
issm/trunk-jpl/src/c/modules/SmbGradientsx/SmbGradientsx.cpp
r13622 r13798 22 22 23 23 for(i=0;i<elements->Size();i++){ 24 element= (Element*)elements->GetObjectByOffset(i);24 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 25 25 element->SmbGradients(); 26 26 } -
issm/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.cpp
r13622 r13798 40 40 /*Fill smearedvector vector: */ 41 41 for (i=0;i<elements->Size();i++){ 42 element= (Element*)elements->GetObjectByOffset(i);42 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 43 43 element->SmearFunction(smearedvector,WeightFunction,SmearedFieldEnum,radius); 44 44 } -
issm/trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.cpp
r13590 r13798 22 22 /*Compute Misfit: */ 23 23 for (i=0;i<elements->Size();i++){ 24 element= (Element*)elements->GetObjectByOffset(i);24 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 25 25 J+=element->SurfaceAbsVelMisfit(process_units,weight_index); 26 26 } -
issm/trunk-jpl/src/c/modules/SurfaceAreax/SurfaceAreax.cpp
r13622 r13798 23 23 /*Compute gradients: */ 24 24 for (i=0;i<elements->Size();i++){ 25 element= (Element*)elements->GetObjectByOffset(i);25 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 26 26 S+=element->SurfaceArea(); 27 27 } -
issm/trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.cpp
r13590 r13798 26 26 /*Compute Misfit: */ 27 27 for (i=0;i<elements->Size();i++){ 28 element= (Element*)elements->GetObjectByOffset(i);28 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 29 29 J+=element->SurfaceAverageVelMisfit(process_units,weight_index); 30 30 } -
issm/trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.cpp
r13590 r13798 22 22 /*Compute Misfit: */ 23 23 for (i=0;i<elements->Size();i++){ 24 element= (Element*)elements->GetObjectByOffset(i);24 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 25 25 J+=element->SurfaceLogVelMisfit(process_units,weight_index); 26 26 } -
issm/trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.cpp
r13590 r13798 22 22 /*Compute Misfit: */ 23 23 for (i=0;i<elements->Size();i++){ 24 element= (Element*)elements->GetObjectByOffset(i);24 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 25 25 J+=element->SurfaceLogVxVyMisfit(process_units,weight_index); 26 26 } -
issm/trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.cpp
r13590 r13798 22 22 /*Compute Misfit: */ 23 23 for (i=0;i<elements->Size();i++){ 24 element= (Element*)elements->GetObjectByOffset(i);24 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 25 25 J+=element->SurfaceRelVelMisfit(process_units,weight_index); 26 26 } -
issm/trunk-jpl/src/c/modules/SystemMatricesx/SystemMatricesx.cpp
r13787 r13798 55 55 /*Fill stiffness matrix from elements: */ 56 56 for (i=0;i<elements->Size();i++){ 57 element= (Element*)elements->GetObjectByOffset(i);57 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 58 58 element->CreateKMatrix(Kff,Kfs,df); 59 59 } … … 61 61 /*Fill stiffness matrix from loads if loads have the current configuration_type: */ 62 62 for (i=0;i<loads->Size();i++){ 63 load= (Load*)loads->GetObjectByOffset(i);63 load=dynamic_cast<Load*>(loads->GetObjectByOffset(i)); 64 64 if (load->InAnalysis(configuration_type)) load->CreateKMatrix(Kff,Kfs); 65 65 } … … 77 77 /*Fill right hand side vector, from elements: */ 78 78 for (i=0;i<elements->Size();i++){ 79 element= (Element*)elements->GetObjectByOffset(i);79 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 80 80 element->CreatePVector(pf); 81 81 } … … 83 83 /*Fill right hand side from loads if loads have the current configuration_type: */ 84 84 for (i=0;i<loads->Size();i++){ 85 load= (Load*)loads->GetObjectByOffset(i);85 load=dynamic_cast<Load*>(loads->GetObjectByOffset(i)); 86 86 if (load->InAnalysis(configuration_type)) load->CreatePVector(pf); 87 87 } … … 97 97 /*Fill stiffness matrix from loads: */ 98 98 for (i=0;i<loads->Size();i++){ 99 load= (Load*)loads->GetObjectByOffset(i);99 load=dynamic_cast<Load*>(loads->GetObjectByOffset(i)); 100 100 if (load->InAnalysis(configuration_type)) load->PenaltyCreateKMatrix(Kff,Kfs,kmax); 101 101 } … … 110 110 /*Fill right hand side vector, from loads: */ 111 111 for (i=0;i<loads->Size();i++){ 112 load= (Load*)loads->GetObjectByOffset(i);112 load=dynamic_cast<Load*>(loads->GetObjectByOffset(i)); 113 113 if (load->InAnalysis(configuration_type)) load->PenaltyCreatePVector(pf,kmax); 114 114 } -
issm/trunk-jpl/src/c/modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.cpp
r13590 r13798 22 22 /*Compute Misfit: */ 23 23 for (i=0;i<elements->Size();i++){ 24 element= (Element*)elements->GetObjectByOffset(i);24 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 25 25 J+=element->ThicknessAbsMisfit(process_units,weight_index); 26 26 } -
issm/trunk-jpl/src/c/modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.cpp
r13590 r13798 22 22 /*Compute Misfit: */ 23 23 for (i=0;i<elements->Size();i++){ 24 element= (Element*)elements->GetObjectByOffset(i);24 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 25 25 J+=element->ThicknessAcrossGradient(process_units,weight_index); 26 26 } -
issm/trunk-jpl/src/c/modules/ThicknessAlongGradientx/ThicknessAlongGradientx.cpp
r13590 r13798 22 22 /*Compute Misfit: */ 23 23 for (i=0;i<elements->Size();i++){ 24 element= (Element*)elements->GetObjectByOffset(i);24 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 25 25 J+=element->ThicknessAlongGradient(process_units,weight_index); 26 26 } -
issm/trunk-jpl/src/c/modules/TotalSmbx/TotalSmbx.cpp
r13590 r13798 16 16 17 17 for(int i=0;i<elements->Size();i++){ 18 Element* element= (Element*)elements->GetObjectByOffset(i);18 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 19 19 local_smb+=element->TotalSmb(); 20 20 } -
issm/trunk-jpl/src/c/solutions/DakotaSpawnCore.cpp
r13699 r13798 62 62 63 63 /*cast void_femmodel to FemModel: */ 64 femmodel= (FemModel*)void_femmodel;64 femmodel=dynamic_cast<FemModel*>(void_femmodel); 65 65 66 66 /*retrieve parameters: */ -
issm/trunk-jpl/src/c/solutions/kriging.cpp
r13764 r13798 73 73 results->AddObject(new GenericExternalResult<double*>(results->Size()+1,1,error,ninterp,1,1,0)); 74 74 for(int i=0;i<results->Size();i++){ 75 ExternalResult* result= (ExternalResult*)results->GetObjectByOffset(i);75 ExternalResult* result=dynamic_cast<ExternalResult*>(results->GetObjectByOffset(i)); 76 76 result->WriteData(output_fid,1); 77 77 } -
issm/trunk-jpl/src/c/solvers/solver_nonlinear.cpp
r13693 r13798 42 42 43 43 /*Were loads requested as output? : */ 44 if(conserve_loads) loads= (Loads*)femmodel->loads->Copy(); //protect loads from being modified by the solution45 else loads= (Loads*)femmodel->loads; //modify loads in this solution44 if(conserve_loads) loads=static_cast<Loads*>(femmodel->loads->Copy()); //protect loads from being modified by the solution 45 else loads=static_cast<Loads*>(femmodel->loads); //modify loads in this solution 46 46 47 47 count=1;
Note:
See TracChangeset
for help on using the changeset viewer.