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 | Protected Attributes | Private Member Functions | List of all members
sierra::nalu::BSpline Class Referenceabstract

Base class for B-Splines. More...

#include <BSpline.h>

Inheritance diagram for sierra::nalu::BSpline:
sierra::nalu::BSpline1D sierra::nalu::BSpline2D sierra::nalu::BSpline3D sierra::nalu::BSpline4D sierra::nalu::BSpline5D

Public Member Functions

 BSpline (const int order, const int dimension, const bool enableValueClipping=true)
 
virtual ~BSpline ()
 
virtual BSplineclone () const =0
 Copy this object and return a BSpline pointer. More...
 
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...
 
virtual double value (const double *) const =0
 Evaluate the dependent variable via interpolation at the given value of the dependent variable(s). More...
 
double value (std::vector< double > &x) const
 
virtual void read_hdf5 (H5IO &io)=0
 Read a spline from an HDF5 database. More...
 
virtual void write_hdf5 (H5IO &io) const =0
 Write a spline to an HDF5 database. More...
 

Protected Attributes

int order_
 
const int dim_
 
const bool enableValueClipping_
 

Private Member Functions

 BSpline (const BSpline &)
 
BSplineoperator= (const BSpline &)
 

Detailed Description

Base class for B-Splines.

Author
James C. Sutherland
Date
November, 2005
  • I/O capabilities for HDF5 format are provided.
  • The approach here is guided heavily by "The NURBS Book" 2nd ed, Piegl & Tiller

Constructor & Destructor Documentation

sierra::nalu::BSpline::BSpline ( const int  order,
const int  dimension,
const bool  enableValueClipping = true 
)
sierra::nalu::BSpline::~BSpline ( )
virtual
sierra::nalu::BSpline::BSpline ( const BSpline )
private

Member Function Documentation

virtual BSpline* sierra::nalu::BSpline::clone ( ) const
pure virtual

Copy this object and return a BSpline pointer.

This facilitates polymorphic copying given a base-class pointer or reference.

Implemented in sierra::nalu::BSpline5D, sierra::nalu::BSpline4D, sierra::nalu::BSpline3D, sierra::nalu::BSpline2D, and sierra::nalu::BSpline1D.

int sierra::nalu::BSpline::get_dimension ( ) const
inline

Query the dimensionality of this spline (number of independent variables)

References dim_, and value().

int sierra::nalu::BSpline::get_order ( ) const
inline

Query the order of accuracy for this spline.

The spline has (order-1) continuous derivatives

References order_.

Referenced by sierra::nalu::BSpline2D::value(), sierra::nalu::BSpline3D::value(), sierra::nalu::BSpline4D::value(), and sierra::nalu::BSpline5D::value().

BSpline& sierra::nalu::BSpline::operator= ( const BSpline )
private
virtual void sierra::nalu::BSpline::read_hdf5 ( H5IO io)
pure virtual
virtual double sierra::nalu::BSpline::value ( const double *  ) const
pure virtual
double sierra::nalu::BSpline::value ( std::vector< double > &  x) const
inline

References read_hdf5(), value(), and write_hdf5().

Referenced by value().

virtual void sierra::nalu::BSpline::write_hdf5 ( H5IO io) const
pure 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.

Implemented in sierra::nalu::BSpline5D, sierra::nalu::BSpline4D, sierra::nalu::BSpline3D, sierra::nalu::BSpline2D, and sierra::nalu::BSpline1D.

Referenced by sierra::nalu::BSpline2D::clone(), sierra::nalu::BSpline3D::clone(), sierra::nalu::BSpline4D::clone(), sierra::nalu::BSpline5D::clone(), sierra::nalu::BSpline1D::get_basisfun(), and value().

Member Data Documentation

const int sierra::nalu::BSpline::dim_
protected

Referenced by get_dimension().

const bool sierra::nalu::BSpline::enableValueClipping_
protected
int sierra::nalu::BSpline::order_
protected

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