OGS
ProcessLib::PythonBcData Struct Referencefinal

Detailed Description

Definition at line 30 of file PythonBoundaryCondition.h.

#include <PythonBoundaryCondition.h>

Inheritance diagram for ProcessLib::PythonBcData:
[legend]
Collaboration diagram for ProcessLib::PythonBcData:
[legend]

Public Member Functions

ProcessLib::BoundaryConditionAndSourceTerm::Python::FlagAndFluxAndDFlux getFlagAndFluxAndDFlux (double const t, std::array< double, 3 > const coords, std::vector< double > const &prim_vars_data) const
 

Additional Inherited Members

- Public Attributes inherited from ProcessLib::BoundaryConditionAndSourceTerm::Python::BcOrStData< PythonBoundaryConditionPythonSideInterface >
PythonBoundaryConditionPythonSideInterface const *const bc_or_st_object
 Python object computing BC or ST values. More...
 
int const global_component_id
 
MeshLib::Mesh const & bc_or_st_mesh
 The domain, where this BC or ST will be applied. More...
 
std::vector< std::reference_wrapper< ProcessVariable > > const & all_process_variables_for_this_process
 
unsigned const shape_function_order
 

Member Function Documentation

◆ getFlagAndFluxAndDFlux()

ProcessLib::BoundaryConditionAndSourceTerm::Python::FlagAndFluxAndDFlux ProcessLib::PythonBcData::getFlagAndFluxAndDFlux ( double const  t,
std::array< double, 3 > const  coords,
std::vector< double > const &  prim_vars_data 
) const
inline

The interfaces of Python BCs and STs differ slightly.

This method provides an interface for accessing Python BC and ST objects in a uniform way.

Definition at line 39 of file PythonBoundaryCondition.h.

41 {
42 auto [flag, flux, dFlux] =
43 bc_or_st_object->getFlux(t, coords, prim_vars_data);
44
46 {
47 // getFlux() is not overridden in Python, so we can skip the
48 // whole BC assembly (i.e., for all boundary elements).
49 throw MethodNotOverriddenInDerivedClassException{};
50 }
51
52 return {flag, flux, std::move(dFlux)};
53 }
virtual std::tuple< bool, double, std::vector< double > > getFlux(double, std::array< double, 3 >, std::vector< double > const &) const
static const double t
PythonBoundaryConditionPythonSideInterface const *const bc_or_st_object
Python object computing BC or ST values.
Definition: BcOrStData.h:39

References ProcessLib::BoundaryConditionAndSourceTerm::Python::BcOrStData< PythonBoundaryConditionPythonSideInterface >::bc_or_st_object, ProcessLib::PythonBoundaryConditionPythonSideInterface::getFlux(), ProcessLib::PythonBoundaryConditionPythonSideInterface::isOverriddenNatural(), and MathLib::t.


The documentation for this struct was generated from the following file: