TAPs 0.7.7.3
TAPsFEMMeshHexahedraGen.hpp
Go to the documentation of this file.
00001 /******************************************************************************
00002 TAPsFEMMeshHexahedraGen.hpp
00003 ******************************************************************************/
00007 /******************************************************************************
00008 SUKITTI PUNAK   (02/18/2010)
00009 UPDATE          (04/01/2010)
00010 ******************************************************************************/
00011 #ifndef TAPs_FEM_MESH_HEXAHEDRA_GEN_HPP
00012 #define TAPs_FEM_MESH_HEXAHEDRA_GEN_HPP
00013 
00014 #include "TAPsFEMMeshHexahedra.hpp"
00015 #include "../CG/TAPsGridGenerator.hpp"
00016 
00017 BEGIN_NAMESPACE_TAPs__FEM
00018 //=============================================================================
00019 template <typename T, typename DATA = unsigned char>
00020 class MeshHexahedraGen {
00021 //=============================================================================
00022 public:
00023     // Member Functions -------------------------------------------------------
00024 
00026     static void OneElementMesh ( MeshHexahedra<T> & rHexFemMesh, T mass = 1, T YoungsModulus = 96, T PoissonsRatio = 1.0/3.0 );
00027 
00029     static void TwoElementMeshJoinByNode ( MeshHexahedra<T> & rHexFemMesh, T mass = 1, T YoungsModulus = 96, T PoissonsRatio = 1.0/3.0 );
00030 
00032     static void TwoElementMeshJoinByEdge ( MeshHexahedra<T> & rHexFemMesh, T mass = 1, T YoungsModulus = 96, T PoissonsRatio = 1.0/3.0 );
00033 
00035     static void TwoElementMeshJoinByFace ( MeshHexahedra<T> & rHexFemMesh, T mass = 1, T YoungsModulus = 96, T PoissonsRatio = 1.0/3.0 );
00036 
00038     static void MeshHexahedraGen<T,DATA>::Bar ( 
00039         MeshHexahedra<T> & rHexFemMesh, 
00040         unsigned int numOfElements, 
00041         T width  = 1,               
00042         T height = 1,               
00043         T depth  = 10,              
00044         T mass = 1,                 
00045         T YoungsModulus = 96,       
00046         T PoissonsRatio = 1.0/3.0   
00047     );
00048 
00051 
00058     static bool MeshFromGridGenerator ( 
00059         MeshHexahedra<T> & rHexFemMesh,     
00060         GridGenerator<T,DATA> & rGridGen,   
00061         T   mass = 1,                       
00062         T   YoungsModulus = 96,             
00063         T   PoissonsRatio = T(1)/T(3)       
00064     );
00065 
00069 
00076     static bool MeshFromGridGenerator ( 
00077         MeshHexahedra<T> & rHexFemMesh,     
00078         std::vector< HexBarycentricCoordsForVertexRef<T,DATA> > & rBaryCoords, 
00079         //std::vector< unsigned int > & rElementID, //!< identify the element that the barycentric coordinates are embedded in
00080         GridGenerator<T,DATA> & rGridGen,   
00081         T   mass = 1,                       
00082         T   YoungsModulus = 96,             
00083         T   PoissonsRatio = T(1)/T(3),      
00084         bool bGenElementsInsideVolume = true,   
00085         int *** pElementsGridLocations = NULL   
00086     );
00087 
00088     // Data Members -----------------------------------------------------------
00089 //=============================================================================
00090 protected:
00091     // Member Functions -------------------------------------------------------
00092     // Data Members -----------------------------------------------------------
00093 //=============================================================================
00094 private:
00095     // Member Functions -------------------------------------------------------
00096 
00098     //static void SetAccessors ( MeshHexahedra<T> & rHexFemMesh );
00100     //static void ClearAccessors ();
00101 
00102     // Data Members -----------------------------------------------------------
00103     //static std::vector< Hexahedron<T> > * m_pListOfElements;              //!< temp pointer to a list of elements
00104     //static std::vector< Vector3<T> > *        m_pListOfDeformedMeshNodes;     //!< temp pointer to a list of deformed mesh nodes
00105     //static std::vector< Vector3<T> > *        m_pListOfUndeformedMeshNodes;   //!< temp pointer to a list of undeformed mesh nodes
00106 //=============================================================================
00107 }; // END CLASS MeshHexahedraGen
00108 //=============================================================================
00109 END_NAMESPACE_TAPs__FEM
00110 //-----------------------------------------------------------------------------
00112 #include "TAPsFEMMeshHexahedraGen.cpp"
00113 
00115 // Include definition if TAPs_USE_EXPORT is not defined
00116 //#if !defined( TAPs_USE_EXPORT )
00117 //  #include "TAPsFEMMeshHexahedraGen.cpp"
00118 //#endif
00119 //-----------------------------------------------------------------------------
00120 #endif
00121 //34567890123456789012345678901234567890123456789012345678901234567890123456789
00122 //--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines