OGS
ReflectionForIPWriters.h
Go to the documentation of this file.
1
11#pragma once
12
14#include "ReflectionIPData.h"
15
17{
20template <int Dim, typename LocAsmIF, typename ReflData>
22 ReflData const& reflection_data,
23 std::vector<std::unique_ptr<MeshLib::IntegrationPointWriter>>&
24 integration_point_writers,
25 unsigned const integration_order,
26 std::vector<std::unique_ptr<LocAsmIF>> const& local_assemblers)
27{
29 reflection_data,
30 [&integration_point_writers, integration_order, &local_assemblers](
31 std::string const& name,
32 unsigned const num_comp,
33 auto&& flattened_ip_data_accessor)
34 {
35 // TODO check if writer with such a name already exists.
36 integration_point_writers.emplace_back(
37 std::make_unique<MeshLib::IntegrationPointWriter>(
38 name + "_ip", num_comp, integration_order, local_assemblers,
39 flattened_ip_data_accessor));
40 });
41}
42} // namespace ProcessLib::Reflection
void forEachReflectedFlattenedIPDataAccessor(ReflData const &reflection_data, Callback const &callback)
void addReflectedIntegrationPointWriters(ReflData const &reflection_data, std::vector< std::unique_ptr< MeshLib::IntegrationPointWriter > > &integration_point_writers, unsigned const integration_order, std::vector< std::unique_ptr< LocAsmIF > > const &local_assemblers)