# RinglebMeshGenerator

## Overview

This mesh can be applied to a Ringleb problem. This problem tests the spatial accuracy of high-order methods. The flow is transonic and smooth. The geometry is also smooth, and high-order curved boundary representation appears to be critical.

## Governing Equations

The governing equations are the 2D Euler equations with .

## Geometry

Let be a streamline parameter, i.e., on each streamline. The two stream lines for the two wall boundaries are for the inner wall, and for the outer wall. Let be the velocity magnitude. For each fixed , , the variable varies between and . For each , define the speed of sound , density , pressure , and a quantity denoted by by:

For each pair , set:

## Mesh Overlook

For example, let's consider the following input file:


[MeshGenerators]
[./ringleb]
type = RinglebMeshGenerator
kmin = 0.7
num_k_pts = 9
num_q_pts = 20
kmax = 1.2
n_extra_q_pts = 2
gamma = 1.4
triangles = true
[]
[]


The corresponding mesh looks like this:

## Input Parameters

• num_k_ptsHow many points in the range k=(kmin, kmax).

C++ Type:int

Options:

Description:How many points in the range k=(kmin, kmax).

• kminValue of k on the outer wall.

C++ Type:double

Options:

Description:Value of k on the outer wall.

• num_q_ptsHow many points to discretize the range q = (0.5, k) into.

C++ Type:int

Options:

Description:How many points to discretize the range q = (0.5, k) into.

• n_extra_q_ptsHow many 'extra' points should be inserted in the final element *in addition to* the equispaced q points.

C++ Type:int

Options:

Description:How many 'extra' points should be inserted in the final element *in addition to* the equispaced q points.

• kmaxValue of k on the inner wall.

C++ Type:double

Options:

Description:Value of k on the inner wall.

• gammaGamma parameter

C++ Type:double

Options:

Description:Gamma parameter

### Required Parameters

• trianglesFalseIf true, all the quadrilateral elements will be split into triangles

Default:False

C++ Type:bool

Options:

Description:If true, all the quadrilateral elements will be split into triangles

• outflow_bid3The boundary id to use for the outflow

Default:3

C++ Type:short

Options:

Description:The boundary id to use for the outflow

• inner_wall_bid2The boundary id to use for the inner wall

Default:2

C++ Type:short

Options:

Description:The boundary id to use for the inner wall

• outer_wall_bid4The boundary id to use for the outer wall

Default:4

C++ Type:short

Options:

Description:The boundary id to use for the outer wall

• inflow_bid1The boundary id to use for the inflow

Default:1

C++ Type:short

Options:

Description:The boundary id to use for the inflow

### Optional Parameters

• control_tagsAdds user-defined labels for accessing object parameters via control logic.

C++ Type:std::vector

Options:

Description:Adds user-defined labels for accessing object parameters via control logic.

• enableTrueSet the enabled status of the MooseObject.

Default:True

C++ Type:bool

Options:

Description:Set the enabled status of the MooseObject.