43 #include "TTimeControl.h" 46 #include "TBloqueMotor.h" 47 #include "TCilindro4T.h" 50 #include "TCompresorDep.h" 51 #include "TCompTubDep.h" 52 #include "TCompTubos.h" 55 #include "TCalculoExtern.h" 56 #include "TRemansoMatlab.h" 57 #include "TCoefDescarga.h" 58 #include "TControlFuel.h" 61 #include "TCDExterno.h" 62 #include "TEstatorTurbina.h" 63 #include "TRotorTurbina.h" 64 #include "TWasteGate.h" 65 #include "TValvulaContr.h" 66 #include "TDiscoRotativo.h" 67 #include "TLumbrera.h" 69 #include "TValvula4T.h" 71 #include "TMariposa.h" 77 #include "TDepVolVariable.h" 78 #include "TDepVolCte.h" 79 #include "TTurbinaSimple.h" 80 #include "TTurbinaTwin.h" 82 #include "TUnionDireccional.h" 85 #include "TCCDescargaExtremoAbierto.h" 86 #include "TCCExtremoAnecoico.h" 87 #include "TCCExtremoCerrado.h" 89 #include "TCCCilindro.h" 90 #include "TCCUnionEntreTubos.h" 91 #include "TCCPerdidadePresion.h" 92 #include "TCCDeposito.h" 93 #include "TCCRamificacion.h" 94 #include "TCCExtremoInyeccion.h" 95 #include "TCCEntradaCompresor.h" 96 #include "TCCUnionEntreDepositos.h" 97 #include "TCCCompresorVolumetrico.h" 98 #include "TCCCompresor.h" 99 #include "TCCPreVble.h" 100 #include "TCFDConnection.h" 101 #include "TCCExternalConnection.h" 102 #include "TCCExternalConnectionVol.h" 105 #include "TEjeTurbogrupo.h" 108 #ifdef ParticulateFilter 110 #include "TCanalDPF.h" 114 #ifdef ConcentricElement 115 #include "TConcentricoTubos.h" 116 #include "TConcentricoDPF.h" 121 #include "TPIDController.h" 122 #include "TTable1D.h" 123 #include "TDecisor.h" 127 #include "TOutputResults.h" 134 #include <sys/timeb.h> 137 #define gestorcom true 138 #define graphicalout true 145 #include "TCGestorWAM.h" 157 struct timeb begining, final, current;
162 std::string fileinput;
190 #ifdef ConcentricElement 195 #ifdef ParticulateFilter 229 double DeltaTPlenums;
238 double AcumulatedTime;
247 nmTipoCalculoEspecies SpeciesModel;
249 double* AtmosphericComposition;
251 nmTipoCombustible FuelType;
252 nmCalculoGamma GammaCalculation;
255 nmTipoMotor EngineType;
257 nmTipoModelado SimulationType;
269 double SimulationDuration;
270 int CyclesWithoutThemalInertia;
271 double AmbientPressure;
272 double AmbientTemperature;
273 bool ConvergenceFirstTime;
282 int NumberOfConcentrics;
289 int NumberOfReedValves;
290 int NumberOfWasteGates;
291 int NumberOfExternalCalculatedValves;
294 int NumberOfConnections;
295 int NumberOfVolumetricCompressors;
296 int NumberOfExhaustValves;
297 int NumberOfIntakeValves;
298 int NumberOfCompressorsConnections;
299 int NumberOfInjectionEnds;
300 int NumberOfConectionsBetweenPlenums;
301 int NumberOfButerflyValves;
307 int NumberOfVenturis;
310 int NumberOfDirectionalJunctions;
317 int NumberOfControllers;
327 int NumberOfTurbines;
334 int NumberOfCompressors;
337 int NumTCCPerdidaPresion;
349 void InitFlowIndependentNumThreads();
355 void ReadGeneralData();
363 void ReadConcentric();
369 void ReadCompressors();
371 void ReadConnections();
373 void ReadTurbochargerAxis();
377 void ReadControllers();
379 void ReadOutput(
char* FileName);
383 void RunningControl();
385 void InitializeRunningAngles();
387 void AllocateVGTData();
389 void CalculateNewHeatPositions();
391 void CalculateDistance(
int NodoOrigen,
int NodoFin,
double Longitud,
int NumberOfPlenums,
int NumberOfPipes,
394 int SelectPipe(
TTubo **Pipe,
int NumberOfPipes,
int nodo1,
int nodo2);
396 void MethodStability();
398 void SearchMinimumTimeStep();
400 void StudyInflowOutflowMass();
402 void SearchMinimumTime(
int LNumDepInicial,
double* LTMinimo,
TDeposito **LPlenum);
404 void SearchMinimumTimeGroup(
double *LTMinimo,
int LNumDeposito,
TDeposito **LPlenum);
408 void FixTimeStepExternal(
double deltat);
410 void RecalculateStability();
412 void SolveAdjacentElements(
int PipeEnd,
double TiempoActual);
414 void SolveBranch(
int NumDeposito,
double TiempoActual);
418 void SolveRoadLoadModel();
420 void RecalculateStabilitySolver();
422 void UpdateTurbocharger();
424 void comunica_wam_dll();
426 void ModificacionControlEjecucion();
436 void ReadInputData(
char* FileName);
438 void InitializeParameters();
440 void ConnectFlowElements();
442 void ConnectControlElements();
444 void InitialHeatTransferParameters();
446 void DetermineTimeStepIndependent();
448 void DetermineTimeStepCommon();
450 void DetermineTimeStep(
double t);
452 void InitializeOutput();
454 void CalculateFlowIndependent();
456 void CalculateFlowCommon();
460 bool CalculationEnd();
464 void ProgressBegin();
468 void NewEngineCycle();
470 void GeneralOutput();
472 bool IsIndependent() {
477 void UpdateExternalBoundary(
int i,
double U0,
double U1,
double T0,
double T1,
double P0,
double P1,
double t);
479 void UpdateExternalBoundary(
int i,
double U0,
double T0,
double P0,
double t);
481 void InitiateExternalBoundary(
int i,
double D0,
double D1,
double dX);
483 void InitiateExternalBoundary(
int i,
double D0,
double dX);
485 void LoadNewData(
int i,
double* p,
double* T,
double* u);
487 bool GetIs_EndStep();
a Finite differences pipe.