This repository has been archived by the owner on Sep 27, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 24
[WIP] Electrostatics joshs development #355
Closed
Closed
Changes from all commits
Commits
Show all changes
353 commits
Select commit
Hold shift + click to select a range
edc46ac
Moved bead pointers out of interaction classes
6a46b31
CopyTopologyData extended to Copy - now copies all data
2436979
Moved elements initialization out of for loop in dlpolyreader
5529ee0
Make Map class owner of BeadMaps
822a931
Changed ExclusionList to using vector instead of list
61c98b7
Checkpoint in cleaning up cgmoleculedef
c9ae401
Checkpoint in the process of redesigning cgmoleculedef and maps
509ac50
Checkpoint
04553cd
Checkpoint
JoshuaSBrown f2f29d2
CHECKPOINT
JoshuaSBrown 6a5c2a4
setup apply methods
JoshuaSBrown fbcf37c
Checkpoint
JoshuaSBrown e11a2de
Add extra files
JoshuaSBrown 2dbe6ff
Success Compiling
JoshuaSBrown 6e14fdb
Changed names from Bead and Interaction Info to Stencil
JoshuaSBrown ec0b991
switched map.h to beadmap.h to differentiate from std lib
JoshuaSBrown 4ac01f2
Expanded unit test for beadmap
JoshuaSBrown 4971ffc
Shorted atom to cg mapper class name
JoshuaSBrown 5d510d7
Completed test for BeadMap
JoshuaSBrown 4f66435
Added test for converter
JoshuaSBrown ee0eb2f
Added method for returning the types of the topology object, and tested
JoshuaSBrown 97c3678
Added more testing to converter
JoshuaSBrown 366f688
Fixed error with csgapplication, atomistic and cg topologies were swi…
JoshuaSBrown b6aa52d
Updated csg_dump file
JoshuaSBrown aab5c9d
Updated csg_dump.out file to take into account changes
JoshuaSBrown a688c19
Added comments to type container
JoshuaSBrown 9924b34
Added documentation to cgmoleculestencil
JoshuaSBrown 27a942b
Added commting and rearranged code to cleanup beadmap
JoshuaSBrown 2185485
Removed unused iterator and old commented out code
JoshuaSBrown 25daefa
Switched bead_count to size_t type
JoshuaSBrown 0979fe6
cast numatoms to size_t when comparing with BeadCount()
JoshuaSBrown b91f703
cast to size_t numatoms when comparing with BeadCount()
JoshuaSBrown cdb635a
cast num atoms to size_t when comparing with BeadCount()
JoshuaSBrown ec19e2b
cast to size_t when comparing with BeadCount
JoshuaSBrown 9ff4841
cast to size_t when comparing with BeadCount
JoshuaSBrown 9236605
Removed stray +
JoshuaSBrown 378e5dc
Added missing return statement
JoshuaSBrown d4e687b
Removed old commented out code and cout statements
JoshuaSBrown e1d3962
pass in vector<string> by const reference for cgmoleculestencil
JoshuaSBrown 4b52fd5
Used const reference for itemline in lammpsdumpreader
JoshuaSBrown 3af2b2d
removed unused varaibles, and commented out code
JoshuaSBrown 4502114
removed unused variable in pdbwriter
JoshuaSBrown 376e781
Updated typecontainer const reference for exist methods and removed u…
JoshuaSBrown 58a41ed
Removed commented out code
JoshuaSBrown 63353dd
removed bead_type_name and corrected bead_type triplelist test
JoshuaSBrown 3141f26
Initialized _traj_reader with nullptr in csgapplication
JoshuaSBrown 007b585
Fixed header guard to match standard
JoshuaSBrown 5d5a72e
Fixed placement of &
JoshuaSBrown 6ca8b80
Added small corrections
JoshuaSBrown b5f5bda
Removed commented out code
JoshuaSBrown f4dfb9e
Standardized header guard
JoshuaSBrown 56d880f
standardized header gaurd
JoshuaSBrown 9dc1e21
deleted commented out old code
JoshuaSBrown fbea1fb
Standardized header gaud
JoshuaSBrown b017753
Removed commented out old code
JoshuaSBrown cfa1668
Standardized header gaurd
JoshuaSBrown 8a4a3d0
removed commented out code
JoshuaSBrown db84d24
removed commented out code
JoshuaSBrown 2cb6753
removed commend out code
JoshuaSBrown 7001d9d
Removed commented out code
JoshuaSBrown 205829b
removed old molecule file and corrected header gaurd
JoshuaSBrown 874c1d5
Corrected difference in type when comparing
JoshuaSBrown 27d1087
Switched order of initializion in csgapplication
JoshuaSBrown 2b1e1d8
Removed unused include
JoshuaSBrown a6474b6
Added comments to method
JoshuaSBrown 4d01c49
Fixed type difference
JoshuaSBrown 9963f7c
Applied clang formatting
JoshuaSBrown 3126962
Fixed @ location
JoshuaSBrown 32d5ad8
Fixed namespace
JoshuaSBrown b007193
initialized more csgapplication variables
JoshuaSBrown 5cae0c0
mad some variables const ref
JoshuaSBrown 853f480
Fixed error with different types
JoshuaSBrown b1a8f92
Fixed unused variable
JoshuaSBrown b41d2f9
Added doc for Map methods cgmoleculestencil and unit tests
JoshuaSBrown 1c59774
Added more tests and doc to cgmoleculestencil and added license to be…
JoshuaSBrown 6b9163b
Added file sanity check to growriter
JoshuaSBrown f05c101
Removed c type assert
JoshuaSBrown 75f7689
removed commented out code, added override keyword to child interacti…
JoshuaSBrown ad03b5a
Removed commented out code from csg_bolzmann main
JoshuaSBrown bdd5787
Removed commented out code from atomcgconverter
JoshuaSBrown 26dd02a
CreateExclusions removed not used anywhere
JoshuaSBrown 87f513a
Commented out code removed from interaction.cc
JoshuaSBrown e7ce368
Removed commented out line
JoshuaSBrown b7fffa6
Fixed type difference in bonded statistics, and removed commented out…
JoshuaSBrown 926dcc1
Merge pull request #337 from votca/topology-type-container
JoshuaSBrown 3d41845
Merge branch 'master' into joshs-development
JoshuaSBrown 8741721
Resolved leftover conflicts in beadpair
JoshuaSBrown 3bb9ed5
Removed leftover header files
JoshuaSBrown e8e6925
Corrected test case interactions
JoshuaSBrown a4eba25
Removed commented out code
JoshuaSBrown e846ed5
Merge branch 'joshs-development' of https://www.github.com/votca/csg …
JoshuaSBrown ee6c0a9
Ran autopep8 on problem .py files
JoshuaSBrown 33b1408
Attempted to fix cma_processor.py codacy complaint
JoshuaSBrown 97a5252
Fixed misaligned tabs in config_compare.py
JoshuaSBrown 96987bd
Attempted to fix formatting again
JoshuaSBrown d92c680
Removed unused variable
JoshuaSBrown f9ec6a7
Fixed formatting
JoshuaSBrown 69b4c10
Fixed damage done by clang formatter
JoshuaSBrown 06cb29b
Fixed mess made by clang formatter
JoshuaSBrown 301bdc8
Rand autopep8 on python files
JoshuaSBrown 2af65f2
Fixed small error
JoshuaSBrown ad7c0ec
Fixed linearsolve.ph
JoshuaSBrown 344f705
Fixed final small errors in .py files
JoshuaSBrown 40e3d98
linsolve.py
JoshuaSBrown 177739a
Merge branch 'master' into joshs-development
JoshuaSBrown 6c536d4
Switched from using TOOLS to tools when in votca namespace
JoshuaSBrown 33676bb
Removed bug caused from not calling correct setBox method
JoshuaSBrown ef657a1
Made Apply method const remove cout statements
JoshuaSBrown e6952e9
Added private method to atomcgconverter class
JoshuaSBrown b2ab3b2
Merge branch 'master' into joshs-development
JoshuaSBrown 929c376
Updated header gaurd
JoshuaSBrown b4c2ffb
Updated file format factory header gaurd
JoshuaSBrown 079b662
Removed cout commands and delete traj_reader commands
JoshuaSBrown 71d20ec
Added memory testing to cmake
JoshuaSBrown 515e26f
Updated valgrind cmake commands
JoshuaSBrown bb7556f
Added labels to tests
JoshuaSBrown 0933c2c
Fixed some memory errors
JoshuaSBrown 5e5a2c7
Fixed some memory errors related to unit tests
JoshuaSBrown 2abd4c7
Swapped out new XMLBead and molecules for passing around the actual o…
JoshuaSBrown bc79793
Removed obsolete pdbwriter code
JoshuaSBrown 3f795c5
Fix memory leak in lammpsdatreader
JoshuaSBrown c238c8b
Fixed memory errors in fmatch
JoshuaSBrown f32d157
Fixed memory leaks in nblist_3body
JoshuaSBrown d834ddb
Fixed bug introduced in csg_stat_imc
JoshuaSBrown 41b50d4
Finished correcting all memory errors
JoshuaSBrown 2204a83
First attempt to consolidate merge
JoshuaSBrown b0f8abd
Checkpoint making fixes to memory
JoshuaSBrown 3f94845
Small fix
JoshuaSBrown d65b91c
Removed cout command
JoshuaSBrown dcf0f1e
Fixed commented out code
JoshuaSBrown 439cc82
Merge branch 'master' into electrostatics-joshs-development
JoshuaSBrown 7968d31
Merge pull request #365 from votca/master
JoshuaSBrown dc46f46
Small fix typo in CMakeLists.txt in tools
JoshuaSBrown 989cf52
Made template readers and writers more generic
JoshuaSBrown 67c2462
Checkpoint File Refactor
JoshuaSBrown 5baac0e
Checkpoint
JoshuaSBrown 026fe4a
added gmxtrajectory reader
JoshuaSBrown 95e5fc1
Checkpoint
JoshuaSBrown c336837
Update files io
JoshuaSBrown b84d042
Success compile
JoshuaSBrown 30b0d1a
Small fixes
JoshuaSBrown 3515894
Success compiling with boost any pointer
JoshuaSBrown 40319e3
Updated tests to use boost any
JoshuaSBrown 27b83f8
Fixed csg_fmatch
JoshuaSBrown d293304
Fixed topologyreader invalid pointer by using virtual destructor
JoshuaSBrown b0cb8b9
Added fix to trajectory writers
JoshuaSBrown c2c158f
Success compiling and testing
JoshuaSBrown c487ddb
Adjust cmake to install in io folder
JoshuaSBrown d60d1f2
Cleanup remove commented out code
JoshuaSBrown d35f663
Fixed h5md and merged
JoshuaSBrown 5255afe
Fixed merge conflict with electrostatics
JoshuaSBrown 392bea7
Made pure virtual boundarycondition
JoshuaSBrown db06154
Made pure virtual in boundarycondition
JoshuaSBrown a31b386
Removed unneeded constructor and destructor
JoshuaSBrown d841ba2
Merge branch 'electrostatics' into electrostatics-joshs-development
JoshuaSBrown 0806e60
Added depricated tag, removed unused includes
JoshuaSBrown 1ce9ff0
Switched Apply method name to UpdateCGBead and UpdateCGMolecule
JoshuaSBrown 2196a0f
update method names and made more parameters const references
JoshuaSBrown d69e5b3
Added comments describing bead mapping methods
JoshuaSBrown 982ed35
Corrected gang of 3 to gang of 5, explained boost-bimap
JoshuaSBrown cb565c7
added pragma once, removed incude vec.h, added const correctness and …
JoshuaSBrown cdec34c
Added const correctness, removed unneeded constructors
JoshuaSBrown 6415080
Corrected grammar and removed used method
JoshuaSBrown f9e8ec4
Reduced number of template arguments in several of the readers and wr…
JoshuaSBrown 8a63dc3
Fixed the rest of the readers and writers simplifying the templates
JoshuaSBrown 0481edb
Added pragma once, removed matrix.h and vec.h and added constructor f…
JoshuaSBrown 640bf53
Added pragma once to all headers
JoshuaSBrown 98f885a
Made file io more portable
JoshuaSBrown fe31038
Added pragma once to io files
JoshuaSBrown 3fd3f7b
Fixed casting error in boost any
JoshuaSBrown c406cd7
Added comments
JoshuaSBrown 1725ff2
Removed explicit constructor
JoshuaSBrown 73428bd
Merge branch 'master' into electrostatics-joshs-development
JoshuaSBrown e399f80
Added getParameters method to bead
JoshuaSBrown fd45f09
Checkpoint
JoshuaSBrown f73e506
Changed vector to boost stable_vaector to avoid pointer clobbering
JoshuaSBrown e34cfcc
Merge branch 'master' into electrostatics-joshs-development
JoshuaSBrown bdff3fd
Made some fixes to pdb reader and writesr
JoshuaSBrown ef3db19
Merge branch 'electrostatics-joshs-development' of https://www.github…
JoshuaSBrown 09225fb
Setup units for csgtopology
JoshuaSBrown 8831257
Fix pdb reader and writer test
JoshuaSBrown 9e05ef4
Formatted atom type method
JoshuaSBrown cffe51a
Added xyz reader test
JoshuaSBrown 7b24d79
Fix header
JoshuaSBrown a07ec79
Fixed unit tests
JoshuaSBrown 8ea993b
Checkpoint
JoshuaSBrown 81a0a42
Added more units
JoshuaSBrown f2a3e16
Adding checkpoint after adding unit more unit conversion info to file…
JoshuaSBrown aa258be
Fixed units issues
JoshuaSBrown 915a080
Upgraded units
JoshuaSBrown 9fbd0f6
Merge branch 'electrostatics' into electrostatics-joshs-development
JoshuaSBrown 3fc201c
Add all missing private header files
JoshuaSBrown a85ac6d
To use the templates with other programs they must be visible
JoshuaSBrown a93a7c2
Fixed includes
JoshuaSBrown bb0a99c
Fixed frame.dump file to reflect lammps units real
JoshuaSBrown 16d6b5f
Removed cout commands
JoshuaSBrown dda0d58
Fixed reference files after correcting units
JoshuaSBrown 975ed9e
Implmented unit conversions and generic structure parameters class
JoshuaSBrown 78b0e0b
Fixed units and made converter return type
JoshuaSBrown 9e7bd75
Removing trivial code
JoshuaSBrown 4071e74
Switched Map method name to Update name which is clearer and added co…
JoshuaSBrown 4f1e3db
Fixed constructor call, switched sets to vectors
JoshuaSBrown 3363e3f
Switched set to vector
JoshuaSBrown 9f332a8
Switched unordered_set for vector
JoshuaSBrown 9da1acf
Added back EvaluateTopology needed by csg_dump
JoshuaSBrown 5c7de0d
Fixed issue with EvaluateTopology calls
JoshuaSBrown f5f5eef
Reverted name of CSG_Topology to Topology rely on namespace resolve d…
JoshuaSBrown c851620
Replaced pointers with references
JoshuaSBrown 60a406b
Simplified molecule syntax from pointer to reference
JoshuaSBrown 0c5e1eb
Simplied const method call, added method for generic construction of …
JoshuaSBrown 2e9825f
Checkpoing commit
JoshuaSBrown 12a28f8
Merge branch 'electrostatics' into electrostatics-joshs-development
JoshuaSBrown 5c6bed9
Shortenend atomic and molecule to atom and mol
JoshuaSBrown 0fdf4a1
Centralized where csg units are defined to single csg class, altered …
JoshuaSBrown 9865362
Updated atom converter methods, and finished testing
JoshuaSBrown bef8190
Finished removing identity and name class
JoshuaSBrown 320f2f6
Removed assertion check
JoshuaSBrown a586626
Removed assertion check
JoshuaSBrown 571d0dc
Removed assertion checks
JoshuaSBrown 06a4386
Passed by const reference
JoshuaSBrown 1b2784c
Moved initialization of _traj_reader to initialization list
JoshuaSBrown 9820162
Reduced scope of propane molecule in atom converter test
JoshuaSBrown 31aa956
Removed unused variable, and passed by const reference setElement arg…
JoshuaSBrown fea850a
Reduced scope of variables in dlpoltopologyreader_priv
JoshuaSBrown 43ffff9
Switched to assertion check instead of exceptions
JoshuaSBrown 2130a37
Removed unneccessary warning as unit converter makes units consistent
JoshuaSBrown b4edd03
Removed warning unneccessary is unit converter takes care of differen…
JoshuaSBrown e599e7b
Removed commented out code, and debug cout statements
JoshuaSBrown d7e5e9c
Removed cout statements in xyzwriter_priv.h
JoshuaSBrown 5c7471a
Removed stray cout statements
JoshuaSBrown 67bb00b
Fixed WriteBox method
JoshuaSBrown 4709799
Small fixes to pdbwriter
JoshuaSBrown 32dcf63
Fixed pdbwriter
JoshuaSBrown 672cf6f
Pass by const reference in cgmoleculestencil
JoshuaSBrown a5fdd69
Added const and noexcept flags
JoshuaSBrown 013f40f
Fixed errors in how trajectory reader was handling Open, and comparis…
JoshuaSBrown edf92f6
Fixed small error in Close function and Open pdbreader
JoshuaSBrown 1b34a36
Fixed spelling
JoshuaSBrown 0ca1f8a
Fixed template topology copy command, added const correctness, fixed …
JoshuaSBrown bde5b56
Fixed errors in csg causing tutorials to crash
JoshuaSBrown 47604b9
Removed unused variable
JoshuaSBrown b8a9a55
Update comparison file to reflect improvements in the precision of co…
JoshuaSBrown 8fed3f2
Update comparison file to reflect improvement in units
JoshuaSBrown 9ff5f1f
Removed superfluous include
JoshuaSBrown fce018a
Added documentation and noexcept specified
JoshuaSBrown e637f3b
Removed commented out lines
JoshuaSBrown d08ad61
Improved testing of converter
JoshuaSBrown b4ecece
Applied formatting using clang-format version 8
JoshuaSBrown 09b92a7
Fixed for loop with assertion by adding ifndef NDEBUG around for loop…
JoshuaSBrown 55be2ee
Fixed dlpoly topology reader and use of any
JoshuaSBrown File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,4 @@ | ||
file(GLOB_RECURSE VOTCA_HEADERS *.h potentialfunctions/*.h) | ||
file(GLOB VOTCA_HEADERS *.h potentialfunctions/*.h) | ||
file(GLOB IO_HEADERS io/*.h) | ||
install(FILES ${VOTCA_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/votca/csg) | ||
install(FILES ${IO_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/votca/csg/io) |
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,217 @@ | ||
/* | ||
* Copyright 2009-2019 The VOTCA Development Team (http://www.votca.org) | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
* | ||
*/ | ||
|
||
#pragma once | ||
#ifndef VOTCA_CSG_ATOMTOCGCONVERTER_H | ||
#define VOTCA_CSG_ATOMTOCGCONVERTER_H | ||
|
||
#include <map> | ||
#include <string> | ||
#include <vector> | ||
|
||
#include "beadmap.h" | ||
#include "cgmoleculestencil.h" | ||
#include "exclusionlist.h" | ||
#include "molecule.h" | ||
#include <boost/bimap.hpp> | ||
#include <votca/tools/property.h> | ||
#include <votca/tools/types.h> | ||
|
||
namespace votca { | ||
namespace csg { | ||
|
||
/** | ||
* @brief Converter class provides methods for converting a atomistic molecule | ||
* to a coarse grained molecule | ||
* | ||
* Note the converter should not have ownership of any of the topology objects | ||
* because it should be able to convert between any topology object as long as | ||
* it has the stencil, this means that for each operation that it performs | ||
* an atomistic (input) object and a coarse grained (output) object must be | ||
* provided. | ||
*/ | ||
class AtomCGConverter { | ||
public: | ||
/// Constructor | ||
AtomCGConverter(std::vector<std::string> ignore_atom_mol_types); | ||
|
||
/// Define parameterless constructor | ||
AtomCGConverter(){}; | ||
|
||
/** | ||
* @brief Loads the .xml file describing the cg molecule | ||
* | ||
* Will load the information from the cg.xml file and create a stencil from | ||
* the input. For each cg molecule defined. | ||
* | ||
* @param[in] filename should be an .xml file | ||
*/ | ||
void LoadMoleculeStencil(const std::string &filename); | ||
|
||
/** | ||
* @brief Provided the atomic type of the molecule returns the cg type of the | ||
* molecule | ||
* | ||
* @param[in] atomistic_mol_type | ||
* | ||
* @return cg molecule type as a string | ||
*/ | ||
const std::string &getCGMoleculeType(const std::string &atom_mol_type) const; | ||
|
||
/** | ||
* @brief Provided the cg type of the molecule returns the atomic type of the | ||
* molecule | ||
* | ||
* @param cg_mol_type | ||
* | ||
* @return atomistic molecule type as a string | ||
*/ | ||
const std::string &getAtomisticMoleculeType( | ||
const std::string &cg_mol_type) const; | ||
|
||
/** | ||
* @brief Converts a atomic topology to a coarsegrained topology | ||
* | ||
* @param atomic_top_in | ||
* @param cg_top_out | ||
*/ | ||
Topology Convert(const Topology &atom_top_in); | ||
|
||
/** | ||
* @brief Updates the cg topology object using the atomistic topology | ||
* | ||
* The properties updated include the time step, bead positions, forces and | ||
* velocities etc... | ||
* | ||
* New molecules and beads are not created with this method, if the atomistic | ||
* topology and the cg topology are inconsistent an error should occur. As an | ||
* example if the atomistic topology contains a molecule that does not have | ||
* a corresponding sister/brother molecule in the coarse grained description | ||
* an error should be thrown. | ||
* | ||
* @param atomic_top_in | ||
* @param cg_top_out | ||
*/ | ||
void Update(const Topology &atom_top_in, Topology &cg_top_out) const; | ||
|
||
/** | ||
* @brief Returns the atomisitc beads that make up a given coarse grained | ||
* bead in a particular molecule | ||
* | ||
* @param cg_mol_type | ||
* @param cg_bead_type | ||
* | ||
* @return vector of the atomistic bead names in the coarse grained bead | ||
* specified | ||
*/ | ||
std::vector<std::string> getAtomicBeadNamesOfCGBead( | ||
const std::string &cg_mol_type, const std::string &cg_bead_type) const; | ||
|
||
/** | ||
* @brief Determines if an atomisitic molecule of the provided type exists | ||
* | ||
* @param atom_mol_type | ||
* | ||
* @return true or false | ||
*/ | ||
bool AtomisticMoleculeTypeExist(const std::string &atom_mol_type) const | ||
noexcept; | ||
|
||
private: | ||
std::map<int, std::map<int, std::vector<std::pair<std::string, int>>>> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this is not a nice object, maybe use a structure or a class? |
||
cgmolid_cgbeadid_atombeadnames_and_ids_; | ||
|
||
std::unordered_set<std::string> atom_mol_types_to_ignore_; | ||
/** | ||
* @brief Atomic and cg bimap stores the relationship between the two types | ||
* of molecules | ||
*/ | ||
boost::bimap<std::string, std::string> atom_and_cg_mol_types_; | ||
|
||
/** | ||
* @brief Stores the stencil of the cg molecule | ||
* | ||
* string is the cg_mol_type | ||
*/ | ||
std::unordered_map<std::string, CGMoleculeStencil> cg_mol_and_stencil_; | ||
|
||
// First string atomic_molecule_type | ||
// Second string cg_mol_type | ||
// The molecule map | ||
std::unordered_map<std::string, | ||
std::unordered_map<std::string, AtomToCGMoleculeMapper>> | ||
mol_names_and_maps_; | ||
|
||
/** | ||
* @brief Maps a atomistic molecule to a cg molecule and adds it to the cg | ||
* topology | ||
* | ||
* Note that the cg and atomistic descriptions should have the same molecule | ||
* ids, this means that the molecule ids will remain consistent between the | ||
* coarse grained and atomistic descriptions. | ||
* | ||
* @param[in] atomistic_mol | ||
* @param[in,out] cg_top_out | ||
*/ | ||
// void ConvertAtomisticMoleculeToCGAndAddToCGTopology_( | ||
Molecule &CoarseGrainMolecule_(const Topology &atom_top, Topology &cg_top_out, | ||
const Molecule &atom_mol); | ||
|
||
/** | ||
* @brief | ||
* | ||
* Must pass all the atomic molecules bead ids in, the bead ids must increase | ||
* in magnitude in correlation to how the .xml files are defined | ||
* | ||
* @param cg_or_atomic_mol_type | ||
* @param atomic_bead_ids | ||
* | ||
* @return | ||
*/ | ||
std::unordered_map<int, std::string> MapAtomicBeadIdsToAtomicBeadNames_( | ||
const std::string &cg_or_atom_mol_type, | ||
const std::vector<int> &atom_bead_ids) const; | ||
|
||
bool CheckThatBeadCountAndInteractionTypeAreConsistent_( | ||
const std::string &interaction_type, const size_t &bead_count) const | ||
noexcept; | ||
|
||
std::vector<CGBeadStencil> ParseBeads_(tools::Property &options); | ||
|
||
std::vector<CGInteractionStencil> ParseBonded_(tools::Property &options); | ||
|
||
void ParseBeadMaps_( | ||
tools::Property &options_in, | ||
std::unordered_map<std::string, CGBeadStencil> &bead_maps_info); | ||
|
||
std::map<int, std::vector<std::pair<std::string, int>>> | ||
MapAtomicBeadsToCGBeads_(const Topology &atom_top, Topology &cg_top_out, | ||
Molecule &cg_mol, | ||
const CGMoleculeStencil &stencil) const; | ||
|
||
void CreateInteractions_(Topology &cg_top_out, Molecule &cg_mol, | ||
const CGMoleculeStencil &stencil) const; | ||
|
||
std::map<int, std::vector<std::pair<std::string, int>>> | ||
MapAtomicMoleculeToCGMolecule_(const Topology &atom_top, | ||
Topology &cg_top_out, const int &mol_id); | ||
}; | ||
|
||
} // namespace csg | ||
} // namespace votca | ||
|
||
#endif // VOTCA_CSG_ATOMTOCGCONVERTER_H |
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.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why?