Differential equations and functions are described by VariablePortedObject and FunctionalPortedObject classes, respectively. The core component of FunctionalPortedObject classes are ParameterAssignment classes, which store the correspondence between a SymbolContainer and sympy.Expression object.
The class ParameterAssignment is also used to store:
Assignments produced by CompositePortedObject classes
Default parameter assignments produced by InputPort classes
It is proposed to subclass ParameterAssignment to differentiate between those assignments coming from FunctionalPortedObject classes, and the other assignments listed above. This will aid clarity in being able to provide the model description described above.
Further subclassing is proposed to differentiate between different parameter assignments, differentiating between those produced by CompositePortedObject classes, and moreover the default parameter assignments produced by InputPort classes of:
children objects with default values: 'exposable' parameters which are coded into a model, but can be made available to a user
the compiled object with default values: 'optional' parameters which are naturally changeable to alter the behaviour of the system
the compiled object with no default value: 'required' parameters which must be specified before a system can be simulated, but which on inspection represent the dependence of a compiled object on external sources
A dynamic complex system model is described by:
Differential equations and functions are described by
VariablePortedObject
andFunctionalPortedObject
classes, respectively. The core component ofFunctionalPortedObject
classes areParameterAssignment
classes, which store the correspondence between aSymbolContainer
andsympy.Expression
object.The class
ParameterAssignment
is also used to store:CompositePortedObject
classesInputPort
classesIt is proposed to subclass
ParameterAssignment
to differentiate between those assignments coming fromFunctionalPortedObject
classes, and the other assignments listed above. This will aid clarity in being able to provide the model description described above.Further subclassing is proposed to differentiate between different parameter assignments, differentiating between those produced by
CompositePortedObject
classes, and moreover the default parameter assignments produced byInputPort
classes of: