\biref operator to calculate and assemble CU
More...
#include <users_modules/homogenisation/src/BCs_RVELagrange_Disp.hpp>
|
| OpRVEBCsRhsForceExternal_CU (const string field_name, const string lagrang_field_name, Vec f, CommonFunctions &_common_functions, RVEBC_Data &data, bool ho_geometry=false) |
|
PetscErrorCode | doWork (int row_side, int col_side, EntityType row_type, EntityType col_type, DataForcesAndSourcesCore::EntData &row_data, DataForcesAndSourcesCore::EntData &col_data) |
|
\biref operator to calculate and assemble CU
Definition at line 438 of file BCs_RVELagrange_Disp.hpp.
◆ OpRVEBCsRhsForceExternal_CU()
BCs_RVELagrange_Disp::OpRVEBCsRhsForceExternal_CU::OpRVEBCsRhsForceExternal_CU |
( |
const string |
field_name, |
|
|
const string |
lagrang_field_name, |
|
|
Vec |
f, |
|
|
CommonFunctions & |
_common_functions, |
|
|
RVEBC_Data & |
data, |
|
|
bool |
ho_geometry = false |
|
) |
| |
|
inline |
◆ doWork()
Definition at line 462 of file BCs_RVELagrange_Disp.hpp.
471 int nb_row = row_data.getIndices().size();
472 int nb_col = col_data.getIndices().size();
474 if(nb_row == 0) PetscFunctionReturn(0);
475 if(nb_col == 0) PetscFunctionReturn(0);
478 getNumeredEntFiniteElementPtr()->getRowDofsByPetscGlobalDofIdx(
479 row_data.getIndices()[0]);
480 const FENumeredDofEntity *dof_ptr;
481 if (
auto ptr = weak_ptr_dof.lock())
486 int rank = dof_ptr->getNbOfCoeffs();
488 for(
unsigned int gg = 0;gg<row_data.getN().size1();gg++) {
491 area = norm_2(getNormalsAtGaussPts(gg))*0.5;
495 double val = getGaussPts()(2,gg)*area;
511 CU=prod(
K, col_data.getFieldData());
512 CTLam=prod(trans(
K),row_data.getFieldData());
516 if(
F == PETSC_NULL) {
517 myF = getFEMethod()->snes_f;
520 ierr =
VecSetValues(myF,row_data.getIndices().size(),&row_data.getIndices()[0],&
CU[0],ADD_VALUES); CHKERRQ(
ierr);
523 }
catch (
const std::exception& ex) {
525 ss <<
"throw in method: " << ex.what() << endl;
526 SETERRQ(PETSC_COMM_SELF,1,ss.str().c_str());
529 PetscFunctionReturn(0);
◆ commonFunctions
CommonFunctions BCs_RVELagrange_Disp::OpRVEBCsRhsForceExternal_CU::commonFunctions |
◆ CTLam
VectorDouble BCs_RVELagrange_Disp::OpRVEBCsRhsForceExternal_CU::CTLam |
◆ CU
VectorDouble BCs_RVELagrange_Disp::OpRVEBCsRhsForceExternal_CU::CU |
◆ dAta
RVEBC_Data& BCs_RVELagrange_Disp::OpRVEBCsRhsForceExternal_CU::dAta |
Vec BCs_RVELagrange_Disp::OpRVEBCsRhsForceExternal_CU::F |
◆ hoGeometry
bool BCs_RVELagrange_Disp::OpRVEBCsRhsForceExternal_CU::hoGeometry |
MatrixDouble BCs_RVELagrange_Disp::OpRVEBCsRhsForceExternal_CU::K |
◆ N_mat_col
MatrixDouble BCs_RVELagrange_Disp::OpRVEBCsRhsForceExternal_CU::N_mat_col |
◆ N_mat_row
MatrixDouble BCs_RVELagrange_Disp::OpRVEBCsRhsForceExternal_CU::N_mat_row |
◆ transK
MatrixDouble BCs_RVELagrange_Disp::OpRVEBCsRhsForceExternal_CU::transK |
The documentation for this struct was generated from the following file: