diff --git a/web/content/docs/tools/model-preparation/identifySubdomains/disc_with_hole_and_bondary.png b/web/content/docs/tools/model-preparation/identifySubdomains/disc_with_hole_and_bondary.png
new file mode 100644
index 0000000000000000000000000000000000000000..6ea6ba3ef134f1297056c389369492bd3f460509
--- /dev/null
+++ b/web/content/docs/tools/model-preparation/identifySubdomains/disc_with_hole_and_bondary.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6e4cbb161c5379f312f0f7549d792fdcb507999b8c02ccfbc1a5d447b137d135
+size 94116
diff --git a/web/content/docs/tools/model-preparation/identifySubdomains/index.pandoc b/web/content/docs/tools/model-preparation/identifySubdomains/index.pandoc
new file mode 100644
index 0000000000000000000000000000000000000000..16a43ab6e2212d68eb39868b677ff2883e26caf7
--- /dev/null
+++ b/web/content/docs/tools/model-preparation/identifySubdomains/index.pandoc
@@ -0,0 +1,51 @@
++++
+date = "2018-10-02T15:56:57+01:00"
+title = "Identitfy subdomains in bulk mesh."
+author = "Dmitri Naumov"
+
+[menu]
+  [menu.tools]
+    parent = "model-preparation"
++++
+
+## General
+
+`identifySubdomains` is a creation and check tool for the `bulk_node_ids` and
+`bulk_element_ids` mesh properties. These properties are needed for the boundary
+conditions and source terms application, defined on the subdomains of a "bulk"
+mesh.
+
+## Example
+
+Given a "bulk" mesh (Tests/Data/Mechanics/Linear/disc_with_hole.vtu) and a
+[quater cirle mesh](../quater_circle.vtu) extracted manually we want to use the
+quater circle mesh for heterogeneous boundary condition. OGS requires two
+mappings into the "bulk" mesh, one for the nodes and one for the elements.
+
+<center>
+![The figure shows a part of the "bulk" mesh with boundary element numbers, and
+the quater circle mesh shown as white line with green
+points.](disc_with_hole_and_bondary.png){width=50%}
+</center>
+
+To create this mappings we run
+```
+identifySubdomains -m Tests/Data/Mechanics/Linear/disc_with_hole.vtu -s 1e-6 -o
+new_ -- quater_circle.vtu
+```
+The tool will first try to find all unique nodes in the "bulk" mesh using search
+radius 1e-6, and create the `bulk_node_ids` mapping upon success. Then the
+`bulk_element_ids` mapping is created by finding a unique element containing all
+the nodes of the subdomain element. The output file
+[`new_quater_circle.vtu`](../new_quater_cirle.vtu) will now contain both
+mappings and is prepared for usage as a boundary condition mesh.
+
+## Notes
+
+ - The double dash is separating the subdomain meshes, so the input can have
+   multiple subdomain inputs:
+   ```
+   identifySubdomains -m bulk.vtu -- bc1.vtu bc2.vtu source_term_meshes*.vtu
+   ```
+ - The output prefix `-o` can contain a path too and is relative to the current
+   working directory.
diff --git a/web/content/docs/tools/model-preparation/identifySubdomains/new_quater_circle.vtu b/web/content/docs/tools/model-preparation/identifySubdomains/new_quater_circle.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..64653593917983705540431a28140bd755149678
--- /dev/null
+++ b/web/content/docs/tools/model-preparation/identifySubdomains/new_quater_circle.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8f1ba00fcaaa465639aec4b3931332d23e00ba18da68def9513f3f69ec8725f9
+size 3865
diff --git a/web/content/docs/tools/model-preparation/identifySubdomains/quater_circle.vtu b/web/content/docs/tools/model-preparation/identifySubdomains/quater_circle.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..64653593917983705540431a28140bd755149678
--- /dev/null
+++ b/web/content/docs/tools/model-preparation/identifySubdomains/quater_circle.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8f1ba00fcaaa465639aec4b3931332d23e00ba18da68def9513f3f69ec8725f9
+size 3865