SpreadingFunction< T > Class Template Reference

AMR-Wind API: amr_wind::actuator::ops::SpreadingFunction< T > Class Template Reference
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
amr_wind::actuator::ops::SpreadingFunction< T > Class Template Reference

A collection of spreading functions This class allows for polymorphic spreading functions. The concept is based on Impossibly Fast C++ Delegates proposed here: https://www.codeproject.com/Articles/11015/The-Impossibly-Fast-C-Delegates. More...

#include <disk_spreading.H>

Inheritance diagram for amr_wind::actuator::ops::SpreadingFunction< T >:
[legend]

Public Types

using OwnerType = T
 

Public Member Functions

void operator() (const T &actObj, const int lev, const amrex::MFIter &mfi, const amrex::Geometry &geom)
 
 SpreadingFunction (const SpreadingFunction &)=delete
 
void operator= (const SpreadingFunction &)=delete
 
void uniform_gaussian_spreading (const T &actObj, const int lev, const amrex::MFIter &mfi, const amrex::Geometry &geom)
 
void linear_basis_spreading (const T &actObj, const int lev, const amrex::MFIter &mfi, const amrex::Geometry &geom)
 
void linear_basis_in_theta (const T &actObj, const int lev, const amrex::MFIter &mfi, const amrex::Geometry &geom)
 
 SpreadingFunction ()
 
void initialize (const std::string &key)
 

Public Attributes

void(SpreadingFunction::* m_function )(const T &actObj, const int, const amrex::MFIter &, const amrex::Geometry &)
 

Detailed Description

template<typename T>
class amr_wind::actuator::ops::SpreadingFunction< T >

A collection of spreading functions This class allows for polymorphic spreading functions. The concept is based on Impossibly Fast C++ Delegates proposed here: https://www.codeproject.com/Articles/11015/The-Impossibly-Fast-C-Delegates.

Template Parameters
T

Member Typedef Documentation

◆ OwnerType

template<typename T >
using amr_wind::actuator::ops::SpreadingFunction< T >::OwnerType = T

Constructor & Destructor Documentation

◆ SpreadingFunction() [1/2]

template<typename T >
amr_wind::actuator::ops::SpreadingFunction< T >::SpreadingFunction ( const SpreadingFunction< T > & )
delete

◆ SpreadingFunction() [2/2]

template<typename T >
amr_wind::actuator::ops::SpreadingFunction< T >::SpreadingFunction ( )
inline

Member Function Documentation

◆ initialize()

template<typename T >
void amr_wind::actuator::ops::SpreadingFunction< T >::initialize ( const std::string & key)
inline

◆ linear_basis_in_theta()

template<typename T >
void amr_wind::actuator::ops::SpreadingFunction< T >::linear_basis_in_theta ( const T & actObj,
const int lev,
const amrex::MFIter & mfi,
const amrex::Geometry & geom )
inline

◆ linear_basis_spreading()

template<typename T >
void amr_wind::actuator::ops::SpreadingFunction< T >::linear_basis_spreading ( const T & actObj,
const int lev,
const amrex::MFIter & mfi,
const amrex::Geometry & geom )
inline

◆ operator()()

template<typename T >
void amr_wind::actuator::ops::SpreadingFunction< T >::operator() ( const T & actObj,
const int lev,
const amrex::MFIter & mfi,
const amrex::Geometry & geom )
inline

◆ operator=()

template<typename T >
void amr_wind::actuator::ops::SpreadingFunction< T >::operator= ( const SpreadingFunction< T > & )
delete

◆ uniform_gaussian_spreading()

template<typename T >
void amr_wind::actuator::ops::SpreadingFunction< T >::uniform_gaussian_spreading ( const T & actObj,
const int lev,
const amrex::MFIter & mfi,
const amrex::Geometry & geom )
inline

Member Data Documentation

◆ m_function

template<typename T >
void(SpreadingFunction::* amr_wind::actuator::ops::SpreadingFunction< T >::m_function) (const T &actObj, const int, const amrex::MFIter &, const amrex::Geometry &)

The documentation for this class was generated from the following file:
  • /home/runner/work/amr-wind/amr-wind/amr-wind/wind_energy/actuator/disk/disk_spreading.H