From 5e7c2989cfbac83a107e1da0ca01922822d6da90 Mon Sep 17 00:00:00 2001
From: Dmitri Naumov <github@naumov.de>
Date: Tue, 23 Mar 2021 18:59:44 +0100
Subject: [PATCH] [doc] Tags documentation of DeactivatedSubdomain.

---
 .../i_deactivated_subdomain.md                |  3 +--
 .../line_segment/i_line_segment.md            |  1 +
 .../line_segment/t_end.md                     |  1 +
 .../line_segment/t_start.md                   |  1 +
 .../deactivated_subdomain/t_time_curve.md     |  4 ++++
 .../deactivated_subdomain/t_time_interval.md  |  4 ----
 .../time_interval/i_time_interval.md          |  3 +++
 .../time_interval/t_end.md                    |  1 +
 .../time_interval/t_start.md                  |  1 +
 .../i_deactivated_subdomains.md               |  9 +--------
 ProcessLib/DeactivatedSubdomain.h             | 19 +++++++++++++++++++
 11 files changed, 33 insertions(+), 14 deletions(-)
 create mode 100644 Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/line_segment/i_line_segment.md
 create mode 100644 Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/line_segment/t_end.md
 create mode 100644 Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/line_segment/t_start.md
 create mode 100644 Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/t_time_curve.md
 delete mode 100644 Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/t_time_interval.md
 create mode 100644 Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/time_interval/i_time_interval.md
 create mode 100644 Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/time_interval/t_end.md
 create mode 100644 Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/time_interval/t_start.md

diff --git a/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/i_deactivated_subdomain.md b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/i_deactivated_subdomain.md
index 5c64bbd2f55..09035e93f47 100644
--- a/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/i_deactivated_subdomain.md
+++ b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/i_deactivated_subdomain.md
@@ -1,2 +1 @@
-It defines a set of deactivated subdomains, which includes  a time interval and
- material IDs.
+\copydoc ProcessLib::DeactivatedSubdomain
diff --git a/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/line_segment/i_line_segment.md b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/line_segment/i_line_segment.md
new file mode 100644
index 00000000000..8af8a86f1b7
--- /dev/null
+++ b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/line_segment/i_line_segment.md
@@ -0,0 +1 @@
+\copydoc ProcessLib::DeactivatedSubdomain::line_segment
diff --git a/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/line_segment/t_end.md b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/line_segment/t_end.md
new file mode 100644
index 00000000000..988f10533b8
--- /dev/null
+++ b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/line_segment/t_end.md
@@ -0,0 +1 @@
+Endpoint of a line segment.
diff --git a/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/line_segment/t_start.md b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/line_segment/t_start.md
new file mode 100644
index 00000000000..ae5ffe2dc4d
--- /dev/null
+++ b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/line_segment/t_start.md
@@ -0,0 +1 @@
+Starting point of the line segment.
diff --git a/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/t_time_curve.md b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/t_time_curve.md
new file mode 100644
index 00000000000..647f7fe91a3
--- /dev/null
+++ b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/t_time_curve.md
@@ -0,0 +1,4 @@
+A curve for time dependent element deactivation. This allows fine graded control
+over the elements being deactivated compared to the time interval. The curve,
+referenced by name here, is used to map the time to position along the line
+segment.
diff --git a/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/t_time_interval.md b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/t_time_interval.md
deleted file mode 100644
index c6052b5abbc..00000000000
--- a/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/t_time_interval.md
+++ /dev/null
@@ -1,4 +0,0 @@
-The time interval of a set of deactivated subdomains.
-
-For its input syntax, please also see:
-\copydoc ogs_file_param__prj__time_loop__processes__process__time_interval
diff --git a/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/time_interval/i_time_interval.md b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/time_interval/i_time_interval.md
new file mode 100644
index 00000000000..b14388d939b
--- /dev/null
+++ b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/time_interval/i_time_interval.md
@@ -0,0 +1,3 @@
+Time interval for subdomain deactivation. Contrary to a time curve the
+deactivation happens at once as soon as the start time is reached until the end
+time.
diff --git a/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/time_interval/t_end.md b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/time_interval/t_end.md
new file mode 100644
index 00000000000..2da79a4ca94
--- /dev/null
+++ b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/time_interval/t_end.md
@@ -0,0 +1 @@
+End time for domain deactivation.
diff --git a/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/time_interval/t_start.md b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/time_interval/t_start.md
new file mode 100644
index 00000000000..c0fe06cb453
--- /dev/null
+++ b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/deactivated_subdomain/time_interval/t_start.md
@@ -0,0 +1 @@
+Start time for domain deactivation.
diff --git a/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/i_deactivated_subdomains.md b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/i_deactivated_subdomains.md
index 4f14a8960fd..e930f0d3fec 100644
--- a/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/i_deactivated_subdomains.md
+++ b/Documentation/ProjectFile/prj/process_variables/process_variable/deactivated_subdomains/i_deactivated_subdomains.md
@@ -1,8 +1 @@
-It defines sets of deactivated subdomains, each of which contains a time
- interval and material IDs. When the time is in the time interval of a set of
- deactivated subdomains, the elements in the deactivated subdomains are excluded
- from the local and global assembly, and also from the computation of the
- secondary variables.
-
-Note: the nodes at the borders among active subdomains and inactive subdomains
- are included through the entire computations.
+Definition of subdomains for time dependent deactivation.
diff --git a/ProcessLib/DeactivatedSubdomain.h b/ProcessLib/DeactivatedSubdomain.h
index a2832b63dd4..282b3ace0a3 100644
--- a/ProcessLib/DeactivatedSubdomain.h
+++ b/ProcessLib/DeactivatedSubdomain.h
@@ -38,6 +38,25 @@ struct DeactivatedSubdomainMesh
     std::vector<MeshLib::Node*> const inner_nodes;
 };
 
+/// Time depend subdomain deactivation.
+///
+/// Subdomain deactivation is space and time dependent.
+/// The spatial extent of deactivated elements is defined through a set of
+/// material ids.
+/// Additionally a line segment separates through its normal plane and position
+/// on the line segment an active and inactive part.
+///
+/// The subdomain can be deactivated at once using a time interval.
+/// For fine grained control a time curve can be specified.
+/// It maps current time to position on the line segment.
+/// Elements, which center points lie left of this position are deactivated.
+///
+/// \internal
+/// The deactivated elements are excluded from the assembly, pre and post call,
+/// secondary variables computation and the like. To keep the size of the global
+/// linear equation system artificial Dirichlet boundary conditions are applied
+/// on the interior of the deactivated subdomain. The nodes on the border
+/// between the active and inactive elements are not affected.
 struct DeactivatedSubdomain
 {
     DeactivatedSubdomain(
-- 
GitLab