ryujin 2.5.0 revision 3a6c8d57210175dea14d8116e1fe878f349f8c1c
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Functions
Geometries
Collaboration diagram for Geometries:

Namespaces

namespace  ryujin::GridGenerator
 

Classes

class  ryujin::CubicSpline
 
class  ryujin::MeshAlignment< dim >
 
class  ryujin::CutCellDecomposition< dim >
 
class  ryujin::Geometry< dim >
 
class  ryujin::Manifolds::AirfoilManifold< dim >
 
class  ryujin::Manifolds::GradingManifold< dim >
 
class  ryujin::Manifolds::ExtrudedManifold< dim >
 
class  ryujin::Geometries::Airfoil< dim >
 
class  ryujin::Geometries::Annulus< dim >
 
class  ryujin::Geometries::Cylinder< dim >
 
class  ryujin::Geometries::Disk< dim >
 
class  ryujin::Geometries::GeoTIFFProfile< dim >
 
class  ryujin::Geometries::Reader< dim >
 
class  ryujin::Geometries::RectangularDomain< dim >
 
class  ryujin::Geometries::Step< dim >
 
class  ryujin::Geometries::WaveTank< dim >
 
class  ryujin::Geometries::TwoTanks< dim >
 
class  ryujin::Geometries::Wall< dim >
 

Typedefs

template<int dim>
using ryujin::GeometryLibrary = Library< Geometry< dim >, const std::string & >
 

Functions

template<int dim, int spacedim, template< int, int > class Triangulation>
void ryujin::GridGenerator::annulus (Triangulation< dim, spacedim > &, const double, const double, const double, const double)
 
template<int dim, int spacedim, template< int, int > class Triangulation>
void ryujin::GridGenerator::cylinder (Triangulation< dim, spacedim > &, const double, const double, const double, const double)
 
template<int dim, template< int, int > class Triangulation>
void ryujin::GridGenerator::step (Triangulation< dim, dim > &, const double, const double, const double, const double)
 
template<int dim, int spacedim, template< int, int > class Triangulation>
void ryujin::GridGenerator::wavetank (Triangulation< dim, spacedim > &, const double, const double, const double, const double)
 
template<int dim, int spacedim, template< int, int > class Triangulation>
void ryujin::GridGenerator::twotanks (Triangulation< dim, spacedim > &, const double, const double, const double, const double, const unsigned int)
 
template<int dim, int spacedim, template< int, int > class Triangulation>
void ryujin::GridGenerator::wall (Triangulation< dim, spacedim > &, const double, const double, const double)
 

Detailed Description

The library of computational domains that can be selected with the run time parameter "geometry", together with the helper classes they use (include/ryujin/geometries).

Typedef Documentation

◆ GeometryLibrary

template<int dim>
using ryujin::GeometryLibrary = typedef Library<Geometry<dim>, const std::string &>

The library of geometries: a registry of all geometries that the Discretization can select by name. The built-in geometries of the namespace Geometries are registered by default. A client adds a geometry of its own with

Definition at line 29 of file geometry_library.h.

Function Documentation

◆ annulus()

template<int dim, int spacedim, template< int, int > class Triangulation>
void ryujin::GridGenerator::annulus ( Triangulation< dim, spacedim > &  ,
const double  ,
const double  ,
const double  ,
const double   
)

Create a 2D/3D partial annulus configuration with the given length, height, radii and angle coverage.

We set slip boundary conditions on all boundaries.

Definition at line 24 of file geometry_annulus.h.

Referenced by ryujin::Geometries::Annulus< dim >::create_coarse_triangulation().

◆ cylinder()

template<int dim, int spacedim, template< int, int > class Triangulation>
void ryujin::GridGenerator::cylinder ( Triangulation< dim, spacedim > &  ,
const double  ,
const double  ,
const double  ,
const double   
)

Create a 2D/3D cylinder configuration with the given length and height.

We set Dirichlet boundary conditions on the left boundary and do-nothing boundary conditions on the right boundary. All other boundaries (including the cylinder) have slip boundary conditions prescribed.

The 3D mesh is created by extruding the 2D mesh with a width equal to the "height".

Definition at line 30 of file geometry_cylinder.h.

Referenced by ryujin::Geometries::Cylinder< dim >::create_coarse_triangulation().

◆ step()

template<int dim, template< int, int > class Triangulation>
void ryujin::GridGenerator::step ( Triangulation< dim, dim > &  ,
const double  ,
const double  ,
const double  ,
const double   
)

Create the 2D mach step triangulation.

Even though this function has a template parameter dim, it is only implemented for dimension 2.

Definition at line 24 of file geometry_step.h.

Referenced by ryujin::Geometries::Step< dim >::create_coarse_triangulation().

◆ wavetank()

template<int dim, int spacedim, template< int, int > class Triangulation>
void ryujin::GridGenerator::wavetank ( Triangulation< dim, spacedim > &  ,
const double  ,
const double  ,
const double  ,
const double   
)

Create a 2D numerical wave tank with specifications outlined in Figure 4 of [18]. The tank consists of a rectangular water reservoir with a long flume attached to the "center" of the reservoir. For the sake of simplicity, we assume the centerline of the flume and reservoir align at y = 0.

All outer walls have "slip" boundary conditions except outer wall at the end of the tank which has dynamic outflow conditions.

Definition at line 29 of file geometry_tank.h.

Referenced by ryujin::Geometries::WaveTank< dim >::create_coarse_triangulation().

◆ twotanks()

template<int dim, int spacedim, template< int, int > class Triangulation>
void ryujin::GridGenerator::twotanks ( Triangulation< dim, spacedim > &  ,
const double  ,
const double  ,
const double  ,
const double  ,
const unsigned int   
)

Create a 2D numerical tank configuration.

The domain consists of two "tanks" attached via a "tunnel". For the sake of simplicity, we assume a couple of things:

  1. the two tanks are the same size,
  2. the centerline of tanks and tunnel align at y = 0.

The walls of the tunnel have "slip" (or wall / reflecting) boundary conditions. The "inner" walls also have slip boundary conditions. For the left/right external boundaries, we assume "dynamic".

NOTE: The default parameters are arbitrary.

Definition at line 34 of file geometry_two_tanks.h.

Referenced by ryujin::Geometries::TwoTanks< dim >::create_coarse_triangulation().

◆ wall()

template<int dim, int spacedim, template< int, int > class Triangulation>
void ryujin::GridGenerator::wall ( Triangulation< dim, spacedim > &  ,
const double  ,
const double  ,
const double   
)

Create a 2D double-mach reflection wall configuration:

A rectangular domain with given length and height. The boundary conditions are dirichlet conditions on the top and left of the domain and do-nothing on the right side and the front part of the bottom side from [0, wall_position). Slip boundary conditions are enforced on the bottom side on [wall_position, length).

Definition at line 28 of file geometry_wall.h.

Referenced by ryujin::Geometries::Wall< dim >::create_coarse_triangulation().