<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.apple-tab-span
{mso-style-name:apple-tab-span;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="FR" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hello everyone,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Based on the Wiki example '2D linear elasticity' I would like to define an axisymmetric problem for a cylinder under external pressure.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">The geometry is simple : a rectangular shape. Pressure is applied on outer surface. Upper and lower edges are clamped along Y direction (Y is axis of symmetry for geometry). I use Jacobian VolAxi and SurAxi. The result
is a global displacement of geometry as if it was just a 2D square and not a symmetry of revolution around Y axis. So my question is rather simple : is VolAxi and SurAxi are suited for axisymmetric linear elasticty problems? If so, could you help me to understand
the results.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Below is the code for .geo and .pro files :<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">AxiElasticity.geo file<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">r0 = 10e-3;<o:p></o:p></span></p>
<p class="MsoNormal">r1 = 80e-3;<o:p></o:p></p>
<p class="MsoNormal">L = 100e-3;<o:p></o:p></p>
<p class="MsoNormal">lc = 5e-3;<o:p></o:p></p>
<p class="MsoNormal">Point(1) = {r0,0.0,0.0,lc};<o:p></o:p></p>
<p class="MsoNormal">Point(2) = {r1-1e-6,0.0,0.0,lc};<o:p></o:p></p>
<p class="MsoNormal">Point(3) = {r1-1e-6,L,0.0,lc};<o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">Point(4) = {r0,L,0.0,lc};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Line(1) = {1,2};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Line(2) = {2,3};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Line(3) = {3,4};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Line(4) = {4,1};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Line Loop(5) = {1,2,3,4};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Plane Surface(6) = {5};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Physical Surface(100) = {6}; // Cyl<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Physical Line(101) = {2}; // ForceCyl<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Physical Line(102) = {1,3}; // Edges<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Transfinite Line{4,2} = 150;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">AxiElasticity.pro file<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Group {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Domain_Disp = Region[100];<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Domain_Force = Region[101];<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Edges = Region[102] ; <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> DomainTot = Region[ {Domain_Disp, Domain_Force} ];<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> DefineGroup[ DomainInf ] ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> DefineVariable[ Val_Rint, Val_Rext ] ;<o:p></o:p></span></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Function {<o:p></o:p></p>
<p class="MsoNormal"> E = 2e11;<o:p></o:p></p>
<p class="MsoNormal"> v = 0.3;<o:p></o:p></p>
<p class="MsoNormal"> Lambda = E*v/((1+v)*(1-2*v));<o:p></o:p></p>
<p class="MsoNormal"> Mu = E/(2*(1+v)); <o:p></o:p></p>
<p class="MsoNormal"> Pression = 10e6; <o:p></o:p></p>
<p class="MsoNormal"> r0 = 10e-3;<o:p></o:p></p>
<p class="MsoNormal"> r1 = 80e-3;<o:p></o:p></p>
<p class="MsoNormal"> L = 100e-3;<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> C_m[ Domain_Disp ] = Tensor[Lambda+2*Mu,Lambda,0,Lambda,Lambda+2*Mu,0,0,0,Mu];<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> <span lang="EN-US">F[Domain_Force] = Pression*Vector[-1,0,0];<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Constraint {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name DeplacementX ; Type Assign ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Case {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name DeplacementY ; Type Assign ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Case {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Region Edges; Value 0.0 ; }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name DeplacementZ ; Type Assign ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Case {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Jacobian {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name MyJac ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Case {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Region DomainInf ; Jacobian VolAxiSphShell {Val_Rint, Val_Rext} ; }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Region Domain_Force ; Jacobian SurAxi ; }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Region All ; Jacobian VolAxi ; }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Integration {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name GradGrad ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Case { <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Type Gauss ;<o:p></o:p></span></p>
<p class="MsoNormal"><span class="apple-tab-span"><span lang="EN-US">
</span></span><span lang="EN-US">Case { <o:p></o:p></span></p>
<p class="MsoNormal"><span class="apple-tab-span"><span lang="EN-US">
</span></span><span lang="EN-US"> { GeoElement Point ; NumberOfPoints 1 ; }<o:p></o:p></span></p>
<p class="MsoNormal"><span class="apple-tab-span"><span lang="EN-US">
</span></span><span lang="EN-US"> { GeoElement Line ; NumberOfPoints 2 ; } <o:p></o:p></span></p>
<p class="MsoNormal"><span class="apple-tab-span"><span lang="EN-US">
</span></span><span lang="EN-US"> { GeoElement Triangle ; NumberOfPoints 4 ; } <o:p></o:p></span></p>
<p class="MsoNormal"><span class="apple-tab-span"><span lang="EN-US">
</span></span><span lang="EN-US"> { GeoElement Quadrangle ; NumberOfPoints 4 ; }<o:p></o:p></span></p>
<p class="MsoNormal"><span class="apple-tab-span"><span lang="EN-US">
</span></span><span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">/* --------------------------------------------------------------------------*/<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">/* Mechanics - Displacement ux, uy, uz formulations */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">FunctionSpace {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name H_u_Mec2D ; Type Vector ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> BasisFunction {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name sxn ; NameOfCoef uxn ; Function BF_NodeX ;<o:p></o:p></span></p>
<p class="MsoNormal"><span class="apple-tab-span"><span lang="EN-US">
</span></span><span lang="EN-US">dFunction {BF_NodeX_D12, BF_Zero} ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Support DomainTot ; Entity NodesOf[ All ] ; }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name syn ; NameOfCoef uyn ; Function BF_NodeY ;<o:p></o:p></span></p>
<p class="MsoNormal"><span class="apple-tab-span"><span lang="EN-US">
</span></span><span lang="EN-US">dFunction {BF_NodeY_D12, BF_Zero} ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Support DomainTot ; Entity NodesOf[ All ] ; }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Constraint {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { NameOfCoef uxn ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> EntityType NodesOf ; NameOfConstraint DeplacementX ; }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { NameOfCoef uyn ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> EntityType NodesOf ; NameOfConstraint DeplacementY ; }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">/*------------------------------------------------------------------------*/<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Formulation {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name Mec2D_u ; Type FemEquation ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Quantity {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name u ; Type Local ; NameOfSpace H_u_Mec2D ; }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Equation {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Galerkin { [ C_m[] * Dof{D1 u}, {D1 u} ] ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> In Domain_Disp ; Jacobian MyJac ; Integration GradGrad ; } <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Galerkin { [ -F[] , {u} ] ; <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> In Domain_Force; Jacobian MyJac; Integration GradGrad; } <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">/*------------------------------------------------------------------------*/<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Resolution {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name Mec2D_u ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> System {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name Sys_Mec ; NameOfFormulation Mec2D_u ; }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Operation { Generate Sys_Mec ; Solve Sys_Mec ; SaveSolution Sys_Mec ; }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">/*------------------------------------------------------------------------*/<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">PostProcessing {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name Mec2D_u ; NameOfFormulation Mec2D_u ; <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> PostQuantity {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name u ; Value { Term { [ {u} ] ; In Domain_Disp ; Jacobian MyJac ; Integration GradGrad ;} } }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name um ; Value { Term { [Norm[{u}]] ; In Domain_Disp ; Jacobian MyJac ; Integration GradGrad ;} } }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name Sx ; Value { Term { [CompX[C_m[]*{D1 u}]] ; In Domain_Disp ; Jacobian MyJac ; Integration GradGrad ;} } }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name Sy ; Value { Term { [CompY[C_m[]*{D1 u}]] ; In Domain_Disp ; Jacobian MyJac ; Integration GradGrad ;} } }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name Sz ; Value { Term { [CompZ[C_m[]*{D1 u}]] ; In Domain_Disp ; Jacobian MyJac ; Integration GradGrad ;} } }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name F ; Value { Term { [F[]] ; In Domain_Force ; Jacobian MyJac ; Integration GradGrad ;} } }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> { Name Vm ; Value { Term { <o:p></o:p></span></p>
<p class="MsoNormal"><span class="apple-tab-span"><span lang="EN-US">
</span></span><span lang="EN-US"> [Sqrt[ CompX[C_m[]*{D1 u}]#1^2 + CompY[C_m[]*{D1 u}]#2^2 - #1*#2 <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> + 3*(CompZ[C_m[]*{D1 u}])^2 ] ] ; In Domain_Disp ; Jacobian MyJac ; Integration GradGrad ;} } } <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> } <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">PostOperation Map_u UsingPost Mec2D_u { <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Print [ u, OnElementsOf Domain_Disp, File "u.pos"] ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Print [ um, OnElementsOf Domain_Disp, File "um.pos"] ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Print [ Sx, OnElementsOf Domain_Disp, File "Sx.pos"] ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Print [ Sy, OnElementsOf Domain_Disp, File "Sy.pos"] ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Print [ Sz, OnElementsOf Domain_Disp, File "Sz.pos"] ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Print [ F, OnElementsOf Domain_Force, File "F.pos"] ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Print [ Vm , OnElementsOf Domain_Disp, File "Vm.pos"] ;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Best regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span lang="EN-US" style="mso-fareast-language:FR">Yves DUPUIS<o:p></o:p></span></b></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:FR">Doctor / Engineer in Mechatronics<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:FR">2, rue des champs<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:FR">F-27950 St-Marcel – France<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:FR">Tél : +33 2 76 48 51 25<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:FR"><a href="mailto:Yves.dupuis@s2m.fr">Yves.dupuis@s2m.fr</a><o:p></o:p></span></p>
</div>
</body>
</html>