v0.15.0
Loading...
Searching...
No Matches
Classes | Public Member Functions | Public Attributes | List of all members
BCs_RVELagrange_Trac Struct Reference

#include "users_modules/mofem_um_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
 
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 436 of file BCs_RVELagrange_Trac.hpp.

438 {
439 PetscFunctionBegin;
440 bool ho_geometry = false;
441 if(mField.check_field(mesh_nodals_positions)) {
442 ho_geometry = true;
443 }
444 map<int,RVEBC_Data>::iterator sit = setOfRVEBC.begin();
445 for(;sit!=setOfRVEBC.end();sit++) {
446 feRVEBCStress.getOpPtrVector().push_back(
447 new OpRVEBCsRhs_Cal(field_name,sit->second,commonData,commonFunctions)
448 );
449 feRVEBCStress.getOpPtrVector().push_back(
450 new OpRVEHomoStress_Assemble(lagrang_field_name,stress_homo,sit->second,commonData)
451 );
452 }
453 PetscFunctionReturn(0);
454 }
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

◆ 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 371 of file BCs_RVELagrange_Trac.hpp.

373 {
374 PetscFunctionBegin;
375 bool ho_geometry = false;
376 if(mField.check_field(mesh_nodals_positions)) {
377 ho_geometry = true;
378 }
379 map<int,RVEBC_Data>::iterator sit = setOfRVEBC.begin();
380 for(;sit!=setOfRVEBC.end();sit++) {
381 //LHS
382 feRVEBCLhs.getOpPtrVector().push_back(
383 new OpRVEBCsLhs(field_name,lagrang_field_name,aij,sit->second,commonFunctions,ho_geometry)
384 );
385 //RHS
386 feRVEBCRhs.getOpPtrVector().push_back(
387 new OpRVEBCsRhs_Cal(field_name,sit->second,commonData,commonFunctions,ho_geometry)
388 );
389 feRVEBCRhs.getOpPtrVector().push_back(
390 new OpRVEBCsRhs_Assemble(lagrang_field_name,f,sit->second,commonData)
391 );
392 }
393 PetscFunctionReturn(0);
394 }

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: