v0.14.0
Public Member Functions | Public Attributes | List of all members
MoFEM::CubitMeshSets_change_bc_data_structure Struct Reference

#include <src/multi_indices/BCMultiIndices.hpp>

Collaboration diagram for MoFEM::CubitMeshSets_change_bc_data_structure:
[legend]

Public Member Functions

 CubitMeshSets_change_bc_data_structure (Interface &moab, const GenericCubitBcData &bc_data)
 
void operator() (CubitMeshSets &e)
 

Public Attributes

InterfacemOab
 
const GenericCubitBcDatabcData
 

Detailed Description

change meshset attributes for material data structure

Definition at line 437 of file BCMultiIndices.hpp.

Constructor & Destructor Documentation

◆ CubitMeshSets_change_bc_data_structure()

MoFEM::CubitMeshSets_change_bc_data_structure::CubitMeshSets_change_bc_data_structure ( Interface moab,
const GenericCubitBcData bc_data 
)
inline

Definition at line 440 of file BCMultiIndices.hpp.

442  : mOab(moab), bcData(bc_data) {}

Member Function Documentation

◆ operator()()

void MoFEM::CubitMeshSets_change_bc_data_structure::operator() ( CubitMeshSets e)

Definition at line 438 of file BCMultiIndices.cpp.

438  {
439 
440  // Need to run this to set tag size, don;t know nothing about structure
441  int tag_size[] = {(int)bcData.getSizeOfData()};
442  void const *tag_data[] = {bcData.getDataPtr()};
443  if ((e.cubitBcType & CubitBCType(NODESET)).any()) {
444  CHKERR mOab.tag_set_by_ptr(e.nsTag_data, &e.meshset, 1, tag_data, tag_size);
445  CHKERR mOab.tag_get_by_ptr(e.nsTag_data, &e.meshset, 1,
446  (const void **)&e.tagBcData, &e.tagBcSize);
447  } else if ((e.cubitBcType & CubitBCType(SIDESET)).any()) {
448  CHKERR mOab.tag_set_by_ptr(e.ssTag_data, &e.meshset, 1, tag_data, tag_size);
449  CHKERR mOab.tag_get_by_ptr(e.ssTag_data, &e.meshset, 1,
450  (const void **)&e.tagBcData, &e.tagBcSize);
451  } else {
452  THROW_MESSAGE("You have to have NODESET or SIDESET to apply BC data on it");
453  }
454  // Here I know about structure
455  CHKERR e.setBcDataStructure(bcData);
456  // Get Type form BC data
457  CHKERR e.getTypeFromBcData(e.cubitBcType);
458 }

Member Data Documentation

◆ bcData

const GenericCubitBcData& MoFEM::CubitMeshSets_change_bc_data_structure::bcData

Definition at line 439 of file BCMultiIndices.hpp.

◆ mOab

Interface& MoFEM::CubitMeshSets_change_bc_data_structure::mOab

Definition at line 438 of file BCMultiIndices.hpp.


The documentation for this struct was generated from the following files:
SIDESET
@ SIDESET
Definition: definitions.h:160
MoFEM::CubitMeshSets_change_bc_data_structure::mOab
Interface & mOab
Definition: BCMultiIndices.hpp:438
MoFEM::GenericCubitBcData::getDataPtr
virtual const void * getDataPtr() const =0
get pointer to data structure
THROW_MESSAGE
#define THROW_MESSAGE(msg)
Throw MoFEM exception.
Definition: definitions.h:574
MoFEM::GenericCubitBcData::getSizeOfData
virtual std::size_t getSizeOfData() const =0
get data structure size
NODESET
@ NODESET
Definition: definitions.h:159
CHKERR
#define CHKERR
Inline error check.
Definition: definitions.h:548
MoFEM::CubitMeshSets_change_bc_data_structure::bcData
const GenericCubitBcData & bcData
Definition: BCMultiIndices.hpp:439
MoFEM::Types::CubitBCType
std::bitset< 32 > CubitBCType
Definition: Types.hpp:52
convert.int
int
Definition: convert.py:64