v0.9.0
Public Member Functions | Public Attributes | List of all members
AnalyticalDirichletBC::ApproxField::OpHoCoord Struct Reference

#include <users_modules/basic_finite_elements/src/AnalyticalDirichlet.hpp>

Inheritance diagram for AnalyticalDirichletBC::ApproxField::OpHoCoord:
[legend]
Collaboration diagram for AnalyticalDirichletBC::ApproxField::OpHoCoord:
[legend]

Public Member Functions

 OpHoCoord (const std::string field_name, MatrixDouble &ho_coords)
 
MoFEMErrorCode doWork (int side, EntityType type, DataForcesAndSourcesCore::EntData &data)
 

Public Attributes

MatrixDouble & hoCoords
 

Detailed Description

Definition at line 52 of file AnalyticalDirichlet.hpp.

Constructor & Destructor Documentation

◆ OpHoCoord()

AnalyticalDirichletBC::ApproxField::OpHoCoord::OpHoCoord ( const std::string  field_name,
MatrixDouble &  ho_coords 
)

Definition at line 29 of file AnalyticalDirichlet.cpp.

32  field_name, ForcesAndSourcesCore::UserDataOperator::OPROW),
33  hoCoords(ho_coords) {}
ForcesAndSourcesCore::UserDataOperator UserDataOperator

Member Function Documentation

◆ doWork()

MoFEMErrorCode AnalyticalDirichletBC::ApproxField::OpHoCoord::doWork ( int  side,
EntityType  type,
DataForcesAndSourcesCore::EntData data 
)

Definition at line 35 of file AnalyticalDirichlet.cpp.

36  {
38 
39  if (data.getFieldData().size() == 0)
41 
42  hoCoords.resize(data.getN().size1(), 3);
43  if (type == MBVERTEX) {
44  hoCoords.clear();
45  }
46 
47  int nb_dofs = data.getFieldData().size();
48  for (unsigned int gg = 0; gg < data.getN().size1(); gg++) {
49  for (int dd = 0; dd < 3; dd++) {
50  hoCoords(gg, dd) += cblas_ddot(nb_dofs / 3, &data.getN(gg)[0], 1,
51  &data.getFieldData()[dd], 3);
52  }
53  }
54 
56 }
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:477
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:508
double cblas_ddot(const int N, const double *X, const int incX, const double *Y, const int incY)
Definition: cblas_ddot.c:12
const Tensor2_symmetric_Expr< const ddTensor0< T, Dim, i, j >, typename promote< T, double >::V, Dim, i, j > dd(const Tensor0< T * > &a, const Index< i, Dim > index1, const Index< j, Dim > index2, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz)
Definition: ddTensor0.hpp:33
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:407
MatrixDouble & getN(const FieldApproximationBase base)
get base functions this return matrix (nb. of rows is equal to nb. of Gauss pts, nb....
const VectorDouble & getFieldData() const
get dofs values

Member Data Documentation

◆ hoCoords

MatrixDouble& AnalyticalDirichletBC::ApproxField::OpHoCoord::hoCoords

Definition at line 55 of file AnalyticalDirichlet.hpp.


The documentation for this struct was generated from the following files: