Harmony
HARMONic stabilitY assessment of PE-penetrated power systems
Loading...
Searching...
No Matches
json_expression.h
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4#include <vector>
5
6#include <symengine/basic.h>
7#include <symengine/matrix.h>
8
9#include "json_parameters.h"
10
17public:
19 static SymEngine::RCP<const SymEngine::Basic> parse(
20 const std::string& exprText,
21 const JsonParameterTable& params,
22 const char* context);
23
25 static SymEngine::RCP<const SymEngine::Basic> parseImpedance(
26 const std::string& zExpr,
27 const JsonParameterTable& params,
28 const char* context);
29
31 static SymEngine::RCP<const SymEngine::Basic> parseAdmittance(
32 const std::string& yExpr,
33 const JsonParameterTable& params,
34 const char* context);
35
37 static std::vector<SymEngine::RCP<const SymEngine::Basic>> parseArray(
38 const JSON& array,
39 const JsonParameterTable& params,
40 const char* context);
41
42 static void validateExprField(const JSON& value, const char* context);
43
44 static void validateExprArray(
45 const JSON& array,
46 const JsonParameterTable& params,
47 const char* context,
48 int expectedSize = -1);
49
51 static SymEngine::DenseMatrix toRowMatrix(
52 const std::vector<SymEngine::RCP<const SymEngine::Basic>>& exprs);
53};
Definition json_expression.h:16
static SymEngine::RCP< const SymEngine::Basic > parse(const std::string &exprText, const JsonParameterTable &params, const char *context)
Parse an expression, substitute numeric parameters, leave w / s symbolic.
Definition json_expression.cpp:89
static SymEngine::RCP< const SymEngine::Basic > parseAdmittance(const std::string &yExpr, const JsonParameterTable &params, const char *context)
Parse an admittance expression Y(s).
Definition json_expression.cpp:107
static std::vector< SymEngine::RCP< const SymEngine::Basic > > parseArray(const JSON &array, const JsonParameterTable &params, const char *context)
Parse a JSON array of expression strings.
Definition json_expression.cpp:116
static SymEngine::RCP< const SymEngine::Basic > parseImpedance(const std::string &zExpr, const JsonParameterTable &params, const char *context)
Parse a complex impedance expression Z(s).
Definition json_expression.cpp:98
static void validateExprArray(const JSON &array, const JsonParameterTable &params, const char *context, int expectedSize=-1)
Definition json_expression.cpp:143
static void validateExprField(const JSON &value, const char *context)
Definition json_expression.cpp:135
static SymEngine::DenseMatrix toRowMatrix(const std::vector< SymEngine::RCP< const SymEngine::Basic > > &exprs)
Pack parsed expressions into a 1×N SymEngine matrix.
Definition json_expression.cpp:165
Lookup table for "parameters": { "name": number } at simulation or component scope.
Definition json_parameters.h:18
nlohmann::json JSON
Definition component_builder.h:6
Named numeric parameters for JSON simulation files (Type A indirection).