ABLModulatedPowerLaw Class Reference

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

#include <ABLModulatedPowerLaw.H>

Collaboration diagram for amr_wind::ABLModulatedPowerLaw:
[legend]

Public Member Functions

 ABLModulatedPowerLaw (CFDSim &)
 
void post_init_actions ()
 Execute initialization actions after mesh has been fully generated.
 
void pre_advance_work ()
 
void post_advance_work ()
 
void set_velocity (const int lev, const amrex::Real time, const Field &fld, amrex::MultiFab &mfab, const int dcomp=0, const int orig_comp=0) const
 
void set_temperature (const int lev, const amrex::Real time, const Field &fld, amrex::MultiFab &mfab) const
 
bool is_active () const
 

Private Attributes

const CFDSimm_sim
 
const amr_wind::SimTimem_time
 
const FieldRepom_repo
 
const amrex::AmrCore & m_mesh
 
Fieldm_velocity
 
Fieldm_temperature
 
amrex::Real m_zoffset {0.0}
 
amrex::Real m_zref {90}
 
amrex::Real m_shear_exp {0.1}
 
amrex::Real m_umax_factor {1.2}
 
amrex::Real m_bulk_velocity {15.0}
 
amrex::Real m_shearlayer_height {600.0}
 
amrex::Real m_shearlayer_smear_thickness {30.0}
 
amrex::Real m_wind_speed {8.0}
 
amrex::Real m_wind_direction {270.0}
 
amrex::Vector< amrex::Real > m_uvec {8.0, 0.0, 0.0}
 
amrex::Real m_start_time {0.0}
 
amrex::Real m_stop_time {std::numeric_limits<amrex::Real>::max()}
 
amrex::Real m_degrees_per_sec {0.02}
 
amrex::Gpu::DeviceVector< amrex::Real > m_thht_d
 
amrex::Gpu::DeviceVector< amrex::Real > m_thvv_d
 
amrex::Real m_delta_t {0.8}
 
amrex::Real m_theta_cutoff_height {250.0}
 
amrex::Real m_theta_gauss_mean {0.0}
 
amrex::Real m_theta_gauss_var {1.0}
 
bool m_activate_mpl {false}
 
amrex::Vector< amrex::Real > m_theta_heights
 
amrex::Vector< amrex::Real > m_theta_values
 

Detailed Description

Interface for ABL modulated power law

This class sets velocity and temperature at mass inflow bc's

Constructor & Destructor Documentation

◆ ABLModulatedPowerLaw()

amr_wind::ABLModulatedPowerLaw::ABLModulatedPowerLaw ( CFDSim & sim)
explicit

Member Function Documentation

◆ is_active()

bool amr_wind::ABLModulatedPowerLaw::is_active ( ) const
inline

◆ post_advance_work()

void amr_wind::ABLModulatedPowerLaw::post_advance_work ( )

◆ post_init_actions()

void amr_wind::ABLModulatedPowerLaw::post_init_actions ( )

Execute initialization actions after mesh has been fully generated.

◆ pre_advance_work()

void amr_wind::ABLModulatedPowerLaw::pre_advance_work ( )

◆ set_temperature()

void amr_wind::ABLModulatedPowerLaw::set_temperature ( const int lev,
const amrex::Real time,
const Field & fld,
amrex::MultiFab & mfab ) const

◆ set_velocity()

void amr_wind::ABLModulatedPowerLaw::set_velocity ( const int lev,
const amrex::Real time,
const Field & fld,
amrex::MultiFab & mfab,
const int dcomp = 0,
const int orig_comp = 0 ) const

Member Data Documentation

◆ m_activate_mpl

bool amr_wind::ABLModulatedPowerLaw::m_activate_mpl {false}
private

◆ m_bulk_velocity

amrex::Real amr_wind::ABLModulatedPowerLaw::m_bulk_velocity {15.0}
private

◆ m_degrees_per_sec

amrex::Real amr_wind::ABLModulatedPowerLaw::m_degrees_per_sec {0.02}
private

◆ m_delta_t

amrex::Real amr_wind::ABLModulatedPowerLaw::m_delta_t {0.8}
private

◆ m_mesh

const amrex::AmrCore& amr_wind::ABLModulatedPowerLaw::m_mesh
private

◆ m_repo

const FieldRepo& amr_wind::ABLModulatedPowerLaw::m_repo
private

◆ m_shear_exp

amrex::Real amr_wind::ABLModulatedPowerLaw::m_shear_exp {0.1}
private

◆ m_shearlayer_height

amrex::Real amr_wind::ABLModulatedPowerLaw::m_shearlayer_height {600.0}
private

◆ m_shearlayer_smear_thickness

amrex::Real amr_wind::ABLModulatedPowerLaw::m_shearlayer_smear_thickness {30.0}
private

◆ m_sim

const CFDSim& amr_wind::ABLModulatedPowerLaw::m_sim
private

◆ m_start_time

amrex::Real amr_wind::ABLModulatedPowerLaw::m_start_time {0.0}
private

◆ m_stop_time

amrex::Real amr_wind::ABLModulatedPowerLaw::m_stop_time {std::numeric_limits<amrex::Real>::max()}
private

◆ m_temperature

Field& amr_wind::ABLModulatedPowerLaw::m_temperature
private

◆ m_theta_cutoff_height

amrex::Real amr_wind::ABLModulatedPowerLaw::m_theta_cutoff_height {250.0}
private

◆ m_theta_gauss_mean

amrex::Real amr_wind::ABLModulatedPowerLaw::m_theta_gauss_mean {0.0}
private

◆ m_theta_gauss_var

amrex::Real amr_wind::ABLModulatedPowerLaw::m_theta_gauss_var {1.0}
private

◆ m_theta_heights

amrex::Vector<amrex::Real> amr_wind::ABLModulatedPowerLaw::m_theta_heights
private

Lookup table containing temperature variation w.r.t. height above terrain

◆ m_theta_values

amrex::Vector<amrex::Real> amr_wind::ABLModulatedPowerLaw::m_theta_values
private

◆ m_thht_d

amrex::Gpu::DeviceVector<amrex::Real> amr_wind::ABLModulatedPowerLaw::m_thht_d
private

◆ m_thvv_d

amrex::Gpu::DeviceVector<amrex::Real> amr_wind::ABLModulatedPowerLaw::m_thvv_d
private

◆ m_time

const amr_wind::SimTime& amr_wind::ABLModulatedPowerLaw::m_time
private

◆ m_umax_factor

amrex::Real amr_wind::ABLModulatedPowerLaw::m_umax_factor {1.2}
private

◆ m_uvec

amrex::Vector<amrex::Real> amr_wind::ABLModulatedPowerLaw::m_uvec {8.0, 0.0, 0.0}
private

◆ m_velocity

Field& amr_wind::ABLModulatedPowerLaw::m_velocity
private

◆ m_wind_direction

amrex::Real amr_wind::ABLModulatedPowerLaw::m_wind_direction {270.0}
private

◆ m_wind_speed

amrex::Real amr_wind::ABLModulatedPowerLaw::m_wind_speed {8.0}
private

◆ m_zoffset

amrex::Real amr_wind::ABLModulatedPowerLaw::m_zoffset {0.0}
private

◆ m_zref

amrex::Real amr_wind::ABLModulatedPowerLaw::m_zref {90}
private

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