v0.14.0
Classes | Public Member Functions | Public Attributes | List of all members
BCs_RVELagrange_Trac Struct Reference

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

Inheritance diagram for BCs_RVELagrange_Trac:
[legend]
Collaboration diagram for BCs_RVELagrange_Trac:
[legend]

Classes

struct  CommonData
 
struct  CommonFunctions
 
struct  OpRVEBCsLhs
 \biref operator to calculate the LHS for the RVE bounary conditions More...
 
struct  OpRVEBCsRhs_Assemble
 \biref operator to calculate the RHS of the constrain for the RVE boundary conditions More...
 
struct  OpRVEBCsRhs_Cal
 \biref operator to calculate the RHS of the constrain for the RVE boundary conditions More...
 
struct  OpRVEHomoStress_Assemble
 

Public Member Functions

 BCs_RVELagrange_Trac (MoFEM::Interface &m_field)
 
PetscErrorCode setRVEBCsOperators (string field_name, string lagrang_field_name, string mesh_nodals_positions, Mat aij, vector< Vec > &f)
 
PetscErrorCode setRVEBCsHomoStressOperators (string field_name, string lagrang_field_name, string mesh_nodals_positions, Vec stress_homo)
 
- Public Member Functions inherited from BCs_RVELagrange_Disp
MyTriFEgetLoopFeRVEBCLhs ()
 
MyTriFEgetLoopFeRVEBCRhs ()
 
MyTriFEgetLoopFeRVEBCRhsResidual ()
 
MyTriFEgetLoopFeRVEBCStress ()
 
MyTriFEgetLoopFeRVEBCRhsHomoC ()
 
 BCs_RVELagrange_Disp (MoFEM::Interface &m_field)
 
PetscErrorCode addLagrangiangElement (const string element_name, const string field_name, const string lagrang_field_name, const string mesh_nodals_positions)
 
PetscErrorCode setRVEBCsOperatorsNonlinear (string field_name, string lagrang_field_name, string mesh_nodals_positions, Mat aij, vector< Vec > &fvec, Vec f, VectorDouble given_strain)
 
PetscErrorCode setRVEBCsOperators (string field_name, string lagrang_field_name, string mesh_nodals_positions, Mat aij, vector< Vec > &fvec)
 
PetscErrorCode setRVEBCsHomoStressOperators (string field_name, string lagrang_field_name, string mesh_nodals_positions, Vec Stress_Homo)
 

Public Attributes

CommonData commonData
 
CommonFunctions commonFunctions
 
- Public Attributes inherited from BCs_RVELagrange_Disp
boost::ptr_vector< MethodForForceScalingmethodsOp
 
MoFEM::InterfacemField
 
MyTriFE feRVEBCRhs
 
MyTriFE feRVEBCLhs
 
MyTriFE feRVEBCStress
 
MyTriFE feRVEBCRhsResidual
 
MyTriFE feRVEBCRhsHomoC
 
map< int, RVEBC_DatasetOfRVEBC
 maps side set id with appropriate FluxData More...
 
CommonFunctions common_functions
 

Detailed Description

Definition at line 22 of file BCs_RVELagrange_Trac.hpp.

Constructor & Destructor Documentation

◆ BCs_RVELagrange_Trac()

BCs_RVELagrange_Trac::BCs_RVELagrange_Trac ( MoFEM::Interface m_field)
inline

Definition at line 24 of file BCs_RVELagrange_Trac.hpp.

24 : BCs_RVELagrange_Disp(m_field) {}

Member Function Documentation

◆ setRVEBCsHomoStressOperators()

PetscErrorCode BCs_RVELagrange_Trac::setRVEBCsHomoStressOperators ( string  field_name,
string  lagrang_field_name,
string  mesh_nodals_positions,
Vec  stress_homo 
)
inline

Definition at line 448 of file BCs_RVELagrange_Trac.hpp.

450  {
451  PetscFunctionBegin;
452  bool ho_geometry = false;
453  if(mField.check_field(mesh_nodals_positions)) {
454  ho_geometry = true;
455  }
456  map<int,RVEBC_Data>::iterator sit = setOfRVEBC.begin();
457  for(;sit!=setOfRVEBC.end();sit++) {
458  feRVEBCStress.getOpPtrVector().push_back(
459  new OpRVEBCsRhs_Cal(field_name,sit->second,commonData,commonFunctions)
460  );
461  feRVEBCStress.getOpPtrVector().push_back(
462  new OpRVEHomoStress_Assemble(lagrang_field_name,stress_homo,sit->second,commonData)
463  );
464  }
465  PetscFunctionReturn(0);
466  }

◆ setRVEBCsOperators()

PetscErrorCode BCs_RVELagrange_Trac::setRVEBCsOperators ( string  field_name,
string  lagrang_field_name,
string  mesh_nodals_positions,
Mat  aij,
vector< Vec > &  f 
)
inline

Definition at line 383 of file BCs_RVELagrange_Trac.hpp.

385  {
386  PetscFunctionBegin;
387  bool ho_geometry = false;
388  if(mField.check_field(mesh_nodals_positions)) {
389  ho_geometry = true;
390  }
391  map<int,RVEBC_Data>::iterator sit = setOfRVEBC.begin();
392  for(;sit!=setOfRVEBC.end();sit++) {
393  //LHS
394  feRVEBCLhs.getOpPtrVector().push_back(
395  new OpRVEBCsLhs(field_name,lagrang_field_name,aij,sit->second,commonFunctions,ho_geometry)
396  );
397  //RHS
398  feRVEBCRhs.getOpPtrVector().push_back(
399  new OpRVEBCsRhs_Cal(field_name,sit->second,commonData,commonFunctions,ho_geometry)
400  );
401  feRVEBCRhs.getOpPtrVector().push_back(
402  new OpRVEBCsRhs_Assemble(lagrang_field_name,f,sit->second,commonData)
403  );
404  }
405  PetscFunctionReturn(0);
406  }

Member Data Documentation

◆ commonData

CommonData BCs_RVELagrange_Trac::commonData

Definition at line 29 of file BCs_RVELagrange_Trac.hpp.

◆ commonFunctions

CommonFunctions BCs_RVELagrange_Trac::commonFunctions

Definition at line 161 of file BCs_RVELagrange_Trac.hpp.


The documentation for this struct was generated from the following file:
BCs_RVELagrange_Disp::feRVEBCRhs
MyTriFE feRVEBCRhs
Definition: BCs_RVELagrange_Disp.hpp:29
BCs_RVELagrange_Trac::commonFunctions
CommonFunctions commonFunctions
Definition: BCs_RVELagrange_Trac.hpp:161
BCs_RVELagrange_Disp::feRVEBCStress
MyTriFE feRVEBCStress
Definition: BCs_RVELagrange_Disp.hpp:31
BCs_RVELagrange_Disp::BCs_RVELagrange_Disp
BCs_RVELagrange_Disp(MoFEM::Interface &m_field)
Definition: BCs_RVELagrange_Disp.hpp:44
MoFEM::CoreInterface::check_field
virtual bool check_field(const std::string &name) const =0
check if field is in database
BCs_RVELagrange_Disp::setOfRVEBC
map< int, RVEBC_Data > setOfRVEBC
maps side set id with appropriate FluxData
Definition: BCs_RVELagrange_Disp.hpp:56
field_name
constexpr auto field_name
Definition: poisson_2d_homogeneous.cpp:13
HenckyOps::f
auto f
Definition: HenckyOps.hpp:15
BCs_RVELagrange_Trac::commonData
CommonData commonData
Definition: BCs_RVELagrange_Trac.hpp:29
BCs_RVELagrange_Disp::mField
MoFEM::Interface & mField
Definition: BCs_RVELagrange_Disp.hpp:28
BCs_RVELagrange_Disp::feRVEBCLhs
MyTriFE feRVEBCLhs
Definition: BCs_RVELagrange_Disp.hpp:30