Skip to content
Snippets Groups Projects
Commit 018ff84a authored by Christoph Lehmann's avatar Christoph Lehmann
Browse files

[PL] Added submesh residuum output to createTimeLoop()

parent 5556d56a
No related branches found
No related tags found
No related merge requests found
......@@ -16,6 +16,7 @@
#include "ProcessLib/CreateProcessData.h"
#include "ProcessLib/Output/CreateOutput.h"
#include "ProcessLib/Output/Output.h"
#include "ProcessLib/Output/SubmeshResiduumOutputConfig.h"
#include "TimeLoop.h"
namespace ProcessLib
......@@ -70,6 +71,37 @@ std::unique_ptr<TimeLoop> createTimeLoop(
: createOutputs(config.getConfigSubtree("outputs"),
output_directory, meshes);
if (auto const submesh_residuum_output_config_tree =
//! \ogs_file_param{prj__time_loop__submesh_residuum_output}
config.getConfigSubtreeOptional("submesh_residuum_output");
submesh_residuum_output_config_tree)
{
auto smroc = createSubmeshResiduumOutputConfig(
*submesh_residuum_output_config_tree, output_directory, meshes);
for (auto& process : processes)
{
auto const& residuum_vector_names =
process->initializeAssemblyOnSubmeshes(smroc.meshes);
for (auto& name : residuum_vector_names)
{
smroc.output.doNotProjectFromBulkMeshToSubmeshes(
name, MeshLib::MeshItemType::Node);
}
}
outputs.push_back(std::move(smroc.output));
}
else
{
// Submesh assembly must always be initialized.
for (auto& process : processes)
{
process->initializeAssemblyOnSubmeshes({});
}
}
auto per_process_data = createPerProcessData(
//! \ogs_file_param{prj__time_loop__processes}
config.getConfigSubtree("processes"), processes, nonlinear_solvers,
......
......@@ -34,7 +34,7 @@ namespace ProcessLib
{
class TimeLoop;
class Process;
}
} // namespace ProcessLib
namespace ProcessLib
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment