OGS
|
Definition at line 19 of file SurfaceFlux.h.
#include <SurfaceFlux.h>
Public Member Functions | |
SurfaceFlux (MeshLib::Mesh &boundary_mesh, std::size_t bulk_property_number_of_components, unsigned const integration_order) | |
void | integrate (std::vector< GlobalVector * > const &x, MeshLib::PropertyVector< double > &balance, double const t, MeshLib::Mesh const &bulk_mesh, std::vector< std::size_t > const &active_element_ids, std::function< Eigen::Vector3d(std::size_t const, MathLib::Point3d const &, double const, std::vector< GlobalVector * > const &)> const &getFlux) |
Private Attributes | |
std::vector< std::unique_ptr< SurfaceFluxLocalAssemblerInterface > > | _local_assemblers |
ProcessLib::SurfaceFlux::SurfaceFlux | ( | MeshLib::Mesh & | boundary_mesh, |
std::size_t | bulk_property_number_of_components, | ||
unsigned const | integration_order ) |
Constructs an object that is able to compute a balance.
boundary_mesh | The integration boundary mesh. |
bulk_property_number_of_components | The number of components the variable has. |
integration_order | Integration order used in local assembly. |
Definition at line 19 of file SurfaceFlux.cpp.
References _local_assemblers, NumLib::BY_LOCATION, MeshLib::Cell, ProcessLib::createLocalAssemblers(), DBUG(), MeshLib::Face, MeshLib::getBulkIDString(), MeshLib::Mesh::getDimension(), MeshLib::Mesh::getElements(), MeshLib::Mesh::getNodes(), MeshLib::Mesh::getProperties(), and MeshLib::Mesh::isAxiallySymmetric().
void ProcessLib::SurfaceFlux::integrate | ( | std::vector< GlobalVector * > const & | x, |
MeshLib::PropertyVector< double > & | balance, | ||
double const | t, | ||
MeshLib::Mesh const & | bulk_mesh, | ||
std::vector< std::size_t > const & | active_element_ids, | ||
std::function< Eigen::Vector3d(std::size_t const, MathLib::Point3d const &, double const, std::vector< GlobalVector * > const &)> const & | getFlux ) |
Executes for each element of the mesh the local integration procedure.
x | The global solution the integration values will be fetched of. |
balance | The vector the integration results will be stored in. |
t | The balance will be computed at the time t. |
bulk_mesh | Stores a reference to the bulk mesh that is needed to fetch the information for the integration over the surface mesh. |
active_element_ids | The IDs of active elements. It is empty if there is no deactivated subdomain. |
getFlux | function that calculates the flux in the integration points of the face elements of the bulk element that belongs to the surface. |
Definition at line 57 of file SurfaceFlux.cpp.
References _local_assemblers, DBUG(), NumLib::SerialExecutor::executeSelectedMemberOnDereferenced(), and ProcessLib::SurfaceFluxLocalAssemblerInterface::integrate().
|
private |
Definition at line 54 of file SurfaceFlux.h.
Referenced by SurfaceFlux(), and integrate().