A FEniCS Tutorial - FEniCS Project
A FEniCS Tutorial - FEniCS Project
A FEniCS Tutorial - FEniCS Project
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Here, T is the tension in the membrane (constant), p is the external pressure<br />
load, A the amplitude of the pressure, (x 0 ,y 0 ) the localization of the Gaussian<br />
pressure function, and σ the ”width” of this function. The boundary of the<br />
membrane has no deflection, implying D = 0 as boundary condition.<br />
For scaling and verification it is convenient to simplify the problem to find<br />
an analytical solution. In the limit σ → ∞, p → A/(2πσ), which allows us<br />
to integrate an axi–symmetric version of the equation in the radial coordinate<br />
r ∈ [0,R] and obtain D(r) = (r 2 − R 2 )A/(8πσT). This result gives a rough<br />
estimate of the characteristic size of the deflection: |D(0)| = AR 2 /(8πσT),<br />
which can be used to scale the deflecton. With R as characteristic length scale,<br />
we can derive the equivalent dimensionless problem on the unit circle,<br />
−∇ 2 w = f, (16)<br />
with w = 0 on the boundary and with<br />
(<br />
f(x,y) = 4exp − 1 ( ) 2 Rx−x0<br />
− 1 ( ) ) 2 Ry −y0<br />
. (17)<br />
2 σ 2 σ<br />
For notational convenience we have dropped introducing new symbols for the<br />
scaled coordinates in (17). Now D is related to w through D = AR 2 w/(8πσT).<br />
Let us list the modifications of the d1_p2D.py program that are needed to<br />
solve this membrane problem:<br />
• Initialize T, A, R, x 0 , y 0 , and σ,<br />
• create a mesh over the unit circle,<br />
• make an expression object for the scaled pressure function f,<br />
• define the a and L formulas in the variational problem for w and compute<br />
the solution,<br />
• plot the mesh, w, and f,<br />
• write out the maximum real deflection D.<br />
Some suitable values of T, A, R, x 0 , y 0 , and σ are<br />
T = 10.0 # tension<br />
A = 1.0 # pressure amplitude<br />
R = 0.3 # radius of domain<br />
theta = 0.2<br />
x0 = 0.6*R*cos(theta)<br />
y0 = 0.6*R*sin(theta)<br />
sigma = 0.025<br />
A mesh over the unit circle can be created by<br />
21