Commit 1028fd84 authored by Jeremy BLEYER's avatar Jeremy BLEYER

Added 2D plasticity example

parent cf425725
...@@ -13,6 +13,7 @@ Contents: ...@@ -13,6 +13,7 @@ Contents:
intro intro
linear_problems linear_problems
nonlinear_problems
demo/reissner_mindlin/reissner_mindlin.rst demo/reissner_mindlin/reissner_mindlin.rst
......
=========================
Introduction
=========================
These numerical tours will introduce you to a wide variety of topics in Computational Continuum Mechanics using the finite element software FEniCS.
========================
A few words about FEniCS
========================
=========================
2D elasticity in Fenics
=========================
...@@ -3,20 +3,14 @@ ...@@ -3,20 +3,14 @@
You can adapt this file completely to your liking, but it should at least You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive. contain the root `toctree` directive.
Welcome to Numerical tours of continuum mechanics using FEniCS Nonlinear problems in solid mechanics
============================================================== ======================================
Contents: Contents:
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 1
demo/nonlinear_materials/vonMises_plasticity.py.rst
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
...@@ -20,6 +20,9 @@ import sys ...@@ -20,6 +20,9 @@ import sys
import os import os
import shutil import shutil
# extensions of files which must be copied with the demo when building docs
file_extensions = [".png",".gif", ".geo", ".xml", ".msh", ".pdf"]
def process(): def process():
"""Copy demo rst files (C++ and Python) from the DOLFIN source tree """Copy demo rst files (C++ and Python) from the DOLFIN source tree
into the demo source tree, and process file with pylit. into the demo source tree, and process file with pylit.
...@@ -72,8 +75,8 @@ def process(): ...@@ -72,8 +75,8 @@ def process():
if not ret == 0: if not ret == 0:
raise RuntimeError("Unable to convert rst file to a .py ({})".format(f)) raise RuntimeError("Unable to convert rst file to a .py ({})".format(f))
png_files = [f for f in os.listdir(version_path) if os.path.splitext(f)[1] in [".png",".gif"] ] tocopy_files = [f for f in os.listdir(version_path) if os.path.splitext(f)[1] in file_extensions ]
for f in png_files: for f in tocopy_files:
source = os.path.join(version_path, f) source = os.path.join(version_path, f)
print("Copying {} to {}".format(source, demo_dir)) print("Copying {} to {}".format(source, demo_dir))
shutil.copy(source, demo_dir) shutil.copy(source, demo_dir)
Ri = 1.;
Re = 1.3;
d = 0.03;
Point(0) = {0, 0, 0, d};
Point(1) = {Ri, 0, 0, d};
Point(2) = {Re, 0, 0, d};
Point(3) = {0, Re, 0, d};
Point(4) = {0, Ri, 0, d};
Line(1) = {1, 2};
Circle(2) = {2, 0, 3};
Line(3) = {3, 4};
Circle(4) = {4, 0, 1};
Line Loop(5) = {4, 1, 2, 3};
Plane Surface(6) = {5};
Physical Line(1) = {1};
Physical Line(2) = {2};
Physical Line(3) = {3};
Physical Line(4) = {4};
Physical Surface(1) = {6};
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -26,3 +26,9 @@ def local_project(v,V): ...@@ -26,3 +26,9 @@ def local_project(v,V):
return u return u
Local factorizations can be cached if projection is performed many times. Local factorizations can be cached if projection is performed many times.
Displacement-controlled for nonlinear problems
----------------------------------------------
Real Lagrange multiplier of loading
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment