IBAMR  IBAMR version 0.19.
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
IBAMR::FirstOrderStokesWaveGenerator Class Reference

Class for generating first order water waves based upon linear wave theory.

#include <ibamr/FirstOrderStokesWaveGenerator.h>

Inheritance diagram for IBAMR::FirstOrderStokesWaveGenerator:
Inheritance graph
[legend]

Public Member Functions

 FirstOrderStokesWaveGenerator (const std::string &object_name, SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > input_db)
 
double getSurfaceElevation (double x, double time) const override
 
double getVelocity (double x, double z_plus_d, double time, int comp_idx) const override
 
double getWaterDepth () const
 
double getWaveAngularFrequency () const
 
double getWaveNumber () const
 
double getWaveAmplitude () const
 
double getGravity () const
 

Public Attributes

WaveGenerationData d_wave_gen_data
 

Protected Member Functions

void getFromInput (SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > db)
 

Protected Attributes

std::string d_object_name
 
double d_depth
 Wave parameters. More...
 
double d_omega
 
double d_wave_number
 
double d_amplitude
 
double d_gravity
 
bool d_deep_water_limit = false
 

Constructor & Destructor Documentation

◆ FirstOrderStokesWaveGenerator()

IBAMR::FirstOrderStokesWaveGenerator::FirstOrderStokesWaveGenerator ( const std::string &  object_name,
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database input_db 
)

Member Function Documentation

◆ getSurfaceElevation()

double IBAMR::FirstOrderStokesWaveGenerator::getSurfaceElevation ( double  x,
double  time 
) const
overridevirtual

Get surface elevation at a specified horizontal position and time.

Implements IBAMR::StokesWaveGeneratorStrategy.

◆ getVelocity()

double IBAMR::FirstOrderStokesWaveGenerator::getVelocity ( double  x,
double  z_plus_d,
double  time,
int  comp_idx 
) const
overridevirtual

Get velocity component at a specified position and time.

Implements IBAMR::StokesWaveGeneratorStrategy.

◆ getWaterDepth()

double IBAMR::StokesWaveGeneratorStrategy::getWaterDepth ( ) const
inherited

◆ getWaveAngularFrequency()

double IBAMR::StokesWaveGeneratorStrategy::getWaveAngularFrequency ( ) const
inherited

◆ getWaveNumber()

double IBAMR::StokesWaveGeneratorStrategy::getWaveNumber ( ) const
inherited

◆ getWaveAmplitude()

double IBAMR::StokesWaveGeneratorStrategy::getWaveAmplitude ( ) const
inherited

◆ getGravity()

double IBAMR::StokesWaveGeneratorStrategy::getGravity ( ) const
inherited

◆ getFromInput()

void IBAMR::StokesWaveGeneratorStrategy::getFromInput ( SAMRAI::tbox::Pointer< SAMRAI::tbox::Database db)
protectedinherited

Get wave parameters from input db.

Member Data Documentation

◆ d_wave_gen_data

WaveGenerationData IBAMR::StokesWaveGeneratorStrategy::d_wave_gen_data
inherited

◆ d_object_name

std::string IBAMR::StokesWaveGeneratorStrategy::d_object_name
protectedinherited

Book-keeping.

◆ d_depth

double IBAMR::StokesWaveGeneratorStrategy::d_depth
protectedinherited
Parameters
d_wave_number: Wave number of dominant wave component [$2\pi/m$]
d_amplitude: Amplitude of the dominant wave component [m]
d_depth: Depth of water, from sea bed to still water level [m]
d_gravity: Acceleration due to gravity [$m/s^2$]
d_omega: Angular frequency [$2 \pi/s$] (optional)

\NOTE The class calculates a more accurate value of omega from the expansion coefficients and the provided value in not used.

◆ d_omega

double IBAMR::StokesWaveGeneratorStrategy::d_omega
protectedinherited

◆ d_wave_number

double IBAMR::StokesWaveGeneratorStrategy::d_wave_number
protectedinherited

◆ d_amplitude

double IBAMR::StokesWaveGeneratorStrategy::d_amplitude
protectedinherited

◆ d_gravity

double IBAMR::StokesWaveGeneratorStrategy::d_gravity
protectedinherited

◆ d_deep_water_limit

bool IBAMR::StokesWaveGeneratorStrategy::d_deep_water_limit = false
protectedinherited

If we are calculating in deep water limit.


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