Exemplo n.º 1
0
        public IWaterPacket GetSourceWater(DateTime Start, TimeSpan TimeStep)
        {
            foreach (var kvp in _concentrations)
            {
                ((WaterPacket)WaterSample).SetConcentration(kvp.Key, kvp.Value.GetSiValue(Start, Start.Add(TimeStep)));
            }

            if (OverrideFlowRate.HasValue)
            {
                _currentFlowRate = OverrideFlowRate.Value;
            }
            else if (TS != null)
            {
                _currentFlowRate = TS.GetSiValue(Start, Start.Add(TimeStep));
            }

            double _routedFlow = _currentFlowRate * TimeStep.TotalSeconds;

            //Could be a point
            XYPolygon geom = ContactGeometry as XYPolygon;

            if (geom != null)
            {
                _routedFlow *= geom.GetArea();
            }

            return(WaterSample.DeepClone(_routedFlow));
        }