9#ifndef __BCMULTIINDICES_HPP__
10#define __BCMULTIINDICES_HPP__
105 const bool recursive =
false)
const;
120 const bool recursive =
false)
const;
133 const bool recursive =
false)
const;
209 const std::vector<double> &attributes);
262 template <
class ATTRIBUTE_TYPE>
267 "attributes are not for ATTRIBUTE_TYPE structure");
269 std::vector<double> attributes;
271 CHKERR data.fill_data(attributes);
278 template <
class ATTRIBUTE_TYPE>
283 "attributes are not for ATTRIBUTE_TYPE structure");
290 template <
class CUBIT_BC_DATA_TYPE>
296 "bc_data are not for CUBIT_BC_DATA_TYPE structure");
298 std::vector<char> bc_data;
300 ierr = data.fill_data(bc_data);
305 template <
class CUBIT_BC_DATA_TYPE>
309 char *ptr =
const_cast<char *
>(
tagBcData);
362typedef multi_index_container<
367 ordered_non_unique<tag<CubitMeshsetType_mi_tag>,
370 ordered_non_unique<tag<CubitMeshsetMaskedType_mi_tag>,
374 tag<CubitMeshsets_name>,
375 const_mem_fun<CubitMeshSets, std::string, &CubitMeshSets::getName>>,
377 tag<Composite_Cubit_msId_And_MeshsetType_mi_tag>,
380 const_mem_fun<CubitMeshSets, int, &CubitMeshSets::getMeshsetId>,
410 const std::vector<double> &
aTtr;
412 const std::vector<double> &attr)
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define CHKERRG(n)
Check error code of MoFEM/MOAB/PETSc function.
@ MOFEM_DATA_INCONSISTENCY
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define CHKERR
Inline error check.
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
std::bitset< 32 > CubitBCType
implementation of Data Operators for Forces and Sources
multi_index_container< CubitMeshSets, indexed_by< hashed_unique< tag< Meshset_mi_tag >, member< CubitMeshSets, EntityHandle, &CubitMeshSets::meshset > >, ordered_non_unique< tag< CubitMeshsetType_mi_tag >, const_mem_fun< CubitMeshSets, unsigned long int, &CubitMeshSets::getBcTypeULong > >, ordered_non_unique< tag< CubitMeshsetMaskedType_mi_tag >, const_mem_fun< CubitMeshSets, unsigned long int, &CubitMeshSets::getMaksedBcTypeULong > >, ordered_non_unique< tag< CubitMeshsets_name >, const_mem_fun< CubitMeshSets, std::string, &CubitMeshSets::getName > >, hashed_unique< tag< Composite_Cubit_msId_And_MeshsetType_mi_tag >, composite_key< CubitMeshSets, const_mem_fun< CubitMeshSets, int, &CubitMeshSets::getMeshsetId >, const_mem_fun< CubitMeshSets, unsigned long int, &CubitMeshSets::getMaksedBcTypeULong > > > > > CubitMeshSet_multiIndex
Stores data about meshsets (see CubitMeshSets) storing data about boundary conditions,...
CubitMeshSets_change_add_bit_to_cubit_bc_type(const CubitBCType &bit)
void operator()(CubitMeshSets &e)
void operator()(CubitMeshSets &e)
CubitMeshSets_change_attributes_data_structure(Interface &moab, const GenericAttributeData &attr)
const GenericAttributeData & aTtr
const std::vector< double > & aTtr
CubitMeshSets_change_attributes(Interface &moab, const std::vector< double > &attr)
void operator()(CubitMeshSets &e)
void operator()(CubitMeshSets &e)
const GenericCubitBcData & bcData
CubitMeshSets_change_bc_data_structure(Interface &moab, const GenericCubitBcData &bc_data)
void operator()(CubitMeshSets &e)
CubitMeshSets_change_name(Interface &moab, const std::string &name)
this struct keeps basic methods for moab meshset about material and boundary conditions
MoFEMErrorCode getAttributes(std::vector< double > &attributes) const
get Cubit block attributes
double * tagBlockAttributes
unsigned long int getBcTypeULong() const
get bc meshset type
MoFEMErrorCode getBcData(std::vector< char > &bc_data) const
get bc_data vector from MoFEM database
MoFEMErrorCode printName(std::ostream &os) const
print name of block, sideset etc. (this is set in Cubit setting properties)
MoFEMErrorCode printAttributes(std::ostream &os) const
print the attributes vector
unsigned int * tagBlockHeaderData
MoFEMErrorCode getAttributeDataStructure(ATTRIBUTE_TYPE &data) const
fill data structure with data saved on meshset
MoFEMErrorCode getTypeFromName(const std::string &name, CubitBCType &type) const
Function that returns the CubitBCType type of the block name, sideset name etc.
MoFEMErrorCode setBcDataStructure(CUBIT_BC_DATA_TYPE &data)
CubitMeshSets(Interface &moab, const EntityHandle meshset)
MoFEMErrorCode getMeshsetIdEntitiesByDimension(Interface &moab, Range &entities, const bool recursive=false) const
get entities form meshset
MoFEMErrorCode setAttributes(moab::Interface &moab, const std::vector< double > &attributes)
cet Cubit block attributes
MoFEMErrorCode getBlockHeaderData(std::vector< unsigned int > &material_data) const
get block_headers vector from MoFEM database
friend std::ostream & operator<<(std::ostream &os, const CubitMeshSets &e)
MoFEMErrorCode getBcDataStructure(CUBIT_BC_DATA_TYPE &data) const
unsigned int getMeshsetEntitiesDimension() const
Get the meshset entities dimension.
CubitMeshSets(Interface &moab, const CubitBCType cubit_bc_type, const int msId)
MoFEMErrorCode printBcData(std::ostream &os) const
print bc_data int stream given by os
CubitBCType getBcType() const
get type of meshset
MoFEMErrorCode getMeshsetIdEntitiesByDimension(Interface &moab, const int dimension, Range &entities, const bool recursive=false) const
get entities form meshset
std::string getName() const
get name of block, sideset etc. (this is set in Cubit block properties)
std::vector< Tag > tag_handles
vector of tag handles to types of data passed from cubit
EntityHandle getMeshset() const
get bc meshset
MoFEMErrorCode setAttributeDataStructure(const ATTRIBUTE_TYPE &data)
fill meshset data with data on structure
MoFEMErrorCode getTagsHandlers(Interface &moab)
int * msId
cubit meshset ID
int tagBlockAttributesSize
const CubitBCType meshsetsMask
MoFEMErrorCode getMeshsetIdEntitiesByType(Interface &moab, const EntityType type, Range &entities, const bool recursive=false) const
get entities by type
MoFEMErrorCode getTypeFromBcData(const std::vector< char > &bc_data, CubitBCType &type) const
Function that returns the CubitBCType type of the contents of bc_data.
unsigned long int getMaksedBcTypeULong() const
get meshset type and mask
int getMeshsetId() const
get meshset id as it set in preprocessing software
MoFEMErrorCode printBlockHeaderData(std::ostream &os) const
print material_data int stream given by os
Deprecated interface functions.
Generic attribute data structure.
Generic bc data structure.