Windtunnel/Boundary Conditions: Difference between revisions

From Arbeitsgruppe Kuiper
Jump to navigation Jump to search
(→‎Reflective cells: link -> talk)
(→‎Object: flux 0)
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Windtunnel online|up]]
= New Keywords =
== in pluto.ini ==
* <code>ObjectType_int</code>: 0=nothing, 1=cylinder/sphere, 2=square/cube of size <code>ObjectDiameter_cm</code>
* <code>WindPressure_Pa</code>, <code>WindPressure_mbar</code> (mutually exclusive): pressure at entry (left)
* <code>PressureGradient_mbar_per_cm</code> positive (even though pressure drops from left to right)
* Wind velocity is ramped up to <code>WindVelocity_m_per_s</code> over time <code>InjectionTime_s</code>
* <code>WindTemperature_C</code>
* <code>KinematicViscosity_m2_per_s</code>, <code>DynamicViscosity_Pa_s</code>,
* <code>Wall_BoundaryCondition</code> for tangential walls, value from {0,1,2,3}
(ignored if given values <0)
== in init.c ==
* macro <code>SOLID</code> to enable an object
* array <code>solid</code> containing value 1 or 0 for object matter being present/absent
= Walls =
[[File:WT- Boundary Condition Skizze.jpg|thumb]]
== tangential ==
{| class="wikitable" id="ganz_oben"
|+ id="Ü-id" |
|- id="K-id"
!colspan="3"| Boundary condition for the wall
|- id="Sprungziel1"
| || vx1 || vx2
|-
| no-shear || zero-gradient || reflective
|-
| no-slip || reflective || reflective
|-
| no-wall || zero-gradient || zero-gradient
|-
| one-way wall || zero-gradient || zero-gradient & no-inflow
|}
== entry/exit ==
=== prescribed velocity at entry (left) ===
=== prescribe pressure drop (left to right) ===
* current simulation result: vx-profile slightly asymmetric and vx<0 at one wall
= Object =
* Strong asymmetry when driven by pressure gradient. Bug!
[[File:Asymmetry.png|thumb|center|500px|vy is not symmetric to the x-axis.]]
* At the boundary of a region which has <code>FLAG_INTERNAL_BOUNDARY</code> set, '''no''' boundary conditions are specified. Ghostcells are frozen.
* Rolfs proposition for the object boundary: Set the mass ''flux'' at the boundary to zero after the Riemann solver has computed it.
= Open Questions =
= Open Questions =


Line 4: Line 62:


Setting the vector vg in a ghost cell as vg=v, with v being the value in the adjacent real cell, yields 0 as interpolation right at the boundary. This works for plane walls. What to do in cases where a ghost cell has more than one real cell as nearest neighbor? This calls for [[Talk:Windtunnel/Boundary_Conditions|discussion]]!
Setting the vector vg in a ghost cell as vg=v, with v being the value in the adjacent real cell, yields 0 as interpolation right at the boundary. This works for plane walls. What to do in cases where a ghost cell has more than one real cell as nearest neighbor? This calls for [[Talk:Windtunnel/Boundary_Conditions|discussion]]!
= Analytical Solutions =
== empty 2D channel ==
$$
v_x(y) = \frac{\Delta p}{L}\frac{D^2/4-y^2}{2\mu}
$$
== empty circular tube ==
$$
v_z(r) = \frac{\Delta p}{L}\frac{R^2-r^2}{4\mu}
$$
with μ=dynamical viscosity

Latest revision as of 15:48, 29 October 2024

up

New Keywords

in pluto.ini

  • ObjectType_int: 0=nothing, 1=cylinder/sphere, 2=square/cube of size ObjectDiameter_cm
  • WindPressure_Pa, WindPressure_mbar (mutually exclusive): pressure at entry (left)
  • PressureGradient_mbar_per_cm positive (even though pressure drops from left to right)
  • Wind velocity is ramped up to WindVelocity_m_per_s over time InjectionTime_s
  • WindTemperature_C
  • KinematicViscosity_m2_per_s, DynamicViscosity_Pa_s,
  • Wall_BoundaryCondition for tangential walls, value from {0,1,2,3}

(ignored if given values <0)

in init.c

  • macro SOLID to enable an object
  • array solid containing value 1 or 0 for object matter being present/absent

Walls

WT- Boundary Condition Skizze.jpg

tangential

Boundary condition for the wall
vx1 vx2
no-shear zero-gradient reflective
no-slip reflective reflective
no-wall zero-gradient zero-gradient
one-way wall zero-gradient zero-gradient & no-inflow

entry/exit

prescribed velocity at entry (left)

prescribe pressure drop (left to right)

  • current simulation result: vx-profile slightly asymmetric and vx<0 at one wall


Object

  • Strong asymmetry when driven by pressure gradient. Bug!
vy is not symmetric to the x-axis.
  • At the boundary of a region which has FLAG_INTERNAL_BOUNDARY set, no boundary conditions are specified. Ghostcells are frozen.
  • Rolfs proposition for the object boundary: Set the mass flux at the boundary to zero after the Riemann solver has computed it.

Open Questions

Reflective cells

Setting the vector vg in a ghost cell as vg=v, with v being the value in the adjacent real cell, yields 0 as interpolation right at the boundary. This works for plane walls. What to do in cases where a ghost cell has more than one real cell as nearest neighbor? This calls for discussion!

Analytical Solutions

empty 2D channel

vx(y)=ΔpLD2/4y22μ

empty circular tube

vz(r)=ΔpLR2r24μ

with μ=dynamical viscosity