Package org.lemsml.jlems.core.run
Class StateType
- java.lang.Object
-
- org.lemsml.jlems.core.run.StateType
-
- All Implemented Interfaces:
ILEMSStateType
,RuntimeType
public class StateType extends java.lang.Object implements RuntimeType, ILEMSStateType
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.HashMap<java.lang.String,java.lang.String>
attSetHM
(package private) java.util.ArrayList<Builder>
builders
(package private) java.util.HashMap<java.lang.String,StateType>
childHM
(package private) java.util.ArrayList<ConditionAction>
conditionActions
(package private) boolean
consolidated
(package private) StateType
consolidatedCB
(package private) java.lang.String
cptid
(package private) java.util.HashMap<java.lang.String,java.lang.Double>
der1
(package private) java.util.HashMap<java.lang.String,java.lang.Double>
der2
(package private) java.util.HashMap<java.lang.String,java.lang.Double>
der3
(package private) java.util.HashMap<java.lang.String,java.lang.Double>
der4
(package private) java.util.HashMap<java.lang.String,java.lang.String>
dimensions
(package private) java.util.HashMap<java.lang.String,ActionBlock>
eventHM
(package private) java.util.ArrayList<ExpressionDerivedVariable>
exderiveds
(package private) java.util.HashMap<java.lang.String,java.lang.String>
exposedMap
(package private) java.util.HashSet<java.lang.String>
exposedNames
(package private) java.util.ArrayList<FixedQuantity>
fixeds
(package private) boolean
flattened
(package private) StateType
flattenedCB
(package private) boolean
hasBuilds
(package private) boolean
hasRegimes
(package private) java.util.ArrayList<java.lang.String>
indeps
(package private) java.util.ArrayList<ActionBlock>
initBlocks
(package private) java.util.ArrayList<java.lang.String>
inPorts
(package private) java.util.ArrayList<InstanceProperty>
instanceProperties
(package private) java.util.ArrayList<java.lang.String>
ipairsets
(package private) java.util.ArrayList<java.lang.String>
isets
(package private) java.util.ArrayList<KScheme>
kschemes
(package private) java.util.ArrayList<ListChild>
listChildren
(package private) java.util.HashMap<java.lang.String,MultiStateType>
multiHM
(package private) java.util.ArrayList<java.lang.String>
outPorts
(package private) java.util.ArrayList<PathDerivedVariable>
pathderiveds
(package private) java.util.ArrayList<VariableROC>
rates
(package private) java.util.HashMap<java.lang.String,StateType>
refHM
(package private) java.util.HashMap<java.lang.String,ComponentRegime>
regimeHM
(package private) RunConfig
runConfig
(package private) java.util.ArrayList<RuntimeDisplay>
runtimeDisplays
(package private) java.util.ArrayList<RuntimeEventOutput>
runtimeEventOutputs
(package private) java.util.ArrayList<RuntimeEventRecorder>
runtimeEventRecorders
(package private) java.util.ArrayList<RuntimeOutput>
runtimeOutputs
(package private) java.util.ArrayList<RuntimeRecorder>
runtimeRecorders
(package private) boolean
simultaneous
(package private) SubstitutionBuilder
substitutionBuilder
(package private) java.util.ArrayList<java.lang.String>
svars
(package private) java.util.HashMap<java.lang.String,java.lang.String>
textParamHM
(package private) long
timeCounter
(package private) boolean
trackTime
(package private) java.lang.String
typeName
(package private) java.util.HashMap<java.lang.String,java.lang.Double>
val1
(package private) java.util.HashMap<java.lang.String,java.lang.Double>
val2
(package private) java.util.HashMap<java.lang.String,java.lang.Double>
val3
(package private) java.util.HashMap<java.lang.String,java.lang.Double>
val4
(package private) java.util.ArrayList<java.lang.String>
vars
(package private) java.util.HashMap<java.lang.String,java.lang.Double>
vwk
(package private) long
wkTime
-
Constructor Summary
Constructors Constructor Description StateType(java.lang.String sid, java.lang.String tnm)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAction(java.lang.String spn, ActionBlock a)
void
addAttachmentSet(java.lang.String name, java.lang.String typeName)
void
addBuilder(Builder b)
void
addChildStateType(java.lang.String s, StateType chb)
void
addComponentRegime(ComponentRegime crb)
void
addConditionResponse(ConditionAction cr)
void
addEventRecorder(java.lang.String id, java.lang.String q, java.lang.String eventPort, java.lang.String parent)
void
addEventResponse(EventAction er)
void
addExposedVariable(java.lang.String name, java.lang.String dim)
void
addExposureMapping(java.lang.String from, java.lang.String to)
void
addExpressionDerived(java.lang.String snm, DoubleEvaluator db, java.lang.String dim)
void
addExpressionDerivedVariable(ExpressionDerivedVariable edv)
void
addFixed(java.lang.String snm, double d)
void
addFixed(FixedQuantity fq)
void
addIndependentVariable(java.lang.String vnm, java.lang.String dim)
void
addInitialization(ActionBlock ab)
void
addInPorts(java.util.ArrayList<java.lang.String> pa)
void
addInputPort(java.lang.String name)
void
addInstancePairSet(java.lang.String name)
void
addInstanceProperty(InstanceProperty ip)
void
addInstanceSet(java.lang.String name)
void
addKScheme(KScheme scheme)
void
addListStateType(java.lang.String s, StateType cb)
private void
addMulti(java.lang.String s, StateType cb)
PathDerivedVariable
addPathDerived(java.lang.String snm, java.lang.String path, java.lang.String rf, boolean reqd, java.lang.String reduce, java.lang.String dimension)
void
addPathDerivedVariable(PathDerivedVariable pdv)
void
addRate(java.lang.String name, DoubleEvaluator de, java.lang.String dim)
void
addRecorder(java.lang.String id, java.lang.String q, double tsc, double ysc, java.lang.String col, java.lang.String display)
void
addRefStateType(java.lang.String s, StateType chb)
void
addRunConfig(RunConfig rc)
void
addRunConfig(Component targetComponent, double step, double total)
void
addRuntimeDisplay(RuntimeDisplay ro)
void
addRuntimeEventOutput(RuntimeEventOutput rw)
void
addRuntimeOutput(RuntimeOutput rw)
void
addStateVariable(java.lang.String s, java.lang.String dim)
void
addTextParam(java.lang.String tnm, java.lang.String value)
private void
addToFlattener(java.lang.String pfx, Flattener fl)
void
addVariableROC(VariableROC vroc)
(package private) void
applyDerivs(java.util.HashMap<java.lang.String,java.lang.Double> v0, java.util.HashMap<java.lang.String,java.lang.Double> der, double delta, java.util.HashMap<java.lang.String,java.lang.Double> ret)
void
applyPathDerived(StateInstance uin)
void
build(StateInstance uin)
private void
checkNaN(double x, java.lang.String src, java.util.HashMap<java.lang.String,DoublePointer> vhm)
private void
clearMultis()
private void
consolidateChildren()
void
enableTiming()
void
eulerAdvance(StateInstance uin, StateRunnable parent, double t, double dt)
private void
evalDerived(StateInstance uin, java.util.HashMap<java.lang.String,DoublePointer> varHM, StateRunnable parent)
(package private) void
evalDerivs(java.util.HashMap<java.lang.String,java.lang.Double> v0, double t, java.util.HashMap<java.lang.String,java.lang.Double> ret)
void
evaluate(StateInstance uin, StateRunnable parent)
void
fix()
java.util.HashSet<java.lang.String>
getAllIndeps()
java.util.HashMap<java.lang.String,java.lang.String>
getAttachmentSet()
java.util.HashMap<java.lang.String,StateType>
getChildHM()
java.lang.String
getComponentID()
java.util.ArrayList<ConditionAction>
getConditionActions()
StateType
getConsolidatedStateType(java.lang.String knownas)
java.lang.String
getDimensionString(java.lang.String fld)
java.util.ArrayList<EventAction>
getEventActions()
java.util.ArrayList<ExpressionDerivedVariable>
getExderiveds()
java.util.HashMap<java.lang.String,java.lang.String>
getExposureMap()
java.util.ArrayList<FixedQuantity>
getFixed()
StateType
getFlattenedStateType(java.lang.String knownas)
java.lang.String
getID()
java.util.ArrayList<java.lang.String>
getIndeps()
java.util.ArrayList<ActionBlock>
getInitBlocks()
java.util.HashMap<java.lang.String,MultiStateType>
getMultiHM()
java.util.ArrayList<PathDerivedVariable>
getPathderiveds()
java.lang.String
getPropertyStringValue(java.lang.String sp)
java.util.ArrayList<VariableROC>
getRates()
java.util.HashMap<java.lang.String,StateType>
getRefHM()
java.util.HashSet<java.lang.String>
getRequirements()
RunConfig
getRunConfig()
java.util.ArrayList<RuntimeDisplay>
getRuntimeDisplays()
java.util.ArrayList<RuntimeEventOutput>
getRuntimeEventOutputs()
java.util.ArrayList<RuntimeEventRecorder>
getRuntimeEventRecorders()
java.util.ArrayList<RuntimeOutput>
getRuntimeOutputs()
java.util.ArrayList<RuntimeRecorder>
getRuntimeRecorders()
java.util.ArrayList<java.lang.String>
getStateVariables()
java.lang.String
getSummary()
java.lang.String
getSummary(java.lang.String indent, java.lang.String prefix)
long
getTotalTime()
java.lang.String
getTypeName()
java.util.ArrayList<java.lang.String>
getVars()
boolean
hasPropertyString(java.lang.String sp)
void
initialize(StateInstance uin, StateRunnable parent, boolean includeDerivedVariables, boolean checkNaN)
StateType
makeChildConsolidated()
StateType
makeConsolidatedStateType(java.lang.String knownas)
StateType
makeFlattened(java.lang.String knownas)
StateType
makeShallowCopy()
StateInstance
newInstance()
StateRunnable
newStateRunnable()
private StateInstance
ownNewInstance()
void
removeRedundantExpressions()
void
rk4Advance(StateInstance uin, StateRunnable parent, double t, double dt)
void
setSimultaneous(boolean b)
void
setSubstitutionBuilder(SubstitutionBuilder sb)
void
sortExpressions()
void
startClock()
void
stopClock()
private void
synchronizeExposures(StateInstance uin)
java.lang.String
toString()
void
visitAll(StateTypeVisitor v)
-
-
-
Field Detail
-
cptid
java.lang.String cptid
-
typeName
java.lang.String typeName
-
dimensions
java.util.HashMap<java.lang.String,java.lang.String> dimensions
-
vars
java.util.ArrayList<java.lang.String> vars
-
indeps
java.util.ArrayList<java.lang.String> indeps
-
fixeds
java.util.ArrayList<FixedQuantity> fixeds
-
instanceProperties
java.util.ArrayList<InstanceProperty> instanceProperties
-
pathderiveds
java.util.ArrayList<PathDerivedVariable> pathderiveds
-
exderiveds
java.util.ArrayList<ExpressionDerivedVariable> exderiveds
-
rates
java.util.ArrayList<VariableROC> rates
-
svars
java.util.ArrayList<java.lang.String> svars
-
eventHM
java.util.HashMap<java.lang.String,ActionBlock> eventHM
-
initBlocks
java.util.ArrayList<ActionBlock> initBlocks
-
conditionActions
java.util.ArrayList<ConditionAction> conditionActions
-
outPorts
java.util.ArrayList<java.lang.String> outPorts
-
inPorts
java.util.ArrayList<java.lang.String> inPorts
-
kschemes
java.util.ArrayList<KScheme> kschemes
-
refHM
java.util.HashMap<java.lang.String,StateType> refHM
-
childHM
java.util.HashMap<java.lang.String,StateType> childHM
-
listChildren
java.util.ArrayList<ListChild> listChildren
-
multiHM
java.util.HashMap<java.lang.String,MultiStateType> multiHM
-
attSetHM
java.util.HashMap<java.lang.String,java.lang.String> attSetHM
-
textParamHM
java.util.HashMap<java.lang.String,java.lang.String> textParamHM
-
hasRegimes
boolean hasRegimes
-
regimeHM
java.util.HashMap<java.lang.String,ComponentRegime> regimeHM
-
exposedNames
java.util.HashSet<java.lang.String> exposedNames
-
exposedMap
java.util.HashMap<java.lang.String,java.lang.String> exposedMap
-
runtimeDisplays
java.util.ArrayList<RuntimeDisplay> runtimeDisplays
-
runtimeOutputs
java.util.ArrayList<RuntimeOutput> runtimeOutputs
-
runtimeEventOutputs
java.util.ArrayList<RuntimeEventOutput> runtimeEventOutputs
-
runtimeRecorders
java.util.ArrayList<RuntimeRecorder> runtimeRecorders
-
runtimeEventRecorders
java.util.ArrayList<RuntimeEventRecorder> runtimeEventRecorders
-
runConfig
RunConfig runConfig
-
builders
java.util.ArrayList<Builder> builders
-
hasBuilds
boolean hasBuilds
-
substitutionBuilder
SubstitutionBuilder substitutionBuilder
-
isets
java.util.ArrayList<java.lang.String> isets
-
ipairsets
java.util.ArrayList<java.lang.String> ipairsets
-
simultaneous
boolean simultaneous
-
consolidated
boolean consolidated
-
flattened
boolean flattened
-
flattenedCB
StateType flattenedCB
-
consolidatedCB
StateType consolidatedCB
-
der1
java.util.HashMap<java.lang.String,java.lang.Double> der1
-
der2
java.util.HashMap<java.lang.String,java.lang.Double> der2
-
der3
java.util.HashMap<java.lang.String,java.lang.Double> der3
-
der4
java.util.HashMap<java.lang.String,java.lang.Double> der4
-
vwk
java.util.HashMap<java.lang.String,java.lang.Double> vwk
-
val1
java.util.HashMap<java.lang.String,java.lang.Double> val1
-
val2
java.util.HashMap<java.lang.String,java.lang.Double> val2
-
val3
java.util.HashMap<java.lang.String,java.lang.Double> val3
-
val4
java.util.HashMap<java.lang.String,java.lang.Double> val4
-
trackTime
boolean trackTime
-
timeCounter
long timeCounter
-
wkTime
long wkTime
-
-
Method Detail
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getComponentID
public java.lang.String getComponentID()
-
enableTiming
public void enableTiming()
-
startClock
public void startClock()
-
stopClock
public void stopClock()
-
getTotalTime
public long getTotalTime()
-
setSubstitutionBuilder
public void setSubstitutionBuilder(SubstitutionBuilder sb)
-
getRates
public java.util.ArrayList<VariableROC> getRates()
-
getFixed
public java.util.ArrayList<FixedQuantity> getFixed()
-
getVars
public java.util.ArrayList<java.lang.String> getVars()
-
getIndeps
public java.util.ArrayList<java.lang.String> getIndeps()
-
getStateVariables
public java.util.ArrayList<java.lang.String> getStateVariables()
-
getAttachmentSet
public java.util.HashMap<java.lang.String,java.lang.String> getAttachmentSet()
-
getExderiveds
public java.util.ArrayList<ExpressionDerivedVariable> getExderiveds()
-
getPathderiveds
public java.util.ArrayList<PathDerivedVariable> getPathderiveds()
-
getAllIndeps
public java.util.HashSet<java.lang.String> getAllIndeps()
-
newStateRunnable
public StateRunnable newStateRunnable() throws ContentError, ConnectionError, RuntimeError
- Specified by:
newStateRunnable
in interfaceRuntimeType
- Throws:
ContentError
ConnectionError
RuntimeError
-
newInstance
public StateInstance newInstance() throws ContentError, ConnectionError, RuntimeError
- Throws:
ContentError
ConnectionError
RuntimeError
-
ownNewInstance
private StateInstance ownNewInstance() throws ContentError, ConnectionError, RuntimeError
- Throws:
ContentError
ConnectionError
RuntimeError
-
build
public void build(StateInstance uin) throws ContentError, ConnectionError, RuntimeError
- Throws:
ContentError
ConnectionError
RuntimeError
-
initialize
public void initialize(StateInstance uin, StateRunnable parent, boolean includeDerivedVariables, boolean checkNaN) throws RuntimeError, ContentError
- Throws:
RuntimeError
ContentError
-
checkNaN
private void checkNaN(double x, java.lang.String src, java.util.HashMap<java.lang.String,DoublePointer> vhm) throws RuntimeError
- Throws:
RuntimeError
-
applyPathDerived
public void applyPathDerived(StateInstance uin) throws ContentError
- Throws:
ContentError
-
evaluate
public void evaluate(StateInstance uin, StateRunnable parent) throws RuntimeError, ContentError
- Throws:
RuntimeError
ContentError
-
evalDerived
private void evalDerived(StateInstance uin, java.util.HashMap<java.lang.String,DoublePointer> varHM, StateRunnable parent) throws RuntimeError, ContentError
- Throws:
RuntimeError
ContentError
-
eulerAdvance
public void eulerAdvance(StateInstance uin, StateRunnable parent, double t, double dt) throws RuntimeError, ContentError
- Throws:
RuntimeError
ContentError
-
rk4Advance
public void rk4Advance(StateInstance uin, StateRunnable parent, double t, double dt) throws RuntimeError, ContentError
- Throws:
RuntimeError
ContentError
-
evalDerivs
void evalDerivs(java.util.HashMap<java.lang.String,java.lang.Double> v0, double t, java.util.HashMap<java.lang.String,java.lang.Double> ret) throws ContentError
- Throws:
ContentError
-
applyDerivs
void applyDerivs(java.util.HashMap<java.lang.String,java.lang.Double> v0, java.util.HashMap<java.lang.String,java.lang.Double> der, double delta, java.util.HashMap<java.lang.String,java.lang.Double> ret)
-
synchronizeExposures
private void synchronizeExposures(StateInstance uin) throws ContentError
- Throws:
ContentError
-
addExpressionDerived
public void addExpressionDerived(java.lang.String snm, DoubleEvaluator db, java.lang.String dim)
-
addPathDerived
public PathDerivedVariable addPathDerived(java.lang.String snm, java.lang.String path, java.lang.String rf, boolean reqd, java.lang.String reduce, java.lang.String dimension)
-
addFixed
public void addFixed(java.lang.String snm, double d)
-
addFixed
public void addFixed(FixedQuantity fq)
-
addInstanceProperty
public void addInstanceProperty(InstanceProperty ip)
-
addIndependentVariable
public void addIndependentVariable(java.lang.String vnm, java.lang.String dim)
-
addRate
public void addRate(java.lang.String name, DoubleEvaluator de, java.lang.String dim)
-
addEventResponse
public void addEventResponse(EventAction er)
-
addAction
public void addAction(java.lang.String spn, ActionBlock a)
-
getEventActions
public java.util.ArrayList<EventAction> getEventActions()
-
addConditionResponse
public void addConditionResponse(ConditionAction cr)
-
getConditionActions
public java.util.ArrayList<ConditionAction> getConditionActions()
-
addInitialization
public void addInitialization(ActionBlock ab)
-
getInitBlocks
public java.util.ArrayList<ActionBlock> getInitBlocks()
-
fix
public void fix()
-
addRefStateType
public void addRefStateType(java.lang.String s, StateType chb)
-
addChildStateType
public void addChildStateType(java.lang.String s, StateType chb)
-
addListStateType
public void addListStateType(java.lang.String s, StateType cb)
-
clearMultis
private void clearMultis()
-
addMulti
private void addMulti(java.lang.String s, StateType cb)
-
addAttachmentSet
public void addAttachmentSet(java.lang.String name, java.lang.String typeName)
-
addKScheme
public void addKScheme(KScheme scheme)
-
addRunConfig
public void addRunConfig(Component targetComponent, double step, double total)
-
addRunConfig
public void addRunConfig(RunConfig rc)
-
getRunConfig
public RunConfig getRunConfig()
-
addBuilder
public void addBuilder(Builder b)
-
addComponentRegime
public void addComponentRegime(ComponentRegime crb)
-
addTextParam
public void addTextParam(java.lang.String tnm, java.lang.String value)
-
addInputPort
public void addInputPort(java.lang.String name)
-
addInPorts
public void addInPorts(java.util.ArrayList<java.lang.String> pa)
-
addExposedVariable
public void addExposedVariable(java.lang.String name, java.lang.String dim)
-
addExposureMapping
public void addExposureMapping(java.lang.String from, java.lang.String to)
-
addInstanceSet
public void addInstanceSet(java.lang.String name)
-
addInstancePairSet
public void addInstancePairSet(java.lang.String name)
-
setSimultaneous
public void setSimultaneous(boolean b)
-
getConsolidatedStateType
public StateType getConsolidatedStateType(java.lang.String knownas) throws ContentError
- Throws:
ContentError
-
getFlattenedStateType
public StateType getFlattenedStateType(java.lang.String knownas) throws ContentError
- Throws:
ContentError
-
makeConsolidatedStateType
public StateType makeConsolidatedStateType(java.lang.String knownas) throws ContentError
- Throws:
ContentError
-
makeChildConsolidated
public StateType makeChildConsolidated() throws ContentError
- Throws:
ContentError
-
getChildHM
public java.util.HashMap<java.lang.String,StateType> getChildHM()
-
getRefHM
public java.util.HashMap<java.lang.String,StateType> getRefHM()
-
getMultiHM
public java.util.HashMap<java.lang.String,MultiStateType> getMultiHM()
-
consolidateChildren
private void consolidateChildren() throws ContentError
- Throws:
ContentError
-
makeFlattened
public StateType makeFlattened(java.lang.String knownas) throws ContentError
- Throws:
ContentError
-
addToFlattener
private void addToFlattener(java.lang.String pfx, Flattener fl) throws ContentError
- Throws:
ContentError
-
addStateVariable
public void addStateVariable(java.lang.String s, java.lang.String dim) throws ContentError
- Throws:
ContentError
-
addPathDerivedVariable
public void addPathDerivedVariable(PathDerivedVariable pdv) throws ContentError
- Throws:
ContentError
-
addExpressionDerivedVariable
public void addExpressionDerivedVariable(ExpressionDerivedVariable edv) throws ContentError
- Throws:
ContentError
-
addVariableROC
public void addVariableROC(VariableROC vroc) throws ContentError
- Throws:
ContentError
-
hasPropertyString
public boolean hasPropertyString(java.lang.String sp)
-
getPropertyStringValue
public java.lang.String getPropertyStringValue(java.lang.String sp) throws ContentError
- Throws:
ContentError
-
makeShallowCopy
public StateType makeShallowCopy() throws ContentError
- Throws:
ContentError
-
getExposureMap
public java.util.HashMap<java.lang.String,java.lang.String> getExposureMap()
-
addRuntimeDisplay
public void addRuntimeDisplay(RuntimeDisplay ro)
-
addRuntimeOutput
public void addRuntimeOutput(RuntimeOutput rw)
-
addRuntimeEventOutput
public void addRuntimeEventOutput(RuntimeEventOutput rw)
-
addRecorder
public void addRecorder(java.lang.String id, java.lang.String q, double tsc, double ysc, java.lang.String col, java.lang.String display)
-
addEventRecorder
public void addEventRecorder(java.lang.String id, java.lang.String q, java.lang.String eventPort, java.lang.String parent)
-
visitAll
public void visitAll(StateTypeVisitor v)
-
getRuntimeDisplays
public java.util.ArrayList<RuntimeDisplay> getRuntimeDisplays()
-
getRuntimeOutputs
public java.util.ArrayList<RuntimeOutput> getRuntimeOutputs()
-
getRuntimeEventOutputs
public java.util.ArrayList<RuntimeEventOutput> getRuntimeEventOutputs()
-
getRuntimeRecorders
public java.util.ArrayList<RuntimeRecorder> getRuntimeRecorders()
-
getRuntimeEventRecorders
public java.util.ArrayList<RuntimeEventRecorder> getRuntimeEventRecorders()
-
getID
public java.lang.String getID()
- Specified by:
getID
in interfaceRuntimeType
-
getTypeName
public java.lang.String getTypeName()
-
getRequirements
public java.util.HashSet<java.lang.String> getRequirements()
-
removeRedundantExpressions
public void removeRedundantExpressions()
-
sortExpressions
public void sortExpressions()
-
getSummary
public java.lang.String getSummary()
-
getSummary
public java.lang.String getSummary(java.lang.String indent, java.lang.String prefix)
-
getDimensionString
public java.lang.String getDimensionString(java.lang.String fld) throws ContentError
- Throws:
ContentError
-
-