Missile aerodynamics project
-
Of coruse this method - by altering the Cx/Cz only by experimental way - is anything but not scientific but the result is generally us qiite close to RL. I rather accept this result than waiting forever for 100% scientific method with 5-6% more percent accuracy. This is not a military grade simulatior to train RL pilots. The method why I used provide lightyears better kinematics modeling than current considering only the range and speed-time (distance) charateristics. Modeling the available lift for turns according to RL limits requires calculations because in Falcon guidance values and targets simply do not make possible the testing.
Guidance valus also have issues because in RL even the stone age Russian SAMs had multiple guidance mode with different leading…
I get your point, man, but dont be stubborn either. Your experiments are really useful but programming is not physics, the code works in a theoretical way which can be fully understood provided you have programming knowledge and some time. This theoretical way can be wrong (ie : not modelizing sth properly), that’s a bug ; but the source code IS how BMS works, period.
In physics, experiments are always right, and theory try to modelize it.
In a sim, the code is always right, experiments are useful to try to understand how the code works if you dont know how (or not perfectly), and to detect bugs. For bugs, you then check the code for its origin.Just my 2 cents….
-
-
Fix all the dat files by adjusting the weigths to the correct empty weight, which would require a complete rewritten of the other values of the dat file in order to match again the correct intended behavior
-
Adjust the code , to read weight as total weight, but then that would require to keep same weight in the dat file but to change all the other values of dat fil to match again the correct intended behavior (this is VERY HACKISH)
-
Dont touch anything and keep the correct intended behavior.
IMO, Do not go option n°2 …. As you well know, coder has already a lot of work vs time available …
This is a work for datamen… I think it is time to go on option 1 … Together.
I kept an eye on Monli’s thread and by comparing results to my documents (unable to share them as they are confidential) I have good faith on Monli’s analysis. Sure… Not always 1000% exact (who can give a 100% truth model in a simulator … Nobody), but by look at he said about missile energy, flight profil, global perfo and trajectory diagrams … My conclusion is that his work on the .dat makes them close to RL than the one we had before… I deeeeeply consider and respect and admir RP team work, it dosen’t mean it can’t be improved… Especially using the materials that Molni has on Soviet systems.
Time to go forward together … But step by step and progressively. No need to hurry and no need to do everthing in one shot.
Actually, we are already in touch. And some of BMS missile.dat already fit with code requirement about missile weight and aero data… At least … Experimental results in-game fit (quite good) with RL diagrams as Molni showed.Step by step …
-
-
I think i will create a working group on this . I am waiting for someone to give me an answer for a tool we need…plus another tool.that falcas has to make
Keep tuned guys i will recruit soon
-
hey molni,
can you point me in the direction of your missile database? i’m somewhat impatient! :uham:
-
I think i will create a working group on this . I am waiting for someone to give me an answer for a tool we need…plus another tool.that falcas has to make
Keep tuned guys i will recruit soon
If you need any automation tools let me know, I can write one for this purpose quite quickly going by the requirements…
That is, if you don’t already have something.
Would just need to let me know what type of operations you need, on what data set.
-
hey molni,
can you point me in the direction of your missile database? i’m somewhat impatient! :uham:
http://www.mediafire.com/download/p2chwrif72eccnn/Misdata.zip
To get the same SAM behavior what my MOD has a lot mor is required than only missile dat files.
-
you have made an impatient person very happy!
what more is needed? do you think i can use the Generic Mod Enabler jag mentioned to accomplish this? i am looking for something non-permanent so i can easily switch to MP standard.
-
Radar dat files are also changed and range for missile in database and launcher and battalion modeling values should be recalculated with F4B.
-
how important are the modeling values? that sounds kind of important. something i probably shouldn’t be messing with.
-
Whithout changing the range in DB the SAMs simply do not launch from higher distance the missiles and from my aspect the old SAMs in radar modeling values was not enogh good I also changed values for radars. Range, chaff sensitivy, beam modifiers, etc.
-
that sounds like something i can leave alone. i am more concerned with realistic flight models than AI behavior. much thanks!
and Jags. thanks for the GME hint. i am now going to try out all sorts of things i was afraid to do. keep working!
-
These data can be exported and imported by F4B or can be typed manually.
-
Whithout changing the range in DB the SAMs simply do not launch from higher distance the missiles and from my aspect the old SAMs in radar modeling values was not enogh good I also changed values for radars. Range, chaff sensitivy, beam modifiers, etc.
However Molni, lets be careful in a first time. Lets focus (I am talking about what we are saying about missiles… Not talking about your personal work on your Korea mod) on flight dynamics. AI SAM behaviour and radar model is a different part … do not mix things.
There are some things that can’t be achieved yet (i.e. Latest models of S-300) and we currently can only go for the SA-10B ATM due to various problems about deagg bubble, radar modelization and code limitations/data design.
Also, implementing the SAM’s max range as a standard firing range is not good either (I guess you know it and you know why) for the other: … Because firing the missile when target is at the max engagement range is the best way to waste all missiles But this is another area.So please, focus on missile.dat and flight perfo. The rest is “my” area (not saying that remarks are forbidden of course) but please again, do not confuse Korea80 and BMS stock BD for the moment.
Step by step… Progressively and as usual, be also prepared to differents point of view, this is important when working together
-
Keep tuned guys i will recruit soon
On which version of files are you gonna work? … 4.32.7 or … ?
Just to know if it worth for me to continue what I have started…
-
thanks. anything that potentially makes the game more realistic is something i am always for. i will start playing around immediately. where did you get your information on missile performance data? i would like to take a look.
thanks for the tip on the Generic Mod Enabler. i use silent hunter as well. i didn’t know i could use that with other programs.
The missile data I have found using google. What looks like a college paper on missile design had some good data on the aim-7 for both thrust and flyout at 20k altitude. I also found a document with thrust and flyout data on the aim-9l at various altitudes, comparing it to a “variant missile”. I also found some axial/normal force charts created a South Korean university using Aero DB software for the aim-120 and aim-9. I do not believe any of it is classified, but I will not chance posting any links do to the instant ban hammer! I could e-mail these to you if that is ok.
-
Did you characterized that on several missiles (which ones?) or based on one single conclusion (single missile test)?
The only good flyout/thrust data I could find for air to air missiles was for the aim-7f and the aim-9l, therefore these are the only missiles I can really test to known data. I tested other air to air missiles as well to see if their performance was roughly within what one should expect based on their weights/total impulse and what max speed and range data is available. Since my aero tables are only conversions of the data in the file from normal and axial force coefficients to lift and drag coefficients, I didn’t really change any of that data, just the form it is presented in for the sim to read. The manuals for the SAM Simulator provide pretty good thrust and weights values and max speeds of various older sams such as SA-2, SA-3, SA-4, SA-5, and SA-8.
-
On which version of files are you gonna work? … 4.32.7 or … ?
Just to know if it worth for me to continue what I have started…
We will work only with weights impulze and Cx the rest is for you.
-
Be careful, you are doing wrong assumptions
This is INCORRECT.
BMS reads Empty weight and Weigth of propelant SEPERATLY.
void MissileClass::ReadInput(int idx)
{
inputData =
missileDataset[min (idx, numMissileDatasets-1)].inputData;
weight = inputData->wm0 + inputData->wp0;
wprop = inputData->wp0;
mass = weight/GRAVITY;
m0 = inputData->wm0/GRAVITY;
mp0 = inputData->wp0/GRAVITY;
mprop = wprop/GRAVITY;
}inputData->wm0 beeing the value read in the dat file as “weight”
inputData->wp0 beeing the value read in the dat file as “propellant”So the value in dat file shall NOT be the sum of both.
The confusion comes from the fact that since the origins of falcon, the DATA developpers put in that value the sum of both and build all their missiles like that. This was a mistake of course…BUT this may not have been wrong because as they made all their calculations or in game trial with this mistake in it, they have set up their missile taking this bug into account.
based on that fact, we had 3 choices :
-
Fix all the dat files by adjusting the weigths to the correct empty weight, which would require a complete rewritten of the other values of the dat file in order to match again the correct intended behavior
-
Adjust the code , to read weight as total weight, but then that would require to keep same weight in the dat file but to change all the other values of dat fil to match again the correct intended behavior (this is VERY HACKISH)
-
Dont touch anything and keep the correct intended behavior.
we at BMS made the choice de apply “3” because we trusted SPx developpers and did not want or had the time to recheck all missiles
AF has made the choicde to apply “2” but have not changed all data files, resulting in unknown missiles performances
NOW if your intention is to set up everything properly ; you must put EMPTY valaues in there and develop your missiles FM from this.
That is INCORRECT
the missiles code takes AXIAL / BODY values , that are read in the dat file as CX, CY
/–----------------/
/* body axis accels /
/------------------/
ifd->xaero = cxifd->qsom;
ifd->yaero = cyifd->qsom;
ifd->zaero = czifd->qsom;/-----------------------/
/* stability axis accels /
/-----------------------*/
ifd->xsaero = ifd->xaero * ifd->geomData.cosalp + ifd->zaero * ifd->geomData.sinalp;
ifd->ysaero = ifd->yaero;
ifd->zsaero = ifd->zaero * ifd->geomData.cosalp - ifd->xaero * ifd->geomData.sinalp;/------------------/
/* wind axis accels /
/------------------*/
ifd->xwaero = ifd->xsaero * ifd->geomData.cosbet + ifd->ysaero * ifd->geomData.sinbet;
ifd->ywaero = -ifd->xsaero * ifd->geomData.sinbet + ifd->ysaero * ifd->geomData.cosbet;
ifd->zwaero = ifd->zsaero;WHEREAS acdata aero code read CL / CD values (wind axis)
lift = clqsom;
drag = cdqsom;
/–----------------/
/* body axis accels /
/------------------/
xaero = -dragplatform->platformAngles->cosalp +
lift*platform->platformAngles->sinalp;yaero = cyqsom((float)beta - (float)fabs(beta)yshape0.5F);
zaero = -liftplatform->platformAngles->cosalp -
dragplatform->platformAngles->sinalp;/-----------------------/
/* stability axis accels /
/-----------------------*/
xsaero = -drag;
ysaero = yaero;
zsaero = -lift;/------------------/
/* wind axis accels /
/------------------/
xwaero = xsaeroplatform->platformAngles->cosbet +
ysaeroplatform->platformAngles->sinbet;
ywaero = -xsaeroplatform->platformAngles->sinbet +
ysaero*platform->platformAngles->cosbet;
zwaero = zsaero;Sorry to say we can not trust your work at that point
Perhaps I did not explain myself very well.
It is my understanding that the way the code reads the data files, that the launch weight of a missile is the sum of the the “weight of missile (lbs)” data and the “weight of propellant (lbs)” from the data file. It seems to me that the equations in the code have been altered to take this “bug” into effect, since if you enter the actual weight of the missile at burnout into the “weight of missile” data instead of the launch weight, the resulting missile velocity is much too great. That is why I had to reduce the thrust by 25% in my data files.
To address your second point on the aerodynamic coefficients. In the missile data files, the aerodynamic coefficients are listed as Normal and the Axial coeffients for various angles of attack and machs. However, as the missiles did not show additional drag as angle of attack increases(in fact the opposite) as they should. Looking at the coefficients, this seemed odd as the normal forces increased significantly as angle of attack increased which should have also increased the drag. I then used the equations from this web site: http://www.aerospaceweb.org/question/aerodynamics/q0194.shtml to convert the stock data coefficients from normal and axial format to lift and drag format. So the aerodynamic coefficients I have in my files are the same data, just in a different format. Upon testing in game it is plain to see that the missiles now showed increasing drag as angle of attack increased as would be expected. This is what led me to believe that the aerodynamic equation in the code was set up using a “lift drag” format instead of “normal and axial” format as in the stock missile files. As to if this is the case or if there is some other error in the code, I do not claim to know.
I am quite sure that you know much more about aerodynamics than I do, and I am not a coder so even if I could see the code it would probably be quite painful for me to try to match that up to aerodynamic equations to see what’s going on, and I am sure that this is best left in your capable hands! However, I am just as sure that in stock form the missiles do not show anywhere near the amount of drag in high g turns at high angles of attack as they should(in fact almost none), which is allowing them to perform completely absurd maneuvers such as adders performing an 180 deg mach 2 turn while losing almost no energy and then running down a supersonic fighter. This is what got me looking at all this in the first place.
As to your last statement that you cannot trust my work. That is good, as I don’t trust it either! I just don’t have access to the flight data for most of the missiles to even test them properly. I sincerely hope this thread may inspire the BMS team to look into this and fix it much better that my rough data hacks can. But that being said, I am also confident that the missile behavior in game with my files is more accurate than it currently is stock and that perhaps others would enjoy using my data file until a proper, more accurate fix is made.
-
-
We will work only with weights impulze and Cx the rest is for you.
Copy that.
@ Jags: thank you for explanations!
-
I think that it should be possible to extrapolate EXACTLY the new lift/drag coefs to match the intended behaviour, with physics equations… a simple 25% decrease in thrust is a bit simplistic, IMO.
Let me work on that on my own, and I might come up with formulas to convert “old, incorrect data” to “new, correct data” if the only error was missile empty weight.
EDIT : for testing, I advise the creation of TEs with a known bandit at a known altitude, distance, and speed (which can be changed, of course, using its flight plan), start it, freeze the sim IMMEDIATLY, fire, and check the result.