Closed grumpyinca closed 2 years ago
This has been built upon branch #712
Added propagate property to Excess_Force in initialState
{
"input": false,
"name": "Excess_Force",
"value": 0.0,
"units": "pounds",
"lmin": 0,
"lmax": 0,
"cmin": 0.0,
"cmax": 1000,
"validmin": -Number.MAX_VALUE,
"validmax": 0.0,
"sdlim": 0.1,
"tooltip": "= Force_2 - Force_Solid Provides restoring influence in Search when Force_2 is specified greater than Force_Solid",
"type": "equationset",
"hidden": false,
"propagate": [{ name: "Force_2", minmax: VALID_MIN }]
},
Added to reducers
case CHANGE_SYMBOL_CONSTRAINT:
return Object.assign({}, state, {
model: {
...state.model,
symbol_table: state.model.symbol_table.map((element) => {
if (element.name === action.payload.name) {
if (action.payload.minmax === MIN) {
return Object.assign({}, element, {
cmin: action.payload.value,
smin: sclden(state.model.system_controls, element.value, action.payload.value, element.sdlim, element.lmin)
});
} else if (action.payload.minmax === MAX) {
return Object.assign({}, element, {
cmax: action.payload.value,
smax: sclden(state.model.system_controls, element.value, action.payload.value, element.sdlim, element.lmax)
});
} else if (action.payload.minmax === VALID_MIN) {
return Object.assign({}, element, {
validmin: action.payload.value,
});
} else if (action.payload.minmax === VALID_MAX) {
return Object.assign({}, element, {
validmax: action.payload.value,
});
}
}
return element;
})
}
});
That's it, now propagate will be able to set any validmin or validmax.
Merged into master, closing
Functionally Determined Validity Level (FDVL)
Investigate the issues of implementing a Functionally Determined Validity Level (FDVL) feature.
This feature may use the same (or similar) propagate code as utilized by the existing FDCL feature. However, it should not have any visibility to the user.
Having this feature will allow the compression spring Excess_Force dependent variable that appears in #712 to be removed and thus not become a point of confusion to the user.