From 5682d82bca502a63a4b754532d9975219f8bf188 Mon Sep 17 00:00:00 2001 From: Jeremy Bleyer Date: Tue, 12 Jun 2018 16:22:21 +0200 Subject: [PATCH] Added citation instructions --- abstract.pdf | Bin 0 -> 35613 bytes .../axisymmetric_elasticity.doctree | Bin 526913 -> 526913 bytes doc/_build/doctrees/environment.pickle | Bin 59199 -> 59083 bytes doc/_build/doctrees/intro.doctree | Bin 12396 -> 13785 bytes .../_downloads/axisymmetric_elasticity.ipynb | 12 ++++++------ .../_downloads/axisymmetric_elasticity.py | 12 ++++++------ .../axisymmetric_elasticity.ipynb.txt | 12 ++++++------ doc/_build/html/_sources/intro.rst.txt | 12 ++++++++++++ .../elasticity/axisymmetric_elasticity.html | 12 ++++++------ doc/_build/html/intro.html | 16 ++++++++++++++-- doc/_build/html/searchindex.js | 2 +- doc/intro.rst | 12 ++++++++++++ 12 files changed, 63 insertions(+), 27 deletions(-) create mode 100644 abstract.pdf diff --git a/abstract.pdf b/abstract.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a9c591b55e9a3133868784510fc46045c9e98d30 GIT binary patch literal 35613 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 R1Pc(e0x{e6S_$?e9|6>NN_+qS delta 246 zcmX>&Md9ESg$=CITn4dLh5s@XYYYERcNAh0o~$H2htXj3erXRDMuTP!h3y;)j5@oR zOpK?S-C~>tq_+UeVk!3P5nLg(iNQKFEi{FevKour% z6^s5bF5_S_F`e$k$^=wly8Rg|lLHg0i78x#9S74VPJR=!SgRrfW(EeJdx{L1rwiU- z6q_C@#8l2?VmAGp5Ys#$-JU1R1jNkS^MqOCnVC#1ruU1n01dU+t}V`D1+>-zW@vk@ R1Pc(e0x{e6S_$?e9|6)nN_+qS diff --git a/doc/_build/doctrees/environment.pickle b/doc/_build/doctrees/environment.pickle index 26caf909adca85f9793ec25f02cd2a2de4db9e6e..7e00a313900a20493bb9f2c6dbca8ea519c1dc7c 100644 GIT binary patch literal 59083 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 edm$RMQS_%oQMF0{ literal 59199 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 Q<7DGrbr`}p5V!6B0CpJlk^lez diff --git a/doc/_build/doctrees/intro.doctree b/doc/_build/doctrees/intro.doctree index 0efa745a0b6003a6b62b97bbaf9942630e833698..b27da3185eec5f21e18ffc19fb2c14603169e4f8 100644 GIT binary patch delta 5156 zcmc&&d3aRS6;C1wNytJ5639LYStbjU1;Gen02PbTXptw;Ivw83yvci$H}mG*_l6|m zYox6$wAxm0aTjslP*G43H{ADKT+mvnU2ID?Yd37QzjJ3MAs_Vn{LB6^@7{aPxo7#E zbGO;Q=G~!fJBr5C<6736n;i2JkJ>bFSw=?2im-dsNVvmVEabLT#ZufMC2Cmigr$TN zx;tzz;xjh`OJ+gUJ#4U{c6VG?WXJ}Mn5Bgj<_>DM78@iDQA|yBF>kw&T{qj*gI_c?~w$(begl-`&&IagLDjc6Ik0)ibYKZB_?VkJ_TPswb-L zj(I81ES))4t}als)H^u`jRqT3~dYV_pw`qzovzDiM&8%Zn2MB@qaQj9|jnbjyo?6f0lXY=z0XKcE}I zp?vcO#B!r!-bArH0Fz5(W@|xRSyva(l~ILtcXsu}5>bU|L0Pv^o>qIlt=YP=cpcx8 zyOyYx@M^gTf8n=nV`uDTQxv9NnuKK)V)kt0(}&9zjz&)bexHz zlnN*LY~D;b-r|v_>RN0Jg>0F(Zj^F$IX0M(2NmjZ0 z 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 **Note**: we could also express the strain components in the form of a vector of size 4 in alternative of the 3D tensor representation implemented below. -# In[43]: +# In[52]: x = SpatialCoordinate(mesh) @@ -104,7 +104,7 @@ def sigma(v): # # The final formulation is therefore pretty straightforward. Since a uniform pressure loading is applied on the outer boundary, we will also need the exterior normal vector to define the work of external forces form. -# In[44]: +# In[53]: n = FacetNormal(mesh) @@ -125,7 +125,7 @@ u = Function(V, name="Displacement") # \quad u_z=0 # \end{equation} -# In[45]: +# In[54]: bcs = [DirichletBC(V.sub(1), Constant(0), facets, 1), @@ -135,7 +135,7 @@ print("Inwards radial displacement at (r=Re, theta=0): {:1.7f} (FE) {:1.7f} (Exa print("Inwards radial displacement at (r=Ri, theta=0): {:1.7f} (FE) {:1.7f} (Exact)".format(-u(Ri, 0.)[0], float(Re**3/(Re**3-Ri**3)*((1-2*nu)*Ri+(1+nu)*Ri/2)*p/E))) -# In[46]: +# In[55]: plt.figure() @@ -145,7 +145,7 @@ plt.show() # The second loading case corresponds to a fully clamped condition on $z=0$, the vertical boundary remaining in smooth contact. -# In[48]: +# In[56]: bcs = [DirichletBC(V, Constant((0., 0.)), facets, 1), diff --git a/doc/_build/html/_sources/demo/elasticity/axisymmetric_elasticity.ipynb.txt b/doc/_build/html/_sources/demo/elasticity/axisymmetric_elasticity.ipynb.txt index 09b9f9e..45745e4 100644 --- a/doc/_build/html/_sources/demo/elasticity/axisymmetric_elasticity.ipynb.txt +++ b/doc/_build/html/_sources/demo/elasticity/axisymmetric_elasticity.ipynb.txt @@ -24,7 +24,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 51, "metadata": {}, "outputs": [ { @@ -879,7 +879,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 52, "metadata": {}, "outputs": [], "source": [ @@ -926,7 +926,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 53, "metadata": {}, "outputs": [], "source": [ @@ -955,7 +955,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 54, "metadata": {}, "outputs": [ { @@ -979,7 +979,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 55, "metadata": {}, "outputs": [ { @@ -1787,7 +1787,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 56, "metadata": {}, "outputs": [ { diff --git a/doc/_build/html/_sources/intro.rst.txt b/doc/_build/html/_sources/intro.rst.txt index 2e9e5f9..362f765 100644 --- a/doc/_build/html/_sources/intro.rst.txt +++ b/doc/_build/html/_sources/intro.rst.txt @@ -22,6 +22,18 @@ illustrating the versatility of FEniCS. The full set of demos can be obtained from the *COmputational MEchanics Toolbox* (COMET) available at https://gitlab.enpc.fr/jeremy.bleyer/comet-fenics. +If you find these demos useful for your research work, please consider citing them using the following +Zenodo DOI https://doi.org/10.5281/zenodo.1287832 + +.. code-block:: none + + @article{bleyer2018numericaltours, + title={Numerical Tours of Computational Mechanics with FEniCS}, + DOI={10.5281/zenodo.1287832}, + publisher={Zenodo}, + author={Jeremy Bleyer}, + year={2018}} + ----------------------- How do I get started ? diff --git a/doc/_build/html/demo/elasticity/axisymmetric_elasticity.html b/doc/_build/html/demo/elasticity/axisymmetric_elasticity.html index 105a23a..fd48282 100644 --- a/doc/_build/html/demo/elasticity/axisymmetric_elasticity.html +++ b/doc/_build/html/demo/elasticity/axisymmetric_elasticity.html @@ -243,7 +243,7 @@ symmetry, the 2D cross-section corresponds to a quarter of a hollow cylinder.

-In [50]:
+In [51]:
 
@@ -1090,7 +1090,7 @@ a vector of size 4 in alternative of the 3D tensor representation
 implemented below.
-In [43]:
+In [52]:
 
@@ -1148,7 +1148,7 @@ need the exterior normal vector to define the work of external forces
 form.

-In [44]:
+In [53]:
 
@@ -1175,7 +1175,7 @@ u_r(r) = -\dfrac{R_e^3}{R_e^3-R_i^3}\left((1 − 2\nu)r + (1 + \nu)\dfrac{R_i^3}
 \quad u_z=0
 \end{equation}
-In [45]:
+In [54]:
 
@@ -1200,7 +1200,7 @@ Inwards radial displacement at (r=Ri, theta=0): 0.0020879 (FE) 0.0020894 (Exact)
 
-In [46]:
+In [55]:
 
@@ -1996,7 +1996,7 @@ if (IPython.notebook.kernel != null) {
 \(z=0\), the vertical boundary remaining in smooth contact.

-In [48]:
+In [56]:
 
diff --git a/doc/_build/html/intro.html b/doc/_build/html/intro.html
index c899ad1..3902b8d 100644
--- a/doc/_build/html/intro.html
+++ b/doc/_build/html/intro.html
@@ -64,6 +64,16 @@ getting started with FEniCS using solid mechanics examples.

illustrating the versatility of FEniCS.

The full set of demos can be obtained from the COmputational MEchanics Toolbox (COMET) available at https://gitlab.enpc.fr/jeremy.bleyer/comet-fenics.

+

If you find these demos useful for your research work, please consider citing them using the following +Zenodo DOI https://doi.org/10.5281/zenodo.1287832

+
@article{bleyer2018numericaltours,
+title={Numerical Tours of Computational Mechanics with FEniCS},
+DOI={10.5281/zenodo.1287832},
+publisher={Zenodo},
+author={Jeremy Bleyer},
+year={2018}}
+
+

How do I get started ?

@@ -107,12 +117,14 @@ a joint research unit of Linear problems in solid mechanics
  • Homogenization of heterogeneous materials
  • Nonlinear problems in solid mechanics
      diff --git a/doc/_build/html/searchindex.js b/doc/_build/html/searchindex.js index ecb7a6f..0c47484 100644 --- a/doc/_build/html/searchindex.js +++ b/doc/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["demo/2D_plasticity/vonMises_plasticity.py","demo/cohesive_zone/cohesive_zone_crack","demo/elasticity/2D_elasticity.py","demo/elasticity/axisymmetric_elasticity","demo/elasticity/orthotropic_elasticity.py","demo/modal_analysis_dynamics/cantilever_modal.py","demo/periodic_homog_elas/periodic_homog_elas","demo/reissner_mindlin/reissner_mindlin","demo/reissner_mindlin/reissner_mindlin_dg.py","demo/reissner_mindlin/reissner_mindlin_quads.py","demo/thermoelasticity/thermoelasticity","demo/thermoelasticity/thermoelasticity_transient","homogenization","index","intro","linear_problems","nonlinear_problems","tips_and_tricks"],envversion:52,filenames:["demo/2D_plasticity/vonMises_plasticity.py.rst","demo/cohesive_zone/cohesive_zone_crack.ipynb","demo/elasticity/2D_elasticity.py.rst","demo/elasticity/axisymmetric_elasticity.ipynb","demo/elasticity/orthotropic_elasticity.py.rst","demo/modal_analysis_dynamics/cantilever_modal.py.rst","demo/periodic_homog_elas/periodic_homog_elas.ipynb","demo/reissner_mindlin/reissner_mindlin.rst","demo/reissner_mindlin/reissner_mindlin_dg.py.rst","demo/reissner_mindlin/reissner_mindlin_quads.py.rst","demo/thermoelasticity/thermoelasticity.ipynb","demo/thermoelasticity/thermoelasticity_transient.ipynb","homogenization.rst","index.rst","intro.rst","linear_problems.rst","nonlinear_problems.rst","tips_and_tricks.rst"],objects:{},objnames:{},objtypes:{},terms:{"004578259190102c":[],"022675825638074e":1,"09e3":1,"0x7f0156e6fb10":[],"0x7f015b143d10":[],"0x7f04b23a7ad0":[],"0x7f04b6683d10":[],"0x7f197a372390":[],"0x7f197e644d10":[],"0x7f1a33ddbad0":[],"0x7f1a3698dd10":[],"0x7f1b5d860f10":[],"0x7f1b61f525d0":[],"0x7f1bce3d8f50":[],"0x7f1bd3bd8d10":[],"0x7f2368be1790":[],"0x7f236ceb3cd0":[],"0x7f47da9b4c50":[],"0x7f47dee87e90":[],"0x7f47df3a5bd0":[],"0x7f47df6b5650":[],"0x7f5519b883d0":[],"0x7f551de5fd10":[],"0x7f56079fb990":[],"0x7f560bcd7d10":[],"0x7f573f67dc90":[],"0x7f5743951d10":[],"0x7f588a997390":1,"0x7f588f0be330":1,"0x7f5e33f46950":[],"0x7f5e38224d10":[],"0x7f6070d88e50":[],"0x7f70c74b7b10":[],"0x7f70cb791d10":[],"0x7f73d8b17450":[],"0x7f73dcde8d10":[],"0x7f75b1084d90":[],"0x7f75b62d0650":[],"0x7f825fc0b7d0":[],"0x7f8263edcd10":[],"0x7f8287f5ec50":[],"0x7f828ab12d10":[],"0x7f828f5be950":[],"0x7f8293891d10":[],"0x7f8673c447d0":[],"0x7f8677f1bd10":[],"0x7f9200cdea10":[],"0x7f9203890d10":[],"0x7f9487a074d0":[],"0x7f948bcd6d10":[],"0x7f963731c950":[],"0x7f963b5efd10":[],"0x7f97974bf9d0":[],"0x7f979b791d10":[],"0x7f990ec0acd0":[],"0x7f9912ee0d10":[],"0x7f9c84c16950":[],"0x7f9c88ef6d10":[],"0x7f9d28e37250":[],"0x7f9d2d10ad10":[],"0x7fa14f006c10":[],"0x7fa1532dbd10":[],"0x7fa15fd09ad0":[],"0x7fa163fe0d10":[],"0x7fa19d2f60d0":[],"0x7fa1a15cacd0":[],"0x7fa46c4b2bd0":[],"0x7fa4717bec10":[],"0x7fc6a6d0ac10":[],"0x7fc6aafdfd10":[],"0x7fcf7497fa50":[],"0x7fcf78812dd0":[],"0x7fcf7c17aed0":[],"0x7fd089cca3d0":[],"0x7fd08df9ed10":[],"0x7fd15f469a10":[],"0x7fd16201dd10":[],"0x7fd3ea4757d0":[],"0x7fd3eef16c10":[],"0x7fdc1bc87950":[],"0x7fdc1ff5ccd0":[],"0x7ff787ea8ad0":[],"1e10":1,"1e3":[2,8,9,10],"1e5":[2,3,5],"210e3":6,"237e":11,"265319087e":[8,9],"2d_elast":2,"2dlinearelast":[],"2nd":4,"2x2":[2,9],"3195907205498413e":1,"31e":11,"357114987097635e":1,"3x3":[4,9],"4th":0,"50e3":[6,10],"6235f10e1e05":[],"6x6":4,"70e3":[0,11],"733587984695249e":1,"78bbf88282cd":1,"81e":10,"910e":11,"boolean":4,"case":[0,2,3,4,5,6,10,14],"chauss\u00e9":14,"class":[1,3,4,6],"default":[0,1,5],"export":[0,2,5,8,9],"final":[0,3,11],"float":[0,2,3,8,9],"function":[0,1,2,3,4,5,6,8,9,10,11,17],"import":[0,1,2,3,4,5,6,8,9,10,11,14],"int":5,"lam\u00e9":[2,10,11],"long":11,"new":0,"return":[0,1,2,3,4,5,6,8,9,10,11,17],"static":11,"transient":[10,11],"true":[0,1,2,5,6,8,9,11],"while":[0,10],AND:6,BCs:11,Eps:6,For:[0,2,3,6,8,9,11,17],Its:10,NOT:6,One:[2,11],Res:0,That:1,The:[0,1,2,3,4,5,6,8,9,10,11,14],These:[0,11,14],Using:[2,11],With:5,__future__:[0,2,3,6,8,9,10,11],__init__:[1,6],_init_conveni:1,_init_from_ufl:1,_thermoelasticityevolut:[],a_form:1,a_newton:0,a_proj:[0,17],a_tensor:5,about:13,abs:[0,1],absolut:11,absolute_toler:1,account:[0,10],across:8,act:10,add:[8,11],added:10,adding:6,addit:[3,11],adopt:[0,11],advis:14,after:[0,5],against:[2,5,8,9],algorithm:[0,11],all:[3,5,8,11],allow:6,along:[3,5,11,14],alpha:[5,10,11],also:[0,2,3,4,5,6,8,10,11,14],altern:3,aluminium:11,amount:6,amplifi:2,analysi:[2,11,13,15,16],analyt:[0,2,4,5,8,9],ani:[0,2,10],anoth:0,app:0,appar:6,appear:11,append:0,appli:[0,3,4,5,8,11],approach:[7,11,13],appropri:[0,2,11],approxim:[5,11],arg:1,argument:[1,5],aris:[3,8],around:[3,11],arrai:[6,11],array_str:6,articl:[],as_3d_tensor:0,as_matrix:4,as_tensor:[0,3,4,8,9],as_vector:[0,1,4,6,8,9],ask:5,assembl:[0,1,5,6],assemble_system:[0,5],assert:6,assign:[0,1,2,5,6,8,9,10,11],associ:[0,3,5,6],assum:[3,4,10,11,14],attilio:0,author:13,auxiliari:6,avail:[6,14],averag:6,avg:[1,8],avoid:2,axi:[3,5,11],axial:3,axisymmetr:[13,15],axisymmetric_elast:3,b_proj:[0,17],b_tensor:5,back:[0,5],base:[2,6],basic:14,bc1:11,bc2:11,bc3:11,bcs:[3,11],bct:10,bcu:10,beam:[2,5],becaus:[0,6,8,9,10,11],been:[3,5,6,11,14],befor:[0,10],behavior:[6,9],behaviour:6,being:[2,3,4,11],below:[0,3,11],bend:[5,9],bending_mo:[8,9],bernoulli:2,beta:[0,1],beta_:0,between:[0,2,4,5,6,17],bilinear:[3,6,10,11],bitbucket:0,bleyer:14,bon2014:0,bonnet:0,book:0,bool:6,border:[6,8,9],both:[0,3,6,9,10,11],bottom:[0,3,4,5,6,10,11],boundari:[0,3,4,5,6,8,9,10,11],boxmesh:5,bug:0,build:10,bulk_energi:1,cach:17,calcul:11,call:[1,2,5],can:[0,1,2,3,4,5,6,8,9,10,11,14,17],cancel:3,cantilev:[2,5],cantilever_mod:5,cell:[0,6,9],celltyp:9,cellvolum:[1,8],chang:[2,6,10,11],chapter:0,check:[0,6,11],choic:[0,2],chom:6,choos:2,chosen:[8,9],christian:0,circl:[1,3,4,11],circular:[4,6,11],clamp:[3,5,8,9,10],classic:[0,3,5,6],close:5,cma:8,cnr:14,code:[0,2,6,11],coeffici:[2,5,10,11],cohesive_zone_crack:1,coincid:4,collaps:0,collect:[],color:4,colorbar:[1,4,6,10,11],com:[],comet:14,command:14,compar:[2,5,8,9],comparison:5,compil:[0,1],complet:[0,6,10,11],complex:[0,5],complianc:4,compon:[0,2,3,4,6,11],compress:1,comput:[0,2,4,5,6,8,10,11,14],concern:0,concret:[],condit:[0,2,3,4,5,6,8,9,11],conduct:[10,11],configur:[9,11],confus:2,consid:[0,2,3,4,5,6,9,10,11,14],consist:[0,4,5,6,11],consitut:0,constant:[0,1,2,3,4,5,6,8,9,10,11],constitut:[5,6,9,10,11],constrained_domain:6,constraint:6,construct:[6,17],constructor:11,contact:3,contain:[0,4],content:[7,12,13,15,16],continu:[0,2,8,9],continuum:[2,5,14],contour:10,contrari:[0,4],contribut:[8,9],control:[],converg:[0,5,9],convert:0,coordin:[3,6,9,11],corner:6,correct:[0,9],corrector:0,correpond:4,correspnond:6,correspond:[0,1,2,3,4,5,6,8,9,10,11],correspons:5,cos:5,cosh:5,could:[0,3,4,10,11],counterpart:3,coupl:[13,15,17],cover:14,cpp:1,creat:9,criss:[2,9],criterion:0,cross:[2,3,9,10],cumul:0,current:[0,10,11,14],curv:[0,8,9],custom:[0,9],cylind:[0,3],d2_total_energi:1,d658f792d93a:[],d_total_energi:1,damag:1,david:8,deactiv:10,deal:[0,3,6],decompos:3,deduc:6,def:[0,1,2,3,4,5,6,8,9,10,11,17],defin:[0,2,3,4,5,6,8,9,10,11],definit:[5,6,11],deflect:[2,8,9],deform:[0,2,6],deg:[9,17],deg_stress:0,deg_u:0,degre:[0,1,2,3,5,6,8,9,11],delta:11,delta_0n:1,delta_0t:1,delta_t:10,demo:[2,5,9,14],denot:3,densiti:[2,4,5,11],dep:0,depend:[6,10],deprec:[0,11],deriv:[0,1,11],des:14,describ:[2,10],detail:[0,8,11],determin:0,dev:0,deviator:0,did:0,diff:11,differ:[0,2,3,4,6,10,14],dim:[0,5],dimens:[2,3,4,6,10],dimension:[0,3],direct:4,directli:0,dirichlet:11,dirichletbc:[0,1,2,3,4,5,8,9,10,11],disabl:0,discontinu:[7,13],discret:[0,6,8],discuss:10,displac:[0,1,2,3,4,10,11],dist:1,distanc:11,distribut:[2,14],div:[],divid:[8,9],document:14,doe:[0,6,9],doi:[8,11],doing:[],dolfin:[1,3,6,10,11],domain:[1,2,3,4,6,10,11],don:10,done:0,dot:[0,1,4,5,6,8,9,10,11],dp_:0,drive:0,dtheta:8,dthole:11,dti:11,duboi:11,due:[0,3,6,10],dummi:5,dure:0,dx_shear:9,dxm:0,dynam:5,e_hom:6,each:[0,5,6,11],earlier:0,easi:6,easier:5,easili:6,ecol:14,educ:0,effect:11,effective_open:1,effici:[0,13],eigenfrequ:5,eigenmod:5,eigenpair:5,eigensolv:5,eigenstrain:[6,10],eigenvalu:5,eigenvector:5,either:[0,2,4,10],elast:[0,9,10,12,13,15],elasticity_result:2,elasto:[13,16],element:[0,2,6,8,9,11,14,17],elementari:6,elif:[1,6],els:[0,1,5,6],email:14,embed:[0,6],enabl:0,energi:9,engin:[2,4,8,11],enough:0,enpc:14,ensur:[0,4,5,6],entropi:11,enumer:[0,1,6,11],eps:[0,1,2,3,4,5,6,8,9,10,11],eps_el:0,eps_voigt:6,equal:6,equat:[0,5,8,9,10,11],equilibrium:[0,6,11],equival:[0,5,6,10],error:6,establish:0,euler:[2,11],evalu:[0,2,9],even:0,eventu:11,evolut:[0,10,13,15],exact:[3,5],exactli:[6,11],exampl:[0,2,4,9,14],except:[3,6],exclud:0,exhibit:9,exi:6,exp:1,expans:[0,10,11],expect:11,explicitli:[0,3],exploit:3,exploratori:14,exponenti:11,expr:11,express:[0,1,2,3,6,10,11],extens:[2,4],exterior:[3,4],extern:[0,3,8,10,11],extract:[5,6,10,11],exx:6,eyi:6,f_ela:0,f_ext:0,fab:1,facet:[0,1,3,4,6,8,11],facet_project:1,facetarea:1,facetnorm:[0,1,3,8],fact:[0,11],factor:[0,4,9,17],fall:0,falpha:5,familiar:6,far91:11,farhat:11,fashion:0,faster:17,featur:6,fem:0,fenic:[0,2,3,4,5,6,8,9,10,11,14],fenicsproject:14,ffc:[0,1],field:[0,2,3,8,9,10,11],fig_siz:[],figsiz:[],figur:[3,6,10,11],file:[0,1,2,3,4,5,6,8,9,10,11],file_result:[0,2,5,8,9],find:[0,2,5,6,8,9,14],finit:[0,2,6,8,11,14],finiteel:[0,1,8,9,11],first:[0,2,3,5,6,9,10,11,14],fix:[2,3],flush_output:[0,2,5,8,9],flux:11,follow:[0,2,3,4,5,6,8,9,10,11,14],fontsiz:4,forc:[0,1,3,9,10,11],form:[0,3,4,5,6,8,10,11],form_compil:0,form_compiler_paramet:0,format:[0,2,3,5,6,11],formul:[8,10,13,15],found:[0,2,8],four:5,fourier:11,frame:4,framework:[],frangi:0,free:11,freedom:6,freq_3d:5,freq_beam:5,frequenc:5,from:[0,1,2,3,4,5,6,8,9,10,11,14],full:[2,3,8,10,13,14,15],fulli:[3,5,9,10,11],functions_share_mesh:[0,2,5,8,9],functionspac:[0,1,5,6,8,9,10,11],fundament:5,gain:0,galerkin:[7,13],gamma:1,gauss:[0,9],gci:1,gcii:1,gen_hermitian:5,gener:[0,2,4,5,6,9,10,11],generate_mesh:[1,3,4,11],geometr:[1,2],geometri:[5,10],geometric_dimens:5,get:[8,13],get_eigenpair:5,get_loc:[1,9],gitlab:14,given:[0,2,3,4,5,6,10,11],global:[4,17],gmsh:[0,6],goal:6,got:1,grad:[0,1,2,4,5,6,8,9,10,11],gradient:[2,11],gradual:11,grid:9,guess:5,gxy:4,h_avg:8,han2011:8,hand:[5,10,11],handl:0,hansbo:8,harden:0,has:[2,6,11],have:[0,2,3,4,5,6,10,11,14],heat:[10,11],height:6,heintz:8,help:14,hemispher:3,henc:[0,2,6,11],here:[0,2,3,4,5,6,8,10,11],hermitian:5,hesit:14,heterogen:[6,13],hexag_incl:6,hexag_incl_facet_region:6,hexag_incl_physical_region:6,hexagon:6,hill:0,hole:[4,11],hollow:[0,3],homogen:[9,10,13],hood:0,horizont:[6,10],how:[2,4,6,13],howev:[0,3,6,9,11],http:[0,8,11,14],i_bend:5,ident:[0,1,2,3,5,6,10,11],ident_zero:1,ifsttar:14,illustr:14,implement:[0,2,3,4,6,10,11],implicit:11,impos:[0,2,3,6,8],improv:5,includ:[0,6],inclus:6,incompress:0,increas:[0,10,11],increment:[0,11],inde:[0,3,6,11],induc:0,inerti:11,inertia:5,infinit:11,influenc:10,inform:0,initi:[0,2,5,6,10,11],inject:2,inlin:1,inner:[0,1,2,3,4,5,6,8,9,10,11,17],inner_boundari:11,input:1,insid:[0,1,3,4,6],instal:14,instanc:[4,11],instant:1,instead:[0,5,6,9,11],instruct:14,integr:[0,3,4,8,9],interest:[0,14],interfac:14,interfacial_energi:1,intern:[0,8,10],interpol:[0,1,2,8,9,11],interv:3,intrins:[2,4],introduc:[5,6,10,14],introduct:13,inv:4,invari:3,invers:4,invert:[4,5],investig:[3,14],invol:8,involv:[0,3],inward:3,ipynb:[1,3,6,10,11],ipython:1,irrespect:2,isotrop:[0,2,6,9,11],issu:[0,8,9],iter:0,its:[0,3,4,5,6,11],jeremi:14,jit:1,joint:14,jump:[1,8],jupyt:[1,3,6,10,11],just:[0,1,6,10,11],k_form:5,kappa:[1,11],keep:[0,6],keep_diagon:1,keyword:[1,5,6],kind:10,kirchhoff:[8,9],knowledg:14,known:10,kwarg:1,l_form:[1,5],laboratoir:14,lagrang:[2,4,5,6,8,9],lambda:[0,1,2,5],lame:5,larg:11,largest:5,larson:8,last:[0,1,4,5,10],later:[5,6,8,9,10,11],lateral_sid:10,latex:[],latter:10,law:[4,6,11],left:[0,1,2,3,4,5,6,10,11],legend:11,len:[1,6],length:5,let:[2,11],lhs:[1,6,10,11],lib:1,lie:11,lies:10,like:[0,2,4,10],lim:0,limit:[0,8,9,11],linalg:6,line2d:[],line:[8,11],linear:[0,3,8,9,11,12,13],linear_solv:6,linearelasticity2d:[],linearthermoelast:[],linewidth:3,link:6,linspac:[0,1,11],list:0,lmbda:[0,1,2,3,5,6,10,11],lmbda_hom:6,load:[0,1,2,3,4,6,8,9,10],load_step:0,local:[0,6,17],local_project:[0,17],localsolv:[0,17],lock:[0,8,9],logarithm:11,logspac:11,longer:0,look:[0,2,4,5,8,9,14],loop:[0,11],love:9,m_form:5,macro_strain:6,macroscop:6,mai:[1,11],main:10,make:[0,11],mani:[14,17],map:[0,6],marc:0,mark:[1,3,4],mass:[5,11],mat:8,match:[0,6],materi:[2,3,4,5,8,9,11,13,16],material_paramet:6,math:5,matplotlib:[0,1,3,4,6,10,11],matric:[4,5],matrix:[0,1,2,4,5,6],maxim:2,maximum:1,maximum_iter:1,mcgraw:0,mean:1,measur:[0,1,3,4,6,8],mech_form:11,mechan:[0,2,6,8,10,11,14],medium:[2,6],mesh:[0,1,2,3,4,5,6,8,9,10,11],meshfunct:[0,1,3,4,6,8],messag:0,metadata:[0,1,9,17],method:[0,1,8,11],microscop:6,microstructur:6,middl:8,min:9,mindlin:13,minu:4,mise:[13,16],mitig:0,mix:[10,11],mixedel:[8,9,11],mixedfunctionspac:11,modal:[2,13,15],modal_analysi:5,modalanalysi:[],mode:[2,3,4,5,6,10],model:[2,8],modif:11,modul:[1,4,5,11],moduli:[4,6],modulu:[0,2,4,6],moment:6,monitor:0,monolith:11,more:[0,11,14],most:1,mpa:10,mshr:[1,3,4,6,10,11],mu_hom:6,much:[5,17],multipl:2,multipli:[0,6],mump:0,must:[0,2,6,11],n_eig:5,n_ela:0,n_elas_:0,nabla:[],name:[0,1,2,3,4,5,8,9,10],nameerror:[],national:14,natur:[0,2,11],navier:14,ncol:11,need:[0,2,3,4,8,10,11],neglect:11,neumann:[4,11],new_sig:0,newton_solv:1,next:[5,11],nincr:[0,1,11],niter:0,nitermax:0,node:11,non:[0,11],none:0,nonlinear:[0,5,10,13],nonlinearvariationalproblem:1,nonlinearvariationalsolv:1,norm:[0,1,6],normal:[0,3],notat:[0,2,4],note:[0,2,3,4,5,6,9,10,11],notebook:[1,3,6,10,11],now:[0,2,4,5,6,9,10,11],nphase:6,nre:0,nres0:0,nu_hom:6,num:6,number:[0,5,6,14],numer:[2,3,4,5,6,14],numpi:[0,1,4,5,6,11],nur:6,nuxi:4,object:1,observ:0,obtain:[0,1,2,3,4,5,6,8,9,10,11,14],occur:0,offset:6,old:0,old_p:0,old_sig:0,older:[0,14],omega:5,on_boundari:[1,2,3,4,5,6,8,9,10,11],onc:0,one:[2,5,6,8,9,11],ones:5,onli:[0,2,3,4,6,10],onto:[0,2,6],open:1,oper:[0,2,4],opertor:4,opposit:6,optim:[0,5],option:6,order:[0,2,4,10],org:[0,8,11,14],origin:5,orthotrop:[2,13,15],orthotropi:4,orthotropic_elast:4,other:[5,11,14],otherwis:[0,11],out:[0,1,2,11],outer:[1,3,11],output:[0,2],over:[6,11,14],overal:6,p_avg:0,packag:1,pair:6,parallel:2,parallelogram:6,paramet:[0,1,2,4,5,6,8,9,10,11],paraview:2,park:11,part:[0,2,3,4,5,6,8],particular:14,pattern:6,pelerin:11,penalti:1,per:[8,9,11],perfectli:[0,6],perfor:[4,11],perform:[0,5,6,17],period:[12,13],periodic_elas_homog:[],periodic_homog_ela:6,periodicboundari:6,perman:10,perturb:9,peter:8,petsc:5,petscmatrix:5,petscvector:5,phase:[0,6,10],phenomenon:0,piecewis:[0,2],pii:[],plane:[0,2,3,4,6,11],plane_stress:2,plastic:[13,16],plasticity_result:0,plate:[4,11,13],plot:[0,1,2,3,4,6,10,11],plt:[0,1,3,4,6,10,11],plu:8,point:[0,1,2,3,4,5,6,9,10,11],pointwis:2,poisson:[2,4,6,10,11],polycollect:[],polygon:[],polynomi:[2,8],pont:14,possess:[5,14],possibl:0,post:11,ppo:[0,1],pre:10,precis:6,predict:11,predictor:0,prefer:2,presenc:[6,10],present:[5,10],preserv:5,pressur:[0,3],prestress:2,pretti:3,previou:[0,3,5,6,11],previous:0,principl:[2,3,11],print:[0,1,2,3,5,6,8,9,11],print_funct:[0,2,3,6,8,9,10,11],prm:1,problem:[1,5,6,13],problem_typ:5,program:[5,8,9],progress:0,proj_sig:0,project:[0,1,2,8,9,13,14],properti:[3,6,8,11],provid:2,proxi:1,pure:[3,6],purpos:17,pvd:2,pyc:1,pyplot:[0,1,3,4,6,10,11],python2:1,python:[1,2,3,6,10,11,14],q_lim:0,quad:9,quad_schem:[0,1],quadrangl:9,quadrat:[0,9],quadratur:[0,1,9,13],quadrature_degre:[0,1,9,17],quadrature_schem:0,quadraturerepresentationdeprecationwarn:0,quadrilater:[7,8,13],quantiti:0,quarter:[0,3,4,11],quasi:[6,11],quit:[0,10,11],radial:3,radiu:[0,3,4,6],rang:[5,6],rate:0,ratio:6,ration:4,raw:[],rcparam:[],reach:11,read:[2,3,6,11],reader:14,readili:6,real:5,reaseon:6,reason:0,reassembl:0,recal:2,recent:1,rect:3,rectangl:[1,3,4,11],rectanglemesh:[2,10],rectangular:[2,5,10],redefin:0,reduc:[3,9],ref:[],refer:[],refin:0,reflect:14,reformul:[3,6],regard:10,regim:10,region:[10,11],regular:1,rei:0,reissner:13,reissner_mindlin_dg:8,reissner_mindlin_quad:9,relat:[3,5,6,9,10,11],relationship:6,relative_toler:1,relev:[5,8,9,11],remain:[3,10],remark:6,remov:[8,9],renorm:5,replac:[1,11],repres:[0,3,4,5,6],represent:[0,3,4],reproduc:0,requir:[0,4,6],res:[0,10],research:14,residu:[0,10],resolut:[],resolv:0,resort:[10,11],resp:[0,3,11],respect:[0,3,5,6,10],respons:0,rest:3,restor:0,restrict:1,result:[0,3,5,6,10],revert:0,revisit:14,revolut:[13,15],rho:[5,11],rho_g:[2,10],rhs:[1,6,10,11],right:[1,4,5,6,10,11],rm_dg_result:8,rm_result:9,root:5,rotat:[3,8,9],rule:9,sai:11,same:[2,8,11],save:11,scalar:0,scale:[9,11],scheme:[0,11],scienc:[],sciencedirect:[],scipi:5,script:[1,3,6,10,11,14],second:[3,4,6,11],section:[3,5,11],see:[0,11],seealso:[],seem:6,seen:[],segment:11,select:9,self:[1,2,3,4,6,10],separ:10,set:[0,4,5,6,10,14],set_al:[1,3,4,8],set_subdomain:[],shared_ptr:1,shear:[4,6,8,9],shear_forc:[8,9],shear_strain:[8,9],shift:5,should:[2,4,5,6,14],show:[0,1,2,3,4,6,10,11],shown:6,side:[3,5,8,9,10,11],sig0:0,sig:[0,2],sig_:0,sig_ela:0,sig_eq:0,sig_max:1,sig_n:0,sig_old:0,sigma:[0,1,2,3,4,5,6,10,11],sigma_:[4,11],sigma_tang:0,similar:[3,6,9],similarli:11,simpl:0,simplefilt:0,sinc:[0,3,5,10,11],singl:0,situat:10,size:[3,5],size_t:[0,1,3,4,6,8],skew:[6,9],slepc:5,slepceigensolv:5,slight:11,small:[2,3],smallest:5,smooth:3,softwar:[6,14],solid:[0,3,5,6,13,14],sollicit:6,solut:[2,3,5,6,8,9,10,11],solv:[0,1,2,3,4,5,6,8,9,10,11],solve_local_rh:[0,17],solver:[0,1,17],solver_paramet:6,some:[0,1,3,6,9,14],sourc:[0,6,10,11],space:[0,2,4,6,13],spatial:3,spatialcoordin:3,specif:[3,6,11],specifi:[0,5,11],specifii:0,spectral:5,spectral_shift:5,spectral_transform:5,spectrum:5,sphere:3,split:[8,9,11],sqrt:[0,1,3,5,6],squar:[4,8,9,11],sri:9,stabil:[1,8],stabl:11,stagger:11,standard:[0,3,5,6,8,10,14],start:13,state:[0,2,10],std:1,steadi:10,step:[0,11],stiff:[5,6,9],stoke:11,store:[0,6],str:[0,1,5,11],straightforward:[2,3],strain2voigt:[4,8,9],strain:[0,2,4,6,10,11],strength:0,stress2voigt:6,stress:[0,2,4,6,10,11],stricli:6,strong:[5,9],structur:[0,2,9,13,14,15],sub:[0,3,4,8,11],subdomain:[1,3,4,6],subdomain_data:[1,3,6,8],sube:[],subject:10,suboptim:0,subsequ:2,subspac:11,suffic:[0,9],suggest:6,suit:2,suitabl:2,sum:6,support:5,suppress_smal:[],surfac:[0,3],swig:1,sym:[0,1,2,3,4,5,6,8,9,10,11],symmetr:[2,4,6],symmetri:[0,3,4,5,9,11],syntax:[10,11],system:[0,5],t_re:11,tackl:[0,4],take:[1,5,10],tangent:0,target:[],tau_max:1,tell:0,temperatur:[10,11],tensor:[0,2,3,4,5,6],tensorfunctionspac:2,tensori:4,term:[0,2,3,4,6,8,10,11],testfunct:[0,1,2,3,4,5,6,8,9,10,11,17],text:[],than:17,thei:5,them:14,theori:[2,5,6],therefor:[0,3,4,5,6,10,11],therm_form:11,thermal:11,thermo:[13,15],thermoelast:[11,13,15],thermoelasticity_transi:11,thermomechan:[10,11],theta:[3,8,9],theta_:8,thi:[0,1,2,3,4,5,6,8,9,10,11,14,17],thick:[8,9],thick_cylind:0,thick_cylinder_facet_region:0,thin:[8,9],those:11,through:[11,14],throughout:[0,10],thu:[0,6,10],time:[0,1,17],tip:13,titl:[4,6,10,11],tol:0,told:11,toler:[0,11],toolbox:14,top:[4,5,6,10],topand:[],topic:14,total:[0,9,11],total_energi:1,tour:[2,3,4,6,10,11,14],traceback:1,track:0,traction:[3,4],tradtion:2,transform:5,translat:[2,6],transvers:[8,9],treat:[10,11],tri:1,trial:0,trialfunct:[0,1,2,3,4,5,6,8,9,10,11,17],triangl:[0,8],trick:13,tricontour:1,tricontourset:1,truli:6,tutori:[11,14],twice:5,two:[3,4,5,11],tying:6,type:[1,5],type_quadrilater:9,typeerror:1,typic:11,ufl_cel:[0,1,8,9,11],uflac:0,umr:14,uncondition:11,uncoupl:10,under:[0,3,9],undocu:14,unexpect:1,uniaxi:[0,6],uniform:[0,3,4,8,9,10,11],uniformli:2,unit:[6,8,9,11,14],unitsquaremesh:[8,9],unknown:[10,11],unkown:3,unkwown:11,until:0,uold:11,updat:11,upon:[6,10],use:[0,4,6,10,11,14],used:[0,2,4,6,10,11],useful:[0,9],user:8,uses:[0,8,9],usetex:[],using:[0,2,4,5,6,8,9,10,11,14,17],usr:1,v_bd:1,v_cont:1,v_d:1,v_u:1,valu:[0,2,5,6,9,11],vanish:0,variabl:[0,2,3,6],variat:[0,4,5,8,10],varieti:14,variou:0,vector:[0,1,2,3,4,5,6,9],vectorel:[0,8,9,11],vectorfunctionspac:[0,1,2,3,4,5,6,10],vectori:[2,4],veri:6,verifi:[0,6,11],versatil:14,version:[0,6,11,14],vertic:[3,4,6,10],virtual:[2,3,11],vizualis:2,voigt2stress:[4,8,9],voigt:4,vol:6,volum:[6,11],volumetr:0,von:[13,16],vonmises_plast:0,vsig:2,vte:11,vtk:2,vtu:2,vue:11,w0e:[0,1],w_max:1,wai:2,wait:11,warn:0,weak:[5,11,13,15],websit:14,weight:[2,10],welcom:14,well:[0,4,5],were:9,what:[0,13],when:[0,6,10],where:[0,2,3,5,6,10,11],wherea:[0,3,8,10],which:[0,2,3,4,5,6,9,10,11],wide:[6,14],width:6,wint:10,wise:17,without:[0,8,10,11],work:[2,3,10,11,14],would:[0,6,11],write:[0,2,4,8,9,10],written:[4,14],www:[],xdmf:[0,2,5,8,9],xdmffile:[0,2,5,8,9],xlabel:[0,11],xlim:11,xml:[0,6],yield:[0,4],ylabel:[0,11],ylim:11,you:[6,14],young:[2,4,6],zero:[0,1,6,8,11],zip:[0,6]},titles:["Elasto-plastic analysis of a 2D von Mises material","Cohesive zone modelling of crack propagation","2D linear elasticity","Axisymmetric formulation for elastic structures of revolution","Orthotropic linear elasticity","Modal analysis of an elastic structure","Periodic homogenization of linear elastic materials","Reissner-Mindlin plates","Reissner-Mindlin plate with a Discontinuous-Galerkin approach","Reissner-Mindlin plate with Quadrilaterals","Linear thermoelasticity (weak coupling)","Thermo-elastic evolution problem (full coupling)","Homogenization of heterogeneous materials","Welcome to Numerical tours of Computational Mechanics using FEniCS","Introduction","Linear problems in solid mechanics","Nonlinear problems in solid mechanics","Tips and Tricks"],titleterms:{about:14,analysi:[0,5],approach:8,author:14,axisymmetr:3,cohes:1,comput:13,constitut:[0,2,4],coupl:[10,11],crack:1,definit:3,discontinu:8,discret:11,displac:6,effici:17,elast:[2,3,4,5,6,11],elasto:0,evolut:11,fenic:13,fluctuat:6,formul:[2,3,6,11],framework:6,full:11,galerkin:8,get:14,global:0,heterogen:12,homogen:[6,12],how:14,implement:[5,8,9],introduct:[0,2,4,5,6,8,9,10,11,14],linear:[2,4,6,10,15],main:6,materi:[0,6,12],mecan:10,mechan:[13,15,16],mindlin:[7,8,9],mise:0,modal:5,model:1,newton:0,nonlinear:16,numer:13,orthotrop:4,period:6,plastic:0,plate:[7,8,9],posit:[0,3,4,10,11],post:[0,2],problem:[0,3,4,10,11,15,16],procedur:0,process:[0,2],project:17,propag:1,quadratur:17,quadrilater:9,raphson:0,refer:[0,8,11],reissner:[7,8,9],relat:[0,2,4],resolut:[2,3,4,6,10,11],revolut:3,solid:[15,16],space:17,start:14,strain:3,structur:[3,5],thermal:10,thermo:11,thermoelast:10,time:11,tip:17,total:6,tour:13,trick:17,unknown:6,updat:0,using:13,valid:2,variat:[2,6,11],von:0,weak:10,welcom:13,what:14,zone:1}}) \ No newline at end of file +Search.setIndex({docnames:["demo/2D_plasticity/vonMises_plasticity.py","demo/cohesive_zone/cohesive_zone_crack","demo/elasticity/2D_elasticity.py","demo/elasticity/axisymmetric_elasticity","demo/elasticity/orthotropic_elasticity.py","demo/modal_analysis_dynamics/cantilever_modal.py","demo/periodic_homog_elas/periodic_homog_elas","demo/reissner_mindlin/reissner_mindlin","demo/reissner_mindlin/reissner_mindlin_dg.py","demo/reissner_mindlin/reissner_mindlin_quads.py","demo/thermoelasticity/thermoelasticity","demo/thermoelasticity/thermoelasticity_transient","homogenization","index","intro","linear_problems","nonlinear_problems","tips_and_tricks"],envversion:52,filenames:["demo/2D_plasticity/vonMises_plasticity.py.rst","demo/cohesive_zone/cohesive_zone_crack.ipynb","demo/elasticity/2D_elasticity.py.rst","demo/elasticity/axisymmetric_elasticity.ipynb","demo/elasticity/orthotropic_elasticity.py.rst","demo/modal_analysis_dynamics/cantilever_modal.py.rst","demo/periodic_homog_elas/periodic_homog_elas.ipynb","demo/reissner_mindlin/reissner_mindlin.rst","demo/reissner_mindlin/reissner_mindlin_dg.py.rst","demo/reissner_mindlin/reissner_mindlin_quads.py.rst","demo/thermoelasticity/thermoelasticity.ipynb","demo/thermoelasticity/thermoelasticity_transient.ipynb","homogenization.rst","index.rst","intro.rst","linear_problems.rst","nonlinear_problems.rst","tips_and_tricks.rst"],objects:{},objnames:{},objtypes:{},terms:{"004578259190102c":[],"022675825638074e":1,"09e3":1,"0x7f0156e6fb10":[],"0x7f015b143d10":[],"0x7f04b23a7ad0":[],"0x7f04b6683d10":[],"0x7f197a372390":[],"0x7f197e644d10":[],"0x7f1a33ddbad0":[],"0x7f1a3698dd10":[],"0x7f1b5d860f10":[],"0x7f1b61f525d0":[],"0x7f1bce3d8f50":[],"0x7f1bd3bd8d10":[],"0x7f2368be1790":[],"0x7f236ceb3cd0":[],"0x7f47da9b4c50":[],"0x7f47dee87e90":[],"0x7f47df3a5bd0":[],"0x7f47df6b5650":[],"0x7f5519b883d0":[],"0x7f551de5fd10":[],"0x7f56079fb990":[],"0x7f560bcd7d10":[],"0x7f573f67dc90":[],"0x7f5743951d10":[],"0x7f588a997390":1,"0x7f588f0be330":1,"0x7f5e33f46950":[],"0x7f5e38224d10":[],"0x7f6070d88e50":[],"0x7f70c74b7b10":[],"0x7f70cb791d10":[],"0x7f73d8b17450":[],"0x7f73dcde8d10":[],"0x7f75b1084d90":[],"0x7f75b62d0650":[],"0x7f825fc0b7d0":[],"0x7f8263edcd10":[],"0x7f8287f5ec50":[],"0x7f828ab12d10":[],"0x7f828f5be950":[],"0x7f8293891d10":[],"0x7f8673c447d0":[],"0x7f8677f1bd10":[],"0x7f9200cdea10":[],"0x7f9203890d10":[],"0x7f9487a074d0":[],"0x7f948bcd6d10":[],"0x7f963731c950":[],"0x7f963b5efd10":[],"0x7f97974bf9d0":[],"0x7f979b791d10":[],"0x7f990ec0acd0":[],"0x7f9912ee0d10":[],"0x7f9c84c16950":[],"0x7f9c88ef6d10":[],"0x7f9d28e37250":[],"0x7f9d2d10ad10":[],"0x7fa14f006c10":[],"0x7fa1532dbd10":[],"0x7fa15fd09ad0":[],"0x7fa163fe0d10":[],"0x7fa19d2f60d0":[],"0x7fa1a15cacd0":[],"0x7fa46c4b2bd0":[],"0x7fa4717bec10":[],"0x7fc6a6d0ac10":[],"0x7fc6aafdfd10":[],"0x7fcf7497fa50":[],"0x7fcf78812dd0":[],"0x7fcf7c17aed0":[],"0x7fd089cca3d0":[],"0x7fd08df9ed10":[],"0x7fd15f469a10":[],"0x7fd16201dd10":[],"0x7fd3ea4757d0":[],"0x7fd3eef16c10":[],"0x7fdc1bc87950":[],"0x7fdc1ff5ccd0":[],"0x7ff787ea8ad0":[],"1e10":1,"1e3":[2,8,9,10],"1e5":[2,3,5],"210e3":6,"237e":11,"265319087e":[8,9],"2d_elast":2,"2dlinearelast":[],"2nd":4,"2x2":[2,9],"3195907205498413e":1,"31e":11,"357114987097635e":1,"3x3":[4,9],"4th":0,"50e3":[6,10],"6235f10e1e05":[],"6x6":4,"70e3":[0,11],"733587984695249e":1,"78bbf88282cd":1,"81e":10,"910e":11,"boolean":4,"case":[0,2,3,4,5,6,10,14],"chauss\u00e9":14,"class":[1,3,4,6],"default":[0,1,5],"export":[0,2,5,8,9],"final":[0,3,11],"float":[0,2,3,8,9],"function":[0,1,2,3,4,5,6,8,9,10,11,17],"import":[0,1,2,3,4,5,6,8,9,10,11,14],"int":5,"lam\u00e9":[2,10,11],"long":11,"new":0,"return":[0,1,2,3,4,5,6,8,9,10,11,17],"static":11,"transient":[10,11],"true":[0,1,2,5,6,8,9,11],"while":[0,10],AND:6,BCs:11,Eps:6,For:[0,2,3,6,8,9,11,17],Its:10,NOT:6,One:[2,11],Res:0,That:1,The:[0,1,2,3,4,5,6,8,9,10,11,14],These:[0,11,14],Using:[2,11],With:5,__future__:[0,2,3,6,8,9,10,11],__init__:[1,6],_init_conveni:1,_init_from_ufl:1,_thermoelasticityevolut:[],a_form:1,a_newton:0,a_proj:[0,17],a_tensor:5,about:13,abs:[0,1],absolut:11,absolute_toler:1,account:[0,10],across:8,act:10,add:[8,11],added:10,adding:6,addit:[3,11],adopt:[0,11],advis:14,after:[0,5],against:[2,5,8,9],algorithm:[0,11],all:[3,5,8,11],allow:6,along:[3,5,11,14],alpha:[5,10,11],also:[0,2,3,4,5,6,8,10,11,14],altern:3,aluminium:11,amount:6,amplifi:2,analysi:[2,11,13,15,16],analyt:[0,2,4,5,8,9],ani:[0,2,10],anoth:0,app:0,appar:6,appear:11,append:0,appli:[0,3,4,5,8,11],approach:[7,11,13],appropri:[0,2,11],approxim:[5,11],arg:1,argument:[1,5],aris:[3,8],around:[3,11],arrai:[6,11],array_str:6,articl:14,as_3d_tensor:0,as_matrix:4,as_tensor:[0,3,4,8,9],as_vector:[0,1,4,6,8,9],ask:5,assembl:[0,1,5,6],assemble_system:[0,5],assert:6,assign:[0,1,2,5,6,8,9,10,11],associ:[0,3,5,6],assum:[3,4,10,11,14],attilio:0,author:13,auxiliari:6,avail:[6,14],averag:6,avg:[1,8],avoid:2,axi:[3,5,11],axial:3,axisymmetr:[13,15],axisymmetric_elast:3,b_proj:[0,17],b_tensor:5,back:[0,5],base:[2,6],basic:14,bc1:11,bc2:11,bc3:11,bcs:[3,11],bct:10,bcu:10,beam:[2,5],becaus:[0,6,8,9,10,11],been:[3,5,6,11,14],befor:[0,10],behavior:[6,9],behaviour:6,being:[2,3,4,11],below:[0,3,11],bend:[5,9],bending_mo:[8,9],bernoulli:2,beta:[0,1],beta_:0,between:[0,2,4,5,6,17],bilinear:[3,6,10,11],bitbucket:0,bleyer2018numericaltour:14,bleyer:14,bon2014:0,bonnet:0,book:0,bool:6,border:[6,8,9],both:[0,3,6,9,10,11],bottom:[0,3,4,5,6,10,11],boundari:[0,3,4,5,6,8,9,10,11],boxmesh:5,bug:0,build:10,bulk_energi:1,cach:17,calcul:11,call:[1,2,5],can:[0,1,2,3,4,5,6,8,9,10,11,14,17],cancel:3,cantilev:[2,5],cantilever_mod:5,cell:[0,6,9],celltyp:9,cellvolum:[1,8],chang:[2,6,10,11],chapter:0,check:[0,6,11],choic:[0,2],chom:6,choos:2,chosen:[8,9],christian:0,circl:[1,3,4,11],circular:[4,6,11],cite:14,clamp:[3,5,8,9,10],classic:[0,3,5,6],close:5,cma:8,cnr:14,code:[0,2,6,11],coeffici:[2,5,10,11],cohesive_zone_crack:1,coincid:4,collaps:0,collect:[],color:4,colorbar:[1,4,6,10,11],com:[],comet:14,command:14,compar:[2,5,8,9],comparison:5,compil:[0,1],complet:[0,6,10,11],complex:[0,5],complianc:4,compon:[0,2,3,4,6,11],compress:1,comput:[0,2,4,5,6,8,10,11,14],concern:0,concret:[],condit:[0,2,3,4,5,6,8,9,11],conduct:[10,11],configur:[9,11],confus:2,consid:[0,2,3,4,5,6,9,10,11,14],consist:[0,4,5,6,11],consitut:0,constant:[0,1,2,3,4,5,6,8,9,10,11],constitut:[5,6,9,10,11],constrained_domain:6,constraint:6,construct:[6,17],constructor:11,contact:3,contain:[0,4],content:[7,12,13,15,16],continu:[0,2,8,9],continuum:[2,5,14],contour:10,contrari:[0,4],contribut:[8,9],control:[],converg:[0,5,9],convert:0,coordin:[3,6,9,11],corner:6,correct:[0,9],corrector:0,correpond:4,correspnond:6,correspond:[0,1,2,3,4,5,6,8,9,10,11],correspons:5,cos:5,cosh:5,could:[0,3,4,10,11],counterpart:3,coupl:[13,15,17],cover:14,cpp:1,creat:9,criss:[2,9],criterion:0,cross:[2,3,9,10],cumul:0,current:[0,10,11,14],curv:[0,8,9],custom:[0,9],cylind:[0,3],d2_total_energi:1,d658f792d93a:[],d_total_energi:1,damag:1,david:8,deactiv:10,deal:[0,3,6],decompos:3,deduc:6,def:[0,1,2,3,4,5,6,8,9,10,11,17],defin:[0,2,3,4,5,6,8,9,10,11],definit:[5,6,11],deflect:[2,8,9],deform:[0,2,6],deg:[9,17],deg_stress:0,deg_u:0,degre:[0,1,2,3,5,6,8,9,11],delta:11,delta_0n:1,delta_0t:1,delta_t:10,demo:[2,5,9,14],denot:3,densiti:[2,4,5,11],dep:0,depend:[6,10],deprec:[0,11],deriv:[0,1,11],des:14,describ:[2,10],detail:[0,8,11],determin:0,dev:0,deviator:0,did:0,diff:11,differ:[0,2,3,4,6,10,14],dim:[0,5],dimens:[2,3,4,6,10],dimension:[0,3],direct:4,directli:0,dirichlet:11,dirichletbc:[0,1,2,3,4,5,8,9,10,11],disabl:0,discontinu:[7,13],discret:[0,6,8],discuss:10,displac:[0,1,2,3,4,10,11],dist:1,distanc:11,distribut:[2,14],div:[],divid:[8,9],document:14,doe:[0,6,9],doi:[8,11,14],doing:[],dolfin:[1,3,6,10,11],domain:[1,2,3,4,6,10,11],don:10,done:0,dot:[0,1,4,5,6,8,9,10,11],dp_:0,drive:0,dtheta:8,dthole:11,dti:11,duboi:11,due:[0,3,6,10],dummi:5,dure:0,dx_shear:9,dxm:0,dynam:5,e_hom:6,each:[0,5,6,11],earlier:0,easi:6,easier:5,easili:6,ecol:14,educ:0,effect:11,effective_open:1,effici:[0,13],eigenfrequ:5,eigenmod:5,eigenpair:5,eigensolv:5,eigenstrain:[6,10],eigenvalu:5,eigenvector:5,either:[0,2,4,10],elast:[0,9,10,12,13,15],elasticity_result:2,elasto:[13,16],element:[0,2,6,8,9,11,14,17],elementari:6,elif:[1,6],els:[0,1,5,6],email:14,embed:[0,6],enabl:0,energi:9,engin:[2,4,8,11],enough:0,enpc:14,ensur:[0,4,5,6],entropi:11,enumer:[0,1,6,11],eps:[0,1,2,3,4,5,6,8,9,10,11],eps_el:0,eps_voigt:6,equal:6,equat:[0,5,8,9,10,11],equilibrium:[0,6,11],equival:[0,5,6,10],error:6,establish:0,euler:[2,11],evalu:[0,2,9],even:0,eventu:11,evolut:[0,10,13,15],exact:[3,5],exactli:[6,11],exampl:[0,2,4,9,14],except:[3,6],exclud:0,exhibit:9,exi:6,exp:1,expans:[0,10,11],expect:11,explicitli:[0,3],exploit:3,exploratori:14,exponenti:11,expr:11,express:[0,1,2,3,6,10,11],extens:[2,4],exterior:[3,4],extern:[0,3,8,10,11],extract:[5,6,10,11],exx:6,eyi:6,f_ela:0,f_ext:0,fab:1,facet:[0,1,3,4,6,8,11],facet_project:1,facetarea:1,facetnorm:[0,1,3,8],fact:[0,11],factor:[0,4,9,17],fall:0,falpha:5,familiar:6,far91:11,farhat:11,fashion:0,faster:17,featur:6,fem:0,fenic:[0,2,3,4,5,6,8,9,10,11,14],fenicsproject:14,ffc:[0,1],field:[0,2,3,8,9,10,11],fig_siz:[],figsiz:[],figur:[3,6,10,11],file:[0,1,2,3,4,5,6,8,9,10,11],file_result:[0,2,5,8,9],find:[0,2,5,6,8,9,14],finit:[0,2,6,8,11,14],finiteel:[0,1,8,9,11],first:[0,2,3,5,6,9,10,11,14],fix:[2,3],flush_output:[0,2,5,8,9],flux:11,follow:[0,2,3,4,5,6,8,9,10,11,14],fontsiz:4,forc:[0,1,3,9,10,11],form:[0,3,4,5,6,8,10,11],form_compil:0,form_compiler_paramet:0,format:[0,2,3,5,6,11],formul:[8,10,13,15],found:[0,2,8],four:5,fourier:11,frame:4,framework:[],frangi:0,free:11,freedom:6,freq_3d:5,freq_beam:5,frequenc:5,from:[0,1,2,3,4,5,6,8,9,10,11,14],full:[2,3,8,10,13,14,15],fulli:[3,5,9,10,11],functions_share_mesh:[0,2,5,8,9],functionspac:[0,1,5,6,8,9,10,11],fundament:5,gain:0,galerkin:[7,13],gamma:1,gauss:[0,9],gci:1,gcii:1,gen_hermitian:5,gener:[0,2,4,5,6,9,10,11],generate_mesh:[1,3,4,11],geometr:[1,2],geometri:[5,10],geometric_dimens:5,get:[8,13],get_eigenpair:5,get_loc:[1,9],gitlab:14,given:[0,2,3,4,5,6,10,11],global:[4,17],gmsh:[0,6],goal:6,got:1,grad:[0,1,2,4,5,6,8,9,10,11],gradient:[2,11],gradual:11,grid:9,guess:5,gxy:4,h_avg:8,han2011:8,hand:[5,10,11],handl:0,hansbo:8,harden:0,has:[2,6,11],have:[0,2,3,4,5,6,10,11,14],heat:[10,11],height:6,heintz:8,help:14,hemispher:3,henc:[0,2,6,11],here:[0,2,3,4,5,6,8,10,11],hermitian:5,hesit:14,heterogen:[6,13],hexag_incl:6,hexag_incl_facet_region:6,hexag_incl_physical_region:6,hexagon:6,hill:0,hole:[4,11],hollow:[0,3],homogen:[9,10,13],hood:0,horizont:[6,10],how:[2,4,6,13],howev:[0,3,6,9,11],http:[0,8,11,14],i_bend:5,ident:[0,1,2,3,5,6,10,11],ident_zero:1,ifsttar:14,illustr:14,implement:[0,2,3,4,6,10,11],implicit:11,impos:[0,2,3,6,8],improv:5,includ:[0,6],inclus:6,incompress:0,increas:[0,10,11],increment:[0,11],inde:[0,3,6,11],induc:0,inerti:11,inertia:5,infinit:11,influenc:10,inform:0,initi:[0,2,5,6,10,11],inject:2,inlin:1,inner:[0,1,2,3,4,5,6,8,9,10,11,17],inner_boundari:11,input:1,insid:[0,1,3,4,6],instal:14,instanc:[4,11],instant:1,instead:[0,5,6,9,11],instruct:14,integr:[0,3,4,8,9],interest:[0,14],interfac:14,interfacial_energi:1,intern:[0,8,10],interpol:[0,1,2,8,9,11],interv:3,intrins:[2,4],introduc:[5,6,10,14],introduct:13,inv:4,invari:3,invers:4,invert:[4,5],investig:[3,14],invol:8,involv:[0,3],inward:3,ipynb:[1,3,6,10,11],ipython:1,irrespect:2,isotrop:[0,2,6,9,11],issu:[0,8,9],iter:0,its:[0,3,4,5,6,11],jeremi:14,jit:1,joint:14,jump:[1,8],jupyt:[1,3,6,10,11],just:[0,1,6,10,11],k_form:5,kappa:[1,11],keep:[0,6],keep_diagon:1,keyword:[1,5,6],kind:10,kirchhoff:[8,9],knowledg:14,known:10,kwarg:1,l_form:[1,5],laboratoir:14,lagrang:[2,4,5,6,8,9],lambda:[0,1,2,5],lame:5,larg:11,largest:5,larson:8,last:[0,1,4,5,10],later:[5,6,8,9,10,11],lateral_sid:10,latex:[],latter:10,law:[4,6,11],left:[0,1,2,3,4,5,6,10,11],legend:11,len:[1,6],length:5,let:[2,11],lhs:[1,6,10,11],lib:1,lie:11,lies:10,like:[0,2,4,10],lim:0,limit:[0,8,9,11],linalg:6,line2d:[],line:[8,11],linear:[0,3,8,9,11,12,13],linear_solv:6,linearelasticity2d:[],linearthermoelast:[],linewidth:3,link:6,linspac:[0,1,11],list:0,lmbda:[0,1,2,3,5,6,10,11],lmbda_hom:6,load:[0,1,2,3,4,6,8,9,10],load_step:0,local:[0,6,17],local_project:[0,17],localsolv:[0,17],lock:[0,8,9],logarithm:11,logspac:11,longer:0,look:[0,2,4,5,8,9,14],loop:[0,11],love:9,m_form:5,macro_strain:6,macroscop:6,mai:[1,11],main:10,make:[0,11],mani:[14,17],map:[0,6],marc:0,mark:[1,3,4],mass:[5,11],mat:8,match:[0,6],materi:[2,3,4,5,8,9,11,13,16],material_paramet:6,math:5,matplotlib:[0,1,3,4,6,10,11],matric:[4,5],matrix:[0,1,2,4,5,6],maxim:2,maximum:1,maximum_iter:1,mcgraw:0,mean:1,measur:[0,1,3,4,6,8],mech_form:11,mechan:[0,2,6,8,10,11,14],medium:[2,6],mesh:[0,1,2,3,4,5,6,8,9,10,11],meshfunct:[0,1,3,4,6,8],messag:0,metadata:[0,1,9,17],method:[0,1,8,11],microscop:6,microstructur:6,middl:8,min:9,mindlin:13,minu:4,mise:[13,16],mitig:0,mix:[10,11],mixedel:[8,9,11],mixedfunctionspac:11,modal:[2,13,15],modal_analysi:5,modalanalysi:[],mode:[2,3,4,5,6,10],model:[2,8],modif:11,modul:[1,4,5,11],moduli:[4,6],modulu:[0,2,4,6],moment:6,monitor:0,monolith:11,more:[0,11,14],most:1,mpa:10,mshr:[1,3,4,6,10,11],mu_hom:6,much:[5,17],multipl:2,multipli:[0,6],mump:0,must:[0,2,6,11],n_eig:5,n_ela:0,n_elas_:0,nabla:[],name:[0,1,2,3,4,5,8,9,10],nameerror:[],national:14,natur:[0,2,11],navier:14,ncol:11,need:[0,2,3,4,8,10,11],neglect:11,neumann:[4,11],new_sig:0,newton_solv:1,next:[5,11],nincr:[0,1,11],niter:0,nitermax:0,node:11,non:[0,11],none:0,nonlinear:[0,5,10,13],nonlinearvariationalproblem:1,nonlinearvariationalsolv:1,norm:[0,1,6],normal:[0,3],notat:[0,2,4],note:[0,2,3,4,5,6,9,10,11],notebook:[1,3,6,10,11],now:[0,2,4,5,6,9,10,11],nphase:6,nre:0,nres0:0,nu_hom:6,num:6,number:[0,5,6,14],numer:[2,3,4,5,6,14],numpi:[0,1,4,5,6,11],nur:6,nuxi:4,object:1,observ:0,obtain:[0,1,2,3,4,5,6,8,9,10,11,14],occur:0,offset:6,old:0,old_p:0,old_sig:0,older:[0,14],omega:5,on_boundari:[1,2,3,4,5,6,8,9,10,11],onc:0,one:[2,5,6,8,9,11],ones:5,onli:[0,2,3,4,6,10],onto:[0,2,6],open:1,oper:[0,2,4],opertor:4,opposit:6,optim:[0,5],option:6,order:[0,2,4,10],org:[0,8,11,14],origin:5,orthotrop:[2,13,15],orthotropi:4,orthotropic_elast:4,other:[5,11,14],otherwis:[0,11],out:[0,1,2,11],outer:[1,3,11],output:[0,2],over:[6,11,14],overal:6,p_avg:0,packag:1,pair:6,parallel:2,parallelogram:6,paramet:[0,1,2,4,5,6,8,9,10,11],paraview:2,park:11,part:[0,2,3,4,5,6,8],particular:14,pattern:6,pelerin:11,penalti:1,per:[8,9,11],perfectli:[0,6],perfor:[4,11],perform:[0,5,6,17],period:[12,13],periodic_elas_homog:[],periodic_homog_ela:6,periodicboundari:6,perman:10,perturb:9,peter:8,petsc:5,petscmatrix:5,petscvector:5,phase:[0,6,10],phenomenon:0,piecewis:[0,2],pii:[],plane:[0,2,3,4,6,11],plane_stress:2,plastic:[13,16],plasticity_result:0,plate:[4,11,13],pleas:14,plot:[0,1,2,3,4,6,10,11],plt:[0,1,3,4,6,10,11],plu:8,point:[0,1,2,3,4,5,6,9,10,11],pointwis:2,poisson:[2,4,6,10,11],polycollect:[],polygon:[],polynomi:[2,8],pont:14,possess:[5,14],possibl:0,post:11,ppo:[0,1],pre:10,precis:6,predict:11,predictor:0,prefer:2,presenc:[6,10],present:[5,10],preserv:5,pressur:[0,3],prestress:2,pretti:3,previou:[0,3,5,6,11],previous:0,principl:[2,3,11],print:[0,1,2,3,5,6,8,9,11],print_funct:[0,2,3,6,8,9,10,11],prm:1,problem:[1,5,6,13],problem_typ:5,program:[5,8,9],progress:0,proj_sig:0,project:[0,1,2,8,9,13,14],properti:[3,6,8,11],provid:2,proxi:1,publish:14,pure:[3,6],purpos:17,pvd:2,pyc:1,pyplot:[0,1,3,4,6,10,11],python2:1,python:[1,2,3,6,10,11,14],q_lim:0,quad:9,quad_schem:[0,1],quadrangl:9,quadrat:[0,9],quadratur:[0,1,9,13],quadrature_degre:[0,1,9,17],quadrature_schem:0,quadraturerepresentationdeprecationwarn:0,quadrilater:[7,8,13],quantiti:0,quarter:[0,3,4,11],quasi:[6,11],quit:[0,10,11],radial:3,radiu:[0,3,4,6],rang:[5,6],rate:0,ratio:6,ration:4,raw:[],rcparam:[],reach:11,read:[2,3,6,11],reader:14,readili:6,real:5,reaseon:6,reason:0,reassembl:0,recal:2,recent:1,rect:3,rectangl:[1,3,4,11],rectanglemesh:[2,10],rectangular:[2,5,10],redefin:0,reduc:[3,9],ref:[],refer:[],refin:0,reflect:14,reformul:[3,6],regard:10,regim:10,region:[10,11],regular:1,rei:0,reissner:13,reissner_mindlin_dg:8,reissner_mindlin_quad:9,relat:[3,5,6,9,10,11],relationship:6,relative_toler:1,relev:[5,8,9,11],remain:[3,10],remark:6,remov:[8,9],renorm:5,replac:[1,11],repres:[0,3,4,5,6],represent:[0,3,4],reproduc:0,requir:[0,4,6],res:[0,10],research:14,residu:[0,10],resolut:[],resolv:0,resort:[10,11],resp:[0,3,11],respect:[0,3,5,6,10],respons:0,rest:3,restor:0,restrict:1,result:[0,3,5,6,10],revert:0,revisit:14,revolut:[13,15],rho:[5,11],rho_g:[2,10],rhs:[1,6,10,11],right:[1,4,5,6,10,11],rm_dg_result:8,rm_result:9,root:5,rotat:[3,8,9],rule:9,sai:11,same:[2,8,11],save:11,scalar:0,scale:[9,11],scheme:[0,11],scienc:[],sciencedirect:[],scipi:5,script:[1,3,6,10,11,14],second:[3,4,6,11],section:[3,5,11],see:[0,11],seealso:[],seem:6,seen:[],segment:11,select:9,self:[1,2,3,4,6,10],separ:10,set:[0,4,5,6,10,14],set_al:[1,3,4,8],set_subdomain:[],shared_ptr:1,shear:[4,6,8,9],shear_forc:[8,9],shear_strain:[8,9],shift:5,should:[2,4,5,6,14],show:[0,1,2,3,4,6,10,11],shown:6,side:[3,5,8,9,10,11],sig0:0,sig:[0,2],sig_:0,sig_ela:0,sig_eq:0,sig_max:1,sig_n:0,sig_old:0,sigma:[0,1,2,3,4,5,6,10,11],sigma_:[4,11],sigma_tang:0,similar:[3,6,9],similarli:11,simpl:0,simplefilt:0,sinc:[0,3,5,10,11],singl:0,situat:10,size:[3,5],size_t:[0,1,3,4,6,8],skew:[6,9],slepc:5,slepceigensolv:5,slight:11,small:[2,3],smallest:5,smooth:3,softwar:[6,14],solid:[0,3,5,6,13,14],sollicit:6,solut:[2,3,5,6,8,9,10,11],solv:[0,1,2,3,4,5,6,8,9,10,11],solve_local_rh:[0,17],solver:[0,1,17],solver_paramet:6,some:[0,1,3,6,9,14],sourc:[0,6,10,11],space:[0,2,4,6,13],spatial:3,spatialcoordin:3,specif:[3,6,11],specifi:[0,5,11],specifii:0,spectral:5,spectral_shift:5,spectral_transform:5,spectrum:5,sphere:3,split:[8,9,11],sqrt:[0,1,3,5,6],squar:[4,8,9,11],sri:9,stabil:[1,8],stabl:11,stagger:11,standard:[0,3,5,6,8,10,14],start:13,state:[0,2,10],std:1,steadi:10,step:[0,11],stiff:[5,6,9],stoke:11,store:[0,6],str:[0,1,5,11],straightforward:[2,3],strain2voigt:[4,8,9],strain:[0,2,4,6,10,11],strength:0,stress2voigt:6,stress:[0,2,4,6,10,11],stricli:6,strong:[5,9],structur:[0,2,9,13,14,15],sub:[0,3,4,8,11],subdomain:[1,3,4,6],subdomain_data:[1,3,6,8],sube:[],subject:10,suboptim:0,subsequ:2,subspac:11,suffic:[0,9],suggest:6,suit:2,suitabl:2,sum:6,support:5,suppress_smal:[],surfac:[0,3],swig:1,sym:[0,1,2,3,4,5,6,8,9,10,11],symmetr:[2,4,6],symmetri:[0,3,4,5,9,11],syntax:[10,11],system:[0,5],t_re:11,tackl:[0,4],take:[1,5,10],tangent:0,target:[],tau_max:1,tell:0,temperatur:[10,11],tensor:[0,2,3,4,5,6],tensorfunctionspac:2,tensori:4,term:[0,2,3,4,6,8,10,11],testfunct:[0,1,2,3,4,5,6,8,9,10,11,17],text:[],than:17,thei:5,them:14,theori:[2,5,6],therefor:[0,3,4,5,6,10,11],therm_form:11,thermal:11,thermo:[13,15],thermoelast:[11,13,15],thermoelasticity_transi:11,thermomechan:[10,11],theta:[3,8,9],theta_:8,thi:[0,1,2,3,4,5,6,8,9,10,11,14,17],thick:[8,9],thick_cylind:0,thick_cylinder_facet_region:0,thin:[8,9],those:11,through:[11,14],throughout:[0,10],thu:[0,6,10],time:[0,1,17],tip:13,titl:[4,6,10,11,14],tol:0,told:11,toler:[0,11],toolbox:14,top:[4,5,6,10],topand:[],topic:14,total:[0,9,11],total_energi:1,tour:[2,3,4,6,10,11,14],traceback:1,track:0,traction:[3,4],tradtion:2,transform:5,translat:[2,6],transvers:[8,9],treat:[10,11],tri:1,trial:0,trialfunct:[0,1,2,3,4,5,6,8,9,10,11,17],triangl:[0,8],trick:13,tricontour:1,tricontourset:1,truli:6,tutori:[11,14],twice:5,two:[3,4,5,11],tying:6,type:[1,5],type_quadrilater:9,typeerror:1,typic:11,ufl_cel:[0,1,8,9,11],uflac:0,umr:14,uncondition:11,uncoupl:10,under:[0,3,9],undocu:14,unexpect:1,uniaxi:[0,6],uniform:[0,3,4,8,9,10,11],uniformli:2,unit:[6,8,9,11,14],unitsquaremesh:[8,9],unknown:[10,11],unkown:3,unkwown:11,until:0,uold:11,updat:11,upon:[6,10],use:[0,4,6,10,11,14],used:[0,2,4,6,10,11],useful:[0,9,14],user:8,uses:[0,8,9],usetex:[],using:[0,2,4,5,6,8,9,10,11,14,17],usr:1,v_bd:1,v_cont:1,v_d:1,v_u:1,valu:[0,2,5,6,9,11],vanish:0,variabl:[0,2,3,6],variat:[0,4,5,8,10],varieti:14,variou:0,vector:[0,1,2,3,4,5,6,9],vectorel:[0,8,9,11],vectorfunctionspac:[0,1,2,3,4,5,6,10],vectori:[2,4],veri:6,verifi:[0,6,11],versatil:14,version:[0,6,11,14],vertic:[3,4,6,10],virtual:[2,3,11],vizualis:2,voigt2stress:[4,8,9],voigt:4,vol:6,volum:[6,11],volumetr:0,von:[13,16],vonmises_plast:0,vsig:2,vte:11,vtk:2,vtu:2,vue:11,w0e:[0,1],w_max:1,wai:2,wait:11,warn:0,weak:[5,11,13,15],websit:14,weight:[2,10],welcom:14,well:[0,4,5],were:9,what:[0,13],when:[0,6,10],where:[0,2,3,5,6,10,11],wherea:[0,3,8,10],which:[0,2,3,4,5,6,9,10,11],wide:[6,14],width:6,wint:10,wise:17,without:[0,8,10,11],work:[2,3,10,11,14],would:[0,6,11],write:[0,2,4,8,9,10],written:[4,14],www:[],xdmf:[0,2,5,8,9],xdmffile:[0,2,5,8,9],xlabel:[0,11],xlim:11,xml:[0,6],year:14,yield:[0,4],ylabel:[0,11],ylim:11,you:[6,14],young:[2,4,6],your:14,zenodo:14,zero:[0,1,6,8,11],zip:[0,6]},titles:["Elasto-plastic analysis of a 2D von Mises material","Cohesive zone modelling of crack propagation","2D linear elasticity","Axisymmetric formulation for elastic structures of revolution","Orthotropic linear elasticity","Modal analysis of an elastic structure","Periodic homogenization of linear elastic materials","Reissner-Mindlin plates","Reissner-Mindlin plate with a Discontinuous-Galerkin approach","Reissner-Mindlin plate with Quadrilaterals","Linear thermoelasticity (weak coupling)","Thermo-elastic evolution problem (full coupling)","Homogenization of heterogeneous materials","Welcome to Numerical tours of Computational Mechanics using FEniCS","Introduction","Linear problems in solid mechanics","Nonlinear problems in solid mechanics","Tips and Tricks"],titleterms:{about:14,analysi:[0,5],approach:8,author:14,axisymmetr:3,cohes:1,comput:13,constitut:[0,2,4],coupl:[10,11],crack:1,definit:3,discontinu:8,discret:11,displac:6,effici:17,elast:[2,3,4,5,6,11],elasto:0,evolut:11,fenic:13,fluctuat:6,formul:[2,3,6,11],framework:6,full:11,galerkin:8,get:14,global:0,heterogen:12,homogen:[6,12],how:14,implement:[5,8,9],introduct:[0,2,4,5,6,8,9,10,11,14],linear:[2,4,6,10,15],main:6,materi:[0,6,12],mecan:10,mechan:[13,15,16],mindlin:[7,8,9],mise:0,modal:5,model:1,newton:0,nonlinear:16,numer:13,orthotrop:4,period:6,plastic:0,plate:[7,8,9],posit:[0,3,4,10,11],post:[0,2],problem:[0,3,4,10,11,15,16],procedur:0,process:[0,2],project:17,propag:1,quadratur:17,quadrilater:9,raphson:0,refer:[0,8,11],reissner:[7,8,9],relat:[0,2,4],resolut:[2,3,4,6,10,11],revolut:3,solid:[15,16],space:17,start:14,strain:3,structur:[3,5],thermal:10,thermo:11,thermoelast:10,time:11,tip:17,total:6,tour:13,trick:17,unknown:6,updat:0,using:13,valid:2,variat:[2,6,11],von:0,weak:10,welcom:13,what:14,zone:1}}) \ No newline at end of file diff --git a/doc/intro.rst b/doc/intro.rst index 2e9e5f9..362f765 100644 --- a/doc/intro.rst +++ b/doc/intro.rst @@ -22,6 +22,18 @@ illustrating the versatility of FEniCS. The full set of demos can be obtained from the *COmputational MEchanics Toolbox* (COMET) available at https://gitlab.enpc.fr/jeremy.bleyer/comet-fenics. +If you find these demos useful for your research work, please consider citing them using the following +Zenodo DOI https://doi.org/10.5281/zenodo.1287832 + +.. code-block:: none + + @article{bleyer2018numericaltours, + title={Numerical Tours of Computational Mechanics with FEniCS}, + DOI={10.5281/zenodo.1287832}, + publisher={Zenodo}, + author={Jeremy Bleyer}, + year={2018}} + ----------------------- How do I get started ? -- GitLab