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

Mat_Elastic with Fibres. More...

#include <src/multi_indices/MaterialBlocks.hpp>

Inheritance diagram for MoFEM::Mat_Elastic_EberleinHolzapfel1:
[legend]
Collaboration diagram for MoFEM::Mat_Elastic_EberleinHolzapfel1:
[legend]

Public Member Functions

struct __attribute__ ((packed)) _data_
 Hotzapler soft tissue. More...
 
std::size_t getSizeOfData () const
 get data structure size More...
 
const void * getDataPtr () const
 get pointer to data structure More...
 
 Mat_Elastic_EberleinHolzapfel1 ()
 
MoFEMErrorCode fill_data (const std::vector< double > &attributes)
 get data from structure More...
 
- Public Member Functions inherited from MoFEM::GenericAttributeData
virtual MoFEMErrorCode set_data (void *tag_ptr, unsigned int size) const
 set data on structure More...
 
virtual const CubitBCTypegetType () const
 get data type More...
 
virtual unsigned int getMinMumberOfAtributes () const
 get minimal number of attributes which blockset has to have More...
 
 GenericAttributeData (const CubitBCType type, const unsigned int min_number_of_atributes)
 

Public Attributes

_data_ data
 
- Public Attributes inherited from MoFEM::GenericAttributeData
const CubitBCType tYpe
 Type of data (f.e. MAT_ELATIC) More...
 
unsigned int minNumberOfAtributes
 minimal number of attributes More...
 

Friends

std::ostream & operator<< (std::ostream &os, const Mat_Elastic_EberleinHolzapfel1 &e)
 Print Mat_Elastic data. More...
 

Detailed Description

Mat_Elastic with Fibres.

Elastic material data structure

Definition at line 481 of file MaterialBlocks.hpp.

Constructor & Destructor Documentation

◆ Mat_Elastic_EberleinHolzapfel1()

MoFEM::Mat_Elastic_EberleinHolzapfel1::Mat_Elastic_EberleinHolzapfel1 ( )
inline

Definition at line 503 of file MaterialBlocks.hpp.

504  bzero(&data, sizeof(data));
505  }

Member Function Documentation

◆ __attribute__()

struct MoFEM::Mat_Elastic_EberleinHolzapfel1::__attribute__ ( (packed)  )
inline

Hotzapler soft tissue.

< Young's modulus

< Poisson's ratio

Definition at line 486 of file MaterialBlocks.hpp.

486  {
487  double Young; ///< Young's modulus
488  double Poisson; ///< Poisson's ratio
489  double k1; // User attribute 1
490  double k2; // User attribute 2
491  double a0x; // User attribute 3
492  double a0y; // User attribute 4
493  double a0z; // User attribute 5
494  double a1x; // User attribute 6
495  double a1y; // User attribute 7
496  double a1z; // User attribute 8
497  };

◆ fill_data()

MoFEMErrorCode MoFEM::Mat_Elastic_EberleinHolzapfel1::fill_data ( const std::vector< double > &  attributes)
inlinevirtual

get data from structure

Parameters
attributesvector of doubles
Returns
error code

Reimplemented from MoFEM::GenericAttributeData.

Definition at line 507 of file MaterialBlocks.hpp.

507  {
509  if (attributes.size() < minNumberOfAtributes) {
510  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY,
511  "All material data not defined");
512  }
513  if (8 * attributes.size() > sizeof(data)) {
514  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY,
515  "data inconsistency, please review the number of material "
516  "properties defined");
517  }
518  bzero(&data, sizeof(data));
519  memcpy(&data, &attributes[0], 8 * attributes.size());
521  }

◆ getDataPtr()

const void* MoFEM::Mat_Elastic_EberleinHolzapfel1::getDataPtr ( ) const
inlinevirtual

get pointer to data structure

Returns
pointer

Implements MoFEM::GenericAttributeData.

Definition at line 501 of file MaterialBlocks.hpp.

501 { return &data; }

◆ getSizeOfData()

std::size_t MoFEM::Mat_Elastic_EberleinHolzapfel1::getSizeOfData ( ) const
inlinevirtual

get data structure size

Returns
size of structure in bytes

Implements MoFEM::GenericAttributeData.

Definition at line 500 of file MaterialBlocks.hpp.

500 { return sizeof(data); }

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const Mat_Elastic_EberleinHolzapfel1 e 
)
friend

Print Mat_Elastic data.

Definition at line 40 of file MaterialBlocks.cpp.

41  {
42  os << std::endl << "Material Properties" << std::endl;
43  os << "-------------------" << std::endl;
44  os << "Young's modulus = " << e.data.Young << std::endl;
45  os << "Poisson's ratio = " << e.data.Poisson << std::endl;
46  os << "k1 = " << e.data.k1 << std::endl;
47  os << "k2 = " << e.data.k2 << std::endl;
48  os << "a0_x = " << e.data.a0x << std::endl;
49  os << "a0_y = " << e.data.a0y << std::endl;
50  os << "a0_z = " << e.data.a0z << std::endl;
51  os << "a1_x = " << e.data.a1x << std::endl;
52  os << "a1_y = " << e.data.a1y << std::endl;
53  os << "a1_Z = " << e.data.a1z << std::endl << std::endl;
54  return os;
55 }

Member Data Documentation

◆ data

_data_ MoFEM::Mat_Elastic_EberleinHolzapfel1::data

Definition at line 497 of file MaterialBlocks.hpp.


The documentation for this struct was generated from the following file:
MoFEMFunctionReturnHot
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:447
MoFEM::GenericAttributeData::minNumberOfAtributes
unsigned int minNumberOfAtributes
minimal number of attributes
Definition: MaterialBlocks.hpp:52
MAT_ELASTICSET
@ MAT_ELASTICSET
block name is "MAT_ELASTIC"
Definition: definitions.h:159
MoFEM::GenericAttributeData::GenericAttributeData
GenericAttributeData(const CubitBCType type, const unsigned int min_number_of_atributes)
Definition: MaterialBlocks.hpp:74
MOFEM_DATA_INCONSISTENCY
@ MOFEM_DATA_INCONSISTENCY
Definition: definitions.h:31
MoFEMFunctionBeginHot
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:440
MoFEM::Mat_Elastic_EberleinHolzapfel1::data
_data_ data
Definition: MaterialBlocks.hpp:497