Aerodynamics in BeamNG

Discussion in 'Content Creation' started by Larry Kovayr, Dec 31, 2022.

  1. Larry Kovayr

    Larry Kovayr
    Expand Collapse

    Joined:
    Mar 8, 2015
    Messages:
    2
    Hi all, I was experimenting aerodynamics in BeamNG and I wanted to share how it works in depth.
    Feel free to tell me if I am missing something, if it's not understandable or just if I am wrong.

    In Jbeam, aerodynamic effects are added to triangles (and quads) with some parameters:
    liftCoef, dragCoef, stallAngle and the newest one, skinDragCoef.

    The triangle moving in one direction have an angle with the “air flow” called angle of attack (α or aoa).

    Lift and drag are the resultant forces in relation of airflow.

    Lift can be calculated with the formula:

    F=1/2*ρ*Cl*S*v²

    F : Force (N)
    ρ : Air density (or water) (kg/m^3)
    Cl : Coefficient of lift
    S : Area of the triangle (m²)
    v : Velocity (m/s)

    (The formula for drag is F=1/2*ρ*S*Cd*v² with Cd : Coefficient of drag)

    Coefficient of lift (which is not liftCoef) will vary with angle of attack.

    The liftCoef and dragCoef will increase or decrease lift or drag in percentage (a value of 50 will halve it and 200 will double it)

    The stallAngle parameter adds lift at the chosen angle (in rad). The smaller angle you choose, the more severe the stall gets. 1°=1*pi/180 rad. The angle you choose is max lift angle, not really stall angle.
    I also noticed that at stallAngle 10° (0,174 rad) and at 15° (0,262 rad) the max Cl vary a little :
    at 10° stallAngle and 10° aoa, Cl=1,04
    at 15° stallAngle and 15° aoa, Cl=1,02



    The values of the graphs aren't 100% accurate as I couldn’t choose precise angle of attack while doing them.

    The skinDragCoef fixes the minimum of drag so even at 0° angle of attack there is drag. It isn't affected by dragCoef. It is used for tires to grip in water (water and air are included in aero physics) and can be used to not have 0 drag on a wing at low aoa.



    Wind in environment tab does not affect physics, there is a Wind! app that does it. Wind is not taken account in airspeed, which is called groundspeed IRL.
    Also the wind blows from the arrow to the selection knob. If you make a wind at 90° in the app, it will blow from west to east. In meteorology and aeronautic, it is the opposite, a 90° wind will blow at your face if you look east (from east to west).
     
    • Like Like x 5
  2. Dyghaun

    Dyghaun
    Expand Collapse

    Joined:
    Jul 12, 2017
    Messages:
    150
    Very good man, always good to learn more about the game physics. Hope devs and experienced modders (that made planes for ex.) show up to share more knowledge so the community as a whole can get a better understanding about this topic.
    One thing i would like to see is the ground effect being better explained and explored, as its important both for downforce and lift.

    off-topic: Man, do i miss the DH Super Gnat. What happened to it? Why no one built upon it for us to have a nice Helicopter on the game?
     
  3. Jackets64

    Jackets64
    Expand Collapse

    Joined:
    Nov 26, 2017
    Messages:
    1,913
    I have a functional version of it, I’ve also modified it so that it’s basically impossible to overheat. I can DM it to you if you’d like.
     
  4. Larry Kovayr

    Larry Kovayr
    Expand Collapse

    Joined:
    Mar 8, 2015
    Messages:
    2
    The principle of ground effect is used for several phenomena, the increase of lift in a plane close to the ground is the reduction of induced drag (drag from tip votices) on the other hand the downforce increase in automobile called ground effect is created by the increased velocity under the car.
    These aren't featured in BeamNG but can be done artificialy with the current system.
    For the Gnat, I think nobody took the time to make an helicopter mod this ambitious and/or maybe the creator don't want to share his work by giving the Jbeam
     
  5. ZdrytchX

    ZdrytchX
    Expand Collapse

    Joined:
    Jan 8, 2024
    Messages:
    33
    Thanks larry for this very informative thread. I kinda wished the devs included in the aerodynamics lua calculations for custom lift/drag curves like they did with regen and torque curves but knowing how little the community actually cares about how accurately aircraft are modelled in this game, that's understandable.

    But still, there's so much potential for aircraft in this game, and darren9's helicopter despite its problems is just absolutely amazing that I've spent more time with the helicopter than any other vehicle in the game thus far, and because of the unique soft body physics of BeamNG, I actually honestly think the helicopter feels better than many DCS World helicopters.
    I got the game back in december when it was on special, and I've been working on modding the Super Gnat since January. But because Darren9 had his account removed and thus all his mods, I can't legally share it here without his permission (but if anyone has his contact details, let me know. I can also be contacted on reddit via /u/ZdrytchX). Included are numerous fixes and changes, and if you have BeamMP, you can (currently, 0.31) get a working version of this helicopter on the Road Dogs CareerMP (Yes you can do cargo missions!) and Aeronautics server. There are no model changes however but I intend to learn blender later and start adding stuff to it before starting my own fresh mod, which can actually be released to the repo.

    I actually have a lot of plans to do with this regarding modular parts, such as making a coaxial form similar to a kamov but also pusher props, a proper cargo sling, teetering hinged rotors, deformable rotors and so on, but I still have a lot to learn regarding more specific jbeam tech and I need to learn blender practically from scratch. Me moving to linux is actually kinda a great motivation to do so.

    (more on super gnat's specifics in spoiler)
    Regarding the JBeam, it actually has some... excessive values, probably due to the limits of jbeam stability with the physics engine running at "only" 1000 fps (which is why the controls are so wobbly and jittery, changing the dampening even slightly makes the whole thing practically blow up). The rotor blades actually rotate at a fairly realistic speed but their liftCoef is set to 450 by default, which is roughly double what is normally obtainable by real world helicopters. As a result, the helicopter is actually abnormally good at gliding and kinda overperforms for its class, and as I'd found out, even with the rotors not spinning.

    I should mention that there is a point to doing things this way though, because there's actually no ground effect, no true vortex ring state, autorotations are faked through cross-section aerodynamic triangles.
    Even though the rotor RPM spins at a roughly realistic RPM for a helicopter, for its size it actually probably spins a little slow-ish. You can't really increase the RPM much beyond because its already on the limits of what the game engine's physics can handle, but I'll find out soon enough when I start creating my new helicopter from scratch later this year, or if I do eventually get around to changing the rotor blades from immutable props to flexbodies on the dh super gnat.

    Another problem is that jbeam configuration requires a lot of research into material characteristics to get realistic behaviour - Like for example, how dense is the rotor blades and what is their tensile strength? This data isn't easily accessible unfortunately and much data regarding the manufacturing techniques is proprietary technology, and I live in an area where I can't simply walk into a business that makes these kind of parts and ask these kind of questions.

    The mass is kinda abnormally heavy for its size due to the minimum node weight values being roughly 1kg each for jbeam stability.

    There are a lot of quirks and bugs with the beam-node connections and how things are connected, like for example I don't know if torsion bars existed when darren made it but he didn't use them, so the blades twisted down as the blades spun faster, so it is actually more efficient to fly the helicopter upside down.
    upload_2024-2-12_19-15-51.png

    If you want to read more about my journey learning modding and the quirks of the DH super gnat, you can read the chat log on the road dogs server
     
    #5 ZdrytchX, Feb 12, 2024
    Last edited: Feb 12, 2024
    • Like Like x 1
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice