Peano
Loading...
Searching...
No Matches
Projection.h
Go to the documentation of this file.
1// This file is part of the Peano project. For conditions of distribution and
2// use, please see the copyright notice at www.peano-framework.org
3#pragma once
4
6
7
8namespace toolbox {
9 namespace blockstructured {
30 int numberOfVolumesPerAxisInPatch,
31 int haloSize,
32 int unknowns,
33 int auxiliaryVariables,
34 const double* __restrict__ Q,
35 double* __restrict__ leftFace,
36 double* __restrict__ bottomFace,
37 double* __restrict__ rightFace,
38 double* __restrict__ topFace
39 );
40
42 int numberOfVolumesPerAxisInPatch,
43 int haloSize,
44 int unknowns,
45 int auxiliaryVariables,
46 const double* __restrict__ Q,
47 double* __restrict__ leftFace,
48 double* __restrict__ bottomFace,
49 double* __restrict__ frontFace,
50 double* __restrict__ rightFace,
51 double* __restrict__ topFace,
52 double* __restrict__ backFace
53 );
54
56 int numberOfVolumesPerAxisInPatch,
57 int haloSize,
58 int unknowns,
59 int auxiliaryVariables,
60 const double* __restrict__ Q,
61 double* faces[2*Dimensions]
62 );
63
101 int numberOfVolumesPerAxisInPatch,
102 int haloSize,
103 int unknowns,
104 int auxiliaryVariables,
105 const double* __restrict__ Q,
106 double* __restrict__ leftFace,
107 double* __restrict__ bottomFace,
108 double* __restrict__ rightFace,
109 double* __restrict__ topFace
110 );
111
113 int numberOfVolumesPerAxisInPatch,
114 int haloSize,
115 int unknowns,
116 int auxiliaryVariables,
117 const double* __restrict__ Q,
118 double* __restrict__ leftFace,
119 double* __restrict__ bottomFace,
120 double* __restrict__ frontFace,
121 double* __restrict__ rightFace,
122 double* __restrict__ topFace,
123 double* __restrict__ backFace
124 );
125
127 int numberOfVolumesPerAxisInPatch,
128 int haloSize,
129 int unknowns,
130 int auxiliaryVariables,
131 const double* __restrict__ Q,
132 double* faces[2*Dimensions]
133 );
134
136 int numberOfVolumesPerAxisInPatch,
137 int haloSize,
138 int unknowns,
139 int auxiliaryVariables,
140 const double* __restrict__ Q,
141 double* __restrict__ leftFace,
142 double* __restrict__ bottomFace,
143 double* __restrict__ rightFace,
144 double* __restrict__ topFace
145 );
146
148 int numberOfVolumesPerAxisInPatch,
149 int haloSize,
150 int unknowns,
151 int auxiliaryVariables,
152 const double* __restrict__ Q,
153 double* __restrict__ leftFace,
154 double* __restrict__ bottomFace,
155 double* __restrict__ frontFace,
156 double* __restrict__ rightFace,
157 double* __restrict__ topFace,
158 double* __restrict__ backFace
159 );
160
162 int numberOfVolumesPerAxisInPatch,
163 int haloSize,
164 int unknowns,
165 int auxiliaryVariables,
166 const double* __restrict__ Q,
167 double* faces[2*Dimensions]
168 );
169 }
170}
171
172
void extrapolatePatchSolutionAndProjectExtrapolatedHaloOntoFaces(int numberOfVolumesPerAxisInPatch, int haloSize, int unknowns, int auxiliaryVariables, const double *__restrict__ Q, double *__restrict__ leftFace, double *__restrict__ bottomFace, double *__restrict__ rightFace, double *__restrict__ topFace)
void projectPatchHaloOntoFaces(int numberOfVolumesPerAxisInPatch, int haloSize, int unknowns, int auxiliaryVariables, const double *__restrict__ Q, double *__restrict__ leftFace, double *__restrict__ bottomFace, double *__restrict__ rightFace, double *__restrict__ topFace)
Take elements from the halo and project them onto the face.
void projectPatchSolutionOntoFaces(int numberOfVolumesPerAxisInPatch, int haloSize, int unknowns, int auxiliaryVariables, const double *__restrict__ Q, double *__restrict__ leftFace, double *__restrict__ bottomFace, double *__restrict__ rightFace, double *__restrict__ topFace)
Project data from patch onto adjacent faces.