Windtunnel/Boundary Conditions: Difference between revisions

From Arbeitsgruppe Kuiper
Jump to navigation Jump to search
(new)
 
(major tidying, focus on a manual for the user_defined_parameters, 2 new pages for the problems)
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Open Questions =
[[Windtunnel online|up]]


== Reflective cells ==
= New user_defined_parameters in pluto.ini =


Setting the vector \(\vec v_g\) in a ghost cell as \(\vec v_g=-\vec v\), with \(\vec v\) being the value in the adjacent real cell, yields \(\vec 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?
* <code>KinematicViscosity_m2_per_s</code>, <code>DynamicViscosity_Pa_s</code>: read in ''visc_nu.c''
 
== for Domain Boundaries ==
 
* <code>Wall_BoundaryCondition</code> for tangential walls (X2_BEG, X2_END), value from {0,1,2,3}:
{| class="wikitable"
! value || [[:File:WT- Boundary Condition Skizze.jpg|meaning]] || VX1 || VX2
|-
| 0 || no-shear || zero-gradient || reflective
|-
| 1 || no-slip || reflective || reflective
|-
| 2 || no-wall || zero-gradient || zero-gradient
|-
| 3 || one-way wall || zero-gradient || zero-gradient & no-inflow
|}
 
* <code>WindPressure_Pa</code>, <code>WindPressure_mbar</code> (mutually exclusive): pressure at entry (X1_BEG)
* <code>PressureGradient_mbar_per_cm</code>:
** driving the flow if positive<sup>1</sup>
** ignored if negative, then ''WindVelocity'' is driving the flow.
* <code>WindVelocity_m_per_s</code>, <code>InjectionTime_s</code>: Wind velocity at entry (X1_BEG) is ramped up from 0 to the given value over the given time (if pressure gradient < 0 is specified).
* <code>WindTemperature_C</code>: determines density (via pressure) at entry (X1_BEG)
 
<sup>1</sup>: even though pressure ''drops'' from left to right
 
== for Solid Object ==
 
(needs <code>SOLID = YES</code> in ''makefile_user_machinedefs'')
 
* <code>ObjectType_int</code>:
** 0 = nothing
** 1 = cylinder/sphere of diameter <code>ObjectDiameter_cm</code> centered on the origin
** 2 = square/cube of edge length <code>ObjectDiameter_cm</code> centered on the origin
** \(-n\) = File ''solid.txt'' contains (at most) \(n\) voxels (lines of \(x~y~z\)). Voxels outside the origin-centered sphere of radius 0.6·<code>ObjectDiameter_cm</code> are discarded.
 
* <code>Obj_BoundaryCondition</code>:
** -1 = no-slip
** <s>1 = no-shear</s> (unavailable due to an [[Windtunnel/Boundary_Conditions/on_Object|unresolved issue]])
 
= Analytical Solutions =
 
(for comparisons)
 
== 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 \(\mu\)=dynamical viscosity

Latest revision as of 16:56, 23 May 2025

up

New user_defined_parameters in pluto.ini

  • KinematicViscosity_m2_per_s, DynamicViscosity_Pa_s: read in visc_nu.c

for Domain Boundaries

  • Wall_BoundaryCondition for tangential walls (X2_BEG, X2_END), value from {0,1,2,3}:
value meaning VX1 VX2
0 no-shear zero-gradient reflective
1 no-slip reflective reflective
2 no-wall zero-gradient zero-gradient
3 one-way wall zero-gradient zero-gradient & no-inflow
  • WindPressure_Pa, WindPressure_mbar (mutually exclusive): pressure at entry (X1_BEG)
  • PressureGradient_mbar_per_cm:
    • driving the flow if positive1
    • ignored if negative, then WindVelocity is driving the flow.
  • WindVelocity_m_per_s, InjectionTime_s: Wind velocity at entry (X1_BEG) is ramped up from 0 to the given value over the given time (if pressure gradient < 0 is specified).
  • WindTemperature_C: determines density (via pressure) at entry (X1_BEG)

1: even though pressure drops from left to right

for Solid Object

(needs SOLID = YES in makefile_user_machinedefs)

  • ObjectType_int:
    • 0 = nothing
    • 1 = cylinder/sphere of diameter ObjectDiameter_cm centered on the origin
    • 2 = square/cube of edge length ObjectDiameter_cm centered on the origin
    • \(-n\) = File solid.txt contains (at most) \(n\) voxels (lines of \(x~y~z\)). Voxels outside the origin-centered sphere of radius 0.6·ObjectDiameter_cm are discarded.
  • Obj_BoundaryCondition:

Analytical Solutions

(for comparisons)

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 \(\mu\)=dynamical viscosity