Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Conflicts: src/core/energy_inline.hpp src/core/interaction_data.cpp src/core/interaction_data.hpp src/features.def src/tcl/interaction_data_tcl.cpp
- Loading branch information
Showing
177 changed files
with
18,399 additions
and
2,471 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
% Copyright (C) 2010,2011,2012,2013,2014 The ESPResSo project | ||
% | ||
% This file is part of ESPResSo. | ||
% | ||
% ESPResSo is free software: you can redistribute it and/or modify it | ||
% under the terms of the GNU General Public License as published by the | ||
% Free Software Foundation, either version 3 of the License, or (at your | ||
% option) any later version. | ||
% | ||
% ESPResSo is distributed in the hope that it will be useful, but | ||
% WITHOUT ANY WARRANTY; without even the implied warranty of | ||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
% General Public License for more details. | ||
% | ||
% You should have received a copy of the GNU General Public License | ||
% along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
% | ||
|
||
\chapter{Immersed Boundary Method for soft elastic objects} | ||
\label{sec:ibm} | ||
|
||
\begin{citebox} | ||
Please contact the Biofluid Simulation and Modeling Group, University of Bayreuth, Germany if you plan to use this feature. | ||
\end{citebox} | ||
|
||
This section describes an alternative way to include soft elastic objects somewhat different from the previous chapter. In the Immersed Boundary Method (IBM), soft particles are considered as an infinitely thin shell filled with liquid (see e.g. ~\cite{Peskin2002, Crowl2010, KruegerThesis}). When the shell is deformed by an external flow it responds by elastic restoring forces which are transmitted into the fluid. In the present case, the inner and outer liquid are of the same type and are simulated using Lattice-Boltzmann. | ||
|
||
Numerically, the shell is discretized by a set of marker points connected by triangles. The marker points are advected with \emph{exactly} the local fluid velocity, i.e., they do not possess a mass nor a friction coefficient (this is different from the Object-in-Fluid method of the previous chapter). We implement these marker points as virtual particles in \es which are not integrated using the usual velocity-verlet scheme, but instead are propagated using a simple Euler algorithm with the local fluid velocity (if the \texttt{IMMERSED_BOUNDARY} feature is turned on). | ||
|
||
To compute the elastic forces, three new bonded interactions are defined ibm\_triel, ibm\_tribend and ibm\_volCons: | ||
|
||
\begin{itemize} | ||
\item ibm\_triel is a discretized elastic force with the following syntax | ||
\begin{essyntax} | ||
inter \var{ID} ibm_triel \var{ind1} \var{ind2} \var{ind3} \var{max} \var{law} | ||
\begin{features} | ||
\required{IMMERSED_BOUNDARY} | ||
\end{features} | ||
\end{essyntax} | ||
where \var{ind1}, \var{ind2} and \var{ind3} represent the indices of the three marker points making up the triangle. The parameter \var{max} | ||
specifies the maximum stretch above which the bond is considered broken. The final parameter \var{law} can be either | ||
\begin{verbatim} | ||
NeoHookean <k> | ||
\end{verbatim} | ||
or | ||
\begin{verbatim} | ||
Skalak <k1> <k2> | ||
\end{verbatim} | ||
which specifies the elastic law and its corresponding parameters (see e.g. \cite{KruegerThesis}). | ||
|
||
\item ibm\_tribend is a discretized bending potential with the following syntax | ||
\begin{essyntax} | ||
inter \var{ID} ibm_tribend \var{ind1} \var{ind2} \var{ind3} \var{ind4} \var{method} \var{kb} \opt{flat|initial} | ||
\begin{features} | ||
\required{IMMERSED_BOUNDARY} | ||
\end{features} | ||
\end{essyntax} | ||
where \var{ind1}, \var{ind2}, \var{ind3} and \var{ind4} are four marker points corresponding to two neighboring triangles. The indices \var{ind1} and \var{ind3} contain the shared edge. Note that the marker points within a triangle must be labelled such that the normal vector $\vec{n} = (\vec{r}_\text{ind2} - \vec{r}_\text{ind1}) \times (\vec{r}_\text{ind3} - \vec{r}_\text{ind1})$ points outward of the elastic object. | ||
|
||
The parameter \var{method} allows to specify different numerical ways of computing the bending interaction. Currently, two methods are implemented, where the first one (\opt{Krueger}) follows \cite{KruegerThesis} and the second one (\opt{Gompper}) follows \cite{Gompper1996}. In both cases, \var{kb} is the bending modulus. The options \opt{flat} or \opt{initial} specify whether the reference shape is a flat configuration or whether the initial configuration is taken as reference shape, this option is only available for the \opt{Krueger} method. | ||
|
||
\item ibm\_volCons is a volume-conservation force. Without this correction, the volume of the soft object tends to shrink over time due to numerical inaccuracies. Therefore, this implements an artificial force intended to keep the volume constant. If volume conservation is to be used for a given soft particle, the interaction must be added to every marker point belonging to that object. The syntax is | ||
\begin{essyntax} | ||
inter \var{ID} ibm_volCons \var{softID} \var{kv} | ||
\begin{features} | ||
\required{IMMERSED_BOUNDARY} | ||
\end{features} | ||
\end{essyntax} | ||
where \var{softID} identifies the soft particle and \var{kv} is a volumetric spring constant \cite{KruegerThesis}. | ||
\end{itemize} | ||
|
||
|
||
%%% Local Variables: | ||
%%% mode: latex | ||
%%% TeX-master: "ibm" | ||
%%% End: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.