Skip to content

Commit

Permalink
CHG: fixing issue with missing InputToP0.
Browse files Browse the repository at this point in the history
  • Loading branch information
larour committed Nov 29, 2024
1 parent d19b985 commit 343f9a0
Showing 1 changed file with 18 additions and 1 deletion.
19 changes: 18 additions & 1 deletion src/c/classes/FemModel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -860,10 +860,11 @@ void FemModel::SolutionAnalysesList(int** panalyses,int* pnumanalyses,IoModel* i

case TransientSolutionEnum:{
/*We have multiple analyses here, process one by one*/
bool isSIA,isFS,isthermal,isenthalpy,ismasstransport,isoceantransport,isgroundingline,isstressbalance,ismovingfront,ishydrology,isdamage,issmb,isslc,isesa,isdebris,issampling,isfreesurface;
bool isSIA,isFS,isthermal,isenthalpy,ismasstransport,ismmemasstransport,isoceantransport,isgroundingline,isstressbalance,ismovingfront,ishydrology,isdamage,issmb,isslc,isesa,isdebris,issampling,isfreesurface;
iomodel->FindConstant(&isthermal,"md.transient.isthermal");
iomodel->FindConstant(&ismovingfront,"md.transient.ismovingfront");
iomodel->FindConstant(&ismasstransport,"md.transient.ismasstransport");
iomodel->FindConstant(&ismmemasstransport,"md.transient.ismmemasstransport");
iomodel->FindConstant(&isoceantransport,"md.transient.isoceantransport");
iomodel->FindConstant(&isstressbalance,"md.transient.isstressbalance");
iomodel->FindConstant(&isgroundingline,"md.transient.isgroundingline");
Expand Down Expand Up @@ -919,6 +920,9 @@ void FemModel::SolutionAnalysesList(int** panalyses,int* pnumanalyses,IoModel* i
if(isoceantransport){
analyses_temp[numanalyses++]=OceantransportAnalysisEnum;
}
if(ismmemasstransport){
analyses_temp[numanalyses++]=MmemasstransportAnalysisEnum;
}
if(isslc){
analyses_temp[numanalyses++]=SealevelchangeAnalysisEnum;
}
Expand Down Expand Up @@ -1808,6 +1812,19 @@ void FemModel::IceVolumex(IssmDouble* pV, bool scaled){/*{{{*/
*pV=total_ice_volume;

}/*}}}*/
void FemModel::InputToP0(int inputenum,int outputenum){/*{{{*/

IssmDouble average;

/*Collapse input to P0, by doing the average. We need to have the elements
* to do so, so loop onto elements: */
for(Object* & object : this->elements->objects){
Element* element = xDynamicCast<Element*>(object);
Input* input = element->GetInput(inputenum);
input->GetInputAverage(&average);
element->AddInput(outputenum,&average,P0Enum);
}
}/*}}}*/
void FemModel::MassFluxx(IssmDouble* pmass_flux){/*{{{*/

int i,j;
Expand Down

0 comments on commit 343f9a0

Please sign in to comment.