![]() |
Nalu
Nalu: a generalized unstructured massively parallel low Mach flow code designed to support a variety of energy applications of interest (most notably Wind ECP) built on the Sierra Toolkit and Trilinos solver Tpetra/Epetra stack. The open source BSD, clause 3 license model has been chosen for the code base. See LICENSE for more information. http://NaluCFD.org
|
#include <BSpline.h>
Public Member Functions | |
| BSpline5D (const int order, const std::vector< double > &x1, const std::vector< double > &x2, const std::vector< double > &x3, const std::vector< double > &x4, const std::vector< double > &x5, const std::vector< double > &phi, const bool allowClipping=true) | |
| Construct a 5-D BSpline, which is composed of a set of 4-D splines and a 1-D spline. More... | |
| BSpline5D (const bool allowClipping=true) | |
| Construct a skeletal 4D spline. More... | |
| BSpline5D (const BSpline5D &) | |
| Copy constructor - performs deep copy. More... | |
| BSpline * | clone () const |
| copy this object and return a BSpline pointer More... | |
| ~BSpline5D () | |
| double | value (const double *x) const |
| Obtain the approximation to the dependent variable given the independent variables. More... | |
| void | write_hdf5 (H5IO &io) const |
| Write a spline to an HDF5 database. More... | |
| void | read_hdf5 (H5IO &io) |
| Read a spline from an HDF5 database. More... | |
| bool | operator== (const BSpline5D &a) const |
| bool | operator!= (const BSpline5D &a) const |
Public Member Functions inherited from sierra::nalu::BSpline | |
| BSpline (const int order, const int dimension, const bool enableValueClipping=true) | |
| virtual | ~BSpline () |
| int | get_order () const |
| Query the order of accuracy for this spline. More... | |
| int | get_dimension () const |
| Query the dimensionality of this spline (number of independent variables) More... | |
| double | value (std::vector< double > &x) const |
Private Member Functions | |
| void | compute_control_pts (const std::vector< double > &x1, const std::vector< double > &x2, const std::vector< double > &x3, const std::vector< double > &x4, const std::vector< double > &x5, const std::vector< double > &phi) |
| BSpline5D & | operator= (const BSpline5D &) |
Private Attributes | |
| const int | n1_ |
| const int | n2_ |
| const int | n3_ |
| const int | n4_ |
| const int | n5_ |
| std::vector< const BSpline4D * > | sp4d_ |
| BSpline1D * | sp1_ |
Additional Inherited Members | |
Protected Attributes inherited from sierra::nalu::BSpline | |
| int | order_ |
| const int | dim_ |
| const bool | enableValueClipping_ |
5-D B-splines for STRUCTURED data
| sierra::nalu::BSpline5D::BSpline5D | ( | const int | order, |
| const std::vector< double > & | x1, | ||
| const std::vector< double > & | x2, | ||
| const std::vector< double > & | x3, | ||
| const std::vector< double > & | x4, | ||
| const std::vector< double > & | x5, | ||
| const std::vector< double > & | phi, | ||
| const bool | allowClipping = true |
||
| ) |
Construct a 5-D BSpline, which is composed of a set of 4-D splines and a 1-D spline.
| order | : Order of accuracy. Note that for higher order, interpolation times will increase. All dimensions will be splined to this order of accuracy, although in principle each dimension could be splined to a different order... |
| x1 | : vertices for the independent variable in the first dimension |
| x2 | : vertices for the independent variable in the second dimension |
| x3 | : vertices for the independent variable in the thrid dimension |
| x4 | : vertices for the independent variable in the fourth dimension |
| x5 | : vertices for the independent variable in the fourth dimension |
| phi | : value of the dependent variable at all points on the mesh implied by x1,x2,x3,x4,x5. By convention, phi should be arranged in memory such that it varies fastest in x1 and slowest in x4. The size of phi should be equal to the product of sizes of x1, x2, x3, x4, x5. |
References compute_control_pts(), n1_, n2_, n3_, n4_, and n5_.
| sierra::nalu::BSpline5D::BSpline5D | ( | const bool | allowClipping = true | ) |
Construct a skeletal 4D spline.
Useful when loading splined data from disk.
| sierra::nalu::BSpline5D::BSpline5D | ( | const BSpline5D & | src | ) |
|
inlinevirtual |
copy this object and return a BSpline pointer
Implements sierra::nalu::BSpline.
References sierra::nalu::BSpline::read_hdf5(), sierra::nalu::BSpline::value(), and sierra::nalu::BSpline::write_hdf5().
|
private |
References sierra::nalu::BSpline::enableValueClipping_, sierra::nalu::BSpline1D::get_control_pts(), n1_, n2_, n3_, n4_, n5_, sierra::nalu::BSpline::order_, sp1_, and sp4d_.
Referenced by BSpline5D().
|
inline |
|
inline |
|
virtual |
Read a spline from an HDF5 database.
The file should be opened and an hdf5 "group" specified. This spline will be read from the specified group.
Implements sierra::nalu::BSpline.
References sierra::nalu::BSpline::enableValueClipping_, sierra::nalu::H5IO::open_group(), sierra::nalu::H5IO::read_attribute(), sierra::nalu::BSpline1D::read_hdf5(), sierra::nalu::BSpline4D::read_hdf5(), sp1_, and sp4d_.
|
virtual |
Obtain the approximation to the dependent variable given the independent variables.
Ordering is [x1,x2,x3,x4,x5].
Implements sierra::nalu::BSpline.
References sierra::nalu::BSpline::enableValueClipping_, sierra::nalu::find_indx(), sierra::nalu::BSpline1D::get_control_pts(), sierra::nalu::BSpline1D::get_knot_vector(), sierra::nalu::BSpline1D::get_maxval(), sierra::nalu::BSpline1D::get_minval(), sierra::nalu::BSpline1D::get_npts(), sierra::nalu::BSpline::get_order(), sierra::nalu::get_uk(), sp1_, sp4d_, and sierra::nalu::BSpline1D::value().
|
virtual |
Write a spline to an HDF5 database.
The file should be opened and an hdf5 "group" created. This spline will be written to the specified group.
Implements sierra::nalu::BSpline.
References sierra::nalu::H5IO::create_group(), sp1_, sp4d_, sierra::nalu::H5IO::write_attribute(), and sierra::nalu::BSpline1D::write_hdf5().
|
private |
Referenced by BSpline5D(), and compute_control_pts().
|
private |
Referenced by BSpline5D(), and compute_control_pts().
|
private |
Referenced by BSpline5D(), and compute_control_pts().
|
private |
Referenced by BSpline5D(), and compute_control_pts().
|
private |
Referenced by BSpline5D(), and compute_control_pts().
|
private |
Referenced by BSpline5D(), compute_control_pts(), operator==(), read_hdf5(), value(), write_hdf5(), and ~BSpline5D().
|
private |
Referenced by BSpline5D(), compute_control_pts(), operator==(), read_hdf5(), value(), write_hdf5(), and ~BSpline5D().
1.8.11