Hi Daniel,
Of course this greatly helps me !
I am impressed by the flexibilty of Fipy, really,
Thank you so much for your help,
I keep in touch with you about the success of the run :)
Best regards,
florian
Daniel Wheeler a écrit :
Hi Florian,
Answers below.
On 9/18/07, Florian De Vuyst <[EMAIL PROTECTED]> wrote:
Hi Daniel,
Thanks a lot for your answer, as you ask me, I give the elesticity
equations.
Imagine in 2D, U=(u,v) a two-dimensional spatial field, mu and lambda
are the Lamé parameters
(constant or possibly spatial functions). F=(f,g) is an external force
field.
Then the system of two equations is say :
div.[ mu grad(U) + mu [grad(U)]^T + lambda I tr(grad(U)) ] + F = (0,0).
As you see, both u and v appear in the two equations,
Inside the div.[...] you will matrices.
In your opinion, can it be possible to embed those equations in the Fipy
framework ?
Yes. Here's how. First create a mesh then create the two field variables
mesh = ...
u = CellVariable(mesh=mesh)
v = CellVariable(mesh=mesh)
The equations will be,
Xhat = (1, 0)
Yhat = (0, 1)
u_eqn = DiffusionTerm(mu) \
+ mu * (u.getFaceGrad().dot(Xhat) * Xhat \
+ v.getFaceGrad().dot(Xhat) * Yhat).getDivergence() \
+ ConvectionTerm(lambda * Xhat) \
+ lambda * v.getGrad().dot(Yhat) \
+ f
v_eqn = DiffusionTerm(mu) \
+ mu * (u.getFaceGrad().dot(Yhat) * Xhat \
+ v.getFaceGrad().dot(Yhat) * Yhat).getDivergence() \
+ ConvectionTerm(lambda * Yhat) \
+ lambda * u.getGrad().dot(Xhat) \
+ g
Then iterate the equations
for step in range(steps):
u_eqn.solve(u)
v_eqn.solve(v)
Note the following about the above equations:
* I haven't tested them. Get back to me if there are problems.
* I'm assuming constant mu and lambda in space.
* The lambda term has been made implicit, could do a similar thing with the
transposed term.
* Fipy would have a neater script if we could define U = (f, g)
and have a vector
equation. This is not possible yet. I could do with that in my
work as well. We have
vector variables, just not vector equations. This requires
fixing boundary conditions
as well.
* Boundary conditions could get a little tricky with the way the
above equations
are defined. Check back with me if you have problems.
* You may need some relaxation to solve to equilibrium.
Hope this helps.
Cheers
--
================================================================
Florian De Vuyst, Tel +33(1)41.13.17.19
Ecole Centrale PARIS Telecopie +33(1)41.13.17.35
labo. MAS, Grande Voie des Vignes, 92295 Chatenay-Malabry France
Page perso : http://norma.mas.ecp.fr/wikimas/FlorianDeVuyst
================================================================