Harmony
HARMONic stabilitY assessment of PE-penetrated power systems
Loading...
Searching...
No Matches
JsonParameterTable Class Reference

Lookup table for "parameters": { "name": number } at simulation or component scope. More...

#include <json_parameters.h>

Public Member Functions

void clear ()
 
void mergeFromObject (const JSON &obj, const char *context)
 Add or override entries from a JSON object of numeric values.
 
bool contains (const std::string &name) const
 
double resolveScalar (const JSON &value, const char *context) const
 Resolve a JSON number or parameter-name string to double.
 
std::vector< double > resolveArray (const JSON &array, const char *context) const
 Resolve each element of a JSON array (numbers or parameter names).
 
void validateNumericOrReferenceArray (const JSON &array, const char *context, int expectedSize=-1) const
 Validate array: each entry is a number or known parameter name.
 
SymEngine::map_basic_basic toSubstitutionMap () const
 SymEngine substitution map for numeric parameter names.
 
std::vector< std::string > names () const
 All defined parameter names.
 

Static Public Member Functions

static bool isReference (const JSON &value)
 True when value is a non-empty string (parameter reference).
 
static void validateObject (const JSON &obj, const char *context)
 Validate object shape: all values must be numbers.
 

Detailed Description

Lookup table for "parameters": { "name": number } at simulation or component scope.

Member Function Documentation

◆ clear()

void JsonParameterTable::clear ( )

◆ contains()

bool JsonParameterTable::contains ( const std::string &  name) const

◆ isReference()

bool JsonParameterTable::isReference ( const JSON value)
static

True when value is a non-empty string (parameter reference).

Referenced by ComponentBuilder::findScalar(), resolveScalar(), and validateNumericOrReferenceArray().

◆ mergeFromObject()

void JsonParameterTable::mergeFromObject ( const JSON obj,
const char *  context 
)

Add or override entries from a JSON object of numeric values.

References validateObject().

Referenced by SimulationBuilder::buildFromJSON().

◆ names()

std::vector< std::string > JsonParameterTable::names ( ) const

All defined parameter names.

◆ resolveArray()

std::vector< double > JsonParameterTable::resolveArray ( const JSON array,
const char *  context 
) const

Resolve each element of a JSON array (numbers or parameter names).

References resolveScalar().

◆ resolveScalar()

double JsonParameterTable::resolveScalar ( const JSON value,
const char *  context 
) const

Resolve a JSON number or parameter-name string to double.

References isReference().

Referenced by resolveArray().

◆ toSubstitutionMap()

SymEngine::map_basic_basic JsonParameterTable::toSubstitutionMap ( ) const

SymEngine substitution map for numeric parameter names.

◆ validateNumericOrReferenceArray()

void JsonParameterTable::validateNumericOrReferenceArray ( const JSON array,
const char *  context,
int  expectedSize = -1 
) const

Validate array: each entry is a number or known parameter name.

References contains(), and isReference().

Referenced by ComponentBuilder::findNumericOrReferenceArray().

◆ validateObject()

void JsonParameterTable::validateObject ( const JSON obj,
const char *  context 
)
static

Validate object shape: all values must be numbers.

Referenced by mergeFromObject(), and JsonValidator::validateRoot().


The documentation for this class was generated from the following files: