/*
* 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 _BF_FUNCTION_H_
#define _BF_FUNCTION_H_
#include "Message.h"
#include "Data_Element.h"
#define BF_ARG struct Element * Element, int NumEntity, \
double u, double v, double w, double Value[]
/* H^1 Basis Functions and their gradients */
void BF_Node(BF_ARG) ;
void BF_Node_2E(BF_ARG) ;
void BF_Node_2F(BF_ARG) ;
void BF_Node_2V(BF_ARG) ;
void BF_Node_3E(BF_ARG) ;
void BF_Node_3F(BF_ARG) ;
void BF_Node_3V(BF_ARG) ;
void BF_GradNode(BF_ARG) ;
void BF_GradNode_2E(BF_ARG) ;
void BF_GradNode_2F(BF_ARG) ;
void BF_GradNode_2V(BF_ARG) ;
void BF_GradNode_3E(BF_ARG) ;
void BF_GradNode_3F(BF_ARG) ;
void BF_GradNode_3V(BF_ARG) ;
void BF_GroupOfNodes(BF_ARG) ;
void BF_GroupOfNodes_2E(BF_ARG) ;
void BF_GroupOfNodes_2F(BF_ARG) ;
void BF_GroupOfNodes_2V(BF_ARG) ;
void BF_GroupOfNodes_3E(BF_ARG) ;
void BF_GroupOfNodes_3F(BF_ARG) ;
void BF_GroupOfNodes_3V(BF_ARG) ;
void BF_GradGroupOfNodes(BF_ARG) ;
void BF_GradGroupOfNodes_2E(BF_ARG) ;
void BF_GradGroupOfNodes_2F(BF_ARG) ;
void BF_GradGroupOfNodes_2V(BF_ARG) ;
void BF_GradGroupOfNodes_3E(BF_ARG) ;
void BF_GradGroupOfNodes_3F(BF_ARG) ;
void BF_GradGroupOfNodes_3V(BF_ARG) ;
/* H(curl) basis Functions and their curls */
void BF_Edge(BF_ARG) ;
void BF_Edge_2E(BF_ARG) ;
void BF_Edge_2F(BF_ARG) ;
void BF_Edge_2V(BF_ARG) ;
void BF_Edge_3E(BF_ARG) ;
void BF_Edge_3F_a(BF_ARG) ;
void BF_Edge_3F_b(BF_ARG) ;
void BF_Edge_3F_c(BF_ARG) ;
void BF_Edge_3V(BF_ARG) ;
void BF_Edge_4E(BF_ARG) ;
void BF_Edge_4F(BF_ARG) ;
void BF_Edge_4V(BF_ARG) ;
void BF_CurlEdge(BF_ARG) ;
void BF_CurlEdge_2E(BF_ARG) ;
void BF_CurlEdge_2F(BF_ARG) ;
void BF_CurlEdge_2V(BF_ARG) ;
void BF_CurlEdge_3E(BF_ARG) ;
void BF_CurlEdge_3F_a(BF_ARG) ;
void BF_CurlEdge_3F_b(BF_ARG) ;
void BF_CurlEdge_3F_c(BF_ARG) ;
void BF_CurlEdge_3V(BF_ARG) ;
void BF_CurlEdge_4E(BF_ARG) ;
void BF_CurlEdge_4F(BF_ARG) ;
void BF_CurlEdge_4V(BF_ARG) ;
void BF_GroupOfEdges(BF_ARG) ;
void BF_GroupOfEdges_2E(BF_ARG) ;
void BF_GroupOfEdges_2F(BF_ARG) ;
void BF_GroupOfEdges_2V(BF_ARG) ;
void BF_GroupOfEdges_3E(BF_ARG) ;
void BF_GroupOfEdges_3F_a(BF_ARG) ;
void BF_GroupOfEdges_3F_b(BF_ARG) ;
void BF_GroupOfEdges_3F_c(BF_ARG) ;
void BF_GroupOfEdges_3V(BF_ARG) ;
void BF_GroupOfEdges_4E(BF_ARG) ;
void BF_GroupOfEdges_4F(BF_ARG) ;
void BF_GroupOfEdges_4V(BF_ARG) ;
void BF_CurlGroupOfEdges(BF_ARG) ;
void BF_CurlGroupOfEdges_2E(BF_ARG) ;
void BF_CurlGroupOfEdges_2F(BF_ARG) ;
void BF_CurlGroupOfEdges_2V(BF_ARG) ;
void BF_CurlGroupOfEdges_3E(BF_ARG) ;
void BF_CurlGroupOfEdges_3F_a(BF_ARG) ;
void BF_CurlGroupOfEdges_3F_b(BF_ARG) ;
void BF_CurlGroupOfEdges_3F_c(BF_ARG) ;
void BF_CurlGroupOfEdges_3V(BF_ARG) ;
void BF_CurlGroupOfEdges_4E(BF_ARG) ;
void BF_CurlGroupOfEdges_4F(BF_ARG) ;
void BF_CurlGroupOfEdges_4V(BF_ARG) ;
/* H(curl, perp) basis Functions and their curls */
void BF_PerpendicularEdge(BF_ARG) ;
void BF_PerpendicularEdge_2E(BF_ARG) ;
void BF_PerpendicularEdge_2F(BF_ARG) ;
void BF_PerpendicularEdge_2V(BF_ARG) ;
void BF_PerpendicularEdge_3E(BF_ARG) ;
void BF_PerpendicularEdge_3F(BF_ARG) ;
void BF_PerpendicularEdge_3V(BF_ARG) ;
void BF_CurlPerpendicularEdge(BF_ARG) ;
void BF_CurlPerpendicularEdge_2E(BF_ARG) ;
void BF_CurlPerpendicularEdge_2F(BF_ARG) ;
void BF_CurlPerpendicularEdge_2V(BF_ARG) ;
void BF_CurlPerpendicularEdge_3E(BF_ARG) ;
void BF_CurlPerpendicularEdge_3F(BF_ARG) ;
void BF_CurlPerpendicularEdge_3V(BF_ARG) ;
void BF_GroupOfPerpendicularEdges(BF_ARG) ;
void BF_GroupOfPerpendicularEdges_2E(BF_ARG) ;
void BF_GroupOfPerpendicularEdges_2F(BF_ARG) ;
void BF_GroupOfPerpendicularEdges_2V(BF_ARG) ;
void BF_GroupOfPerpendicularEdges_3E(BF_ARG) ;
void BF_GroupOfPerpendicularEdges_3F(BF_ARG) ;
void BF_GroupOfPerpendicularEdges_3V(BF_ARG) ;
void BF_CurlGroupOfPerpendicularEdges(BF_ARG) ;
void BF_CurlGroupOfPerpendicularEdges_2E(BF_ARG) ;
void BF_CurlGroupOfPerpendicularEdges_2F(BF_ARG) ;
void BF_CurlGroupOfPerpendicularEdges_2V(BF_ARG) ;
void BF_CurlGroupOfPerpendicularEdges_3E(BF_ARG) ;
void BF_CurlGroupOfPerpendicularEdges_3F(BF_ARG) ;
void BF_CurlGroupOfPerpendicularEdges_3V(BF_ARG) ;
/* H(div) basis Functions and their divergences */
void BF_Facet(BF_ARG) ;
void BF_DivFacet(BF_ARG) ;
/* H(div, perp) basis Functions and their divergences */
void BF_PerpendicularFacet(BF_ARG) ;
void BF_PerpendicularFacet_2E(BF_ARG) ;
void BF_PerpendicularFacet_2F(BF_ARG) ;
void BF_PerpendicularFacet_2V(BF_ARG) ;
void BF_PerpendicularFacet_3E(BF_ARG) ;
void BF_PerpendicularFacet_3F_a(BF_ARG) ;
void BF_PerpendicularFacet_3F_b(BF_ARG) ;
void BF_PerpendicularFacet_3F_c(BF_ARG) ;
void BF_PerpendicularFacet_3V(BF_ARG) ;
void BF_PerpendicularFacet_4E(BF_ARG) ;
void BF_PerpendicularFacet_4F(BF_ARG) ;
void BF_PerpendicularFacet_4V(BF_ARG) ;
void BF_DivPerpendicularFacet(BF_ARG) ;
void BF_DivPerpendicularFacet_2E(BF_ARG) ;
void BF_DivPerpendicularFacet_2F(BF_ARG) ;
void BF_DivPerpendicularFacet_2V(BF_ARG) ;
void BF_DivPerpendicularFacet_3E(BF_ARG) ;
void BF_DivPerpendicularFacet_3F_a(BF_ARG) ;
void BF_DivPerpendicularFacet_3F_b(BF_ARG) ;
void BF_DivPerpendicularFacet_3F_c(BF_ARG) ;
void BF_DivPerpendicularFacet_3V(BF_ARG) ;
void BF_DivPerpendicularFacet_4E(BF_ARG) ;
void BF_DivPerpendicularFacet_4F(BF_ARG) ;
void BF_DivPerpendicularFacet_4V(BF_ARG) ;
/* L^2 basis Functions */
void BF_Volume(BF_ARG) ;
void BF_VolumeX(BF_ARG) ;
void BF_VolumeY(BF_ARG) ;
void BF_VolumeZ(BF_ARG) ;
/* (H^1)^3 Basis Functions */
void BF_NodeX(BF_ARG) ;
void BF_NodeY(BF_ARG) ;
void BF_NodeZ(BF_ARG) ;
void BF_NodeX_2E(BF_ARG) ;
void BF_NodeY_2E(BF_ARG) ;
void BF_NodeZ_2E(BF_ARG) ;
void BF_NodeX_2F(BF_ARG) ;
void BF_NodeY_2F(BF_ARG) ;
void BF_NodeZ_2F(BF_ARG) ;
void BF_NodeX_2V(BF_ARG) ;
void BF_NodeY_2V(BF_ARG) ;
void BF_NodeZ_2V(BF_ARG) ;
void BF_NodeX_3E(BF_ARG) ;
void BF_NodeY_3E(BF_ARG) ;
void BF_NodeZ_3E(BF_ARG) ;
void BF_NodeX_3F(BF_ARG) ;
void BF_NodeY_3F(BF_ARG) ;
void BF_NodeZ_3F(BF_ARG) ;
void BF_NodeX_3V(BF_ARG) ;
void BF_NodeY_3V(BF_ARG) ;
void BF_NodeZ_3V(BF_ARG) ;
void BF_NodeX_D1(BF_ARG) ;
void BF_NodeY_D1(BF_ARG) ;
void BF_NodeZ_D1(BF_ARG) ;
void BF_NodeX_D1_2E(BF_ARG) ;
void BF_NodeY_D1_2E(BF_ARG) ;
void BF_NodeZ_D1_2E(BF_ARG) ;
void BF_NodeX_D1_2F(BF_ARG) ;
void BF_NodeY_D1_2F(BF_ARG) ;
void BF_NodeZ_D1_2F(BF_ARG) ;
void BF_NodeX_D1_2V(BF_ARG) ;
void BF_NodeY_D1_2V(BF_ARG) ;
void BF_NodeZ_D1_2V(BF_ARG) ;
void BF_NodeX_D1_3E(BF_ARG) ;
void BF_NodeY_D1_3E(BF_ARG) ;
void BF_NodeZ_D1_3E(BF_ARG) ;
void BF_NodeX_D1_3F(BF_ARG) ;
void BF_NodeY_D1_3F(BF_ARG) ;
void BF_NodeZ_D1_3F(BF_ARG) ;
void BF_NodeX_D1_3V(BF_ARG) ;
void BF_NodeY_D1_3V(BF_ARG) ;
void BF_NodeZ_D1_3V(BF_ARG) ;
void BF_NodeX_D2(BF_ARG) ;
void BF_NodeY_D2(BF_ARG) ;
void BF_NodeZ_D2(BF_ARG) ;
void BF_NodeX_D2_2E(BF_ARG) ;
void BF_NodeY_D2_2E(BF_ARG) ;
void BF_NodeZ_D2_2E(BF_ARG) ;
void BF_NodeX_D2_2F(BF_ARG) ;
void BF_NodeY_D2_2F(BF_ARG) ;
void BF_NodeZ_D2_2F(BF_ARG) ;
void BF_NodeX_D2_2V(BF_ARG) ;
void BF_NodeY_D2_2V(BF_ARG) ;
void BF_NodeZ_D2_2V(BF_ARG) ;
void BF_NodeX_D2_3E(BF_ARG) ;
void BF_NodeY_D2_3E(BF_ARG) ;
void BF_NodeZ_D2_3E(BF_ARG) ;
void BF_NodeX_D2_3F(BF_ARG) ;
void BF_NodeY_D2_3F(BF_ARG) ;
void BF_NodeZ_D2_3F(BF_ARG) ;
void BF_NodeX_D2_3V(BF_ARG) ;
void BF_NodeY_D2_3V(BF_ARG) ;
void BF_NodeZ_D2_3V(BF_ARG) ;
void BF_NodeX_D12(BF_ARG) ;
void BF_NodeY_D12(BF_ARG) ;
void BF_NodeZ_D12(BF_ARG) ;
void BF_NodeX_D12_2E(BF_ARG) ;
void BF_NodeY_D12_2E(BF_ARG) ;
void BF_NodeZ_D12_2E(BF_ARG) ;
void BF_GroupOfNodesX(BF_ARG) ;
void BF_GroupOfNodesY(BF_ARG) ;
void BF_GroupOfNodesZ(BF_ARG) ;
void BF_GroupOfNodesX_D1(BF_ARG) ;
void BF_GroupOfNodesY_D1(BF_ARG) ;
void BF_GroupOfNodesZ_D1(BF_ARG) ;
void BF_GroupOfNodesX_D2(BF_ARG) ;
void BF_GroupOfNodesY_D2(BF_ARG) ;
void BF_GroupOfNodesZ_D2(BF_ARG) ;
void BF_GroupOfNodesX_D12(BF_ARG) ;
void BF_GroupOfNodesY_D12(BF_ARG) ;
void BF_GroupOfNodesZ_D12(BF_ARG) ;
/* Special basis Functions */
void BF_Zero(BF_ARG) ;
void BF_One(BF_ARG) ;
void BF_Region(BF_ARG) ;
void BF_RegionX(BF_ARG) ;
void BF_RegionY(BF_ARG) ;
void BF_RegionZ(BF_ARG) ;
void BF_dRegion(BF_ARG) ;
void BF_dRegionX(BF_ARG) ;
void BF_dRegionY(BF_ARG) ;
void BF_dRegionZ(BF_ARG) ;
void BF_Global(BF_ARG) ;
void BF_dGlobal(BF_ARG) ;
void BF_Wire(BF_ARG) ;
void BF_DivWire(BF_ARG) ;
#undef BF_ARG
#endif
syntax highlighted by Code2HTML, v. 0.9.1