ABLMesoscaleForcing Class Reference

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

#include <ABLMesoscaleForcing.H>

Inheritance diagram for amr_wind::ABLMesoscaleForcing:
[legend]
Collaboration diagram for amr_wind::ABLMesoscaleForcing:
[legend]

Public Member Functions

 ABLMesoscaleForcing (const CFDSim &sim, const std::string &identifier)
 
void indirect_forcing_init ()
 

Static Public Member Functions

static void invert_mat (const amrex::Array2D< amrex::Real, 0, 3, 0, 3 > &m, amrex::Array2D< amrex::Real, 0, 3, 0, 3 > &im)
 

Protected Member Functions

void set_transition_weighting ()
 
void update_weights ()
 
bool have_forcing_transition ()
 
bool forcing_to_constant ()
 
void constant_forcing_transition (amrex::Vector< amrex::Real > &error)
 
void blend_forcings (const amrex::Vector< amrex::Real > &lower, const amrex::Vector< amrex::Real > &upper, amrex::Vector< amrex::Real > &error)
 

Protected Attributes

const SimTimem_time
 
const amrex::AmrCore & m_mesh
 
int m_idx_time {0}
 
int m_axis {2}
 
std::string m_forcing_scheme
 
amrex::Real m_gain_coeff {0.2}
 
bool m_debug {false}
 
bool m_tendency {false}
 
amrex::Vector< amrex::Real > m_zht
 
int m_nht {0}
 
int m_norm_zmax = 0
 
amrex::Real m_scaleFact
 
amrex::Array2D< amrex::Real, 0, 3, 0, 3 > m_im_zTz
 
std::string m_forcing_transition
 
amrex::Real m_transition_height
 
bool m_update_transition_height {false}
 
amrex::Real m_transition_thickness
 
amrex::Vector< amrex::Real > m_weighting_heights
 
amrex::Vector< amrex::Real > m_weighting_values
 
bool m_user_specified_weighting {false}
 
amrex::Vector< amrex::Real > m_W
 
amrex::Vector< amrex::Real > m_blending_heights
 
amrex::Vector< amrex::Real > m_blending_values
 
amrex::Vector< amrex::Real > m_blend
 

Constructor & Destructor Documentation

◆ ABLMesoscaleForcing()

amr_wind::ABLMesoscaleForcing::ABLMesoscaleForcing ( const CFDSim & sim,
const std::string & identifier )

Member Function Documentation

◆ blend_forcings()

void amr_wind::ABLMesoscaleForcing::blend_forcings ( const amrex::Vector< amrex::Real > & lower,
const amrex::Vector< amrex::Real > & upper,
amrex::Vector< amrex::Real > & error )
protected

◆ constant_forcing_transition()

void amr_wind::ABLMesoscaleForcing::constant_forcing_transition ( amrex::Vector< amrex::Real > & error)
protected

◆ forcing_to_constant()

bool amr_wind::ABLMesoscaleForcing::forcing_to_constant ( )
inlineprotected

◆ have_forcing_transition()

bool amr_wind::ABLMesoscaleForcing::have_forcing_transition ( )
inlineprotected

◆ indirect_forcing_init()

void amr_wind::ABLMesoscaleForcing::indirect_forcing_init ( )

◆ invert_mat()

void amr_wind::ABLMesoscaleForcing::invert_mat ( const amrex::Array2D< amrex::Real, 0, 3, 0, 3 > & m,
amrex::Array2D< amrex::Real, 0, 3, 0, 3 > & im )
static

◆ set_transition_weighting()

void amr_wind::ABLMesoscaleForcing::set_transition_weighting ( )
protected

◆ update_weights()

void amr_wind::ABLMesoscaleForcing::update_weights ( )
protected

Member Data Documentation

◆ m_axis

int amr_wind::ABLMesoscaleForcing::m_axis {2}
protected

◆ m_blend

amrex::Vector<amrex::Real> amr_wind::ABLMesoscaleForcing::m_blend
protected

◆ m_blending_heights

amrex::Vector<amrex::Real> amr_wind::ABLMesoscaleForcing::m_blending_heights
protected

◆ m_blending_values

amrex::Vector<amrex::Real> amr_wind::ABLMesoscaleForcing::m_blending_values
protected

◆ m_debug

bool amr_wind::ABLMesoscaleForcing::m_debug {false}
protected

◆ m_forcing_scheme

std::string amr_wind::ABLMesoscaleForcing::m_forcing_scheme
protected

◆ m_forcing_transition

std::string amr_wind::ABLMesoscaleForcing::m_forcing_transition
protected

◆ m_gain_coeff

amrex::Real amr_wind::ABLMesoscaleForcing::m_gain_coeff {0.2}
protected

◆ m_idx_time

int amr_wind::ABLMesoscaleForcing::m_idx_time {0}
protected

◆ m_im_zTz

amrex::Array2D<amrex::Real, 0, 3, 0, 3> amr_wind::ABLMesoscaleForcing::m_im_zTz
protected

◆ m_mesh

const amrex::AmrCore& amr_wind::ABLMesoscaleForcing::m_mesh
protected

◆ m_nht

int amr_wind::ABLMesoscaleForcing::m_nht {0}
protected

◆ m_norm_zmax

int amr_wind::ABLMesoscaleForcing::m_norm_zmax = 0
protected

◆ m_scaleFact

amrex::Real amr_wind::ABLMesoscaleForcing::m_scaleFact
protected
Initial value:
=
1e-3

◆ m_tendency

bool amr_wind::ABLMesoscaleForcing::m_tendency {false}
protected

◆ m_time

const SimTime& amr_wind::ABLMesoscaleForcing::m_time
protected

◆ m_transition_height

amrex::Real amr_wind::ABLMesoscaleForcing::m_transition_height
protected

◆ m_transition_thickness

amrex::Real amr_wind::ABLMesoscaleForcing::m_transition_thickness
protected

◆ m_update_transition_height

bool amr_wind::ABLMesoscaleForcing::m_update_transition_height {false}
protected

◆ m_user_specified_weighting

bool amr_wind::ABLMesoscaleForcing::m_user_specified_weighting {false}
protected

◆ m_W

amrex::Vector<amrex::Real> amr_wind::ABLMesoscaleForcing::m_W
protected

◆ m_weighting_heights

amrex::Vector<amrex::Real> amr_wind::ABLMesoscaleForcing::m_weighting_heights
protected

◆ m_weighting_values

amrex::Vector<amrex::Real> amr_wind::ABLMesoscaleForcing::m_weighting_values
protected

◆ m_zht

amrex::Vector<amrex::Real> amr_wind::ABLMesoscaleForcing::m_zht
protected

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