Skip to content

Commit

Permalink
Merge pull request #120 from GOMC-WSU/development
Browse files Browse the repository at this point in the history
Release 2.40
  • Loading branch information
Younes Nejahi authored May 14, 2019
2 parents 440f11d + eccb0a9 commit 3e512ba
Showing 191 changed files with 14,618 additions and 2,821 deletions.
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Prerequisites
*.d
.vscode

# Compiled Object files
*.slo
@@ -32,4 +33,6 @@
*.app

bin
lib/cub
lib/cub
.idea
cmake-build-debug
93 changes: 93 additions & 0 deletions .vscode/c_cpp_properties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
{
"configurations": [
{
"name": "Mac",
"includePath": [
"/usr/include",
"/usr/local/include",
"${workspaceRoot}"
],
"defines": [],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"/usr/include",
"/usr/local/include",
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"macFrameworkPath": [
"/System/Library/Frameworks",
"/Library/Frameworks"
]
},
{
"name": "Linux",
"includePath": [
"/opt/intel/compilers_and_libraries_2016.4.258/linux/ipp/include",
"/opt/intel/compilers_and_libraries_2016.4.258/linux/mkl/include",
"/opt/intel/compilers_and_libraries_2016.4.258/linux/tbb/include",
"/opt/intel/compilers_and_libraries_2016.4.258/linux/daal/include",
"/usr/include/c++/6",
"/usr/include/x86_64-linux-gnu/c++/6",
"/usr/include/c++/6/backward",
"/usr/lib/gcc/x86_64-linux-gnu/6/include",
"/usr/local/include",
"/usr/lib/gcc/x86_64-linux-gnu/6/include-fixed",
"/usr/include/x86_64-linux-gnu",
"/usr/include",
"${workspaceRoot}",
"${workspaceRoot}/src",
"${workspaceRoot}/lib",
"${workspaceRoot}/src/cbmc"
],
"defines": [],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"/opt/intel/compilers_and_libraries_2016.4.258/linux/ipp/include",
"/opt/intel/compilers_and_libraries_2016.4.258/linux/mkl/include",
"/opt/intel/compilers_and_libraries_2016.4.258/linux/tbb/include",
"/opt/intel/compilers_and_libraries_2016.4.258/linux/daal/include",
"/usr/include/c++/6",
"/usr/include/x86_64-linux-gnu/c++/6",
"/usr/include/c++/6/backward",
"/usr/lib/gcc/x86_64-linux-gnu/6/include",
"/usr/local/include",
"/usr/lib/gcc/x86_64-linux-gnu/6/include-fixed",
"/usr/include/x86_64-linux-gnu",
"/usr/include",
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17"
},
{
"name": "Win32",
"includePath": [
"C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include",
"${workspaceRoot}"
],
"defines": [
"_DEBUG",
"UNICODE"
],
"intelliSenseMode": "msvc-x64",
"browse": {
"path": [
"C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/*",
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}
],
"version": 4
}
24 changes: 24 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"files.associations": {
"__tree": "cpp",
"ios": "cpp",
"__config": "cpp",
"__nullptr": "cpp",
"cstddef": "cpp",
"exception": "cpp",
"initializer_list": "cpp",
"new": "cpp",
"stdexcept": "cpp",
"type_traits": "cpp",
"typeinfo": "cpp",
"algorithm": "cpp",
"iostream": "cpp",
"cctype": "cpp",
"cmath": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"iomanip": "cpp"
}
}
15 changes: 15 additions & 0 deletions Change log → CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@
# Change Log
All notable changes to this project will be documented in this file.

## [2.40] - 3/15/2019
+ Added support for Cyclic molecules.
+ Added Inter Molecular Exchange Monte Carlo move in GCMC and GEMC simulation.
+ Added Intra Molecular Exchange Monte Carlo move.
+ Added Crankshaft move.
+ Added separate cutoff for short range electrostatic, for each simulation box.
+ Added reporting the molecule density value for each species.
+ Added support to process the configuration file's keyword with case-insensitive.
+ Changed printing format to scientific mode.
+ Fixed the overlap detection with hard cutoff value.
+ Fixed a bug where, cutoff value was greater than half of the box length and no error was generated.
+ Fixed to the bug in the updating adjustable value in MoveSetting, when we have more than one component.
+ Fixed to the bug in GPU pressure calculation for NPT simulation.
+ Fixed a bug where we were selecting invalid box. This was caused by double precision error.

## [2.31] - 5/21/2018
+ Compiling problem fixed on CYGWIN
+ Fix to the error checking of volume exchange if simulation volume became negative
51 changes: 43 additions & 8 deletions CMake/FileLists.cmake
Original file line number Diff line number Diff line change
@@ -9,6 +9,8 @@ set(sources
src/Coordinates.cpp
src/CPUSide.cpp
src/CalculateEnergy.cpp
src/CheckpointOutput.cpp
src/CheckpointSetup.cpp
src/EnPartCntSampleOutput.cpp
src/Ewald.cpp
src/EwaldCached.cpp
@@ -25,7 +27,6 @@ set(sources
src/MoleculeLookup.cpp
src/Molecules.cpp
src/MolSetup.cpp
src/MoveConst.cpp
src/MoveSettings.cpp
src/NoEwald.cpp
src/OutConst.cpp
@@ -38,13 +39,22 @@ set(sources
src/Simulation.cpp
src/StaticVals.cpp
src/System.cpp
src/cbmc/DCCrankShaftAng.cpp
src/cbmc/DCCrankShaftDih.cpp
src/cbmc/DCCyclic.cpp
src/cbmc/DCGraph.cpp
src/cbmc/DCFreeCycle.cpp
src/cbmc/DCFreeHedron.cpp
src/cbmc/DCFreeHedronSeed.cpp
src/cbmc/DCFreeCycleSeed.cpp
src/cbmc/DCLinkedHedron.cpp
src/cbmc/DCLinkedCycle.cpp
src/cbmc/DCHedron.cpp
src/cbmc/DCHedronCycle.cpp
src/cbmc/DCLinear.cpp
src/cbmc/DCOnSphere.cpp
src/cbmc/DCRotateCOM.cpp
src/cbmc/DCRotateOnAtom.cpp
src/cbmc/DCSingle.cpp
src/cbmc/TrialMol.cpp)

@@ -55,6 +65,8 @@ set(headers
src/CalculateEnergy.h
src/CBMC.h
src/CellList.h
src/CheckpointOutput.h
src/CheckpointSetup.h
src/Clock.h
src/COM.h
src/ConfigSetup.h
@@ -84,15 +96,12 @@ set(headers
src/HistOutput.h
src/InputAbstracts.h
src/InputFileReader.h
src/IntraSwap.h
src/MersenneTwister.h
src/MoleculeKind.h
src/MoleculeLookup.h
src/MoleculeTransfer.h
src/Molecules.h
src/MolPick.h
src/MolSetup.h
src/MoveBase.h
src/MoveConst.h
src/MoveSettings.h
src/NoEwald.h
@@ -106,7 +115,6 @@ set(headers
src/PRNGSetup.h
src/PSFOutput.h
src/Reader.h
src/Regrowth.h
src/SeedReader.h
src/Setup.h
src/SimEventFrequency.h
@@ -118,16 +126,39 @@ set(headers
src/Writer.h
src/XYZArray.h
src/cbmc/DCComponent.h
src/cbmc/DCCrankShaftAng.h
src/cbmc/DCCrankShaftDih.h
src/cbmc/DCCyclic.h
src/cbmc/DCData.h
src/cbmc/DCFreeCycle.h
src/cbmc/DCFreeHedron.h
src/cbmc/DCFreeHedronSeed.h
src/cbmc/DCFreeCycleSeed.h
src/cbmc/DCLinkedHedron.h
src/cbmc/DCLinkedCycle.h
src/cbmc/DCGraph.h
src/cbmc/DCHedron.h
src/cbmc/DCHedronCycle.h
src/cbmc/DCLinear.h
src/cbmc/DCOnSphere.h
src/cbmc/DCRotateCOM.h
src/cbmc/DCRotateOnAtom.h
src/cbmc/DCSingle.h
src/cbmc/TrialMol.h)
src/cbmc/TrialMol.h
src/moves/CrankShaft.h
src/moves/IntraMoleculeExchange1.h
src/moves/IntraMoleculeExchange2.h
src/moves/IntraMoleculeExchange3.h
src/moves/IntraSwap.h
src/moves/MoleculeExchange1.h
src/moves/MoleculeExchange2.h
src/moves/MoleculeExchange3.h
src/moves/MoleculeTransfer.h
src/moves/MoveBase.h
src/moves/Regrowth.h
src/moves/Rotation.h
src/moves/Translate.h
src/moves/VolumeTransfer.h)

set(libHeaders
lib/BasicTypes.h
@@ -136,7 +167,11 @@ set(libHeaders
lib/NumLib.h
lib/StrLib.h
lib/StrStrmLib.h
lib/VectorLib.h)
lib/VectorLib.h
lib/FloydWarshallCycle.h)

set(libSources
lib/FloydWarshallCycle.cpp)

set(cudaHeaders
src/GPU/ConstantDefinitionsCUDAKernel.cuh
@@ -155,4 +190,4 @@ set(cudaSources
source_group("Header Files" FILES ${headers})
source_group("Lib Headers" FILES ${libHeaders})
source_group("CUDA Header Files" FILES ${cudaHeaders})
source_group("CUDA Source Files" FILES ${cudaSources})
source_group("CUDA Source Files" FILES ${cudaSources})
8 changes: 4 additions & 4 deletions CMake/GOMCCPUSetup.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
if(ENSEMBLE_NVT)
add_executable(NVT ${sources} ${headers} ${libHeaders})
add_executable(NVT ${sources} ${headers} ${libHeaders} ${libSources})
set_target_properties(NVT PROPERTIES
OUTPUT_NAME ${NVT_name}
COMPILE_FLAGS "${NVT_flags}")
@@ -10,7 +10,7 @@ if(ENSEMBLE_NVT)
endif()

if(ENSEMBLE_GEMC)
add_executable(GEMC ${sources} ${headers} ${libHeaders})
add_executable(GEMC ${sources} ${headers} ${libHeaders} ${libSources})
set_target_properties(GEMC PROPERTIES
OUTPUT_NAME ${GE_name}
COMPILE_FLAGS "${GE_flags}")
@@ -21,7 +21,7 @@ if(ENSEMBLE_GEMC)
endif()

if(ENSEMBLE_GCMC)
add_executable(GCMC ${sources} ${headers} ${libHeaders})
add_executable(GCMC ${sources} ${headers} ${libHeaders} ${libSources})
set_target_properties(GCMC PROPERTIES
OUTPUT_NAME ${GC_name}
COMPILE_FLAGS "${GC_flags}")
@@ -32,7 +32,7 @@ if(ENSEMBLE_GCMC)
endif()

if(ENSEMBLE_NPT)
add_executable(NPT ${sources} ${headers} ${libHeaders})
add_executable(NPT ${sources} ${headers} ${libHeaders} ${libSources})
set_target_properties(NPT PROPERTIES
OUTPUT_NAME ${NPT_name}
COMPILE_FLAGS "${NPT_flags}")
8 changes: 4 additions & 4 deletions CMake/GOMCCUDASetup.cmake
Original file line number Diff line number Diff line change
@@ -21,7 +21,7 @@ set(GPU_NVT_name "GOMC_GPU_NVT")
#####################################
if(ENSEMBLE_GPU_NVT)
cuda_add_executable(GPU_NVT ${cudaSources} ${cudaHeaders}
${sources} ${headers} ${libHeaders})
${sources} ${headers} ${libHeaders} ${libSources})
set_target_properties(GPU_NVT PROPERTIES
OUTPUT_NAME ${GPU_NVT_name}
COMPILE_FLAGS "${GPU_NVT_flags}")
@@ -33,7 +33,7 @@ endif()

if(ENSEMBLE_GPU_GEMC)
cuda_add_executable(GPU_GEMC ${cudaSources} ${cudaHeaders} ${sources}
${headers} ${libHeaders})
${headers} ${libHeaders} ${libSources})
set_target_properties(GPU_GEMC PROPERTIES
OUTPUT_NAME ${GPU_GE_name}
COMPILE_FLAGS "${GPU_GE_flags}")
@@ -45,7 +45,7 @@ endif()

if(ENSEMBLE_GPU_GCMC)
cuda_add_executable(GPU_GCMC ${cudaSources} ${cudaHeaders} ${sources}
${headers} ${libHeaders})
${headers} ${libHeaders} ${libSources})
set_target_properties(GPU_GCMC PROPERTIES
OUTPUT_NAME ${GPU_GC_name}
COMPILE_FLAGS "${GPU_GC_flags}")
@@ -57,7 +57,7 @@ endif()

if(ENSEMBLE_GPU_NPT)
cuda_add_executable(GPU_NPT ${cudaSources} ${cudaHeaders} ${sources}
${headers} ${libHeaders})
${headers} ${libHeaders} ${libSources})
set_target_properties(GPU_NPT PROPERTIES
OUTPUT_NAME ${GPU_NPT_name}
COMPILE_FLAGS "${GPU_NPT_flags}")
3 changes: 2 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@ project(GOMC)
include_directories(lib)
include_directories(src)
include_directories(src/cbmc)
include_directories(src/moves)

#fix new policy of cmake about FindOpenMP.cmake (will have to check later if they fixed this issue)
if(POLICY CMP0012)
@@ -16,7 +17,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})

#Versioning
set (GOMC_VERSION_MAJOR 2)
set (GOMC_VERSION_MINOR 31)
set (GOMC_VERSION_MINOR 40)

IF(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE Release CACHE STRING
Binary file modified GOMC_Manual.pdf
Binary file not shown.
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
# GOMC - GPU Optimized Monte Carlo

Current Release: 2.31 (5/21/2018)
Current Release: 2.40 (5/9/2019)

[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/GOMC_WSU/Lobby?utm_source=share-link&utm_medium=link&utm_campaign=share-link)
[![Build Status](https://travis-ci.org/GOMC-WSU/GOMC.svg?branch=master)](https://travis-ci.org/GOMC-WSU/GOMC)

We recommend the [GOMC Project Website](http://gomc.eng.wayne.edu/ "GOMC Website") and the [user manual](http://gomc.eng.wayne.edu/GOMC_files/GOMC_Manual.pdf "User Manual") for further information and examples.
We recommend the [GOMC Project Website](http://gomc.eng.wayne.edu/ "GOMC Website") and the [user manual](https://gomc-wsu.github.io/Manual/ "User Manual") for further information and examples.

To cite GOMC project, please use [GOMC SoftwareX paper](https://www.sciencedirect.com/science/article/pii/S2352711018301171?via%3Dihub "SoftwareX").

## Building GOMC on GNU/Linux, macOS, or Cygwin:

Loading

0 comments on commit 3e512ba

Please sign in to comment.