1 #ifndef feellgoodSettings_h
2 #define feellgoodSettings_h
15 #include <yaml-cpp/yaml.h>
17 #include "expression_parser.h"
20 #include "time_integration.h"
96 void read(YAML::Node);
99 bool read(std::string filename);
212 std::vector<Tetra::prm>::const_iterator result =
214 [name](
Tetra::prm const &p) { return (p.regName == name); });
223 idx = std::distance(
paramTetra.begin(), result);
249 std::vector<Facette::prm>::const_iterator result =
251 [name](
Facette::prm const &p) { return (p.regName == name); });
290 const std::vector<std::string> ®ions)
const
301 inline Eigen::Vector3d
getField(
const double t_val)
const
316 inline Eigen::Vector3d
getFieldSpace(
const Eigen::Ref<Eigen::Vector3d> p)
const
Definition: expression_parser.h:22
double get_scalar(double arg) const
Definition: expression_parser.cpp:81
Eigen::Vector3d get_vector(double arg) const
Definition: expression_parser.cpp:117
int parameter_count() const
Definition: expression_parser.h:47
Container for all the settings provided by the user, with conversions to/from YAML.
Definition: feellgoodSettings.h:73
std::string getFileDisplayName(void) const
Definition: feellgoodSettings.h:105
std::string pbName
Definition: feellgoodSettings.h:334
void setFileDisplayName(std::string _s)
Definition: feellgoodSettings.h:108
std::string sB_space
Definition: feellgoodSettings.h:186
void toYaml(void)
Definition: feellgoodSettings.cpp:144
std::string r_path_output_dir
Definition: feellgoodSettings.h:232
double DUMAX
Definition: feellgoodSettings.h:198
void read(YAML::Node)
Definition: feellgoodSettings.cpp:307
int verbose
Definition: feellgoodSettings.h:135
bool spin_acc
Definition: feellgoodSettings.h:159
int getPrecision(void) const
Definition: feellgoodSettings.h:102
std::string sB_time
Definition: feellgoodSettings.h:189
void setScale(const double s)
Definition: feellgoodSettings.h:123
void setSimName(std::string str)
Definition: feellgoodSettings.h:117
const bool NORMALIZE
Definition: feellgoodSettings.h:357
Nodes::index recentering_direction
Definition: feellgoodSettings.h:147
int MAXITER
Definition: feellgoodSettings.h:204
bool V_file
Definition: feellgoodSettings.h:156
std::vector< MetadataItem > userMetadata
Definition: feellgoodSettings.h:329
std::pair< std::string, std::string > MetadataItem
Definition: feellgoodSettings.h:327
std::string evolMetadata() const
Definition: feellgoodSettings.cpp:284
std::string sMz
Definition: feellgoodSettings.h:168
field_exprType getFieldType(void) const
Definition: feellgoodSettings.h:309
ExpressionParser field_time_parser
Definition: feellgoodSettings.h:348
ExpressionParser field_parser
Definition: feellgoodSettings.h:344
std::vector< Facette::prm > paramFacette
Definition: feellgoodSettings.h:226
ExpressionParser field_space_parser
Definition: feellgoodSettings.h:351
double dt_max
Definition: feellgoodSettings.h:244
double initial_time
Definition: feellgoodSettings.h:195
ExpressionParser mag_parser
Definition: feellgoodSettings.h:335
std::string sM
Definition: feellgoodSettings.h:171
std::string sBz
Definition: feellgoodSettings.h:180
double getScale(void) const
Definition: feellgoodSettings.h:126
Eigen::Vector3d getMagnetization(const Eigen::Ref< Eigen::Vector3d > p, const std::vector< std::string > ®ions) const
Definition: feellgoodSettings.h:289
std::string simName
Definition: feellgoodSettings.h:333
double getFieldTime(const double t_val) const
Definition: feellgoodSettings.h:323
void setPbName(std::string str)
Definition: feellgoodSettings.h:111
std::string getPbName(void) const
Definition: feellgoodSettings.h:114
std::string sMy
Definition: feellgoodSettings.h:165
std::string sBx
Definition: feellgoodSettings.h:174
bool withTsv
Definition: feellgoodSettings.h:132
int precision
Definition: feellgoodSettings.h:330
std::string solMetadata(const double t) const
Definition: feellgoodSettings.cpp:296
Settings()
Definition: feellgoodSettings.cpp:131
std::string restoreFileName
Definition: feellgoodSettings.h:192
mag_exprType getMagType() const
Definition: feellgoodSettings.h:268
bool recenter
Definition: feellgoodSettings.h:144
Eigen::Vector3d getMagnetization(const Eigen::Ref< Eigen::Vector3d > p) const
Definition: feellgoodSettings.h:278
std::string getSimName(void) const
Definition: feellgoodSettings.h:120
double TOL
Definition: feellgoodSettings.h:201
Eigen::Vector3d getFieldSpace(const Eigen::Ref< Eigen::Vector3d > p) const
Definition: feellgoodSettings.h:316
double tf
Definition: feellgoodSettings.h:238
double threshold
Definition: feellgoodSettings.h:150
void set_MAXITER(int i)
Definition: feellgoodSettings.h:129
std::vector< std::string > evol_columns
Definition: feellgoodSettings.h:235
static void dumpDefaults()
Definition: feellgoodSettings.cpp:142
Eigen::Vector3d getField(const double t_val) const
Definition: feellgoodSettings.h:301
int findTetraRegionIdx(const std::string &name) const
Definition: feellgoodSettings.h:210
double _scale
Definition: feellgoodSettings.h:332
std::string fileDisplayName
Definition: feellgoodSettings.h:331
std::string sB
Definition: feellgoodSettings.h:183
double dt_min
Definition: feellgoodSettings.h:241
int findFacetteRegionIdx(const std::string name) const
Definition: feellgoodSettings.h:247
std::string sMx
Definition: feellgoodSettings.h:162
std::vector< Tetra::prm > paramTetra
Definition: feellgoodSettings.h:207
field_exprType field_type
Definition: feellgoodSettings.h:341
std::string sBy
Definition: feellgoodSettings.h:177
int save_period
Definition: feellgoodSettings.h:141
double time_step
Definition: feellgoodSettings.h:138
int scalfmmNbTh
Definition: feellgoodSettings.h:153
std::ostringstream commonMetadata() const
Definition: feellgoodSettings.cpp:263
contains namespace Facette header containing Fac class, and some constants and a less_than operator t...
field_exprType
Definition: feellgoodSettings.h:43
@ RtoR3
B(t)
Definition: feellgoodSettings.h:45
@ UNDEF
undefined
Definition: feellgoodSettings.h:44
@ R4toR3
Definition: feellgoodSettings.h:46
mag_exprType
Definition: feellgoodSettings.h:28
@ POSITION_AND_REGIONS
M(x, y, z, regions)
Definition: feellgoodSettings.h:30
@ POSITION_ONLY
M(x, y, z)
Definition: feellgoodSettings.h:29
index
Definition: node.h:34
namespace Tetra header containing Tet class, some constants, and integrales