diff --git a/NonLinear/Cut/README.md b/NonLinear/Cut/README.md
new file mode 100644
index 00000000..0bf7b73c
--- /dev/null
+++ b/NonLinear/Cut/README.md
@@ -0,0 +1,101 @@
+# Cut Operation: Plasticity and Contact
+Tested with CGX 2.13.1 / CCX 2.13
+
+Simplified model of a cut operation, where a C-shaped profile is sheared between two cutting tools. Both tools (knives) are of identical shape. One of them is fixed (entry side) and one moves (exit side).
+
+Only the onset of the process can be represented with the static solution procedure. This, however, is sufficient to derive the load distribution for the tools.
+
++ Large displacements
++ Plasticity
++ Parametrization using `param.py`
++ Surface-to-surface contact
++ Use of `last iterations` output parameter to show unconverged iterations
+
+File | Contents
+:------------- | :-------------
+[par.pre.fbd](par.pre.fbd) | Pre-processing script for CGX (parametrized with `param.py`)
+[post.fbd](post.fbd) | Post-processing script for CGX
+[iter.fbd](iter.fbd)] | CGX script for inspection of unconverged iterations during the solution process
+[solve.inp](solve.inp)] | CCX input
+[test.py](test.py) | Python script to run the full simulation
+
+
+## Preprocessing
+
+
+
+Parameter | Value | Description
+:-- | :-- | :---
+`he` | 130. | height of the tool in mm
+`wi` | 180. | width of the tool in mm
+`th` | 40. | thickness of the tool in mm
+`ra` | 4. | end radius of the slot in mm
+`phe` | 125. | height of the profile in mm
+`pwi` | 70. | width of the profile in mm
+`pgap` | 50. | gap (opening) of the C-profile in mm
+`pra` | 10. | outer radius of the profile corners in mm
+`ss` | 2. | gap between tools in mm
+
+Edit the parameters in `par.pre.fbd` and run the commands
+
+```
+> param.py par.pre.fbd
+> cgx -b pre.fbd
+```
+The outer contour and the slot of the tools are generated bottom up using points and lines.
+The radii are generated using the `fil` command.
+
+
+Boundary conditions:
+ + Tool 1 is fixed at the lateral surfaces.
+ + Tool 2 is subjected to a prescribed displacement under 45° in positive x and negative y direction, applied to the lateral surfaces
+ + the profile is constrained in longitudinal direction at x=0
+
+ 
+ 
+
+ Four contact pairs are defined:
+ + outer slot perimeter of tool 1 (MA1) and outer contour of the profile (BlechAussen)
+ + outer slot perimeter of tool 2 (MA2) and outer contour of the profile
+ + inner slot perimeter of tool 1 (MI1) and inner contour of the profile (BlechInnen)
+ + inner slot perimeter of tool 2 (MI2) and inner contour of the profile
+
+ 
+
+
+## Solving
+
+```
+> ccx solve
+```
+While the solution is running (takes a while), you can inspect the progress with the CVG and STA file monitor
+```
+> monitor.py solve
+```
+If you change parameters and experience heavy convergence problems then inspecting the intermediate unconverged iterations can help a lot:
+```
+> cgx -b iter.fbd
+```
+For the default parameters in the example, convergence isn't really an issue. For such stability to reach, it was essential to
++ place the parts such that they initially touch,
++ deliberately reduce the contact stiffness
+
+
+
+
+## Postprocessing
+
+```
+> cgx -b post.fbd
+```
+Equivalent plastic strain and deformed shape of the profile:
+
+
+
+Fixed tool: Equivalent stress and maximum principal stress
+
+
+
+Moving tool: Equivalent stress and maximum principal stress
+
+
diff --git a/NonLinear/Cut/Refs/blech-pe-1.png b/NonLinear/Cut/Refs/blech-pe-1.png
new file mode 100644
index 00000000..1beb899a
Binary files /dev/null and b/NonLinear/Cut/Refs/blech-pe-1.png differ
diff --git a/NonLinear/Cut/Refs/blech-pe-2.png b/NonLinear/Cut/Refs/blech-pe-2.png
new file mode 100644
index 00000000..c46e0420
Binary files /dev/null and b/NonLinear/Cut/Refs/blech-pe-2.png differ
diff --git a/NonLinear/Cut/Refs/parts.png b/NonLinear/Cut/Refs/parts.png
new file mode 100644
index 00000000..3233c61c
Binary files /dev/null and b/NonLinear/Cut/Refs/parts.png differ
diff --git a/NonLinear/Cut/Refs/rand1.png b/NonLinear/Cut/Refs/rand1.png
new file mode 100644
index 00000000..450d35bc
Binary files /dev/null and b/NonLinear/Cut/Refs/rand1.png differ
diff --git a/NonLinear/Cut/Refs/rand2.png b/NonLinear/Cut/Refs/rand2.png
new file mode 100644
index 00000000..73377283
Binary files /dev/null and b/NonLinear/Cut/Refs/rand2.png differ
diff --git a/NonLinear/Cut/Refs/randb.png b/NonLinear/Cut/Refs/randb.png
new file mode 100644
index 00000000..0d757334
Binary files /dev/null and b/NonLinear/Cut/Refs/randb.png differ
diff --git a/NonLinear/Cut/Refs/surf1.png b/NonLinear/Cut/Refs/surf1.png
new file mode 100644
index 00000000..fbffc707
Binary files /dev/null and b/NonLinear/Cut/Refs/surf1.png differ
diff --git a/NonLinear/Cut/Refs/surf2.png b/NonLinear/Cut/Refs/surf2.png
new file mode 100644
index 00000000..d2f5717d
Binary files /dev/null and b/NonLinear/Cut/Refs/surf2.png differ
diff --git a/NonLinear/Cut/Refs/surfb.png b/NonLinear/Cut/Refs/surfb.png
new file mode 100644
index 00000000..f1f09ddf
Binary files /dev/null and b/NonLinear/Cut/Refs/surfb.png differ
diff --git a/NonLinear/Cut/Refs/tool1-s1.png b/NonLinear/Cut/Refs/tool1-s1.png
new file mode 100644
index 00000000..5524ca48
Binary files /dev/null and b/NonLinear/Cut/Refs/tool1-s1.png differ
diff --git a/NonLinear/Cut/Refs/tool1-se.png b/NonLinear/Cut/Refs/tool1-se.png
new file mode 100644
index 00000000..d7cb0031
Binary files /dev/null and b/NonLinear/Cut/Refs/tool1-se.png differ
diff --git a/NonLinear/Cut/Refs/tool2-s1.png b/NonLinear/Cut/Refs/tool2-s1.png
new file mode 100644
index 00000000..fba8a444
Binary files /dev/null and b/NonLinear/Cut/Refs/tool2-s1.png differ
diff --git a/NonLinear/Cut/Refs/tool2-se.png b/NonLinear/Cut/Refs/tool2-se.png
new file mode 100644
index 00000000..bfc1dfcd
Binary files /dev/null and b/NonLinear/Cut/Refs/tool2-se.png differ
diff --git a/NonLinear/Cut/iter.fbd b/NonLinear/Cut/iter.fbd
new file mode 100644
index 00000000..47bc1b11
--- /dev/null
+++ b/NonLinear/Cut/iter.fbd
@@ -0,0 +1,12 @@
+wsize 1400 800
+read ResultsForLastIterations.frd
+seta ! all
+view elem
+view disp
+view sh
+ds -1 e 4
+rot -z
+zoom 2.5
+plot ev +CF3
+scal d 10
+plus ev +CF1
diff --git a/NonLinear/Cut/par.pre.fbd b/NonLinear/Cut/par.pre.fbd
new file mode 100644
index 00000000..99a531a2
--- /dev/null
+++ b/NonLinear/Cut/par.pre.fbd
@@ -0,0 +1,259 @@
+# z in Profillaufrichtung
+# x quer
+# y nach oben
+
+# height of the tool
+# width of the tool
+# thickness of the tool
+# end radius of the slot
+# height of the profile
+# width of the profile
+# gap (opening) of the C-profile
+# sheet thickness
+# outer radius of the profile corners
+# gap between tools
+
+# dependent variables
+#
+#
+#
+#
+#
+#
+#
+#
+
+
+# Kontur
+pnt lu <-wi/2.> <-he/2.> 0
+pnt mu 0 <-he/2.> 0
+pnt lo <-wi/2.> < he/2.> 0
+pnt mo 0 < he/2.> 0
+pnt p1a 0 <-ya> 0
+pnt p2a <-xa> <-ya> 0
+pnt p3a <-xa> 0
+pnt p4a <-xg> 0
+pnt p4i <-xg> 0
+pnt p3i <-xi> 0
+pnt p2i <-xi> <-yi> 0
+pnt p1i 0 <-yi> 0
+
+# Messer
+line ! mo lo
+line ! lo lu
+line ! lu mu
+line ! mu p1a
+line ! p1a p2a
+line ! p2a p3a
+line ! p3a p4a
+line ! p4a p4i
+line ! p4i p3i
+line ! p3i p2i
+line ! p2i p1i
+line ! p1i mo
+fil L005 L006
+fil L006 L007
+fil L007 L008
+fil L008 L009
+fil L009 L00A
+fil L00A L00B
+del l L008
+merg p all
+
+# Kontaktflächen
+seta MesserInnen L00B L00I L00A L00H L009 L00G
+comp MesserInnen do
+seta MesserAussen L00F L007 L00E L006 L00D L005
+comp MesserAussen do
+
+plot pa all
+plus la all
+seto messer1
+ seto sketch
+ surf s1 all
+ setc
+ copy sketch new mir x a
+ merg p all
+ merg l all
+ swep all new tra 0 0 a
+setc
+
+copy messer1 messer2 tra 0 0 | a
+div all auto 5 30
+elty all te10
+mesh all
+comp messer1 do
+comp messer2 do
+
+
+# profil
+seto blech
+pnt pp1a 0 <-pwi/2> 0
+pnt pp2a <-phe/2> <-pwi/2> 0
+pnt pp3a <-phe/2> 0
+pnt pp4a <-pgap/2.> 0
+pnt pp1i 0 <-pwi/2+pth> 0
+pnt pp2i <-phe/2+pth> <-pwi/2+pth> 0
+pnt pp3i <-phe/2+pth> 0
+pnt pp4i <-pgap/2.> 0
+
+line l1 pp1a pp2a
+line l2 pp2a pp3a
+line l3 pp3a pp4a
+line l4 pp4a pp4i
+line l5 pp4i pp3i
+line l6 pp3i pp2i
+line l7 pp2i pp1i
+line l8 pp1i pp1a
+fil l1 l2
+fil l2 l3
+fil l5 l6
+fil l6 l7
+# Ränder
+seta BlechInnen l l5 l6 l7 L05Y L05Z
+comp BlechInnen do
+seta BlechAussen l l1 l2 l3 L05W L05X
+comp BlechAussen do
+
+surf ! blech
+swep blech new tra 0 0 <2.*th+ss> a
+
+copy blech new mir x a
+
+elty blech te10
+div blech auto 3 10
+mesh blech
+
+merg n blech
+#move blech tra 0 0 <-th>
+comp BlechAussen do
+comp BlechInnen do
+comp blech do
+
+setc
+
+setr messer1 se blech
+# Kontaktflächen
+# seta BlechInnen s A025 A02B A026 A02C A027 A02L A02Q A02K A02P A02J
+# seta BlechAussen s A02H A02O A02G A02N A02F A021 A029 A022 A02A A0s3
+
+plot f all n
+view elem
+
+merg l all
+merg p all
+merg n all
+
+seti MA1 f MesserAussen messer1
+seti MA2 f MesserAussen messer2
+seti MI1 f MesserInnen messer1
+seti MI2 f MesserInnen messer2
+
+send MA1 abq sur
+send MA2 abq sur
+send MI1 abq sur
+send MI2 abq sur
+
+
+
+send BlechAussen abq sur
+send BlechInnen abq sur
+
+
+# sets for constraints
+seta Blechrand s A020 A02E
+comp Blechrand do
+send Blechrand abq nam
+
+# sets for Materials
+send messer1 abq nam
+send messer2 abq nam
+send blech abq nam
+
+# Messer 1 rechts, links, oben, unten
+seta m1nodes n messer1
+enq m1nodes m1r rec _ _ 0.1
+send m1r abq nam
+enq m1nodes m1l rec <-wi/2.> _ _ 0.1
+send m1l abq nam
+enq m1nodes m1o rec _ _ 0.1
+send m1o abq nam
+enq m1nodes m1u rec _ <-he/2.> _ 0.1
+send m1u abq nam
+
+# Messer 2 rechts, links, oben, unten
+seta m2nodes n messer2
+enq m2nodes m2r rec _ _ 0.1
+send m2r abq nam
+enq m2nodes m2l rec <-wi/2.> _ _ 0.1
+send m2l abq nam
+enq m2nodes m2o rec _ _ 0.1
+send m2o abq nam
+enq m2nodes m2u rec _ <-he/2.> _ 0.1
+send m2u abq nam
+
+# Messer Außenkanten
+seta m1rnodes n m1r m1l m1o m1u
+enq m1rnodes m1k rec _ _ 0 0.1
+send m1k abq nam
+seta m2rnodes n m2r m2l m2o m2u
+enq m2rnodes m2k rec _ _ <2.*th+ss> 0.1
+send m2k abq nam
+
+move blech tra <-off> 0
+move messer2 tra <2.*off> <-2*off> 0
+
+send all abq
+
+# doc images
+ulin Parts: Messer1 (gray), Messer2 (red), blech (green)
+rot -z
+rot r 30
+rot u 30
+seta ! all
+frame
+hcpy png
+sys mv hcpy_1.png Refs/parts.png
+
+ulin contact surfaces: MI1 (turq.), MA1 (blue)
+plot l all n
+plus f MI1 t
+plus f MA1 b
+hcpy png
+sys mv hcpy_2.png Refs/surf1.png
+
+ulin contact surfaces: MI2 (turq.), MA2 (blue)
+plot l all n
+plus f MI2 t
+plus f MA2 b
+hcpy png
+sys mv hcpy_3.png Refs/surf2.png
+
+ulin contact surfaces: BlechInnen (turq.), BlechAussen (blue)
+plot l all n
+plus f BlechInnen t
+plus f BlechAussen b
+hcpy png
+sys mv hcpy_4.png Refs/surfb.png
+
+ulin conststraint regions of Messer1: m1r (black), m1u (red), m1k (green)
+plot l all n
+plus n m1r k 4
+plus n m1u r 4
+plus n m1k g 4
+hcpy png
+sys mv hcpy_5.png Refs/rand1.png
+
+ulin conststraint regions of Messer2: m2r (black), m2u (red), m2k (green)
+plot l all n
+plus n m2l k 4
+plus n m2o r 4
+plus n m2k g 4
+hcpy png
+sys mv hcpy_6.png Refs/rand2.png
+
+ulin conststraint region: Blechrand
+plot l all n
+plus n Blechrand r 4
+hcpy png
+sys mv hcpy_7.png Refs/randb.png
diff --git a/NonLinear/Cut/post.fbd b/NonLinear/Cut/post.fbd
new file mode 100644
index 00000000..47211c7e
--- /dev/null
+++ b/NonLinear/Cut/post.fbd
@@ -0,0 +1,51 @@
+#wsize 800 550
+read solve.frd
+seta ! all
+view elem
+view disp
+view sh
+
+ds -0 e 1
+rot -z
+plot ev +CF3
+zoom 1.5
+rot u 10
+rot l 10
+hcpy png
+sys mv hcpy_1.png Refs/blech-pe-1.png
+
+rot r 30
+hcpy png
+sys mv hcpy_2.png Refs/blech-pe-2.png
+
+ulin Fixed tool (feed), cutting edges
+rot -z
+ds -1 e 7
+#scal d 10
+plot ev +CF1
+frame
+hcpy png
+sys mv hcpy_3.png Refs/tool1-se.png
+
+ds -1 e 11
+plot ev +CF1
+hcpy png
+sys mv hcpy_4.png Refs/tool1-s1.png
+
+ulin Moving tool (exit), cutting edges
+ds -1 e 7
+rot z
+plot ev +CF2
+frame
+hcpy png
+sys mv hcpy_5.png Refs/tool2-se.png
+
+ds -1 e 11
+rot -z
+rot r 30
+rot u 30
+plot ev +CF2
+plus e +CF1 n
+frame
+hcpy png
+sys mv hcpy_6.png Refs/tool2-s1.png
diff --git a/NonLinear/Cut/solve.inp b/NonLinear/Cut/solve.inp
new file mode 100644
index 00000000..5ccb1959
--- /dev/null
+++ b/NonLinear/Cut/solve.inp
@@ -0,0 +1,76 @@
+*include, input=all.msh
+*include, input=MA1.sur
+*include, input=MA2.sur
+*include, input=MI1.sur
+*include, input=MI2.sur
+*include, input=BlechAussen.sur
+*include, input=BlechInnen.sur
+*include, input=blech.nam
+*include, input=Blechrand.nam
+*include, input=messer1.nam
+*include, input=messer2.nam
+*include, input=m1u.nam
+*include, input=m1r.nam
+*include, input=m1k.nam
+*include, input=m2o.nam
+*include, input=m2l.nam
+*include, input=m2k.nam
+
+** Materials ***********************************************
+**
+*Material, name=Messer
+*Elastic
+210000, 0.3
+*Material, name=Blech
+*Elastic
+210000, 0.3
+*Plastic
+400, 0
+800, 0.2
+2000,2
+**
+** Sections ************************************************
+**
+*Solid section, elset=Emesser1, material=Messer
+*Solid section, elset=Emesser2, material=Messer
+*Solid section, elset=Eblech, material=Blech
+**
+** Constraints *********************************************
+**
+*boundary
+Nm1u,2,2
+Nm1r,1,1
+Nm1k,3,3
+Nm2k,3,3
+NBlechrand,3,3
+
+*surface interaction, name=cut
+*surface behavior, pressure-overclosure=linear
+100000.
+*contact pair, interaction=cut, type=surface to surface
+SBlechAussen, SMA1
+SBlechAussen, SMA2
+SBlechInnen, SMI1
+SBlechInnen, SMI2
+**
+** Steps ***************************************************
+**
+*TIME POINTS, NAME=TP1, GENERATE
+0,1,0.1
+
+*Step,nlgeom
+*Static
+0.05,1,0.00000001,0.05
+***controls, parameters=field
+**0.02,0.1,1.,1.,0.1,0.1
+***controls, parameters=time incrementation
+**4,8 ,9, 16, 10 ,4 , , 8, ,
+**0.25, 0.5, 0.75, 0.85 , ,1.5 ,
+*boundary
+Nm2l,1,1,3
+Nm2o,2,2,-3
+*element output,TIME POINTS=TP1, last iterations
+S,PE
+*node output
+U
+*end step
diff --git a/NonLinear/Cut/test.py b/NonLinear/Cut/test.py
new file mode 100644
index 00000000..dc45c25a
--- /dev/null
+++ b/NonLinear/Cut/test.py
@@ -0,0 +1,10 @@
+#!/usr/bin/python
+import os
+
+os.system("param.py par.pre.fbd")
+os.system("cgx -b pre.fbd")
+os.system("ccx solve")
+os.system("monitor.py solve")
+os.system("cgx -b post.fbd")
+
+
diff --git a/README.md b/README.md
index c7dcbea7..93214240 100644
--- a/README.md
+++ b/README.md
@@ -243,3 +243,13 @@ In the [Release Manager](https://github.com/mkraska/CalculiX-Examples/releases)
width="200"
title="Telescoping tubes under bending load">
](Contact/Tubes)
+[
+](Contact/Tubes)
+[
+](NonLinear/Cut)
| |