35 std::string
const& name,
37 std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
38 std::vector<ProcessVariable>
const& variables,
39 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>
const& parameters,
40 unsigned const integration_order,
42 std::vector<std::unique_ptr<MeshLib::Mesh>>
const& meshes,
43 std::map<
int, std::shared_ptr<MaterialPropertyLib::Medium>>
const& media)
48 DBUG(
"Create SteadyStateDiffusion.");
55 std::vector<std::vector<std::reference_wrapper<ProcessVariable>>>
62 process_variables.push_back(std::move(per_process_variables));
67 DBUG(
"Check the media properties of steady state diffusion process ...");
69 DBUG(
"Media properties verified.");
78 std::unique_ptr<ProcessLib::SurfaceFluxData> surfaceflux;
79 auto calculatesurfaceflux_config =
82 if (calculatesurfaceflux_config)
85 *calculatesurfaceflux_config, meshes);
88 return std::make_unique<SteadyStateDiffusion>(
89 std::move(name), mesh, std::move(jacobian_assembler), parameters,
90 integration_order, std::move(process_variables),
91 std::move(process_data), std::move(secondary_variables),
92 std::move(surfaceflux));