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
"
7
#include "
Utils/BcAndStLocalAssemblerImpl.h
"
8
9
namespace
ProcessLib
10
{
11
namespace
SourceTerms
12
{
13
namespace
Python
14
{
15
template
<
typename
ShapeFunction,
typename
LowerOrderShapeFunction,
16
int
GlobalDim>
17
class
PythonSourceTermLocalAssembler
final
18
:
public
PythonSourceTermLocalAssemblerInterface
19
{
20
using
LocAsmImpl
= ProcessLib::BoundaryConditionAndSourceTerm::Python::
21
BcAndStLocalAssemblerImpl<
PythonStData
,
ShapeFunction
,
22
LowerOrderShapeFunction, GlobalDim>;
23
using
Traits
=
typename
LocAsmImpl::Traits;
24
25
public
:
26
PythonSourceTermLocalAssembler
(
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
45
private
:
46
LocAsmImpl
const
impl_
;
47
};
48
49
}
// namespace Python
50
}
// namespace SourceTerms
51
}
// namespace ProcessLib
BcAndStLocalAssemblerImpl.h
GlobalMatrix
MathLib::EigenMatrix GlobalMatrix
Definition
GlobalMatrixVectorTypes.h:17
GlobalVector
MathLib::EigenVector GlobalVector
Definition
GlobalMatrixVectorTypes.h:16
PythonSourceTerm.h
MeshLib::Element
Definition
Element.h:25
NumLib::GenericIntegrationMethod
Definition
GenericIntegrationMethod.h:18
NumLib::LocalToGlobalIndexMap
Definition
LocalToGlobalIndexMap.h:34
ProcessLib::SourceTerms::Python::PythonSourceTermLocalAssemblerInterface
Definition
PythonSourceTermLocalAssemblerInterface.h:13
ProcessLib::SourceTerms::Python::PythonSourceTermLocalAssembler::impl_
LocAsmImpl const impl_
Definition
PythonSourceTermLocalAssembler.h:46
ProcessLib::SourceTerms::Python::PythonSourceTermLocalAssembler::LocAsmImpl
ProcessLib::BoundaryConditionAndSourceTerm::Python:: BcAndStLocalAssemblerImpl< PythonStData, ShapeFunction, LowerOrderShapeFunction, GlobalDim > LocAsmImpl
Definition
PythonSourceTermLocalAssembler.h:20
ProcessLib::SourceTerms::Python::PythonSourceTermLocalAssembler::Traits
typename LocAsmImpl::Traits Traits
Definition
PythonSourceTermLocalAssembler.h:23
ProcessLib::SourceTerms::Python::PythonSourceTermLocalAssembler::PythonSourceTermLocalAssembler
PythonSourceTermLocalAssembler(MeshLib::Element const &e, std::size_t const, NumLib::GenericIntegrationMethod const &integration_method, bool const is_axially_symmetric, PythonStData const &data)
Definition
PythonSourceTermLocalAssembler.h:26
ProcessLib::SourceTerms::Python::PythonSourceTermLocalAssembler::assemble
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
Definition
PythonSourceTermLocalAssembler.h:36
ShapeFunction
Definition
NodeReordering.cpp:83
ProcessLib::SourceTerms::Python
Definition
PythonSourceTerm.cpp:22
ProcessLib::SourceTerms
Definition
PythonSourceTerm.cpp:20
ProcessLib
Definition
ProjectData.h:40
ProcessLib::SourceTerms::Python::PythonStData
Definition
PythonSourceTerm.h:20
ProcessLib
BoundaryConditionAndSourceTerm
Python
PythonSourceTermLocalAssembler.h
Generated by
1.14.0