Functions/Subroutines | |
subroutine | applyoperator (numDim, dimSizes, numComponents, numPoints, opDir, opInterval, numStencils, stencilSizes, stencilStarts, numValues, stencilWeights, stencilOffsets, stencilID, U, dU) |
applyoperator applies an operator specified as a stencil set to the provided state data More... | |
subroutine | applyoperatorv (numDim, dimSizes, numComponents, numPoints, opDir, opInterval, numStencils, stencilSizes, stencilStarts, numValues, stencilWeights, stencilOffsets, stencilID, U, dU) |
applyoperator applies an operator specified as a stencil set to the provided state data More... | |
subroutine | applyoperatorblobs (numDim, dimSizes, numComponents, numPointsBuffer, opDir, numStencils, stencilSizes, stencilStarts, numStencilValues, stencilWeights, stencilOffsets, numPointsStencil, numPointsApply, stencilPoints, U, dU) |
applyoperatorblobs applies an operator by applying each stencil in turn to all the points to which it applies More... | |
subroutine | applysinglestencil (numDim, dimSizes, numComponents, numPointsBuffer, opDir, numPointsApply, applyPoints, stencilSize, stencilWeights, stencilOffsets, U, dU) |
applysinglestencil applies an operator by applying a given stencil to the specified points More... | |
subroutine | yaxpy (numDim, numPoints, bufferSize, bufferInterval, a, X, Y) |
YAXPY point-wise operator performing Y = aX + Y (scalar a) More... | |
subroutine | zaxpy (numDim, numPoints, bufferSize, bufferInterval, a, X, Y, Z) |
ZAXPY point-wise operator performing Z = aX + Y (scalar a) More... | |
subroutine | zaxpby (numDim, numPoints, bufferSize, bufferInterval, a, b, X, Y, Z) |
ZAXPBY point-wise operator performing Z = aX + bY (scalar a,b) More... | |
subroutine | yaxpby (numDim, numPoints, bufferSize, bufferInterval, a, b, X, Y) |
YAXPBY point-wise operator performing Y = aX + bY (scalar a,b) More... | |
subroutine | yax (numDim, numPoints, bufferSize, bufferInterval, a, X, Y) |
YAX point-wise operator performing Y = aX (scalar a) More... | |
subroutine | zxy (numDim, numPoints, bufferSize, bufferInterval, X, Y, Z) |
ZXY point-wise operator performing Z = XY (all vectors) More... | |
subroutine | yxy (numDim, numPoints, bufferSize, bufferInterval, X, Y) |
YXY point-wise operator performing Y = XY (all vectors) More... | |
subroutine | zwxpy (numDim, numPoints, bufferSize, bufferInterval, W, X, Y, Z) |
ZWXPY point-wise operator performing Z = WX + Y, where all are vectors. More... | |
subroutine | ywxpy (numDim, numPoints, bufferSize, bufferInterval, W, X, Y) |
YWXPY point-wise operator performing Y = WX + Y, where all are vectors. More... | |
subroutine | zawpxy (numDim, numPoints, bufferSize, bufferInterval, a, W, X, Y, Z) |
ZAWPXY point-wise operator performing Z = aW + XY. More... | |
subroutine | zvwpxy (numDim, numPoints, bufferSize, bufferInterval, V, W, X, Y, Z) |
ZVWPXY point-wise operator performing Z = VW + XY. More... | |
subroutine | zwmxpy (numDim, numPoints, bufferSize, bufferInterval, W, X, Y, Z) |
ZWMXPY point-wise operator performing Z = W(X+Y) where all are vectors. More... | |
subroutine | zxdoty (numDim, numPoints, bufferSize, bufferInterval, numComponents, X, Y, Z) |
ZXDOTY numComponents-vector inner product Z = X * Y. More... | |
subroutine | xax (numDim, numPoints, bufferSize, bufferInterval, a, X) |
XAX point-wise operator performing X = aX (scalar a) More... | |
subroutine | assignmentyx (numDim, numPoints, bufferSize, bufferInterval, X, Y) |
ASSIGNMENTYX point-wise operator performing Y = X. More... | |
subroutine | assignmentxa (numDim, numPoints, bufferSize, bufferInterval, a, X) |
ASSIGNMENTXA point-wise operator performing X = scalar a. More... | |
subroutine | assignmentyabsx (numDim, numPoints, bufferSize, bufferInterval, X, Y) |
ASSIGNMENTYABSX point-wise operator performing X = scalar a. More... | |
subroutine | veclen (numDim, numPoints, bufferSize, bufferInterval, numComp, V, lenV) |
VECLEN point-wise operator returning the length of a numComp-dimensional vector. More... | |
subroutine | yaxm1 (numDim, numPoints, bufferSize, bufferInterval, a, X, Y) |
YAXM1 point-wise operator performing Y = a/X (scalar a) More... | |
subroutine | determinant3x3 (numPoints, bufferSize, bufferInterval, inMatrix, matrixDeterminant) |
Computes determinant of 3x3 matrix. More... | |
subroutine | determinant2x2 (numPoints, bufferSize, bufferInterval, inMatrix, matrixDeterminant) |
Computes determinant of 2x2 matrix. More... | |
subroutine | metricsum4 (numDim, numPoints, bufferSize, bufferInterval, buf1, buf2, buf3, buf4, buf5, buf6, buf7, metricSum) |
Computes buf1*buf4 - buf2*buf3 + buf7*(buf5 - buf6) More... | |
subroutine | applyoperator (numDim, dimSizes, numComponents, numPoints, opDir, opInterval, numStencils, stencilSizes, stencilStarts, numValues, stencilWeights, stencilOffsets, stencilID, U, dU) |
applyoperator applies an operator specified as a stencil set to the provided state data More... | |
template<typename StateType > | |
StateType | operator* (double inScalar, StateType &inState) |
template<typename StateType > | |
void | AXPY (double a, StateType &X, StateType &Y) |
template<typename StateType > | |
void | Zero (StateType &X) |
template<typename StateType > | |
void | Assign (StateType &X, StateType &Y) |
template<typename StateType > | |
StateType | Sum (StateType &X, StateType &Y) |
template<typename StateType > | |
StateType | Difference (StateType &X, StateType &Y) |
subroutine operators::applyoperator | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), dimension(numdim), intent(in) | dimSizes, | ||
integer(kind=4), intent(in) | numComponents, | ||
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=4), intent(in) | opDir, | ||
integer(kind=8), dimension(2*numdim), intent(in) | opInterval, | ||
integer(kind=4), intent(in) | numStencils, | ||
integer(kind=4), dimension(numstencils), intent(in) | stencilSizes, | ||
integer(kind=4), dimension(numstencils), intent(in) | stencilStarts, | ||
integer(kind=4), intent(in) | numValues, | ||
real(kind=8), dimension(numvalues), intent(in) | stencilWeights, | ||
integer(kind=4), dimension(numvalues), intent(in) | stencilOffsets, | ||
integer(kind=4), dimension(numpoints), intent(in) | stencilID, | ||
real(kind=8), dimension(numpoints*numcomponents), intent(in), target | U, | ||
real(kind=8), dimension(numpoints*numcomponents), intent(out), target | dU | ||
) |
applyoperator applies an operator specified as a stencil set to the provided state data
applyoperator is a brute-force method of applying a set of stencils to a given data buffer. The The stencilset and operand are given as flat, primitive arrays, with supporting data to indicate the size of the data structures. An additional stencil connectivity is given which indicates which stencil (i.e. which stencil from the stencil set) to apply to each point. This brute-force method simply loops through all points, and applies the stencil indicated by the resolved stencil connectivity to each point.
[in] | numDim | indicates the number of dimensions for the input data (dimSizes,opInterval) |
[in] | dimSizes | indicates the number of points in each dimension [Nx Ny Nz] |
[in] | numComponents | indicates the number of components in the input/output data (U,dU) |
[in] | numPoints | indicates the total number of points Nx*Ny*Nz |
[in] | opDir | indicates in which direction the operator will be applied [X=1 | Y=2 | Z=3] |
[in] | opInterval | array of size (2*numDim) which indicates the index interval on which to operate [xStart,xEnd,yStart,yEnd...] |
[in] | numStencils | indicates the number of stencils in the input stencilset |
[in] | stencilSizes | array of size (numStencils) which indicates the number of weight values for each stencil |
[in] | stencilStarts | array of size (numStencils) which indicates the starting index into (stencilWeights and stencilOffsets) for each stencil |
[in] | numValues | total number of stencil weight values (numStencils[1]*numStencils[2]*...numStecils[numStencils]) (req'd for C/Fort interface) |
[in] | stencilWeights | array of size (numValues) which contains the weights for all the stencils in the stencilset |
[in] | stencilOffsets | array of size (numValues) which indicates the offsets from the considered point to the point where each weight is applied |
[in] | stencilID | array of size (numPoints) which indicates the stencil ID for each point |
[in] | U | the data on which to operate |
[out] | dU | where to stuff the result |
Definition at line 36 of file Operators.f90.
Referenced by rhs< GridT, StateT, OperatorT >::ApplyDissipationOperator(), rhs< GridT, StateT, OperatorT >::ApplyOperator(), plascom2::operators::sbp::BruteTest1(), Maxwell::ComputeCurl(), grid::computecurvilineargridmetrics(), parallel_blockstructured::ComputeCurvilinearMetrics2D(), parallel_blockstructured::ComputeMetricIdentities(), parallel_blockstructured::ComputeRectilinearMetrics(), parallel_blockstructured::CurvilinearMetrics(), parallel_blockstructured::GradIJK(), TestApplyOperatorAppl(), euler::uniformrhs(), and euler::uniformscalarrhs().
subroutine operators::applyoperator | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), dimension(numdim), intent(in) | dimSizes, | ||
integer(kind=4), intent(in) | numComponents, | ||
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=4), intent(in) | opDir, | ||
integer(kind=8), dimension(2*numdim), intent(in) | opInterval, | ||
integer(kind=4), intent(in) | numStencils, | ||
integer(kind=4), dimension(numstencils), intent(in) | stencilSizes, | ||
integer(kind=4), dimension(numstencils), intent(in) | stencilStarts, | ||
integer(kind=4), intent(in) | numValues, | ||
real(kind=8), dimension(numvalues), intent(in) | stencilWeights, | ||
integer(kind=4), dimension(numvalues), intent(in) | stencilOffsets, | ||
integer(kind=4), dimension(numpoints), intent(in) | stencilID, | ||
real(kind=8), dimension(numpoints), intent(in) | U, | ||
real(kind=8), dimension(numpoints), intent(out) | dU | ||
) |
applyoperator applies an operator specified as a stencil set to the provided state data
applyoperator is a brute-force method of applying a set of stencils to a given data buffer. The The stencilset and operand are given as flat, primitive arrays, with supporting data to indicate the size of the data structures. An additional stencil connectivity is given which indicates which stencil (i.e. which stencil from the stencil set) to apply to each point. This brute-force method simply loops through all points, and applies the stencil indicated by the resolved stencil connectivity to each point.
[in] | numDim | indicates the number of dimensions for the input data (dimSizes,opInterval) |
[in] | dimSizes | indicates the number of points in each dimension [Nx Ny Nz] |
[in] | numComponents | indicates the number of components in the input/output data (U,dU) |
[in] | numPoints | indicates the total number of points Nx*Ny*Nz |
[in] | opDir | indicates in which direction the operator will be applied [X=1 | Y=2 | Z=3] |
[in] | opInterval | array of size (2*numDim) which indicates the index interval on which to operate [xStart,xEnd,yStart,yEnd...] |
[in] | numStencils | indicates the number of stencils in the input stencilset |
[in] | stencilSizes | array of size (numStencils) which indicates the number of weight values for each stencil |
[in] | stencilStarts | array of size (numStencils) which indicates the starting index into (stencilWeights and stencilOffsets) for each stencil |
[in] | numValues | total number of stencil weight values (numStencils[1]*numStencils[2]*...numStecils[numStencils]) (req'd for C/Fort interface) |
[in] | stencilWeights | array of size (numValues) which contains the weights for all the stencils in the stencilset |
[in] | stencilOffsets | array of size (numValues) which indicates the offsets from the considered point to the point where each weight is applied |
[in] | stencilID | array of size (numPoints) which indicates the stencil ID for each point |
[in] | U | the data on which to operate |
[out] | dU | where to stuff the result |
Definition at line 36 of file ApplyOperator.f90.
References applysinglestencil().
subroutine applyoperatorblobs | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), dimension(numdim), intent(in) | dimSizes, | ||
integer(kind=4), intent(in) | numComponents, | ||
integer(kind=8), intent(in) | numPointsBuffer, | ||
integer(kind=4), intent(in) | opDir, | ||
integer(kind=4), intent(in) | numStencils, | ||
integer(kind=4), dimension(numstencils), intent(in) | stencilSizes, | ||
integer(kind=4), dimension(numstencils), intent(in) | stencilStarts, | ||
integer(kind=4), intent(in) | numStencilValues, | ||
real(kind=8), dimension(numstencilvalues), intent(in) | stencilWeights, | ||
integer(kind=4), dimension(numstencilvalues), intent(in) | stencilOffsets, | ||
integer(kind=8), dimension(numstencils), intent(in) | numPointsStencil, | ||
integer(kind=8), intent(in) | numPointsApply, | ||
integer(kind=8), dimension(numpointsapply), intent(in) | stencilPoints, | ||
real(kind=8), dimension(numpointsbuffer), intent(in) | U, | ||
real(kind=8), dimension(numpointsbuffer), intent(out) | dU | ||
) |
applyoperatorblobs applies an operator by applying each stencil in turn to all the points to which it applies
applyoperatorblobs is a blobbed method of applying a set of stencils to a given data buffer. The stencilset and operand are given as flat, primitive arrays, with supporting data to indicate the size of the data structures. An additional dual stencil connectivity is given which indicates which points to apply to a given stencil. This blobbed method loops through all the stencils, and applies each stencil to the set of pionts indicated by the resolved dual stencil connectivity for each stencil.
[in] | numDim | indicates the number of dimensions for the input data (dimSizes,opInterval) |
[in] | dimSizes | indicates the number of points in each dimension [Nx Ny Nz] |
[in] | numComponents | indicates the number of components in the input/output data (U,dU) |
[in] | numPointsBuffer | indicates the total number of points Nx*Ny*Nz |
[in] | opDir | indicates in which direction the operator will be applied [X=1 | Y=2 | Z=3] |
[in] | numStencils | indicates the number of stencils in the input stencilset |
[in] | stencilSizes | array of size (numStencils) which indicates the number of weight values for each stencil |
[in] | stencilStarts | array of size (numStencils) which indicates the starting index into (stencilWeights and stencilOffsets) for each stencil |
[in] | numStencilValues | total number of stencil weight values (numStencils[1]*numStencils[2]*...numStecils[numStencils]) (req'd for C/Fort interface) |
[in] | stencilWeights | array of size (numValues) which contains the weights for all the stencils in the stencilset |
[in] | stencilOffsets | array of size (numValues) which indicates the offsets from the considered point to the point where each weight is applied |
[in] | numPointsStencil | array of size (numStencils) which indicates how many points to apply each stencil |
[in] | numPointsApply | total number of points in the stencilPoints array (needed for C/Fortran interface) |
[in] | stencilPoints | array of size (numPointsStencil(1)*numPointsStencil(2)*...numPointsStencil(numStencils)) indicating the points to which each stencil applies |
[in] | U | the data on which to operate |
[out] | dU | where to stuff the result |
Definition at line 312 of file Operators.f90.
References applysinglestencil().
Referenced by TestApplyOperatorBlobs().
subroutine operators::applyoperatorv | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), dimension(numdim), intent(in) | dimSizes, | ||
integer(kind=4), intent(in) | numComponents, | ||
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=4), intent(in) | opDir, | ||
integer(kind=8), dimension(2*numdim), intent(in) | opInterval, | ||
integer(kind=4), intent(in) | numStencils, | ||
integer(kind=4), dimension(numstencils), intent(in) | stencilSizes, | ||
integer(kind=4), dimension(numstencils), intent(in) | stencilStarts, | ||
integer(kind=4), intent(in) | numValues, | ||
real(kind=8), dimension(numvalues), intent(in) | stencilWeights, | ||
integer(kind=4), dimension(numvalues), intent(in) | stencilOffsets, | ||
integer(kind=4), dimension(numpoints), intent(in) | stencilID, | ||
real(kind=8), dimension(numpoints*numcomponents), intent(in), target | U, | ||
real(kind=8), dimension(numpoints*numcomponents), intent(out), target | dU | ||
) |
applyoperator applies an operator specified as a stencil set to the provided state data
applyoperator is a brute-force method of applying a set of stencils to a given data buffer. The The stencilset and operand are given as flat, primitive arrays, with supporting data to indicate the size of the data structures. An additional stencil connectivity is given which indicates which stencil (i.e. which stencil from the stencil set) to apply to each point. This brute-force method simply loops through all points, and applies the stencil indicated by the resolved stencil connectivity to each point.
[in] | numDim | indicates the number of dimensions for the input data (dimSizes,opInterval) |
[in] | dimSizes | indicates the number of points in each dimension [Nx Ny Nz] |
[in] | numComponents | indicates the number of components in the input/output data (U,dU) |
[in] | numPoints | indicates the total number of points Nx*Ny*Nz |
[in] | opDir | indicates in which direction the operator will be applied [X=1 | Y=2 | Z=3] |
[in] | opInterval | array of size (2*numDim) which indicates the index interval on which to operate [xStart,xEnd,yStart,yEnd...] |
[in] | numStencils | indicates the number of stencils in the input stencilset |
[in] | stencilSizes | array of size (numStencils) which indicates the number of weight values for each stencil |
[in] | stencilStarts | array of size (numStencils) which indicates the starting index into (stencilWeights and stencilOffsets) for each stencil |
[in] | numValues | total number of stencil weight values (numStencils[1]*numStencils[2]*...numStecils[numStencils]) (req'd for C/Fort interface) |
[in] | stencilWeights | array of size (numValues) which contains the weights for all the stencils in the stencilset |
[in] | stencilOffsets | array of size (numValues) which indicates the offsets from the considered point to the point where each weight is applied |
[in] | stencilID | array of size (numPoints) which indicates the stencil ID for each point |
[in] | U | the data on which to operate |
[out] | dU | where to stuff the result |
Definition at line 174 of file Operators.f90.
subroutine applysinglestencil | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), dimension(numdim), intent(in) | dimSizes, | ||
integer(kind=4), intent(in) | numComponents, | ||
integer(kind=8), intent(in) | numPointsBuffer, | ||
integer(kind=4), intent(in) | opDir, | ||
integer(kind=8), intent(in) | numPointsApply, | ||
integer(kind=8), dimension(numpointsapply), intent(in) | applyPoints, | ||
integer(kind=4), intent(in) | stencilSize, | ||
real(kind=8), dimension(stencilsize), intent(in) | stencilWeights, | ||
integer(kind=4), dimension(stencilsize), intent(in) | stencilOffsets, | ||
real(kind=8), dimension(numpointsbuffer), intent(in) | U, | ||
real(kind=8), dimension(numpointsbuffer), intent(out) | dU | ||
) |
applysinglestencil applies an operator by applying a given stencil to the specified points
applysinglestencil is a single-stencil method which operates on the given points The stencil and operand are given as flat, primitive arrays, with supporting data to indicate the size of the data structures. An additional array of points is given which indicates the points on which to operate. This single-stencil method loops through all the specified points and applies the stencil to each.
[in] | numDim | indicates the number of dimensions for the input data (dimSizes,opInterval) |
[in] | dimSizes | indicates the number of points in each dimension [Nx Ny Nz] |
[in] | numComponents | indicates the number of components in the input/output data (U,dU) |
[in] | numPointsBuffer | indicates the total number of points Nx*Ny*Nz |
[in] | opDir | indicates in which direction the operator will be applied [X=1 | Y=2 | Z=3] |
[in] | numPointsApply | total number of points in the stencilPoints array (needed for C/Fortran interface) |
[in] | applyPoints | array of size (numPointsApply) indicating the points to which to apply the stencil |
[in] | stencilSize | number of stencil weights |
[in] | stencilWeights | array of size (stencilSize) which contains the weights for all the stencils in the stencilset |
[in] | stencilOffsets | array of size (stencilSize) which indicates the offsets from the considered point to the point where each weight is applied |
[in] | U | the data on which to operate |
[out] | dU | where to stuff the result |
Definition at line 382 of file Operators.f90.
Referenced by applyoperator(), applyoperatorblobs(), and TestApplyOperatorBlobs().
|
inline |
Definition at line 28 of file StateOperators.H.
References X.
Referenced by TestStateOperations().
subroutine operators::assignmentxa | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
real(kind=8), intent(in) | a, | ||
real(kind=8), dimension(numpoints), intent(inout) | X | ||
) |
ASSIGNMENTXA point-wise operator performing X = scalar a.
Definition at line 1222 of file Operators.f90.
Referenced by metricops::alphaweight(), grid::computecurvilineargridmetrics(), rhs< GridT, StateT, OperatorT >::ComputeVelDiv(), metricops::gradijktogradxyz(), rhs< GridT, StateT, OperatorT >::PrepareBuffers(), viscid::strongflux1d(), TestComputeRecipEpsMu(), TestConvertFields(), TestOperators(), and zxdoty().
subroutine operators::assignmentyabsx | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
real(kind=8), dimension(numpoints), intent(in) | X, | ||
real(kind=8), dimension(numpoints), intent(out) | Y | ||
) |
ASSIGNMENTYABSX point-wise operator performing X = scalar a.
Definition at line 1275 of file Operators.f90.
Referenced by metricops::alphaweight(), and TestOperators().
subroutine operators::assignmentyx | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
real(kind=8), dimension(numpoints), intent(in) | X, | ||
real(kind=8), dimension(numpoints), intent(inout) | Y | ||
) |
ASSIGNMENTYX point-wise operator performing Y = X.
Definition at line 1170 of file Operators.f90.
Referenced by rhs< GridT, StateT, OperatorT >::ArtificialDissipation(), grid::computecurvilineargridmetrics(), and TestOperators().
|
inline |
Definition at line 16 of file StateOperators.H.
References X.
Referenced by rk4advancer< DomainType >::AdvanceDomain(), and TestStateOperations().
subroutine operators::determinant2x2 | ( | integer(kind=8), intent(in) | numPoints, |
integer(kind=8), dimension(2), intent(in) | bufferSize, | ||
integer(kind=8), dimension(4), intent(in) | bufferInterval, | ||
real(kind=8), dimension(4*numpoints), intent(in) | inMatrix, | ||
real(kind=8), dimension(numpoints), intent(inout) | matrixDeterminant | ||
) |
Computes determinant of 2x2 matrix.
Definition at line 1501 of file Operators.f90.
Referenced by TestOperators().
subroutine operators::determinant3x3 | ( | integer(kind=8), intent(in) | numPoints, |
integer(kind=8), dimension(3), intent(in) | bufferSize, | ||
integer(kind=8), dimension(6), intent(in) | bufferInterval, | ||
real(kind=8), dimension(9*numpoints), intent(in) | inMatrix, | ||
real(kind=8), dimension(numpoints), intent(inout) | matrixDeterminant | ||
) |
Computes determinant of 3x3 matrix.
Definition at line 1449 of file Operators.f90.
Referenced by parallel_blockstructured::ComputeCurvilinearMetrics3D(), parallel_blockstructured::CurvilinearMetrics(), and TestOperators().
StateType operators::Difference | ( | StateType & | X, |
StateType & | Y | ||
) |
Definition at line 40 of file StateOperators.H.
Referenced by TestStateOperations().
subroutine operators::metricsum4 | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
real(kind=8), dimension(numpoints), intent(in) | buf1, | ||
real(kind=8), dimension(numpoints), intent(in) | buf2, | ||
real(kind=8), dimension(numpoints), intent(in) | buf3, | ||
real(kind=8), dimension(numpoints), intent(in) | buf4, | ||
real(kind=8), dimension(numpoints), intent(in) | buf5, | ||
real(kind=8), dimension(numpoints), intent(in) | buf6, | ||
real(kind=8), dimension(numpoints), intent(in) | buf7, | ||
real(kind=8), dimension(numpoints), intent(inout) | metricSum | ||
) |
Computes buf1*buf4 - buf2*buf3 + buf7*(buf5 - buf6)
Definition at line 1536 of file Operators.f90.
Referenced by parallel_blockstructured::ComputeCurvilinearMetrics3D(), and TestOperators().
|
inline |
Definition at line 7 of file StateOperators.H.
StateType operators::Sum | ( | StateType & | X, |
StateType & | Y | ||
) |
Definition at line 34 of file StateOperators.H.
Referenced by TestStateOperations().
subroutine operators::veclen | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
integer(kind=4), intent(in) | numComp, | ||
real(kind=8), dimension(numcomp*numpoints), intent(in) | V, | ||
real(kind=8), dimension(numpoints), intent(out) | lenV | ||
) |
VECLEN point-wise operator returning the length of a numComp-dimensional vector.
Definition at line 1328 of file Operators.f90.
Referenced by metricops::alphaweight(), and TestOperators().
subroutine operators::xax | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
real(kind=8), intent(in) | a, | ||
real(kind=8), dimension(numpoints), intent(inout) | X | ||
) |
XAX point-wise operator performing X = aX (scalar a)
Definition at line 1119 of file Operators.f90.
Referenced by parallel_blockstructured::ComputeCurvilinearMetrics2D(), Maxwell::ComputeMaxwellRHS_Bfield(), metricops::ijkgradtoxyzdiv(), and TestOperators().
subroutine operators::yax | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
real(kind=8), intent(in) | a, | ||
real(kind=8), dimension(numpoints), intent(in) | X, | ||
real(kind=8), dimension(numpoints), intent(out) | Y | ||
) |
YAX point-wise operator performing Y = aX (scalar a)
Definition at line 628 of file Operators.f90.
Referenced by metricops::gradijktogradxyz(), viscid::scalarflux1d(), viscid::strongflux1d(), TestOperators(), euler::uniformflux(), euler::uniformrhs(), metricops::vhatcomponent(), and viscid::viscidstronguniformflux().
subroutine operators::yaxm1 | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
real(kind=8), intent(in) | a, | ||
real(kind=8), dimension(numpoints), intent(inout) | X, | ||
real(kind=8), dimension(numpoints), intent(inout) | Y | ||
) |
YAXM1 point-wise operator performing Y = a/X (scalar a)
Definition at line 1396 of file Operators.f90.
Referenced by grid::computecurvilineargridmetrics(), parallel_blockstructured::ComputeCurvilinearMetrics2D(), parallel_blockstructured::ComputeCurvilinearMetrics3D(), Maxwell::ComputeRecipEpsMu(), parallel_blockstructured::ComputeRectilinearMetrics(), parallel_blockstructured::CurvilinearMetrics(), and TestOperators().
subroutine operators::yaxpby | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
real(kind=8), intent(in) | a, | ||
real(kind=8), intent(in) | b, | ||
real(kind=8), dimension(numpoints), intent(in) | X, | ||
real(kind=8), dimension(numpoints), intent(inout) | Y | ||
) |
YAXPBY point-wise operator performing Y = aX + bY (scalar a,b)
Definition at line 577 of file Operators.f90.
Referenced by TestOperators().
subroutine operators::yaxpy | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
real(kind=8), intent(in) | a, | ||
real(kind=8), dimension(numpoints), intent(in) | X, | ||
real(kind=8), dimension(numpoints), intent(inout) | Y | ||
) |
YAXPY point-wise operator performing Y = aX + Y (scalar a)
Definition at line 424 of file Operators.f90.
Referenced by metricops::ijkgradtoxyzdiv(), euler::uniformrhs(), and viscid::viscidstronguniformflux().
subroutine operators::ywxpy | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
real(kind=8), dimension(numpoints), intent(in) | W, | ||
real(kind=8), dimension(numpoints), intent(in) | X, | ||
real(kind=8), dimension(numpoints), intent(inout) | Y | ||
) |
YWXPY point-wise operator performing Y = WX + Y, where all are vectors.
Definition at line 835 of file Operators.f90.
Referenced by rhs< GridT, StateT, OperatorT >::ArtificialDissipation(), rhs< GridT, StateT, OperatorT >::ComputeViscidEnergyFlux(), metricops::gradijktogradxyz(), metricops::ijkgradtoxyzdiv(), viscid::strongflux1d(), TestOperators(), TestViscidKernels(), and TestViscidKernelsMetrics().
subroutine operators::yxy | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
real(kind=8), dimension(numpoints), intent(in) | X, | ||
real(kind=8), dimension(numpoints), intent(inout) | Y | ||
) |
YXY point-wise operator performing Y = XY (all vectors)
Definition at line 731 of file Operators.f90.
Referenced by rhs< GridT, StateT, OperatorT >::ComputeConcentrationGrad(), parallel_blockstructured::ComputeRectilinearMetrics(), metricops::gradijktogradxyz(), rhs< GridT, StateT, OperatorT >::GridScaleRHS(), metricops::ijkgradtoxyzdiv(), and TestOperators().
subroutine operators::zawpxy | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
real(kind=8), intent(in) | a, | ||
real(kind=8), dimension(numpoints), intent(in) | W, | ||
real(kind=8), dimension(numpoints), intent(in) | X, | ||
real(kind=8), dimension(numpoints), intent(in) | Y, | ||
real(kind=8), dimension(numpoints), intent(out) | Z | ||
) |
ZAWPXY point-wise operator performing Z = aW + XY.
Definition at line 887 of file Operators.f90.
Referenced by euler::flux1d(), and TestOperators().
subroutine operators::zaxpby | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
real(kind=8), intent(in) | a, | ||
real(kind=8), intent(in) | b, | ||
real(kind=8), dimension(numpoints), intent(in) | X, | ||
real(kind=8), dimension(numpoints), intent(in) | Y, | ||
real(kind=8), dimension(numpoints), intent(out) | Z | ||
) |
ZAXPBY point-wise operator performing Z = aX + bY (scalar a,b)
Definition at line 526 of file Operators.f90.
Referenced by TestOperators().
subroutine operators::zaxpy | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
real(kind=8), intent(in) | a, | ||
real(kind=8), dimension(numpoints), intent(in) | X, | ||
real(kind=8), dimension(numpoints), intent(in) | Y, | ||
real(kind=8), dimension(numpoints), intent(out) | Z | ||
) |
ZAXPY point-wise operator performing Z = aX + Y (scalar a)
Definition at line 475 of file Operators.f90.
|
inline |
Definition at line 22 of file StateOperators.H.
Referenced by FDSetMan::ListenForInput(), FDSetMan::ListenForOutput(), FDSetMan::Select(), and TestStateOperations().
subroutine operators::zvwpxy | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
real(kind=8), dimension(numpoints), intent(in) | V, | ||
real(kind=8), dimension(numpoints), intent(in) | W, | ||
real(kind=8), dimension(numpoints), intent(in) | X, | ||
real(kind=8), dimension(numpoints), intent(in) | Y, | ||
real(kind=8), dimension(numpoints), intent(out) | Z | ||
) |
ZVWPXY point-wise operator performing Z = VW + XY.
Definition at line 941 of file Operators.f90.
Referenced by euler::flux1d(), and TestOperators().
subroutine operators::zwmxpy | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
real(kind=8), dimension(numpoints), intent(in) | W, | ||
real(kind=8), dimension(numpoints), intent(in) | X, | ||
real(kind=8), dimension(numpoints), intent(in) | Y, | ||
real(kind=8), dimension(numpoints), intent(out) | Z | ||
) |
ZWMXPY point-wise operator performing Z = W(X+Y) where all are vectors.
Definition at line 997 of file Operators.f90.
Referenced by euler::flux1d(), TestOperators(), euler::uniformflux(), and euler::uniformrhs().
subroutine operators::zwxpy | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
real(kind=8), dimension(numpoints), intent(in) | W, | ||
real(kind=8), dimension(numpoints), intent(in) | X, | ||
real(kind=8), dimension(numpoints), intent(in) | Y, | ||
real(kind=8), dimension(numpoints), intent(out) | Z | ||
) |
ZWXPY point-wise operator performing Z = WX + Y, where all are vectors.
Definition at line 782 of file Operators.f90.
Referenced by TestOperators(), euler::uniformflux(), euler::uniformrhs(), and viscid::viscidstronguniformflux().
subroutine operators::zxdoty | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
integer(kind=4), intent(in) | numComponents, | ||
real(kind=8), dimension(numpoints*numcomponents), intent(in) | X, | ||
real(kind=8), dimension(numpoints*numcomponents), intent(in) | Y, | ||
real(kind=8), dimension(numpoints), intent(out) | Z | ||
) |
ZXDOTY numComponents-vector inner product Z = X * Y.
Definition at line 1050 of file Operators.f90.
References assignmentxa().
Referenced by viscid::scalarflux1d(), viscid::strongflux1d(), TestOperators(), and metricops::vhatcomponent().
subroutine operators::zxy | ( | integer(kind=4), intent(in) | numDim, |
integer(kind=8), intent(in) | numPoints, | ||
integer(kind=8), dimension(numdim), intent(in) | bufferSize, | ||
integer(kind=8), dimension(2*numdim), intent(in) | bufferInterval, | ||
real(kind=8), dimension(numpoints), intent(in) | X, | ||
real(kind=8), dimension(numpoints), intent(in) | Y, | ||
real(kind=8), dimension(numpoints), intent(out) | Z | ||
) |
ZXY point-wise operator performing Z = XY (all vectors)
Definition at line 679 of file Operators.f90.
Referenced by rhs< GridT, StateT, OperatorT >::ArtificialDissipation(), rhs< GridT, StateT, OperatorT >::ComputeConcentrationGrad(), parallel_blockstructured::ComputeCurvilinearMetrics2D(), parallel_blockstructured::ComputeRectilinearMetrics(), Maxwell::ConvertBfieldtoHfield(), Maxwell::ConvertDfieldtoEfield(), Maxwell::ConvertEfieldtoDfield(), Maxwell::ConvertHfieldtoBfield(), parallel_blockstructured::CurvilinearMetrics(), euler::flux1d(), metricops::gradijktogradxyz(), viscid::scalarflux1d(), euler::scalarflux1d(), viscid::strongflux1d(), TestOperators(), euler::uniformflux(), euler::uniformrhs(), euler::uniformscalarflux(), metricops::vhatcomponent(), and viscid::viscidstronguniformflux().