BodyForce Class Reference

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

#include <BodyForce.H>

Inheritance diagram for amr_wind::pde::icns::BodyForce:
[legend]
Collaboration diagram for amr_wind::pde::icns::BodyForce:
[legend]

Public Member Functions

 BodyForce (const CFDSim &)
 
 ~BodyForce () override
 
void operator() (const int lev, const amrex::MFIter &mfi, const amrex::Box &bx, const FieldState fstate, const amrex::Array4< amrex::Real > &src_term) const override
 
void read_bforce_profile (const std::string &filename)
 
void read_bforce_timetable (const std::string &filename)
 

Static Public Member Functions

static std::string identifier ()
 

Private Attributes

const SimTimem_time
 Time.
 
const amrex::AmrCore & m_mesh
 
amrex::Vector< amrex::Real > m_body_force {0.0, 0.0, 0.0}
 Forcing source term (pressure gradient)
 
std::string m_type {"uniform_constant"}
 Body Force Type.
 
std::string m_utt_file
 Uniform time table file.
 
amrex::Real m_omega {0.0}
 Angular frequency used in the oscillatory forcing.
 
std::string m_bforce_file
 
size_t m_bforce_profile_nhts
 
amrex::Gpu::DeviceVector< amrex::Real > m_prof_x
 
amrex::Gpu::DeviceVector< amrex::Real > m_prof_y
 
amrex::Gpu::DeviceVector< amrex::Real > m_ht
 
amrex::Vector< amrex::Real > m_time_table
 Vectors for storing uniform_timetable inputs.
 
amrex::Vector< amrex::Real > m_fx_table
 
amrex::Vector< amrex::Real > m_fy_table
 
amrex::Vector< amrex::Real > m_fz_table
 

Detailed Description

Apply a user-defined body force as a source term

The implementation can apply either a constant source term, or a sinusoidal term as a function of time.

Constructor & Destructor Documentation

◆ BodyForce()

amr_wind::pde::icns::BodyForce::BodyForce ( const CFDSim & sim)
explicit

Body Force

◆ ~BodyForce()

amr_wind::pde::icns::BodyForce::~BodyForce ( )
overridedefault

Member Function Documentation

◆ identifier()

static std::string amr_wind::pde::icns::BodyForce::identifier ( )
inlinestatic

◆ operator()()

void amr_wind::pde::icns::BodyForce::operator() ( const int lev,
const amrex::MFIter & mfi,
const amrex::Box & bx,
const FieldState fstate,
const amrex::Array4< amrex::Real > & src_term ) const
override

◆ read_bforce_profile()

void amr_wind::pde::icns::BodyForce::read_bforce_profile ( const std::string & filename)

◆ read_bforce_timetable()

void amr_wind::pde::icns::BodyForce::read_bforce_timetable ( const std::string & filename)

Member Data Documentation

◆ m_bforce_file

std::string amr_wind::pde::icns::BodyForce::m_bforce_file
private

◆ m_bforce_profile_nhts

size_t amr_wind::pde::icns::BodyForce::m_bforce_profile_nhts
private

◆ m_body_force

amrex::Vector<amrex::Real> amr_wind::pde::icns::BodyForce::m_body_force {0.0, 0.0, 0.0}
private

Forcing source term (pressure gradient)

◆ m_fx_table

amrex::Vector<amrex::Real> amr_wind::pde::icns::BodyForce::m_fx_table
private

◆ m_fy_table

amrex::Vector<amrex::Real> amr_wind::pde::icns::BodyForce::m_fy_table
private

◆ m_fz_table

amrex::Vector<amrex::Real> amr_wind::pde::icns::BodyForce::m_fz_table
private

◆ m_ht

amrex::Gpu::DeviceVector<amrex::Real> amr_wind::pde::icns::BodyForce::m_ht
private

◆ m_mesh

const amrex::AmrCore& amr_wind::pde::icns::BodyForce::m_mesh
private

◆ m_omega

amrex::Real amr_wind::pde::icns::BodyForce::m_omega {0.0}
private

Angular frequency used in the oscillatory forcing.

◆ m_prof_x

amrex::Gpu::DeviceVector<amrex::Real> amr_wind::pde::icns::BodyForce::m_prof_x
private

◆ m_prof_y

amrex::Gpu::DeviceVector<amrex::Real> amr_wind::pde::icns::BodyForce::m_prof_y
private

◆ m_time

const SimTime& amr_wind::pde::icns::BodyForce::m_time
private

Time.

◆ m_time_table

amrex::Vector<amrex::Real> amr_wind::pde::icns::BodyForce::m_time_table
private

Vectors for storing uniform_timetable inputs.

◆ m_type

std::string amr_wind::pde::icns::BodyForce::m_type {"uniform_constant"}
private

Body Force Type.

◆ m_utt_file

std::string amr_wind::pde::icns::BodyForce::m_utt_file
private

Uniform time table file.


The documentation for this class was generated from the following files:
  • /home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/icns/source_terms/BodyForce.H
  • /home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/icns/source_terms/BodyForce.cpp