private static Cell CreateCell(InitialCell initialCell) { var cell = new Cell { Density = initialCell.Density, MolarMass = initialCell.MolarMass, HeatCapacityRatio = initialCell.HeatCapacityRatio, Temperature = initialCell.Temperature, Size = initialCell.Size, Speed = 0 }; cell.Pressure = GasDynUtils.GetPressure(cell.Density, cell.MolarMass, cell.Temperature); cell.InternalEnergy = GasDynUtils.GetInternalEnergy(cell.Pressure, cell.Density, cell.HeatCapacityRatio, cell.Speed); return(cell); }
public static Cell CreateNewExternalCell(Cell oldExternalCell, Cell oldCellPrev, double deltaTime) { var newExternalCell = new Cell { Density = oldExternalCell.Density, HeatCapacityRatio = oldExternalCell.HeatCapacityRatio, MolarMass = oldExternalCell.MolarMass, Size = oldExternalCell.Size, Pressure = oldExternalCell.Pressure, Temperature = oldExternalCell.Temperature, Speed = oldExternalCell.Speed }; newExternalCell.InternalEnergy = GasDynUtils.GetNewInternalEnergy(oldExternalCell.InternalEnergy, oldExternalCell.Pressure, 0, oldCellPrev.Pressure, oldExternalCell.Speed, 0, oldCellPrev.Speed, oldExternalCell.Density, oldExternalCell.Size, deltaTime); return(newExternalCell); }
public static Cell CreateNewCell(Cell oldCell, Cell oldCellPrev, Cell oldCellNext, double deltaTime) { var newCell = new Cell { Density = oldCell.Density, HeatCapacityRatio = oldCell.HeatCapacityRatio, MolarMass = oldCell.MolarMass, Size = oldCell.Size }; newCell.Speed = GasDynUtils.GetNewSpeed(oldCell.Speed, oldCell.Pressure, oldCellNext.Pressure, oldCellPrev.Pressure, oldCell.Density, oldCell.Size, deltaTime); newCell.InternalEnergy = GasDynUtils.GetNewInternalEnergy(oldCell.InternalEnergy, oldCell.Pressure, oldCellNext.Pressure, oldCellPrev.Pressure, oldCell.Speed, oldCellNext.Speed, oldCellPrev.Speed, oldCell.Density, oldCell.Size, deltaTime); newCell.Pressure = GasDynUtils.GetPressure(newCell.Density, newCell.InternalEnergy, newCell.Speed, newCell.HeatCapacityRatio); newCell.Temperature = GasDynUtils.GetTemperature(newCell.MolarMass, newCell.Pressure, newCell.Density); return(newCell); }