diff --git a/packages/panzer/disc-fe/src/Panzer_AssemblyEngine_impl.hpp b/packages/panzer/disc-fe/src/Panzer_AssemblyEngine_impl.hpp index 2c0c506ec771..e4948dfa3c81 100644 --- a/packages/panzer/disc-fe/src/Panzer_AssemblyEngine_impl.hpp +++ b/packages/panzer/disc-fe/src/Panzer_AssemblyEngine_impl.hpp @@ -364,6 +364,8 @@ evaluateBCs(const panzer::BCType bc_type, workset.alpha = in.alpha; workset.beta = betaValue; workset.time = in.time; + workset.step_size = in.step_size; + workset.stage_number = in.stage_number; workset.gather_seeds = in.gather_seeds; workset.evaluate_transient_terms = in.evaluate_transient_terms; diff --git a/packages/panzer/disc-fe/src/Panzer_InitialCondition_Builder.cpp b/packages/panzer/disc-fe/src/Panzer_InitialCondition_Builder.cpp index 2636e1b246f6..887f7a84357e 100644 --- a/packages/panzer/disc-fe/src/Panzer_InitialCondition_Builder.cpp +++ b/packages/panzer/disc-fe/src/Panzer_InitialCondition_Builder.cpp @@ -151,7 +151,9 @@ evaluateInitialCondition(WorksetContainer & wkstContainer, const std::map< std::string,Teuchos::RCP< PHX::FieldManager > >& phx_ic_field_managers, Teuchos::RCP loc, const panzer::LinearObjFactory& lo_factory, - const double time_stamp) + const double time_stamp, + const double step_size, + const int stage_number) { typedef LinearObjContainer LOC; panzer::Traits::PED ped; @@ -185,6 +187,8 @@ evaluateInitialCondition(WorksetContainer & wkstContainer, for (std::size_t i = 0; i < w.size(); ++i) { panzer::Workset& workset = w[i]; workset.time = time_stamp; + workset.step_size = step_size; + workset.stage_number = static_cast(stage_number); fm->evaluateFields(workset); } diff --git a/packages/panzer/disc-fe/src/Panzer_InitialCondition_Builder.hpp b/packages/panzer/disc-fe/src/Panzer_InitialCondition_Builder.hpp index a0b4ddb71e1b..551ccbbe9533 100644 --- a/packages/panzer/disc-fe/src/Panzer_InitialCondition_Builder.hpp +++ b/packages/panzer/disc-fe/src/Panzer_InitialCondition_Builder.hpp @@ -117,12 +117,16 @@ namespace panzer { std::vector > & physics_blocks); /** Execute the construction of an initial condition. + * + * The time_stamp, step_size and stage_number are workset parameters used in some transient problems. These are optional. */ void evaluateInitialCondition(WorksetContainer & wkstContainer, const std::map > >& phx_ic_field_managers, Teuchos::RCP loc, const panzer::LinearObjFactory& lo_factory, - const double time_stamp); + const double time_stamp, + const double step_size = 0.0, + const int stage_number = 0); } #endif