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 zcmeHNZHya78JnU_yY<#Af|*XFH$uXOr}2HFBvR2oh(>CKgai_W76b^P^dAxki2$M?ev}H8P>Ciy&+Kk)&pGd{ zFAh-A*Lpm&v$OlYGxNUhyfd?}UtIUQ^Dk|@Bsyr1SShYty+hpUDIY+dkaV{YE0E#! zm8(~;+J!xkyB$TFB{(MZ0~|xQj550UPWz`{;63^Px6TCewEqnN$KyVLeX|kxFz^8IAg~Ge z2oM533Ty^G25bR74txUmB(N3u6z~wh9@q|qfe7$vKmnpa42S~>U=SDrl0XVb13Q47 zz%F1num{)+JPfEn7GN9lNDDv_cm&u7><112j{?I0>ph0_pp&mSsoMvKo$E=YM}W@& zM}f}*CE#$-I& zGD=BJlvK2B!!o0__}rLfv^2JJ&3rt?wl9O&2Aa(NR{6pV61HL*WX!>%euUaAf8{Zj} zKP`s7mDI_vV={TPV?(vx@}uW1E!+^^wUh^PODBx8Fm$kQL{u779H`ZD^b?#qb! zPrY-=x3Y7S^PF3+lm7@tnWMrubkeZ}L!9brh1;S3EAcX}NhpK+UcZ#FUpM<--2Zqb zS@`CJV}Fc~g7W8@$+ds_8w+i2K@aJV=QZ7pj5TPWCH0lQkg=iHBks7t{%31wd!2M6 zWu5QxyLQ}=UlrebtHoa+>VWvlKz@gU-`RXN8!HYLqv32ZJrqu4GWl>iS4f7VgN1CY z5Q`P!h2-39E;EuH*2|HTj9*9K0qf{hU3v>u+E-gf<@VZyQ6qJXQDg%DXAyBK@Df>! zRuVoXgQ&ECJA=3iBTb_`j$9U{Iru8(Vkk@FI)z$%DuJ?$m_saEg?7_R&GS7dXCE(D zM%xSPEYuFxyt{tyR$ehND?tO&`TQu1Wl6LS-5H$5`P_N5TB~yKAw$^u{Wl zx}GAiKhCGzn+R%uUjM^+wvP6@ZREVbm8gz*i1RP!0Xq)3o;OS2e|q+R>+#$LIt3Uy$JJYZ<(Qv$g37SB?=p1ug>8Fr_==_agR9t^ z*B`;~yose1?hgMQk zGg23si$Vv7P&0>;1fEMFpGLknt?Vb)&XMRvEBh&jcNBujVEf8`%Fx*t!L`BG%6`h? z?T_Gc*jkx}#xVv|;Qxk@3rme-EJu+7W=Y`3&!(ur8%C_{tclN*d)`P}xe=+AA z=!}U}ZT+iPUfneO&97H4JiF=5bhnxaZUWQeA%Xb$sUCJePa>W-5!-XMZ6dm#-~Fnf zjC&r(5PkCGg^_9mX$|W!cO}U6>PEDBes|8hJLQU9?XyI6$Xs5gEKOfoa%dxCaZ~P_ zX;_PPu0q^4EuP~1ORhV(jt;v1@UFkybu9NmxL?hkAMS?Ot6i>z{E6ppJa6JzQ&9dn z)IH#=KM!NIN3NQZMm@il6=XVWS9E?d)vPcBU_ccn`m<#(i9;L z*FWrqo6o=VY@oY!G|)#pAJ#EaRjL1F$f+$;E06nXWpJrXtQWa+qDh&!mR_F4`j1%m zyYL6AH(ov)n*8J6_y6E$FTeBWW7hZF+Hbx6@^8+)^5TK7y>ahfBb)#5hFkuRr+@WR zYw&#Tg-e@^pFHyAXWa7RYrgQ@*?(Qme*g53U;ENKYj_kY>5_Hj`P_G3Uw2`n_{PuI zUVY6i?@YVBx3ix2nyYU1HuoRs)0*hVVaFc)_Fdd}ENB0B1P_1PdBH+^8;2Ba>6P8@ z0b20LetR(3e;VL7DLm6yj{O}3KkoGNq=}gFc%D2;T8^CE64(Dp;}2;6qj=eI=Y?7H zwSoR;D_cl|`aM^k2bSS~9>>F5ofpszmU=op9D}XRNNH8fNm~$)E^GnMXeMNY5QQx& zh#36n$VHCae~&ny6XByfN)^Lw7>&wIU2RsTOBJ2q`DpsrAh!oQb z<-K)Rvt6(Ed|=K;Jye@%87F3+T9mozGB3|FucejQ*|Vu^JQc$)JQP!6;b=4;4X08` zC9HsospMcXosZ282zfF~X8Ob3_Q&1tT-@(p#-N#;gLwu_%UEg#T8{o7f<*55#{@Wx zOAV?+n+(h?)UOtzE}rZyHT(11kre~n9p{-&Q2QT4UH9Db2rRFTS>N`8D(qjwo@~(5 zUw*SMWsGqAu_L^2^V#Pu-QNXE9G7+ajE8$Eb znt?)Rlw4XV7K^#~-0ZFq-K-S#x@PW~&Fv^n8m;M49^X}zrgUpD>y-xG(ke7rT1|PO z)l@xJQ4lW8?NoQe4%NX(b*FYteEAGF6pus+LSaCRM4Vqftc}OnR#)wB(SM zLUk>n+SOGpra9G>TCG-z&*iVRxW{vY?$bzuHJ!7nO)f35iLA6`bDlk6g7@2(Z) zE=D}?UKxFU2KLRf6|S>#SYu70jHg&U7+HKR%RPinVg#DSTTIxj9kVlnXkg~y?j0R9 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