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
Public Member Functions | Private Member Functions | Private Attributes | List of all members
sierra::nalu::BSpline2D Class Reference

#include <BSpline.h>

Inheritance diagram for sierra::nalu::BSpline2D:
sierra::nalu::BSpline

Public Member Functions

 BSpline2D (const int order, const std::vector< double > &indepVars1, const std::vector< double > &indepVars2, const std::vector< double > &depVars, const bool allowClipping=true)
 Construct a 2-D Bspline of the requested order. More...
 
 BSpline2D (const bool allowClipping=true)
 Construct a skeletal 2D spline. More...
 
 BSpline2D (const BSpline2D &)
 Copy constructor - performs deep copies. More...
 
BSplineclone () const
 copy this object and return a BSpline pointer More...
 
 ~BSpline2D ()
 
double value (const double *indepVar) const
 Evaluate the dependent variable via interpolation at the given value of the dependent variable. 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 BSpline2D &a) const
 
bool operator!= (const BSpline2D &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 > &indepVars1, const std::vector< double > &indepVars2, const std::vector< double > &depVars)
 
BSpline2Doperator= (const BSpline2D &)
 

Private Attributes

std::vector< const BSpline1D * > dim2Splines_
 
BSpline1Dsp1_
 

Additional Inherited Members

- Protected Attributes inherited from sierra::nalu::BSpline
int order_
 
const int dim_
 
const bool enableValueClipping_
 

Detailed Description

Author
James C. Sutherland
Date
November, 2005

2-D B-splines for STRUCTURED data

Constructor & Destructor Documentation

sierra::nalu::BSpline2D::BSpline2D ( const int  order,
const std::vector< double > &  indepVars1,
const std::vector< double > &  indepVars2,
const std::vector< double > &  depVars,
const bool  allowClipping = true 
)

Construct a 2-D Bspline of the requested order.

Parameters
order: Order of accuracy for interpolant (order-1 continuous derivatives)
indepVars1: std::vector of independent variables in the first dimension
indepVars2: std::vector of independent variables in the second dimension
depVars: std::vector of dependent variables at each point on the mesh implied by indepVars1 and indepVars2, with fortran-style ordering (first dimension varies fastest)

References compute_control_pts().

sierra::nalu::BSpline2D::BSpline2D ( const bool  allowClipping = true)

Construct a skeletal 2D spline.

Useful when loading splined data from disk.

sierra::nalu::BSpline2D::BSpline2D ( const BSpline2D src)

Copy constructor - performs deep copies.

References dim2Splines_, and sp1_.

sierra::nalu::BSpline2D::~BSpline2D ( )

References dim2Splines_, and sp1_.

Member Function Documentation

BSpline* sierra::nalu::BSpline2D::clone ( ) const
inlinevirtual
void sierra::nalu::BSpline2D::compute_control_pts ( const std::vector< double > &  indepVars1,
const std::vector< double > &  indepVars2,
const std::vector< double > &  depVars 
)
private
bool sierra::nalu::BSpline2D::operator!= ( const BSpline2D a) const
inline
BSpline2D& sierra::nalu::BSpline2D::operator= ( const BSpline2D )
private
bool sierra::nalu::BSpline2D::operator== ( const BSpline2D a) const
inline

References dim2Splines_, and sp1_.

void sierra::nalu::BSpline2D::read_hdf5 ( H5IO io)
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 dim2Splines_, sierra::nalu::BSpline::enableValueClipping_, sierra::nalu::H5IO::open_group(), sierra::nalu::H5IO::read_attribute(), sierra::nalu::BSpline1D::read_hdf5(), and sp1_.

Referenced by sierra::nalu::BSpline3D::read_hdf5().

double sierra::nalu::BSpline2D::value ( const double *  indepVar) const
virtual
void sierra::nalu::BSpline2D::write_hdf5 ( H5IO io) const
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(), dim2Splines_, sp1_, sierra::nalu::H5IO::write_attribute(), and sierra::nalu::BSpline1D::write_hdf5().

Member Data Documentation

std::vector<const BSpline1D*> sierra::nalu::BSpline2D::dim2Splines_
private
BSpline1D* sierra::nalu::BSpline2D::sp1_
private

The documentation for this class was generated from the following files: