OGS
PythonSourceTermLocalAssembler.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include "PythonSourceTerm.h"
8
9namespace ProcessLib
10{
11namespace SourceTerms
12{
13namespace Python
14{
15template <typename ShapeFunction, typename LowerOrderShapeFunction,
16 int GlobalDim>
19{
20 using LocAsmImpl = ProcessLib::BoundaryConditionAndSourceTerm::Python::
21 BcAndStLocalAssemblerImpl<PythonStData, ShapeFunction,
22 LowerOrderShapeFunction, GlobalDim>;
23 using Traits = typename LocAsmImpl::Traits;
24
25public:
27 MeshLib::Element const& e,
28 std::size_t const /*local_matrix_size*/,
29 NumLib::GenericIntegrationMethod const& integration_method,
30 bool const is_axially_symmetric,
31 PythonStData const& data)
32 : impl_{e, integration_method, is_axially_symmetric, data}
33 {
34 }
35
36 void assemble(std::size_t const source_term_element_id,
37 NumLib::LocalToGlobalIndexMap const& dof_table_source_term,
38 double const t, const GlobalVector& x, GlobalVector& b,
39 GlobalMatrix* const Jac) override
40 {
41 impl_.assemble(source_term_element_id, dof_table_source_term, t, x, b,
42 Jac);
43 }
44
45private:
47};
48
49} // namespace Python
50} // namespace SourceTerms
51} // namespace ProcessLib
MathLib::EigenMatrix GlobalMatrix
MathLib::EigenVector GlobalVector
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