Software Open Access
2018.1 release of the CppTransport platform for computation of correlation functions generated during an inflationary epoch in the early universe.
2018.1 includes major new features:
double
, long double
or multiprecision types such as MPFR, either directly or via a Boost.Multiprecision wrapperIn addition, the database schema for integration data containers has been adjusted slightly. If you encounter the error
SQLite error: no such column: cpu_brand
(normally issued when generating an HTML report) then your repository requires upgrading to the new format. To do so, use the --upgrade
flag. Upgrading need be performed only once and leaves the repository backwards-compatible with older versions of CppTransport. While it is possible to use old-format databases with CppTransport 2018.1 if you are not using HTML reports, we recommend that you upgrade all databases.
Platform improvements – translator
abs(x)
now work as expectedlagrangian
option allows selection of canonical of nontrivial-metric models. New metric
keyword allows specification of the metric in a similar way to the potentialrequire_version
construct (as part of a new top-level metadata
block) to enforce a minimum CppTransport version when processing .model
files$IF
or $SET
). These must now appear on a single line by themselves to avoid ambiguity when unrolling indices, and their indices are validated more carefully$MOMENTA
replacement rule allows access to the momentum vector. Previously, only $FIELDS
and $COORDINATES
were available, giving access to the field vector or the full phase-space coordinate vector, respectively--Wreposition
can be used to identify when on-the-fly repositioning occurs, possibly signalling that the computation can be speeded up by caching the result as a new resource--Wdevelop
provides developer warnings to assist in constructing templates, but allows these warnings to be suppressed in production use. These warnings include unroll-policy violations, enabling easy identification of functions where insufficient resources are available for roll-up to occur--profile
switch. Profiling data is now reported from the lambda managertransport-objects
code removedPlatform improvements – runtime
--report-interval
and --report-percentage
command-line switches. Report intervals can now be specified in seconds, minutes, hours or days rather than just minutes--report-email
to specify one or more email addresses, and --report-when
to specify when reports should be issued). Dispatch is done using a separate CppTransport-sendmail
script. New CMake variables EMAIL_SMTP_SERVER
, EMAIL_FROM
and EMAIL_PASSWORD
can be specified at build configuration time to set up the script automatically, or a suitable script can be provided separatelystd::nan
and std::inf
by defining CPPTRANSPORT_STRICT_FP_TEST
. If detected, the integration is flagged as failed--reject-failed
--upgrade
switch. Upgrading need be done only once and leaves the repository backwards-compatible with older versions of CppTransportBug fixes – translator
M
was previously computed incorrectly. At some point, the formula for M
was replaced by the formula for the scale-matrix (confusingly also called M
) defined in Eq. (3.2b) of arXiv:1210.7800 (b5d7674c)cpp_cse
implementation simply printed these using GiNaC's own C++ formatting. As a result, required variables might not be deposited to the temporary pool (f7d8a28c)Bug fixes – runtime
--include
command-line switch to specify include path was unintentionally ignored in configuration files (a4aebd1b)M_P
was not available in code to compute the potential derivatives, leading to compilation errors in models that required it (0375f4b2)u3
derived product was computed using an incorrect momentum configuration (74138ca7)SPECIES
and FLATTEN
were declared in the global transport
namespace, leading to symbol collisions and compilation errors on any attempt to use two or more models simultaneously. These symbols should be declared in a model-local namespace and imported as needed (ec4162bb)which
to locate the Python, dot
, and CppTransport-sendmail
executables. This causes a fork which can cause trouble if CppTransport is being used under OpenMPI (1f82131b)
Name | Size | |
---|---|---|
CppTransport_2018_01.tar.gz
md5:266f7be19cac91691392606355652ace |
1.2 MB | Download |
All versions | This version | |
---|---|---|
Views | 85 | 85 |
Downloads | 29 | 29 |
Data volume | 35.5 MB | 35.5 MB |
Unique views | 81 | 81 |
Unique downloads | 29 | 29 |