Actuator Class Reference

AMR-Wind API: amr_wind::actuator::Actuator Class Reference
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches

#include <Actuator.H>

Inheritance diagram for amr_wind::actuator::Actuator:
[legend]
Collaboration diagram for amr_wind::actuator::Actuator:
[legend]

Public Member Functions

 Actuator (CFDSim &)
 
 ~Actuator () override
 
void initialize_fields (int, const amrex::Geometry &) override
 
void pre_init_actions () override
 
void post_init_actions () override
 
void post_regrid_actions () override
 
void pre_advance_work () override
 
void post_advance_work () override
 
ActuatorModelget_act (int index) const
 
ActuatorModelget_act_bylabel (const std::string &actlabel) const
 
template<typename T >
Tget_actuator (std::string &key) const
 

Static Public Member Functions

static std::string identifier ()
 

Protected Member Functions

int num_actuators () const
 Total number of actuator components (e.g., turbines) in the flow field.
 
virtual void prepare_outputs ()
 

Private Member Functions

void setup_container ()
 
void update_positions ()
 
void update_velocities ()
 
void compute_forces ()
 
void compute_source_term ()
 
void communicate_turbine_io ()
 

Private Attributes

CFDSimm_sim
 
Fieldm_act_source
 
std::vector< std::unique_ptr< ActuatorModel > > m_actuators
 
std::unique_ptr< ActuatorContainerm_container
 

Detailed Description

Actuator line/disk modeling for wind turbines.

This class provides an interface to model wind turbines in a wind farm as actuator line/disk source terms.

See also
ActuatorModel, ActuatorContainer

Constructor & Destructor Documentation

◆ Actuator()

amr_wind::actuator::Actuator::Actuator ( CFDSim & sim)
explicit

◆ ~Actuator()

amr_wind::actuator::Actuator::~Actuator ( )
overridedefault

Member Function Documentation

◆ communicate_turbine_io()

void amr_wind::actuator::Actuator::communicate_turbine_io ( )
private

◆ compute_forces()

void amr_wind::actuator::Actuator::compute_forces ( )
private

Helper method to compute forces on all actuator components

◆ compute_source_term()

void amr_wind::actuator::Actuator::compute_source_term ( )
private

◆ get_act()

ActuatorModel & amr_wind::actuator::Actuator::get_act ( int index) const
inline

◆ get_act_bylabel()

ActuatorModel & amr_wind::actuator::Actuator::get_act_bylabel ( const std::string & actlabel) const

◆ get_actuator()

template<typename T >
T * amr_wind::actuator::Actuator::get_actuator ( std::string & key) const

◆ identifier()

static std::string amr_wind::actuator::Actuator::identifier ( )
inlinestatic

◆ initialize_fields()

void amr_wind::actuator::Actuator::initialize_fields ( int ,
const amrex::Geometry &  )
inlineoverride

◆ num_actuators()

int amr_wind::actuator::Actuator::num_actuators ( ) const
inlineprotected

Total number of actuator components (e.g., turbines) in the flow field.

◆ post_advance_work()

void amr_wind::actuator::Actuator::post_advance_work ( )
override

◆ post_init_actions()

void amr_wind::actuator::Actuator::post_init_actions ( )
override

◆ post_regrid_actions()

void amr_wind::actuator::Actuator::post_regrid_actions ( )
override

◆ pre_advance_work()

void amr_wind::actuator::Actuator::pre_advance_work ( )
override

◆ pre_init_actions()

void amr_wind::actuator::Actuator::pre_init_actions ( )
override

◆ prepare_outputs()

void amr_wind::actuator::Actuator::prepare_outputs ( )
protectedvirtual

◆ setup_container()

void amr_wind::actuator::Actuator::setup_container ( )
private

Set up the container for sampling velocities

Allocates memory and initializes the particles corresponding to actuator nodes for all turbines that influence the current MPI rank. This method is invoked once during initialization and during regrid step.

◆ update_positions()

void amr_wind::actuator::Actuator::update_positions ( )
private

Update actuator positions and sample velocities at new locations.

This method loops over all the turbines local to this MPI rank and updates the position vectors. These new locations are provided to the sampling container that samples velocities at these new locations.

See also
Actuator::update_velocities

◆ update_velocities()

void amr_wind::actuator::Actuator::update_velocities ( )
private

Provide updated velocities from container to actuator instances

See also
Acuator::update_positions

Member Data Documentation

◆ m_act_source

Field& amr_wind::actuator::Actuator::m_act_source
private

◆ m_actuators

std::vector<std::unique_ptr<ActuatorModel> > amr_wind::actuator::Actuator::m_actuators
private

◆ m_container

std::unique_ptr<ActuatorContainer> amr_wind::actuator::Actuator::m_container
private

◆ m_sim

CFDSim& amr_wind::actuator::Actuator::m_sim
private

The documentation for this class was generated from the following files:
  • /home/runner/work/amr-wind/amr-wind/amr-wind/wind_energy/actuator/Actuator.H
  • /home/runner/work/amr-wind/amr-wind/amr-wind/wind_energy/actuator/Actuator.cpp