Index: ../trunk-jpl/src/c/cores/depthaverage_core.cpp =================================================================== --- ../trunk-jpl/src/c/cores/depthaverage_core.cpp (revision 21718) +++ ../trunk-jpl/src/c/cores/depthaverage_core.cpp (revision 21719) @@ -13,21 +13,24 @@ /*Intermediaries*/ int domaintype,elementtype; + int inputenum,input_average_enum; if(VerboseSolution()) _printf0_("depth averaging solution...\n"); /*Get parameters*/ femmodel->parameters->FindParam(&domaintype,DomainTypeEnum); femmodel->parameters->FindParam(&elementtype,MeshElementtypeEnum); + femmodel->parameters->FindParam(&inputenum,InputToDepthaverageInEnum); + femmodel->parameters->FindParam(&input_average_enum,InputToDepthaverageOutEnum); - /*If this is a 2D horizontal domain, return (no need to extrude)*/ - if(domaintype==Domain2DhorizontalEnum) return; + /*If this is a 2D horizontal domain: no need to do anything, just copy input*/ + if(domaintype==Domain2DhorizontalEnum){ + InputDuplicatex(femmodel,inputenum,input_average_enum); + return; + } /*Special method for Penta, otherwise call solution sequence*/ if(elementtype==PentaEnum){ - int inputenum,input_average_enum; - femmodel->parameters->FindParam(&inputenum,InputToDepthaverageInEnum); - femmodel->parameters->FindParam(&input_average_enum,InputToDepthaverageOutEnum); InputDepthAverageAtBasex(femmodel,inputenum,input_average_enum); } else{ Index: ../trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp (revision 21718) +++ ../trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp (revision 21719) @@ -266,22 +266,10 @@ element->FindParam(&dt,TimesteppingTimeStepEnum); element->FindParam(&domaintype,DomainTypeEnum); element->FindParam(&stabilization,MasstransportStabilizationEnum); - Input* vxaverage_input=NULL; + Input* vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input); Input* vyaverage_input=NULL; - if(domaintype==Domain2DhorizontalEnum){ - vxaverage_input=element->GetInput(VxEnum); _assert_(vxaverage_input); - vyaverage_input=element->GetInput(VyEnum); _assert_(vyaverage_input); - } - else{ - if(dim==1){ - vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input); - } - if(dim==2){ - vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input); - vyaverage_input=element->GetInput(VyAverageEnum); _assert_(vyaverage_input); - } + if(dim==2) vyaverage_input=element->GetInput(VyAverageEnum); _assert_(vyaverage_input); - } h = element->CharacteristicLength(); /* Start looping on the number of gaussian points: */ @@ -405,16 +393,8 @@ element->GetVerticesCoordinates(&xyz_list); element->FindParam(&dt,TimesteppingTimeStepEnum); element->FindParam(&domaintype,DomainTypeEnum); - Input* vxaverage_input=NULL; - Input* vyaverage_input=NULL; - if(domaintype==Domain2DhorizontalEnum){ - vxaverage_input=element->GetInput(VxEnum); _assert_(vxaverage_input); - vyaverage_input=element->GetInput(VyEnum); _assert_(vyaverage_input); - } - else{ - vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input); - vyaverage_input=element->GetInput(VyAverageEnum); _assert_(vyaverage_input); - } + Input* vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input); + Input* vyaverage_input=element->GetInput(VyAverageEnum); _assert_(vyaverage_input); /* Start looping on the number of gaussian points: */ Gauss* gauss=element->NewGauss(2);