Commit 168efe02 authored by David Lopez's avatar David Lopez

Merge branch 'master' of https://gitlab.e-cam2020.eu/e-cam/E-CAM-Library into...

Merge branch 'master' of https://gitlab.e-cam2020.eu/e-cam/E-CAM-Library into update_matrixswitch_with_dbcsr_david
parents 27d8d5fa b362e780
......@@ -3,11 +3,20 @@ image: umbrellium/sphinx-doc
spelling:
script:
- pip install codespell
- codespell --skip=".git,_static,_build,Diff*" --quiet-level=2
- codespell --skip=".git,_static,_build,Diff*,*.patch" --quiet-level=2 --ignore-words-list="adress"
only:
- master
- merge_requests
orphans:
script:
# Report all the orphans but ignore the exit code
- find ./ -name "*.rst"|xargs -i grep -H orphan {} || true
# Now handle the error code
- if [ $(find ./ -name "*.rst"|xargs -i grep -H orphan {}|wc -l) -gt "1" ]; then $(exit 1); else $(exit 0); fi
only:
- master
pages:
script:
- apt-get update
......
......@@ -22,4 +22,5 @@ Add a brief description briefly here (which replaces this sentence), a line or t
- [ ] Is there a description of any applications the module has? (This is a hard requirement for E-CAM PDRAs)
*After Merging*
- [ ] Make sure the module appears in a toctree
- [ ] Add a link to the final result on https://e-cam.readthedocs.io
......@@ -67,7 +67,7 @@ The following modules connected to the DL_MESO_DPD code have been produced so fa
ESPResSo++
----------
The following modules connected to the ESPResSo++ code have been produced so far:
The following modules connected to the ESPResSo++ code have been produced so far in the context of an `associated Pilot Project <https://www.e-cam2020.eu/pilot-project-composite-materials/>`_:
.. toctree::
:glob:
......@@ -83,6 +83,14 @@ The following modules connected to the ESPResSo++ code have been produced so far
./modules/hierarchical-strategy/simple_one-component_melts/fine-graining/readme
./modules/hierarchical-strategy/simple_one-component_melts/coarse-graining/readme
These modules have resulted in the final overarching module that captures the goal of the pilot project:
.. toctree::
:glob:
:maxdepth: 1
./modules/hierarchical-strategy/simple_one-component_melts/readme
ParaDiS
-------
......@@ -105,3 +113,16 @@ The first Meso- and Multi-scale ESDW was held in Barcelona, Spain, in July 2017.
:maxdepth: 1
./modules/DL_MESO_DPD/sionlib_dlmeso_dpd/readme
GC-AdResS
---------
Adaptive Resolution Simulation: Implementation in GROMACS
.. toctree::
:glob:
:maxdepth: 1
./modules/GC-AdResS/Abrupt_AdResS/readme.rst
./modules/GC-AdResS/Abrupt_AdResS/abrupt_adress.rst
.. _abrupt_adress_patch:
####################################
Patch file for module: Abrupt AdResS
####################################
The patch for the abrupt AdResS code is:
.. literalinclude:: ./abrupt_adress.patch
:linenos:
:download:`Downloadable version of patch file <abrupt_adress.patch>`
.. _simple_one-component_melts:
.. _constrain_com:
###########################################################################
Hierarchical Strategy for Simple One-Component Polymer Melts: constrain-com
......
.. _simple_one-component_melts:
############################################################
Hierarchical Strategy for Simple One-Component Polymer Melts
############################################################
.. sidebar:: Software Technical Information
The information in this section describes ESPResSo++ as a whole.
Information specific to the additions in this module are in subsequent
sections.
Languages:
Python (2.7) and C++
Documentation Tools:
Sphinx and Doxygen
Application Documentation:
http://espressopp.github.io/
Relevant Training Material:
https://github.com/espressopp/espressopp/tree/master/examples
Licence
GNU General Public License
Author
Hideki Kobayashi
.. contents:: :local:
The module is an implementation of the existing hierarchical strategy
[1]_ for the equilibration of simple one-component polymer melts in
ESPResSO++.
.. Add technical info as a sidebar and allow text below to wrap around it
Purpose of Module
_________________
.. Give a brief overview of why the module is/was being created.
To study the properties of polymer melts by numerical simulations,
equilibrated configurations must be prepared. However, the relaxation
time for high molecular weight polymer melts is huge and increases,
according to reptation theory, with the third power of the molecular
weight. Hence, an effective method for decreasing the equilibration
time is required. The hierarchical strategy pioneered in Ref. [1]_ is
a particularly suitable way to do this. The present module provides an
integration of that method into the package ESPResSO++.
To decrease the relaxation time, microscopic monomers are
coarse-grained by mapping each subchain with :math:`N_{b}` monomers
onto a soft blob. A polymer chain, originally consisting of :math:`N`
monomers, is replaced by a coarse-grained (CG) chain consisting of
:math:`N/N_{b}` soft blobs linked by a harmonic bond potential,
:math:`V_{bond}=3 k_{B}T d^{2}/2b_{CG}^2`, and an angular bond-bending
potential :math:`V_{bend}=k_{B}T k_{bend}(1 + \cos(\theta))/2`. Here
:math:`d` is the distance and :math:`\theta` is the angle between
consecutive bonds. The interactions between non-bonded soft blobs are
taken into account by a repulsive pair potential :math:`V_{nb}=k_{B}T
\epsilon U_{G}(r_{ij})`. Here :math:`r_{ij}` is the center-to-center
distance between the two blobs, :math:`U_{G}(r_{ij})` is a Gaussian
function with variance :math:`\overline{\sigma}^2 = \sigma_{i}^2 + \sigma_{j}^2` and
:math:`\sigma_{i}` is the gyration radius of blob number
:math:`i`. The gyration radius :math:`\sigma` is in turn
fluctuating. This fluctuation is controlled by the potential
:math:`V_{sphere}=k_{B}T \, (a_{1}N_{b}^3\sigma^{-6} +
a_{2}N_{b}^{-1}\sigma^{2} + a_{3}\sigma^{-3})`.
After equilibrating a configuration at very coarse resolution, each CG
polymer chain is replaced with a more fine-grained (FG) chain. In this
procedure, a CG blob is divided into several FG blobs. The center of
mass (COM) of the FG blobs coincides with the position of the CG
blob's center, and is being kept fixed during the relaxation of the
local conformation of the FG monomers within the CG blob.
To develop this module, the following classes have been implemented or
modified (and may have been described in more detail elsewhere):
* A ``VSpherePair`` class for calculating
:math:`V_{nb}=k_{B}T \epsilon U_{G}(r_{ij})`
* A ``LangevinThermostatOnRadius`` class for simulating
the fluctuations of the radii of the blobs
* A ``VSphereSelf`` class for calculating :math:`V_{sphere}=k_{B}T \,
(a_{1}N_{b}^3\sigma^{-6} + a_{2}N_{b}^{-1}\sigma^{2} +
a_{3}\sigma^{-3})`
* A ``FixedLocalTupleList`` class for storing the N-tuple
of particles consisting of both real and virtual particles
* A ``ConstrainCOM`` class for conserving the COM of N FG
blobs with the CG blob
Background Information
______________________
The implementation of this module is based on ESPResSO++. You can
learn about ESPResSO++ from the following links:
* ESPResSO++ documentation: http://espressopp.github.io/ESPResSo++.pdf
* ESPResSO++ source code: https://github.com/espressopp/espressopp
Testing
_______
Explanation of installation of ESPResSO++ can be found at:
* https://github.com/espressopp/espressopp
After installing this module, an example can be run from `hierarchical_strategy_for_one-component` subdirectory of the `examples` folder using the `run_example` script to be found there.
* https://github.com/hidekb/espressopp/tree/hierarchical-strategy/examples/hierarchical-strategy/simple_one-component
Source Code
___________
This module was merged into ESPResSo++ in the Pull Request:
* https://github.com/espressopp/espressopp/pull/213
References
___________
.. Here are the URL references used
.. [1] : http://pubs.acs.org/doi/abs/10.1021/mz5000015
......@@ -115,15 +115,20 @@ examples of these in the repository, but we provide a template for a generic mod
./example_module/readme
After creating the branch, implement your contributions: new modules, enhancements or updates to existing modules, bug
fixes, structure changes, whatever you like. Make sure you commit your work, and try to do it in bite-size chunks, so
the commit log remains clear.
fixes, structure changes, whatever you like.
For example:
Make sure to put your work in the appropriate directory. There are 4 scientific
areas in E-CAM and your module is likely most relevant in one of those. Each of these directories has a ``modules``
subdirectory, create a new directory within it to contain all files relevant to your specific module. In the example
below, this directory has been called ``gromacs_gpu``.
Make sure you commit your work, and try to do it in bite-size chunks, so
the commit log remains clear, for example:
.. code-block:: bash
git add modules/gromacs_gpu/readme.rst
git commit -m "add details on GPU support within GROMACS"
git add Classical-MD-Modules/modules/gromacs_gpu/readme.rst
git commit -m "add details on improved GPU support within GROMACS"
Checking your contribution locally
----------------------------------
......@@ -175,7 +180,7 @@ repository and then check which branch you want to check out:
git pull origin <BRANCH_NAME> # Make sure we have any updates we made to our own branch
git pull upstream master # Also pull in any changes to the main repository
Now that everything is in sync, you can edit your update your files, when you are finished you commit your changes and
Now that everything is in sync, you can edit and update your files, when you are finished you commit your changes and
push the changes back to GitLab:
.. code-block:: bash
......
......@@ -3,6 +3,9 @@
template. Make sure that any time you use ReST syntax (such as for ".. sidebar::" below), it needs to be preceded
and followed by white space (if you see warnings when this file is built they this is a common origin for problems).
.. We allow the template to be standalone, so that the library maintainers add it in the right place
:orphan:
.. Firstly, let's add technical info as a sidebar and allow text below to wrap around it. This list is a work in
progress, please help us improve it. We use *definition lists* of ReST_ to make this readable.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment