|
| OpULhs_dH (const std::string field_name_row, const std::string field_name_col) |
|
MoFEMErrorCode | iNtegrate (EntitiesFieldData::EntData &row_data, EntitiesFieldData::EntData &col_data) |
| Integrate grad-grad operator. More...
|
|
| OpBaseImpl (const std::string row_field_name, const std::string col_field_name, const OpType type) |
|
MoFEMErrorCode | doWork (int row_side, int col_side, EntityType row_type, EntityType col_type, EntData &row_data, EntData &col_data) |
| Do calculations for the left hand side. More...
|
|
MoFEMErrorCode | doWork (int row_side, EntityType row_type, EntData &row_data) |
| Do calculations for the right hand side. More...
|
|
- Examples
- shallow_wave.cpp.
Definition at line 282 of file shallow_wave.cpp.
◆ OpULhs_dH()
OpULhs_dH::OpULhs_dH |
( |
const std::string |
field_name_row, |
|
|
const std::string |
field_name_col |
|
) |
| |
Definition at line 284 of file shallow_wave.cpp.
286 AssemblyDomainEleOp::OPROWCOL) {
FormsIntegrators< DomainEleOp >::Assembly< PETSC >::OpBase AssemblyDomainEleOp
◆ 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 MoFEM::OpBaseImpl< A, EleOp >.
Definition at line 290 of file shallow_wave.cpp.
295 const double vol = getMeasure();
297 auto t_w = getFTensor0IntegrationWeight();
301 auto t_normal = getFTensor1NormalsAtGaussPts();
303 auto get_t_vec = [&](
const int rr) {
316 t_r(
i) = t_normal(
i);
321 t_P(
i,
j) = t_r(
i) * t_r(
j);
324 const double alpha = t_w * vol;
327 for (; rr !=
nbRows / 3; rr++) {
328 auto t_vec = get_t_vec(3 * rr);
330 const double a =
alpha *
g * t_row_base;
332 for (
int cc = 0; cc !=
nbCols; cc++) {
333 t_vec(
i) +=
a * (t_Q(
i,
m) * t_col_diff_base(
m));
Tensor1< T, Tensor_Dim > normalize()
#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()
FTensor::Index< 'j', 3 > j
FTensor::Index< 'i', 3 > i
FTensor::Index< 'm', 3 > m
FTensor::Tensor1< FTensor::PackPtr< double *, Tensor_Dim >, Tensor_Dim > getFTensor1DiffN(const FieldApproximationBase base)
Get derivatives of base functions.
FTensor::Tensor0< FTensor::PackPtr< double *, 1 > > getFTensor0N(const FieldApproximationBase base)
Get base function as Tensor0.
int nbRows
number of dofs on rows
int nbIntegrationPts
number of integration points
MatrixDouble locMat
local entity block matrix
int nbCols
number if dof on column
int nbRowBaseFunctions
number or row base functions
The documentation for this struct was generated from the following file: