v0.14.0 |
Set Dirichlet boundary conditions on displacements by removing dofs. More...
#include <users_modules/basic_finite_elements/src/DirichletBC.hpp>
Public Member Functions | |
DirichletDisplacementRemoveDofsBc (MoFEM::Interface &m_field, const std::string &field_name, const std::string &problem_name, string blockset_name="DISPLACEMENT", bool is_partitioned=false) | |
MoFEMErrorCode | iNitialize () |
virtual boost::shared_ptr< EntityMethod > | getEntMethodPtr (DataFromBc &data) |
MoFEMErrorCode | preProcess () |
function is run at the beginning of loop More... | |
MoFEMErrorCode | operator() () |
function is run for every finite element More... | |
MoFEMErrorCode | postProcess () |
function is run at the end of loop More... | |
Public Member Functions inherited from DirichletDisplacementBc | |
DirichletDisplacementBc (MoFEM::Interface &m_field, const std::string &field_name, Mat Aij, Vec X, Vec F, string blockset_name="DISPLACEMENT") | |
DirichletDisplacementBc (MoFEM::Interface &m_field, const std::string &field_name, string blockset_name="DISPLACEMENT") | |
MoFEMErrorCode | getBcDataFromSetsAndBlocks (std::vector< DataFromBc > &bc_data) |
Get the Bc Data From Sets And Blocks object Use DISPLACEMENT blockset name (default) with 6 atributes: 1,2,3 are values of displacements x,y,z 4,5,6 are flags for x,y,z (0 or 1) More... | |
MoFEMErrorCode | getRotationBcFromBlock (std::vector< DataFromBc > &bc_data) |
Get the Rotation Bc From Block object Use ROTATION blockset name with 7 atributes: 1,2,3 are x,y,z coords of the center of rotation 4,5,6 are are angular velocities in x,y,z. More... | |
MoFEMErrorCode | calculateRotationForDof (VectorDouble3 &coords, DataFromBc &bc_data) |
Calculate displacements from rotation for particular dof. More... | |
MoFEMErrorCode | calculateRotationForDof (EntityHandle ent, DataFromBc &bc_data) |
MoFEMErrorCode | applyScaleBcData (DataFromBc &bc_data) |
Public Member Functions inherited from MoFEM::FEMethod | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
FEMethod ()=default | |
auto | getFEName () const |
get finite element name More... | |
auto | getDataDofsPtr () const |
auto | getDataVectorDofsPtr () const |
const FieldEntity_vector_view & | getDataFieldEnts () const |
boost::shared_ptr< FieldEntity_vector_view > & | getDataFieldEntsPtr () const |
auto & | getRowFieldEnts () const |
auto & | getRowFieldEntsPtr () const |
auto & | getColFieldEnts () const |
auto & | getColFieldEntsPtr () const |
auto | getRowDofsPtr () const |
auto | getColDofsPtr () const |
auto | getNumberOfNodes () const |
EntityHandle | getFEEntityHandle () const |
MoFEMErrorCode | getNodeData (const std::string field_name, VectorDouble &data, const bool reset_dofs=true) |
Public Member Functions inherited from MoFEM::BasicMethod | |
BasicMethod () | |
virtual | ~BasicMethod ()=default |
int | getNinTheLoop () const |
get number of evaluated element in the loop More... | |
int | getLoopSize () const |
get loop size More... | |
auto | getLoHiFERank () const |
Get lo and hi processor rank of iterated entities. More... | |
auto | getLoFERank () const |
Get upper rank in loop for iterating elements. More... | |
auto | getHiFERank () const |
Get upper rank in loop for iterating elements. More... | |
unsigned int | getFieldBitNumber (std::string field_name) const |
MoFEMErrorCode | copyBasicMethod (const BasicMethod &basic) |
Copy data from other base method to this base method. More... | |
boost::weak_ptr< CacheTuple > | getCacheWeakPtr () const |
Get the cache weak ptr object. More... | |
Public Member Functions inherited from MoFEM::KspMethod | |
KspMethod () | |
virtual | ~KspMethod ()=default |
MoFEMErrorCode | copyKsp (const KspMethod &ksp) |
copy data form another method More... | |
Public Member Functions inherited from MoFEM::PetscData | |
PetscData () | |
virtual | ~PetscData ()=default |
MoFEMErrorCode | copyPetscData (const PetscData &petsc_data) |
Public Member Functions inherited from MoFEM::UnknownInterface | |
template<class IFACE > | |
MoFEMErrorCode | registerInterface (bool error_if_registration_failed=true) |
Register interface. More... | |
template<class IFACE > | |
MoFEMErrorCode | getInterface (IFACE *&iface) const |
Get interface reference to pointer of interface. More... | |
template<class IFACE > | |
MoFEMErrorCode | getInterface (IFACE **const iface) const |
Get interface pointer to pointer of interface. More... | |
template<class IFACE , typename boost::enable_if< boost::is_pointer< IFACE >, int >::type = 0> | |
IFACE | getInterface () const |
Get interface pointer to pointer of interface. More... | |
template<class IFACE , typename boost::enable_if< boost::is_reference< IFACE >, int >::type = 0> | |
IFACE | getInterface () const |
Get reference to interface. More... | |
template<class IFACE > | |
IFACE * | getInterface () const |
Function returning pointer to interface. More... | |
virtual | ~UnknownInterface ()=default |
Public Member Functions inherited from MoFEM::SnesMethod | |
SnesMethod () | |
virtual | ~SnesMethod ()=default |
MoFEMErrorCode | copySnes (const SnesMethod &snes) |
Copy snes data. More... | |
Public Member Functions inherited from MoFEM::TSMethod | |
TSMethod () | |
virtual | ~TSMethod ()=default |
MoFEMErrorCode | copyTs (const TSMethod &ts) |
Copy TS solver data. More... | |
Public Attributes | |
boost::shared_ptr< vector< DataFromBc > > | bcDataPtr |
bool | isPartitioned |
string | problemName |
Public Attributes inherited from DirichletDisplacementBc | |
MoFEM::Interface & | mField |
const std::string | fieldName |
field name to set Dirichlet BC More... | |
double | dIag |
diagonal value set on zeroed column and rows More... | |
std::map< DofIdx, FieldData > | mapZeroRows |
std::vector< int > | dofsIndices |
std::vector< double > | dofsValues |
std::vector< double > | dofsXValues |
const std::string | blocksetName |
boost::ptr_vector< MethodForForceScaling > | methodsOp |
Public Attributes inherited from MoFEM::FEMethod | |
std::string | feName |
Name of finite element. More... | |
boost::shared_ptr< const NumeredEntFiniteElement > | numeredEntFiniteElementPtr |
boost::function< bool(FEMethod *fe_method_ptr)> | exeTestHook |
Tet if element to skip element. More... | |
Public Attributes inherited from MoFEM::BasicMethod | |
int | nInTheLoop |
number currently of processed method More... | |
int | loopSize |
local number oe methods to process More... | |
std::pair< int, int > | loHiFERank |
Llo and hi processor rank of iterated entities. More... | |
int | rAnk |
processor rank More... | |
int | sIze |
number of processors in communicator More... | |
const RefEntity_multiIndex * | refinedEntitiesPtr |
container of mofem dof entities More... | |
const RefElement_multiIndex * | refinedFiniteElementsPtr |
container of mofem finite element entities More... | |
const Problem * | problemPtr |
raw pointer to problem More... | |
const Field_multiIndex * | fieldsPtr |
raw pointer to fields container More... | |
const FieldEntity_multiIndex * | entitiesPtr |
raw pointer to container of field entities More... | |
const DofEntity_multiIndex * | dofsPtr |
raw pointer container of dofs More... | |
const FiniteElement_multiIndex * | finiteElementsPtr |
raw pointer to container finite elements More... | |
const EntFiniteElement_multiIndex * | finiteElementsEntitiesPtr |
const FieldEntityEntFiniteElementAdjacencyMap_multiIndex * | adjacenciesPtr |
boost::function< MoFEMErrorCode()> | preProcessHook |
Hook function for pre-processing. More... | |
boost::function< MoFEMErrorCode()> | postProcessHook |
Hook function for post-processing. More... | |
boost::function< MoFEMErrorCode()> | operatorHook |
Hook function for operator. More... | |
boost::movelib::unique_ptr< bool > | vecAssembleSwitch |
boost::movelib::unique_ptr< bool > | matAssembleSwitch |
boost::weak_ptr< CacheTuple > | cacheWeakPtr |
Public Attributes inherited from MoFEM::KspMethod | |
KSPContext | ksp_ctx |
Context. More... | |
KSP | ksp |
KSP solver. More... | |
Vec & | ksp_f |
Mat & | ksp_A |
Mat & | ksp_B |
Public Attributes inherited from MoFEM::PetscData | |
Switches | data_ctx |
Vec | f |
Mat | A |
Mat | B |
Vec | x |
Vec | x_t |
Vec | x_tt |
Public Attributes inherited from MoFEM::SnesMethod | |
SNESContext | snes_ctx |
SNES | snes |
snes solver More... | |
Vec & | snes_x |
state vector More... | |
Vec & | snes_f |
residual More... | |
Mat & | snes_A |
jacobian matrix More... | |
Mat & | snes_B |
preconditioner of jacobian matrix More... | |
Public Attributes inherited from MoFEM::TSMethod | |
TS | ts |
time solver More... | |
TSContext | ts_ctx |
PetscInt | ts_step |
time step number More... | |
PetscReal | ts_a |
shift for U_t (see PETSc Time Solver) More... | |
PetscReal | ts_aa |
shift for U_tt shift for U_tt More... | |
PetscReal | ts_t |
time More... | |
PetscReal | ts_dt |
time step size More... | |
Vec & | ts_u |
state vector More... | |
Vec & | ts_u_t |
time derivative of state vector More... | |
Vec & | ts_u_tt |
second time derivative of state vector More... | |
Vec & | ts_F |
residual vector More... | |
Mat & | ts_A |
Mat & | ts_B |
Preconditioner for ts_A. More... | |
Set Dirichlet boundary conditions on displacements by removing dofs.
Definition at line 283 of file DirichletBC.hpp.
|
inline |
Definition at line 289 of file DirichletBC.hpp.
|
inlinevirtual |
Reimplemented in DirichletSpatialRemoveDofsBc.
Definition at line 299 of file DirichletBC.hpp.
|
virtual |
|
inlinevirtual |
function is run for every finite element
It is used to calculate element local matrices and assembly. It can be used for post-processing.
Reimplemented from DirichletDisplacementBc.
Definition at line 304 of file DirichletBC.hpp.
|
inlinevirtual |
function is run at the end of loop
It is used to assembly matrices and vectors, calculating global variables, f.e. total internal energy, ect.
Iterating over dofs: Example1 iterating over dofs in row by name of the field for(IT_GET_FEROW_BY_NAME_DOFS_FOR_LOOP(this,"DISPLACEMENT",it)) { ... }
Reimplemented from DirichletDisplacementBc.
Definition at line 305 of file DirichletBC.hpp.
|
virtual |
function is run at the beginning of loop
It is used to zeroing matrices and vectors, calculation of shape functions on reference element, preprocessing boundary conditions, etc.
Reimplemented from DirichletDisplacementBc.
Definition at line 712 of file DirichletBC.cpp.
boost::shared_ptr<vector<DataFromBc> > DirichletDisplacementRemoveDofsBc::bcDataPtr |
Definition at line 285 of file DirichletBC.hpp.
bool DirichletDisplacementRemoveDofsBc::isPartitioned |
Definition at line 286 of file DirichletBC.hpp.
string DirichletDisplacementRemoveDofsBc::problemName |
Definition at line 287 of file DirichletBC.hpp.