v0.16.0
Loading...
Searching...
No Matches
DGProjection.hpp
Go to the documentation of this file.
1/*/**
2 * @file DGProjection.hpp
3 * @author your name (you@domain.com)
4 * @brief
5 * @version 0.1
6 * @date 2023-08-23
7 *
8 * @copyright Copyright (c) 2023
9 *
10 */
11
12#ifndef DGPROJECTION_HPP
13#define DGPROJECTION_HPP
14
15namespace MoFEM {
16
17template <int DIM>
21 boost::shared_ptr<Range> edges_ptr);
22
23template <>
27 boost::shared_ptr<Range> edges_ptr);
28
30 OpDGProjectionMassMatrix(int order, boost::shared_ptr<MatrixDouble> mass_ptr,
31 boost::shared_ptr<EntitiesFieldData> data_l2,
32 const FieldApproximationBase b, const FieldSpace s,
33 int verb = QUIET, Sev sev = Sev::verbose);
34
35 MoFEMErrorCode doWork(int side, EntityType type,
37
38private:
40};
41
42/**
43 * @brief Evaluate field for given DG projection coefficients.
44 *
45 */
47
49 boost::shared_ptr<MatrixDouble> data_ptr,
50 boost::shared_ptr<MatrixDouble> coeffs_ptr,
51 boost::shared_ptr<MatrixDouble> mass_ptr,
52 boost::shared_ptr<EntitiesFieldData> data_l2,
53 const FieldApproximationBase b, const FieldSpace s,
54 const LogManager::SeverityLevel sev = Sev::noisy,
56
57 MoFEMErrorCode doWork(int side, EntityType type,
59
60protected:
61 boost::shared_ptr<MatrixDouble> dataPtr;
62 boost::shared_ptr<MatrixDouble> coeffsPtr;
64};
65
66/**
67 * @brief Evaluate right hand side for given data coefficients.
68 *
69 */
71
73
74 OpDGProjectionEvaluation(boost::shared_ptr<MatrixDouble> data_ptr,
75 boost::shared_ptr<MatrixDouble> coeffs_ptr,
76 boost::shared_ptr<EntitiesFieldData> data_l2,
77 const FieldApproximationBase b, const FieldSpace s,
78 const LogManager::SeverityLevel sev = Sev::noisy,
80
81 MoFEMErrorCode doWork(int side, EntityType type,
83
84private:
86};
87}; // namespace MoFEM
88
89#endif // DGPROJECTION_HPP
std::string type
@ QUIET
FieldApproximationBase
approximation base
Definition definitions.h:58
FieldSpace
approximation spaces
Definition definitions.h:82
constexpr int order
SeverityLevel
Severity levels.
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
implementation of Data Operators for Forces and Sources
Definition Common.hpp:10
MoFEMErrorCode setDGSetIntegrationPoints(ForcesAndSourcesCore::GaussHookFun &set_hook, ForcesAndSourcesCore::RuleHookFun rule, boost::shared_ptr< Range > edges_ptr)
MoFEMErrorCode setDGSetIntegrationPoints< 2 >(ForcesAndSourcesCore::GaussHookFun &set_hook, ForcesAndSourcesCore::RuleHookFun rule, boost::shared_ptr< Range > edges_ptr)
Data on single entity (This is passed as argument to DataOperator::doWork)
boost::function< MoFEMErrorCode(ForcesAndSourcesCore *fe_raw_ptr, int order_row, int order_col, int order_data)> GaussHookFun
boost::function< int(int order_row, int order_col, int order_data)> RuleHookFun
Evaluate field for given DG projection coefficients.
boost::shared_ptr< MatrixDouble > coeffsPtr
boost::shared_ptr< MatrixDouble > dataPtr
MoFEMErrorCode doWork(int side, EntityType type, EntitiesFieldData::EntData &data)
Operator for linear form, usually to calculate values on right hand side.
Evaluate right hand side for given data coefficients.
MoFEMErrorCode doWork(int side, EntityType type, EntitiesFieldData::EntData &data)
Operator for linear form, usually to calculate values on right hand side.
MoFEMErrorCode doWork(int side, EntityType type, EntitiesFieldData::EntData &data)
Operator for linear form, usually to calculate values on right hand side.