Screw channel is rectangular
Screw channel is unrolled (like a flat plate)
Cylinder is a plane surface moving over screw channel
Molten fluid is newtonian
Fluid is uncompressible
Process is continuos and has reached stationary conditions
This is the original equation, describes the motion of viscous fluid substances. Uses newton second law & merges with assumption that stress in the fluid is because of pressure & viscous diffusion.
\begin{array}{ll} \frac{\delta^2 v}{\delta x^2} + \frac{\delta^2 v}{\delta^2 y^2} = \frac{1}{\eta}(\frac{dP}{dZ}) \end{array}Screw volumetric flow rate equation is the final step of this equation
This equation is Hagen-Poiseuille which was obtained experimentally.
\begin{array}{ll} Q^{nozzle} = \frac{\pi R^4}{8 L} \frac{\Delta P}{\eta} \end{array}Velocity across the screw
It is very interesting to see that both terms are produced because of pressure and fluid dragging. This plot shows how velocity behaves as a sum of both components.
Code & conclusions
Play with variables (wide range available) to see how the system behaves and which nozzle should be taken for each screw.
Screw length affects slope of Q = f(pressure drop) if it increases slope decreases. Channel depth affects intercept of flow rate so if it increases intercept decreases.
Nozzle equation for Q=f(pressure drop) starts at the origin and when bigger the nozzle is the bigger its slope.
Operating points are the ones where screw operating line and nozzle operating line intersect.
Therefore, if nozzle is small choose hight screw length vs channel depth. If it is greater just the opposite.
Take a look at the code and choose the best operating point
In [1]:
# Import matplotlib (plotting) and numpy (numerical arrays).
# This enables their use in the Notebook.
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import turtle
# Import IPython's interact function which is used below to
# build the interactive widgets
from IPython.html.widgets import interact
In [6]:
visc = 10**3 # [Pa s]
R_nozzle= 0.0015 #[m]
h = 0.0024 #[m]
def plot_flow_rate(D=0.05,L = 1, angle= 17*2*np.pi/360, N = 100/60,L_nozzle = 0.04,plot_nozzle=True):
"""
plot nozzle variable can be set to false in order to not to show its plot.
"""
R = D/2 #[m]
AP = np.linspace(100, 700, 100)*10**6 #[Pa]
Q = np.pi**2 * D**2 *(np.sin(angle)*np.cos(angle))*h*N/2 - h**3 * np.pi * D * np.sin(angle)**2 * AP/12/visc/L #[m3 s-1]
Qn = np.pi * R_nozzle**4 / 8 / L_nozzle * AP/visc #[m3 s-1]
fig, ax = plt.subplots(figsize=(8, 6))
ax.set_xlabel('$\Delta P $ (Pa) ')
ax.set_ylabel('Volumetric flow rate (m3 s)')
ax.set_title('Extrusion stage operating lines')
if plot_nozzle:
ax.plot(AP, Qn, color='red', linestyle='solid', linewidth=2)
ax.plot(AP, Q, marker='o', linewidth=2)
interact(plot_flow_rate, D=(0.01, 0.09, 0.01), L=(0.4,20,1), angle=(10*2*np.pi/360,30*2*np.pi/360,2*np.pi/360), N=(0.5,3,0.5),L_nozzle = (0.01,0.08,0.01), plot_nozzle=True);