OGS
PythonSourceTermLocalAssembler.h
Go to the documentation of this file.
1
11#pragma once
12
13#include "PythonSourceTerm.h"
15
16namespace ProcessLib
17{
18namespace SourceTerms
19{
20namespace Python
21{
22template <typename ShapeFunction, typename LowerOrderShapeFunction,
23 int GlobalDim>
26{
27 using LocAsmImpl = ProcessLib::BoundaryConditionAndSourceTerm::Python::
28 BcAndStLocalAssemblerImpl<PythonStData, ShapeFunction,
29 LowerOrderShapeFunction, GlobalDim>;
30 using Traits = typename LocAsmImpl::Traits;
31
32public:
34 MeshLib::Element const& e,
35 std::size_t const /*local_matrix_size*/,
36 NumLib::GenericIntegrationMethod const& integration_method,
37 bool const is_axially_symmetric,
38 PythonStData const& data)
39 : impl_{e, integration_method, is_axially_symmetric, data}
40 {
41 }
42
43 void assemble(std::size_t const source_term_element_id,
44 NumLib::LocalToGlobalIndexMap const& dof_table_source_term,
45 double const t, const GlobalVector& x, GlobalVector& b,
46 GlobalMatrix* const Jac) override
47 {
48 impl_.assemble(source_term_element_id, dof_table_source_term, t, x, b,
49 Jac);
50 }
51
52private:
54};
55
56} // namespace Python
57} // namespace SourceTerms
58} // namespace ProcessLib
Global vector based on Eigen vector.
Definition EigenVector.h:25
ProcessLib::BoundaryConditionAndSourceTerm::Python:: BcAndStLocalAssemblerImpl< PythonStData, ShapeFunction, LowerOrderShapeFunction, GlobalDim > LocAsmImpl
PythonSourceTermLocalAssembler(MeshLib::Element const &e, std::size_t const, NumLib::GenericIntegrationMethod const &integration_method, bool const is_axially_symmetric, PythonStData const &data)
void assemble(std::size_t const source_term_element_id, NumLib::LocalToGlobalIndexMap const &dof_table_source_term, double const t, const GlobalVector &x, GlobalVector &b, GlobalMatrix *const Jac) override