Help
RSS
API
Feed
Maltego
Contact
Domain > code.delmaestro.org
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2016-11-11
199.58.84.82
(
ClassC
)
2025-01-04
172.241.24.147
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: nginxDate: Sat, 04 Jan 2025 01:20:23 GMTContent-Type: text/htmlContent-Length: 162Connection: keep-aliveLocation: https://code.delmaestro.org/Strict-Transport-Security: max-age31536000; includeSubDomains;X-Content-Type-Options: nosniff html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>nginx/center>/body>/html>
Port 443
HTTP/1.1 200 OKServer: nginxDate: Sat, 04 Jan 2025 01:20:23 GMTContent-Type: text/html; charsetUTF-8Transfer-Encoding: chunkedConnection: keep-alive !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>html xmlnshttp://www.w3.org/1999/xhtml>head>meta http-equivContent-Type contenttext/xhtml;charsetUTF-8/>meta http-equivX-UA-Compatible contentIE9/>meta namegenerator contentDoxygen 1.9.1/>meta nameviewport contentwidthdevice-width, initial-scale1/>title>Path Integral Quantum Monte Carlo: Documentation/title>link hreftabs.css relstylesheet typetext/css/>script typetext/javascript srcjquery.js>/script>script typetext/javascript srcdynsections.js>/script>link hrefsearch/search.css relstylesheet typetext/css/>script typetext/javascript srcsearch/searchdata.js>/script>script typetext/javascript srcsearch/search.js>/script>script typetext/x-mathjax-config> MathJax.Hub.Config({ extensions: tex2jax.js, jax: input/TeX,output/HTML-CSS,});/script>script typetext/javascript asyncasync srchttps://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js>/script>link hrefdoxygen.css relstylesheet typetext/css />/head>body>div idtop>!-- do not remove this div, it is closed by doxygen! -->div idtitlearea>table cellspacing0 cellpadding0> tbody> tr styleheight: 56px;> td idprojectalign stylepadding-left: 0.5em;> div idprojectname>Path Integral Quantum Monte Carlo /div> /td> /tr> /tbody>/table>/div>!-- end header part -->!-- Generated by Doxygen 1.9.1 -->script typetext/javascript>/* @license magnet:?xturn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dngpl-2.0.txt GPL-v2 */var searchBox new SearchBox(searchBox, search,false,Search,.html);/* @license-end *//script>script typetext/javascript srcmenudata.js>/script>script typetext/javascript srcmenu.js>/script>script typetext/javascript>/* @license magnet:?xturn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dngpl-2.0.txt GPL-v2 */$(function() { initMenu(,true,false,search.php,Search); $(document).ready(function() { init_search(); });});/* @license-end *//script>div idmain-nav>/div>/div>!-- top -->!-- window showing the filter options -->div idMSearchSelectWindow onmouseoverreturn searchBox.OnSearchSelectShow() onmouseoutreturn searchBox.OnSearchSelectHide() onkeydownreturn searchBox.OnSearchSelectKey(event)>/div>!-- iframe showing the search results (closed by default) -->div idMSearchResultsWindow>iframe srcjavascript:void(0) frameborder0 nameMSearchResults idMSearchResults>/iframe>/div>div classPageDoc>div classheader> div classheadertitle>div classtitle>Documentation /div> /div>/div>!--header-->div classcontents>div classtextblock>p>a classanchor idmd_README>/a> /p>h1>a classanchor idautotoc_md1>/a>Introduction/h1>p>This webpage contains the details of a worm algorithm path integral quantum Monte Carlo (WA-PIMC) code actively developed in c++ since 2008 in the a hrefhttp://delmaestro.org/adrian>Del Maestro group/a> based on:/p>ul>li>T > 0: a hrefhttp://link.aps.org/doi/10.1103/PhysRevE.74.036701>M. Boninsegni, N. V. Prokofiev, and B. Svistunov, Phys. Rev. E b>74/b>, 036701 (2006)/a>/li>li>T 0: a hrefhttp://aip.scitation.org/doi/abs/10.1063/1.481926>A. Sarsa, K.E. Schmidt and W. R. Magro, J. Chem. Phys. b>113/b>, 1366 (2000)/a>/li>/ul>p>It can be used to simulate indistinguishable bosons with various types of realistic interactions in one, two and three spatial dimensions. As written, it takes a large number of command line options and allows for the measurement of essentially any physical observable of interest./p>p>The design philosophy included the goal of abstracting the actual implementation of the WA-PIMC method to a kernel that will never need to be touched by the end user. The code can be easily extended to study a wide variety of situations by including new types of containers, potentials estimators and communicators./p>p>If you have questions, bug reports or plan to use this code for scientific research, please contact me at a href# onclicklocation.hrefmai+lto:+Adr+ia+n.D+el+Mae+st+ro@+ut+k.e+du; return false;>Adriaspan styledisplay: none;>.nosp@m./span>n.Despan styledisplay: none;>.nosp@m./span>lMaesspan styledisplay: none;>.nosp@m./span>tro@span styledisplay: none;>.nosp@m./span>utk.espan styledisplay: none;>.nosp@m./span>du/a>./p>p>The development and maintenance of this code base has been supported in part by the National Science Foundation under Award Nos. a hrefhttps://www.nsf.gov/awardsearch/showAward?AWD_ID1553991>DMR-1553991/a> and a hrefhttps://www.nsf.gov/awardsearch/showAward?AWD_ID1808440>DMR-1808440/a>./p>p>a hrefhttp://www.nsf.gov/awardsearch/showAward?AWD_ID1553991>img srchttps://www.nsf.gov/images/logos/NSF_4-Color_bitmap_Logo.png alt width100 classinline/>/a>/p>h1>a classanchor idautotoc_md2>/a>Installation/h1>p>This program has been successfully compiled and run on both Intel and AMD systems using clang, g++, pathscale and icpc. Before installing, one needs to ensure that all dependencies are met. We recommend that the required libraries (boost and blitz) are installed in a code>local/code> folder inside your home directory: code>$HOME/local/code>./p>h1>a classanchor idautotoc_md3>/a>Dependencies/h1>p>The code is written in c++ and makes use of both the a hrefhttps://github.com/blitzpp/blitz>blitz++/a> and a hrefhttp://www.boost.org/>boost/a> libraries. You should be able to grab code>blitz/code> from github and compile from source via the instructions below./p>p>We use many of the boost header-only libraries, but two libraries will need to be compiled: boost_program_options and boost_serialization libraries. Let us assume that you will be installing both blitz and boost in the folder code>$HOME/local/code> using the GNU C++ compiler. For icpc or clang, the changes should be obvious, and in particular for the Intel compiler you will need to use code>intel-linux/code> as the toolset while for clang you will use code>darwin/code>./p>p>If you dont have a code>$HOME/local/code> you should create this directory now via/p>div classfragment>div classline>mkdir $HOME/local/div>/div>!-- fragment -->h2>a classanchor idautotoc_md4>/a>Blitz/h2>p>Unless you need to use the blitz++s internal debug functionality initiated through #code>define BZ_DEBUG/code> which is set by including code>debug1/code> when compiling, blitz can be used as a header only library and does not need to be compiled. This is the most common use case. However, as it doesnt take very long to compile one can proceed as follows:/p>ol type1>li>Move into your source directory (create if necessary). div classfragment>div classline>cd $HOME/local/src/div>/div>!-- fragment -->/li>li>Clone the latest version of blitz++ from a hrefhttps://github.com/blitzpp/blitz>github/a> into code>$HOME/local/src/code>/li>li>Move into the blitz source directory/li>li>Read the instructions in the code>INSTALL/code> file to determine if there is anything special you need to do on your system./li>li>Execute/li>/ol>div classfragment>div classline>mkdir build; cd build/div>div classline>cmake -DCMAKE_INSTALL_PREFIXPREFIX ../div>div classline>make lib/div>div classline>make install/div>/div>!-- fragment -->p>where code>PREFIX/code> is the location you want to install the libraries, we suggest code>$HOME/local/code> where code>$HOME/code> is your expanded home directory./p>h2>a classanchor idautotoc_md5>/a>Boost/h2>p>For detailed instructions on installing boost with compiled libraries please see a hrefhttps://www.boost.org/more/getting_started/index.html>Section 5.2/a> of the official Boost documentation./p>ol type1>li>Download and decompress boost into code>$HOME/local/src//code>/li>li>Change to the boost source directory/li>li>Execute code>bootstrap.sh/code> If you want to compile for a specific toolset you could add code>--with-toolsetgcc/code>. Now you are ready to install. Execute pre classfragment>```bash./b2 install --prefixPREFIX --with-program_options --with-serialization cxxflags-stdc++17 linkflags-stdc++17```or if you are using the `clang` compiler on mac os```bash./b2 install --prefixPREFIX --toolsetdarwin --with-program_options --with-serialization cxxflags-stdc++17 -stdliblibc++ linkflags-stdc++17 -stdliblibc++ ```/pre>/li>li>If you want to have multiple versions of the library compiled with different compilers you can use the code>--layoutversioned/code> flag above, or you could add code>option.set layout : versioned ;/code> to your code>project-config.jam/code>. Note: you may have to rename the code>$HOME/include/blitz_VER/code> directory to remove the version number./li>li>You should now have a code>PREFIX/include/code> directory containing the header files for code>blitz/code>, code>boost/code> and code>random/code> and your code>PREFIX/lib/code> directory will contain the following files (the code>.dylib/code> files will only appear on Mac OS X) ```bash libblitz.a libboost_program_options.a libblitz.la libboost_program_options.dylib ```/li>li>p classstartli>Update the code>LD_LIBRARY_PATH/code> (or code>DYLD_LIBRARY_PATH/code> on mac os) variable inside your code>.bahsrc/code> or code>.bash_profile/code> to include code>PREFIX/lib/code> e.g./p>p classstartli>```bash export LD_LIBRARY_PATH$LD_LIBRARY_PATH:PREFIX/lib ```/p>/li>li>p classstartli>Source your code>.bashrc/code> or code>.bash_profile/code>./p>p classstartli>```bash source ~/.bashrc ```/p>/li>/ol>h1>a classanchor idautotoc_md6>/a>Path Integral Monte Carlo/h1>p>After successfully installing blitz and boost you are now ready to compile the main pimc program on your system. PIMC uses CMake for build, test and installation automation. For details on using CMake consult a hrefhttps://cmake.org/documentation/>https://cmake.org/documentation//a>. In short, the following steps should work on UNIX-like systems:/p>div classfragment>div classline>mkdir build/div>div classline>cd build/div>div classline>cmake ..//div>div classline>make/div>div classline>sudo make install/div>/div>!-- fragment -->p>On Windows try:/p>div classfragment>div classline>md build/div>div classline>cd build/div>div classline>cmake ..//div>div classline>cmake --build . --config Release/div>div classline>cmake --build . --target install/div>/div>!-- fragment -->p>As above, and with further details below, but you should consider using the following CMake options with the appropriate value instead of xxx :/p>ul>li>code>-D NDIM1|2|3/code> the number of spatial dimensions/li>li>code>-D GPU_BLOCK_SIZExxx/code> equal to the maximum threadblock size and enables GPU acceleration (using a hrefhttps://github.com/ROCm-Developer-Tools/HIP>AMDs HIP language/a>)/li>li>code>-D MAX_GPU_STREAMSxxx/code> equal to maximum number of concurrent streams on GPU device/li>li>code>-D CMAKE_C_COMPILERxxx/code> equal to the name of the C99 Compiler you wish to use (or the environment variable code>CC/code>)/li>li>code>-D CMAKE_CXX_COMPILERxxx/code> equal to the name of the C++17 compiler you wish to use (or the environment variable code>CXX/code>)/li>li>code>-D CMAKE_PREFIX_PATHxxx/code> to add a non-standard location for CMake to search for libraries, headers or programs/li>li>code>-D CMAKE_INSTALL_PREFIXxxx/code> to install pimc to a non-standard location/li>li>code>-D BOOST_ROOTxxx/code> to add non-standard location for Boost install/li>li>code>-D BLITZ_ROOTxxx/code> to add non-standard location for Blitz++ install/li>li>code>-D STATIC1/code> to enable a static build/li>li>code>-D CMAKE_BUILD_TYPEDebug/code> to build pimc in debug mode/li>li>code>-D CMAKE_BUILD_TYPEPIGS/code> to build pigs/li>li>code>-D CMAKE_BUILD_TYPEPIGSDebug/code> to build pigs in debug mode/li>li>code>-D DEFAULT_CXX_FLAGSxxx/code> to overwrite default compiler flags for Release and PIGS builds (default code>-Wall -fno-math-errno -O3/code>)/li>li>code>-D CMAKE_CXX_FLAGSxxx/code> to set additional compiler flags for Release and PIGS builds/li>li>code>-D CMAKE_CXX_FLAGS_DEBUGxxx/code> to set additional compiler flags for PIMCDebug and PIGSDebug builds/li>li>code>-E env CXXFLAGSxxx/code> add additional compiler flags/li>li>code>-E env LDFLAGSxxx/code> add additional linker flags/li>/ul>p>Executables will be installed to code>CMAKE_INSTALL_PREFIX/code> location or if the install is skiped will be located in code>build/pimc/code>. Executables produced are code>pimc.e/code>, code>pimcd.e/code>, code>pigs.e/code>, and code>pigsd.e/code> for code>CMAKE_BUILD_TYPERelease|Debug|PIGS|PIGSDebug/code> respectively./p>p>If you run into problems, failures with linking etc., common errors may include not properly setting your code>LD_LIBRARY_PATH/code> or not starting from a clean build directory (issue code>make clean/code> or code>rm -rf ./*/code> inside the build directory)./p>h1>a classanchor idautotoc_md7>/a>Usage/h1>p>In order to get a quick idea of the options which the code accepts type: /p>div classfragment>div classline>pimc.e --help/div>/div>!-- fragment -->p>The code requires various combinations of these options to run, and the help message should give you an idea about which ones are mandatory./p>h2>a classanchor idautotoc_md8>/a>Quick Start/h2>p>If you want to perform a quick test-run for bulk helium you could try something like: /p>div classfragment>div classline>./pimc.e -T 5 -N 16 -n 0.02198 -t 0.01 -M 8 -C 1.0 -I aziz -X free -E 10000 -S 20 -l 7 -u 0.02 --relax/div>/div>!-- fragment -->p>In order for this to work, you will need a folder named code>OUTPUT/code> in the directory where you type the command as it will produce output files in code>OUTPUT/code> that contain all the results of the code. Each run of the code is associated with a unique identifying integer: the code>PIMCID/code>. The options used in this demo include a subset of all the possible options:/p>table classmarkdownTable>tr classmarkdownTableHead>th classmarkdownTableHeadCenter>Code Option /th>th classmarkdownTableHeadNone>Description /th>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>T/code> /td>td classmarkdownTableBodyNone>temperature in kelvin /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>N/code> /td>td classmarkdownTableBodyNone>number of particles /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>n/code> /td>td classmarkdownTableBodyNone>density in Åsup>-ndim/sup> (ndimspatial dimension) /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>t/code> /td>td classmarkdownTableBodyNone>the imaginary time step tau /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>M/code> /td>td classmarkdownTableBodyNone>number of time slices involved in a bisection move /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>C/code> /td>td classmarkdownTableBodyNone>worm prefactor constant /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>I/code> /td>td classmarkdownTableBodyNone>interaction potential /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>X/code> /td>td classmarkdownTableBodyNone>external potential /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>E/code> /td>td classmarkdownTableBodyNone>number of equilibration steps /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>S/code> /td>td classmarkdownTableBodyNone>number of production bins to output /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>l/code> /td>td classmarkdownTableBodyNone>potential cutoff length in Å /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>u/code> /td>td classmarkdownTableBodyNone>chemical potential in kelvin /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>relax/code> /td>td classmarkdownTableBodyNone>adjust the worm constant to ensure we are in the diagonal ensemble ~75% of the simulation /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>o/code> /td>td classmarkdownTableBodyNone>the number of configurations to be stored to disk /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>p/code> /td>td classmarkdownTableBodyNone>process or cpu number /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>R/code> /td>td classmarkdownTableBodyNone>restart the simulation with a PIMCID /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>W/code> /td>td classmarkdownTableBodyNone>the wall clock run limit in hours /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>s/code> /td>td classmarkdownTableBodyNone>supply a gce-state-* file to start the simulation from /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>P/code> /td>td classmarkdownTableBodyNone>number of imaginary time slices /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>D/code> /td>td classmarkdownTableBodyNone>size of the center of mass move in Å /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>d/code> /td>td classmarkdownTableBodyNone>size of the single slice displace move in Å /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>m/code> /td>td classmarkdownTableBodyNone>mass of the particles in AMU /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>b/code> /td>td classmarkdownTableBodyNone>the type of simulation cell /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>L/code> /td>td classmarkdownTableBodyNone>linear system size in Å /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>a/code> /td>td classmarkdownTableBodyNone>scattering length in Å /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>c/code> /td>td classmarkdownTableBodyNone>strength of the integrated delta function interaction /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>Lx/code> /td>td classmarkdownTableBodyNone>linear system size in the x-direction Å /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>Ly/code> /td>td classmarkdownTableBodyNone>linear system size in the y-direction in Å /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>Lz/code> /td>td classmarkdownTableBodyNone>linear system size in the z-direction in Å /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>action/code> /td>td classmarkdownTableBodyNone>the type of effective action used in the simulation /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>canonical/code> /td>td classmarkdownTableBodyNone>restrict to the canonical ensemble /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>window/code> /td>td classmarkdownTableBodyNone>the particle number window for restricting number fluctuations in the canonical ensemble /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>imaginary_time_length/code> /td>td classmarkdownTableBodyNone>the imaginary time extent in Ksup>-1/sup> /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>wavefunction/code> /td>td classmarkdownTableBodyNone>the type of trial wavefunction /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>dimension/code> /td>td classmarkdownTableBodyNone>output the spatial dimension that the code was compiled with /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>pigs/code> /td>td classmarkdownTableBodyNone>perform a simulation at T 0 K /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyCenter>code>max_wind/code> /td>td classmarkdownTableBodyNone>The maximum winding sector to be sampled. Default1 /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyCenter>code>staging/code> /td>td classmarkdownTableBodyNone>Use staging instead of bisection for diagonal updates. /td>/tr>/table>p>All options, including lists of possible values and default values can be seen by using the code>--help flag/code>./p>p>The output of the above command should yield something like: /p>pre classfragment> _____ _____ __ __ _____ | __ \ |_ _| | \/ | / ____| | |__) | | | | \ / | | | | ___/ | | | |\/| | | | | | _| |_ | | | | | |____ |_| |_____| |_| |_| \_____|PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Pre-Equilibration Stage.▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ . Diagonal Pre-Equilibration.▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ . Off-Diagonal Pre-Equilibration.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Relax Worm Constant.Converged on C0 1.00000PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Equilibration Stage.▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Measurement Stage.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 1 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 2 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 3 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 4 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 5 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 6 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 7 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 8 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 9 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 10 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 11 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 12 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 13 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 14 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 15 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 16 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 17 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 18 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 19 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Bin # 20 stored to disk.PIMCID: 395a20fc-f1aa-4169-81e0-97a77e251bc4 - Measurement complete./pre>p> during the relaxation process where the string following code>PIMCID:/code> is a uuid that uniquely tags your run, and 20 measurements will be output to disk. To analyze the results the code, you will need to obtain and install the a hrefhttps://github.com/DelMaestroGroup/pimcscripts>pimcscripts/a> package via:/p>pre classfragment>pip install --upgrade git+git://github.com/DelMaestroGroup/pimcscripts.git#eggpimcscripts/pre>p> Which will add the code>pimcscripts/code> library and a number of useful python analysis programs to your path./p>p>After this has been completed, you can analyze the results of your run via/p>div classfragment>div classline>pimcave.py OUTPUT/gce-estimator-05.000-008.996-+000.020-0.01000-395a20fc-f1aa-4169-81e0-97a77e251bc4.dat/div>/div>!-- fragment -->p>where code>395a20fc-f1aa-4169-81e0-97a77e251bc4/code> needs to be replaced with the unique identifier generated on your machine. The results should yield something like:/p>div classfragment>div classline># PIMCID 395a20fc-f1aa-4169-81e0-97a77e251bc4/div>div classline># Number Samples 20/div>div classline>K 315.54530 12.70789 4.03/div>div classline>V -509.32392 11.22932 2.20/div>div classline>V_ext 0.00000 0.00000 0.00/div>div classline>V_int -507.58296 10.92684 2.15/div>div classline>E -193.77862 10.05201 5.19/div>div classline>E_mu -194.11968 10.05299 5.18/div>div classline>K/N 18.40800 0.62058 3.37/div>div classline>V/N -29.71109 0.35392 1.19/div>div classline>E/N -11.30309 0.56667 5.01/div>div classline>N 17.05300 0.17947 1.05/div>div classline>N^2 292.21000 6.07779 2.08/div>div classline>density 0.02343 0.00025 1.05/div>div classline>us 1290.97997 22.17522 1.72/div>div classline>mcsteps 157.20000 3.86251 2.46/div>div classline>diagonal 0.64350 0.01594 2.48/div>/div>!-- fragment -->p>The basic idea of running the program is that one needs to setup the simulation cell, by defining either its specific geometry via the size (code>L/code>) flag, or by a combination of density (code>n/code>) and number of particles (code>N/code>). At present, two types of simulation cells are possible, a hypercube in 1,2 or 3 dimensions with periodic boundary conditions and a cylinder in 3 dimensions, that is obtained by defining a radius (code>r/code>). One then needs to setup the details of the simulation, including the temperature (code>T/code>), chemical potential (code>u/code>), interaction (code>I/code>) and external (code>X/code>) potential. The simulation details are then set via the imaginary time step (code>t/code>), worm parameter (code>C/code>) and number of equilibration (code>E/code>) steps and production output bins (code>S/code>). A more detailed grasp of all possible program options can be obtained by reading the main driver file code>a classel hrefpdrive_8cpp.html titleA dimensionally independent worm algorithm path integral monte carlo code driver.>pdrive.cpp/a>/code>./p>h2>a classanchor idautotoc_md9>/a>Output/h2>p>The results of running the code are a number of data, state and log files that reside in the code>OUTPUT/code> directory. If the code is run for the cylinder geometry, there will be an additional copy of the files in code>OUTPUT/CYLINDER/code> which contain measurements that have been restricted to some cutoff radius indicated by including the code>w/code> flag when running. The generic output files are:/p>table classmarkdownTable>tr classmarkdownTableHead>th classmarkdownTableHeadNone>Output a classel hrefclassFile.html titleA basic input/output file class.>File/a> /th>th classmarkdownTableHeadNone>Description /th>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyNone>code>gce-estimator-T-L-u-t-PIMCID.dat/code> /td>td classmarkdownTableBodyNone>The main estimator file. Includes binned averages of various non-vector estimators like the energy and density of particles. /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyNone>code>gce-log-T-L-u-t-PIMCID.dat/code> /td>td classmarkdownTableBodyNone>The log file, which includes all the details of the simulation (including the command needed to restart it) and details on acceptance and output. /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyNone>code>gce-number-T-L-u-t-PIMCID.dat/code> /td>td classmarkdownTableBodyNone>The number probability distribution /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyNone>code>gce-obdm-T-L-u-t-PIMCID.dat/code> /td>td classmarkdownTableBodyNone>The one body density matrix /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyNone>code>gce-pair-T-L-u-t-PIMCID.dat/code> /td>td classmarkdownTableBodyNone>The pair correlation function /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyNone>code>gce-pcycle-T-L-u-t-PIMCID.dat/code> /td>td classmarkdownTableBodyNone>The permutation cycle distribution /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyNone>code>gce-radial-T-L-u-t-PIMCID.dat/code> /td>td classmarkdownTableBodyNone>The radial density /td>/tr>tr classmarkdownTableRowEven>td classmarkdownTableBodyNone>code>gce-state-T-L-u-t-PIMCID.dat/code> /td>td classmarkdownTableBodyNone>The state file (used to restart the simulation) /td>/tr>tr classmarkdownTableRowOdd>td classmarkdownTableBodyNone>code>gce-super-T-L-u-t-PIMCID.dat/code> /td>td classmarkdownTableBodyNone>Contains all superfluid estimators /td>/tr>/table>p>Each line in either the scalar or vector estimator files contains a bin which is the average of some measurement over a certain number of Monte Carlo steps. By averaging bins, one can get the final result along with its uncertainty via the variance./p>h1>a classanchor idautotoc_md10>/a>General Description/h1>p>A full understanding of this path integral Monte Carlo code requires an understanding of the WA-PIMC algorithm alluded to in the introduction. In this section, we describe the large building blocks of the code. The actual specific details of the implementation can be understood by reading the doxygen documentation included here as well as reading the actual source code./p>p>Any Monte Carlo simulation whether quantum or classical shares a number of features in common. Some type of simulation cell is created with a set of parameters that describe its physical environment. The initial state of the system is guessed, and a series of Moves are performed on the constituents of the system in such a way that detailed balance is maintained. After some suitable equilibration period, measurements are made and their results are stored to disk./p>p>As discussed above, the driver file for this PIMC program is called a classel hrefpdrive_8cpp.html titleA dimensionally independent worm algorithm path integral monte carlo code driver.>pdrive.cpp/a>. It takes a series of command line options, which are used by the a classel hrefclassSetup.html titleSetup the simulation.>Setup/a> class to initialize a classel hrefclassConstantParameters.html titleConstant simulation parameters.>ConstantParameters/a>, a classel hrefclassContainer.html titleThe base class which holds details on the generalized box that our system will be simulated inside of...>Container/a>, a classel hrefclassLookupTable.html titleThe particle (bead) lookup table.>LookupTable/a> and a classel hrefclassCommunicator.html titlePerforms input/output.>Communicator/a> objects. Next, a Potential object is created which describes the potential environment (any walls etc.) and the interactions between bosons. A a classel hrefclassPath.html titleThe space-time trajectories.>Path/a> object is then instantiated which holds all the details of the actual world lines of the quantum particles. An Action object is created based on the Potential which holds an approximation of the action to be discretized in the path integral decomposition of the partition function. Finally, the main operating object of the program, of type a classel hrefclassPathIntegralMonteCarlo.html titleThe main driver class for the entire path integral monte carlo program.>PathIntegralMonteCarlo/a> is created, which requires both the a classel hrefclassPath.html titleThe space-time trajectories.>Path/a> and the a hrefhttps://code.delmaestro.org/classActionBase.html>Action/a>. This object performs the actual simulation via a series of a hrefhttps://code.delmaestro.org/classMoveBase.html>Moves/a>, all of which generate trial world line configurations that exactly sample the kinetic part of the density matrix. All measurements are made via specific a hrefhttps://code.delmaestro.org/classEstimatorBase.html>Estimators/a> with the results being output to disk./p>p>The main kernel of this program should remain relatively untouched, as it has been extensively tested and optimized. Generality can come from modifying just a few things. For example, in order to implement a new type of measurement, one would need to write a derived a hrefhttps://code.delmaestro.org/classEstimatorBase.html>Estimator/a> class along with modifying the a classel hrefclassCommunicator.html titlePerforms input/output.>Communicator/a> class to define an output path. New types of particles and external environments can be added by adding new a hrefhttps://code.delmaestro.org/classPotentialBase.html>Potential/a> then updating a classel hrefclassSetup.html titleSetup the simulation.>Setup/a> to allow for their specification at the command line. Finally, radically different systems can be studied by modifying the a hrefhttps://code.delmaestro.org/classContainer.html>Container/a> class. /p>/div>/div>!-- PageDoc -->/div>!-- contents -->!-- start footer part -->hr classfooter/>address classfooter>small>Generated by a hrefhttps://www.doxygen.org/index.html>img classfooter srcdoxygen.svg width104 height31 altdoxygen/>/a> 1.9.1/small>/address>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]