CDT++ 1.0.0
Causal Dynamical Triangulations in C++
Loading...
Searching...
No Matches
cdt::runtime_config::Triangulation Class Reference

#include <Runtime_config.hpp>

Collaboration diagram for cdt::runtime_config::Triangulation:

Public Member Functions

 Triangulation (Triangulation &&other) noexcept=default
 Triangulation (Triangulation const &other)=default
auto dimensions () const noexcept -> Int_precision
auto foliation_spacing () const noexcept -> double
auto initial_radius () const noexcept -> double
auto operator= (Triangulation &&other) noexcept -> Triangulation &=default
auto operator= (Triangulation const &other) -> Triangulation &=default
auto seed () const noexcept -> cdt::RandomSeed
auto simplices () const noexcept -> Int_precision
auto threads () const noexcept -> std::size_t
auto timeslices () const noexcept -> Int_precision
auto topology () const noexcept -> Topology

Friends

auto make_triangulation (bool spherical, bool toroidal, long long simplices, long long timeslices, long long dimensions, double initial_radius, double foliation_spacing, cdt::RandomSeed seed=cdt::RandomSeed{}, long long threads=1) -> Triangulation
 Validate raw triangulation options and narrow them into project types.

Detailed Description

Parameters shared by triangulation-producing command-line programs.

Instances can only be created by make_triangulation(), so the stored values carry the complete validated boundary contract.

Definition at line 28 of file Runtime_config.hpp.

Constructor & Destructor Documentation

◆ Triangulation() [1/2]

cdt::runtime_config::Triangulation::Triangulation ( Triangulation const & other)
default
Parameters
otherValidated configuration to copy.

◆ Triangulation() [2/2]

cdt::runtime_config::Triangulation::Triangulation ( Triangulation && other)
defaultnoexcept
Parameters
otherValidated configuration to move.

Member Function Documentation

◆ dimensions()

auto cdt::runtime_config::Triangulation::dimensions ( ) const -> Int_precision
inlinenodiscardnoexcept
Returns
Validated dimensionality, currently always three.

Definition at line 87 of file Runtime_config.hpp.

Referenced by make_triangulation.

◆ foliation_spacing()

auto cdt::runtime_config::Triangulation::foliation_spacing ( ) const -> double
inlinenodiscardnoexcept
Returns
Positive finite spacing between successive timeslices.

Definition at line 95 of file Runtime_config.hpp.

Referenced by make_triangulation.

◆ initial_radius()

auto cdt::runtime_config::Triangulation::initial_radius ( ) const -> double
inlinenodiscardnoexcept
Returns
Positive finite radius of the initial timeslice.

Definition at line 91 of file Runtime_config.hpp.

Referenced by make_triangulation.

◆ operator=() [1/2]

auto cdt::runtime_config::Triangulation::operator= ( Triangulation && other) -> Triangulation &=default
defaultnoexcept
Parameters
otherValidated configuration to move.
Returns
This configuration after assignment.

◆ operator=() [2/2]

auto cdt::runtime_config::Triangulation::operator= ( Triangulation const & other) -> Triangulation &=default
default
Parameters
otherValidated configuration to copy.
Returns
This configuration after assignment.

◆ seed()

auto cdt::runtime_config::Triangulation::seed ( ) const -> cdt::RandomSeed
inlinenodiscardnoexcept
Returns
Root random seed retained for reproducibility.

Definition at line 99 of file Runtime_config.hpp.

Referenced by make_triangulation.

◆ simplices()

auto cdt::runtime_config::Triangulation::simplices ( ) const -> Int_precision
inlinenodiscardnoexcept
Returns
Requested target number of simplices.

Definition at line 79 of file Runtime_config.hpp.

Referenced by make_triangulation.

◆ threads()

auto cdt::runtime_config::Triangulation::threads ( ) const -> std::size_t
inlinenodiscardnoexcept
Returns
The maximum oneTBB concurrency for eligible Delaunay work.

Definition at line 103 of file Runtime_config.hpp.

◆ timeslices()

auto cdt::runtime_config::Triangulation::timeslices ( ) const -> Int_precision
inlinenodiscardnoexcept
Returns
Requested number of timeslices.

Definition at line 83 of file Runtime_config.hpp.

Referenced by make_triangulation.

◆ topology()

auto cdt::runtime_config::Triangulation::topology ( ) const -> Topology
inlinenodiscardnoexcept
Returns
Validated spatial-topology label.

Definition at line 75 of file Runtime_config.hpp.

◆ make_triangulation

auto make_triangulation ( bool spherical,
bool toroidal,
long long simplices,
long long timeslices,
long long dimensions,
double initial_radius,
double foliation_spacing,
cdt::RandomSeed seed = cdt::RandomSeed{},
long long threads = 1 ) -> Triangulation
friend

Validate raw triangulation options and narrow them into project types.

Parameters
sphericalWhether spherical topology was selected.
toroidalWhether toroidal topology was selected; currently rejected.
simplicesRequested target number of simplices; must be at least two.
timeslicesRequested number of timeslices; must be at least two.
dimensionsRequested dimensionality; must equal three.
initial_radiusPositive finite radius of the first timeslice.
foliation_spacingPositive finite spacing between timeslices.
seedRoot random seed to retain.
threadsPositive maximum concurrency; serial builds require one.
Returns
A configuration containing only validated domain values.
Exceptions
std::invalid_argumentfor conflicting/unsupported topology, invalid dimensions or counts, non-finite/non-positive geometry, or an unsupported serial-build thread count.
std::out_of_rangewhen a count exceeds a project type or generated population bound.

Definition at line 303 of file Runtime_config.hpp.

References dimensions(), foliation_spacing(), initial_radius(), make_triangulation, seed(), simplices(), and timeslices().

Referenced by make_triangulation.


The documentation for this class was generated from the following file: