33 PythonBoundaryConditionPythonSideInterface>
41 std::vector<double>
const& prim_vars_data)
const
43 auto [flag, flux, dFlux] =
53 return {flag, flux, std::move(dFlux)};
63 unsigned const integration_order,
64 bool const flush_stdout,
65 unsigned const bulk_mesh_dimension,
72 void applyNaturalBC(
const double t, std::vector<GlobalVector*>
const& x,
96 int const comp)
const;
111 std::vector<std::unique_ptr<PythonBoundaryConditionLocalAssemblerInterface>>
129 int const component_id,
unsigned const integration_order,
130 unsigned const shapefunction_order,
131 std::vector<std::reference_wrapper<ProcessVariable>>
const&
132 all_process_variables_for_this_process);
MathLib::EigenMatrix GlobalMatrix
MathLib::EigenVector GlobalVector
GlobalMatrix::IndexType GlobalIndexType
std::unique_ptr< NumLib::LocalToGlobalIndexMap > _dof_table_boundary
Local dof table for the boundary mesh.
double interpolateToHigherOrderNode(GlobalVector const &x, int const var, int const comp, MeshLib::Node const &boundary_node) const
PythonBcData _bc_data
Auxiliary data used by the local assemblers.
void applyNaturalBC(const double t, std::vector< GlobalVector * > const &x, int const process_id, GlobalMatrix *K, GlobalVector &b, GlobalMatrix *Jac) override
std::vector< std::unique_ptr< PythonBoundaryConditionLocalAssemblerInterface > > _local_assemblers
Local assemblers for all elements of the boundary mesh.
void getEssentialBCValues(const double t, const GlobalVector &x, NumLib::IndexValueVector< GlobalIndexType > &bc_values) const override
Writes the values of essential BCs to bc_values.
GlobalIndexType getDofIdx(std::size_t const boundary_node_id) const
void collectPrimaryVariables(std::vector< double > &primary_variables, MeshLib::Node const &boundary_node, GlobalVector const &x) const
PythonBoundaryCondition(PythonBcData &&bc_data, unsigned const integration_order, bool const flush_stdout, unsigned const bulk_mesh_dimension, NumLib::LocalToGlobalIndexMap const &dof_table_bulk)
std::unique_ptr< PythonBoundaryCondition > createPythonBoundaryCondition(PythonBoundaryConditionConfig const &config, MeshLib::Mesh const &boundary_mesh, NumLib::LocalToGlobalIndexMap const &dof_table_bulk, MeshLib::Mesh const &bulk_mesh, int const variable_id, int const component_id, unsigned const integration_order, unsigned const shapefunction_order, std::vector< std::reference_wrapper< ProcessVariable > > const &all_process_variables_for_this_process)
Creates a new PythonBoundaryCondition object.
PythonBoundaryConditionConfig parsePythonBoundaryCondition(BaseLib::ConfigTree const &config)
PythonBoundaryConditionPythonSideInterface const *const bc_or_st_object
ProcessLib::BoundaryConditionAndSourceTerm::Python::FlagAndFluxAndDFlux getFlagAndFluxAndDFlux(double const t, std::array< double, 3 > const coords, std::vector< double > const &prim_vars_data) const