OGS
SurfaceFluxData.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include <memory>
7#include <string>
8#include <vector>
9
12
13namespace MeshLib
14{
15class Mesh;
16} // namespace MeshLib
17
18namespace ProcessLib
19{
20class Process;
21
22struct SurfaceFluxData final
23{
24 SurfaceFluxData(MeshLib::Mesh& surfaceflux_mesh,
25 std::string&& surfaceflux_property_vector_name);
26
27 static std::unique_ptr<ProcessLib::SurfaceFluxData> createSurfaceFluxData(
28 BaseLib::ConfigTree const& calculatesurfaceflux_config,
29 std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes);
30
31 void integrate(std::vector<GlobalVector*> const& x, double const t,
32 Process const& p, int const process_id,
33 int const integration_order, MeshLib::Mesh const& bulk_mesh,
34 std::vector<std::size_t> const& active_element_ids);
35
36private:
38 std::string const property_vector_name;
39};
40} // namespace ProcessLib
std::string const property_vector_name
SurfaceFluxData(MeshLib::Mesh &surfaceflux_mesh, std::string &&surfaceflux_property_vector_name)
void integrate(std::vector< GlobalVector * > const &x, double const t, Process const &p, int const process_id, int const integration_order, MeshLib::Mesh const &bulk_mesh, std::vector< std::size_t > const &active_element_ids)
static std::unique_ptr< ProcessLib::SurfaceFluxData > createSurfaceFluxData(BaseLib::ConfigTree const &calculatesurfaceflux_config, std::vector< std::unique_ptr< MeshLib::Mesh > > const &meshes)