diff --git a/man/OGS6.Rd b/man/OGS6.Rd
index 9db04259727910a9551f7b292c015eaeea36de37..f99e587e129bd7752e3670e20756bb092c1be9fc 100644
--- a/man/OGS6.Rd
+++ b/man/OGS6.Rd
@@ -9,12 +9,14 @@ Constructor for the OGS6 base class
 \section{Active bindings}{
 \if{html}{\out{<div class="r6-active-bindings">}}
 \describe{
-\item{\code{sim_name}}{Getter for OGS6 private parameter '.sim_name'}
+\item{\code{sim_name}}{Access to private parameter '.sim_name'}
 
 \item{\code{sim_id}}{Getter for OGS6 private parameter '.sim_id'}
 
 \item{\code{sim_path}}{Access to private parameter '.sim_path'}
 
+\item{\code{logfile}}{Access to private parameter '.logfile'}
+
 \item{\code{ogs_bin_path}}{Getter for OGS6 private parameter '.ogs_bin_path'}
 
 \item{\code{geometry}}{Getter for OGS6 private parameter '.geometry'}
@@ -68,6 +70,7 @@ Constructor for the OGS6 base class
 \item \href{#method-add_vtkdiff}{\code{OGS6$add_vtkdiff()}}
 \item \href{#method-add_insitu}{\code{OGS6$add_insitu()}}
 \item \href{#method-get_status}{\code{OGS6$get_status()}}
+\item \href{#method-print_log}{\code{OGS6$print_log()}}
 \item \href{#method-clear}{\code{OGS6$clear()}}
 \item \href{#method-clone}{\code{OGS6$clone()}}
 }
@@ -343,10 +346,21 @@ Adds a r2ogs6_insitu object
 \subsection{Method \code{get_status()}}{
 Checks if the OGS6 object has all necessary parameters for
 starting a simulation
+print_log
 \subsection{Usage}{
 \if{html}{\out{<div class="r">}}\preformatted{OGS6$get_status()}\if{html}{\out{</div>}}
 }
 
+}
+\if{html}{\out{<hr>}}
+\if{html}{\out{<a id="method-print_log"></a>}}
+\if{latex}{\out{\hypertarget{method-print_log}{}}}
+\subsection{Method \code{print_log()}}{
+Prints logfile to console (if it exists)
+\subsection{Usage}{
+\if{html}{\out{<div class="r">}}\preformatted{OGS6$print_log()}\if{html}{\out{</div>}}
+}
+
 }
 \if{html}{\out{<hr>}}
 \if{html}{\out{<a id="method-clear"></a>}}
diff --git a/man/OGS6_Chain.Rd b/man/OGS6_Chain.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..c0c4bd5bd4e08e9f82c334d00e95842e8d77500c
--- /dev/null
+++ b/man/OGS6_Chain.Rd
@@ -0,0 +1,84 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/ogs6_chain.R
+\name{OGS6_Chain}
+\alias{OGS6_Chain}
+\title{OGS6_Chain}
+\description{
+Constructor for the OGS6_Chain base class
+}
+\section{Methods}{
+\subsection{Public methods}{
+\itemize{
+\item \href{#method-new}{\code{OGS6_Chain$new()}}
+\item \href{#method-run_simulation}{\code{OGS6_Chain$run_simulation()}}
+\item \href{#method-print_log}{\code{OGS6_Chain$print_log()}}
+\item \href{#method-clone}{\code{OGS6_Chain$clone()}}
+}
+}
+\if{html}{\out{<hr>}}
+\if{html}{\out{<a id="method-new"></a>}}
+\if{latex}{\out{\hypertarget{method-new}{}}}
+\subsection{Method \code{new()}}{
+Creates new OGS6_Chain object
+\subsection{Usage}{
+\if{html}{\out{<div class="r">}}\preformatted{OGS6_Chain$new(ogs6_obj, iter_n)}\if{html}{\out{</div>}}
+}
+
+\subsection{Arguments}{
+\if{html}{\out{<div class="arguments">}}
+\describe{
+\item{\code{ogs6_obj}}{OGS6: A simulation object.}
+
+\item{\code{iter_n}}{number: Number of iterations (length of the chain)}
+}
+\if{html}{\out{</div>}}
+}
+}
+\if{html}{\out{<hr>}}
+\if{html}{\out{<a id="method-run_simulation"></a>}}
+\if{latex}{\out{\hypertarget{method-run_simulation}{}}}
+\subsection{Method \code{run_simulation()}}{
+Runs the simulation. This calls r2ogs6::run_simulation() internally.
+For chains, output will be written to logfiles.
+\subsection{Usage}{
+\if{html}{\out{<div class="r">}}\preformatted{OGS6_Chain$run_simulation()}\if{html}{\out{</div>}}
+}
+
+}
+\if{html}{\out{<hr>}}
+\if{html}{\out{<a id="method-print_log"></a>}}
+\if{latex}{\out{\hypertarget{method-print_log}{}}}
+\subsection{Method \code{print_log()}}{
+Reads in logfile of simulation and prints it to the console.
+This calls print_log internally. If no index is specified, this will
+print the logfile of the last object in the chain.
+\subsection{Usage}{
+\if{html}{\out{<div class="r">}}\preformatted{OGS6_Chain$print_log(index)}\if{html}{\out{</div>}}
+}
+
+\subsection{Arguments}{
+\if{html}{\out{<div class="arguments">}}
+\describe{
+\item{\code{index}}{number: chain index of a OGS6 object}
+}
+\if{html}{\out{</div>}}
+}
+}
+\if{html}{\out{<hr>}}
+\if{html}{\out{<a id="method-clone"></a>}}
+\if{latex}{\out{\hypertarget{method-clone}{}}}
+\subsection{Method \code{clone()}}{
+The objects of this class are cloneable with this method.
+\subsection{Usage}{
+\if{html}{\out{<div class="r">}}\preformatted{OGS6_Chain$clone(deep = FALSE)}\if{html}{\out{</div>}}
+}
+
+\subsection{Arguments}{
+\if{html}{\out{<div class="arguments">}}
+\describe{
+\item{\code{deep}}{Whether to make a deep clone.}
+}
+\if{html}{\out{</div>}}
+}
+}
+}
diff --git a/man/OGS6_Ensemble.Rd b/man/OGS6_Ensemble.Rd
index 55cfa5d5f8c046ab1a9ccd25563671a42e9439c4..772713a4f2800d3a2aad17093743befc66287486 100644
--- a/man/OGS6_Ensemble.Rd
+++ b/man/OGS6_Ensemble.Rd
@@ -9,9 +9,7 @@ Constructor for the OGS6_Ensemble base class
 \section{Active bindings}{
 \if{html}{\out{<div class="r6-active-bindings">}}
 \describe{
-\item{\code{parameters}}{Access to private parameter '.parameters'}
-
-\item{\code{sim_name}}{Getter for private parameter '.sim_name'}
+\item{\code{parameters}}{Getter for private parameter '.parameters'}
 
 \item{\code{ens_path}}{Getter for private parameter '.ens_path'}
 
@@ -23,7 +21,6 @@ Constructor for the OGS6_Ensemble base class
 \subsection{Public methods}{
 \itemize{
 \item \href{#method-new}{\code{OGS6_Ensemble$new()}}
-\item \href{#method-add_parameter}{\code{OGS6_Ensemble$add_parameter()}}
 \item \href{#method-run_simulation}{\code{OGS6_Ensemble$run_simulation()}}
 \item \href{#method-clone}{\code{OGS6_Ensemble$clone()}}
 }
@@ -51,36 +48,23 @@ have the same length.}
 }
 }
 \if{html}{\out{<hr>}}
-\if{html}{\out{<a id="method-add_parameter"></a>}}
-\if{latex}{\out{\hypertarget{method-add_parameter}{}}}
-\subsection{Method \code{add_parameter()}}{
-Adds a parameter.
+\if{html}{\out{<a id="method-run_simulation"></a>}}
+\if{latex}{\out{\hypertarget{method-run_simulation}{}}}
+\subsection{Method \code{run_simulation()}}{
+Runs the simulation. This calls r2ogs6::run_simulation() internally.
+For ensembles, output will be written to logfiles.
 \subsection{Usage}{
-\if{html}{\out{<div class="r">}}\preformatted{OGS6_Ensemble$add_parameter(parameter)}\if{html}{\out{</div>}}
+\if{html}{\out{<div class="r">}}\preformatted{OGS6_Ensemble$run_simulation(parallel = FALSE)}\if{html}{\out{</div>}}
 }
 
 \subsection{Arguments}{
 \if{html}{\out{<div class="arguments">}}
 \describe{
-\item{\code{parameter}}{list, length == 2: The first element references an
-OGS6 parameter, the second one is a list or vector of values.
-To find out how many values you need to supply, call ensemble_size
-on this object.}
+\item{\code{parallel}}{flag: Should the function be run in parallel?
+This is implementented via the 'parallel' package.}
 }
 \if{html}{\out{</div>}}
 }
-}
-\if{html}{\out{<hr>}}
-\if{html}{\out{<a id="method-run_simulation"></a>}}
-\if{latex}{\out{\hypertarget{method-run_simulation}{}}}
-\subsection{Method \code{run_simulation()}}{
-Runs the simulation. This calls run_simulation() internally. For
-ensembles, logfiles will never be written to console. This function
-should be suited for parallelization.
-\subsection{Usage}{
-\if{html}{\out{<div class="r">}}\preformatted{OGS6_Ensemble$run_simulation()}\if{html}{\out{</div>}}
-}
-
 }
 \if{html}{\out{<hr>}}
 \if{html}{\out{<a id="method-clone"></a>}}
diff --git a/man/run_simulation.Rd b/man/run_simulation.Rd
index f5eefb60b92d118f6f4bdd2ccbe1eddb508f9197..05865c410baabc5caa9d2bf5a5a25dade16529de 100644
--- a/man/run_simulation.Rd
+++ b/man/run_simulation.Rd
@@ -4,12 +4,12 @@
 \alias{run_simulation}
 \title{run_simulation}
 \usage{
-run_simulation(ogs6_obj, output_to_log_file = TRUE)
+run_simulation(ogs6_obj, write_logfile = TRUE)
 }
 \arguments{
 \item{ogs6_obj}{OGS6: Simulation object}
 
-\item{output_to_log_file}{flag: Should output be written to a log file?}
+\item{write_logfile}{flag: Should output be written to a logfile?}
 }
 \description{
 Calls OGS6 object validator functions, exports all necessary