Changeset 27093
- Timestamp:
- 06/22/22 16:10:58 (3 years ago)
- Location:
- issm/branches/trunk-larour-SLPS2022/src/c/cores
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/branches/trunk-larour-SLPS2022/src/c/cores/mmemasstransport_core.cpp
r27084 r27093 14 14 15 15 /*Start profiler*/ 16 femmodel->profiler->Start( OCEANTRANSPORTCORE);16 femmodel->profiler->Start(MMEMASSTRANSPORTCORE); 17 17 18 18 /*parameters: */ … … 22 22 int solution_type; 23 23 Vector<IssmDouble>* ug = NULL; 24 char** requested_outputs = NULL; 24 25 25 26 /*activate configuration*/ … … 28 29 /*recover parameters: */ 29 30 femmodel->parameters->FindParam(&save_results,SaveResultsEnum); 31 femmodel->parameters->FindParam(&numoutputs,MmemasstransportNumRequestedOutputsEnum); 30 32 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum); 33 if(numoutputs) femmodel->parameters->FindParam(&requested_outputs,&numoutputs,MmemasstransportRequestedOutputsEnum); 31 34 32 35 if(VerboseSolution()) _printf0_(" computing MME mass transport\n"); 33 36 34 /*grab delta thickness from MmemasstransportDeltathicknessEnum inputs in each element, assemble into a vector and feed to 37 /*save current thickness before updating:*/ 38 InputDuplicatex(femmodel,ThicknessEnum,ThicknessOldEnum); 39 40 /*grab thickness from MmemasstransportThicknessEnum inputs in each element, assemble into a vector and feed to 35 41 * InputUpdateFromSolutionx which will deal with accumulating such inputs:*/ 36 42 GetSolutionFromInputsx(&ug,femmodel); … … 39 45 SolidEarthMmemasstransportUpdates(femmodel); 40 46 47 if(save_results){ 48 femmodel->RequestedOutputsx(&femmodel->results,requested_outputs,numoutputs); 49 } 41 50 if(solution_type==MmemasstransportSolutionEnum)femmodel->RequestedDependentsx(); 51 52 /*Free ressources:*/ 53 if(numoutputs){for(int i=0;i<numoutputs;i++){xDelete<char>(requested_outputs[i]);} xDelete<char*>(requested_outputs);} 42 54 43 55 /*profiler*/ … … 58 70 femmodel->parameters->FindParam(&count,SealevelchangeRunCountEnum); 59 71 60 /* Accumulate delta thikcness: */ 61 femmodel->inputs->AXPY(+1, DeltaThicknessEnum,AccumulatedDeltaThicknessEnum); 72 /* From old and new thickness, create delta ice thicknes, and accumulate:*/ 73 femmodel->inputs->ZAXPY(-1, ThicknessOldEnum,ThicknessEnum,DeltaIceThicknessEnum); 74 femmodel->inputs->AXPY(+1, DeltaIceThicknessEnum,AccumulatedDeltaIceThicknessEnum); 62 75 63 /* Compute total thickness change between two sea-level solver time steps, ie. every frequency*dt. */76 /* Compute total ice thickness change between two sea-level solver time steps, ie. every frequency*dt. */ 64 77 if(count==frequency){ 65 femmodel->inputs->ZAXPY(-1, OldAccumulatedDelta ThicknessEnum,AccumulatedDeltaThicknessEnum,DeltaThicknessEnum);66 femmodel->inputs->DuplicateInput(AccumulatedDelta ThicknessEnum,OldAccumulatedDeltaThicknessEnum);78 femmodel->inputs->ZAXPY(-1, OldAccumulatedDeltaIceThicknessEnum,AccumulatedDeltaIceThicknessEnum,DeltaIceThicknessEnum); 79 femmodel->inputs->DuplicateInput(AccumulatedDeltaIceThicknessEnum,OldAccumulatedDeltaIceThicknessEnum); 67 80 } 68 81 return; -
issm/branches/trunk-larour-SLPS2022/src/c/cores/transient_core.cpp
r27084 r27093 142 142 femmodel->parameters->FindParam(&isstressbalance,TransientIsstressbalanceEnum); 143 143 femmodel->parameters->FindParam(&ismasstransport,TransientIsmasstransportEnum); 144 femmodel->parameters->FindParam(&ismmemasstransport,TransientIs MmemasstransportEnum);144 femmodel->parameters->FindParam(&ismmemasstransport,TransientIsmmemasstransportEnum); 145 145 femmodel->parameters->FindParam(&isoceantransport,TransientIsoceantransportEnum); 146 146 femmodel->parameters->FindParam(&issmb,TransientIssmbEnum);
Note:
See TracChangeset
for help on using the changeset viewer.