Commit cdef2aed authored by Dave Moxey's avatar Dave Moxey
Browse files

Address Chris' changes

parent 2c872308
<?xml version="1.0" encoding="utf-8" ?>
<test>
<description>Nodal prism integration, evenly spaced points, P = 8</description>
<description>Nodal prism derivative, evenly spaced points, P = 8</description>
<executable>NodalDemo</executable>
<parameters>--order 8 --type 27 --deriv</parameters>
<metrics>
......
<?xml version="1.0" encoding="utf-8" ?>
<test>
<description>Nodal tetrahedron integration, electrostatic points, P = 8</description>
<description>Nodal tetrahedron derivative, electrostatic points, P = 8</description>
<executable>NodalDemo</executable>
<parameters>--order 8 --type 26 --deriv</parameters>
<metrics>
......
<?xml version="1.0" encoding="utf-8" ?>
<test>
<description>Nodal triangle integration, electrostatic points, P = 8</description>
<description>Nodal triangle derivative, electrostatic points, P = 8</description>
<executable>NodalDemo</executable>
<parameters>--order 8 --type 22 --deriv</parameters>
<metrics>
......
......@@ -393,7 +393,7 @@ namespace Nektar
Array<OneD, Array<OneD, NekDouble> > xi(3);
xi[0] = xia;
xi[1] = yia;
xi[1] = zia;
xi[2] = zia;
boost::shared_ptr<NekMatrix<NekDouble> > mat =
m_util->GetInterpolationMatrix(xi);
......
......@@ -60,6 +60,8 @@ namespace LibUtilities
* of the orthogonal basis for each element type, \f$ \mathbf{g}_i = 0 \f$ for
* \f$ i > 0 \f$. We use NodalUtil::v_ModeZeroIntegral to return the analytic
* value of \f$ \mathbf{g}_0 \f$.
*
* @return Vector of integration weights for the integration points.
*/
NekVector<NekDouble> NodalUtil::GetWeights()
{
......@@ -94,6 +96,8 @@ NekVector<NekDouble> NodalUtil::GetWeights()
* with each entry as \f$\mathbf{V}_{ij} = (\psi_i(\xi_j))\f$ where \f$ \psi_i
* \f$ is the orthogonal basis obtained through the abstract function
* NodalUtil::v_OrthoBasis.
*
* @return The Vandermonde matrix.
*/
SharedMatrix NodalUtil::GetVandermonde()
{
......@@ -124,6 +128,9 @@ SharedMatrix NodalUtil::GetVandermonde()
* NodalUtil::v_OrthoBasisDeriv.
*
* @param dir Direction of derivative in the standard element.
*
* @return Vandermonde matrix corresponding with derivative of the basis
* functions in direction @p dir.
*/
SharedMatrix NodalUtil::GetVandermondeForDeriv(int dir)
{
......@@ -153,6 +160,10 @@ SharedMatrix NodalUtil::GetVandermondeForDeriv(int dir)
* \mathbf{V}_d \mathbf{V}^{-1} \f$, where \f$ \mathbf{V}_d \f$ is the
* derivative Vandermonde matrix and \f$ \mathbf{V} \f$ is the Vandermonde
* matrix.
*
* @param dir Coordinate direction in which to evaluate the derivative.
*
* @return The derivative matrix for direction @p dir.
*/
SharedMatrix NodalUtil::GetDerivMatrix(int dir)
{
......@@ -185,6 +196,8 @@ SharedMatrix NodalUtil::GetDerivMatrix(int dir)
*
* @param xi An array of first size number of spatial dimensions \f$ d \f$ and
* secondary size the number of points to interpolate.
*
* @return The interpolation matrix for the points @p xi.
*/
SharedMatrix NodalUtil::GetInterpolationMatrix(
Array<OneD, Array<OneD, NekDouble> > &xi)
......@@ -276,6 +289,8 @@ NodalUtilTriangle::NodalUtilTriangle(int degree,
* and \f$ J_n^{(\alpha,\beta)}(z) \f$ denotes the standard Jacobi polynomial.
*
* @param mode The mode of the orthogonal basis to evaluate.
*
* @return Vector containing orthogonal basis evaluated at the points #m_xi.
*/
NekVector<NekDouble> NodalUtilTriangle::v_OrthoBasis(const int mode)
{
......@@ -309,7 +324,11 @@ NekVector<NekDouble> NodalUtilTriangle::v_OrthoBasis(const int mode)
* coordinate derivatives as described in Sherwin & Karniadakis (2nd edition),
* pg 150.
*
* @param dir Coordinate direction in which to evaluate the derivative.
* @param mode The mode of the orthogonal basis to evaluate.
*
* @return Vector containing the derivative of the orthogonal basis evaluated at
* the points #m_xi.
*/
NekVector<NekDouble> NodalUtilTriangle::v_OrthoBasisDeriv(
const int dir, const int mode)
......@@ -470,6 +489,8 @@ NodalUtilTetrahedron::NodalUtilTetrahedron(int degree,
* J_n^{(\alpha,\beta)}(z) \f$ denotes the standard Jacobi polynomial.
*
* @param mode The mode of the orthogonal basis to evaluate.
*
* @return Vector containing orthogonal basis evaluated at the points #m_xi.
*/
NekVector<NekDouble> NodalUtilTetrahedron::v_OrthoBasis(const int mode)
{
......@@ -507,7 +528,11 @@ NekVector<NekDouble> NodalUtilTetrahedron::v_OrthoBasis(const int mode)
* coordinate derivatives as described in Sherwin & Karniadakis (2nd edition),
* pg 152.
*
* @param dir Coordinate direction in which to evaluate the derivative.
* @param mode The mode of the orthogonal basis to evaluate.
*
* @return Vector containing the derivative of the orthogonal basis evaluated at
* the points #m_xi.
*/
NekVector<NekDouble> NodalUtilTetrahedron::v_OrthoBasisDeriv(
const int dir, const int mode)
......@@ -687,6 +712,8 @@ NodalUtilPrism::NodalUtilPrism(int degree,
* J_n^{(\alpha,\beta)}(z) \f$ denotes the standard Jacobi polynomial.
*
* @param mode The mode of the orthogonal basis to evaluate.
*
* @return Vector containing orthogonal basis evaluated at the points #m_xi.
*/
NekVector<NekDouble> NodalUtilPrism::v_OrthoBasis(const int mode)
{
......@@ -725,6 +752,10 @@ NekVector<NekDouble> NodalUtilPrism::v_OrthoBasis(const int mode)
* pg 152.
*
* @param mode The mode of the orthogonal basis to evaluate.
* @param dir Coordinate direction in which to evaluate the derivative.
*
* @return Vector containing the derivative of the orthogonal basis evaluated at
* the points #m_xi.
*/
NekVector<NekDouble> NodalUtilPrism::v_OrthoBasisDeriv(
const int dir, const int mode)
......
......@@ -115,9 +115,10 @@ protected:
* @brief Return the values of the orthogonal basis at the nodal points for
* a given mode.
*
* @param dir Coordinate direction of derivative.
* @param mode Mode number, which is between 0 and NodalUtil::v_NumModes()
* - 1.
*
* @return Orthogonal mode @p mode evaluated at the nodal points.
*/
virtual NekVector<NekDouble> v_OrthoBasis(const int mode) = 0;
......@@ -140,6 +141,8 @@ protected:
* the (potentially non-square) Vandermonde matrix can be constructed to
* create the interpolation matrix at an arbitrary set of points in the
* domain.
*
* @param xi Distribution of nodal points to create utility with.
*/
virtual boost::shared_ptr<NodalUtil> v_CreateUtil(
Array<OneD, Array<OneD, NekDouble> > &xi) = 0;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment