#include <users_modules/tutorials/cor-2to5/src/PoissonOperators.hpp>
Definition at line 598 of file PoissonOperators.hpp.
◆ OpKt()
PoissonExample::OpKt::OpKt |
( |
boost::function< double(const double)> |
a, |
|
|
boost::function< double(const double)> |
diff_a, |
|
|
boost::shared_ptr< VectorDouble > & |
field_vals, |
|
|
boost::shared_ptr< MatrixDouble > & |
grad_vals |
|
) |
| |
- Examples
- PoissonOperators.hpp.
Definition at line 600 of file PoissonOperators.hpp.
boost::function< double(const double)> diffA
boost::shared_ptr< MatrixDouble > gradVals
boost::shared_ptr< VectorDouble > fieldVals
boost::function< double(const double)> A
◆ iNtegrate()
Integrate grad-grad operator.
- Parameters
-
row_data | row data (consist base functions on row entity) |
col_data | column data (consist base functions on column entity) |
- Returns
- error code
Reimplemented from PoissonExample::OpK.
- Examples
- PoissonOperators.hpp.
Definition at line 614 of file PoissonOperators.hpp.
622 double vol = getVolume();
624 auto t_w = getFTensor0IntegrationWeight();
628 auto t_grad = getFTensor1FromMat<3>(*
gradVals);
630 auto t_row_grad = row_data.getFTensor1DiffN<3>();
634 const double alpha = t_w * vol;
635 const double beta =
alpha *
A(t_u);
642 for (
int rr = 0; rr !=
nbRows; rr++) {
644 auto t_col = col_data.getFTensor0N(gg, 0);
646 auto t_col_grad = col_data.getFTensor1DiffN<3>(gg, 0);
648 for (
int cc = 0; cc !=
nbCols; cc++) {
650 a += (t_row_grad(
i) * beta) * t_col_grad(
i) +
651 t_row_grad(
i) * (t_gamma(
i) * t_col);
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
static auto getFTensor0FromVec(ublas::vector< T, A > &data)
Get tensor rank 0 (scalar) form data vector.
int nbCols
number if dof on column
MatrixDouble locMat
local entity block matrix
int nbIntegrationPts
number of integration points
FTensor::Index< 'i', 3 > i
summit Index
boost::function<double(const double)> PoissonExample::OpKt::A |
|
protected |
◆ diffA
boost::function<double(const double)> PoissonExample::OpKt::diffA |
|
protected |
◆ fieldVals
boost::shared_ptr<VectorDouble> PoissonExample::OpKt::fieldVals |
|
protected |
◆ gradVals
boost::shared_ptr<MatrixDouble> PoissonExample::OpKt::gradVals |
|
protected |
The documentation for this struct was generated from the following file: