Loading...
Searching...
No Matches
eonc::Parameters Class Reference

#include <Parameters.h>

Classes

struct  Impl

Public Types

using constants_t = eonc::constants_t
using main_options_t = eonc::main_options_t
using potential_options_t = eonc::potential_options_t
using ams_options_t = eonc::ams_options_t
using xtb_options_t = eonc::xtb_options_t
using zbl_options_t = eonc::zbl_options_t
using dftd_options_t = eonc::dftd_options_t
using expr_options_t = eonc::expr_options_t
using mopac_options_t = eonc::mopac_options_t
using socket_nwchem_options_t = eonc::socket_nwchem_options_t
using rgpot_options_t = eonc::rgpot_options_t
using structure_comparison_options_t = eonc::structure_comparison_options_t
using process_search_options_t = eonc::process_search_options_t
using saddle_search_options_t = eonc::saddle_search_options_t
using optimizer_options_t = eonc::optimizer_options_t
using dimer_options_t = eonc::dimer_options_t
using gpr_dimer_options_t = eonc::gpr_dimer_options_t
using gp_surrogate_options_t = eonc::gp_surrogate_options_t
using catlearn_options_t = eonc::catlearn_options_t
using ase_orca_options_t = eonc::ase_orca_options_t
using ase_nwchem_options_t = eonc::ase_nwchem_options_t
using metatomic_options_t = eonc::metatomic_options_t
using lanczos_options_t = eonc::lanczos_options_t
using davidson_options_t = eonc::davidson_options_t
using prefactor_options_t = eonc::prefactor_options_t
using hessian_options_t = eonc::hessian_options_t
using neb_options_t = eonc::neb_options_t
using dynamics_options_t = eonc::dynamics_options_t
using parallel_replica_options_t = eonc::parallel_replica_options_t
using tad_options_t = eonc::tad_options_t
using thermostat_options_t = eonc::thermostat_options_t
using replica_exchange_options_t = eonc::replica_exchange_options_t
using hyperdynamics_options_t = eonc::hyperdynamics_options_t
using basin_hopping_options_t = eonc::basin_hopping_options_t
using global_optimization_options_t = eonc::global_optimization_options_t
using monte_carlo_options_t = eonc::monte_carlo_options_t
using bgsd_options_t = eonc::bgsd_options_t
using serve_options_t = eonc::serve_options_t
using artn_options_t = eonc::artn_options_t
using ira_options_t = eonc::ira_options_t
using debug_options_t = eonc::debug_options_t
using oh_tst_options_t = eonc::oh_tst_options_t
using instanton_options_t = eonc::instanton_options_t

Public Member Functions

 Parameters ()
 ~Parameters ()
 Parameters (const Parameters &)
 Parameters (Parameters &&) noexcept
Parameters & operator= (const Parameters &)
Parameters & operator= (Parameters &&) noexcept
int load (std::string_view filename)
int load (FILE *file)
int load_ini_text (std::string_view ini_text)
int load_json (std::string_view json_str)
std::string to_json () const
std::string_view last_load_source () const
 Last load source recorded by load / load_ini_text / load_json.
int last_load_error () const
 Last load return code (0 ok). Zero before the first load.
void set_mpi_client_comm (std::uintptr_t raw)
std::uintptr_t mpi_client_comm () const
void set_mpi_potential_rank (int rank)
const constants_t & constants () const
const main_options_t & main_options () const
const potential_options_t & potential_options () const
const ams_options_t & ams_options () const
const xtb_options_t & xtb_options () const
const zbl_options_t & zbl_options () const
const dftd_options_t & dftd_options () const
const expr_options_t & expr_options () const
const mopac_options_t & mopac_options () const
const socket_nwchem_options_t & socket_nwchem_options () const
const rgpot_options_t & rgpot_options () const
const structure_comparison_options_t & structure_comparison_options () const
const process_search_options_t & process_search_options () const
const saddle_search_options_t & saddle_search_options () const
const optimizer_options_t & optimizer_options () const
const dimer_options_t & dimer_options () const
const gpr_dimer_options_t & gpr_dimer_options () const
const gp_surrogate_options_t & gp_surrogate_options () const
const catlearn_options_t & catlearn_options () const
const ase_orca_options_t & ase_orca_options () const
const ase_nwchem_options_t & ase_nwchem_options () const
const metatomic_options_t & metatomic_options () const
const lanczos_options_t & lanczos_options () const
const davidson_options_t & davidson_options () const
const prefactor_options_t & prefactor_options () const
const hessian_options_t & hessian_options () const
const neb_options_t & neb_options () const
const dynamics_options_t & dynamics_options () const
const parallel_replica_options_t & parallel_replica_options () const
const tad_options_t & tad_options () const
const thermostat_options_t & thermostat_options () const
const replica_exchange_options_t & replica_exchange_options () const
const hyperdynamics_options_t & hyperdynamics_options () const
const basin_hopping_options_t & basin_hopping_options () const
const global_optimization_options_t & global_optimization_options () const
const monte_carlo_options_t & monte_carlo_options () const
const bgsd_options_t & bgsd_options () const
const serve_options_t & serve_options () const
const artn_options_t & artn_options () const
const ira_options_t & ira_options () const
const debug_options_t & debug_options () const
const oh_tst_options_t & oh_tst_options () const
const instanton_options_t & instanton_options () const

Private Member Functions

Impl & ensure_impl ()
void record_load (std::string_view source, int error)

Private Attributes

std::unique_ptr< Impl > impl_

Friends

struct ParametersLoadAccess
int config::load_ini (::INIReader &, Parameters &)
void config::apply_ssot_defaults (Parameters &)
void config::validate_and_link (Parameters &)

Detailed Description

Definition at line 35 of file Parameters.h.

Member Typedef Documentation

◆ ams_options_t

◆ artn_options_t

◆ ase_nwchem_options_t

◆ ase_orca_options_t

◆ basin_hopping_options_t

◆ bgsd_options_t

◆ catlearn_options_t

◆ constants_t

Definition at line 56 of file Parameters.h.

◆ davidson_options_t

◆ debug_options_t

◆ dftd_options_t

◆ dimer_options_t

◆ dynamics_options_t

◆ expr_options_t

◆ global_optimization_options_t

◆ gp_surrogate_options_t

◆ gpr_dimer_options_t

◆ hessian_options_t

◆ hyperdynamics_options_t

◆ instanton_options_t

◆ ira_options_t

◆ lanczos_options_t

◆ main_options_t

◆ metatomic_options_t

◆ monte_carlo_options_t

◆ mopac_options_t

◆ neb_options_t

◆ oh_tst_options_t

◆ optimizer_options_t

◆ parallel_replica_options_t

◆ potential_options_t

◆ prefactor_options_t

◆ process_search_options_t

◆ replica_exchange_options_t

◆ rgpot_options_t

◆ saddle_search_options_t

◆ serve_options_t

◆ socket_nwchem_options_t

◆ structure_comparison_options_t

◆ tad_options_t

◆ thermostat_options_t

◆ xtb_options_t

◆ zbl_options_t

Constructor & Destructor Documentation

◆ Parameters() [1/3]

eonc::Parameters::Parameters ( )

Definition at line 49 of file Parameters.cpp.

50 : impl_(std::make_unique<Impl>()) {
51 // Covered groups: defaults originate from schema/eon_params.capnp via
52 // apply_ssot_defaults (codegen). Uncovered groups still use NSDMI.
54 // Resolve computed fields via validate_and_link.
56}
std::unique_ptr< Impl > impl_
Definition Parameters.h:157
void apply_ssot_defaults(Parameters &p)
Apply SSoT defaults for covered groups (Main, Potential, Optimizer, Structure Comparison,...
void validate_and_link(Parameters &params)
Resolve cross-group defaults and time unit conversions.

◆ ~Parameters()

eonc::Parameters::~Parameters ( )
default

◆ Parameters() [2/3]

eonc::Parameters::Parameters ( const Parameters & other)

Definition at line 31 of file ParametersAccess.cpp.

32 : impl_(std::make_unique<Impl>(other.impl_ ? *other.impl_ : Impl{})) {}

◆ Parameters() [3/3]

eonc::Parameters::Parameters ( Parameters && )
defaultnoexcept

Member Function Documentation

◆ ams_options()

const Parameters::ams_options_t & eonc::Parameters::ams_options ( ) const

Definition at line 83 of file ParametersAccess.cpp.

83 {
84 return impl_->ams_options_;
85}

◆ artn_options()

const Parameters::artn_options_t & eonc::Parameters::artn_options ( ) const

Definition at line 234 of file ParametersAccess.cpp.

234 {
235 return impl_->artn_options_;
236}

◆ ase_nwchem_options()

const Parameters::ase_nwchem_options_t & eonc::Parameters::ase_nwchem_options ( ) const

Definition at line 156 of file ParametersAccess.cpp.

156 {
157 return impl_->ase_nwchem_options_;
158}

◆ ase_orca_options()

const Parameters::ase_orca_options_t & eonc::Parameters::ase_orca_options ( ) const

Definition at line 152 of file ParametersAccess.cpp.

152 {
153 return impl_->ase_orca_options_;
154}

◆ basin_hopping_options()

const Parameters::basin_hopping_options_t & eonc::Parameters::basin_hopping_options ( ) const

Definition at line 212 of file ParametersAccess.cpp.

212 {
213 return impl_->basin_hopping_options_;
214}

◆ bgsd_options()

const Parameters::bgsd_options_t & eonc::Parameters::bgsd_options ( ) const

Definition at line 226 of file ParametersAccess.cpp.

226 {
227 return impl_->bgsd_options_;
228}

◆ catlearn_options()

const Parameters::catlearn_options_t & eonc::Parameters::catlearn_options ( ) const

Definition at line 148 of file ParametersAccess.cpp.

148 {
149 return impl_->catlearn_options_;
150}

◆ constants()

const Parameters::constants_t & eonc::Parameters::constants ( ) const

Definition at line 71 of file ParametersAccess.cpp.

71 {
72 return impl_->constants_;
73}

◆ davidson_options()

const Parameters::davidson_options_t & eonc::Parameters::davidson_options ( ) const

Definition at line 168 of file ParametersAccess.cpp.

168 {
169 return impl_->davidson_options_;
170}

◆ debug_options()

const Parameters::debug_options_t & eonc::Parameters::debug_options ( ) const

Definition at line 242 of file ParametersAccess.cpp.

242 {
243 return impl_->debug_options_;
244}

◆ dftd_options()

const Parameters::dftd_options_t & eonc::Parameters::dftd_options ( ) const

Definition at line 95 of file ParametersAccess.cpp.

95 {
96 return impl_->dftd_options_;
97}

◆ dimer_options()

const Parameters::dimer_options_t & eonc::Parameters::dimer_options ( ) const

Definition at line 135 of file ParametersAccess.cpp.

135 {
136 return impl_->dimer_options_;
137}

◆ dynamics_options()

const Parameters::dynamics_options_t & eonc::Parameters::dynamics_options ( ) const

Definition at line 184 of file ParametersAccess.cpp.

184 {
185 return impl_->dynamics_options_;
186}

◆ ensure_impl()

Parameters::Impl & eonc::Parameters::ensure_impl ( )
private

Definition at line 64 of file ParametersAccess.cpp.

64 {
65 if (!impl_) {
66 impl_ = std::make_unique<Impl>();
67 }
68 return *impl_;
69}

◆ expr_options()

const Parameters::expr_options_t & eonc::Parameters::expr_options ( ) const

Definition at line 99 of file ParametersAccess.cpp.

99 {
100 return impl_->expr_options_;
101}

◆ global_optimization_options()

const Parameters::global_optimization_options_t & eonc::Parameters::global_optimization_options ( ) const

Definition at line 217 of file ParametersAccess.cpp.

217 {
218 return impl_->global_optimization_options_;
219}

◆ gp_surrogate_options()

const Parameters::gp_surrogate_options_t & eonc::Parameters::gp_surrogate_options ( ) const

Definition at line 144 of file ParametersAccess.cpp.

144 {
145 return impl_->gp_surrogate_options_;
146}

◆ gpr_dimer_options()

const Parameters::gpr_dimer_options_t & eonc::Parameters::gpr_dimer_options ( ) const

Definition at line 139 of file ParametersAccess.cpp.

139 {
140 return impl_->gpr_dimer_options_;
141}

◆ hessian_options()

const Parameters::hessian_options_t & eonc::Parameters::hessian_options ( ) const

Definition at line 176 of file ParametersAccess.cpp.

176 {
177 return impl_->hessian_options_;
178}

◆ hyperdynamics_options()

const Parameters::hyperdynamics_options_t & eonc::Parameters::hyperdynamics_options ( ) const

Definition at line 207 of file ParametersAccess.cpp.

207 {
208 return impl_->hyperdynamics_options_;
209}

◆ instanton_options()

const Parameters::instanton_options_t & eonc::Parameters::instanton_options ( ) const

Definition at line 250 of file ParametersAccess.cpp.

250 {
251 return impl_->instanton_options_;
252}

◆ ira_options()

const Parameters::ira_options_t & eonc::Parameters::ira_options ( ) const

Definition at line 238 of file ParametersAccess.cpp.

238 {
239 return impl_->ira_options_;
240}

◆ lanczos_options()

const Parameters::lanczos_options_t & eonc::Parameters::lanczos_options ( ) const

Definition at line 164 of file ParametersAccess.cpp.

164 {
165 return impl_->lanczos_options_;
166}

◆ last_load_error()

int eonc::Parameters::last_load_error ( ) const
nodiscard

Last load return code (0 ok). Zero before the first load.

Definition at line 54 of file ParametersAccess.cpp.

54 {
55 return impl_ ? impl_->last_error : 0;
56}

◆ last_load_source()

std::string_view eonc::Parameters::last_load_source ( ) const
nodiscard

Last load source recorded by load / load_ini_text / load_json.

Empty before the first load. Moved-from objects return empty.

Definition at line 50 of file ParametersAccess.cpp.

50 {
51 return impl_ ? std::string_view{impl_->last_source} : std::string_view{};
52}

◆ load() [1/2]

int eonc::Parameters::load ( FILE * file)

Definition at line 119 of file Parameters.cpp.

119 {
120 constexpr std::string_view kFileSource{"<FILE*>"};
121 if (!file) {
122 EONC_LOG_ERROR("Can't load INI from a null FILE*");
123 record_load(kFileSource, 1);
124 return 1;
125 }
126 if (fseek(file, 0, SEEK_END) != 0) {
127 EONC_LOG_ERROR("Can't seek INI FILE*");
128 record_load(kFileSource, 1);
129 return 1;
130 }
131 const long size = ftell(file);
132 if (size < 0) {
133 EONC_LOG_ERROR("Can't tell INI FILE* size");
134 record_load(kFileSource, 1);
135 return 1;
136 }
137 if (fseek(file, 0, SEEK_SET) != 0) {
138 EONC_LOG_ERROR("Can't rewind INI FILE*");
139 record_load(kFileSource, 1);
140 return 1;
141 }
142
143 std::string buffer(static_cast<size_t>(size), '\0');
144 if (fread(buffer.data(), 1, static_cast<size_t>(size), file) !=
145 static_cast<size_t>(size)) {
146 EONC_LOG_ERROR("Couldn't read the ini file from FILE*");
147 record_load(kFileSource, 1);
148 return 1;
149 }
150
151 INIReader ini(buffer.c_str(), buffer.size());
152 if (ini.ParseError() != 0) {
153 EONC_LOG_ERROR("Couldn't parse the ini file from FILE*");
154 record_load(kFileSource, 1);
155 return 1;
156 }
157
158 int error = eonc::config::load_ini(ini, *this);
159 // Same validation as the filename overload
160 // (duplicated intentionally for now; will be extracted to validate())
161 if (impl_->parallel_replica_options_.state_check_interval >
162 impl_->dynamics_options_.time &&
163 magic_enum::enum_name<JobType>(impl_->main_options_.job) ==
164 "parallel_replica") {
165 EONC_LOG_ERROR("[Parallel Replica] state_check_interval must be <= time");
166 error = 1;
167 }
168 if (impl_->saddle_search_options_.dynamics.record_interval_input >
169 impl_->saddle_search_options_.dynamics.state_check_interval_input) {
170 EONC_LOG_ERROR("[Saddle Search] dynamics_record_interval must be <= "
171 "dynamics_state_check_interval");
172 error = 1;
173 }
174 record_load(kFileSource, error);
175 return error;
176}
#define EONC_LOG_ERROR(...)
Definition EonLogger.h:261
void record_load(std::string_view source, int error)
int load_ini(INIReader &ini, Parameters &params)
Parse all INI sections into the Parameters struct.
std::string error()
Definition DynLib.h:82

◆ load() [2/2]

int eonc::Parameters::load ( std::string_view filename)

Definition at line 58 of file Parameters.cpp.

58 {
59 INIReader ini{std::string(filename)};
60 if (ini.ParseError() != 0) {
61 EONC_LOG_ERROR("Can't load INI file: {}", filename);
62 record_load(filename, 1);
63 return 1;
64 }
65
66 int error = eonc::config::load_ini(ini, *this);
67
68 // Sanity Checks
69 if (impl_->parallel_replica_options_.state_check_interval >
70 impl_->dynamics_options_.time &&
71 magic_enum::enum_name<JobType>(impl_->main_options_.job) ==
72 "parallel_replica") {
73 EONC_LOG_ERROR("[Parallel Replica] state_check_interval must be <= time");
74 error = 1;
75 }
76
77 if (!impl_->neb_options_.initialization.input_path.empty() &&
78 impl_->neb_options_.initialization.method == NEBInit::LINEAR) {
80 "[Nudged Elastic Band] 'initial_path_in' is provided, but "
81 "'initializer' defaults to linear. "
82 "Ensure this is intentional, as the loaded path will not be "
83 "used without initializer set to file.");
84 }
85
86 if (impl_->saddle_search_options_.dynamics.record_interval_input >
87 impl_->saddle_search_options_.dynamics.state_check_interval_input) {
88 EONC_LOG_ERROR("[Saddle Search] dynamics_record_interval must be <= "
89 "dynamics_state_check_interval");
90 error = 1;
91 }
92
93 if (impl_->potential_options_.potential == PotType::AMS ||
94 impl_->potential_options_.potential == PotType::AMS_IO) {
95 // generate_run allows DFTB with resources and FORCEFIELD alone.
96 const bool dftb_with_resources =
97 ams_engine_name_is(impl_->ams_options_.engine, "DFTB") &&
98 !impl_->ams_options_.resources.empty();
99 const bool forcefield_engine =
100 ams_engine_name_is(impl_->ams_options_.engine, "FORCEFIELD");
101 if (impl_->ams_options_.forcefield.empty() &&
102 impl_->ams_options_.model.empty() && impl_->ams_options_.xc.empty() &&
103 !dftb_with_resources && !forcefield_engine) {
104 EONC_LOG_ERROR("[AMS] Must provide atleast forcefield or model or xc");
105 error = 1;
106 }
107
108 if (!impl_->ams_options_.forcefield.empty() &&
109 !impl_->ams_options_.model.empty() && !impl_->ams_options_.xc.empty()) {
110 EONC_LOG_ERROR("[AMS] Must provide either forcefield or model");
111 error = 1;
112 }
113 }
114
115 record_load(filename, error);
116 return error;
117}
#define EONC_LOG_WARNING(...)
Definition EonLogger.h:255

◆ load_ini_text()

int eonc::Parameters::load_ini_text ( std::string_view ini_text)

Definition at line 178 of file Parameters.cpp.

178 {
179 constexpr std::string_view kIniSource{"<ini>"};
180 INIReader ini(ini_text.data(), ini_text.size());
181 if (ini.ParseError() != 0) {
182 EONC_LOG_ERROR("Couldn't parse INI from memory");
183 record_load(kIniSource, 1);
184 return 1;
185 }
186 const int error = eonc::config::load_ini(ini, *this);
187 record_load(kIniSource, error);
188 return error;
189}

◆ load_json()

int eonc::Parameters::load_json ( std::string_view json_str)

Definition at line 191 of file Parameters.cpp.

191 {
192 constexpr std::string_view kJsonSource{"<json>"};
193 const int error = eonc::config::load_json(json_str, *this);
194 record_load(kJsonSource, error);
195 return error;
196}
int load_json(std::string_view json_str, Parameters &params)
Load Parameters from a JSON string. Returns 0 on success.

◆ main_options()

const Parameters::main_options_t & eonc::Parameters::main_options ( ) const

Definition at line 75 of file ParametersAccess.cpp.

75 {
76 return impl_->main_options_;
77}

◆ metatomic_options()

const Parameters::metatomic_options_t & eonc::Parameters::metatomic_options ( ) const

Definition at line 160 of file ParametersAccess.cpp.

160 {
161 return impl_->metatomic_options_;
162}

◆ monte_carlo_options()

const Parameters::monte_carlo_options_t & eonc::Parameters::monte_carlo_options ( ) const

Definition at line 222 of file ParametersAccess.cpp.

222 {
223 return impl_->monte_carlo_options_;
224}

◆ mopac_options()

const Parameters::mopac_options_t & eonc::Parameters::mopac_options ( ) const

Definition at line 103 of file ParametersAccess.cpp.

103 {
104 return impl_->mopac_options_;
105}

◆ mpi_client_comm()

std::uintptr_t eonc::Parameters::mpi_client_comm ( ) const
nodiscard

Definition at line 258 of file ParametersAccess.cpp.

258 {
259 return impl_->potential_options_.MPIClientComm;
260}

◆ neb_options()

const Parameters::neb_options_t & eonc::Parameters::neb_options ( ) const

Definition at line 180 of file ParametersAccess.cpp.

180 {
181 return impl_->neb_options_;
182}

◆ oh_tst_options()

const Parameters::oh_tst_options_t & eonc::Parameters::oh_tst_options ( ) const

Definition at line 246 of file ParametersAccess.cpp.

246 {
247 return impl_->oh_tst_options_;
248}

