[Top][All Lists]

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

Re: [Getfem-users] eigenstrain

From: fabien amiot
Subject: Re: [Getfem-users] eigenstrain
Date: Mon, 08 Oct 2012 11:37:19 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/20110506 Icedove/3.0.11

Dear Yves,

By loading my system through an eigenstrain, I mean replacing the linear elastic constitutive law by

\epsilon = (1+\nu)/E \sigma - (\nu / E) Tr(\sigma) Id + \epsilon_f Id

where \epsilon_f is the (scalar) eigenstrain (a particular case would be the thermal expansion of the material : \epsilon_f = \Delta T * CTE). Inverting the above constitutive law yields

\sigma = \lambda Tr(\epsilon) + 2 \mu \epsilon +p Id

where the value for the additional pressure p (as a function of \epsilon_f) depends on the chosen modeling (3d / 2d with plane stress / 2d with plane strain). My plan was thus to set the value of the unknown added by the linear incompressibility brick in order to introduce the desired loading.

I hope this makes things clear.
Best regards,

On 06/10/2012 17:19, Yves Renard wrote:
Dear Fabien Amiot,

This is compeltely normal that you have a vanishing rhs since there is no load 
on your model (volumic or surface forces). The incompressibility brick 
introduces a new unknown (the pressure) and term to ensure that the 
displacement is (linearly) incompressible. In fact, I did not understand well 
what you  intend to do.


----- Original Message -----
From: "fabien amiot"<address@hidden>
To: address@hidden
Sent: Thursday, October 4, 2012 4:02:20 PM
Subject: [Getfem-users] eigenstrain

Dear all,

I'm rather new to Getfem (Matlab-interface), and I'm trying to simulate
a (linear elastic) bimorph :

% cantilever length
% cantilever thickness
% thickness ratio
% Lame parameters
Young=60E9; nu=0.3;
%% Build the mesh
% cantilever
canti_m=gf_mesh('regular simplices',0:(L./10):L, (-H):(H./4):0);
% layer
layer_m=gf_mesh('regular simplices',0:(L./10):L, 0:(r.*H./4):(r.*H));
% retrieve the CVFIDs for the 2 regions
canti_cvfids = gf_mesh_get(canti_m, 'region',gf_mesh_get(canti_m,
layer_cvfids = gf_mesh_get(layer_m, 'region',gf_mesh_get(layer_m,
% merge the two meshes
gf_mesh_set(canti_m, 'merge', layer_m);
% set the region numbers
gf_mesh_set(canti_m, 'region', 1, canti_cvfids);
gf_mesh_set(canti_m, 'region', 2, layer_cvfids);
% integration method
gf_mesh_im_set(mim, 'integ',gf_integ('IM_TRIANGLE(6)'));
% fem object for displacement
gf_mesh_fem_set(mfu, 'fem',gf_fem('FEM_PK(2,2)'));
% fem object for pressure (used to impose the free strain as a
incompressibility condition)
gf_mesh_fem_set(mfp, 'fem',gf_fem('FEM_PK(2,1)'));
%% build elastic model
gf_model_set(md, 'add fem variable', 'u', mfu);
gf_model_set(md, 'add initialized data', 'lambda', [lambda]);
gf_model_set(md, 'add initialized data', 'mu', [mu]);
gf_model_set(md, 'add initialized data', 'lambda_layer', [lambda_layer]);
gf_model_set(md, 'add initialized data', 'mu_layer', [mu_layer]);
% set the elastic parameters for the cantilever
gf_model_set(md, 'add isotropic linearized elasticity brick', ...
               mim, 'u', 'lambda', 'mu',1);
% set the elastic parameters for the layer
gf_model_set(md, 'add isotropic linearized elasticity brick', ...
               mim, 'u', 'lambda_layer', 'mu_layer',2);
% set the boundary condition (clamping)
fleft =gf_mesh_get(canti_m,'faces from pid',find(abs(P(1,:))<1e-6));
gf_model_set(md, 'add Dirichlet condition with multipliers', ...
               mim, 'u', mfu, 3);

The idea is to describe the eigenstrain by exploiting the linear
incompressibility brick :

% set the loading
gf_model_set(md, 'add fem variable', 'p', mfp);
gf_model_set(md, 'add initialized data', 'coef', 1.);
gf_model_set(md, 'add linear incompressibility brick', mim, 'u', 'p', 2,

But this produces a zero rhs (as seen from gf_model_get(md,'rhs') ). I
guess I miss either an important thing or an efficient alternative way
to achieve this...

Best regards,

Fabien AMIOT
Chargé de recherche CNRS en colere / cross Research Associate
Tel : (+33) (0)
Fax : (+33) (0)
UMR6174 / FEMTO-ST, Dpt. Mécanique Appliquée
24, rue de l'Épitaphe
25000 Besancon

reply via email to

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