public virtual void SetMainFlow(Blood toSuccessor, Blood fromPredecessor) { toSuccessor.CopyValuesFrom(fromPredecessor); if (fromPredecessor.GasFree == false || fromPredecessor.ChemicalCompositionOk != true) { DetectedGasOrContaminatedBlood = true; } else { DetectedGasOrContaminatedBlood = false; } }
public void SetBloodFlow(Blood outgoing, Blood incoming) { if (incoming.Water > 0 || incoming.BigWasteProducts > 0) { outgoing.CopyValuesFrom(incoming); outgoing.Temperature = IncomingFluidTemperature; // First step: Filtrate Blood if (IncomingQuantityOfDialyzingFluid >= outgoing.SmallWasteProducts) { outgoing.SmallWasteProducts = 0; } else { outgoing.SmallWasteProducts -= IncomingQuantityOfDialyzingFluid; } // Second step: Ultra Filtration // To satisfy the incoming suction rate we must take the fluid from the blood. // The ultrafiltrationRate is the amount of fluid we take from the blood-side. var ultrafiltrationRate = IncomingSuctionRateOnDialyzingFluidSide - IncomingQuantityOfDialyzingFluid; if (ultrafiltrationRate < outgoing.BigWasteProducts) { outgoing.BigWasteProducts -= ultrafiltrationRate; } else { // Remove water instead of BigWasteProducts // Assume Water >= (ultrafiltrationRate - outgoing.BigWasteProducts) outgoing.Water -= (ultrafiltrationRate - outgoing.BigWasteProducts); outgoing.BigWasteProducts = 0; } } else { outgoing.CopyValuesFrom(incoming); } }
public void SetMainFlow(Blood toSuccessor, Blood fromPredecessor) { if (ValveState == ValveState.Open) { toSuccessor.CopyValuesFrom(DelayedBlood); } else { toSuccessor.HasHeparin = true; toSuccessor.Water = 0; toSuccessor.SmallWasteProducts = 0; toSuccessor.BigWasteProducts = 0; toSuccessor.ChemicalCompositionOk = true; toSuccessor.GasFree = true; toSuccessor.Pressure = QualitativePressure.NoPressure; toSuccessor.Temperature = QualitativeTemperature.BodyHeat; } DelayedBlood.CopyValuesFrom(fromPredecessor); }
public override void SetMainFlow(Blood toSuccessor, Blood fromPredecessor) { toSuccessor.CopyValuesFrom(fromPredecessor); DetectedGasOrContaminatedBlood = false; }
public void SetMainFlow(Blood toSuccessor, Blood fromPredecessor) { toSuccessor.CopyValuesFrom(fromPredecessor); }