◆ operator=() [1/2]

Parameters & eonc::Parameters::operator= ( const Parameters & other)

Definition at line 36 of file ParametersAccess.cpp.

36 {
37 if (this == &other) {
38 return *this;
39 }
40 if (!other.impl_) {
41 impl_.reset();
42 } else if (impl_) {
43 *impl_ = *other.impl_;
44 } else {
45 impl_ = std::make_unique<Impl>(*other.impl_);
46 }
47 return *this;
48}

◆ operator=() [2/2]

Parameters & eonc::Parameters::operator= ( Parameters && )
defaultnoexcept

◆ optimizer_options()

const Parameters::optimizer_options_t & eonc::Parameters::optimizer_options ( ) const

Definition at line 131 of file ParametersAccess.cpp.

131 {
132 return impl_->optimizer_options_;
133}

◆ parallel_replica_options()

const Parameters::parallel_replica_options_t & eonc::Parameters::parallel_replica_options ( ) const

Definition at line 189 of file ParametersAccess.cpp.

189 {
190 return impl_->parallel_replica_options_;
191}

◆ potential_options()

const Parameters::potential_options_t & eonc::Parameters::potential_options ( ) const

Definition at line 79 of file ParametersAccess.cpp.

79 {
80 return impl_->potential_options_;
81}

◆ prefactor_options()

const Parameters::prefactor_options_t & eonc::Parameters::prefactor_options ( ) const

Definition at line 172 of file ParametersAccess.cpp.

172 {
173 return impl_->prefactor_options_;
174}

◆ process_search_options()

const Parameters::process_search_options_t & eonc::Parameters::process_search_options ( ) const

Definition at line 122 of file ParametersAccess.cpp.

122 {
123 return impl_->process_search_options_;
124}

◆ record_load()

void eonc::Parameters::record_load ( std::string_view source,
int error )
private

Definition at line 58 of file ParametersAccess.cpp.

58 {
59 Impl &impl = ensure_impl();
60 impl.last_source.assign(source);
61 impl.last_error = error;
62}

◆ replica_exchange_options()

const Parameters::replica_exchange_options_t & eonc::Parameters::replica_exchange_options ( ) const

Definition at line 202 of file ParametersAccess.cpp.

202 {
203 return impl_->replica_exchange_options_;
204}

◆ rgpot_options()

const Parameters::rgpot_options_t & eonc::Parameters::rgpot_options ( ) const

Definition at line 112 of file ParametersAccess.cpp.

112 {
113 return impl_->rgpot_options_;
114}

◆ saddle_search_options()

const Parameters::saddle_search_options_t & eonc::Parameters::saddle_search_options ( ) const

Definition at line 127 of file ParametersAccess.cpp.

127 {
128 return impl_->saddle_search_options_;
129}

◆ serve_options()

const Parameters::serve_options_t & eonc::Parameters::serve_options ( ) const

Definition at line 230 of file ParametersAccess.cpp.

230 {
231 return impl_->serve_options_;
232}

◆ set_mpi_client_comm()

void eonc::Parameters::set_mpi_client_comm ( std::uintptr_t raw)

Definition at line 254 of file ParametersAccess.cpp.

254 {
256}
potential_options_t potential_options_
std::uintptr_t MPIClientComm
Opaque MPI_Comm bits. Read/write with ParametersMpi.h in MPI TUs.

◆ set_mpi_potential_rank()

void eonc::Parameters::set_mpi_potential_rank ( int rank)

Definition at line 262 of file ParametersAccess.cpp.

◆ socket_nwchem_options()

const Parameters::socket_nwchem_options_t & eonc::Parameters::socket_nwchem_options ( ) const

Definition at line 108 of file ParametersAccess.cpp.

108 {
109 return impl_->socket_nwchem_options_;
110}

◆ structure_comparison_options()

const Parameters::structure_comparison_options_t & eonc::Parameters::structure_comparison_options ( ) const

Definition at line 117 of file ParametersAccess.cpp.

117 {
118 return impl_->structure_comparison_options_;
119}

◆ tad_options()

const Parameters::tad_options_t & eonc::Parameters::tad_options ( ) const

Definition at line 193 of file ParametersAccess.cpp.

193 {
194 return impl_->tad_options_;
195}

◆ thermostat_options()

const Parameters::thermostat_options_t & eonc::Parameters::thermostat_options ( ) const

Definition at line 197 of file ParametersAccess.cpp.

197 {
198 return impl_->thermostat_options_;
199}

◆ to_json()

std::string eonc::Parameters::to_json ( ) const

Definition at line 198 of file Parameters.cpp.

198 {
199 return eonc::config::to_json(*this).dump(2);
200}
json to_json(const Parameters &p)
Serialize all Parameters to JSON.

◆ xtb_options()

const Parameters::xtb_options_t & eonc::Parameters::xtb_options ( ) const

Definition at line 87 of file ParametersAccess.cpp.

87 {
88 return impl_->xtb_options_;
89}

◆ zbl_options()

const Parameters::zbl_options_t & eonc::Parameters::zbl_options ( ) const

Definition at line 91 of file ParametersAccess.cpp.

91 {
92 return impl_->zbl_options_;
93}

◆ config::apply_ssot_defaults

◆ config::load_ini

int config::load_ini ( ::INIReader & ,
Parameters &  )
friend

◆ config::validate_and_link

◆ ParametersLoadAccess

friend struct ParametersLoadAccess
friend

Definition at line 151 of file Parameters.h.

Member Data Documentation

◆ impl_

std::unique_ptr<Impl> eonc::Parameters::impl_
private

Definition at line 157 of file Parameters.h.


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