1 #ifndef feellgoodSettings_h
2 #define feellgoodSettings_h
15 #include <yaml-cpp/yaml.h>
17 #include "expression_parser.h"
19 #include "spinTransferTorque.h"
21 #include "time_integration.h"
80 std::string
evolMetadata(std::string realWorldTime)
const;
83 std::string
solMetadata(
double t, std::string columnsTitle)
const;
86 void read(YAML::Node);
89 bool read(std::string filename);
215 std::vector<Tetra::prm>::const_iterator result =
217 [name](
Tetra::prm const &p) { return (p.regName == name); });
226 idx = std::distance(
paramTetra.begin(), result);
252 std::vector<Facette::prm>::const_iterator result =
254 [name](
Facette::prm const &p) { return (p.regName == name); });
283 inline Eigen::Vector3d
getField(
const double t_val)
const
298 inline Eigen::Vector3d
getFieldSpace(
const Eigen::Ref<Eigen::Vector3d> p)
const
Definition: expression_parser.h:20
double get_scalar(double arg) const
Definition: expression_parser.cpp:67
Eigen::Vector3d get_vector(double arg) const
Definition: expression_parser.cpp:103
Container for all the settings provided by the user, with conversions to/from YAML.
Definition: feellgoodSettings.h:63
int ILU_fill_factor
Definition: feellgoodSettings.h:207
std::string getFileDisplayName(void) const
Definition: feellgoodSettings.h:95
std::string pbName
Definition: feellgoodSettings.h:313
void setFileDisplayName(std::string _s)
Definition: feellgoodSettings.h:98
std::string sB_space
Definition: feellgoodSettings.h:179
int solverNbTh
Definition: feellgoodSettings.h:143
void toYaml(void)
Definition: feellgoodSettings.cpp:128
std::string r_path_output_dir
Definition: feellgoodSettings.h:235
double DUMAX
Definition: feellgoodSettings.h:191
void read(YAML::Node)
Definition: feellgoodSettings.cpp:274
int verbose
Definition: feellgoodSettings.h:125
int getPrecision(void) const
Definition: feellgoodSettings.h:92
std::string sB_time
Definition: feellgoodSettings.h:182
void setScale(const double s)
Definition: feellgoodSettings.h:113
void setSimName(std::string str)
Definition: feellgoodSettings.h:107
bool stt_flag
Definition: feellgoodSettings.h:152
Nodes::index recentering_direction
Definition: feellgoodSettings.h:137
std::string evolMetadata(std::string realWorldTime) const
Definition: feellgoodSettings.cpp:246
int MAXITER
Definition: feellgoodSettings.h:197
std::string sMz
Definition: feellgoodSettings.h:161
std::string solMetadata(double t, std::string columnsTitle) const
Definition: feellgoodSettings.cpp:266
field_exprType getFieldType(void) const
Definition: feellgoodSettings.h:291
ExpressionParser field_time_parser
Definition: feellgoodSettings.h:327
ExpressionParser field_parser
Definition: feellgoodSettings.h:323
std::vector< Facette::prm > paramFacette
Definition: feellgoodSettings.h:229
ExpressionParser field_space_parser
Definition: feellgoodSettings.h:330
double dt_max
Definition: feellgoodSettings.h:247
double initial_time
Definition: feellgoodSettings.h:188
ExpressionParser mag_parser
Definition: feellgoodSettings.h:314
std::string sM
Definition: feellgoodSettings.h:164
std::string sBz
Definition: feellgoodSettings.h:173
double getScale(void) const
Definition: feellgoodSettings.h:116
std::string simName
Definition: feellgoodSettings.h:312
double getFieldTime(const double t_val) const
Definition: feellgoodSettings.h:305
void setPbName(std::string str)
Definition: feellgoodSettings.h:101
std::string getPbName(void) const
Definition: feellgoodSettings.h:104
std::string sMy
Definition: feellgoodSettings.h:158
std::string sBx
Definition: feellgoodSettings.h:167
bool withTsv
Definition: feellgoodSettings.h:122
int precision
Definition: feellgoodSettings.h:309
Settings()
Definition: feellgoodSettings.cpp:116
std::string restoreFileName
Definition: feellgoodSettings.h:185
bool recenter
Definition: feellgoodSettings.h:134
Eigen::Vector3d getMagnetization(const Eigen::Ref< Eigen::Vector3d > p) const
Definition: feellgoodSettings.h:272
std::string getSimName(void) const
Definition: feellgoodSettings.h:110
double TOL
Definition: feellgoodSettings.h:194
STT p_stt
Definition: feellgoodSettings.h:149
Eigen::Vector3d getFieldSpace(const Eigen::Ref< Eigen::Vector3d > p) const
Definition: feellgoodSettings.h:298
double tf
Definition: feellgoodSettings.h:241
double threshold
Definition: feellgoodSettings.h:140
int findTetraRegionIdx(const std::string name) const
Definition: feellgoodSettings.h:213
void set_MAXITER(int i)
Definition: feellgoodSettings.h:119
std::vector< std::string > evol_columns
Definition: feellgoodSettings.h:238
static void dumpDefaults()
Definition: feellgoodSettings.cpp:126
Eigen::Vector3d getField(const double t_val) const
Definition: feellgoodSettings.h:283
double _scale
Definition: feellgoodSettings.h:311
std::string fileDisplayName
Definition: feellgoodSettings.h:310
std::string sB
Definition: feellgoodSettings.h:176
double dt_min
Definition: feellgoodSettings.h:244
int findFacetteRegionIdx(const std::string name) const
Definition: feellgoodSettings.h:250
std::string sMx
Definition: feellgoodSettings.h:155
std::vector< Tetra::prm > paramTetra
Definition: feellgoodSettings.h:210
double ILU_tol
Definition: feellgoodSettings.h:202
field_exprType field_type
Definition: feellgoodSettings.h:320
std::string sBy
Definition: feellgoodSettings.h:170
int save_period
Definition: feellgoodSettings.h:131
double time_step
Definition: feellgoodSettings.h:128
int scalfmmNbTh
Definition: feellgoodSettings.h:146
contains namespace Facette header containing Fac class, and some constants and a less_than operator t...
field_exprType
Definition: feellgoodSettings.h:33
@ RtoR3
B(t)
Definition: feellgoodSettings.h:35
@ UNDEF
undefined
Definition: feellgoodSettings.h:34
@ R4toR3
Definition: feellgoodSettings.h:36
index
Definition: node.h:34
Definition: spinTransferTorque.h:13
namespace Tetra header containing Tet class, some constants, and integrales