v0.15.5
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
43
44 OpDGProjectionCoefficients(boost::shared_ptr<MatrixDouble> data_ptr,
45 boost::shared_ptr<MatrixDouble> coeffs_ptr,
46 boost::shared_ptr<MatrixDouble> mass_ptr,
47 boost::shared_ptr<EntitiesFieldData> data_l2,
48 const FieldApproximationBase b, const FieldSpace s,
49 const LogManager::SeverityLevel sev = Sev::noisy);
50
51 MoFEMErrorCode doWork(int side, EntityType type,
53
54protected:
55 boost::shared_ptr<MatrixDouble> dataPtr;
56 boost::shared_ptr<MatrixDouble> coeffsPtr;
57};
58
60
61 OpDGProjectionEvaluation(boost::shared_ptr<MatrixDouble> data_ptr,
62 boost::shared_ptr<MatrixDouble> coeffs_ptr,
63 boost::shared_ptr<EntitiesFieldData> data_l2,
64 const FieldApproximationBase b, const FieldSpace s,
65 const LogManager::SeverityLevel sev = Sev::noisy);
66
67 MoFEMErrorCode doWork(int side, EntityType type,
69};
70}; // namespace MoFEM
71
72#endif // DGPROJECTION_HPP
@ 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
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.
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.