1 #ifndef feellgoodSettings_h
2 #define feellgoodSettings_h
15 #include <yaml-cpp/yaml.h>
17 #include "expression_parser.h"
20 #include "time_integration.h"
100 void read(YAML::Node);
103 bool read(std::string filename);
216 std::vector<Tetra::prm>::const_iterator result =
218 [name](
Tetra::prm const &p) { return (p.regName == name); });
227 idx = std::distance(
paramTetra.begin(), result);
253 std::vector<Facette::prm>::const_iterator result =
255 [name](
Facette::prm const &p) { return (p.regName == name); });
294 const std::vector<std::string> ®ions)
const
305 inline Eigen::Vector3d
getField(
const double t_val)
const
309 {
return {NAN, NAN, NAN}; }
324 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:109
std::string pbName
Definition: feellgoodSettings.h:342
void setFileDisplayName(std::string _s)
Definition: feellgoodSettings.h:112
std::string sB_space
Definition: feellgoodSettings.h:190
void toYaml(void)
Definition: feellgoodSettings.cpp:153
std::string r_path_output_dir
Definition: feellgoodSettings.h:236
double DUMAX
Definition: feellgoodSettings.h:202
void read(YAML::Node)
Definition: feellgoodSettings.cpp:316
int verbose
Definition: feellgoodSettings.h:139
static void dumpTemplate()
Definition: feellgoodSettings.cpp:145
bool spin_acc
Definition: feellgoodSettings.h:163
int getPrecision(void) const
Definition: feellgoodSettings.h:106
std::string sB_time
Definition: feellgoodSettings.h:193
void setScale(const double s)
Definition: feellgoodSettings.h:127
void setSimName(std::string str)
Definition: feellgoodSettings.h:121
const bool NORMALIZE
Definition: feellgoodSettings.h:365
Nodes::index recentering_direction
Definition: feellgoodSettings.h:151
int MAXITER
Definition: feellgoodSettings.h:208
bool V_file
Definition: feellgoodSettings.h:160
std::vector< MetadataItem > userMetadata
Definition: feellgoodSettings.h:337
std::pair< std::string, std::string > MetadataItem
Definition: feellgoodSettings.h:335
std::string evolMetadata() const
Definition: feellgoodSettings.cpp:293
std::string sMz
Definition: feellgoodSettings.h:172
field_exprType getFieldType(void) const
Definition: feellgoodSettings.h:317
ExpressionParser field_time_parser
Definition: feellgoodSettings.h:356
ExpressionParser field_parser
Definition: feellgoodSettings.h:352
std::vector< Facette::prm > paramFacette
Definition: feellgoodSettings.h:230
ExpressionParser field_space_parser
Definition: feellgoodSettings.h:359
double dt_max
Definition: feellgoodSettings.h:248
double initial_time
Definition: feellgoodSettings.h:199
ExpressionParser mag_parser
Definition: feellgoodSettings.h:343
std::string sM
Definition: feellgoodSettings.h:175
std::string sBz
Definition: feellgoodSettings.h:184
double getScale(void) const
Definition: feellgoodSettings.h:130
Eigen::Vector3d getMagnetization(const Eigen::Ref< Eigen::Vector3d > p, const std::vector< std::string > ®ions) const
Definition: feellgoodSettings.h:293
std::string simName
Definition: feellgoodSettings.h:341
double getFieldTime(const double t_val) const
Definition: feellgoodSettings.h:331
void setPbName(std::string str)
Definition: feellgoodSettings.h:115
std::string getPbName(void) const
Definition: feellgoodSettings.h:118
std::string sMy
Definition: feellgoodSettings.h:169
std::string sBx
Definition: feellgoodSettings.h:178
bool withTsv
Definition: feellgoodSettings.h:136
int precision
Definition: feellgoodSettings.h:338
std::string solMetadata(const double t) const
Definition: feellgoodSettings.cpp:305
Settings()
Definition: feellgoodSettings.cpp:132
std::string restoreFileName
Definition: feellgoodSettings.h:196
mag_exprType getMagType() const
Definition: feellgoodSettings.h:272
bool recenter
Definition: feellgoodSettings.h:148
Eigen::Vector3d getMagnetization(const Eigen::Ref< Eigen::Vector3d > p) const
Definition: feellgoodSettings.h:282
std::string getSimName(void) const
Definition: feellgoodSettings.h:124
double TOL
Definition: feellgoodSettings.h:205
Eigen::Vector3d getFieldSpace(const Eigen::Ref< Eigen::Vector3d > p) const
Definition: feellgoodSettings.h:324
double tf
Definition: feellgoodSettings.h:242
double threshold
Definition: feellgoodSettings.h:154
void set_MAXITER(int i)
Definition: feellgoodSettings.h:133
std::vector< std::string > evol_columns
Definition: feellgoodSettings.h:239
static void dumpDefaults()
Definition: feellgoodSettings.cpp:143
Eigen::Vector3d getField(const double t_val) const
Definition: feellgoodSettings.h:305
int findTetraRegionIdx(const std::string &name) const
Definition: feellgoodSettings.h:214
double _scale
Definition: feellgoodSettings.h:340
std::string fileDisplayName
Definition: feellgoodSettings.h:339
std::string sB
Definition: feellgoodSettings.h:187
double dt_min
Definition: feellgoodSettings.h:245
int findFacetteRegionIdx(const std::string name) const
Definition: feellgoodSettings.h:251
std::string sMx
Definition: feellgoodSettings.h:166
std::vector< Tetra::prm > paramTetra
Definition: feellgoodSettings.h:211
field_exprType field_type
Definition: feellgoodSettings.h:349
std::string sBy
Definition: feellgoodSettings.h:181
int save_period
Definition: feellgoodSettings.h:145
double time_step
Definition: feellgoodSettings.h:142
int scalfmmNbTh
Definition: feellgoodSettings.h:157
std::ostringstream commonMetadata() const
Definition: feellgoodSettings.cpp:272
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