"enabled" Keyword
The "enabled" keyword appears in multiple Chemistry Builder JSON objects, facilitating quick toggling of properties or options without the need to create or delete JSON objects explicitly, thereby reducing parameter tuning efforts. Here are guidelines, examples, and exceptions for its usage:
The "enabled" keyword must be a Boolean type, accepting only true or false.
It must be enclosed within "{ }" in a JSON object.
When set to 'true', the input within the JSON object is processed.
When set to 'false', the input within the JSON object is disregarded.
If the "enabled" keyword is absent, the JSON object is processed by default.
If the "enabled" field contains values other than 'true' or 'false', the JSON object is still processed.
{
"inflows": [
{
"name": "H2O",
"enabled": true
},
{
"name": "NACL",
"enabled": false
},
{
"name": "CO2",
} ]
} In this example, "H2O" and "CO2" are included as inflow species, whereas "NaCl" is excluded.
{
"inflows": [
{
"name": "H2O",
},
{
"name": "NACL",
},
{
"name": "CO2",
"enabled": "true"
} ]
}The "enabled" field for CO2 is assigned a string value instead of a boolean value. However, CO2 will still be added as an input despite the incorrect data type.
"redox": {
"enabled": false,
"subSystems": [
{
"name": "Chlorine",
"enabled": true,
"valenceStates": [
{
"name": "Cl(-1)",
"enabled": true
},
{
"name": "Cl(+1)",
"enabled": false
},
{
"name": "Cl(+3)",
"enabled": false
},
{
"name": "Cl(+5)",
"enabled": false
},
{
"name": "Cl(+7)",
"enabled": false
},
{
"name": "Cl(+4)",
"enabled": false
}
]
}
]
}
In this example, "redox" is disabled, resulting in the exclusion of everything within the object.
"redox": {
"enabled": true,
"subSystems": [
{
"name": "Chlorine",
"enabled": true,
"valenceStates": [
{
"name": "Cl(-1)",
"enabled": true
},
{
"name": "Cl(+1)",
"enabled": false
},
{
"name": "Cl(+3)",
"enabled": false
},
{
"name": "Cl(+5)",
"enabled": false
},
{
"name": "Cl(+7)",
"enabled": false
},
{
"name": "Cl(+4)",
"enabled": false
}
]
}
]
}In this example, "redox" and "Chlorine" are enabled, with only the "Cl (-1)" valence state being active. All other valence states are ignored.
{
"params": {
"thermodynamicFramework": "MSE (H3O+ ion)",
"privateDatabanks": [
],
"modelName": "quickTest",
"inflows": [
{
"name": "H2O"
} ,
{
"name": "NACL"
},
{
"name": "CO2"
},
{
"name": "BENZENE"
},
{
"name": "ETHANOL"
}
],
"phases": [
"liquid1",
"vapor",
"solid",
"liquid2"
],
"redox": {
"enabled": true,
"subSystems": [
{
"name":"Carbon",
"enabled": true
},
{
"name": "Chlorine",
"enabled": false,
"valenceStates": [
{
"name": "Cl(-1)",
"enabled": true
},
{
"name": "Cl(+1)",
"enabled": true
},
{
"name": "Cl(+3)",
"enabled": false
},
{
"name": "Cl(+5)",
"enabled": false
},
{
"name": "Cl(+7)",
"enabled": false
}
]
}
]
}
}
}
In this example:
Carbon, as a subsystem, is enabled, resulting in all its valence states being enabled by default.
Chlorine is enabled, with Cl(+1) and Cl(-1) valence states explicitly enabled. Cl(+4) is not specified, so it defaults to enabled. Other valence states are explicitly disabled.
Sodium is not included in the input, thus all its valence states are disabled by default.
It's important to note the default behaviors: missing known JSON objects are assumed to be disabled; hence Sodium is disabled by default. For the "redox" valence state, if an element like "Chlorine" is enabled, all its valence states are automatically enabled. Thus, if a valence state such as Cl(+4) is absent, it's automatically enabled. This approach mirrors OLI Studio's behavior.
To disable an individual valence state, "enabled": false must be explicitly set to override its default value.
Last updated
Was this helpful?