proteus 1.9.0
C/C++/Fortran libraries
Loading...
Searching...
No Matches
timeIntegration.h
Go to the documentation of this file.
1#ifndef VTIMEINTEGRATION_H
2#define VTIMEINTEGRATION_H
7
8/*Pseudo-Transient Continuation TTE formula choice for dt*/
9extern
10void psiTCtteDT(int nPoints,
11 double tau,
12 double dtn,
13 double dtnm1,
14 double * yn,
15 double * ypn,
16 double * ypnm1,
17 double * dtnp1);
18
19
20/*************************************************************************
21 DG limiting schemes
22 *************************************************************************/
23extern
24void applyDGlimitingP1Lagrange1d(int limiterFlag,
25 int nElements_global,
26 int nNodes_element,
27 int nElementBoundaries_element,
28 int nDOF_element,
29 int * elementNodesArray,
30 int * elementNeighborsArray,
31 double * nodeArray,
32 double * elementBarycentersArray,
33 int * l2g,
34 int * tag,
35 double * Uin,
36 double * Uout);
37
38extern
39void applyDGlimitingP1Lagrange1d_withVacuumTol(int enforcePositivity,
40 double vacuumTol,
41 int nElements_global,
42 int nNodes_element,
43 int nElementBoundaries_element,
44 int nDOF_element,
45 int * elementNodesArray,
46 int * elementNeighborsArray,
47 double * nodeArray,
48 double * elementBarycentersArray,
49 int * l2g,
50 int * tag,
51 double * Uin,
52 double * Uout);
53extern
54void computeElementNeighborShapeGradients(int nElements_global,
55 int nElementBoundaries_element,
56 int nSpace,
57 const int * elementBoundariesArray,
58 const int * elementNeighborsArray,
59 double * elementBarycentersArray,
60 double * elementBoundaryBarycentersArray,
61 double * elementNeighborShapeGradients);
62extern
63void computeCockburnDGlimiterArrays2d(int nElements_global,
64 int nElementBoundaries_element,
65 int nSpace,
66 const int * elementBoundariesArray,
67 const int * elementNeighborsArray,
68 const double * elementBarycentersArray,
69 const double * elementBoundaryBarycentersArray,
70 const double * elementNeighborShapeGradients,
71 double * alphas,
72 int * alphaNeighbors);
73extern
75 double Mh2,
76 int nElements_global,
77 int nElementBoundaries_element,
78 int nSpace,
79 int nDOF_element,
80 int * elementNeighborsArray,
81 int * l2g,
82 int * tag,
83 double * alphas,
84 int * alphaNeighbors,
85 double * Uin,
86 double * Uout);
87extern
88void applyDurlofskyDGlimiterP1Lagrange2d(int killExtrema,
89 int allowMinWithUndershoot,
90 int nElements_global,
91 int nElementBoundaries_element,
92 int nNodes_element,
93 int nSpace,
94 int nDOF_element,
95 const int * elementNeighborsArray,
96 const int * elementBoundariesArray,
97 const int * elementNodesArray,
98 const double * nodeArray,
99 const double * elementBarycentersArray,
100 const double * elementBoundaryBarycentersArray,
101 const double * elementNeighborShapeGradients,
102 const int * l2g,
103 const double * grad_v0,
104 double * elementAverages,
105 int * tag,
106 double * Uin,
107 double * Uout);
108
109extern
110void applyDurlofskyDGlimiterP1Lagrange3d(int killExtrema,
111 int allowMinWithUndershoot,
112 int nElements_global,
113 int nElementBoundaries_element,
114 int nNodes_element,
115 int nSpace,
116 int nDOF_element,
117 const int * elementNeighborsArray,
118 const int * elementBoundariesArray,
119 const int * elementNodesArray,
120 const double * nodeArray,
121 const double * elementBarycentersArray,
122 const double * elementBoundaryBarycentersArray,
123 const double * elementNeighborShapeGradients,
124 const int * l2g,
125 const double * grad_v0,
126 double * elementAverages,
127 int * tag,
128 double * Uin,
129 double * Uout);
130extern
132 int allowMinWithUndershoot,
133 int enforcePositivity,
134 double vacuumTol,
135 int nElements_global,
136 int nElementBoundaries_element,
137 int nNodes_element,
138 int nSpace,
139 int nDOF_element,
140 const int * elementNeighborsArray,
141 const int * elementBoundariesArray,
142 const int * elementNodesArray,
143 const double * nodeArray,
144 const double * elementBarycentersArray,
145 const double * elementBoundaryBarycentersArray,
146 const double * elementNeighborShapeGradients,
147 const int * l2g,
148 const double * grad_v0,
149 double * elementAverages,
150 int * tag,
151 double * Uin,
152 double * Uout);
153
154#endif
void computeCockburnDGlimiterArrays2d(int nElements_global, int nElementBoundaries_element, int nSpace, const int *elementBoundariesArray, const int *elementNeighborsArray, const double *elementBarycentersArray, const double *elementBoundaryBarycentersArray, const double *elementNeighborShapeGradients, double *alphas, int *alphaNeighbors)
void applyDurlofskyDGlimiterP1Lagrange2d_withVacuumTol(int killExtrema, int allowMinWithUndershoot, int enforcePositivity, double vacuumTol, int nElements_global, int nElementBoundaries_element, int nNodes_element, int nSpace, int nDOF_element, const int *elementNeighborsArray, const int *elementBoundariesArray, const int *elementNodesArray, const double *nodeArray, const double *elementBarycentersArray, const double *elementBoundaryBarycentersArray, const double *elementNeighborShapeGradients, const int *l2g, const double *grad_v0, double *elementAverages, int *tag, double *Uin, double *Uout)
void applyDurlofskyDGlimiterP1Lagrange3d(int killExtrema, int allowMinWithUndershoot, int nElements_global, int nElementBoundaries_element, int nNodes_element, int nSpace, int nDOF_element, const int *elementNeighborsArray, const int *elementBoundariesArray, const int *elementNodesArray, const double *nodeArray, const double *elementBarycentersArray, const double *elementBoundaryBarycentersArray, const double *elementNeighborShapeGradients, const int *l2g, const double *grad_v0, double *elementAverages, int *tag, double *Uin, double *Uout)
void applyDGlimitingP1Lagrange1d_withVacuumTol(int enforcePositivity, double vacuumTol, int nElements_global, int nNodes_element, int nElementBoundaries_element, int nDOF_element, int *elementNodesArray, int *elementNeighborsArray, double *nodeArray, double *elementBarycentersArray, int *l2g, int *tag, double *Uin, double *Uout)
void psiTCtteDT(int nPoints, double tau, double dtn, double dtnm1, double *yn, double *ypn, double *ypnm1, double *dtnp1)
void applyDurlofskyDGlimiterP1Lagrange2d(int killExtrema, int allowMinWithUndershoot, int nElements_global, int nElementBoundaries_element, int nNodes_element, int nSpace, int nDOF_element, const int *elementNeighborsArray, const int *elementBoundariesArray, const int *elementNodesArray, const double *nodeArray, const double *elementBarycentersArray, const double *elementBoundaryBarycentersArray, const double *elementNeighborShapeGradients, const int *l2g, const double *grad_v0, double *elementAverages, int *tag, double *Uin, double *Uout)
void applyCockburnDGlimiterP1Lagrange2d(double nu, double Mh2, int nElements_global, int nElementBoundaries_element, int nSpace, int nDOF_element, int *elementNeighborsArray, int *l2g, int *tag, double *alphas, int *alphaNeighbors, double *Uin, double *Uout)
void applyDGlimitingP1Lagrange1d(int limiterFlag, int nElements_global, int nNodes_element, int nElementBoundaries_element, int nDOF_element, int *elementNodesArray, int *elementNeighborsArray, double *nodeArray, double *elementBarycentersArray, int *l2g, int *tag, double *Uin, double *Uout)
void computeElementNeighborShapeGradients(int nElements_global, int nElementBoundaries_element, int nSpace, const int *elementBoundariesArray, const int *elementNeighborsArray, double *elementBarycentersArray, double *elementBoundaryBarycentersArray, double *elementNeighborShapeGradients)