From cc386fc3193cbfc2eb942f82277f339a01147315 Mon Sep 17 00:00:00 2001 From: Hauke Rabbel Date: Wed, 9 Mar 2016 17:26:28 +0100 Subject: [PATCH 01/11] Added convenience interface Ingredients::synchronize() The idea behind this is to make the code more readable, because otherwise the more cryptic syntax Ingredients::synchronize(IngredientsType&) had to be used. The latter is still available in case it is needed. --- include/LeMonADE/core/Ingredients.h | 31 +++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/include/LeMonADE/core/Ingredients.h b/include/LeMonADE/core/Ingredients.h index 286949f..aa01e8a 100644 --- a/include/LeMonADE/core/Ingredients.h +++ b/include/LeMonADE/core/Ingredients.h @@ -203,6 +203,37 @@ template class Ingredients: public Config::context_type return molecules; } + /** + * @brief Synchronizes the Features and establishing consistency in the system. + * + * @details This function only calls the function + * context_type::synchronize(Ingredients&) with itsself as argument. Thus + * it causes all features to subsequently call their synchonize routines. + * Calling this function on an instance ( "ingredients.synchronize();" ) + * is equivalent to calling "ingredients.synchonize(ingredients));" + */ + void synchronize() + { + context_type::synchronize(*this); + } + + /** + * @brief Synchronizes the Features and establishing consistency in the system. + * + * @details This function only calls the function + * context_type::synchronize(Ingredients& ing). Thus it causes all features + * to subsequently call their synchonize routines with the same argument. + * This function allows to synchronize one instance of Ingredients with + * another instance. + * + * @param ingredients A reference to the Ingredients instance to synchronize with + */ + template + void synchronize(IngredientsType& ing) + { + context_type::synchronize(ing); + } + /** * @brief Export the relevant functionality of all meta-information and molecules * for reading bfm-files. From 2b14ae6348b18d59133be15aafe07816661501f8 Mon Sep 17 00:00:00 2001 From: Hauke Rabbel Date: Fri, 1 Apr 2016 17:12:50 +0200 Subject: [PATCH 02/11] added basic test for Ingredients::synchronize() and Ingredients::synchronize(const Ingredients&) to validate the newly added convenience interface Ingredience::synchronize() --- tests/core/TestIngredients.cpp | 171 +++++++++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) diff --git a/tests/core/TestIngredients.cpp b/tests/core/TestIngredients.cpp index 1586ca2..d320075 100644 --- a/tests/core/TestIngredients.cpp +++ b/tests/core/TestIngredients.cpp @@ -42,6 +42,7 @@ along with LeMonADE. If not, see . #include #include #include +#include #include #include @@ -98,3 +99,173 @@ TEST(IngredientsTest, printMetaData){ } + +TEST(IngredientsTest, synchronize_noargument){ + typedef LOKI_TYPELIST_2(FeatureBox, FeatureBondset<>) Features1; + typedef ConfigureSystem Config1; + typedef Ingredients < Config1> MyIngredients1; + + typedef LOKI_TYPELIST_3(FeatureBox, FeatureBondset<>,FeatureExcludedVolume<>) Features2; + typedef ConfigureSystem Config2; + typedef Ingredients < Config2> MyIngredients2; + + + MyIngredients1 ingredients1; + MyIngredients2 ingredients2; + + //exception from FeatureBox is exspected, as box size is not set + EXPECT_THROW(ingredients1.synchronize(),std::runtime_error); + EXPECT_THROW(ingredients2.synchronize(),std::runtime_error); + + ingredients1.setBoxX(10); + ingredients1.setBoxY(10); + ingredients1.setBoxZ(10); + ingredients1.setPeriodicX(true); + ingredients1.setPeriodicY(true); + + ingredients2.setBoxX(10); + ingredients2.setBoxY(10); + ingredients2.setBoxZ(10); + ingredients2.setPeriodicX(true); + ingredients2.setPeriodicY(false); + + //exception from FeatureBox is exspected, as periodicity not fully set + EXPECT_THROW(ingredients1.synchronize(),std::runtime_error); + EXPECT_THROW(ingredients2.synchronize(),std::runtime_error); + + ingredients1.setPeriodicZ(false); + ingredients2.setPeriodicZ(false); + + //now add the bondset and some particles so that effect of synchronize + //can be checked + ingredients1.modifyBondset().addBFMclassicBondset(); + ingredients2.modifyBondset().addBFMclassicBondset(); + + ingredients1.modifyMolecules().addMonomer(1,1,1); + ingredients1.modifyMolecules().addMonomer(1,4,6); + ingredients1.modifyMolecules().addMonomer(7,7,1); + //this one violates excluded volume, but excluded volume feauture is not used + ingredients1.modifyMolecules().addMonomer(7,8,2); + //in ingredients1 this one is ok, but in ingredients2 it will violate box dimensions + ingredients1.modifyMolecules().addMonomer(3,9,2); + + ingredients2.modifyMolecules().addMonomer(1,1,1); + ingredients2.modifyMolecules().addMonomer(1,4,6); + ingredients2.modifyMolecules().addMonomer(7,7,1); + //this one violates excluded volume + ingredients2.modifyMolecules().addMonomer(7,8,2); + //this one violates box dimensions due to periodicity + ingredients2.modifyMolecules().addMonomer(3,9,2); + + //now make some invalid bonds + ingredients1.modifyMolecules().connect(0,1); + ingredients2.modifyMolecules().connect(0,1); + + + //again, try to synchronize. + EXPECT_THROW(ingredients1.synchronize(),std::runtime_error); + EXPECT_THROW(ingredients2.synchronize(),std::runtime_error); + + //change position of monomer 1, so that bond is valid. + ingredients1.modifyMolecules()[1].setZ(1); + ingredients2.modifyMolecules()[1].setZ(1); + + //again, try to synchronize. ingredients1 should work now + EXPECT_NO_THROW(ingredients1.synchronize()); + EXPECT_THROW(ingredients2.synchronize(),std::runtime_error); + + //now change the conflicting particle coordinate for excluded volume + //and synchronize again..still fails due to periodicit + ingredients2.modifyMolecules()[3].setY(5); + EXPECT_THROW(ingredients2.synchronize(),std::runtime_error); + + //now change the conflicting particle coordinate for periodicity + //and synchronize again..should work now + ingredients2.modifyMolecules()[4].setY(5); + EXPECT_NO_THROW(ingredients2.synchronize()); +} + +TEST(IngredientsTest, synchronize_withargument){ + typedef LOKI_TYPELIST_2(FeatureBox, FeatureBondset<>) Features1; + typedef ConfigureSystem Config1; + typedef Ingredients < Config1> MyIngredients1; + + typedef LOKI_TYPELIST_3(FeatureBox, FeatureBondset<>,FeatureExcludedVolume<>) Features2; + typedef ConfigureSystem Config2; + typedef Ingredients < Config2> MyIngredients2; + + + MyIngredients1 ingredients1; + MyIngredients2 ingredients2; + + //exception from FeatureBox is exspected, as box size is not set + EXPECT_THROW(ingredients1.synchronize(ingredients1),std::runtime_error); + EXPECT_THROW(ingredients2.synchronize(ingredients2),std::runtime_error); + + ingredients1.setBoxX(10); + ingredients1.setBoxY(10); + ingredients1.setBoxZ(10); + ingredients1.setPeriodicX(true); + ingredients1.setPeriodicY(true); + + ingredients2.setBoxX(10); + ingredients2.setBoxY(10); + ingredients2.setBoxZ(10); + ingredients2.setPeriodicX(true); + ingredients2.setPeriodicY(false); + + //exception from FeatureBox is exspected, as periodicity not fully set + EXPECT_THROW(ingredients1.synchronize(ingredients1),std::runtime_error); + EXPECT_THROW(ingredients2.synchronize(ingredients2),std::runtime_error); + + ingredients1.setPeriodicZ(false); + ingredients2.setPeriodicZ(false); + + //now add the bondset and some particles so that effect of synchronize + //can be checked + ingredients1.modifyBondset().addBFMclassicBondset(); + ingredients2.modifyBondset().addBFMclassicBondset(); + + ingredients1.modifyMolecules().addMonomer(1,1,1); + ingredients1.modifyMolecules().addMonomer(1,4,6); + ingredients1.modifyMolecules().addMonomer(7,7,1); + //this one violates excluded volume, but excluded volume feauture is not used + ingredients1.modifyMolecules().addMonomer(7,8,2); + //in ingredients1 this one is ok, but in ingredients2 it will violate box dimensions + ingredients1.modifyMolecules().addMonomer(3,9,2); + + ingredients2.modifyMolecules().addMonomer(1,1,1); + ingredients2.modifyMolecules().addMonomer(1,4,6); + ingredients2.modifyMolecules().addMonomer(7,7,1); + //this one violates excluded volume + ingredients2.modifyMolecules().addMonomer(7,8,2); + //this one violates box dimensions due to periodicity + ingredients2.modifyMolecules().addMonomer(3,9,2); + + //now make some invalid bonds + ingredients1.modifyMolecules().connect(0,1); + ingredients2.modifyMolecules().connect(0,1); + + + //again, try to synchronize. + EXPECT_THROW(ingredients1.synchronize(ingredients1),std::runtime_error); + EXPECT_THROW(ingredients2.synchronize(ingredients2),std::runtime_error); + + //change position of monomer 1, so that bond is valid. + ingredients1.modifyMolecules()[1].setZ(1); + ingredients2.modifyMolecules()[1].setZ(1); + + //again, try to synchronize. ingredients1 should work now + EXPECT_NO_THROW(ingredients1.synchronize(ingredients1)); + EXPECT_THROW(ingredients2.synchronize(ingredients2),std::runtime_error); + + //now change the conflicting particle coordinate for excluded volume + //and synchronize again..still fails due to periodicity + ingredients2.modifyMolecules()[3].setY(5); + EXPECT_THROW(ingredients2.synchronize(ingredients2),std::runtime_error); + + //now change the conflicting particle coordinate for periodicity + //and synchronize again..should work now + ingredients2.modifyMolecules()[4].setY(5); + EXPECT_NO_THROW(ingredients2.synchronize(ingredients2)); +} From 2159f94a2907b4f2546fb5b5047446b684b6d8c5 Mon Sep 17 00:00:00 2001 From: Hauke Rabbel Date: Mon, 4 Apr 2016 13:35:39 +0200 Subject: [PATCH 03/11] Changed updaters UpdaterReadBfmFile and UpdaterSynchronize, so that they use the new interface Ingredients::synchronize() instead of Ingredients::synchronize(Ingredients&) --- include/LeMonADE/updater/UpdaterReadBfmFile.h | 7 +++---- include/LeMonADE/updater/UpdaterSynchronize.h | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/include/LeMonADE/updater/UpdaterReadBfmFile.h b/include/LeMonADE/updater/UpdaterReadBfmFile.h index b8f6750..35a2274 100644 --- a/include/LeMonADE/updater/UpdaterReadBfmFile.h +++ b/include/LeMonADE/updater/UpdaterReadBfmFile.h @@ -102,9 +102,8 @@ class UpdaterReadBfmFile: public AbstractUpdater } else throw std::runtime_error("ReadBFMFile::init()...read type must have value READ_LAST_CONFIG_SAVE(0), READ_LAST_CONFIG_FAST(1), or READ_STEPWISE(2)\n"); - - - ingredients.synchronize(ingredients); + + ingredients.synchronize(); }; @@ -145,7 +144,7 @@ class UpdaterReadBfmFile: public AbstractUpdater throw std::runtime_error("ReadBFMFile::execute()...read type must have value READ_LAST_CONFIG_SAVE(0), READ_LAST_CONFIG_FAST(1), or READ_STEPWISE(2)\n"); - ingredients.synchronize(ingredients); + ingredients.synchronize(); return retVal; } diff --git a/include/LeMonADE/updater/UpdaterSynchronize.h b/include/LeMonADE/updater/UpdaterSynchronize.h index af1136c..d9375f5 100644 --- a/include/LeMonADE/updater/UpdaterSynchronize.h +++ b/include/LeMonADE/updater/UpdaterSynchronize.h @@ -69,7 +69,7 @@ template< class T > class UpdaterSynchronize: public IngredientsUpdater < T > template bool UpdaterSynchronize::execute() { - this->getIngredients().synchronize( this->getIngredients() ); + this->getIngredients().synchronize(); return true; } From 567cf43e3ca33a29b398c32f13cb7373c721719f Mon Sep 17 00:00:00 2001 From: Hauke Rabbel Date: Tue, 5 Apr 2016 09:20:47 +0200 Subject: [PATCH 04/11] Added compile flags for build types Debug and Release (Default) in top level CMakeLists.txt --- CMakeLists.txt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a8e17c7..d635415 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,9 +41,18 @@ SET (APPLICATION_ID "${APPLICATION_VENDOR_ID}.${PROJECT_NAME}") # -# Debugging Options +# Compile options # -SET (CMAKE_VERBOSE_MAKEFILE 0) # Use 1 for debugging, 0 for release +IF(NOT CMAKE_BUILD_TYPE) +SET (CMAKE_BUILD_TYPE "Release") #default build type is Release +SET (CMAKE_VERBOSE_MAKEFILE 0) +ENDIF(NOT CMAKE_BUILD_TYPE) + +SET (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -msse2 -mssse3 -fexpensive-optimizations ") +SET (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -msse2 -mssse3 -fexpensive-optimizations ") + +SET (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -Wall -g -DDEBUG ") +SET (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -Wall -g -DDEBUG ") # # Project Output Paths From e281a31d565a7b67f7bd015f1cb3549a5897c110 Mon Sep 17 00:00:00 2001 From: Hauke Rabbel Date: Tue, 5 Apr 2016 11:11:26 +0200 Subject: [PATCH 05/11] *Bugfix in Molecules copy constructor: Removed static cast to reference of derived class, because it causes undefined behaviour. This occured in particular, when using different compiler optimizations. Aditionally, the cast was pointless anyways. The same change was applied to Molecules assignment operator. *Improved errormessages from Molecules::connect(...) *Added Test for Molecules assignment operator --- include/LeMonADE/core/Molecules.h | 104 ++++++++++-------------------- tests/core/TestMolecules.cpp | 39 ++++++++++- 2 files changed, 72 insertions(+), 71 deletions(-) diff --git a/include/LeMonADE/core/Molecules.h b/include/LeMonADE/core/Molecules.h index 7247db1..45b9c15 100644 --- a/include/LeMonADE/core/Molecules.h +++ b/include/LeMonADE/core/Molecules.h @@ -94,12 +94,7 @@ template < class Vertex, uint max_connectivity = 7, class Edge = int > class Mol //! Conversion constructor template < class V, uint m, class E> Molecules (const Molecules& src); - - Molecules (const Molecules& src); - - //template < class V, uint m, class E > - //Molecules& operator= (const Molecules& src); - + Molecules& operator= (const Molecules& src); Molecules& operator+= (const Molecules& src); @@ -305,8 +300,8 @@ template < class Vertex, uint max_connectivity = 7, class Edge = int > class Mol /*****************************************************************************/ /** - * Copy one object of Molecules into another, i.e. copies vertex, - * connectivity and age information. + * Copys and Converts one type of Molecules object into another, i.e. copies vertex, + * connectivity and age information, and does type-conversion * * @param src A reference to another graph to copy from. * @tparam m Maximum allowed connectivity of the source graph @@ -314,70 +309,37 @@ template < class Vertex, uint max_connectivity = 7, class Edge = int > class Mol * @tparam E Edge type of the source graph */ template < class Vertex, uint max_connectivity, class Edge> -Molecules::Molecules (const Molecules& src) +template < class V, uint m, class E > +Molecules::Molecules (const Molecules& src) { - + clear(); vertices.resize(src.size()); for ( uint i = 0 ; i < vertices.size(); ++i) { - //copy all vertices. - this->vertices[i]=static_cast::internal_vertex_type&>(src[i]); - - ///@todo rethink: this copy should not be necessary because we are also copying the topology, or? - - //copy the edges, too - uint32_t nNeighbours=src.getNumLinks(i);//vertices[i].getNumLinks(); - for(uint j=0; jvertices[i]=src[i]; + //copy the connectivity and edges, too + uint32_t nNeighbours=src.getNumLinks(i); + try{ + for(uint j=0; jmyAge = src.getAge(); -} - - - -/** - * Copys and Converts one type of Molecules object into another, i.e. copies vertex, - * connectivity and age information, and does type-conversion - * - * @todo testing!!! - * - * @param src A reference to another graph to copy from. - * @tparam m Maximum allowed connectivity of the source graph - * @tparam V Vertex type of the source graph - * @tparam E Edge type of the source graph - */ -template < class Vertex, uint max_connectivity, class Edge> -template < class V, uint m, class E > -Molecules::Molecules (const Molecules& src) -{ - - clear(); - vertices.resize(src.size()); - - for ( uint i = 0 ; i < vertices.size(); ++i) { - //copy all vertices. - this->vertices[i]=static_cast::internal_vertex_type&>(src[i]); - - ///@todo rethink: this copy should not be necessary because we are also copying the topology, or? - - - //copy the edges, too - uint32_t nNeighbours=src.getNumLinks(i);//vertices[i].getNumLinks(); - - for(uint j=0; jmyAge = src.getAge(); - + } /** @@ -398,12 +360,12 @@ Molecules& Moleculesvertices[i]=static_cast::internal_vertex_type&>(src[i]); + //this does not copy the connectivity info, but it is copied + //in the loop below + this->vertices[i]=src[i]; - ///@todo rethink: this copy should not be necessary because we are also copying the topology, or? - - //copy the edges, too - uint32_t nNeighbours=src.getNumLinks(i);//vertices[i].getNumLinks(); + //copy the connectivity and edges, too + uint32_t nNeighbours=src.getNumLinks(i); for(uint j=0; j::connect(uint32_t a, uint32_t b, c vertices.at(a).connect(b); vertices.at(b).connect(a); } - //catch error due to non-existent indices here + //method vertices.at(int) might throw out_of_range exception. catch(std::out_of_range& exception){ std::stringstream messagestream; messagestream<<"Molecules::connect(int a, int b): a="</dev/null 2>&1 && cmake $INSTALLDIR_ARGUMENT $TEST_ARGUMENT $PWD_PATH) +(cd $BUILDDIR >/dev/null 2>&1 && cmake $CMAKE_ARGUMENTS $PWD_PATH) ########### set up the wrapper makefile ################## @@ -77,7 +87,7 @@ all: ./${BUILDDIR}/Makefile .PHONY: all ./${BUILDDIR}/Makefile: - @ (cd ${BUILDDIR} >/dev/null 2>&1 && cmake ${INSTALLDIR_ARGUMENT} ${PWD_PATH}) + @ (cd ${BUILDDIR} >/dev/null 2>&1 && cmake ${CMAKE_ARGUMENTS} ${PWD_PATH}) clean: @- \$(MAKE) --silent -C ${BUILDDIR} clean || true From 812917e2a12a90ceb0353828c17bc31ded2167d5 Mon Sep 17 00:00:00 2001 From: Hauke Rabbel Date: Mon, 11 Apr 2016 14:29:45 +0200 Subject: [PATCH 07/11] Added test for copy constructor of molecules to FeatureAttributes --- tests/feature/TestFeatureAttributes.cpp | 38 +++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/feature/TestFeatureAttributes.cpp b/tests/feature/TestFeatureAttributes.cpp index 2150564..1fa48a8 100644 --- a/tests/feature/TestFeatureAttributes.cpp +++ b/tests/feature/TestFeatureAttributes.cpp @@ -184,3 +184,41 @@ TEST_F(FeatureAttributesTest,ReadAttributesClass) } + +TEST_F(FeatureAttributesTest,CopyConstructor) +{ + typedef MyIngredients::molecules_type MyMolecules; + MyMolecules molecules1; + + //check if attributes are copied corriectly by copy constructor + molecules1.resize(5); + molecules1[0].setAttributeTag(1); + molecules1[1].setAttributeTag(2); + molecules1[2].setAttributeTag(3); + molecules1[3].setAttributeTag(4); + molecules1[4].setAttributeTag(5); + //create new objects from molecules1 + + typedef ConfigureSystem Config8; + typedef Ingredients MyIngredients8; + typedef MyIngredients8::molecules_type MyMolecules8; + MyMolecules molecules2(molecules1); + MyMolecules8 molecules3(molecules2); + + EXPECT_EQ(molecules1[0].getAttributeTag(),molecules2[0].getAttributeTag()); + EXPECT_EQ(molecules1[0].getAttributeTag(),molecules3[0].getAttributeTag()); + + EXPECT_EQ(molecules1[1].getAttributeTag(),molecules2[1].getAttributeTag()); + EXPECT_EQ(molecules1[1].getAttributeTag(),molecules3[1].getAttributeTag()); + + EXPECT_EQ(molecules1[2].getAttributeTag(),molecules2[2].getAttributeTag()); + EXPECT_EQ(molecules1[2].getAttributeTag(),molecules3[2].getAttributeTag()); + + EXPECT_EQ(molecules1[3].getAttributeTag(),molecules2[3].getAttributeTag()); + EXPECT_EQ(molecules1[3].getAttributeTag(),molecules3[3].getAttributeTag()); + + EXPECT_EQ(molecules1[4].getAttributeTag(),molecules2[4].getAttributeTag()); + EXPECT_EQ(molecules1[4].getAttributeTag(),molecules3[4].getAttributeTag()); + +} + From 0fc64c94063310aadaf4bc2be39935159855e7c1 Mon Sep 17 00:00:00 2001 From: Hauke Rabbel Date: Wed, 13 Apr 2016 14:14:44 +0200 Subject: [PATCH 08/11] Removed header Lemonade.h and its usage. --- include/LeMonADE/LeMonADE.h | 65 ------------------- .../analyzer/AnalyzerRadiusOfGyration.h | 4 +- projects/SimpleSimulator/main.cpp | 11 ++-- 3 files changed, 9 insertions(+), 71 deletions(-) delete mode 100644 include/LeMonADE/LeMonADE.h diff --git a/include/LeMonADE/LeMonADE.h b/include/LeMonADE/LeMonADE.h deleted file mode 100644 index 8519dbb..0000000 --- a/include/LeMonADE/LeMonADE.h +++ /dev/null @@ -1,65 +0,0 @@ -/*-------------------------------------------------------------------------------- - ooo L attice-based | - o\.|./o e xtensible | LeMonADE: An Open Source Implementation of the - o\.\|/./o Mon te-Carlo | Bond-Fluctuation-Model for Polymers -oo---0---oo A lgorithm and | - o/./|\.\o D evelopment | Copyright (C) 2013-2015 by - o/.|.\o E nvironment | LeMonADE Principal Developers (see AUTHORS) - ooo | ----------------------------------------------------------------------------------- - -This file is part of LeMonADE. - -LeMonADE 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. - -LeMonADE 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 LeMonADE. If not, see . - ---------------------------------------------------------------------------------*/ - -#ifndef LEMONADE_LEMONADE_H -#define LEMONADE_LEMONADE_H - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/** - * @file - * - * @namespace LeMonADE - * - * @brief The namespace LeMonADe of the Monte-Carlo-Algorithm-project - * - * @details The name is an abbreviation of - * * Lattice-based extensible Monte-Carlo Algorithm and Development Environment" - * - * @todo do we use the namespace? - **/ -using namespace Lemonade; - -#endif - diff --git a/include/LeMonADE/analyzer/AnalyzerRadiusOfGyration.h b/include/LeMonADE/analyzer/AnalyzerRadiusOfGyration.h index c655c97..4ab36ff 100644 --- a/include/LeMonADE/analyzer/AnalyzerRadiusOfGyration.h +++ b/include/LeMonADE/analyzer/AnalyzerRadiusOfGyration.h @@ -30,12 +30,12 @@ along with LeMonADE. If not, see . #include -#include +#include #include #include #include #include -#include +#include /************************************************************************ diff --git a/projects/SimpleSimulator/main.cpp b/projects/SimpleSimulator/main.cpp index 73158ff..6d2a0f3 100644 --- a/projects/SimpleSimulator/main.cpp +++ b/projects/SimpleSimulator/main.cpp @@ -2,13 +2,16 @@ #include -#include #include -#include +#include +#include +#include +#include #include #include - - +#include +#include +#include int main(int argc, char* argv[]) { From 804d00d6b98e2146c8e57d035e7e4a38051cf4f2 Mon Sep 17 00:00:00 2001 From: Hauke Rabbel Date: Wed, 13 Apr 2016 14:39:18 +0200 Subject: [PATCH 09/11] removed use of header Lemonade.h also in tests. --- tests/core/TestCopyOperator.cpp | 6 +++++- tests/feature/TestExcludedVolume.cpp | 4 +++- tests/feature/TestFeatureLattice.cpp | 3 ++- tests/feature/TestFeatureLatticePowerOfTwo.cpp | 3 ++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/tests/core/TestCopyOperator.cpp b/tests/core/TestCopyOperator.cpp index ffcadbb..b3bc534 100644 --- a/tests/core/TestCopyOperator.cpp +++ b/tests/core/TestCopyOperator.cpp @@ -35,8 +35,12 @@ along with LeMonADE. If not, see . /*****************************************************************************/ #include "gtest/gtest.h" +#include -#include +#include +#include +#include +#include #include #include diff --git a/tests/feature/TestExcludedVolume.cpp b/tests/feature/TestExcludedVolume.cpp index 4ae4ad8..f6b338b 100644 --- a/tests/feature/TestExcludedVolume.cpp +++ b/tests/feature/TestExcludedVolume.cpp @@ -27,7 +27,9 @@ along with LeMonADE. If not, see . #include "gtest/gtest.h" -#include +#include +#include +#include #include using namespace std; diff --git a/tests/feature/TestFeatureLattice.cpp b/tests/feature/TestFeatureLattice.cpp index d274b45..6ba5196 100644 --- a/tests/feature/TestFeatureLattice.cpp +++ b/tests/feature/TestFeatureLattice.cpp @@ -27,7 +27,8 @@ along with LeMonADE. If not, see . #include "gtest/gtest.h" -#include +#include +#include #include /*****************************************************************************/ diff --git a/tests/feature/TestFeatureLatticePowerOfTwo.cpp b/tests/feature/TestFeatureLatticePowerOfTwo.cpp index 02cf748..1521239 100644 --- a/tests/feature/TestFeatureLatticePowerOfTwo.cpp +++ b/tests/feature/TestFeatureLatticePowerOfTwo.cpp @@ -27,7 +27,8 @@ along with LeMonADE. If not, see . #include "gtest/gtest.h" -#include +#include +#include #include using namespace std; From 762bdcd906644d139bf7e1147a9ae40a49dc69fe Mon Sep 17 00:00:00 2001 From: Martin Wengenmayr Date: Fri, 29 Apr 2016 14:30:43 +0200 Subject: [PATCH 10/11] Bugfix 1.1.1 (#29) * Fixed copy-paste error in include guard for AmalyzerWriteBfmFileSubgroup * changed the version number according to last fix in AnalyzerWriteBfmFileSubgroup --- CMakeLists.txt | 2 +- include/LeMonADE/analyzer/AnalyzerWriteBfmFileSubGroup.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bb89e15..829294b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,7 +34,7 @@ SET (APPLICATION_CODENAME "${PROJECT_NAME}") SET (APPLICATION_COPYRIGHT_YEARS "2015") SET (APPLICATION_VERSION_MAJOR 1) SET (APPLICATION_VERSION_MINOR 1) -SET (APPLICATION_VERSION_PATCH 0) +SET (APPLICATION_VERSION_PATCH 1) SET (APPLICATION_VERSION_TYPE SNAPSHOT) SET (APPLICATION_VERSION_STRING "${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}.${APPLICATION_VERSION_PATCH}-${APPLICATION_VERSION_TYPE}") SET (APPLICATION_ID "${APPLICATION_VENDOR_ID}.${PROJECT_NAME}") diff --git a/include/LeMonADE/analyzer/AnalyzerWriteBfmFileSubGroup.h b/include/LeMonADE/analyzer/AnalyzerWriteBfmFileSubGroup.h index 075b654..080b2ca 100644 --- a/include/LeMonADE/analyzer/AnalyzerWriteBfmFileSubGroup.h +++ b/include/LeMonADE/analyzer/AnalyzerWriteBfmFileSubGroup.h @@ -26,7 +26,7 @@ along with LeMonADE. If not, see . --------------------------------------------------------------------------------*/ #ifndef LEMONADE_ANALYZER_ANALYZERWRITEBFMFILESUBGROUP_H -#ifndef LEMONADE_ANALYZER_ANALYZERWRITEBFMFILESUBGROUP_H +#define LEMONADE_ANALYZER_ANALYZERWRITEBFMFILESUBGROUP_H #include #include From 3521480db332620b53a0a02ee91449533318564b Mon Sep 17 00:00:00 2001 From: Ron Dockhorn Date: Fri, 29 Apr 2016 14:33:14 +0200 Subject: [PATCH 11/11] Release 1.1.2 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 829294b..78e8d5e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,7 +34,7 @@ SET (APPLICATION_CODENAME "${PROJECT_NAME}") SET (APPLICATION_COPYRIGHT_YEARS "2015") SET (APPLICATION_VERSION_MAJOR 1) SET (APPLICATION_VERSION_MINOR 1) -SET (APPLICATION_VERSION_PATCH 1) +SET (APPLICATION_VERSION_PATCH 2) SET (APPLICATION_VERSION_TYPE SNAPSHOT) SET (APPLICATION_VERSION_STRING "${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}.${APPLICATION_VERSION_PATCH}-${APPLICATION_VERSION_TYPE}") SET (APPLICATION_ID "${APPLICATION_VENDOR_ID}.${PROJECT_NAME}")