From 3386314c0047f29b1d4c5b8a9a8f1292dab6885c Mon Sep 17 00:00:00 2001 From: lu-kas Date: Thu, 29 Apr 2021 23:12:57 +0200 Subject: [PATCH] Added fluids section, first version --- book/_config.yml | 1 + book/_static/custom.css | 15 + book/_toc.yml | 2 +- book/content/modelling/02_fluids/01_fluids.md | 494 +++++++++++++++++- .../figs/boundaries_compartment.drawio | 1 + .../02_fluids/figs/boundaries_compartment.svg | 3 + .../figs/boundaries_open_plume.drawio | 1 + .../02_fluids/figs/boundaries_open_plume.svg | 3 + 8 files changed, 518 insertions(+), 2 deletions(-) create mode 100644 book/_static/custom.css create mode 100644 book/content/modelling/02_fluids/figs/boundaries_compartment.drawio create mode 100644 book/content/modelling/02_fluids/figs/boundaries_compartment.svg create mode 100644 book/content/modelling/02_fluids/figs/boundaries_open_plume.drawio create mode 100644 book/content/modelling/02_fluids/figs/boundaries_open_plume.svg diff --git a/book/_config.yml b/book/_config.yml index 9496da85..cb195595 100644 --- a/book/_config.yml +++ b/book/_config.yml @@ -50,6 +50,7 @@ sphinx: TeX: Macros: "vv": "\\vec{v}" + "vu": "\\vec{u}" "mf": "\\small\\sf" "dQ": "\\dot{Q}" "dq": "\\dot{q}" diff --git a/book/_static/custom.css b/book/_static/custom.css new file mode 100644 index 00000000..6d8a39d8 --- /dev/null +++ b/book/_static/custom.css @@ -0,0 +1,15 @@ +.rotate90 { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); + margin-top: -15%; + margin-bottom: -15%; +} + +iframe { + display: block; + border-style:none; + margin: 0 auto; +} \ No newline at end of file diff --git a/book/_toc.yml b/book/_toc.yml index 0c8f123a..f970dc12 100644 --- a/book/_toc.yml +++ b/book/_toc.yml @@ -29,7 +29,7 @@ - file: content/modelling/02_fluids/00_overview sections: - file: content/modelling/02_fluids/01_fluids - - file: content/modelling/02_fluids/02_cfd +# - file: content/modelling/02_fluids/02_cfd # - file: content/modelling/02_fluids/03_turbulence - file: content/modelling/03_compartments/00_overview diff --git a/book/content/modelling/02_fluids/01_fluids.md b/book/content/modelling/02_fluids/01_fluids.md index e530a453..7d91ca49 100644 --- a/book/content/modelling/02_fluids/01_fluids.md +++ b/book/content/modelling/02_fluids/01_fluids.md @@ -1 +1,493 @@ -# Fluids \ No newline at end of file +# Fluids + +## Overview +Fluid dynamics describes the movement of liquids or gases. The following aspects may be needed to be taken into account: + +* compressibility +* boundary conditions, e.g. walls +* turbulence +* heat conduction +* chemical reactions +* multiple species and states of matter +* etc. + +**Fire safety science** + +In fire safety science, fluid dynamics plays an important role in the understanding of dynamical fire phenomena. Fluid dynamics must be considered e.g. during mixing processes, combustion, convective heat transfer or the smoke spread in complex buildings. + +
+ + +**Technical applications** + +A classical application example is the optimisation of transport vehicles to reduce the drag. + + + +## Fundamentals + +In the fluid dynamics, the following processes represent the most fundamental ones: + +* **Flow** describes the movement of the medium. It is a vector field and describes the velocity of the fluid at every point in space and time: $\mf \vv = \vv(x,t)$. The velocity components are denoted as $\mf \vv = (v_x,v_y,v_z) = (u,v,w)$. +* **Convection** is the fluid intrinsic movement, i.e. due to buoyancy. +* **Advection** describes the transport of matter or properties (density, temperature, +smoke) due to the flow. Convection is the advection of the velocity. +* **Diffusion** is a process that drives a balancing process to equilibrate differences in flow properties (velocity, temperature, smoke density). + +### Flow Quantities + +* density $\mf \rho$, $\mf [\rho] = kg/m$ , scalar field +* velocity $\mf \vv$, $\mf [\vv] = m/s$, vector field +* vorticity $\mf \vec{\omega} = \nabla \times \vv$, $\mf [\vec{\omega}] = 1/s$, vector field +* momentum density $\mf \vu = \rho\vv$, $\mf [\vu] = kg/(m^2~s)$, vector field +* pressure $\mf p$, $\mf [p] = Pa = kg/(m~s^2)$, scalar field +* temperature $\mf T$, $\mf [T] = K$, scalar field +* specific enthalpy $\mf h = \int_{T_0}^T c_p(T')\ dT' + \Delta h_f^0$ , $\mf [h] = J/kg = m^2/s^2$ , scalar field + +Where $\mf c_p(T)$ is the heat capacity at temperature $\mf T$ and $\mf \Delta h_f^0$ is the heat of formation. + +### Speed of Sound + +In fluids and solids, information (flow changes, perturbations) propagates with a finite speed: the speed of sound. Sound waves are longitudinal compression waves. Typical travel speeds are $\mf 343~m/s$ in air, $\mf 1484~m/s$ in water and $\mf 5120~m/s$ in steel. +In general the speed of sound $\mf c$ in an ideal gas is given by: + +$$ +\mf c = \sqrt{\frac{\gamma k_B T}{m}} +$$(eq-speed-of-sound) + +where $\mf \gamma$ is the heat capacity ratio $\mf \gamma=c_P/c_V$, $\mf k_B$ is the Boltzmann constant ($\mf \sim\!1.381\cdot 10^{−23}~J/K$), T the gas temperature, and $\mf m$ the mass of a single gas molecule. In general, for a given gas species, the speed of sound depends only on the temperature. For dry air, it can be approximated as: + +$$ +\mf c_{air} =(331.3+0.606\cdot \Theta) m/s +$$(eq-c-in-air) + +where $\mf \Theta$ is the air temperature in $\mf ^\circ C$. + +### Equation of State + +For an ideal or perfect gas the state can usually be described in terms of two thermodynamic variables ($\mf n$, $\mf\rho$, $\mf p$, $\mf e$, $\mf T$, $\mf V$, $\mf m$, $\mf h$). Following the combination of Boyle’s and Charles’ laws in a thermodynamical equilibrium, the equation of state follows as: + +$$ +\mf pV = nRT +$$(eq-equation-of-state) + +where $\mf R = 8.314~J/(mol~K)$ is the universal gas constant and $\mf n$ is the number of particles. Reactive flows are mostly a compound of a number of different species. Thus the equation of state for a system in equilibrium with $\mf N$ species becomes + +$$ +\mf p = f(V, T, n_1 , \dots , n_N)\quad . +$$ + +Dalton’s law of partial pressures $\mf p_i$ allows to formulate the total pressure + +$$ +\mf p = \sum_{i=1}^N p_i = \frac{1}{V} \sum_{i=1}^N n_i R T\quad . +$$ + +## Characterisation of Flows +Flows of fluids (liquids and gases) follow the same principal characteristics. In the following there will be no difference in liquid or gas flows. They will only differ in material properties. Examples for a fluid flow: + + +:::{figure-md} fig-fluid-vortex-island + + + +Von Kármán vortex street observed in nature. Soruce: [Wikkimedia Commons](https://commons.wikimedia.org/wiki/File:Vortex-street-1.jpg). +::: + + +:::{figure-md} fig-fluid-vortex-lab + + + +Von Kármán vortex street in a lab. Soruce: [Wikkimedia Commons](https://commons.wikimedia.org/wiki/File:VortexStreet01.jpg). +::: + +### Compressible Flows + +The flows involving velocities much slower ($\mf \ll c$) than the speed of sound are incompressible, i.e. the sound waves are infinitely fast on the scale of the involved processes. Thus, all changes in density are quickly balanced. Objects traveling with a speed of at least $\mf 0.3c$ start to introduce fluctuations in density. Flow patterns of supersonic phenomena (explosion, supersonic airplanes) and the corresponding engineering approaches are completely different to those in case of sub sonic flows. + +Note: Temperature changes, like in a fire, lead to density changes and therefore to so called weakly compressible flows. + +:::{figure-md} fig-fluid-laminar + + + +Incompressilbe flow around a model car. Soruce: [Wikkimedia Commons](https://commons.wikimedia.org/wiki/File:Aerodynamics_of_model_car.jpg). +::: + + +:::{figure-md} fig-fluid-supersonic + + + +Supersonic airplane model in a tunnel with at approximately $\mf 3.5 c$. Soruce: [Wikkimedia Commons](https://en.wikipedia.org/wiki/Compressible_flow#/media/File:X-15_Model_in_Supersonic_Tunnel_-_GPN-2000-001272.jpg). +::: + +### Turbulent Flows + +Depending on how smooth (continuous) a flow is, one can distinguish between laminar and turbulent flows. Flows related to fires are typically turbulent. + + +:::{figure-md} fig-fluid-turbulence-separation + + + +Flow around an airfoil with a flow separation. Soruce: [Wikkimedia Commons](https://commons.wikimedia.org/wiki/File:1915ca_abger_fluegel.jpg). +::: + + + + +### Material Parameters + +The following material properties are of fundamental interest: + +* **density** $\mf\rho$ is the mass per given volume + * air at $\mf 20~^\circ C$ : $\mf\rho = 1.205~kg/m^3$ + * air at $\mf 200~^\circ C$: $\mf\rho = 0.746~kg/m^3$ +* **dynamic viscosity** $\mf\mu$ characterises the capability of a flow to balance differences in velocity + * air at $\mf 20~^\circ C$ : $\mf\mu = 1.836\cdot 10^{-5}~kg\,m / s$ + * air at $\mf 200~^\circ C$: $\mf\mu = 2.623\cdot 10^{-5}~kg\,m / s$ +* **thermal conductivity** $\mf k$ is equivalent to $\mf\mu$, but for the temperature of a fluid + * air at $\mf 20~^\circ C$ : $\mf k = 0.0257~W\,m / K$ + * air at $\mf 200~^\circ C$: $\mf k = 0.0386~W\,m / K$ +* **heat capacity** $c_p$ describes the change in temperature, due to adding or extracting heat at a constant pressure + * air at $\mf 20~^\circ C$ : $\mf c_p = 1.005~kJ\,kg / K$ + * air at $\mf 200~^\circ C$: $\mf c_p = 1.026~kJ\,kg / K$ + + +Further data for many properties of air (and other materials) can be found at [Engineering ToolBox (air properties)](https://www.engineeringtoolbox.com/air-properties-d_156.html). + +**Example quantity: viscosity** + +Simply speaking, viscosity describes how moving fluid elements, e.g. layers, influence the neighbouring elements. It describes the friction forces between relatively moving fluid elements. + +For example, honey has a high viscosity: it flows only slowly down a spoon. The outer ”honey elements” are strongly coupled to the inner – not free – elements. + +:::{figure-md} fig-fluid-honey + + + +Honey running down a spoon. Soruce: [Wikkimedia Commons](https://commons.wikimedia.org/wiki/File:Runny_hunny.jpg). +::: + +In a simple two dimensional setup, with a stationary wall and a moving wall, see {numref}`fig-fluid-viscosity`, the dynamic viscosity describes the relation of the forces on the walls and the velocity gradient. If the velocity gradient $\mf u/y$ is constant, this results in the following friction force per area: + +$$ +\mf \frac{F}{A} = \mu \cdot \frac{u}{y} +$$ (eq-dyn-vis) + + +:::{figure-md} fig-fluid-viscosity + + + +Visualisation of the viscosity concepte. Soruce: [Wikkimedia Commons](https://commons.wikimedia.org/wiki/File:Laminar_shear.svg). +::: + +Relation {eq}`eq-dyn-vis` is the definition of the *dynamic viscosity* $\mf \mu$. Yet, in some cases the *kinematic viscosity* $\mf \nu$ (or momentum diffusivity) is a more convenient quantity. It is given by the ratio of the dynamic viscosity and the density + +$$ +\mf \nu = \frac{\mu}{\rho} \quad . +$$ (eq-kin-vis) + + +Fluids for which viscosity does not depend on the stress state are called Newtonian fluids, which is true for all gases. However, there exist also [non-Newtonian fluids](https://en.wikipedia.org/wiki/Non-Newtonian_fluid), like blood, tomato ketchup is corn starch. + + + +### Dimensionles numbers + +Many flow phenomena and types may be characterised by dimensionless numbers. It is assumed, that flows with same characteristics are comparable, although e.g. the spatial scales are different. Some of the commonly used ones are: +* [Mach number](https://en.wikipedia.org/wiki/Mach_number) $\mf Ma$ +* [Reynolds number](https://en.wikipedia.org/wiki/Reynolds_number) $\mf Re$ +* Grashof number $\mf Gr$ +* Prandtl number $\mf Pr$ +* Archimedes number $\mf Ar$ +* Richardson number $\mf Ri$ +* Nussel number $\mf Nu$ + + +**Mach number** + +The Mach number is defined as the relation of a velocity to the speed of sound, i.e. + +$$ +\mf Ma = v\cdot c +$$ + +This number characterises the compressibility of a flow: +* $\mf Ma \rightarrow 0$: fully incompressible +* $\mf Ma \lesssim 0.3$: incompressible +* $\mf Ma \gtrsim 0.3$: compressible + +The limit $\mf Ma \rightarrow 0$ may be also interpreted as $\mf c \rightarrow \infty$. + +**Reynolds number** + +The Reynolds number relates convection to diffusion: + +$$ +\mf Re = \frac{\rho v L}{\mu} +$$ + +Here, $\mf L$ denotes a characteristic length, in the case of a pipe flow, this would be the pipe diameter. The Reynolds number can be used to distinguish laminar from turbulent flows, i.e. a very high $\mf Re$ represents turbulent flows. In a pipe flow, the characteristic transition number is about $\mf Re \approx 4000$. +This number is a classical example for scaling. Flow phenomena having the same Reynolds number will behave the same way; this can be shown by normalisation of the flow equations. + +:::{figure-md} fig-fluid-re-table + + + +Reynolds numbers for some flying objects (in German). Soruce: [Wikkimedia Commons](https://de.wikipedia.org/wiki/Reynolds-Zahl#/media/Datei:Reynoldsflugrpd.png). +::: + + +## Fluid Equations + +### Conservation laws + +The fluid dynamics is based on the following three physical conservation laws: + +* mass conservation +* momentum conservation +* energy conservation + +From these laws the basic fluid flow equations may be derived: + +* continuity equation +* equation of motion +* energy equation + +In general, beside these equations a closure, e.g. via an equation of state, is needed. In many cases the ideal gas law can be used. + +**Conservation of mass** + +The conservation of mass predicts, that the total mass of a control volume does change only if there is a net flow (non balanced in and out flow) across the boundaries. Incompressible flows have always zero net flows. + +In fire simulations, multiple species have to be considered (e.g. oxygen, fuel and carbon dioxide). Their masses are individually conserved. However, they are strongly coupled to each other via source terms. E.g. during combustion, oxygen and fuel are consumed to produce carbon dioxide. + +**Conservation of momentum** + +The momentum of a fluid element changes only due to: + +* momentum advection +* gradients of pressure +* diffusion and stresses, i.e. due to finite viscosity +* external forces, e.g. gravitation, water droplets + +In turbulent simulations, the diffusion is of special interest. This is the phenomenon that must be covered by turbulence models. + +**Conservation of energy** + +Changes in energy of a control volume are due to: + +* energy advection +* heat conduction +* heating and cooling processes, e.g. radiation, friction, combustion + +In combination with the conservation of energy, an equation of state is needed to determine the gas temperature. + +### Partial Differential Equations + +Partial differential equations (PDE) are one of the most powerful tools in science and engineering. Most technical, mathematical, physical, chemical and even biological models are based on differential equations. The solutions of differential equations may describe: + +* gas flows and combustion processes +* heat distribution in solids +* oscillation of a pendulum +* propagation of light or water waves +* interaction of two species (predator and pray) + +**Types of PDEs** + +The general structure of a PDE for $\mf\phi = \phi(x,y)$ is given by + +$$ +\mf a\partial_{xx}\phi + b\partial_{xy}\phi + c\partial_{yy}\phi + d\partial_x\phi + e\partial_y\phi + f\phi = 0 +$$ + +where all coefficients ($\mf a,\dots,f$) are dependent on $\mf x$ and $\mf y$, e.g. $\mf a = a(x,y)$. + +The coefficients determine the character of the PDE: + +$$ +\mf D(x,y) = a(x,y)\cdot c(x,y) - \left(\frac{b(x,y)}{2}\right)^2 +$$ + +* $\mf D \gt 0$: elliptic, e.g. Laplace equation +* $\mf D = 0$: parabolic, e.g. heat equation +* $\mf D \lt 0$: hyperbolic, e.g. wave equation + +Note: The type may dependent on varying material parameter or/and the position, here $\mf (x,y)$. + +**Field Operators** + +The two most common mathematical operators used in fluid dynamics are the partial derivative and the Nabla operator. + +The **partial derivative** describes the change of a field in a given space or time direction. The change of a velocity field $\mf \vv(x,y,z,t)$ with respect to the time is: + +$$ +\mf \frac{\partial \vec{v}(x,y,z,t)}{\partial t} \quad \mbox{or short}\quad \partial_t \vec{v}(x,y,z,t) +$$ + +The **Nabla operator** $\mf \nabla$ is used to represent the Laplace, gradient, divergence and rotation operations. + +$$ +\mf \nabla = \left( \partial_x, \partial_y, \partial_z \right) +$$ + +$$ +\mf \Delta(\rho) = \nabla^2\rho \\ +\mf grad(\rho) = \nabla\rho \\ +\mf div(\vv) = \nabla\cdot\vv \\ +\mf srot(\vv) = \nabla\times\vv +$$ + +The **convective derivative** combines both operators. It represents the total change of a value due to local intrinsic changes and due to advection. The change in a scalar value $\mf \phi(x,y,z,t)$ may therefore be written as + +$$ +\mf \frac{d\phi}{dt} = \partial_t \phi + \vv\cdot(\nabla\phi) +$$ + +The first term ($\mf \partial_t \phi$) represents intrinsic changes and the second one ($\mf\vv\cdot(\nabla\phi)$) describes the changes due to the advection in the velocity field $\mf\vv$. + +### Continuity Equation + +The continuity equation for a single species flow is + +$$ +\mf \frac{d\rho}{dt} = \underbrace{-\rho\nabla\cdot\vec{v}}_{A} +$$ (eq-fluid-cont) + +* $\mf A$: net flow flux of mass + +Taking into account the convective derivative, the commonly used formulation may be derived as + +$$ +\mf \partial_t \rho = -\nabla\cdot(\rho\vec{v})\quad . +$$ (eq-fluid-cont-conservative) + +### Equation of motion + +Taking into account the conservation of momentum, the following simple form of the equation of motion may be formulated + +$$ +\mf \partial_t \rho\vec{v} + \nabla\cdot(\rho\vec{v}\vec{v}) = \underbrace{-\nabla p}_{A} + \underbrace{\mu\nabla^2\vec{v}}_{B} + \underbrace{\vec{f}}_{C} +$$ (eq-fluid-momentum) + +* $\mf A$: force due to pressure gradients +* $\mf B$: molecular diffusion +* $\mf C$: external forces, e.g. gravity + +These equation is commonly known as the Navier-Stokes equation. + +### Energy equation + +The equation for the energy $E = e + \frac{1}{2}\vv^2$ is given by + +$$ +\mf \partial_t (\rho E) + \nabla\cdot(\vec{v}\rho E) = \underbrace{-\nabla\cdot(\vec{v}p)}_{A} + \underbrace{\nabla\cdot(\mu\vec{v}\nabla\vec{v})}_{B} + \underbrace{\nabla\cdot(k\nabla T)}_{C}+ \underbrace{\vec{v}\cdot\vec{f}}_{D}+\underbrace{\dot{Q_s}}_{E} +$$ (eq-fluid-energy) + +* $\mf A$: work done on the fluid due to pressure gradients +* $\mf B$: work done by viscosity +* $\mf C$: heat conduction +* $\mf D$: work done by external forces +* $\mf E$: heat sources and sinks + +Note: Sometimes a formulation in terms of enthalpy is preferred. This is the case for the equations solved by FDS. + +### Incompressible equations + +If the flow is incompressible and assumed to be isothermal, the remaining equations to be solved are: + +$$ +\mf \partial_t \rho\vec{v} + \nabla\cdot(\rho\vec{v}\vec{v}) = -\nabla p + \mu\nabla^2\vec{v} + \vec{f} \\ +\mf \nabla^2 p = - \nabla\cdot\left(\nabla\cdot(\rho\vec{v}\vec{v})\right) + \nabla \cdot \vec{f} +$$ + +### Weakly compressible regime + +In fully *incompressible* flows the pressure instantly balances all divergences and keeps therefore the density constant. + +In the *compressible* regime, the ideal gas law provides the linkage between the energy conservation and the conservation of mass and momentum. + +For low speed flows, like in fires, but with substantial temperature variations the density may change. This is not due to pressure variations, as the pressure remains relatively unperturbed. This is the so called *weakly compressible* regime. + +Here the equation of state is used with a fixed ambient pressure $\mf p_0$ to determine the density: + +$$ +\mf \rho = \frac{p_0 M}{R T} +$$ + +with $\mf M$ being the molecular mass of the volume of interest. + +## Boundary Conditions + +Besides the fluid equations, the boundary conditions are an other important aspect. In many applications, the impact of boundary conditions is crucial and a proper treatment of those essential. + +In general there exist a few types of boundary conditions: + +* Dirichlet: explicit values are prescribed + + $$ + \mf u=u_0\quad v=w=0 + $$ + +* Neumann: normal derivative is prescribed + + $$ + \mf \partial_n u = n_0\quad \partial_n v = \partial_n w = 0 + $$ + +* symmetric: derivatives are adopted to preserve a prescribed symmetry +* periodic: values at the facing boundaries are kept equal + + +Some explicit examples for boundary conditions used commonly in fluid dynamics: + +* no-slip at solid wall + + $$ + \mf u = v = w = 0 \quad \mbox{at the wall} + $$ +* gas inlet + + $$ + \mf u = u_0\quad v=w=0 \quad \mbox{at the inflow} + $$ +* gas outflow + + $$ + \mf \partial_n u = \partial_n v = \partial_n w = 0\quad \mbox{at the outflow} + $$ +* constant wall temperature + + $$ + \mf T = T_w + $$ +* wall with changing temperature, but fixed wall heat flux + + $$ + \mf q_w = k \partial_n T\quad \mbox{at the wall} + $$ +* adiabatic + + $$ + \mf k\partial_n T = 0 \quad \mbox{at the wall} + $$ + +:::{figure-md} fig-fluid-bnd-open + + + +Example for a boundary setup for a open plume. +::: + + + +:::{figure-md} fig-fluid-bnd-compartment + + + +Example for a boundary setup for a simple compartment. +::: \ No newline at end of file diff --git a/book/content/modelling/02_fluids/figs/boundaries_compartment.drawio b/book/content/modelling/02_fluids/figs/boundaries_compartment.drawio new file mode 100644 index 00000000..de84d299 --- /dev/null +++ b/book/content/modelling/02_fluids/figs/boundaries_compartment.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/book/content/modelling/02_fluids/figs/boundaries_compartment.svg b/book/content/modelling/02_fluids/figs/boundaries_compartment.svg new file mode 100644 index 00000000..d3b0df78 --- /dev/null +++ b/book/content/modelling/02_fluids/figs/boundaries_compartment.svg @@ -0,0 +1,3 @@ + + +
open boundary
open boundary
no slip boundary
no slip boundary
inflow
inflow
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/book/content/modelling/02_fluids/figs/boundaries_open_plume.drawio b/book/content/modelling/02_fluids/figs/boundaries_open_plume.drawio new file mode 100644 index 00000000..7389ab52 --- /dev/null +++ b/book/content/modelling/02_fluids/figs/boundaries_open_plume.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/book/content/modelling/02_fluids/figs/boundaries_open_plume.svg b/book/content/modelling/02_fluids/figs/boundaries_open_plume.svg new file mode 100644 index 00000000..72dff48a --- /dev/null +++ b/book/content/modelling/02_fluids/figs/boundaries_open_plume.svg @@ -0,0 +1,3 @@ + + +
open boundary
open boundary
no slip boundary
no slip boundary
inflow
inflow
Viewer does not support full SVG 1.1
\ No newline at end of file