Click or drag to resize

DHI.Mike1D.BoundaryModule.PeriodicItem Namespace

Periodic/diurnal boundary item
Classes
  ClassDescription
Public classAlwaysSchedule
A IPeriodicSchedule that always returns true.
Public classBoundaryItemPeriodic
Periodic boundary item implementation
Public classListIPeriodicSpecialDays
Class implementing a list of IPeriodicSpecialDay's Required for generic list COM interop
Public classOneDayTsProfile
Implementation of IOneDayProfile A IOneDayProfile is a list of pairs of TimeOfDay times and values that repeat every day. A IOneDayProfile is a set of pairs of times and values. Times are the TimeOfDay part of a date, the first one must have zero TimeOfDay part (beginning of day), all elements must have increasing TimeOfDay parts. Data is stored in an time series item (because it has all the interpolation routines), and the type of values (instantaneous, forward step etc. must be proveded at creation. A special version exists where the values are defined to be instantaneous in the middle between two times, see CreateMidpointValues(IListDouble, IListDouble, String, IDiagnostics) Values can be absolute or relative. When relative, GetValue will in general not return the values that was given as input. The values are scaled such that if integrating GetValue(t) over a day, the result is one.
Public classPeriodicSchedule
Default implementation of IPeriodicSchedule.

In this schedule you define individually which of the days (1-31), months (1-12) and weekdays (Monday-Sunday) that the schedule it is active. All checks must return true before a schedule is active.

When checking for a given date/time, the weekday is provided explicitly. The weekday of a given date may have been overridden by a special day.

Public classPeriodicScheduler
Default implementation of IPeriodicScheduler The GetValue results are buffered. If updating the SpecialDays or the SchedulePatternMatch, call Reset() in order to reset the buffer.
Public classPeriodicSpecialDay
Default implementation of IPeriodicSpecialDay
Interfaces
  InterfaceDescription
Public interfaceIBoundaryItemPeriodic
Interface for periodic boundary item. A periodic boundary item has a IPeriodicScheduler The value from the IPeriodicScheduler is multiplied with the AverageValue to get the value of the item. The PeriodicScheduler usually returns a value that accumulates to 1 over one day, hence the IBoundaryItemPeriodic will in that case have the AverageValue as the average of the day.
Public interfaceIListIPeriodicSpecialDays
Interface for a list of IPeriodicSpecialDay's Required for generic list COM interop
Public interfaceIOneDayProfile
Interface for a profile covering one day. The DateTime input to the GetValue(DateTime) function only uses the TimeOfDay part to evaluate the value
Public interfaceIPeriodicSchedule
A periodic schedule returns true on the
Check
functions if a date is part of the schedule.
Public interfaceIPeriodicScheduler
Interface for a periodic scheduler. A periodic scheduler has a number of IPeriodicSchedule with each their IOneDayProfile attached. It searches through the list of IPeriodicSchedules and finds the first active one and uses its IOneDayProfile Special days can be added, in order to change the weekday behavior of some special days, using a given date as a sunday or similar.
Public interfaceIPeriodicSpecialDay
Interface for a Periodic Special day. A special day that is specific, or recurring yearly. Only the Date part of a DateTime is used. Remember to set the usage of the special day. The usage tells how this special day is to be handled. It can either not be handled, or handled as another weekday. Use Check(DateTime,...) to test if a DateTime mathces the special day.
Enumerations
  EnumerationDescription
Public enumerationOneDayTsProfileValueType
Enumeration defining the meaning of the value in the time series.