v0.14.0
Public Member Functions | Public Attributes | List of all members
BCs_RVELagrange_Periodic::OpRVEBCsPeriodicCalLagMulAtGaussPts Struct Reference

#include <users_modules/homogenisation/src/BCs_RVELagrange_Periodic.hpp>

Inheritance diagram for BCs_RVELagrange_Periodic::OpRVEBCsPeriodicCalLagMulAtGaussPts:
[legend]
Collaboration diagram for BCs_RVELagrange_Periodic::OpRVEBCsPeriodicCalLagMulAtGaussPts:
[legend]

Public Member Functions

 OpRVEBCsPeriodicCalLagMulAtGaussPts (const string field_name, RVEBC_Data_Periodic &data, CommonDataPeriodic &common_data_periodic, CommonFunctionsPeriodic &common_functions_periodic, bool ho_geometry=false)
 
PetscErrorCode doWork (int side, EntityType type, DataForcesAndSourcesCore::EntData &data)
 

Public Attributes

RVEBC_Data_PeriodicdAta
 
bool hoGeometry
 
CommonDataPeriodiccommonDataPeriodic
 
CommonFunctionsPeriodiccommonFunctionsPeriodic
 
VectorDouble field_data_nodes
 
MatrixDouble N_mat
 

Detailed Description

Definition at line 907 of file BCs_RVELagrange_Periodic.hpp.

Constructor & Destructor Documentation

◆ OpRVEBCsPeriodicCalLagMulAtGaussPts()

BCs_RVELagrange_Periodic::OpRVEBCsPeriodicCalLagMulAtGaussPts::OpRVEBCsPeriodicCalLagMulAtGaussPts ( const string  field_name,
RVEBC_Data_Periodic data,
CommonDataPeriodic common_data_periodic,
CommonFunctionsPeriodic common_functions_periodic,
bool  ho_geometry = false 
)
inline

Definition at line 914 of file BCs_RVELagrange_Periodic.hpp.

920  :
923  ),
924  dAta(data),
925  hoGeometry(ho_geometry),
926  commonDataPeriodic(common_data_periodic),
927  commonFunctionsPeriodic(common_functions_periodic) {
928  }

Member Function Documentation

◆ doWork()

PetscErrorCode BCs_RVELagrange_Periodic::OpRVEBCsPeriodicCalLagMulAtGaussPts::doWork ( int  side,
EntityType  type,
DataForcesAndSourcesCore::EntData data 
)
inline

Definition at line 936 of file BCs_RVELagrange_Periodic.hpp.

