/** * * @file FITKElementQuad.h * @brief 四边形单元声明 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-03-08 * */ #ifndef _FITKELEMENT_QUADRANGLE_H__ #define _FITKELEMENT_QUADRANGLE_H__ #include "FITKInterfaceModelAPI.h" #include "FITKAbstractElement.h" namespace Interface { /** * @brief 四节点四边形 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-03-08 */ class FITKInerfaceModelAPI FITKElementQuad4 : public FITKAbstractElement { public: explicit FITKElementQuad4(); virtual ~FITKElementQuad4() = default; /** * @brief 获取单元类型 * @return FITKEleType * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-02-28 */ virtual FITKModelEnum::FITKEleType getEleType() override; /** * @brief 获取单元节点数量 * @return int * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-02-28 */ virtual int getNodeCount() override; /** * @brief 获取单元包含的面数量 * @return int * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-02-28 */ virtual int getFaceCount()override; /** * @brief 获取单元包含的边数量 * @return int * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-02-28 */ virtual int getEdgeCount()override ; /** * @brief 获取第index个面 * @param[i] index 面索引,从0开始 * @return QList 面的节点索引,其中的成员是指单元中的节点索引,其成员大小不超过getNodeCount * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-02-28 */ virtual QList getFace(const int index)override; /** * @brief 获取第index个边 * @param[i] index 边索引,从0开始 * @return QList 边的节点索引,其中的成员是指单元中的节点索引,其成员大小不超过getNodeCount * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-02-28 */ virtual QList getEdge(const int index) override; /** * @brief 获取单元维度 * @return int 1维线单元 2维壳单元 3维体单元 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-09 */ virtual int getElementDim() override; }; /** * @brief 八节点四边形 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-03-08 */ class FITKInerfaceModelAPI FITKElementQuad8 : public FITKAbstractElement { public: explicit FITKElementQuad8(); virtual ~FITKElementQuad8() = default; /** * @brief 获取单元类型 * @return FITKEleType * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-02-28 */ virtual FITKModelEnum::FITKEleType getEleType() override; /** * @brief 获取单元节点数量 * @return int * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-02-28 */ virtual int getNodeCount() override; /** * @brief 获取单元包含的面数量 * @return int * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-02-28 */ virtual int getFaceCount()override; /** * @brief 获取单元包含的边数量 * @return int * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-02-28 */ virtual int getEdgeCount()override; /** * @brief 获取第index个面 * @param[i] index 面索引,从0开始 * @return QList 面的节点索引,其中的成员是指单元中的节点索引,其成员大小不超过getNodeCount * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-02-28 */ virtual QList getFace(const int index)override ; /** * @brief 获取第index个边 * @param[i] index 边索引,从0开始 * @return QList 边的节点索引,其中的成员是指单元中的节点索引,其成员大小不超过getNodeCount * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-02-28 */ virtual QList getEdge(const int index) override ; /** * @brief 获取单元维度 * @return int 1维线单元 2维壳单元 3维体单元 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-09 */ virtual int getElementDim() override; }; } #endif