v0.13.1
Loading...
Searching...
No Matches
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

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 }
virtual bool check_field(const std::string &name) const =0
check if field is in database
constexpr auto field_name
map< int, RVEBC_Data > setOfRVEBC
maps side set id with appropriate FluxData
MoFEM::Interface & mField

◆ 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: