Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp (revision 18590) +++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp (revision 18591) @@ -3,6 +3,7 @@ #include "../classes/classes.h" #include "../shared/shared.h" #include "../modules/modules.h" +#include "../solutionsequences/solutionsequences.h" /*Model processing*/ int EnthalpyAnalysis::DofsPerNode(int** doflist,int domaintype,int approximation){/*{{{*/ @@ -198,7 +199,19 @@ /*Finite Element Analysis*/ void EnthalpyAnalysis::Core(FemModel* femmodel){/*{{{*/ - _error_("not implemented"); + if(VerboseSolution()) _printf0_(" computing enthalpy\n"); + femmodel->SetCurrentConfiguration(EnthalpyAnalysisEnum); + solutionsequence_thermal_nonlinear(femmodel); + + /*transfer enthalpy to enthalpy picard for the next step: */ + InputDuplicatex(femmodel,EnthalpyEnum,EnthalpyPicardEnum); + + int solution_type; + femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum); + if(solution_type!=SteadystateSolutionEnum){ + PostProcessing(femmodel); + } + }/*}}}*/ ElementVector* EnthalpyAnalysis::CreateDVector(Element* element){/*{{{*/ /*Default, return NULL*/ Index: ../trunk-jpl/src/c/cores/thermal_core.cpp =================================================================== --- ../trunk-jpl/src/c/cores/thermal_core.cpp (revision 18590) +++ ../trunk-jpl/src/c/cores/thermal_core.cpp (revision 18591) @@ -27,20 +27,9 @@ if(numoutputs) femmodel->parameters->FindParam(&requested_outputs,&numoutputs,ThermalRequestedOutputsEnum); if(isenthalpy){ - - if(VerboseSolution()) _printf0_(" computing enthalpy\n"); - femmodel->SetCurrentConfiguration(EnthalpyAnalysisEnum); - solutionsequence_thermal_nonlinear(femmodel); - - /*transfer enthalpy to enthalpy picard for the next step: */ - InputDuplicatex(femmodel,EnthalpyEnum,EnthalpyPicardEnum); - - if(solution_type!=SteadystateSolutionEnum){ - /*Post process*/ - enthalpy_analysis = new EnthalpyAnalysis(); - enthalpy_analysis->PostProcessing(femmodel); - delete enthalpy_analysis; - } + enthalpy_analysis = new EnthalpyAnalysis(); + enthalpy_analysis->Core(femmodel); + delete enthalpy_analysis; } else{ if(VerboseSolution()) _printf0_(" computing temperatures\n");