|
| OpRadiationLhs (boost::shared_ptr< VectorDouble > &approx_vals) |
|
MoFEMErrorCode | iNtegrate (EntData &row_data, EntData &col_data) |
| [Radiation Lhs] 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...
|
|
Definition at line 77 of file radiation.cpp.
◆ OpRadiationLhs()
Example::OpRadiationLhs::OpRadiationLhs |
( |
boost::shared_ptr< VectorDouble > & |
approx_vals | ) |
|
Definition at line 83 of file radiation.cpp.
OpBaseImpl< PETSC, EdgeEleOp > OpBase
boost::shared_ptr< VectorDouble > approxVals
◆ iNtegrate()
[Radiation Lhs]
Reimplemented from MoFEM::OpBaseImpl< A, EleOp >.
Definition at line 363 of file radiation.cpp.
367 const double vol = this->getMeasure();
369 auto t_w = getFTensor0IntegrationWeight();
375 auto t_coords = getFTensor1CoordsAtGaussPts();
381 const double r_cylinder = t_coords(0);
384 const double alpha = t_w * vol *
Beta * (2 * M_PI * r_cylinder);
386 for (
int rr = 0; rr !=
nbRows; ++rr) {
389 for (
int cc = 0; cc !=
nbCols; cc++) {
390 if (std::abs(t_coords(0)) > std::numeric_limits<double>::epsilon()) {
391 locMat(rr, cc) +=
alpha * t_row_base * t_col_base * 4 * pow(t_val, 3);
#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.
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
◆ approxVals
boost::shared_ptr<VectorDouble> Example::OpRadiationLhs::approxVals |
|
private |
The documentation for this struct was generated from the following file: