Nektar++
|
#include <kernel.h>
Public Member Functions | |
Kernel () | |
The default constructor. More... | |
Kernel (int order) | |
void | UpdateKernelBspline () |
The default destructor. More... | |
void | UpdateKernelCoeffs () |
This funciton updates the kernel coefficients. More... | |
void | UpdateKernelBreaks (NekDouble h) |
This funciton updates the kernel breaks. More... | |
Array< TwoD, NekDouble > | GetKernelBspline () |
This funciton returns a 2D array representing the bspline of the appropriate order. More... | |
Array< OneD, NekDouble > | GetKernelCoeffs () |
This funciton returns a 1D array representing the kernel coefficients. More... | |
Array< OneD, NekDouble > | GetKernelBreaks () |
This funciton returns a 1D array representing the kernel breaks. More... | |
void | UpdateKernelOrder (int order) |
This funciton sets the k_order variable. More... | |
void | UpdateKernelNumOfCoeffs () |
This funciton sets the k_ncoeffs variable. More... | |
void | UpdateKernelWidth () |
This funciton sets the kernel width size. More... | |
int | GetKernelOrder () |
This funciton returns the order of the kernel. More... | |
int | GetKernelNumeOfCoeffs () |
This funciton returns the number of kernel coefficients. More... | |
int | GetKernelWidth () |
This funciton returns the size of the kernel width. More... | |
void | MoveKernelCenter (NekDouble x_value, Array< OneD, NekDouble > &outarray) |
This funciton moves the center of the kernel to the. More... | |
void | FindMeshUnderKernel (Array< OneD, NekDouble > &inarray, NekDouble h, Array< OneD, NekDouble > &outarray) |
This funciton calculates the mesh breaks under the kernel support. More... | |
void | EvaluateKernel (Array< OneD, NekDouble > inarray, NekDouble h, Array< OneD, NekDouble > &outarray) |
This funciton evaluates the kernel at input values. More... | |
void | EvaluateBspline (Array< OneD, NekDouble > inarray, NekDouble h, NekDouble offset, Array< OneD, NekDouble > &outarray) |
This function evaluates the bspline at input values. More... | |
void | Sort (Array< OneD, NekDouble > &inarray1, Array< OneD, NekDouble > &inarray2, Array< OneD, NekDouble > &outarray) |
This funciton performs the ordered merge of. More... | |
Protected Member Functions | |
NekDouble | EvaluateBsplinePoly (NekDouble x_value, int interval) |
This funciton evaluates the piecewise bspline polynomial. More... | |
Protected Attributes | |
int | k_order |
int | k_ncoeffs |
int | k_width |
NekDouble | k_center |
Array< TwoD, NekDouble > | b_spline |
Array< OneD, NekDouble > | k_coeffs |
Array< OneD, NekDouble > | k_breaks |
Nektar::LibUtilities::Kernel::Kernel | ( | ) |
The default constructor.
Nektar::LibUtilities::Kernel::Kernel | ( | int | order | ) |
Definition at line 42 of file kernel.cpp.
References k_center, UpdateKernelBspline(), UpdateKernelCoeffs(), UpdateKernelNumOfCoeffs(), UpdateKernelOrder(), and UpdateKernelWidth().
void Nektar::LibUtilities::Kernel::EvaluateBspline | ( | Array< OneD, NekDouble > | inarray, |
NekDouble | h, | ||
NekDouble | offset, | ||
Array< OneD, NekDouble > & | outarray | ||
) |
This function evaluates the bspline at input values.
inarray | input values. |
h | the mesh spacing. |
offset | |
outarray | contains the bspline values. |
Definition at line 307 of file kernel.cpp.
References EvaluateBsplinePoly(), and k_order.
Referenced by EvaluateKernel().
|
protected |
This funciton evaluates the piecewise bspline polynomial.
interval | |
interval | at point |
x_value. |
Definition at line 342 of file kernel.cpp.
References b_spline, and k_order.
Referenced by EvaluateBspline().
void Nektar::LibUtilities::Kernel::EvaluateKernel | ( | Array< OneD, NekDouble > | inarray, |
NekDouble | h, | ||
Array< OneD, NekDouble > & | outarray | ||
) |
This funciton evaluates the kernel at input values.
inarray. | |
h | is the mesh spacing. |
outarray | contains the kernel values |
Definition at line 279 of file kernel.cpp.
References EvaluateBspline(), k_center, k_coeffs, and k_order.
void Nektar::LibUtilities::Kernel::FindMeshUnderKernel | ( | Array< OneD, NekDouble > & | inarray, |
NekDouble | h, | ||
Array< OneD, NekDouble > & | outarray | ||
) |
This funciton calculates the mesh breaks under the kernel support.
inarray | contains the local kernel breaks |
h | is the mesh spacing |
outarray | contains the coordinate of the mesh breaks under the kernel support |
Definition at line 261 of file kernel.cpp.
References k_width.
|
inline |
|
inline |
|
inline |
void Nektar::LibUtilities::Kernel::MoveKernelCenter | ( | NekDouble | x_value, |
Array< OneD, NekDouble > & | outarray | ||
) |
This funciton moves the center of the kernel to the.
x_value. | |
outarray | is used to store the result |
Definition at line 249 of file kernel.cpp.
References k_breaks, k_center, and k_width.
void Nektar::LibUtilities::Kernel::Sort | ( | Array< OneD, NekDouble > & | inarray1, |
Array< OneD, NekDouble > & | inarray2, | ||
Array< OneD, NekDouble > & | outarray | ||
) |
This funciton performs the ordered merge of.
inarray1 | and |
inarray2 | and puts the result in |
outarray |
Definition at line 357 of file kernel.cpp.
This funciton updates the kernel breaks.
h | represents the mesh spacing |
Definition at line 237 of file kernel.cpp.
References k_breaks, and k_width.
void Nektar::LibUtilities::Kernel::UpdateKernelBspline | ( | ) |
void Nektar::LibUtilities::Kernel::UpdateKernelCoeffs | ( | ) |
This funciton updates the kernel coefficients.
Definition at line 176 of file kernel.cpp.
References ASSERTL0, k_coeffs, k_ncoeffs, and k_order.
Referenced by Kernel().
|
inline |
|
inline |
|
inline |
2D array representing the bspline
Definition at line 201 of file kernel.h.
Referenced by EvaluateBsplinePoly(), GetKernelBspline(), and UpdateKernelBspline().
1D array representing the kernel breaks
Definition at line 203 of file kernel.h.
Referenced by GetKernelBreaks(), MoveKernelCenter(), and UpdateKernelBreaks().
|
protected |
holds the center of the kernel
Definition at line 200 of file kernel.h.
Referenced by EvaluateKernel(), Kernel(), and MoveKernelCenter().
1D array representing the kernel coefficients
Definition at line 202 of file kernel.h.
Referenced by EvaluateKernel(), GetKernelCoeffs(), and UpdateKernelCoeffs().
|
protected |
Represents the number of kernel coefficients
Definition at line 198 of file kernel.h.
Referenced by GetKernelNumeOfCoeffs(), UpdateKernelCoeffs(), and UpdateKernelNumOfCoeffs().
|
protected |
bsplines are obtained by convolving the characteristic fucntion with itself (k_order - 1) times
Definition at line 196 of file kernel.h.
Referenced by EvaluateBspline(), EvaluateBsplinePoly(), EvaluateKernel(), GetKernelOrder(), UpdateKernelBspline(), UpdateKernelCoeffs(), UpdateKernelNumOfCoeffs(), UpdateKernelOrder(), and UpdateKernelWidth().
|
protected |
Represents the width of the kernel
Definition at line 199 of file kernel.h.
Referenced by FindMeshUnderKernel(), GetKernelWidth(), MoveKernelCenter(), UpdateKernelBreaks(), and UpdateKernelWidth().