v0.14.0
BCData.hpp
Go to the documentation of this file.
1 /** \file BCData.hpp
2  * \brief Data structure with Cubit native blocks/meshset with boundary
3  * conditions
4  *
5  */
6 
7 #ifndef __BCDATA_HPP__
8 #define __BCDATA_HPP__
9 
10 namespace MoFEM {
11 
12 // declare MultiPointConstraintsType
13 // TODO: reverse engineer Constraints Data structure from Cubit
14 struct MPCsType;
15 
16 /*! \struct GenericCubitBcData
17  * \brief Generic bc data structure
18  * \ingroup mofem_bc
19  */
21 
22  /**
23  * \brief get data from structure
24  * @param attributes vector of doubles
25  * @return error code
26  */
27  virtual MoFEMErrorCode fill_data(const std::vector<char> &bc_data) {
29  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY,
30  "It makes no sense for the generic bc type");
32  }
33 
34  /**
35  * \brief set data on structure
36  * @param tag_ptr pointer to tag on meshset
37  * @param size size of data in bytes
38  * @return error code
39  */
40  virtual MoFEMErrorCode set_data(void *tag_ptr, unsigned int size) const {
42  SETERRQ(PETSC_COMM_SELF, MOFEM_ATOM_TEST_INVALID,
43  "It makes no sense for the generic bc type");
45  }
46 
47  /**
48  * \brief get data structure size
49  * @return size of structure in bytes
50  */
51  virtual std::size_t getSizeOfData() const = 0;
52 
53  /**
54  * \brief get pointer to data structure
55  * @return pointer
56  */
57  virtual const void *getDataPtr() const = 0;
58 
59  const CubitBCType tYpe; ///< Type of boundary condition
60 
61  /**
62  * \brief get data type
63  * @return data type, see CubitBC
64  */
65  virtual const CubitBCType &getType() const { return tYpe; }
66 
68 
69  virtual ~GenericCubitBcData() {}
70 };
71 
72 /*! \struct DisplacementCubitBcData
73  * \brief Definition of the displacement bc data structure
74  * \ingroup mofem_bc
75  */
77 
78  /*! \brief attributes of DisplacementCubitBcData
79  */
80  struct __attribute__((packed)) _data_ {
81  char name[12]; //< 12 characters for "Displacement"
82  char pre1; //< Always zero
83  char pre2; //< pre-processing flags for modification of displacement bcs.
84  //They should not affect analysis, i.e. safe to ignore; 1:
85  //smallest combine, 2: average, 3: largest combine, 4: overwrite
86  //or no combination defined (default)
87  char flag1; //< Flag for X-Translation (0: N/A, 1: specified)
88  char flag2; //< Flag for Y-Translation (0: N/A, 1: specified)
89  char flag3; //< Flag for Z-Translation (0: N/A, 1: specified)
90  char flag4; //< Flag for X-Rotation (0: N/A, 1: specified)
91  char flag5; //< Flag for Y-Rotation (0: N/A, 1: specified)
92  char flag6; //< Flag for Z-Rotation (0: N/A, 1: specified)
93  double value1; //< Value for X-Translation
94  double value2; //< Value for Y-Translation
95  double value3; //< Value for Z-Translation
96  double value4; //< Value for X-Rotation
97  double value5; //< Value for Y-Rotation
98  double value6; //< Value for Z-Rotation
99  };
100 
101  _data_ data;
102 
103  std::size_t getSizeOfData() const { return sizeof(_data_); }
104  const void *getDataPtr() const { return &data; }
105 
107  bzero(&data, sizeof(data));
108  }
109 
110  MoFEMErrorCode fill_data(const std::vector<char> &bc_data) {
112  // Fill data
113  if (bc_data.size() != sizeof(data))
114  SETERRQ2(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY,
115  "data inconsistency %ld != %ld", bc_data.size(), sizeof(data));
116  memcpy(&data, &bc_data[0], sizeof(data));
118  }
119 
120  MoFEMErrorCode set_data(void *tag_ptr, unsigned int size) const {
122  if (size != sizeof(data)) {
123  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY, "data inconsistency");
124  }
125  memcpy(tag_ptr, &data, size);
127  }
128 
129  /*! \brief Print displacement bc data
130  */
131  friend std::ostream &operator<<(std::ostream &os,
132  const DisplacementCubitBcData &e);
133 };
134 
135 /*! \struct ForceCubitBcData
136  * \brief Definition of the force bc data structure
137  * \ingroup mofem_bc
138  */
140  struct __attribute__((packed)) _data_ {
141  char name[5]; //< 5 characters for "Force"
142  char zero[3]; //< 3 zeros
143  double value1; //< Force magnitude
144  double value2; //< Moment magnitude
145  double value3; //< X-component of force direction vector
146  double value4; //< Y-component of force direction vector
147  double value5; //< Z-component of force direction vector
148  double value6; //< X-component of moment direction vector
149  double value7; //< Y-component of moment direction vector
150  double value8; //< Z-component of moment direction vector
151  char zero2; // 0
152  };
153 
154  _data_ data;
155  std::size_t getSizeOfData() const { return sizeof(_data_); }
156  const void *getDataPtr() const { return &data; }
157 
159  bzero(&data, sizeof(data));
160  }
161 
162  MoFEMErrorCode fill_data(const std::vector<char> &bc_data) {
164  // Fill data
165  if (bc_data.size() != sizeof(data))
166  SETERRQ(PETSC_COMM_SELF, 1, "data inconsistency");
167  memcpy(&data, &bc_data[0], sizeof(data));
169  }
170 
171  MoFEMErrorCode set_data(void *tag_ptr, unsigned int size) const {
173  if (size != sizeof(data)) {
174  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY, "data inconsistency");
175  }
176  memcpy(tag_ptr, &data, size);
178  }
179 
180  /*! \brief Print force bc data
181  */
182  friend std::ostream &operator<<(std::ostream &os, const ForceCubitBcData &e);
183 };
184 
185 /*! \struct VelocityCubitBcData
186  * \brief Definition of the velocity bc data structure
187  * \ingroup mofem_bc
188  */
190  struct __attribute__((packed)) _data_ {
191  char name[8]; //< 8 characters for "Velocity"
192  char pre1; //< Always zero
193  char pre2; //< pre-processing flags for modification of displacement bcs.
194  //They should not affect analysis, i.e. safe to ignore; 1:
195  //smallest combine, 2: average, 3: largest combine, 4: overwrite
196  //or no combination defined (default)
197  char flag1; //< Flag for X-Translation (0: N/A, 1: specified)
198  char flag2; //< Flag for Y-Translation (0: N/A, 1: specified)
199  char flag3; //< Flag for Z-Translation (0: N/A, 1: specified)
200  char flag4; //< Flag for X-Rotation (0: N/A, 1: specified)
201  char flag5; //< Flag for Y-Rotation (0: N/A, 1: specified)
202  char flag6; //< Flag for Z-Rotation (0: N/A, 1: specified)
203  double value1; //< Value for X-Translation
204  double value2; //< Value for Y-Translation
205  double value3; //< Value for Z-Translation
206  double value4; //< Value for X-Rotation
207  double value5; //< Value for Y-Rotation
208  double value6; //< Value for Z-Rotation
209  };
210 
211  _data_ data;
212  std::size_t getSizeOfData() const { return sizeof(_data_); }
213  const void *getDataPtr() const { return &data; }
214 
216  bzero(&data, sizeof(data));
217  }
218 
219  MoFEMErrorCode fill_data(const std::vector<char> &bc_data) {
221  // Fill data
222  if (bc_data.size() != sizeof(data))
223  SETERRQ(PETSC_COMM_SELF, 1, "data inconsistency");
224  memcpy(&data, &bc_data[0], sizeof(data));
226  }
227 
228  MoFEMErrorCode set_data(void *tag_ptr, unsigned int size) const {
230  if (size != sizeof(data)) {
231  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY, "data inconsistency");
232  }
233  memcpy(tag_ptr, &data, size);
235  }
236 
237  /*! \brief Print velocity bc data
238  */
239  friend std::ostream &operator<<(std::ostream &os,
240  const VelocityCubitBcData &e);
241 };
242 
243 /*! \struct AccelerationCubitBcData
244  * \brief Definition of the acceleration bc data structure
245  * \ingroup mofem_bc
246  */
248  struct __attribute__((packed)) _data_ {
249  char name[12]; //< 12 characters for "Acceleration"
250  char pre1; //< Always zero
251  char pre2; //< pre-processing flags for modification of displacement bcs.
252  //They should not affect analysis, i.e. safe to ignore; 1:
253  //smallest combine, 2: average, 3: largest combine, 4: overwrite
254  //or no combination defined (default)
255  char flag1; //< Flag for X-Translation (0: N/A, 1: specified)
256  char flag2; //< Flag for Y-Translation (0: N/A, 1: specified)
257  char flag3; //< Flag for Z-Translation (0: N/A, 1: specified)
258  char flag4; //< Flag for X-Rotation (0: N/A, 1: specified)
259  char flag5; //< Flag for Y-Rotation (0: N/A, 1: specified)
260  char flag6; //< Flag for Z-Rotation (0: N/A, 1: specified)
261  double value1; //< Value for X-Translation
262  double value2; //< Value for Y-Translation
263  double value3; //< Value for Z-Translation
264  double value4; //< Value for X-Rotation
265  double value5; //< Value for Y-Rotation
266  double value6; //< Value for Z-Rotation
267  };
268 
269  _data_ data;
270 
271  std::size_t getSizeOfData() const { return sizeof(_data_); }
272  const void *getDataPtr() const { return &data; }
273 
275  bzero(&data, sizeof(data));
276  }
277 
278  MoFEMErrorCode fill_data(const std::vector<char> &bc_data) {
280  // Fill data
281  if (bc_data.size() != sizeof(data))
282  SETERRQ(PETSC_COMM_SELF, 1, "data inconsistency");
283  memcpy(&data, &bc_data[0], sizeof(data));
285  }
286 
287  MoFEMErrorCode set_data(void *tag_ptr, unsigned int size) const {
289  if (size != sizeof(data)) {
290  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY, "data inconsistency");
291  }
292  memcpy(tag_ptr, &data, size);
294  }
295 
296  /*! \brief Print acceleration bc data
297  */
298  friend std::ostream &operator<<(std::ostream &os,
299  const AccelerationCubitBcData &e);
300 };
301 
302 /*! \struct TemperatureCubitBcData
303  * \brief Definition of the temperature bc data structure
304  * \ingroup mofem_bc
305  */
307  struct __attribute__((packed)) _data_ {
308  char name[11]; //< 11 characters for "Temperature" (11)
309  char pre1; //< This is always zero (12)
310  char pre2; //< 0: temperature is not applied on thin shells (default); 1:
311  //temperature is applied on thin shells (13)
312  char flag1; //< 0: N/A, 1: temperature value applied (not on thin shells)
313  //(14)
314  char flag2; //< 0: N/A, 1: temperature applied on thin shell middle (15)
315  char flag3; //< 0: N/A, 1: thin shell temperature gradient specified (16)
316  char flag4; //< 0: N/A, 1: top thin shell temperature (17)
317  char flag5; //< 0: N/A, 1: bottom thin shell temperature (18)
318  char flag6; //< This is always zero (19)
319  double value1; //< Temperature (default case - no thin shells)
320  double value2; //< Temperature for middle of thin shells
321  double value3; //< Temperature gradient for thin shells
322  double value4; //< Temperature for top of thin shells
323  double value5; //< Temperature for bottom of thin shells
324  double value6; //< This is always zero, i.e. ignore
325  };
326 
327  _data_ data;
328 
329  std::size_t getSizeOfData() const { return sizeof(_data_); }
330  const void *getDataPtr() const { return &data; }
331 
333  bzero(&data, sizeof(data));
334  }
335 
336  MoFEMErrorCode fill_data(const std::vector<char> &bc_data) {
338  // Fill data
339  if (bc_data.size() > sizeof(data))
340  SETERRQ2(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY,
341  "Wrong number of parameters in Cubit %d != %d", bc_data.size(),
342  sizeof(data));
343 
344  // Fix for newer version of Cubit
345  if (bc_data.size() == 58) {
346  std::vector<char> new_bc_data(66, 0);
347  size_t ii = 0;
348  for (; ii != 16; ++ii)
349  new_bc_data[ii] = bc_data[ii];
350  for (; ii != bc_data.size(); ++ii)
351  new_bc_data[ii + 1] = bc_data[ii];
352  memcpy(&data, &new_bc_data[0], new_bc_data.size());
353  } else {
354  memcpy(&data, &bc_data[0], bc_data.size());
355  }
356 
358  }
359 
360  MoFEMErrorCode set_data(void *tag_ptr, unsigned int size) const {
362  if (size != sizeof(data)) {
363  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY, "data inconsistency");
364  }
365  memcpy(tag_ptr, &data, size);
367  }
368 
369  /*! \brief Print temperature bc data
370  */
371  friend std::ostream &operator<<(std::ostream &os,
372  const TemperatureCubitBcData &e);
373 };
374 
375 /*! \struct PressureCubitBcData
376  * \brief Definition of the pressure bc data structure
377  * \ingroup mofem_bc
378  */
380  struct __attribute__((packed)) _data_ {
381  char name[8]; //< 8 characters for "Pressure"
382  char flag1; //< This is always zero
383  char flag2; //< 0: Pressure is interpreted as pure pressure 1: pressure is
384  //interpreted as total force
385  double value1; //< Pressure value
386  char zero; //< This is always zero
387  };
388 
389  _data_ data;
390 
391  std::size_t getSizeOfData() const { return sizeof(_data_); }
392  const void *getDataPtr() const { return &data; }
393 
395  bzero(&data, sizeof(data));
396  }
397 
398  MoFEMErrorCode fill_data(const std::vector<char> &bc_data) {
400  // Fill data
401  if (bc_data.size() != sizeof(data)) {
402  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY, "data inconsistency");
403  }
404  memcpy(&data, &bc_data[0], sizeof(data));
406  }
407 
408  MoFEMErrorCode set_data(void *tag_ptr, unsigned int size) const {
410  if (size != sizeof(data)) {
411  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY, "data inconsistency");
412  }
413  memcpy(tag_ptr, &data, size);
415  }
416 
417  /*! \brief Print pressure bc data
418  */
419  friend std::ostream &operator<<(std::ostream &os,
420  const PressureCubitBcData &e);
421 };
422 
423 /*! \struct HeatFluxCubitBcData
424  * \brief Definition of the heat flux bc data structure
425  * \ingroup mofem_bc
426  */
428 
429  struct __attribute__((packed)) _data_ {
430  char name[8]; //< 8 characters for "HeatFlux" (no space)
431  char pre1; //< This is always zero
432  char pre2; //< 0: heat flux is not applied on thin shells (default); 1: heat
433  //flux is applied on thin shells
434  char flag1; //< 0: N/A, 1: normal heat flux case (i.e. single value, case
435  //without thin shells)
436  char flag2; //< 0: N/A, 1: Thin shell top heat flux specified
437  char flag3; //< 0: N/A, 1: Thin shell bottom heat flux specified
438  double value1; //< Heat flux value for default case (no thin shells)
439  double value2; //< Heat flux (thin shell top)
440  double value3; //< Heat flux (thin shell bottom)
441  };
442 
443  _data_ data;
444 
445  std::size_t getSizeOfData() const { return sizeof(_data_); }
446  const void *getDataPtr() const { return &data; }
447 
449  bzero(&data, sizeof(data));
450  }
451 
452  MoFEMErrorCode fill_data(const std::vector<char> &bc_data) {
454  // Fill data
455  if (bc_data.size() != sizeof(data))
456  SETERRQ(PETSC_COMM_SELF, 1, "data inconsistency");
457  memcpy(&data, &bc_data[0], sizeof(data));
459  }
460 
461  MoFEMErrorCode set_data(void *tag_ptr, unsigned int size) const {
463  if (size != sizeof(data)) {
464  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY, "data inconsistency");
465  }
466  memcpy(tag_ptr, &data, size);
468  }
469 
470  /*! \brief Print heat flux bc data
471  */
472  friend std::ostream &operator<<(std::ostream &os,
473  const HeatFluxCubitBcData &e);
474 };
475 
476 /*! \struct CfgCubitBcData
477  * \brief Definition of the cfd_bc data structure
478  * \ingroup mofem_bc
479  */
481  struct __attribute__((packed)) _data_ {
482  char name[6]; //< 6 characters for "cfd_bc"
483  char zero; //< This is always zero
484  char type; //< This is the type of cfd_bc
485  };
486 
487  _data_ data;
488 
489  std::size_t getSizeOfData() const { return sizeof(_data_); }
490  const void *getDataPtr() const { return &data; }
491 
493  bzero(&data, sizeof(data));
494  }
495 
496  MoFEMErrorCode fill_data(const std::vector<char> &bc_data) {
498  // Fill data
499  if (bc_data.size() != sizeof(data))
500  SETERRQ(PETSC_COMM_SELF, 1, "data inconsistency");
501  memcpy(&data, &bc_data[0], sizeof(data));
503  }
504 
505  MoFEMErrorCode set_data(void *tag_ptr, unsigned int size) const {
507  if (size != sizeof(data)) {
508  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY, "data inconsistency");
509  }
510  memcpy(tag_ptr, &data, size);
512  }
513 
514  /*! \brief Print cfd_bc data
515  */
516  friend std::ostream &operator<<(std::ostream &os, const CfgCubitBcData &e);
517 };
518 
519 } // namespace MoFEM
520 
521 #endif // __BCMULTIINDICES_HPP__
MoFEM::TemperatureCubitBcData::__attribute__
struct __attribute__((packed)) _data_
Definition: BCData.hpp:307
MoFEMFunctionReturnHot
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:460
MoFEM::HeatFluxCubitBcData::operator<<
friend std::ostream & operator<<(std::ostream &os, const HeatFluxCubitBcData &e)
Print heat flux bc data.
Definition: BCData.cpp:178
MoFEM::PressureCubitBcData::getDataPtr
const void * getDataPtr() const
get pointer to data structure
Definition: BCData.hpp:392
MoFEM::AccelerationCubitBcData::operator<<
friend std::ostream & operator<<(std::ostream &os, const AccelerationCubitBcData &e)
Print acceleration bc data.
Definition: BCData.cpp:103
MoFEM::HeatFluxCubitBcData::__attribute__
struct __attribute__((packed)) _data_
Definition: BCData.hpp:429
MoFEM::PressureCubitBcData::__attribute__
struct __attribute__((packed)) _data_
Definition: BCData.hpp:380
MoFEM::GenericCubitBcData
Generic bc data structure.
Definition: BCData.hpp:20
MoFEM::AccelerationCubitBcData
Definition of the acceleration bc data structure.
Definition: BCData.hpp:247
MoFEM::TemperatureCubitBcData
Definition of the temperature bc data structure.
Definition: BCData.hpp:306
MoFEM::TemperatureCubitBcData::getSizeOfData
std::size_t getSizeOfData() const
get data structure size
Definition: BCData.hpp:329
MoFEM::DisplacementCubitBcData::operator<<
friend std::ostream & operator<<(std::ostream &os, const DisplacementCubitBcData &e)
Print displacement bc data.
Definition: BCData.cpp:10
MoFEM::ForceCubitBcData::fill_data
MoFEMErrorCode fill_data(const std::vector< char > &bc_data)
get data from structure
Definition: BCData.hpp:162
MoFEM::CfgCubitBcData::getDataPtr
const void * getDataPtr() const
get pointer to data structure
Definition: BCData.hpp:490
MoFEM::DisplacementCubitBcData::DisplacementCubitBcData
DisplacementCubitBcData()
Definition: BCData.hpp:106
MoFEM::VelocityCubitBcData::VelocityCubitBcData
VelocityCubitBcData()
Definition: BCData.hpp:215
PRESSURESET
@ PRESSURESET
Definition: definitions.h:165
MoFEM::ForceCubitBcData::operator<<
friend std::ostream & operator<<(std::ostream &os, const ForceCubitBcData &e)
Print force bc data.
Definition: BCData.cpp:53
MoFEM::VelocityCubitBcData::getDataPtr
const void * getDataPtr() const
get pointer to data structure
Definition: BCData.hpp:213
MoFEM::AccelerationCubitBcData::set_data
MoFEMErrorCode set_data(void *tag_ptr, unsigned int size) const
set data on structure
Definition: BCData.hpp:287
MoFEM::TemperatureCubitBcData::getDataPtr
const void * getDataPtr() const
get pointer to data structure
Definition: BCData.hpp:330
MoFEM::DisplacementCubitBcData::getSizeOfData
std::size_t getSizeOfData() const
get data structure size
Definition: BCData.hpp:103
MoFEM::Exceptions::MoFEMErrorCode
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
Definition: Exceptions.hpp:56
MoFEM::CfgCubitBcData::__attribute__
struct __attribute__((packed)) _data_
Definition: BCData.hpp:481
MoFEM::ForceCubitBcData::__attribute__
struct __attribute__((packed)) _data_
Definition: BCData.hpp:140
MoFEM::PressureCubitBcData::operator<<
friend std::ostream & operator<<(std::ostream &os, const PressureCubitBcData &e)
Print pressure bc data.
Definition: BCData.cpp:170
MoFEM::ForceCubitBcData
Definition of the force bc data structure.
Definition: BCData.hpp:139
MoFEM::AccelerationCubitBcData::__attribute__
struct __attribute__((packed)) _data_
Definition: BCData.hpp:248
MoFEM::DisplacementCubitBcData
Definition of the displacement bc data structure.
Definition: BCData.hpp:76
MoFEM::VelocityCubitBcData::data
_data_ data
Definition: BCData.hpp:209
MoFEM::GenericCubitBcData::getType
virtual const CubitBCType & getType() const
get data type
Definition: BCData.hpp:65
MoFEM::GenericCubitBcData::getDataPtr
virtual const void * getDataPtr() const =0
get pointer to data structure
MoFEM::DisplacementCubitBcData::__attribute__
struct __attribute__((packed)) _data_
attributes of DisplacementCubitBcData
Definition: BCData.hpp:80
MoFEM::CfgCubitBcData::operator<<
friend std::ostream & operator<<(std::ostream &os, const CfgCubitBcData &e)
Print cfd_bc data.
Definition: BCData.cpp:199
MoFEM::GenericCubitBcData::tYpe
const CubitBCType tYpe
Type of boundary condition.
Definition: BCData.hpp:59
MoFEM::VelocityCubitBcData::fill_data
MoFEMErrorCode fill_data(const std::vector< char > &bc_data)
get data from structure
Definition: BCData.hpp:219
MoFEM::CfgCubitBcData::CfgCubitBcData
CfgCubitBcData()
Definition: BCData.hpp:492
MoFEM::HeatFluxCubitBcData::getSizeOfData
std::size_t getSizeOfData() const
get data structure size
Definition: BCData.hpp:445
MoFEM::PressureCubitBcData
Definition of the pressure bc data structure.
Definition: BCData.hpp:379
MoFEM::GenericCubitBcData::fill_data
virtual MoFEMErrorCode fill_data(const std::vector< char > &bc_data)
get data from structure
Definition: BCData.hpp:27
MoFEM::HeatFluxCubitBcData::fill_data
MoFEMErrorCode fill_data(const std::vector< char > &bc_data)
get data from structure
Definition: BCData.hpp:452
MoFEM::GenericCubitBcData::getSizeOfData
virtual std::size_t getSizeOfData() const =0
get data structure size
MoFEM::CfgCubitBcData::fill_data
MoFEMErrorCode fill_data(const std::vector< char > &bc_data)
get data from structure
Definition: BCData.hpp:496
MoFEM::AccelerationCubitBcData::AccelerationCubitBcData
AccelerationCubitBcData()
Definition: BCData.hpp:274
MoFEM::CfgCubitBcData::set_data
MoFEMErrorCode set_data(void *tag_ptr, unsigned int size) const
set data on structure
Definition: BCData.hpp:505
MoFEM::GenericCubitBcData::~GenericCubitBcData
virtual ~GenericCubitBcData()
Definition: BCData.hpp:69
MoFEM::GenericCubitBcData::set_data
virtual MoFEMErrorCode set_data(void *tag_ptr, unsigned int size) const
set data on structure
Definition: BCData.hpp:40
MoFEM
implementation of Data Operators for Forces and Sources
Definition: Common.hpp:10
FORCESET
@ FORCESET
Definition: definitions.h:164
MoFEM::PressureCubitBcData::set_data
MoFEMErrorCode set_data(void *tag_ptr, unsigned int size) const
set data on structure
Definition: BCData.hpp:408
convert.type
type
Definition: convert.py:64
MoFEM::DisplacementCubitBcData::fill_data
MoFEMErrorCode fill_data(const std::vector< char > &bc_data)
get data from structure
Definition: BCData.hpp:110
ACCELERATIONSET
@ ACCELERATIONSET
Definition: definitions.h:167
MoFEM::PressureCubitBcData::PressureCubitBcData
PressureCubitBcData()
Definition: BCData.hpp:394
DISPLACEMENTSET
@ DISPLACEMENTSET
Definition: definitions.h:163
MoFEM::CfgCubitBcData::data
_data_ data
Definition: BCData.hpp:485
MoFEM::PressureCubitBcData::getSizeOfData
std::size_t getSizeOfData() const
get data structure size
Definition: BCData.hpp:391
MoFEM::PressureCubitBcData::fill_data
MoFEMErrorCode fill_data(const std::vector< char > &bc_data)
get data from structure
Definition: BCData.hpp:398
MoFEM::ForceCubitBcData::getSizeOfData
std::size_t getSizeOfData() const
get data structure size
Definition: BCData.hpp:155
MoFEM::ForceCubitBcData::data
_data_ data
Definition: BCData.hpp:152
INTERFACESET
@ INTERFACESET
Definition: definitions.h:170
MoFEM::HeatFluxCubitBcData::set_data
MoFEMErrorCode set_data(void *tag_ptr, unsigned int size) const
set data on structure
Definition: BCData.hpp:461
MoFEM::ForceCubitBcData::ForceCubitBcData
ForceCubitBcData()
Definition: BCData.hpp:158
MoFEM::DisplacementCubitBcData::data
_data_ data
Definition: BCData.hpp:99
VELOCITYSET
@ VELOCITYSET
Definition: definitions.h:166
MoFEM::TemperatureCubitBcData::TemperatureCubitBcData
TemperatureCubitBcData()
Definition: BCData.hpp:332
MoFEM::PressureCubitBcData::data
_data_ data
Definition: BCData.hpp:387
MoFEM::HeatFluxCubitBcData::HeatFluxCubitBcData
HeatFluxCubitBcData()
Definition: BCData.hpp:448
MoFEM::TemperatureCubitBcData::data
_data_ data
Definition: BCData.hpp:325
MoFEM::VelocityCubitBcData
Definition of the velocity bc data structure.
Definition: BCData.hpp:189
MoFEM::HeatFluxCubitBcData::getDataPtr
const void * getDataPtr() const
get pointer to data structure
Definition: BCData.hpp:446
MoFEM::AccelerationCubitBcData::fill_data
MoFEMErrorCode fill_data(const std::vector< char > &bc_data)
get data from structure
Definition: BCData.hpp:278
MoFEM::Types::CubitBCType
std::bitset< 32 > CubitBCType
Definition: Types.hpp:52
MoFEM::ForceCubitBcData::getDataPtr
const void * getDataPtr() const
get pointer to data structure
Definition: BCData.hpp:156
MoFEM::AccelerationCubitBcData::getSizeOfData
std::size_t getSizeOfData() const
get data structure size
Definition: BCData.hpp:271
MOFEM_DATA_INCONSISTENCY
@ MOFEM_DATA_INCONSISTENCY
Definition: definitions.h:31
TEMPERATURESET
@ TEMPERATURESET
Definition: definitions.h:168
MoFEM::TemperatureCubitBcData::fill_data
MoFEMErrorCode fill_data(const std::vector< char > &bc_data)
get data from structure
Definition: BCData.hpp:336
MoFEM::VelocityCubitBcData::set_data
MoFEMErrorCode set_data(void *tag_ptr, unsigned int size) const
set data on structure
Definition: BCData.hpp:228
MoFEM::AccelerationCubitBcData::getDataPtr
const void * getDataPtr() const
get pointer to data structure
Definition: BCData.hpp:272
MoFEM::ForceCubitBcData::set_data
MoFEMErrorCode set_data(void *tag_ptr, unsigned int size) const
set data on structure
Definition: BCData.hpp:171
MoFEM::VelocityCubitBcData::getSizeOfData
std::size_t getSizeOfData() const
get data structure size
Definition: BCData.hpp:212
MoFEM::HeatFluxCubitBcData
Definition of the heat flux bc data structure.
Definition: BCData.hpp:427
MoFEM::TemperatureCubitBcData::operator<<
friend std::ostream & operator<<(std::ostream &os, const TemperatureCubitBcData &e)
Print temperature bc data.
Definition: BCData.cpp:139
MoFEM::GenericCubitBcData::GenericCubitBcData
GenericCubitBcData(const CubitBCType type)
Definition: BCData.hpp:67
MOFEM_ATOM_TEST_INVALID
@ MOFEM_ATOM_TEST_INVALID
Definition: definitions.h:40
MoFEM::HeatFluxCubitBcData::data
_data_ data
Definition: BCData.hpp:441
MoFEMFunctionBeginHot
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:453
HEATFLUXSET
@ HEATFLUXSET
Definition: definitions.h:169
MoFEM::VelocityCubitBcData::operator<<
friend std::ostream & operator<<(std::ostream &os, const VelocityCubitBcData &e)
Print velocity bc data.
Definition: BCData.cpp:67
MoFEM::AccelerationCubitBcData::data
_data_ data
Definition: BCData.hpp:267
MoFEM::DisplacementCubitBcData::getDataPtr
const void * getDataPtr() const
get pointer to data structure
Definition: BCData.hpp:104
MoFEM::CfgCubitBcData
Definition of the cfd_bc data structure.
Definition: BCData.hpp:480
MoFEM::CfgCubitBcData::getSizeOfData
std::size_t getSizeOfData() const
get data structure size
Definition: BCData.hpp:489
MoFEM::TemperatureCubitBcData::set_data
MoFEMErrorCode set_data(void *tag_ptr, unsigned int size) const
set data on structure
Definition: BCData.hpp:360
MoFEM::VelocityCubitBcData::__attribute__
struct __attribute__((packed)) _data_
Definition: BCData.hpp:190
MoFEM::DisplacementCubitBcData::set_data
MoFEMErrorCode set_data(void *tag_ptr, unsigned int size) const
set data on structure
Definition: BCData.hpp:120