From 674bee397b9f81246220d2b4a0bbfd8d5c4635b0 Mon Sep 17 00:00:00 2001
From: "antony@cosmologist.info"
Date: Wed, 3 Oct 2012 16:07:40 +0100
Subject: [PATCH] VisualStudio file updates
---
.gitattributes | 7 ++++
VisualStudio/CAMB.sln | 14 ++++++++
VisualStudio/CAMB.suo | Bin 0 -> 11776 bytes
VisualStudio/CAMBLib_ppf.vfproj | 60 +++++++++++++++++++++++++++++++
VisualStudio/CAMB_devel.vfproj | 8 ++---
VisualStudio/MatrixDouble.vfproj | 48 +++++++++++++++++++++++++
VisualStudio/MatrixSingle.vfproj | 48 +++++++++++++++++++++++++
VisualStudio/SharedObj.vfproj | 1 -
readme.html | 32 ++++++++++-------
9 files changed, 200 insertions(+), 18 deletions(-)
create mode 100644 .gitattributes
create mode 100644 VisualStudio/CAMB.suo
create mode 100644 VisualStudio/CAMBLib_ppf.vfproj
create mode 100644 VisualStudio/MatrixDouble.vfproj
create mode 100644 VisualStudio/MatrixSingle.vfproj
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 00000000..9b73f581
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,7 @@
+*.txt text
+*.f90 text
+*.F90 text
+Makefile* text
+*.m text
+*.dat text
+*.ini text
diff --git a/VisualStudio/CAMB.sln b/VisualStudio/CAMB.sln
index c439134a..8e7c0382 100644
--- a/VisualStudio/CAMB.sln
+++ b/VisualStudio/CAMB.sln
@@ -9,11 +9,17 @@ Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "CAMB_devel", "CAMB_devel.vf
EndProject
Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "CAMBLib", "CAMBLib.vfproj", "{DBB2F5F1-BF96-4AAD-9CE7-15EB2E22E3E7}"
ProjectSection(ProjectDependencies) = postProject
+ {9A850B68-FC7B-42F7-BB78-C4C38EF90B25} = {9A850B68-FC7B-42F7-BB78-C4C38EF90B25}
{C7D790F6-3574-43A1-A5E1-1E6FC5478F95} = {C7D790F6-3574-43A1-A5E1-1E6FC5478F95}
EndProjectSection
EndProject
Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "SharedObj", "SharedObj.vfproj", "{C7D790F6-3574-43A1-A5E1-1E6FC5478F95}"
EndProject
+Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "MatrixDouble", "MatrixDouble.vfproj", "{9A850B68-FC7B-42F7-BB78-C4C38EF90B25}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C7D790F6-3574-43A1-A5E1-1E6FC5478F95} = {C7D790F6-3574-43A1-A5E1-1E6FC5478F95}
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -46,6 +52,14 @@ Global
{C7D790F6-3574-43A1-A5E1-1E6FC5478F95}.Release|Win32.Build.0 = Release|Win32
{C7D790F6-3574-43A1-A5E1-1E6FC5478F95}.Release|x64.ActiveCfg = Release|x64
{C7D790F6-3574-43A1-A5E1-1E6FC5478F95}.Release|x64.Build.0 = Release|x64
+ {9A850B68-FC7B-42F7-BB78-C4C38EF90B25}.Debug|Win32.ActiveCfg = Debug|Win32
+ {9A850B68-FC7B-42F7-BB78-C4C38EF90B25}.Debug|Win32.Build.0 = Debug|Win32
+ {9A850B68-FC7B-42F7-BB78-C4C38EF90B25}.Debug|x64.ActiveCfg = Debug|x64
+ {9A850B68-FC7B-42F7-BB78-C4C38EF90B25}.Debug|x64.Build.0 = Debug|x64
+ {9A850B68-FC7B-42F7-BB78-C4C38EF90B25}.Release|Win32.ActiveCfg = Release|Win32
+ {9A850B68-FC7B-42F7-BB78-C4C38EF90B25}.Release|Win32.Build.0 = Release|Win32
+ {9A850B68-FC7B-42F7-BB78-C4C38EF90B25}.Release|x64.ActiveCfg = Release|x64
+ {9A850B68-FC7B-42F7-BB78-C4C38EF90B25}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/VisualStudio/CAMB.suo b/VisualStudio/CAMB.suo
new file mode 100644
index 0000000000000000000000000000000000000000..b0b4689c8a1738a8cfb34c639d68ada1d099a0a0
GIT binary patch
literal 11776
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
Lz5Dyrtq1-M7d!2A
literal 0
HcmV?d00001
diff --git a/VisualStudio/CAMBLib_ppf.vfproj b/VisualStudio/CAMBLib_ppf.vfproj
new file mode 100644
index 00000000..581a25ce
--- /dev/null
+++ b/VisualStudio/CAMBLib_ppf.vfproj
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/VisualStudio/CAMB_devel.vfproj b/VisualStudio/CAMB_devel.vfproj
index 1ddd7e83..ccc64c68 100644
--- a/VisualStudio/CAMB_devel.vfproj
+++ b/VisualStudio/CAMB_devel.vfproj
@@ -5,7 +5,7 @@
-
+
@@ -15,7 +15,7 @@
-
+
@@ -25,7 +25,7 @@
-
+
@@ -35,7 +35,7 @@
-
+
diff --git a/VisualStudio/MatrixDouble.vfproj b/VisualStudio/MatrixDouble.vfproj
new file mode 100644
index 00000000..ce3f8484
--- /dev/null
+++ b/VisualStudio/MatrixDouble.vfproj
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/VisualStudio/MatrixSingle.vfproj b/VisualStudio/MatrixSingle.vfproj
new file mode 100644
index 00000000..165bd811
--- /dev/null
+++ b/VisualStudio/MatrixSingle.vfproj
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/VisualStudio/SharedObj.vfproj b/VisualStudio/SharedObj.vfproj
index 0e399e14..bd8d3b29 100644
--- a/VisualStudio/SharedObj.vfproj
+++ b/VisualStudio/SharedObj.vfproj
@@ -45,6 +45,5 @@
-
diff --git a/readme.html b/readme.html
index 33a00a51..16576ed7 100644
--- a/readme.html
+++ b/readme.html
@@ -28,9 +28,9 @@ CAMB ReadMe
Compiling and running
-To install and compile yourself you will need a Fortran 90 (or higher) compiler - you can get free Intel Linux, G95 or GFortran compilers.
- Alternatively you can use CAMB in the pre-configured CosmoBox virtual machine.
- To install yourself:
+To install and compile yourself you will need a Fortran 90 (or higher) compiler - you can get the free G95 or GFortran compilers, or the optimized Intel compiler ifort is installed on many academic clusters and also supports integrated development and debugging in Visual Studio under Windows.
+ Alternatively you can use CAMB in the pre-configured CosmoBox virtual machine, using the eclipse integrated development environment.
+ To install yourself from the command line:
- Download CAMB
- Unzip and untar the file (tar xfv CAMB.tar.gz). All files will be extracted to a
@@ -43,15 +43,17 @@
CAMB ReadMe
-The Makefile comes set up for Intel machines using ifc. Just comment the relevant parts to compile on different systems. If you have Compaq Visual Fortran you can open the supplied .dsp project file, no need to use the Makefile (currently Intel Visual Fortran is not recommended). To run on multi-processor machines add the -openmp (or equivalent) option to the Makefile's FFLAGS parameter to compile a parallelized (OPENMP) version.
+The Makefile comes set up for Intel machines using Intel's ifort compiler. Just comment the relevant parts to compile on different systems. If you have Intel's Visual Fortran you can use the projects in the VisualStudio folder, no need to use the Makefile. To run on multi-processor machines add the -openmp (or equivalent) option to the Makefile's FFLAGS parameter to compile a parallelized (OPENMP) version.
-You can also edit the Makefile's EQUATIONS and POWERSPECTRUM
- variables. The POWERSPECTRUM.f90 file contains a module giving the initial
+You can also edit the Makefile's EQUATIONS, POWERSPECTRUM, RECOMBINATION and REIONIZATION
+ variables, which determine which module is used to implement and model various parts of the calculation. The POWERSPECTRUM.f90 file contains a module giving the initial
power spectrum, the EQUATIONS.f90 file contains the background evolution
equations and sets of gauge-dependent perturbation
- equations. To avoid problems run make clean after changing the
- Makefile before recompiling.
+ equations (the alternative equations_ppf.f90 is provided to implement the common w, wa varying dark energy parameterization). RECOMBINATION.f90 gives the background recombination history: recfast by default, but you can also compile to use CosmoRec and HyRec. REIONIZATION is by default a simple relatively fast single-step reionization model (following arXiv:0804.3865).
+ Various other modules can also be changed at compile time if desired.
+ To avoid problems run make clean after changing the
+ Makefile before recompiling. You can also use e.g. make RECOMBINATION=cosmorec to override the default and compile with a different module.
You can produce files in CAMB ReadMe
simple non-standard models are in the equations.f90 file. It should be possible to produce other files
for extended models (see the sample quintessence module). (Note that varying
-constant - e.g. alpha - models are not quite so simple to plug in).
+constant - e.g. alpha - models are not quite so simple to plug in; a sample equations_ppf.f90 file provided to implement a varying w dark energy equation of state in the PPF model).
After modifying any of the source code run make clean before running make to recompile (Visual Fortran will re-compile dependent code automatically).
Run make all to build a library libcamb.a that you can use when
@@ -114,7 +116,7 @@
Version history
October 2012
-- Updated Recfast to 1.5.2 (~0.15% change in Cl from small tweaks to fudge parameters to match CosmoRec and HyRec)
+
- Updated Recfast to 1.5.2 (~0.15% change in Cl from small tweaks to fudge parameters to match CosmoRec and HyRec)
- Updated Halofit model from arXiv:1208.2701 (thanks Ryuichi Takahashi)
- Calculation of various potentially useful derived parameters (if derived_parameters=T)
- Change to allow Neff<1 to work (thanks Zhen Hou)
@@ -501,7 +503,7 @@
The source files
spectra for other matter tracers, e.g. for cross-correlation with
the CMB. The lensing power spectrum is automatically computed if
DoLensing=T.
-
+equations_ppf.f90 is an alternative module that allows evolving dark energy crossing w=-1.
power_tilt.f90
@@ -566,7 +568,7 @@
The source files
by Douglas Scott (with minor modifications for CMBFAST and the
CAMB). See RECFAST
- for the original code. This module implements the RECOMBINATION module required by CAMB, and could be replaced by other models.
+ for the original code. This module implements the RECOMBINATION module required by CAMB, and could be replaced by more detailed codes. Sample wrappers are also provided for CosmoRec and HyRec, but the libraries for these must be installed separately (the latter requiring a modification to enable CAMB support; contact Antony Lewis for the code).
SeparableBispectrum.f90
@@ -627,7 +629,7 @@
REFERENCES
Geometric Algebra and
Covariant Methods in Physics and Cosmology, Chapters 6&7
PhD thesis, Antony Lewis 2000. PostScript.
+HREF="http://cosmologist.info/thesis.ps.gz">PostScript.
Covariant theory
@@ -670,6 +672,10 @@
REFERENCES
Stable clustering, the halo model and nonlinear cosmological power spectra
Smith, R. E. and others, astro-ph/0207664.
+
+
+Revising the Halofit Model for the Nonlinear Matter Power Spectrum
+Ryuichi Takahashi and others, arXiv:1208.2701.
RECOMBINATION