diff options
| author | Clément Zrounba <clement.zrounba@ec-lyon.fr> | 2023-11-23 18:49:56 +0000 |
|---|---|---|
| committer | Clément Zrounba <clement.zrounba@ec-lyon.fr> | 2023-11-23 18:56:41 +0000 |
| commit | 36505655a3f8e709b2ea91d43f08b32485d0659f (patch) | |
| tree | b656760f99f682ff0c08d6b2387eba07ade5dfed /src/parser/parse_element.cpp | |
| parent | 7a6345e2a4068de676e879e79f8c31965ecd0771 (diff) | |
| download | specs-36505655a3f8e709b2ea91d43f08b32485d0659f.tar.gz specs-36505655a3f8e709b2ea91d43f08b32485d0659f.zip | |
update PCM device and add parameters to parser
Diffstat (limited to 'src/parser/parse_element.cpp')
| -rw-r--r-- | src/parser/parse_element.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/parser/parse_element.cpp b/src/parser/parse_element.cpp index 14de6e9..5997855 100644 --- a/src/parser/parse_element.cpp +++ b/src/parser/parse_element.cpp @@ -1169,16 +1169,28 @@ sc_module *PCMCellElement::create(ParseTreeCreationHelper &pt_helper) const obj->m_meltEnergy = args[0].as_double(); if(args.size() > 1) obj->m_nStates = args[1].as_integer(); + if(args.size() > 2) + obj->m_Tc = args[2].as_double(); + if(args.size() > 3) + obj->m_Ta = args[3].as_double(); // Parse keyword arguments for (auto &p: kwargs) { string kw = p.first; strutils::toupper(kw); - if (kw == "MELT_ENERGY" || kw == "EMELT") + if (kw == "MELT_ENERGY" || kw == "EMELT" || kw == "E_MELT") obj->m_meltEnergy = p.second.as_double(); - else if (kw == "N" || kw == "NSTATES") + else if (kw == "N" || kw == "NSTATES" || kw == "NLEVELS" || kw == "N_STATES" || kw == "N_LEVELS") obj->m_nStates = p.second.as_integer(); + else if (kw == "K" || kw == "INITIAL_STATE") + obj->m_stateCurrent = p.second.as_integer(); + else if (kw == "SP" || kw == "TC" || kw == "T_C") + obj->m_Tc = p.second.as_double(); + else if (kw == "EP" || kw == "TA" || kw == "T_A") + obj->m_Ta = p.second.as_double(); + else if (kw == "TANH_COEF") + obj->m_speed = p.second.as_double(); else { cerr << "Unknown keyword: " << p.first << endl; exit(1); |
