int initCore();
Simülasyon süresince gerekli olacak olan nesnelerin hafızada yerini ayırır.
int mapPointers();
Tüm fiziksel nesne ekleme/çıkarma işlemlerinden sonra hafızadaki nesnelerin pointerlarını kullanılır hale getirir.
int addVehicleToSim(int ttype, double mass, double pos, double velo, double acce);
- int ttype : Araç tipini belirtir.
- double mass : Araç kütlesini belirtir. (kg)
- double pos : Aracın ilk iterasyona başlamadan önceki uzlamsal konumunu belirtir. (m)
- double velo : Aracın ilk iterasyona başlamadan önceki hızını belirtir. (m/s)
- double acce : Aracın ilk iterasyona başlamadan önceki ivmesini belirtir. (m/s2)
Sisteme araç ekler.
**NOT: ** Bu fonksiyon çağrısından sonra tüm pointerlar mapPointers
yardımıyla map edilmelidir.
int addCouplingToSim(double frontDistRefToCoupling, double rearDistRefToCoupling, double tensionDistance, bool nullify);
- double frontDistRefToCoupling : öndeki aracın orta noktasının couplinge olan uzaklığı
- double rearDistRefToCoupling : arkadaki aracın orta noktasının couplinge olan uzaklığı
- double tensionDistance : iki araç arasında kuvvet aktarımı olmayan en kısa uzaklık
- bool nullify (opsiyonel) : NULL PTR tipinde bir coupling ekler. Test durumlarının gözetimi içindir önerilmez.
Sisteme bağlantı ekler.
**NOT: ** Bu fonksiyon çağrısından sonra tüm pointerlar mapPointers
yardımıyla map edilmelidir.
int addForce(int vehIndex, double startTime, double stopTime, double forceValue);
- int vehIndex : kuvvetin uygulanacağı aracın eklenme sırasına göre(FILO) indeks numarasını belirtir.
- double startTime : kuvvetin integrasyon süresi boyunca hangi saniyeden itibaren uygulanacağını belirtir.(s)
- double stopTime : kuvvetin uygulanmasının integrasyon süresi boyunca hangi saniyede sonlanacağını belirtir.(s)
- double forceValue : kuvvetin değerini belirtir (N)
Sisteme kuvvet ekler.
**NOT: ** Bu fonksiyon çağrısından sonra tüm pointerlar mapPointers
yardımıyla map edilmelidir.
int setMainCouplerSpringConstant(int coupIndex, double sprConst);
- int coupIndex : spring sabitinin ekleneceği aracın indexini belirtir.
- double sprConst : spring sabitini belirtir.
Spring sabitini set eder.
Spring sabiti default olarak 1e8
dir.
int setCouplerDampingConstant(int coupIndex, double dmpConst);
- int coupIndex : damping sabitinin ekleneceği aracın indexini belirtir.
- double dmpConst : damping sabitini belirtir.
Damping sabitini set eder.
Damping sabiti default olarak 1e6
dır.
int setFrontCouplingToVehicle(int vehindex, int coupindex);
- int vehindex : öndeki bağlantının set edileceği aracın indexi
- int coupindex : bağlantının indeksi
İndeksi belirtilen araç nesnesinin önündeki bağlantının atamasını yapar.
int setRearCouplingToVehicle(int vehindex, int coupindex);
- int vehindex : arkadaki bağlantının set edileceği aracın indexi
- int coupindex : bağlantının indeksi
İndeksi belirtilen araç nesnesinin arkasındaki bağlantının atamasını yapar.
int setFrontVehicleToCoupling(int coupindex, int vehindex);
- int coupindex : önündeki aracın set edileceği coupling'in indeksi
- int vehindex : set edilecek aracın indeksi
İndeksi belirtilen coupling nesnesinin önündeki aracın atamasını yapar.
int setRearVehicleToCoupling(int coupindex, int vehindex);
- int coupindex : arkasındaki aracın set edileceği coupling'in indeksi
- int vehindex : set edilecek aracın indeksi
İndeksi belirtilen coupling nesnesinin arkasındaki aracın atamasını yapar.
int linkVehiclesToCoupling(int coupIndex, int frontVehicleIndex, int rearVehicleIndex);
Yukarıda belirtilen
setFrontVehicleToCoupling
ve setRearVehicleToCoupling
fonksiyonlarını birlikte işler. Çift yönlü ilişkilendirme yapar.
int linkCouplingsToVehicle(int vehIndex, int frontCouplingIndex, int rearCouplingIndex);
Yukarıda belirtilen
setFrontCouplingToVehicle
ve setRearCouplingToVehicle
fonksiyonlarını birlikte işler. Çift yönlü ilişkilendirme yapar.
int setDt(double dt);
- double dt : integrasyon adım aralığının değeri
İntegrasyon adım aralığını set eder.
int prepareSim();
İntegratörün gereksinimi olan pointer koleksiyonlarını integratöre verir ve sistemi başlamaya hazır hale getirir.
int clearVehicles();
Tüm araçları sistemden siler.
int clearCouplings();
Tüm bağlantıları sistemden siler.
int clearForces();
Tüm kuvvetleri sistemden siler.
int clearSimulator();
Simülatörü sistemden siler. (Debug amaçlıdır yapılması tasvip edilmez.)
int runIntegration(double runningTime);
- double runningTime : integrasyonun koşulacağı süre
İntegrasyonu belirtilen süre boyunca koşar.
Default olarak test.txt
dosyasına çıktıları oluşturmaktadır.