⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 data_function.h

📁 cfd求解器使用与gmsh网格的求解
💻 H
📖 第 1 页 / 共 3 页
字号:
/* * Copyright (C) 1997-2006 P. Dular, C. Geuzaine * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA. * * Please report all bugs and problems to <getdp@geuz.org>. */#ifndef _DADA_FUNCTION_H_#define _DATA_FUNCTION_H_#include "BF_Function.h"#include "F_Function.h"#include "GF_Function.h"#include "F_FMM.h"#define CAST  void(*)()#define POI  POINT#define LIN  LINE | LINE_2#define TRI  TRIANGLE | TRIANGLE_2#define QUA  QUADRANGLE | QUADRANGLE_2#define TET  TETRAHEDRON | TETRAHEDRON_2#define HEX  HEXAHEDRON | HEXAHEDRON_2#define PRI  PRISM | PRISM_2#define PYR  PYRAMID | PYRAMID_2#define ALL  POI|LIN|TRI|QUA|TET|HEX|PRI|PYR/* ------------------------------------------------------------------------ *//*  Keywords, their assigned 3 functions and 2 numbers                      *//* ------------------------------------------------------------------------ */struct StringX3Function2Nbr  BF_Function[] = {   /* H^1 Basis Functions and their gradients */    {"BF_Node",    (CAST)BF_Node,                     (CAST)BF_GradNode,    (CAST)BF_Zero, 1., ALL },  {"BF_Node_1N", (CAST)BF_Node,                     (CAST)BF_GradNode,    (CAST)BF_Zero, 1., ALL },  {"BF_Node_2E", (CAST)BF_Node_2E,                  (CAST)BF_GradNode_2E, (CAST)BF_Zero, 2., ALL },   {"BF_Node_2F", (CAST)BF_Node_2F,                  (CAST)BF_GradNode_2F, (CAST)BF_Zero, 2., QUA|HEX|PRI },   {"BF_Node_2V", (CAST)BF_Node_2V,                  (CAST)BF_GradNode_2V, (CAST)BF_Zero, 2., HEX|PRI },   {"BF_Node_3E", (CAST)BF_Node_3E,                  (CAST)BF_GradNode_3E, (CAST)BF_Zero, 3., ALL },   {"BF_Node_3F", (CAST)BF_Node_3F,                  (CAST)BF_GradNode_3F, (CAST)BF_Zero, 3., TRI|QUA|TET|HEX|PRI },   {"BF_Node_3V", (CAST)BF_Node_3V,                  (CAST)BF_GradNode_3V, (CAST)BF_Zero, 3., HEX|PRI },   {"BF_GradNode",    (CAST)BF_GradNode,                        (CAST)BF_Zero, (CAST)BF_Node,    0., ALL },  {"BF_GradNode_1N", (CAST)BF_GradNode,                         (CAST)BF_Zero, (CAST)BF_Node,    0., ALL },  {"BF_GradNode_2E", (CAST)BF_GradNode_2E,                      (CAST)BF_Zero, (CAST)BF_Node_2E, 1., ALL },  {"BF_GradNode_2F", (CAST)BF_GradNode_2F,                      (CAST)BF_Zero, (CAST)BF_Node_2F, 1., QUA|HEX|PRI },  {"BF_GradNode_2V", (CAST)BF_GradNode_2V,                      (CAST)BF_Zero, (CAST)BF_Node_2V, 1., HEX|PRI },  {"BF_GradNode_3E", (CAST)BF_GradNode_3E,                      (CAST)BF_Zero, (CAST)BF_Node_3E, 2., ALL },  {"BF_GradNode_3F", (CAST)BF_GradNode_3F,                      (CAST)BF_Zero, (CAST)BF_Node_3F, 2., TRI|QUA|TET|HEX|PRI },  {"BF_GradNode_3V", (CAST)BF_GradNode_3V,                      (CAST)BF_Zero, (CAST)BF_Node_3V, 2., HEX|PRI },  {"BF_GroupOfNodes",    (CAST)BF_GroupOfNodes,                            (CAST)BF_GradGroupOfNodes,    (CAST)BF_Zero, 1., ALL },  {"BF_GroupOfNodes_1N", (CAST)BF_GroupOfNodes,                             (CAST)BF_GradGroupOfNodes,    (CAST)BF_Zero, 1., ALL },  {"BF_GroupOfNodes_2E", (CAST)BF_GroupOfNodes_2E,                          (CAST)BF_GradGroupOfNodes_2E, (CAST)BF_Zero, 2., ALL },  {"BF_GroupOfNodes_2F", (CAST)BF_GroupOfNodes_2F,                          (CAST)BF_GradGroupOfNodes_2F, (CAST)BF_Zero, 2., QUA|HEX|PRI },  {"BF_GroupOfNodes_2V", (CAST)BF_GroupOfNodes_2V,                          (CAST)BF_GradGroupOfNodes_2V, (CAST)BF_Zero, 2., HEX|PRI },  {"BF_GroupOfNodes_3E", (CAST)BF_GroupOfNodes_3E,                          (CAST)BF_GradGroupOfNodes_3E, (CAST)BF_Zero, 3., ALL },  {"BF_GroupOfNodes_3F", (CAST)BF_GroupOfNodes_3F,                          (CAST)BF_GradGroupOfNodes_3F, (CAST)BF_Zero, 3., HEX|PRI|TET|HEX|PRI },  {"BF_GroupOfNodes_3V", (CAST)BF_GroupOfNodes_3V,                          (CAST)BF_GradGroupOfNodes_3V, (CAST)BF_Zero, 3., HEX|PRI },  {"BF_GradGroupOfNodes",    (CAST)BF_GradGroupOfNodes,                                 (CAST)BF_Zero, (CAST)BF_GroupOfNodes,    0., ALL },  {"BF_GradGroupOfNodes_1N", (CAST)BF_GradGroupOfNodes,                                 (CAST)BF_Zero, (CAST)BF_GroupOfNodes,    0., ALL },  {"BF_GradGroupOfNodes_2E", (CAST)BF_GradGroupOfNodes_2E,                             (CAST)BF_Zero, (CAST)BF_GroupOfNodes_2E, 1., ALL },  {"BF_GradGroupOfNodes_2F", (CAST)BF_GradGroupOfNodes_2F,                             (CAST)BF_Zero, (CAST)BF_GroupOfNodes_2F, 1., QUA|HEX|PRI },  {"BF_GradGroupOfNodes_2V", (CAST)BF_GradGroupOfNodes_2V,                             (CAST)BF_Zero, (CAST)BF_GroupOfNodes_2V, 1., HEX|PRI },  {"BF_GradGroupOfNodes_3E", (CAST)BF_GradGroupOfNodes_3E,                             (CAST)BF_Zero, (CAST)BF_GroupOfNodes_3E, 2., ALL },  {"BF_GradGroupOfNodes_3F", (CAST)BF_GradGroupOfNodes_3F,                             (CAST)BF_Zero, (CAST)BF_GroupOfNodes_3F, 2., HEX|PRI|TET|HEX|PRI },  {"BF_GradGroupOfNodes_3V", (CAST)BF_GradGroupOfNodes_2V,                             (CAST)BF_Zero, (CAST)BF_GroupOfNodes_3V, 2., HEX|PRI },  /* H(curl) basis Functions and their curls */  {"BF_Edge",      (CAST)BF_Edge,                         (CAST)BF_CurlEdge,      (CAST)BF_Zero, 0.5, ALL },  {"BF_Edge_1E",   (CAST)BF_Edge,                        (CAST)BF_CurlEdge,      (CAST)BF_Zero, 0.5, ALL },  {"BF_Edge_2E",   (CAST)BF_Edge_2E,                     (CAST)BF_CurlEdge_2E,   (CAST)BF_Zero, 1.,  ALL },   {"BF_Edge_2F",   (CAST)BF_Edge_2F,                      (CAST)BF_CurlEdge_2F,   (CAST)BF_Zero, 1.,  ALL },   {"BF_Edge_2V",   (CAST)BF_Edge_2V,                      (CAST)BF_CurlEdge_2V,   (CAST)BF_Zero, 1.,  ALL },   {"BF_Edge_3E",   (CAST)BF_Edge_3E,                      (CAST)BF_CurlEdge_3E,   (CAST)BF_Zero, 1.5, TRI|QUA|TET|HEX|PRI },   {"BF_Edge_3F_a", (CAST)BF_Edge_3F_a,                    (CAST)BF_CurlEdge_3F_a, (CAST)BF_Zero, 1.5, TRI|QUA|TET|HEX|PRI },   {"BF_Edge_3F_b", (CAST)BF_Edge_3F_b,                    (CAST)BF_CurlEdge_3F_b, (CAST)BF_Zero, 1.5, TRI|QUA|TET|HEX|PRI },   {"BF_Edge_3F_c", (CAST)BF_Edge_3F_c,                   (CAST)BF_CurlEdge_3F_c, (CAST)BF_Zero, 1.5, TRI|QUA|TET|HEX|PRI },   {"BF_Edge_3V",   (CAST)BF_Edge_3V,                     (CAST)BF_CurlEdge_3V,   (CAST)BF_Zero, 1.5, TRI|QUA|TET|HEX|PRI },   {"BF_Edge_4E",   (CAST)BF_Edge_4E,                     (CAST)BF_CurlEdge_4E,   (CAST)BF_Zero, 2.,  ALL },   {"BF_Edge_4F",   (CAST)BF_Edge_4F,                     (CAST)BF_CurlEdge_4F,   (CAST)BF_Zero, 2.,  TRI|QUA|TET|HEX|PRI },   {"BF_Edge_4V",   (CAST)BF_Edge_4V,                      (CAST)BF_CurlEdge_4V,   (CAST)BF_Zero, 2.,  TRI|QUA|TET|HEX|PRI },   {"BF_CurlEdge",      (CAST)BF_CurlEdge,                             (CAST)BF_Zero, (CAST)BF_Edge,      0., ALL },  {"BF_CurlEdge_1E",   (CAST)BF_CurlEdge,                             (CAST)BF_Zero, (CAST)BF_Edge,      0., ALL },  {"BF_CurlEdge_2E",   (CAST)BF_CurlEdge_2E,                         (CAST)BF_Zero, (CAST)BF_Edge_2E,   0., ALL },  {"BF_CurlEdge_2F",   (CAST)BF_CurlEdge_2F,                          (CAST)BF_Zero, (CAST)BF_Edge_2F,   0., ALL },  {"BF_CurlEdge_2V",   (CAST)BF_CurlEdge_2V,                         (CAST)BF_Zero, (CAST)BF_Edge_2V,   0., ALL },  {"BF_CurlEdge_3E",   (CAST)BF_CurlEdge_3E,                         (CAST)BF_Zero, (CAST)BF_Edge_3E,   1., TRI|QUA|TET|HEX|PRI },  {"BF_CurlEdge_3F_a", (CAST)BF_CurlEdge_3F_a,                       (CAST)BF_Zero, (CAST)BF_Edge_3F_a, 1., TRI|QUA|TET|HEX|PRI },  {"BF_CurlEdge_3F_b", (CAST)BF_CurlEdge_3F_b,                       (CAST)BF_Zero, (CAST)BF_Edge_3F_b, 1., TRI|QUA|TET|HEX|PRI },  {"BF_CurlEdge_3F_c", (CAST)BF_CurlEdge_3F_c,                        (CAST)BF_Zero, (CAST)BF_Edge_3F_c, 1., TRI|QUA|TET|HEX|PRI },  {"BF_CurlEdge_3V",   (CAST)BF_CurlEdge_3V,                         (CAST)BF_Zero, (CAST)BF_Edge_3V,   1., TRI|QUA|TET|HEX|PRI },  {"BF_CurlEdge_4E",   (CAST)BF_CurlEdge_4E,                          (CAST)BF_Zero, (CAST)BF_Edge_4E,   1., ALL },  {"BF_CurlEdge_4F",   (CAST)BF_CurlEdge_4F,                          (CAST)BF_Zero, (CAST)BF_Edge_4F,   1., TRI|QUA|TET|HEX|PRI },  {"BF_CurlEdge_4V",   (CAST)BF_CurlEdge_4V,                         (CAST)BF_Zero, (CAST)BF_Edge_4V,   1., TRI|QUA|TET|HEX|PRI },  {"BF_GroupOfEdges",      (CAST)BF_GroupOfEdges,                                (CAST)BF_CurlGroupOfEdges,      (CAST)BF_Zero, 0.5, ALL },  {"BF_GroupOfEdges_1E",   (CAST)BF_GroupOfEdges,                                 (CAST)BF_CurlGroupOfEdges,      (CAST)BF_Zero, 0.5, ALL },  {"BF_GroupOfEdges_2E",   (CAST)BF_GroupOfEdges_2E,                              (CAST)BF_CurlGroupOfEdges_2E,   (CAST)BF_Zero, 1.,  ALL },  {"BF_GroupOfEdges_2F",   (CAST)BF_GroupOfEdges_2F,                             (CAST)BF_CurlGroupOfEdges_2F,   (CAST)BF_Zero, 1.,  ALL },  {"BF_GroupOfEdges_2V",   (CAST)BF_GroupOfEdges_2V,                             (CAST)BF_CurlGroupOfEdges_2V,   (CAST)BF_Zero, 1.,  ALL },  {"BF_GroupOfEdges_3E",   (CAST)BF_GroupOfEdges_3E,                              (CAST)BF_CurlGroupOfEdges_3E,   (CAST)BF_Zero, 1.5, TRI|QUA|TET|HEX|PRI },  {"BF_GroupOfEdges_3F_a", (CAST)BF_GroupOfEdges_3F_a,                            (CAST)BF_CurlGroupOfEdges_3F_a, (CAST)BF_Zero, 1.5, TRI|QUA|TET|HEX|PRI },  {"BF_GroupOfEdges_3F_b", (CAST)BF_GroupOfEdges_3F_b,                            (CAST)BF_CurlGroupOfEdges_3F_b, (CAST)BF_Zero, 1.5, TRI|QUA|TET|HEX|PRI },  {"BF_GroupOfEdges_3F_c", (CAST)BF_GroupOfEdges_3F_c,                           (CAST)BF_CurlGroupOfEdges_3F_c, (CAST)BF_Zero, 1.5, TRI|QUA|TET|HEX|PRI },  {"BF_GroupOfEdges_3V",   (CAST)BF_GroupOfEdges_3V,                              (CAST)BF_CurlGroupOfEdges_3V,   (CAST)BF_Zero, 1.5, TRI|QUA|TET|HEX|PRI },  {"BF_GroupOfEdges_4E",   (CAST)BF_GroupOfEdges_4E,                              (CAST)BF_CurlGroupOfEdges_4E,   (CAST)BF_Zero, 2.,  ALL },  {"BF_GroupOfEdges_4F",   (CAST)BF_GroupOfEdges_4F,                             (CAST)BF_CurlGroupOfEdges_4F,   (CAST)BF_Zero, 2.,  TRI|QUA|TET|HEX|PRI },  {"BF_GroupOfEdges_4V",   (CAST)BF_GroupOfEdges_4V,                             (CAST)BF_CurlGroupOfEdges_4V,   (CAST)BF_Zero, 2.,  TRI|QUA|TET|HEX|PRI },  {"BF_CurlGroupOfEdges",      (CAST)BF_CurlGroupOfEdges,                                     (CAST)BF_Zero, (CAST)BF_GroupOfEdges,      0., ALL },  {"BF_CurlGroupOfEdges_1E",   (CAST)BF_CurlGroupOfEdges,                                     (CAST)BF_Zero, (CAST)BF_GroupOfEdges,      0., ALL },  {"BF_CurlGroupOfEdges_2E",   (CAST)BF_CurlGroupOfEdges_2E,                                  (CAST)BF_Zero, (CAST)BF_GroupOfEdges_2E,   0., ALL },  {"BF_CurlGroupOfEdges_2F",   (CAST)BF_CurlGroupOfEdges_2F,                                  (CAST)BF_Zero, (CAST)BF_GroupOfEdges_2F,   0., ALL },  {"BF_CurlGroupOfEdges_2V",   (CAST)BF_CurlGroupOfEdges_2V,                                  (CAST)BF_Zero, (CAST)BF_GroupOfEdges_2V,   0., ALL },  {"BF_CurlGroupOfEdges_3E",   (CAST)BF_CurlGroupOfEdges_3E,                                  (CAST)BF_Zero, (CAST)BF_GroupOfEdges_3E,   1., TRI|QUA|TET|HEX|PRI },  {"BF_CurlGroupOfEdges_3F_a", (CAST)BF_CurlGroupOfEdges_3F_a,                                (CAST)BF_Zero, (CAST)BF_GroupOfEdges_3F_a, 1., TRI|QUA|TET|HEX|PRI },  {"BF_CurlGroupOfEdges_3F_b", (CAST)BF_CurlGroupOfEdges_3F_b,                                (CAST)BF_Zero, (CAST)BF_GroupOfEdges_3F_b, 1., TRI|QUA|TET|HEX|PRI },  {"BF_CurlGroupOfEdges_3F_c", (CAST)BF_CurlGroupOfEdges_3F_c,                                (CAST)BF_Zero, (CAST)BF_GroupOfEdges_3F_c, 1., TRI|QUA|TET|HEX|PRI },  {"BF_CurlGroupOfEdges_3V",   (CAST)BF_CurlGroupOfEdges_3V,                                  (CAST)BF_Zero, (CAST)BF_GroupOfEdges_3V,   1., TRI|QUA|TET|HEX|PRI },  {"BF_CurlGroupOfEdges_4E",   (CAST)BF_CurlGroupOfEdges_4E,                                  (CAST)BF_Zero, (CAST)BF_GroupOfEdges_4E,   1., ALL },  {"BF_CurlGroupOfEdges_4F",   (CAST)BF_CurlGroupOfEdges_4F,                                  (CAST)BF_Zero, (CAST)BF_GroupOfEdges_4F,   1., TRI|QUA|TET|HEX|PRI },  {"BF_CurlGroupOfEdges_4V",   (CAST)BF_CurlGroupOfEdges_4V,                                  (CAST)BF_Zero, (CAST)BF_GroupOfEdges_4V,   1., TRI|QUA|TET|HEX|PRI },  /* H(curl, perp) basis Functions and their curls */  {"BF_PerpendicularEdge",    (CAST)BF_PerpendicularEdge,                                  (CAST)BF_CurlPerpendicularEdge,    (CAST)BF_Zero, 1., ALL },  {"BF_PerpendicularEdge_1N", (CAST)BF_PerpendicularEdge,                                  (CAST)BF_CurlPerpendicularEdge,    (CAST)BF_Zero, 1., ALL },   {"BF_PerpendicularEdge_2E", (CAST)BF_PerpendicularEdge_2E,                               (CAST)BF_CurlPerpendicularEdge_2E, (CAST)BF_Zero, 2., ALL },   {"BF_PerpendicularEdge_2F", (CAST)BF_PerpendicularEdge_2F,                               (CAST)BF_CurlPerpendicularEdge_2F, (CAST)BF_Zero, 2., QUA|HEX|PRI },   {"BF_PerpendicularEdge_2V", (CAST)BF_PerpendicularEdge_2V,                               (CAST)BF_CurlPerpendicularEdge_2V, (CAST)BF_Zero, 2., QUA|HEX },   {"BF_PerpendicularEdge_3E", (CAST)BF_PerpendicularEdge_3E,                               (CAST)BF_CurlPerpendicularEdge_3E, (CAST)BF_Zero, 3., ALL },   {"BF_PerpendicularEdge_3F", (CAST)BF_PerpendicularEdge_3F,                               (CAST)BF_CurlPerpendicularEdge_3F, (CAST)BF_Zero, 3., TRI|QUA|TET|HEX|PRI },   {"BF_PerpendicularEdge_3V", (CAST)BF_PerpendicularEdge_3V,                               (CAST)BF_CurlPerpendicularEdge_3V, (CAST)BF_Zero, 3., HEX|PRI },   {"BF_CurlPerpendicularEdge",    (CAST)BF_CurlPerpendicularEdge,                                      (CAST)BF_Zero, (CAST)BF_PerpendicularEdge,    0., ALL },  {"BF_CurlPerpendicularEdge_1N", (CAST)BF_CurlPerpendicularEdge,                                     (CAST)BF_Zero, (CAST)BF_PerpendicularEdge,    0., ALL },

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -