AccountBasic model of an account with optional interest 
This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.
The output y reports the balance of an account that is increased or decreased by flows connected to the stock ports or at given rates (u_plus
and u_minus
respectively) if hasRateInputs = true
. When there are interest payments (withInterest = true
) positive and negative balances of the account will lead to interest earned and interest paid, respectively. The associated fractional rates can be given either as constants or as variable inputs.
hasNetRateInput = true
the rate of flow for the account can be given as a netRate using the connector u_plus
only.Account
is a more general structure than the widely known bathtub [6, pp.10f.] initialBalance 
Value: 0 Type: OutputType Description: Initial balance of the account 

interestRatePlus 
Value: unspecified Type: Rate (1/s) Description: Constant fractional interest rate for positive balances (optional) 
interestRateMinus 
Value: unspecified Type: Rate (1/s) Description: Constant fractional interest rate for negative balances (optional) 
hasRateInputs 
Value: true Type: Boolean Description: = true, if input connectors should allow giving transaction rates increasing/decreasing the balance of the account 
hasNetRateInput 
Value: false Type: Boolean Description: = true, if the rate of flow is given a net rate (u_plus only) 
withInterest 
Value: false Type: Boolean Description: = true, if positive and negative balances lead to interest earned or paid 
hasConstantInterest 
Value: true Type: Boolean Description: = true, if the optional interest rates are given as constant parameters 
init 
Value: modelSettings.init Type: InitializationOptions Description: Provide InitializationOptions (Free, FixedValue, SteadyState) (accountBalance.init) 
strict 
Value: true Type: Boolean Description: = true, if strict limits with noEvent(..) (positiveBalance.strict) 
inflow 
Type: StockPort Description: Increasing the balance of the account 


outflow 
Type: StockPort Description: Decreasing the balance of the account 

u_plus 
Type: RealInput Description: Rate of inflow increasing the account (or net rate of flow) 

u_minus 
Type: RealInput Description: Rate of outflow decreasing the account 

u_interestPlus 
Type: RealInput Description: Fractional interest rate for positive balances (optional) 

u_interestMinus 
Type: RealInput Description: Fractional interest rate for negative balances (optional) 

y_intEarned 
Type: RealOutput Description: Interest earned (optional) 

y_intPaid 
Type: RealOutput Description: Interest paid (optional) 

y 
Type: RealOutput Description: Balance of the account (e.g., amount in the stock) 
modelSettings 
Type: ModelSettings Description: Setting important global variables within a model 


accountBalance 
Type: InformationLevel Description: Balance of the account 

netFlow 
Type: ExogenousChange Description: Net flow to or from the account 

negativeRate 
Type: Gain Description: The rate of decrease is turned into a negative rate 

netRate 
Type: Add_2 Description: Net rate of flow 

netRateInput 
Type: PassThrough Description: Input u_plus net rate of flow 

interestPlus 
Type: ConstantConverter Description: Constant rate of interest for positive balances 

interestMinus 
Type: ConstantConverter Description: Constant rate of interest for negative balances 

positiveBalance 
Type: ZeroIfNegative Description: Positive balance or zero 

negativeBalance 
Type: ZeroIfNegative Description: Negative balance or zero 

invertedBalance 
Type: Gain Description: Input is multiplied by constant parameter 

rateDecline 
Type: Product_2 Description: Rate of decline 

interestPaid 
Type: Decline Description: Interest decreasing the balance 

interestEarned 
Type: Growth Description: Interest payments increasing the balance 

rateIncrease 
Type: Product_2 Description: Rate of decline 