escript Revision_
Quadrature.h
Go to the documentation of this file.
1
2/*****************************************************************************
3*
4* Copyright (c) 2003-2020 by The University of Queensland
5* http://www.uq.edu.au
6*
7* Primary Business: Queensland, Australia
8* Licensed under the Apache License, version 2.0
9* http://www.apache.org/licenses/LICENSE-2.0
10*
11* Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12* Development 2012-2013 by School of Earth Sciences
13* Development from 2014-2017 by Centre for Geoscience Computing (GeoComp)
14* Development from 2019 by School of Earth and Environmental Sciences
15**
16*****************************************************************************/
17
18
19/****************************************************************************
20
21 Finley: integration schemes for element shapes Tri, Quad, Hex, Tet, Line,
22 Point
23
24*****************************************************************************/
25
26#ifndef __FINLEY_QUADRATURE_H__
27#define __FINLEY_QUADRATURE_H__
28
29#include "Finley.h"
30
31#define MAX_numQuadNodesLine 10
32
33namespace finley {
34
44
45typedef void (Quad_getNodes) (int, std::vector<double>&, std::vector<double>&);
46typedef int (Quad_getNumNodes) (int);
47typedef int (Quad_getMacro) (int numSubElements, int numQuadNodes,
48 const double* quadNodes,
49 const double* quadWeights,
50 int numF, const double* dFdv,
51 int new_len, double* new_quadNodes,
52 double* new_quadWeights, double* new_dFfv);
53
71
72
73/****** Interfaces ******/
74
81
97
104
105void Quad_makeNodesOnFace(int, int, double*, double*, Quad_getNodes);
107
108} // namespace finley
109
110#endif // __FINLEY_QUADRATURE_H__
111
A suite of factory methods for creating various finley domains.
Definition finley/src/Assemble.h:32
Quad_getNumNodes Quad_getNumNodesHex
Definition Quadrature.h:103
Quad_getNodes Quad_getNodesTet
Definition Quadrature.h:83
Quad_getMacro Quad_MacroPoint
Definition Quadrature.h:75
Quad_getNodes Quad_getNodesLineOnFace
Definition Quadrature.h:90
Quad_getNodes Quad_getNodesPointOnFace
Definition Quadrature.h:91
Quad_getNodes Quad_getNodesRec
Definition Quadrature.h:84
Quad_getMacro Quad_MacroTet
Definition Quadrature.h:79
Quad_getNumNodes Quad_getNumNodesLine
Definition Quadrature.h:99
Quad_getNumNodes Quad_getNumNodesTet
Definition Quadrature.h:102
const QuadInfo * QuadInfo_getInfo(QuadTypeId id)
Definition Quadrature.cpp:44
Quad_getNodes Quad_getNodesTri
Definition Quadrature.h:82
Quad_getMacro Quad_MacroTri
Definition Quadrature.h:77
int Quad_getNumNodes(int)
Definition Quadrature.h:46
Quad_getNodes Quad_getNodesTriMacro
Definition Quadrature.h:92
Quad_getNumNodes Quad_getNumNodesTri
Definition Quadrature.h:100
Quad_getNodes Quad_getNodesHexMacro
Definition Quadrature.h:95
Quad_getNodes Quad_getNodesPoint
Definition Quadrature.h:87
Quad_getNodes Quad_getNodesTriOnFace
Definition Quadrature.h:88
Quad_getNodes Quad_getNodesHex
Definition Quadrature.h:85
Quad_getNumNodes Quad_getNumNodesPoint
Definition Quadrature.h:98
int Quad_getMacro(int numSubElements, int numQuadNodes, const double *quadNodes, const double *quadWeights, int numF, const double *dFdv, int new_len, double *new_quadNodes, double *new_quadWeights, double *new_dFfv)
Definition Quadrature.h:47
Quad_getNodes Quad_getNodesLine
Definition Quadrature.h:86
void Quad_getNodes(int, std::vector< double > &, std::vector< double > &)
Definition Quadrature.h:45
Quad_getMacro Quad_MacroLine
Definition Quadrature.h:76
Quad_getMacro Quad_MacroHex
Definition Quadrature.h:80
QuadTypeId
Definition Quadrature.h:35
@ RecQuad
Definition Quadrature.h:39
@ NoQuad
Definition Quadrature.h:42
@ TriQuad
Definition Quadrature.h:38
@ PointQuad
Definition Quadrature.h:36
@ LineQuad
Definition Quadrature.h:37
@ TetQuad
Definition Quadrature.h:40
@ HexQuad
Definition Quadrature.h:41
Quad_getNodes Quad_getNodesRecMacro
Definition Quadrature.h:94
Quad_getNodes Quad_getNodesLineMacro
Definition Quadrature.h:96
Quad_getNodes Quad_getNodesTetMacro
Definition Quadrature.h:93
Quad_getNumNodes Quad_getNumNodesRec
Definition Quadrature.h:101
void Quad_makeNodesOnFace(int, int, double *, double *, Quad_getNodes)
Quad_getNodes Quad_getNodesRecOnFace
Definition Quadrature.h:89
Quad_getMacro Quad_MacroRec
Definition Quadrature.h:78
Definition Quadrature.h:54
Quad_getNumNodes * getNumQuadNodes
Definition Quadrature.h:67
int numDim
number of spatial dimensions
Definition Quadrature.h:60
Quad_getNodes * getQuadNodes
function that returns the quadrature points for a given order
Definition Quadrature.h:64
int numVertices
number of vertices of the element
Definition Quadrature.h:62
Quad_getMacro * getMacro
transfers a given quadrature scheme to a macro element structure
Definition Quadrature.h:69
QuadTypeId TypeId
quadrature type id
Definition Quadrature.h:56
const char * Name
the name in text form e.g. "Line", "Rec", ...
Definition Quadrature.h:58