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.
 
int const global_component_id
 
MeshLib::Mesh const & bc_or_st_mesh
 The domain, where this BC or ST will be applied.
 
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

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


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