- Dec 06, 2012
-
-
Giovanni Bussi authored
-
- Nov 23, 2012
-
-
Giovanni Bussi authored
All the source code have been moved into subdirectories of src/ Some of these subdirectories are treated in a special manner: src/wrapper contains the wrappers for MD codes src/main contains the main.cpp file src/config contains files generated without compilation, just based on configuration info src/lib is the place where executables and libraries are put at the end src/cltools contains the command line tools src/tools contains plumed tools (reusable classes) src/basic contains PlumedMain, Action hierarchy and other basic stuff src/multicolvar contains MultiColvar stuff src/imd is the interactive MD (still not totally portable). Notice that, to allow easy inclusion of .h files from other modules, I link all the directories in src/ into module directory. In this way it is possible e.g. to write #include "config/PlumedConfig.h" See src/README and src/basic/Makefile to understand how inter-module dependencies are set
-
Gareth Tribello authored
-
- Jul 20, 2012
-
-
Giovanni Bussi authored
as suggested by Gareth
-
- Jul 19, 2012
-
-
Giovanni Bussi authored
I added a PEOPLE file containing list of authors and a script (src/header.sh) which applies the Licence to all the source files. It can be applies multiple times (it automatically deletes the present header and replace it with the new one). Thus, to change the header, edit header.sh and execute it.
-
- Jul 05, 2012
-
-
Giovanni Bussi authored
The "before" vector was private and not used anywhere. Now it is only possible to know on which Actions this Action depends and not the opposite (which Actions are dependent on this).
-
- Jun 26, 2012
-
-
Gareth Tribello authored
The point in CV space can be specified using a pdb file, hence the changes to Action, Value, etc - all these changes are all so that you can calculate CVs from a pdb input file. Whilst I was messing about I noticed a potential problem with natural units and input pdb files. As we are in natural units there is no way of knowing how to convert the pdb from angstroms (unit in pdb) to the natural length unit. For these reasons I assume that when one is in natural units pdb input files are also in natural units, this required changes in ColvarRMSD and my new ColvarTarget routine as well as a small change in Atom.h.
-
- May 04, 2012
-
-
Giovanni Bussi authored
Prefix operator preferred to postfix operators with non-int types (as suggested by cppcheck)
-
Giovanni Bussi authored
Many checks on size() transformed in checks on empty() (suggested by cppcheck)
-
Giovanni Bussi authored
Many arguments are now passed by reference (suggested by cppcheck)
-
- Apr 23, 2012
-
-
Gareth Tribello authored
was for an older version of the way I implemented numerical derivatives and is now not strictly necessary. I don't fully understand why it was causing problems though. It is a bit strange as the same check worked (for the same action) elsewhere.
-
- Apr 20, 2012
-
-
Gareth Tribello authored
is an overlap integral between the current field and some reference field ( this can be a sum of fields visited at previous times ala metadynamics ). To test the derivatives of the field I changed calculateNumericalDerivatives this routine can now be passed an ActionWithValue so that you can differentiate objects where something other than a value is passed between Actions. Currently only histogram style field cvs are implemented. Wrote documentation for FIELD keyword and for MOMENT keyword. Also rethought numbered keywords and so changed the keywords class a little bit Changed number of decimal places in tests so that they worked on other computers. Also made test 23 much less expensive Fixed a very persisent bug in field cvs - horay!!!
-
- Mar 05, 2012
-
-
Gareth Tribello authored
-
- Feb 25, 2012
-
-
Gareth Tribello authored
Added regtests for histogram and within stuff Added regtests for MULTICOLVAR and for neighbour list in MultiColvar actions
-
Gareth Tribello authored
-
- Feb 23, 2012
-
-
davidebr authored
-
- Feb 10, 2012
-
-
Gareth Tribello authored
Fixed other places in action where one would get similar errors to what was observed for LABEL in GenericFlush and Units.
-
Gareth Tribello authored
various actions below.
-
Gareth Tribello authored
-
Gareth Tribello authored
-
Gareth Tribello authored
some of the English and in some cases writing new documentation. Also sorted a number of issues that arise because of the awkward formatting that is Doxygen requires
-
Gareth Tribello authored
-
Giovanni Bussi authored
-
Giovanni Bussi authored
Added keyword registering functions to Action, ActionWithValue, ActionWithArguments and ActionSetup. Also added variables so that the keyword list can be passed to the Actions (merged from gat2-reorder branch) Added keyword registering to all the action classes listed below (merged from gat2-reorder branch) Added register keywords functions to all the classes below (merged from gat2-reorder branch) Fixed the registerKeywords routines in the committed subroutines Made sure colvar is adding keywords for numerical derivatives Oops... genericDebug should register keywords for action pilot. It does now Added keyword registering for moving restraint Added keyword registering for NATURAL keyword COMPONENTS should have been registered as a flag and not an optional oops
-
- Jan 09, 2012
-
-
Giovanni Bussi authored
Basically I replaced all objects included in other objects with references, so as to eliminate the need to include the corresponding header file. In this manner the entanglement of compilation is greatly reduced. Forward class declaration is now used everywhere excepted for: * cases where it is impossible due to inline functions (for efficiency or because they are templates) * cases where it is impossible due to inheritance * small objects of fixed size such as Vector/Tensor/AtomNumber/Units/Pbc * classes of std:: namespace (it is not possible to forward-declare them).
-
- Jan 06, 2012
-
-
Giovanni Bussi authored
-
- Jan 04, 2012
-
-
Giovanni Bussi authored
I replaced many of the "low level" assertions, trying to add messages here and there. Still, this is mostly for developers: errors in the input file should get better reports.
-
- Jan 02, 2012
-
-
Giovanni Bussi authored
-
Giovanni Bussi authored
Now it assumes that a file is open for writing when char "a" "w" or "+" are used in fopen mode.
-
- Dec 21, 2011
-
-
davidebr authored
-
- Dec 19, 2011
-
-
Giovanni Bussi authored
Similarly to plumed1, fopen on nodes different from the first opens /dev/null file. Notice that this is done only for writing (so as to allow non-root nodes to read files). Also, it is done only for fopen called inside Action, using the Action communicator. This should allow parallelization over CVs (setting a different communicator for each of them).
-
- Dec 02, 2011
-
-
Giovanni Bussi authored
I moved the tools to open a file with a specific prefix to PlumedMain. This allows easily to use them also to open the input file, which in turn means that we will be able to do bias-exchange and Hamiltonian replica exchange
-
Giovanni Bussi authored
It is now possible to automatically add a suffix to all the files opened through the Action::fopen tool. Opening is done as follows: First the file+suffix is tried. In case of error the file without suffix is tried. In this manner, it should be possible to provide a single input file also for replica exchange stuff. For output files, it should make any difference. I also added a stupid keyword to test this feature. Just use _SET_SUFFIX pippo in the plumed.dat file to add a suffix pippo to opened files
-
- Jul 19, 2011
-
-
Giovanni Bussi authored
This is to be sure that requestArguments() and requestAtoms() are only called from the right place, i.e. prepare() or initialization
-
- Jul 18, 2011
-
-
Giovanni Bussi authored
There is a generic ActionWithVirtualAtom class which can be used as the base for Actions able to add new virtual atoms to the system. Virtual atoms are stored in Atoms, can be referred to using the label of the generating action. Automatically, they are assigned an AtomNumber which exceed the real atom numbers (e.g. if you have 108 real atoms, virtual atoms will have indexes 108,109,...). They are automatically understood by the parser provided one uses the parseAtomList() function. Each instance of this class only generate a single virtual atom. The nice thing is that, since lists of atoms can be dynamically changed (e.g. by neighbor lists), dependencies are handled properly and a virtual atom is only computed of the steps on which it is needed. I also implemented a practical case, which is center-of-mass (GenericCOM).
-
- Jul 13, 2011
-
-
Giovanni Bussi authored
New virtual method for Actions which is called at steps when action is active just before atoms sharing. This is the right place where Actions can change their atom requirements. E.g., you can do class ColvarSomething{ ... void prepare(); } void ColvarSomething::prepare(){ // take here your decision and eventually change the requested atoms }
-
- Jul 08, 2011
-
-
Giovanni Bussi authored
To retrieve the timestep and to retrieve the periodicity
-
- Jul 06, 2011
-
-
Giovanni Bussi authored
-
- Jun 30, 2011
-
-
Giovanni Bussi authored
I overloaded fopen and fclose inside an Action in such a manner that a list of open files is kept. This allows to flush them implicitely, without requiring people to write an explicit flush() method.
-
- Jun 28, 2011
-
-
Giovanni Bussi authored
Implementation is rather general and allows one to use them not only for debugging but also for real calculation. A keyword NUMERICAL_DERIVATIVES can be used in directives such as COLVARs or FUNCTIONs, and automatically performs numerical derivatives instead of analytical ones. Moreover, I added a DUMPDERIVATIVES directive which prints on a file the derivatives of the (ARG) colvars. E.g.: DISTANCE LABEL=C1 ATOMS=0,1 COMPONENTS DISTANCE LABEL=C1n ATOMS=0,1 COMPONENTS NUMERICAL_DERIVATIVES DUMPDERIVATIVES ARG=C1,C1n FILE=derivC1 will define two CVs, with the same value, but one with analytical and the other with numerical derivatives, and will write two columns on file "derivC1" with the derivatives, which can be compared for debugging. BE CAREFUL: I did not test it with non-orthorombic cells, there may be problems in the virial components
-