936  {
937  PetscFunctionBegin;
938 
939 
940  if(data.getIndices().size()==0) PetscFunctionReturn(0);
941  if(type == MBEDGE && side >= 3) PetscFunctionReturn(0); //ignore second triangel edges (cananical number 6 to 8)
942  if(type == MBTRI && side == 4) PetscFunctionReturn(0); //ignore second triangel face (cananical number 4)
943 
944  int nb_gauss_pts = data.getN().size1();
945  int rank = data.getFieldDofs()[0]->getNbOfCoeffs();
946 
947  //initialize
948  if(type == MBVERTEX) {
949  commonDataPeriodic.LagMulAtGaussPts.resize(nb_gauss_pts);
950  for(int gg = 0;gg<nb_gauss_pts;gg++) {
952  }
953 
954  int nb=data.getFieldData().size()/2; //for one face for nodes only (total indieces are for both faces)
955  field_data_nodes.resize(nb); //1st face of prism -- nodes
956 
957  for(int ii=0; ii<nb; ii++){
958  field_data_nodes[ii]=data.getFieldData()[ii];
959  }
960  }
961 
962 
963  for(unsigned int gg = 0;gg<data.getN().size1();gg++) {
964  if(type == MBVERTEX) {
965  ierr = commonFunctionsPeriodic.shapeMat(rank, gg, data, N_mat, 2); CHKERRQ(ierr);}
966  else {
967  ierr = commonFunctionsPeriodic.shapeMat(rank, gg, data, N_mat); CHKERRQ(ierr);}
968 
969  if(type == MBVERTEX) {
971  else {
972  commonDataPeriodic.LagMulAtGaussPts[gg]+=prod(N_mat, data.getFieldData());}
973  }
974 
975  PetscFunctionReturn(0);
976  }

Member Data Documentation

◆ commonDataPeriodic

CommonDataPeriodic& BCs_RVELagrange_Periodic::OpRVEBCsPeriodicCalLagMulAtGaussPts::commonDataPeriodic

Definition at line 911 of file BCs_RVELagrange_Periodic.hpp.

◆ commonFunctionsPeriodic

CommonFunctionsPeriodic& BCs_RVELagrange_Periodic::OpRVEBCsPeriodicCalLagMulAtGaussPts::commonFunctionsPeriodic

Definition at line 912 of file BCs_RVELagrange_Periodic.hpp.

◆ dAta

RVEBC_Data_Periodic& BCs_RVELagrange_Periodic::OpRVEBCsPeriodicCalLagMulAtGaussPts::dAta

Definition at line 909 of file BCs_RVELagrange_Periodic.hpp.

◆ field_data_nodes

VectorDouble BCs_RVELagrange_Periodic::OpRVEBCsPeriodicCalLagMulAtGaussPts::field_data_nodes

Definition at line 931 of file BCs_RVELagrange_Periodic.hpp.

◆ hoGeometry

bool BCs_RVELagrange_Periodic::OpRVEBCsPeriodicCalLagMulAtGaussPts::hoGeometry

Definition at line 910 of file BCs_RVELagrange_Periodic.hpp.

◆ N_mat

MatrixDouble BCs_RVELagrange_Periodic::OpRVEBCsPeriodicCalLagMulAtGaussPts::N_mat

Definition at line 932 of file BCs_RVELagrange_Periodic.hpp.


The documentation for this struct was generated from the following file:
BCs_RVELagrange_Periodic::OpRVEBCsPeriodicCalLagMulAtGaussPts::N_mat
MatrixDouble N_mat
Definition: BCs_RVELagrange_Periodic.hpp:932
BCs_RVELagrange_Periodic::OpRVEBCsPeriodicCalLagMulAtGaussPts::field_data_nodes
VectorDouble field_data_nodes
Definition: BCs_RVELagrange_Periodic.hpp:931
convert.type
type
Definition: convert.py:64
BCs_RVELagrange_Periodic::OpRVEBCsPeriodicCalLagMulAtGaussPts::dAta
RVEBC_Data_Periodic & dAta
Definition: BCs_RVELagrange_Periodic.hpp:909
BCs_RVELagrange_Periodic::OpRVEBCsPeriodicCalLagMulAtGaussPts::commonDataPeriodic
CommonDataPeriodic & commonDataPeriodic
Definition: BCs_RVELagrange_Periodic.hpp:911
BCs_RVELagrange_Periodic::CommonDataPeriodic::LagMulAtGaussPts
ublas::vector< VectorDouble > LagMulAtGaussPts
Definition: BCs_RVELagrange_Periodic.hpp:153
BCs_RVELagrange_Periodic::OpRVEBCsPeriodicCalLagMulAtGaussPts::hoGeometry
bool hoGeometry
Definition: BCs_RVELagrange_Periodic.hpp:910
field_name
constexpr auto field_name
Definition: poisson_2d_homogeneous.cpp:13
UserDataOperator
ForcesAndSourcesCore::UserDataOperator UserDataOperator
Definition: HookeElement.hpp:75
MoFEM::Exceptions::ierr
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Exceptions.hpp:76
BCs_RVELagrange_Periodic::CommonFunctionsPeriodic::shapeMat
PetscErrorCode shapeMat(int rank, unsigned int gg, DataForcesAndSourcesCore::EntData &col_data, MatrixDouble &N_mat, int div=1)
Definition: BCs_RVELagrange_Periodic.hpp:91
BCs_RVELagrange_Periodic::OpRVEBCsPeriodicCalLagMulAtGaussPts::commonFunctionsPeriodic
CommonFunctionsPeriodic & commonFunctionsPeriodic
Definition: BCs_RVELagrange_Periodic.hpp:912
MoFEM::ForcesAndSourcesCore::UserDataOperator::OPROW
@ OPROW
operator doWork function is executed on FE rows
Definition: ForcesAndSourcesCore.hpp:567