MaMiCo 1.2
Loading...
Searching...
No Matches
coupling::solvers::CouetteSolver< dim > Class Template Reference

implements an analytic Couette flow solver. More...

#include <CouetteSolver.h>

Inheritance diagram for coupling::solvers::CouetteSolver< dim >:
Collaboration diagram for coupling::solvers::CouetteSolver< dim >:

Public Member Functions

 CouetteSolver (const double &channelheight, const double &wallVelocity, const double kinVisc)
 a simple constructor
 
virtual ~CouetteSolver ()
 a dummy destructor
 
virtual void advance (double dt)
 advances one time step dt in time
 
virtual tarch::la::Vector< dim, double > getVelocity (tarch::la::Vector< dim, double > pos) const
 returns the velocity vector at a certain channel position
 
virtual void setWallVelocity (const tarch::la::Vector< dim, double > wallVelocity)
 changes the velocity at the moving for, refers to Couette scenario
 
- Public Member Functions inherited from coupling::solvers::AbstractCouetteSolver< dim >
virtual ~AbstractCouetteSolver ()
 a dummy destructor
 

Private Attributes

const double _channelheight
 height of couette channel
 
double _wallVelocity
 velocity of moving wall
 
const double _kinVisc
 kinematic viscosity
 
double _time
 current time
 

Detailed Description

template<unsigned int dim>
class coupling::solvers::CouetteSolver< dim >

implements an analytic Couette flow solver.

In our scenario, the lower wall is accelerated and the upper wall stands still. The lower wall is located at zero height.

Author
Philipp Neumann
Template Parameters
dimrefers to the spacial dimension of the simulation, can be 1, 2, or 3

Constructor & Destructor Documentation

◆ CouetteSolver()

template<unsigned int dim>
coupling::solvers::CouetteSolver< dim >::CouetteSolver ( const double & channelheight,
const double & wallVelocity,
const double kinVisc )
inline

a simple constructor

Parameters
channelheightthe height and width of the channel in y and z direction
wallVelocitythe velocity at the moving wall
kinViscthe kinematic viscosity of the fluid

Member Function Documentation

◆ advance()

template<unsigned int dim>
virtual void coupling::solvers::CouetteSolver< dim >::advance ( double dt)
inlinevirtual

advances one time step dt in time

Parameters
dtsize of the time step to advance

Implements coupling::solvers::AbstractCouetteSolver< dim >.

◆ getVelocity()

template<unsigned int dim>
virtual tarch::la::Vector< dim, double > coupling::solvers::CouetteSolver< dim >::getVelocity ( tarch::la::Vector< dim, double > pos) const
inlinevirtual

returns the velocity vector at a certain channel position

for the first entry of the vector is the analytic solution of the Couette scenario returned, given by: u(z,t)= V(1-z/H) - 2V/pi*sum_k=1^infty 1/k*sin(k*pi*z/H)*exp(-k^2 pi^2/H^2 * nu*t) The other two entries are 0

Parameters
posthe position to return the velocity for
Returns
a velocity vector

Implements coupling::solvers::AbstractCouetteSolver< dim >.

◆ setWallVelocity()

template<unsigned int dim>
virtual void coupling::solvers::CouetteSolver< dim >::setWallVelocity ( const tarch::la::Vector< dim, double > wallVelocity)
inlinevirtual

changes the velocity at the moving for, refers to Couette scenario

Parameters
wallVelocityvalue to which the veloctiy will be set

Implements coupling::solvers::AbstractCouetteSolver< dim >.


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