getfem-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Getfem-users] simulation membrane in 3D space


From: jerome chopard
Subject: [Getfem-users] simulation membrane in 3D space
Date: Tue, 24 Mar 2009 11:25:10 +0100

Hi,

I'm new at using GetFem++. I wanted to inflate a sphere with a given pressure. I used 2D triangles and the 'isotropic_linearized_elasticity' brick. Since the result looks quite strange, I think I made a conceptual error somewhere. I join to this mail a picture of the result. Below is the part of the python code relevant with my problem.

#BEGIN python code

m = Mesh('empty',3)
geo = GeoTrans('GT_PK(2,1)')

#construction of mesh here

FIXED = 41
m.set_region(FIXED,50)

displacement = MeshFem(m,3)
displacement.set_fem(Fem('FEM_PK(2,1)'))

pressure = MeshFem(m,1)
pressure.set_fem(Fem('FEM_PK(2,1)'))

mim = MeshIm(m)
mim.set_integ(Integ('IM_TRIANGLE(13)'))

#building model
E=1e3
Nu=0.3
Lambda = E*Nu/((1+Nu)*(1-2*Nu))
Mu =E/(2*(1+Nu))
Pturgor = 0.1 #(MPa) #turgor pressure

b0 = MdBrick('isotropic_linearized_elasticity',mim,displacement)
b0.set_param('lambda',array([Lambda]))
b0.set_param('mu',array([Mu]))

b1 = MdBrick('dirichlet',b0,FIXED,displacement,'penalized')
b1.set_param('R',array([(0.,),(0.,),(0.,)]) )

b2 = MdBrick('source_term',b1)
forces = turgor_forces(mesh,pos,Pturgor)
b2.set_param('source_term',pressure,forces)

mds = MdState('real')
b2.solve(mds,'noisy','lsolver','superlu')
state = mds.state()

#display the result

#END python code

I hope somebody can explain where I'm wrong. Of course, I'm available if someone need more informations.

Thanks,

Jérôme Chopard
PS: description of the associated image "result.png". On the picture, the initial mesh (an icosahedre) is represented in plain 'red' faces. The face wich is FIXED is the green one below the sphere. The same mesh after displacement is represented as a set of edges (dark blue lines). Displacement have been multiplied by 30 to be visibles. Notice how the mesh deformation is not symetric (inflated on the left but deflated on the right) which is couterintuitive for me.

Attachment: result.png
Description: PNG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]