Changeset 21079
- Timestamp:
- 08/04/16 11:41:26 (9 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r21068 r21079 3631 3631 3632 3632 /*Initialize eustatic component: do not skip this step :):*/ 3633 IssmDouble eustatic = 0 ;3633 IssmDouble eustatic = 0.; 3634 3634 3635 3635 /*Computational flags:*/ … … 3710 3710 3711 3711 /*Compute eustatic compoent:*/ 3712 _assert_(oceanarea>0.); 3712 3713 eustatic += rho_ice*area*I/(oceanarea*rho_water); 3713 3714 … … 3749 3750 3750 3751 /*Assign output pointer:*/ 3752 _assert_(!xIsNan<IssmDouble>(eustatic)); 3753 _assert_(!xIsInf<IssmDouble>(eustatic)); 3751 3754 *peustatic=eustatic; 3752 3755 return; -
issm/trunk-jpl/src/c/classes/FemModel.cpp
r21077 r21079 2296 2296 2297 2297 /*serialized vectors:*/ 2298 IssmDouble eustatic =0;2299 IssmDouble eustatic_cpu =0;2300 IssmDouble eustatic_cpu_e =0;2301 IssmDouble oceanarea =0;2302 IssmDouble oceanarea_cpu =0;2303 IssmDouble eartharea =0;2304 IssmDouble eartharea_cpu =0;2298 IssmDouble eustatic = 0.; 2299 IssmDouble eustatic_cpu = 0.; 2300 IssmDouble eustatic_cpu_e = 0.; 2301 IssmDouble oceanarea = 0.; 2302 IssmDouble oceanarea_cpu = 0.; 2303 IssmDouble eartharea = 0.; 2304 IssmDouble eartharea_cpu = 0.; 2305 2305 int ns,nsmax; 2306 2306 … … 2312 2312 Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(i)); 2313 2313 oceanarea_cpu += element->OceanArea(); 2314 eartharea_cpu += element->GetAreaSpherical();2314 eartharea_cpu += element->GetAreaSpherical(); 2315 2315 } 2316 2316 ISSM_MPI_Reduce (&oceanarea_cpu,&oceanarea,1,ISSM_MPI_DOUBLE,ISSM_MPI_SUM,0,IssmComm::GetComm() ); 2317 2317 ISSM_MPI_Bcast(&oceanarea,1,ISSM_MPI_DOUBLE,0,IssmComm::GetComm()); 2318 _assert_(oceanarea>0.); 2318 2319 2319 2320 ISSM_MPI_Reduce (&eartharea_cpu,&eartharea,1,ISSM_MPI_DOUBLE,ISSM_MPI_SUM,0,IssmComm::GetComm() ); … … 2344 2345 ISSM_MPI_Reduce (&eustatic_cpu,&eustatic,1,ISSM_MPI_DOUBLE,ISSM_MPI_SUM,0,IssmComm::GetComm() ); 2345 2346 ISSM_MPI_Bcast(&eustatic,1,ISSM_MPI_DOUBLE,0,IssmComm::GetComm()); 2347 _assert_(!xIsNan<IssmDouble>(eustatic)); 2346 2348 2347 2349 /*Assign output pointers:*/ … … 2372 2374 Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(i)); 2373 2375 oceanarea_cpu += element->OceanArea(); 2374 eartharea_cpu += element->GetAreaSpherical();2376 eartharea_cpu += element->GetAreaSpherical(); 2375 2377 } 2376 2378 ISSM_MPI_Reduce (&oceanarea_cpu,&oceanarea,1,ISSM_MPI_DOUBLE,ISSM_MPI_SUM,0,IssmComm::GetComm() ); -
issm/trunk-jpl/src/c/cores/sealevelrise_core_eustatic.cpp
r20999 r21079 19 19 int gsize; 20 20 bool spherical=true; 21 IssmDouble *latitude= NULL;22 IssmDouble *longitude= NULL;23 IssmDouble 21 IssmDouble *latitude = NULL; 22 IssmDouble *longitude = NULL; 23 IssmDouble *radius = NULL; 24 24 25 25 /*outputs:*/ 26 IssmDouble eustatic =0;26 IssmDouble eustatic; 27 27 28 28 /*recover parameters:*/ … … 33 33 34 34 /*Figure out size of g-set deflection vector and allocate solution vector: */ 35 gsize 35 gsize = femmodel->nodes->NumberOfDofs(configuration_type,GsetEnum); 36 36 37 37 /*Initialize:*/ … … 51 51 femmodel->results->AddResult(new GenericExternalResult<IssmDouble>(femmodel->results->Size()+1,SealevelEustaticEnum,-eustatic)); 52 52 53 /*clean up and return:*/ 53 54 xDelete<IssmDouble>(latitude); 54 55 xDelete<IssmDouble>(longitude); 55 56 xDelete<IssmDouble>(radius); 56 57 /*return:*/58 57 return Sgi; 59 58 } -
issm/trunk-jpl/src/c/cores/sealevelrise_core_noneustatic.cpp
r20999 r21079 46 46 47 47 /*Figure out size of g-set deflection vector and allocate solution vector: */ 48 gsize 48 gsize = femmodel->nodes->NumberOfDofs(configuration_type,GsetEnum); 49 49 50 50 /*Initialize:*/ … … 55 55 Sg_old = new Vector<IssmDouble>(gsize); 56 56 Sg_old->Assemble(); 57 58 Sgo = new Vector<IssmDouble>(gsize);59 Sgo->Assemble();60 57 61 58 count=1; … … 69 66 70 67 /*Initialize solution vector: */ 71 Sg = new Vector<IssmDouble>(gsize); Sg->Assemble();68 Sg = new Vector<IssmDouble>(gsize); Sg->Assemble(); 72 69 Sgo = new Vector<IssmDouble>(gsize); Sgo->Assemble(); 73 70 74 71 /*call the non eustatic module: */ 75 72 femmodel->SealevelriseNonEustatic(Sgo, Sg_old, latitude, longitude, radius,verboseconvolution); 76 73 77 74 /*assemble solution vector: */
Note:
See TracChangeset
for help on using the changeset viewer.