libICEpost.src.engineModel.EngineModel.SparkIgnitionEngine
@author: <N. Surname> <e-mail> Last update: DD/MM/YYYY
Classes
Simple spark-ignition engine model with single-zone modeling. |
Module Contents
- class libICEpost.src.engineModel.EngineModel.SparkIgnitionEngine.SparkIgnitionEngine(*, time: libICEpost.src.engineModel.EngineTime.EngineTime.EngineTime, geometry: libICEpost.src.engineModel.EngineGeometry.EngineGeometry.EngineGeometry, thermophysicalProperties: dict | libICEpost.src.base.dataStructures.Dictionary.Dictionary, combustionProperties: dict | libICEpost.src.base.dataStructures.Dictionary.Dictionary, dataDict: dict = None, functionObjects: Iterable[Callable] = None, **submodels)[source]
Bases:
libICEpost.src.engineModel.EngineModel.EngineModel.EngineModelSimple spark-ignition engine model with single-zone modeling.
Attributes:
- Types
Types for each main model
- CombustionModel: libICEpost.src.thermophysicalModels.thermoModels.CombustionModel.PremixedCombustion.PremixedCombustion
The combustion model
- _fuel: libICEpost.Database.chemistry.specie.Mixtures.Mixture
The current in-cylinder fuel mixture composition
- classmethod fromDictionary(dictionary: libICEpost.src.base.dataStructures.Dictionary.Dictionary) libICEpost.src.engineModel.EngineModel.EngineModel.EngineModel[source]
Construct from dictionary like: {
- EngineTime: str
Name of the EngineTime model to use
- <EngineTime>Dict: dict
Dictionary containing the data specific of the selected SngineTime model (e.g., if engineTime is ‘SparkIgnitionTime’, then this dictionary must be named ‘SparkIgnitionTimeDict’). See at the helper for function ‘fromDictionary’ of the specific EngineTime model selected.
- EngineGeometry: str
Name of the EngineGeometry model to use
- <EngineGeometry>Dict: dict
Dictionary with data required from engineGeometry. See at the helper for function ‘fromDictionary’ of the specific EngineGeometry model selected.
- thermoPhysicalProperties: dict
Dictionary with types and data for thermophysical modeling of mixtures
- {
ThermoType: dict {
Thermo: str EquationOfState: str
} <Thermo>Dict: dict <EquationOfState>Dict: dict
}
- combustionProperties: dict
Dictionaries for data required for mixture preparation and combustion modeling.
- {
injectionModels: dict {
TODO
},
- air: Mixture (default: database.chemistry.specie.Mixtures.dryAir)
The air mixture composition
initialMixture: dict {
<zoneName>: {
premixedFuel: dict (optional) {
mixture: Mixture, phi: float,
}
}
},
- PremixedCombustionDict: dict
Dictionary with data required from PremixedCombustion combustion model See at the helper for function ‘fromDictionary’ of the specific CombustionModel model selected.
}
}
- _constructThemodynamicModels(combustionProperties: dict | libICEpost.src.base.dataStructures.Dictionary.Dictionary) libICEpost.src.engineModel.EngineModel.EngineModel.EngineModel[source]
Construct the thermodynamic models of the system, setting their initial mixture composition. Here setting everything to air, to be overwritten in sub-classes.
- Parameters:
combustionProperties (dict|Dictionary) – the combustion properties
- Returns:
self
- Return type:
- _constructCombustionModel(combustionProperties: dict | libICEpost.src.base.dataStructures.Dictionary.Dictionary)[source]
Appending fuel and air to combustionModelDict
- Parameters:
combustionProperties (dict|Dictionary) – the combustion properties
- Returns:
self
- Return type:
- _preprocessThermoModelInput(inputDict: dict, zone: str) dict[source]
Set also mixture composition based on xb.
NOTE: xb field must be already loaded.
- Parameters:
inputDict (dict) – The input dictionary
zone (str) – zone name
- Returns:
processed input parameters for ThermoModel constructor
- Return type:
dict