![]() |
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 | |
| BSpline4D (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 > &phi, const bool allowClipping=true) | |
| Construct a 4-D BSpline, which is composed of a set of 3-D splines and a 1-D spline. More... | |
| BSpline4D (const bool allowClipping=true) | |
| Construct a skeletal 4D spline. More... | |
| BSpline4D (const BSpline4D &) | |
| Copy constructor - performs deep copy. More... | |
| BSpline * | clone () const |
| copy this object and return a BSpline pointer More... | |
| ~BSpline4D () | |
| 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 BSpline4D &a) const |
| bool | operator!= (const BSpline4D &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 > &phi) |
| BSpline4D & | operator= (const BSpline4D &) |
Private Attributes | |
| const int | n1_ |
| const int | n2_ |
| const int | n3_ |
| const int | n4_ |
| std::vector< const BSpline3D * > | sp3d_ |
| BSpline1D * | sp1_ |
Additional Inherited Members | |
Protected Attributes inherited from sierra::nalu::BSpline | |
| int | order_ |
| const int | dim_ |
| const bool | enableValueClipping_ |
4-D B-splines for STRUCTURED data
| sierra::nalu::BSpline4D::BSpline4D | ( | 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 > & | phi, | ||
| const bool | allowClipping = true |
||
| ) |
Construct a 4-D BSpline, which is composed of a set of 3-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 |
| phi | : value of the dependent variable at all points on the mesh implied by x1,x2,x3,x4. 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. |
References compute_control_pts(), n1_, n2_, n3_, and n4_.
| sierra::nalu::BSpline4D::BSpline4D | ( | const bool | allowClipping = true | ) |
Construct a skeletal 4D spline.
Useful when loading splined data from disk.
| sierra::nalu::BSpline4D::BSpline4D | ( | const BSpline4D & | 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_, sierra::nalu::BSpline::order_, sp1_, and sp3d_.
Referenced by BSpline4D().
|
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::BSpline3D::read_hdf5(), sp1_, and sp3d_.
Referenced by sierra::nalu::BSpline5D::read_hdf5().
|
virtual |
Obtain the approximation to the dependent variable given the independent variables.
Ordering is [x1,x2,x3,x4].
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_, sp3d_, 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_, sp3d_, sierra::nalu::H5IO::write_attribute(), and sierra::nalu::BSpline1D::write_hdf5().
|
private |
Referenced by BSpline4D(), and compute_control_pts().
|
private |
Referenced by BSpline4D(), and compute_control_pts().
|
private |
Referenced by BSpline4D(), and compute_control_pts().
|
private |
Referenced by BSpline4D(), and compute_control_pts().
|
private |
Referenced by BSpline4D(), compute_control_pts(), operator==(), read_hdf5(), value(), write_hdf5(), and ~BSpline4D().
|
private |
Referenced by BSpline4D(), compute_control_pts(), operator==(), read_hdf5(), value(), write_hdf5(), and ~BSpline4D().
1.8.11