diff --git a/src/serac/physics/base_physics.hpp b/src/serac/physics/base_physics.hpp index 403d0b3f5..e687920b0 100644 --- a/src/serac/physics/base_physics.hpp +++ b/src/serac/physics/base_physics.hpp @@ -481,6 +481,15 @@ class BasePhysics { */ std::string name() const { return name_; } + /** + * @brief Accessor for getting all of the primal solutions from the physics modules at a given + * checkpointed cycle index + * + * @param cycle The cycle to retrieve state from + * @return A map containing the primal field names and their associated FiniteElementStates at the requested cycle + */ + std::unordered_map getCheckpointedStates(int cycle); + protected: /** * @brief Create a paraview data collection for the physics package if requested @@ -503,15 +512,6 @@ class BasePhysics { */ void initializeBasePhysicsStates(int cycle, double time); - /** - * @brief Accessor for getting all of the primal solutions from the physics modules at a given - * checkpointed cycle index - * - * @param cycle The cycle to retrieve state from - * @return A map containing the primal field names and their associated FiniteElementStates at the requested cycle - */ - std::unordered_map getCheckpointedStates(int cycle); - /// @brief Name of the physics module std::string name_ = {}; diff --git a/src/serac/physics/boundary_conditions/boundary_condition.cpp b/src/serac/physics/boundary_conditions/boundary_condition.cpp index 4a216c78c..7191fa30f 100644 --- a/src/serac/physics/boundary_conditions/boundary_condition.cpp +++ b/src/serac/physics/boundary_conditions/boundary_condition.cpp @@ -99,7 +99,7 @@ void BoundaryCondition::setDofs(mfem::Vector& vector, const double time) const // a single component of a vector-valued function auto scalar_coef = get>(coef_); scalar_coef->SetTime(time); - if (component_) { + if (component_ || attr_markers_.Size() == 0) { // TODO: If attribute markers is empty, that means this is applied to the entire domain (component could be zero). state.project(*scalar_coef, dof_list, *component_); } else { diff --git a/src/serac/physics/state/state_manager.cpp b/src/serac/physics/state/state_manager.cpp index 194e33077..f3a980228 100644 --- a/src/serac/physics/state/state_manager.cpp +++ b/src/serac/physics/state/state_manager.cpp @@ -195,7 +195,7 @@ void StateManager::save(const double t, const int cycle, const std::string& mesh auto& datacoll = datacolls_.at(mesh_tag); std::string file_path = axom::utilities::filesystem::joinPath(datacoll.GetPrefixPath(), datacoll.GetCollectionName()); SLIC_INFO_ROOT( - axom::fmt::format("Saving data collection at time: '{}' and cycle: '{}' to path: '{}'", t, cycle, file_path)); + axom::fmt::format("Saving data collection at time: '{:.9e}' and cycle: '{:06d}' to path: '{}'", t, cycle, file_path)); datacoll.SetTime(t); datacoll.SetCycle(cycle);