Code Monkey home page Code Monkey logo

ferram-aerospace-research's Introduction

Ferram Aerospace Research v0.15.9.1 "Liepmann"

Aerodynamics model for Kerbal Space Program

Serious thanks: * a.g., for tons of bugfixes and code-refactorings
* stupid_chris, for the RealChuteLite implementation * Taverius, for correcting a ton of incorrect values
* Tetryds, for finding lots of bugs and issues and not letting me get away with them, and work on example crafts * sarbian, for refactoring code for working with MechJeb, and the Module Manager updates
* ialdabaoth (who is awesome), who originally created Module Manager
* Regex, for adding RPM support
* DaMichel, for some ferramGraph updates and some control surface-related features
* Duxwing, for copy editing the readme

CompatibilityChecker by Majiir, BSD 2-clause http://opensource.org/licenses/BSD-2-Clause

Part.cfg changes powered by sarbian & ialdabaoth's ModuleManager plugin; used with permission
http://forum.kerbalspaceprogram.com/threads/55219

ModularFLightIntegrator by Sarbian, Starwaster and Ferram4, MIT: http://opensource.org/licenses/MIT http://forum.kerbalspaceprogram.com/threads/118088

Toolbar integration powered by blizzy78's Toolbar plugin; used with permission
http://forum.kerbalspaceprogram.com/threads/60863

Source available at: https://github.com/ferram4/Ferram-Aerospace-Research


---------------- INSTALLATION ----------------

Install by merging the GameData folder in the zip with the GameData folder in your KSP install

ModuleManager and ModularFlightIntegrator are REQUIRED for FAR to work properly. Failing to copy this over will result in strange errors.


---------------- LEGACY WING CONFIGS ----------------

Sample Part.cfg:

For wings

MODULE  
{  
	name = FARControllableSurface / FARWingAerodynamicModel  
	b_2 = 0.5				//distance from wing root to tip; semi-span  
	MAC = 0.5				//Mean Aerodynamic Chord  
	nonSideAttach = 0			//0 for canard-like / normal wing pieces, 1 for ctrlsurfaces attached to the back of other wing parts  
	TaperRatio = 0.7			//Ratio of tip chord to root chord generally < 1, must be > 0  
	MidChordSweep = 25			//Sweep angle in degrees; measured down the center of the span / midchord position  
	maxdeflect = 15				//Default maximum deflection value; only used by FARControlableSurface  
	controlSurfacePivot = 1, 0, 0;		//Local vector that obj_ctrlSrf pivots about; defaults to 1, 0, 0 (right)  
	ctrlSurfFrac = 0.2			//Value from 0-1, percentage of the part that is a flap; only used by FARControlableSurface  
}

For control surfaces, use above but replace FARWingAerodynamicModel with FARControllableSurface and add maxdeflect value

Set all the other winglet/control surface values to zero

CHANGELOG

0.15.9.1V "Liepmann"------------------------------------

Update for KSP 1.3.1 (though not strictly necessary)
Update to MM 3.0.4 for KSP 1.3.1

Added ability to override structural stress values for aerodynamic failures on a per-part basis
Switch to applying forces through part.AddForce rather than rb.AddForce to allow Principia to handle gravity within atmospheres
Added functions to KSPAPI to check the status of any vessel's voxelization

Fix issues with all RealChuteLite chutes having the same exact drag properties
Fix RealChuteLite GUI not displaying any information
Remove unnecessary stock lifting body effects on pods

0.15.9V "Liebe"------------------------------------

Update for KSP 1.3
Update to MM 2.8.1

Include support for localization
Include German (by terorie), Russian (by pand5461), and Chinese (by Nigh) translations

Fix NaN errors with Trajectories
Fix some issues with identifying KSPWheel Adjustable Landing Gear as gear

0.15.8.1V "Lewis"------------------------------------

Bugfix patch for KSP 1.2.2

Fix Flight GUI button activated/not activated being backwards
Don't revoxelize for several B9 and AJE animation modules to reduce lag, thanks blowfish
Fix game crashing when a vessel landed in water is loaded

0.15.8V "de Laval"------------------------------------

Compatibility for KSP 1.2.2 (finally)
Update to MFI 1.2.4
Update to MM 2.7.6

Lots of compatibility changes thanks to Alexander Abramov
Reduce memory use and garbage production in GUI thanks to soulsource and Virindi-AC

Fix GUI button multiplication
Fix stock drag arrows to be useful again
Fix voxelization errors with some intake parts
Fix FARAction group settings not saving
Fix landing gear main axis dtermination
Fix voxel errors with some stock parts

Made ignorable transforms for voxelization customizable via config

0.15.7.2V "Lanchester"------------------------------------

Fix a serious bug in v0.15.7 and v0.15.7.1 where chutes would not provide any drag

0.15.7.1V "Kutta"------------------------------------

Update to MFI 1.1.6 to fix an incompatibility with Kopernicus and the earlier version
Update CompatibilityChecker version
Update license

Fix an issue where voxels could be incredibly asymmetric on symmetric crafts

0.15.7V "Küchemann"------------------------------------

Update to ModuleManager 2.6.25
Update for KSP 1.1.3 compatibility

Implement higher resolution sub-voxel voxelization method
Allow switching between high and low res sub-voxel methods
Optimize voxel shell generation, particularly for high triangle count meshes
Increase the resistance to sideways aerostructural failures for many fuselage and rocket parts

Fix voxelization error that would lead to transparent mesh objects being voxelized
Fix voxelization errors that could lead to incomplete voxelization of some stock procedural fairing shapes

0.15.6.5V "Knudsen"------------------------------------

Update to ModularFlightIntegrator 1.1.4
Fix a serious issue where wings would provide no forces and forces would be distributed incorrectly across vehicles
Fix an issue where wing symmetry counterparts would not have equal masses
Fix non-zero convective heat flux on shielded parts

0.15.6.4V "Kleinhans"------------------------------------

Fix a no-drag issue with asteroids
Fix a physics breaking issue with Tweakscaled wing parts, thanks pellinor
Fix GUI window positions not loading on vessel spawn
Fix distribution of forces on parts; no change in total force and torque applied to vessel, just to which parts
Fix slightly negative drag on rearward-facing vehicles at high Knudsen numbers

0.15.6.3V "Kindelberger"------------------------------------

Recompile for KSP 1.1.2 compatibility
Bundle ModuleManager 2.6.24 for 1.1.2 compatibility

Fix a critical error that would cause KerbalEVAs to have no aerodynamic forces applied to them

0.15.6.2V "Kartveli"------------------------------------

Ensure KSP 1.1.1 compatiblity
Upgrade to ModuleManager 2.6.23

Fix new landing gear interfering with main axis determination
Fix RealChute / RealChuteLite interaction breaking stock chute behavior, thanks to stupid_chris
Fix mass-calc error for wing-mass-strength that resulted in all planes gaining unhealthy amounts of weight
Attempt to make debug-compatibility actually work, thanks to NathanKell

0.15.6.1V "von Kármán"------------------------------------

Fix a critical CPU usage bug that resulted in voxelization threads SpinWaiting forever, monopolizing the processor
Fix parachutes without RealChute configs not applying forces when FAR + RC are installed, thanks to stupid_chris
Fix ModuleManager database reload function hanging halfway through, breaking the game, thanks to stupid_chris

0.15.6V "Jones"------------------------------------

Update to KSP 1.1
Update to bundle ModuleManager 2.6.22
Update to bundle ModularFlightIntegrator 1.1.3

Updates to RealChuteLite, thanks to stupid_chris
Compatibility changes for use of KSP debuggers, thanks to neouy

Increase aerodynamic damping for fuselages to somewhat more realistic levels
Fix a serious issue that disabled the majority of conduction between parts

Disable win64 locking

0.15.5.7V "Johnson"------------------------------------

Tweak pitch and roll damping of fuselages to make more logical sense; excessive roll damping at high dynamic pressures for wingless vehicles has been fixed
Change units for specific excess power in the Flight Data readout to be W/kg on the basis that it makes more logical sense than m^2/s^3

Fix a critical error that prevented voxelizations of Kerbals or any vehicles that had Kerbals riding in a command seat

0.15.5.6V "Jacobs"------------------------------------

Update to MM 2.6.18

Fix more negative sonic drag issues
Fix unrealistically low sonic drag
Fix failure to load saved FAR data in flight
Fix unrealistically high numbers in indicated airspeed at higher Mach numbers

Lower critical Mach number for slender vehicles with sudden bulges and waviness in their cross-section

0.15.5.5V "Hugoniot"------------------------------------

Fix an inconsistency in calculations of sonic drag
Fix possibility of sonic drag resulting in negative drag coefficients on very blunt shapes
Generally increase sonic drag of blunt objects, generally decrease drag of slender objects

Fix water drag failing to function under complete submersion
Fix rare error where Procedural Fairings will not properly voxelize
Fix GetCurrentDensity method (for external mods) to return result consistent with simulation
Fix overheat interaction on load with ModuleCoreHeat
Fix FAR breaking on attempts to load Training or Scenario scenes
Fix spoilers and flaps not updating with settings in the editor

0.15.5.4V "Hoerner"------------------------------------

Adjust water drag for better splashdown performance
Fix a serious voxelization issue with ModuleJettison, most notable in leading to no-drag reentries
Fix an issue where 3rd-party voxelization updates could sometimes break the editor GUI and CoL
Fix a serious issue that could lead to spontaneous crashes on aero initialization (either VAB / SPH CoL, editor GUI, or going to flight)

0.15.5.3V "von Helmholtz"------------------------------------

Upgrade to MM 2.6.13

RealChuteLite consistency with RealChute calcs and optimizations thanks to stupid_chris
Implement dynamic smoothing calculations based on relative "filledness" of voxel; should help reduce effect of voxel-resolution-induced smoothing on larger vehicles
Tweaks to critical Mach calculations

Fix "silent" KSP update breaking hydrodynamic drag
Fix some voxelization irregularities
Fix control surface flap settings not appearing if the settings are turned on in flight
Fix some other control surface in-flight changes oddities

Fix Firehound MS example craft action groups not acting in symmetry
Added E42 example craft by tetryds

0.15.5.2V "Helmbold"------------------------------------

Compatibility with KSP 1.0.5
Upgrade to MFI 1.1.2

Optimizations of runtime aerodynamic calculations
Cut background memory usage for voxels to ~60% of previous value
Increases in consistency of properties with similar voxel shapes

Full support for new stock hydrodynamic drag
Voxel model used in calculating radiative influx from celestial bodies
Reduction in first-load inconsistency in editor
More varied support for intake ducting setups, including support for stock Goliath engine
Tweaks to intake drag at low airbreather throttles

Editor GUI header cleanup
Dropdowns notated with down triangles for clarity
Added AoA Arrow to make AoAs for static analysis sweeps and stability deriv sims clearer

Fix for voxelization issues with degenerate triangles
Fix for voxelization issues with meshes with 0 triangles
Fix for B9 pWings not solidifying properly
Fix editor race condition in displaying sonic drag for vehicles
Fix for multiple vehicle aerodynamic NREs that could break aero
Fix for vehicle aerodynamics breaking under certain vessel-part configurations

Updated FAR Firehound MS, FAR SkyEye, FAR Montauk Shuttle to be more useful in KSP 1.0.5

0.15.5.1V "Hayes"------------------------------------

Upgrade to MM 2.6.8

Fix some legacy wing interaction issues
Fix drag properties drifting slowly over multiple voxelization events due to numerical errors
Fix parts being occluded when main axis is in a strange orientation
Fix in-flight control surface tweaks not applying to symmetry counterparts
Fix KerbalEVAs working with Vanguard Parachutes

Fix for a critical error where detached boosters, weapons, debris, etc. would not have drag properties

0.15.5V "Haack"------------------------------------

Upgrade to MM 2.6.7
Fix for some RealChute issues by DaMichel
Animation ignoring for voxelization by Blowfish
Addition of air brakes for yaw control (RudderBrakes) adopted from original code contributed by HoneyFox

Reduction in memory garbage created during voxelization; this should reduce the impact of voxelization somewhat, especially hitching. Note: some hitching may still occur with vehicles with many wing parts due to legacy wing code
Runtime performance optimizations for ram drag and general aero calculations
Highly optimized bounds checking for voxelization

Kerbals handled by voxel model now (using a simple primitive shape, presence or absence of helmet doesn't matter)
Control surface parameters available for tweaking in flight
Control surface tweakables given open/close buttons for sections to reduce clutter
Revert BDArmory bombs and missiles to stock model after launch to improve tracking, stability and predictions

Fixed main axis issue with BDArmory parts and similarly designed parts
Fixed a long-standing issue in wing aspect ratio calcs (they were double what they should have been)
Fixed ram drag variation with throttle not accepting AJE jets as valid jets for that purpose
Fixed drag not using the calculated critical Mach number for the beginning of the drag transonic rise
Fixed possible NRE issues during steady destruction of vessel with parts being destroyed
Fixed issue where increased number of wing parts would cause wing mass adjustment to increase mass without bound; mass is now bounded, but more concentrated in root parts than wingtip parts

Tweaked subsonic drag downwards to get more accurate results with fixed AJE props Tweaked wing mass downwards slightly
Tweaked wing strength power to result in greater strength from lower-mass wings

0.15.4.1V "Goldstein"------------------------------------

Re-implementation of aero viz coloration, thanks to mjn33

Reduction in garbage produced by voxelization, prep for further garbage reductions

Fixed NaN issue with KAX electric props
Fixed drag-breaking NRE during rapid disintegrations
Fixed some issues with Blizzy Toolbar icons
Fixed exacerbation of stock heating bug
Fixed control surfaces not updating direction during staging-related CoM shifts

0.15.4V "Glauert"------------------------------------

Update to MM 2.6.6
Update to MFI 1.1.1, fixes gimbaling bug below 750 m/s on short vehicles
Update win64 check code to MM method

Added internal ducted area feature:
* Area ducted through a vehicle from intakes to airbreathing engines will be removed from cross-section
* Adjusts area ruling to properly model air that flows through the vehicle as opposed to around it
* Does not count for airflow through switch-backing or reversing ducts; no benefits for intakes that feed upstream engines
* Supports stock intake part + airbreathing engine part setups, AJE intake part + airbreathing engine part setups, and combined intake + engine part setups

Slight improvement to Flight Data readouts from mjn33
Toggle gear button now states "Raise" or "Lower" gear for clarity

Fixed serious issue where exposed area was not updated for thermal calculations
Fixed some blunt shapes having NaN drag in the transonic regime
Fixed some blunt, thin-plate shapes having negative drag in the transonic regime
Fixed serious issue where long, skinny vehicles would have incorrect 2nd derivatives and incorrect transonic drag as a result
Fixed NRE with Launch Clamps
Fixed NRE with animations that are removed from a part (for whatever reason)

Cleaned up unused values from FARAeroData.cfg
Added support for planets to be identified by planet name, not just index; combining these in a FARAeroData MM patch is likely to cause overwrites, don't do it
Added ability to read and set flap and spoiler states from FARAPI
Fixed Firespitter gear not responding to Toggle Gear button
Added support for adjustable landing gear in Toggle Gear button
Stopgap fix to unintended voxelization of USI Warp Drive bubbles

0.15.3.1V "Garabedian"------------------------------------

Compatibility with KSP v1.0.3 and thermal changes
Fix one last error with voxelization breaking due to reverts

Add ability to make parts not count for main axis determination; fix structural panels interfering with proper main axis determination

0.15.3V "Froude"------------------------------------

Update to MM 2.6.5 for greater nyan nyan
Allow display of pressure coefficient (under assumption of axisymmetric flow) over the vehicle
Tweak subsonic drag to be lower for slender shapes

Fixed voxelization breaking due to combined memory leak + hard memory limit for voxelization after many editor -> flight cycles
Fixed some race conditions in voxelization that could break aero properties
Fixed deadlock in threadpool if many voxelization events triggered simultaneously
Fixed possibility of deadlock if voxelization settings were updated

Fixed voxelization errors for some cargo bays and other parts
Fixed voxelization errors for pWings; includes support for any parts making use of mirrorAxis

Fixed some longstanding wing interaction issues, including permanent stalled wings
Fixed a newer issue with wing shielding on symmetry counterparts

Some main axis determination improvements
Fixed an where certain user atmospheric settings would not take

0.15.2V "Ferri"------------------------------------

Improved voxelization accuracy
Changed CoL code again to try and make it more useful
Cleaned up some unnecessary calculations

Fixed voxelization breaking after many voxelization events; this fixes no-drag situations
Fixed deployed spoilers not producing drag if mounted flush with vehicle
Fixed some main axis issues
Fixed improper heating area for atmospheric heat

Fixed interaction with KIS breaking things
Fixed some data not saving
Fixed exceptions during EVA

0.15.1V "Fanno"------------------------------------

Fixed improper voxelization of debris and vehicles dropped from existing vessel, including effects on stock "occlusion" system
Fixed improper determination of vehicle main axis
Fixed Kerbal EVAs having no drag
Fixed exceptions where outirght disintegration could prevent some vehicles from having aerodynamics applied

Added upper cap on memory allocated for voxelization

Changed calculation of CoL to make more sense
Fixed error in determining AoA for nominal flight in Stability Derivative GUI
Hid yellow aero moment arrows by default in aero overlay to reduce user confusion
Fixed lift / drag arrows remaining on wings that become shielded when aero overlay is open

Switched to a cleaner method of setting internal speedometers
Disable control surfaces auto-response below 5 m/s to prevent wacky flailing during load / when stopped

Change compatibility settings to reject KSP 1.0.0, which is not compatible with RealChuteLite
Updated save-load method to save more reliably and not throw exceptions

0.15V "Euler"------------------------------------

Compatibility with KSP 1.0, 1.0.1, and 1.0.2
Upgraded to MM 2.6.3
Introduction of ModularFlightIntegrator for interfacing with KSP drag / heating systems without interference with other mods

Replaced previous part-based drag model with new vessel-centered, voxel-powered model:
* Generates voxel model of vehicle using part meshes, accounting for part clipping
* Drag is calculated for vehicle as a whole, rather than linear combination of parts
* Payload fairings and cargo bays are emergent from code and do not require special treatment with configs
* Area ruling of vehicles is accounted for; unsmooth area distributions will result in very high drag at and above Mach 1
* Body lift accounts for vehicle shape in determining potential and viscous flow contributions
* Areas exposed to outside used for stock heating calculations

Performance optimizations in legacy wing model
Jet engine windmilling drag accounted for at intakes

Editor GUI improvements including:
* Greater clarity in AoA / Mach sweep tab
* Stability deriv GUI math modified for improved accuracy
* Stability deriv simulation tweaked to fix some minor issues in displaying and calculating response
* Addition of a Transonic Design tab that displays cross-section distribution and drag at Mach 1 for area ruling purposes

Parachute methods have been replaced with RealChuteLite implementation by stupid_chris:
* Less severe parachute deployment
* Parachutes melt / break in high Mach number flows
* No interference with RealChute

Changes to FARAPI to get information faster

FARBasicDragModel, FARPayloadFairingModule, FARCargoBayModule are now obsolete and removed from the codebase
Extensive reorganizing of source to reduce spaghetti and improve maintainability

Modifications to Firehound and Colibri to function with new flight model
Addition of Blitzableiter and SkyEye example crafts

A 1.5x increase to all stock gimbal ranges

0.14.7V------------------------------------
Features:
Raised stalled-wing drag up to proper maximum levels
Adjusted intake drag to be lower
Improved method of dealing with very high vertex count parts for geometry purposes
Upgraded to MM 2.5.13
Included FAR Colibri, a VTOL by Tetryds as an example craft

Bugfixes:
Fixed an issue preventing loading custom-defined FARBasicDragModels

0.14.7V------------------------------------
Features:
Raised stalled-wing drag up to proper maximum levels
Adjusted intake drag to be lower
Improved method of dealing with very high vertex count parts for geometry purposes
Upgraded to MM 2.5.13
Included FAR Colibri, a VTOL by Tetryds as an example craft

Bugfixes:
Fixed an issue preventing loading custom-defined FARBasicDragModels

0.14.6V------------------------------------
Features:
Modified skin friction variation with M and Re to closer to that expected by using the Knudsen number
Changed saving and loading method to allow better behavior when settings need to be cleaned during updates, especially for automated installs
Modified aerodynamic failures for water landings for compatibility with upcoming BetterBuoyancy
Option for aerodynamic failures to result in explosions at the joint during failure.
Serious reworking to handle edge cases with lightly-clipped parts and their effects on blunt body drag (read: when people clip heatshields into the bottom of Mk1 pods and cause problems)
Upgrade to MM 2.5.6

Bugfixes:
Fixed an issue that prevented Trajectories from functioning
Fixed blunt body drag errors with AJE
Fixed issues involving editor GUI and control surface deflections
Fixed edge cases involving attach-node blunt body drag being applied when it shouldn't have
Fixed issues with command pods containing intakes

0.14.5.1V------------------------------------
Features:
Add Reynolds Number readout to main flight GUI

Tweaks:
Adjust skin friction drag for rarefied atmosphere

Bugfixes:
Fix Stab Deriv GUI from breaking for altitudes above atmosphere
Fix flaps and spoilers not functioning with negative deflections

0.14.5V------------------------------------
Features:
Skin friction drag now varies with Reynolds number; this means much higher skin friction drags at higher altitudes
Added simple attempt at handling hydrodynamic effects; not detailed, but objects in oceans move much less
Added color changing options for colorblind users
Tweak flap and spoiler deflection functions
Give spoilers faster deflection coefficients
Update to ModuleManager 2.5.4

Bugfixes:
Removed spontaneous aero-spline warp drive in some Linux64 versions

0.14.4.1v------------------------------------
Features:
Added changes to blunt body drag to make command pods more stable on reentry
Attempt to account for most inaccurate effects of part clipping

0.14.4v------------------------------------ Features:
Default ActionGroups now controlled throuhg dropdown menus rather than string entry
Stability Deriv tab now takes entry in terms of planet, altitude and Mach Number, not density, temperature and Mach number
Stability Deriv tab now accounts for reduced gravity due to high speeds

Contributed by HoneyFox:
Pitch damper now has an additional gain for greater tuning
Control surfaces can now be set to deflect in response to local AoA changes
Control surfaces are not On/Off for a given control direction; can be scaled from -100% to 100% for each

Contributed by Bitronic:
Full Tweakscale Support

BugFixes:
Fixed no shielding with some payload fairings (particularly resized procedural fairings)
Fixed aero tinting blocking tinting from other mods

0.14.3.2v------------------------------------
Features:
Contributed by Da Michel:
Airspeed settings change readouts in cockpits

Bugfixes:
Fixed serious issues with the wing interaction code
Fixed an issue where wind velocity was applied in the opposite direction that was expected

0.14.3.1v------------------------------------
Features:
Improved performance in editor and flight for vessel configuration changes
Fliht GUI appears in mapview

Bugfixes:
Fixed neverending stall resulting from wing interactions with sudden changes in velocity vector direction
Fixed flight GUI issues when passing another vehicle

0.14.3v------------------------------------ Features: Refactored wing interaction code:
Wing interactions should be smoother
Code should be less processor intensive

Upgrade to ModuleManager v2.5.1
Added stall visualization to aero force visualization
Added ability to scale wing mass up or down for additional strength / weight savings (addedby NathanKell)
Improved cargo bay and payload fairing detection algorithm

Tweaks:
Reduced intake drag
Decreased wing mass per area slightly

Bugfixes: Fixed aero visualization leaving parachutes glowing brightly
Fixed some critical errors for when config files do not have values listed
Fixed an issue with AppLauncher buttons multiplying when KSP fails at loading a particular vessel

0.14.2v------------------------------------ Features: 0.25 compatibility, with stock support for SP+ parts
Upgrade CompatibilityChecker
Disable functions on CompatibilityChecker warnings

Prototype aero force visualization in flight
Removed vector from CoL indicator to reduce confusion
More Get functions for the FARAPI
Estimated range and endurance readouts in the Flight Data UI
See and dump FAR module data in the VAB / SPH using the Editor GUI
Some runtime optimizations

Contributed by Da Michel:
Implement separate deflection speeds for flaps / spoilers
Allow preferred default action groups for spoilers / flaps
Contributed by regex:
Add some RPM integration
Contributed by Ippo:
FARWind class for 3rd-party wind implementation

Bugfixes: Fixed some vessel-switching FAR GUI issues
Fixed control surface reversal on undocking or backwards root part selection
Fixed some issues involving CoL position with wings when dealing with parts that have multiple colliders
Fixed some payload fairing and cargo bay part detection issues

ferram-aerospace-research's People

Contributors

alexanderabramov avatar biotronic avatar blowfishpro avatar chrisviral avatar damichel avatar e-dog avatar ferram4 avatar honeyfox avatar ippo343 avatar jbengtson avatar khr15714n avatar mjn33 avatar mutability avatar nathankell avatar neuoy avatar nigh avatar olympic1 avatar pand5461 avatar pjf avatar raidernick avatar sarbian avatar shadowmage45 avatar skymarshal avatar soulsource avatar taniwha avatar taverius avatar tyrope avatar virindi-ac avatar vosechu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ferram-aerospace-research's Issues

Odd wing shielding and stalling behaviour

While testing some very old FAR craft I found some wings seemed almost permanently stalled. Adding some extra information to the right click menu, it seems that often there was asymmetric shielding, and that AoAmax for the stalling wing pieces could range from anything between ±40000 as a lower bound.

To verify this wasn't something weird lurking in the old craft files I based two new test craft of off the old "FAR Hypersonic Demon".

FARtest12.craft (no shielded wings, needs infinite fuel enabled)
FARtest13.craft (shielded wings)

Also, I found that actions such as deploying and retracting landing gear somehow affect the shielding of a wing piece completely separate from it.

I'd guess the odd stalling behaviour is related to the wing interaction code, as I couldn't see anything in there that differentiates between part of an actual wing, or a wing piece used as a structural piece.

Reproduction steps:

  1. (Optionally) add some extra info to the right click GUI (see Gist)
  2. Go to the SPH
  3. Load the FARtest13 craft
  4. Launch
  5. Gain some speed
  6. Observe that some wing pieces are almost permanently stalled / other weirdness

https://gist.github.com/mjn33/43d9f7bf048be8746533 (also contains a few experiments relating to shielding)
screenshot0.png
screenshot1.png
screenshot2.png
Player.log (don't think there's anything useful in there)

CTD from launchpad / runway,

Linux 64,
Starting from a clean installation from steam
Module manager installed,
FAR installed in full

Only logfile I could find on the linux 64 version, point me in the right direction if i'm wrong!
http://paste.ubuntu.com/8890770/

Replication; Select craft from hangar and launch OR select runway and launch prebuilt ship

Kind Regards

EDIT: Just realised it wasn't a true clean installation due to navhud being installed, redownloading now
EDIT 2: Unfortunately still there :(

additional log

http://paste.ubuntu.com/8891307/

"Updating vessel voxel" spam in log, attendant lag

I hit an interesting issue today where KSP hiccuped every second (pausing for a small but perceptible interval), and the debug log contained:

"Updating vessel voxel for VesselName"

every second.

A bit of experimentation showed this wasn't happening straight out of the VAB, but I could induce it on the vessels I was testing by deploying a deployable solar panel of the restowable type. To be clear, the lag and log spam continued even once the panel had completed its movement, even if the panel was then restowed.

I'll gladly provide any more information you need; but I don't know what that would be.

v0.15 "Cannot deploy while stowed" when attempting to deploy satellites that were packed in a fairing.

When deploying four communications satellites according to the standard procedure I got "Cannot deploy while stowed" when trying to activate anything on the satellites after the fairing has been deployed. It would make sense if they were actually still in the fairing, but they're completely free. They're strutted to the inside of the fairing, so I don't believe they've being knocked around in there.

Sometimes an odd antenna here or a solar panel there or miraculously the engine of the first sat will activate. It's inconsistent, but mostly failing over five launches.

Uninstalling FAR allowed me to deploy the satellites using the same craft on the first try.

Wishlist: do not revoxelise in vacuum

It struck me, as part of the discussion on another issue, that constantly animated modules like rotating habitat sections will cause constant vessel voxelisation. Would it not be possible to suppress this in vacuum altogether?

Surface-attached parts have FARBasicDragModel with incorrectly defined orientation.

While developing an air-breathing engine I ran into a problem with FAR:
The engine is surface-attached by a pylon and has no stack nodes. Its local axes are oriented as follows:
Engine axes orientation
But being attached in default orientation to a plane in SPH it gets the maximum drag coefficient (as indicated by CdCurve in drag model debug printout). And rotating it so that its Z axis is collinear with the surface velocity gives the smallest Cd:
Drag in the default orientation
Drag with Z axis collinear with the surface velocity

I tested the issue with several other surface-attached parts with the same result.

DCA should support mixed controls

Hello,

I recently ran into a problem using DCA on a rocket that had both control surfaces (for launch) and reaction wheels (for upper ascent). Once I started going supersonic, DCA nerfed my control inputs in proportion to the dynamic pressure -- except it reduced both the rocket fins (good) and the reaction wheels (bad). I ended up losing control of the rocket because I no longer had the control authority in the upper atmosphere to both correct my flight path and avoid straying too far from prograde.

IMO, a better strategy would be to compute the fraction of the unmodified torque that comes from control surfaces (if you need an algorithm reference, MechJeb already does similar calculations), then reduce the control input by the currently used penalty times that fraction. This should ensure that the corrected control authority is equivalent to only reducing the effect of control surfaces, and not of atmosphere-independent sources of torque.

No Aileron Control

All control surfaces become completely non-functional upon installation

Erratic fluttering of control surfaces set to follow AoA when standing still

First of all: Great work on the Euler update/remake of FAR ferram4!

Now to my suggestion:
Control surfaces which are set to follow AoA are fluttering erratically when the craft is not moving. This is not really a problem, but looks really bad.

An easy fix would propably be to disable AoA control under a speed of a few (like 1-5) m/s.

More of a visual enhancement than a bug, but hey, it's something which bothered me a bit.

FARAPI CalculateVesselAeroForces call causing aerodynamic failures

Calling CalculateVesselAeroForces from the FARAPI appears to result in aerodynamic failures and exploding parts when trying to predict forces for a parked test vessel.

I was trying to predict forces for use in another mod, and found fins getting ripped off stationary vessels on the pad when requesting forces given a large velocity vector.

Don't rule out user error, but I do have a theory from tracing the code:

CalculateVesselAeroForces
-> Instance.InstanceCalcVesselAeroForces
-> SimulateAeroProperties
-> PrecomputeCenterOfLift
-> CalculateForces
-> DoCalculateForces (several overloaded calls)

This statement checks for aerodynamic failure - getting called on the simulation:

if (Math.Abs(Vector3d.Dot(scaledForce, forward)) > YmaxForce * failureForceScaling || Vector3d.Exclude(forward, scaledForce).magnitude > XZmaxForce * failureForceScaling)

0.14.5: out of range altitudes for stability analysis wedge the GUI

If you enter a very-out-of-range altitude (e.g. 15000km) into the SPH stability analysis window, on hitting Calculate the FAR window goes blank and completely wedges itself. This is relatively easy to do by accident when you're used to the earlier version which wanted altitudes in metres, not km.

Exiting/reloading the SPH fixes it (until you do it again..)

Log says this:

[LOG 11:18:37.247] Mass: 18574.39061068
^MS: 90.60585
^MMAC: 2.41785793368632
[LOG 11:18:37.252] Cl needed: 0.230949963874938, AoA: 3.23974609375, Cl: 0.230949963874938, Cd: 0.0657364503604507
[LOG 11:18:50.995] SCREENSHOT!!
[LOG 11:18:50.995] SCREENSHOT!!
[LOG 11:18:52.581] Mass: 18574.39061068
^MS: 90.60585
^MMAC: 2.41785793368632
[LOG 11:18:52.582] Cl needed: Infinity, AoA: 0, Cl: Infinity, Cd: 0.339969381285907
[EXC 11:18:52.585] ArithmeticException: NAN
        System.Math.Sign (Double value)
        ferram4.FAREditorGUI.StabilityLabel (System.String text1, Double val, System.String text2, System.String tooltip, Int32 width, Int32 sign)
        ferram4.FAREditorGUI.StabilityDerivativeGUI (Boolean tmp)
        ferram4.FAREditorGUI.ActualGUI (Int32 windowID)
        UnityEngine.GUILayout+LayoutedWindow.DoWindow (Int32 windowID)
        UnityEngine.GUI.CallWindowDelegate (UnityEngine.WindowFunction func, Int32 id, UnityEngine.GUISkin _skin, Int32 forceRect, Single width, Single height, UnityEngine.GUIStyle style)
[EXC 11:18:52.613] ArithmeticException: NAN
        System.Math.Sign (Double value)
        ferram4.FAREditorGUI.StabilityLabel (System.String text1, Double val, System.String text2, System.String tooltip, Int32 width, Int32 sign)
        ferram4.FAREditorGUI.StabilityDerivativeGUI (Boolean tmp)
        ferram4.FAREditorGUI.ActualGUI (Int32 windowID)
        UnityEngine.GUILayout+LayoutedWindow.DoWindow (Int32 windowID)
        UnityEngine.GUI.CallWindowDelegate (UnityEngine.WindowFunction func, Int32 id, UnityEngine.GUISkin _skin, Int32 forceRect, Single width, Single height, UnityEngine.GUIStyle style)
[EXC 11:18:52.616] ArgumentException: Getting control 0's position in a group with only 0 controls when doing Repaint
Aborting
        UnityEngine.GUILayoutGroup.GetNext ()
        UnityEngine.GUILayoutUtility.BeginLayoutGroup (UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options, System.Type LayoutType)
        UnityEngine.GUILayout.BeginHorizontal (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options)
        UnityEngine.GUILayout.BeginHorizontal (UnityEngine.GUILayoutOption[] options)
        ferram4.FAREditorGUI.StabilityDerivativeGUI (Boolean tmp)
        ferram4.FAREditorGUI.ActualGUI (Int32 windowID)
        UnityEngine.GUILayout+LayoutedWindow.DoWindow (Int32 windowID)
        UnityEngine.GUI.CallWindowDelegate (UnityEngine.WindowFunction func, Int32 id, UnityEngine.GUISkin _skin, Int32 forceRect, Single width, Single height, UnityEngine.GUIStyle style)
[EXC 11:18:52.645] ArithmeticException: NAN
        System.Math.Sign (Double value)
        ferram4.FAREditorGUI.StabilityLabel (System.String text1, Double val, System.String text2, System.String tooltip, Int32 width, Int32 sign)
        ferram4.FAREditorGUI.StabilityDerivativeGUI (Boolean tmp)
        ferram4.FAREditorGUI.ActualGUI (Int32 windowID)
        UnityEngine.GUILayout+LayoutedWindow.DoWindow (Int32 windowID)
        UnityEngine.GUI.CallWindowDelegate (UnityEngine.WindowFunction func, Int32 id, UnityEngine.GUISkin _skin, Int32 forceRect, Single width, Single height, UnityEngine.GUIStyle style)
[EXC 11:18:52.647] ArgumentException: Getting control 0's position in a group with only 0 controls when doing Repaint
Aborting
        UnityEngine.GUILayoutGroup.GetNext ()
        UnityEngine.GUILayoutUtility.BeginLayoutGroup (UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options, System.Type LayoutType)
        UnityEngine.GUILayout.BeginHorizontal (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options)
        UnityEngine.GUILayout.BeginHorizontal (UnityEngine.GUILayoutOption[] options)
        ferram4.FAREditorGUI.StabilityDerivativeGUI (Boolean tmp)
        ferram4.FAREditorGUI.ActualGUI (Int32 windowID)
        UnityEngine.GUILayout+LayoutedWindow.DoWindow (Int32 windowID)
        UnityEngine.GUI.CallWindowDelegate (UnityEngine.WindowFunction func, Int32 id, UnityEngine.GUISkin _skin, Int32 forceRect, Single width, Single height, UnityEngine.GUIStyle style)
[.. etc etc ..]

Before:

screenshot0

After hitting Calculate:

screenshot1

Mod list:

✓ AdvancedFlyByWire-Linux 1.4
✓ DeadlyReentry v6.4.0
✓ FerramAerospaceResearch v0.14.5
✓ KerbalEngineerRedux 1.0.13.1
✓ ModuleManager 2.5.4
✓ PreciseNode 1.1.2
✓ ProceduralFairings v3.11
✓ StageRecovery 1.5.2.1_2
✓ Toolbar 1.7.7

Plane is entirely stock parts - I can provide the craft file if you need it but it doesn't seem too dependent on the exact craft.

Updating Spam

FAR floods the log with updating messages in the VAB when I put a part in.
Testen on vanilla KSP 1.0.2 32 bit and FAR v0.15.1

Flap Deflection

Just a reminder to add the functionality to increase flap deflection above the neutral state. If possible, maybe change the units for deflection to degrees, just for added clarity when constructing / operating aircraft.

Ship is instantly destroyed and launched out of solar system (Linux 64)

I have seen similar issues reported before on this platform.
When I go to launch a space ship, it instantly launches out into space, ripping it apart. To me it simply seems like the command pod is being teleported out of the solar system, but inspecting the logs I see otherwise.

I have tried not running it through steam and using the 64-bit versions (With and without launcher).

I have use both the latest official release and the git master.

FAR was the only installed mod, (aswell as the mod manager dll)

I am running manjaro linux 64 bit (Basically Arch linux).

0.14.5: spoilers with negative deflections don't deflect

If I set up a control surface as a spoiler with a negative deflection (e.g. I've put it under the wing to match a spoiler above the wing), then it appears to deflect correctly in the SPH when I do stability analysis, but it does not deflect at all when activated on the runway.

I've checked the action groups, and tried removing/readding them, and they all seem OK.
Changing the deflection to a positive deflection also works (in the sense that the spoiler moves when activated - it moves the wrong way, obviously!)

This worked OK in 0.14.4.

Craft file (should be stock parts only): https://www.dropbox.com/s/001riev9sdvtdz3/turbojets.craft?dl=1
The problem spoilers are the ones under the wings.
Spoilers are bound to the RCS action group as well as brakes.

Mod list:

✓ AdvancedFlyByWire-Linux 1.4
✓ DeadlyReentry v6.4.0
✓ FerramAerospaceResearch v0.14.5
✓ KerbalEngineerRedux 1.0.13.1
✓ ModuleManager 2.5.4
✓ PreciseNode 1.1.2
✓ ProceduralFairings v3.11
✓ StageRecovery 1.5.2.1_2
✓ Toolbar 1.7.7

NRE when picking up control surface in SPH

Using the DLL found in the current repository from 9 days ago, when I pick up a control surface to attach it to my plane, I get the following in my error log:

NullReferenceException: Object reference not set to an instance of an object
at ferram4.FARControllableSurface.OnStart (StartState state) [0x00000] in :0
at Part.ModulesOnStart () [0x00000] in :0
at Part+��.MoveNext () [0x00000] in :0

To reproduce this, I click on SPH, choose the Probodobodyne OKTO2 probe core, then switch to the aerodynamics tab and click on the advanced canard. I do not have to place the part onto the craft, simply pressing the button in the part list is sufficient.

Things get worse if I choose a pWing control surface (using pWings 0.8.1):

NullReferenceException: Object reference not set to an instance of an object
at ferram4.FARControllableSurface.OnStart (StartState state) [0x00000] in :0
at WingManipulator.CalculateAerodynamicValues () [0x00000] in :0
at WingManipulator.OnStart (StartState state) [0x00000] in :0
at Part.ModulesOnStart () [0x00000] in :0
at Part+��.MoveNext () [0x00000] in :0

When I attempt to attach the pWing control surface, it doesn't "stick", and when I throw it away I get these errors scrolling on forever:

NullReferenceException
at (wrapper managed-to-native) UnityEngine.Component:InternalGetTransform ()
at UnityEngine.Component.get_transform () [0x00000] in :0
at ferram4.FARWingAerodynamicModel.WingExposureFunction () [0x00000] in :0
at ferram4.FARWingAerodynamicModel.RunExposure () [0x00000] in :0
at (wrapper delegate-invoke) Callback:invoke_void__this__ ()
at (wrapper delegate-invoke) Callback:invoke_void__this__ ()
at ferram4.FARPartModule.ForceOnVesselPartsChange () [0x00000] in :0
at ferram4.FARGlobalControlEditorObject.LateUpdate () [0x00000] in :0

NullReferenceException
at (wrapper managed-to-native) UnityEngine.Component:GetComponent (System.Type)
at UnityEngine.Component.GetComponent[FARWingAerodynamicModel] () [0x00000] in :0
at ferram4.FAREditorGUI.Update () [0x00000] in :0
at ferram4.FAREditorGUI.OnGUI () [0x00000] in :0
at (wrapper delegate-invoke) Callback:invoke_void__this__ ()
at RenderingManager.OnGUI () [0x00000] in :0

at which point the name field at the top of the interface disappears and clicking no longer works, necessitating an alt+F4 exit.

A full log is available at http://silenttosaturn.com/kspsave/farbug2.txt

I apologize if this is actually a bug in something else such as pWings and it just happens to become visible through log messages relating to FAR. As always, thanks for a great mod and your incredible patience when it comes to dealing with end users who don't always understand what's going on.

crashed after crashing :)

hi,

I don't know if this is of any help but I got a bunch of NullReferenceException's like so:

NullReferenceException: Object reference not set to an instance of an object
   at ferram4.FARControlSys.StabilityAugmentation (.FlightCtrlState state) [0x00000] in <filename unknown>:0 
   at (wrapper delegate-invoke) FlightInputCallback:invoke_void__this___FlightCtrlState (FlightCtrlState)
   at Vessel.FeedInputFeed () [0x00000] in <filename unknown>:0 
   at FlightInputHandler.FixedUpdate () [0x00000] in <filename unknown>:0 ```

(Filename:  Line: 4294967295)

what I did: crashlanded a plane and eva'd to take surface sample

Incorrect Determination of Main Axis for Unconventional Crafts

Operating System: Fedora 21 (Linux) x86-64

Using FAR from the master branch, commit 065777e
Mods installed:

  • ModularFlightIntegrator v1.0.0
  • ModuleManager v2.6.3

Reproduction steps:

  1. (Optionally) Disable aerodynamic failures
  2. Go to the SPH and load the craft file at https://dl.dropboxusercontent.com/u/15422248/farbug3/Aeroscoop%20mk2.craft
  3. Perform an AoA sweep on the craft, note the unusually high values for Cd, Cl, etc.
  4. Launch vessel

Expected result:
The craft experiences a high but reasonable amount of lift / drag.

Actual result:
If aerodynamic failures are enabled, many parts will explode shortly after the
craft is loaded. Without aerodynamic failures, the craft visibly "twitches" and
enabling "Display Aero Forces In Flight" shows these phantom forces. From my
testing, the first version this is reproducible is at commit
fc4afd9.

Contents of Player.log here: https://dl.dropboxusercontent.com/u/15422248/farbug3/Player.log
Video displaying the issue here: https://dl.dropboxusercontent.com/u/15422248/farbug3/cut2.mp4

Intermittent Failure to Apply Vehicle Aero Properties

As noted on the forums, as of v0.15.2 "Ferri" drag can still end up being 0 on valid vessels in odd circumstances. Logs so far have no indication of anything being wrong, nor has anyone been able to provide reproduction steps beyond "I launched a few rockets and it broke." Also, most of the installs this occurs on seem to have a large modlist, so mod interactions can't be ruled out. Finally, I've never been able to hit it myself, so I can't test this alone, unfortunately.

Indications are this is not related to #74, as that required a game restart to fix, while this only requires a scene reload. Further, none of the results seem to indicate a race / deadlock in the voxelization code, which would result in log spam (from the main thread repeatedly trying to queue a voxelization). There is no info on whether another vessel update (from decoupling or deploying gear or anything) fixes the issue.

This implies that there are three main possibilities for the error occurring:

  1. The part mesh geometry is not transformed into the proper basis for voxelization. This would lead to the voxel being empty, and then everything breaking. The error would then be somewhere in GeometryPartModule or MeshData.
  2. The cross-section data from the voxel is broken somehow. This would lead to the aero properties and section smoothing functions trying to work on something invalid. In that case, the bug would be in either VehicleVoxel.CrossSectionData() or in VehicleAerodynamics.GaussianSmoothCrossSections().
  3. The aerodynamic property determination is broken somehow. Not sure how this would happen on its own, but if that's the case, then it would be in VehicleAerodynamics.CalculateVesselAeroProperties().

So, with that in mind, here's what needs to be done:

  • Get a reliable test case and strict reproduction steps.
  • Verify whether this bug is FAR alone or requires mod interactions.
  • If it requires mod interactions, the mods involved.
  • Narrow down the cause to any of the above. Suggestions for how to do that are welcome.
  • Test solution to ensure that more bugs didn't slip in as a result.

Any help would be greatly appreciated, I'm somewhat at a loss here.

@thumbs folder inside FAR_0_15_2_Ferri.zip\Ships\

In every version of FAR after 14.7, there seems to be a @thumbs folder inside the Ships folder. It seems to be unintentional, but I'd like confirmation on that. (Got a report about this from someone in the CKAN forum thread).

Thanks

FSairBrake, NovaPunch2, other stuff

So you lost my pull request (#8) somewhere along the way ... I'd really love at least the FSairBrake stuff in for when B9 R5 is released.

Also, if FAR can properly account for the drag of extended/retracted FSwheel landing gear, this might be worth it too:

@PART[*]:HAS[@MODULE[FSwheel]]:FOR[FerramAerospaceResearch]
{
    @maximum_drag = 0
    @MODULE[FSwheel]
    {
        @deployedDrag =0 
    }
}

Or, if FAR cant understand the right drag there automagically, *= 0.2 like for FSairBrake.

Hardcoded invKerbinSLDensity breaks with RSS v6+ε.

The next version of RSS will contain pressure and temperature curves that approximate the International Standard Atmosphere. As the temperature at sea level of the ISA is 15 °C, the density is 1.2250 kg / m3, so the inverse density is 0.81632 m3 / kg rather than 0.8319 m3 / kg.
This affects the Frac SL Density display (tests by NathanKell yielded 1.008 at 65 m AMSL) and the EAS display.
invKerbinSLDensity should be initialised in a way that is consisted with the result of FARAeroUtil.GetCurrentDensity, possibly as

invKerbinSLDensity = FARAeroUtil.GetCurrentDensity(FlightGlobals.Bodies[1], 0);

Minor UI issue

Not really a bug, just a small annoyance

  • Start craft in SPH
  • Open FAR info window
  • exit SPH
  • open VAB
  • FAR window is open with no apparent way of closing.

Obviously I can drop a pod & close the window, but it does take up a fair bit of screen estate.

please publish on curse.com

I am very happy that you're using github and I wish all KSP adon devs were doing so, but it looks like there is a trend to publish all the binaries on curse. I must admit, this makes it really easy to stay up-to-date with all preferred mods because they allow "favourite" adons to be marked and downloaded in bulk (very useful when a new version of kerbal is released!)

FAR creates new buttons every time I go to the space center view

Lots of buttons

FAR creates more and more buttons every time I go to the space center view, as the title says. This doesn't happen with any other mod (KIDS works fine, for example).

I'm using FAR 0.14.5 on Ubuntu 14.10 (64 bit KSP). Sorry if this is a known bug in either KSP or FAR, I didn't find anything about this.

Ferram breaks remote tech 2

I just tried this with a fresh install of 0.25:

A probe core + RT DP10 reflectron + some high powered engine. Accelerate under full power. Without Ferram, the reflectron survives mach 5 without problems. With Ferram, the reflectron breaks within seconds, usually around 130 m/s.

For comparison here is the craft file that I used. I did not use any other mods except for Remote Tech and Ferram. Versions were:
Remote Tech 1.5.1
Ferram 0.14.3.2
KSP 0.25-0 32bit Windows

Fresh install, fresh save and so on. Not sure what is causing this, but it is also happening inside fairings (in a different installation, I noticed the problem with inline fairings first). Would be nice to have a fix as these are my two favorite mods and I'd like to use them together.

FARPartClassification: Excluding parts from PayloadFairing/CargoBay classification

In my FusTek Station Parts add-on, I have two parts with significantly high-poly meshes for EVA handgrips:

  • Karmony Payload Bay Module
  • Karmony Payload Bay Module Adapter

I've noticed recently that these parts cause KSP to momentarily freeze when manipulated in the VAB/SPH editor scenes. I narrowed the incompatibility down to FAR through a process of elimination.

I suspect that this lag due to these parts have the keywords "Payload" in them, leading FAR to attempt to treat them as aerodynamic payload shrouds (when in fact they aren't).

I tried using a ModuleManager patch (and deleting the Custom FAR Classification CFGs) to reclassify them as Cargo Bays, but the freezing while manipulated in editor persists.

As such, I was wondering if there was a way to write a ModuleManager patch to tell FAR exclude parts with certain names from being treated as PayloadFairing/CargoBay {}.

Overuse of splines and other performance considerations

Echoes from IRC: LiftSlope is just a division and a square root, it's not worth making that into a spline.
While previous tests by ferram4 seemed to suggest that the use of splines was significant for functions such as PrandtlMeyerMach, the most time-consuming bit in there is a couple of arctangents. The x86 instruction set has FPATAN, which is about as slow as a trig function (~100 cycles), so that could still be fast enough not to warrant loading a spline from memory.

It appears Unity's Mathf should be disposed of if performance is an issue. I would further suggest that all intermediate calculations be done in double: since this will be run using x86 rather than x86-64 all floating-point operations will go to the x87 instruction set, so using float requires constantly casting back and forth between double and float.

In any case, some profiling is in order.
If splines are indeed needed, they should not be uniformly sampled (and if we can use only static splines it's easier to optimise the error in Mathematica than to try to do so at runtime).

Toggling landing gear causes aircraft to nosedive

Operating System: Fedora 21 (Linux) x86-64

Using FAR from the voxelAeroPort branch, commit b9e604f.
Using a fresh install with no other mods.

Reproduction steps:

  1. Go to the SPH
  2. Load "FAR Colibri" from FAR v0.14.7
  3. Launch & takeoff (I only used the rear engine)
  4. Toggle landing gear

Expected result:
The landing gear retract and the aircraft flies normally.

Actual result:
The Cl value in the FAR Flight Data GUI will drop to a large negative value and the plane nosedives, it tends to sort itself out given time (although not always). This also happens if I open and close the cargo bay doors, and on the odd occasion causes rapid unplanned disassembly.

screenshot0.png (shortly after takeoff)
screenshot1.png (retracting landing gear causing nosedive)
screenshot3.png (recovered from nose dive)
screenshot4.png (happens again when deploying)
screenshot10.png (doomed)

Contents of Player.log here: https://dl.dropboxusercontent.com/u/15422248/Player.log

Parts still shielded after cargo bay or fairing destroyed (possibly Deadly Reentry related)

I'm not sure if this is a problem with FAR not updating the shielded status or DRE not doing something when parts burn up. I've already posted this issue for DRE, but I just realized it might be FAR. If it's not feel free to just close the issue.

What happens is when parts are in a cargo bay or Procedural Fairing and the bay or fairing burns up during reentry, the parts never get unshielded. I can reliably make everything else burn up our break off, then the shielded parts are immune to heat and have no drag. I've managed to have parts get a stable Kerbin orbit at 6000 meters because of the lack of drag.

Ship explosion on load/launchpad when launched from steam on linux 64bit

When a new ship is loaded on the launchpad, when the physics starts the ship explodes. Interestingly even the launch clamps will teleport away from their positions on the launchpad. This happens with only Ferram Aerospace installed, without other modifications.

Having seen another issue with this mod fixed by running KSP directly rather than through steam, I tried invoking the executable directly and the issue went away.

FARActionGroupConfiguration.DrawGUI() - in wrong place

Looks like i put it in the wrong place. In the if (ToolbarManager.ToolbarAvailable) branch. Not good. Putting it right at the end seems to work.

private void DebugAndDataTab(GUIStyle thisStyle)
{
....
if (ToolbarManager.ToolbarAvailable)
{
...
}
FARActionGroupConfiguration.DrawGUI();
}

Models who's renderer has been disabled are included as part of the mesh geometry

If a mod enabled and disables a model's renderer for effect purposes, such as Roverdude's warp drives and the drives warp bubble, the model is always included as part of the mesh geometry. This then screws up the resulting aero for what one would assume would be an aerodynamic rocket.
Here are a few images showing what I mean
Cross Section with bubble guide
screenshot5
Voxel Debug with bubble guide
screenshot4
Cross Section without bubble guide
screenshot6
Voxel Debug without bubble guide
screenshot7

Cl, Cd and Cy values for strut fragment debris are NaN

Operating System: Fedora 21 (Linux) x86-64

Using FAR from the voxelAeroPort branch, commit d4e5d88.
Mods installed:

  • ModularFlightIntegrator v1.0.0

Reproduction steps:

  1. Go to the SPH
  2. Load "FAR Firehound" from FAR v0.14.7 (it's got struts)
  3. Launch & takeoff
  4. Take to high speed and cause aerodynamic failure
  5. Try and find one of the strut fragments

Expected result:
The strut fragment is slowing down due to drag.

Actual result:
The strut fragment appears to have no aerodynamic properties, opening up the FAR FlightData GUI shows NaN for Cl, Cd and Cy values. This issue isn't that serious, it is a bit odd though.

screenshot1.png (shortly after takeoff)
screenshot5.png (going fast)
screenshot6.png (aerodynamic failure)
screenshot7.png (found a strut fragment)
screenshot10.png (strut fragment still moving fast)
screenshot12.png (still moving fast)

Contents of Player.log here: https://dl.dropboxusercontent.com/u/15422248/farbug2/Player.log

Aerodynamics break after a while.

When you like keep testing planes. After a while its behaviour totally changes from flying to exploding 😟. When I was looking what was wrong with my plane using the simulator. This error occured: http://hastebin.com/usorodeciq.avrasm

KSP info: Kerbal Space Program - 1.0.2.0 (LinuxPlayer) Steam
OS: Linux 3.19 Ubuntu 15.04 64bit
CPU: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz (8)
RAM: 23878
GPU: GeForce GTX 770/PCIe/SSE2 (2048MB)
SM: 30 (OpenGL 4.5 [4.5.0 NVIDIA 346.59])
RT Formats: ARGB32, Depth, ARGBHalf, RGB565, ARGB4444, ARGB1555, Default, DefaultHDR, ARGBFloat, RGFloat, RGHalf, RFloat, RHalf, R8

Unconnected struts are treated as if extended

nuFAR's voxel debug shows struts that have been disconnected (due to removal or movement of the part they were connected to) as if they were still extended.
capture

As you can see, the bottom right has a strut that is not connected. It used to be connected to the satalite that was above the command pod. Disconnecting the strut resolved this issue.

I was using stock struts and this issue is reproducible.

Using FAR downloaded under an hour ago (11 PM PST) from VoxelAreoPort

Parachutes deploying too early

A bug was corrected in RealChute where the parachutes were being deployed too early - for example at 0.5kPa (26,500m) instead of .5atm (500kPa - 3,500m). It's still present in the version on Kerbal Stuff, but I don't know if it's been fixed on master - I'm going to have a look now, and see if I can create a pull request.

See RealChute commit ChrisViral/RealChute@a8b0653

NullReferenceException in FARControlSys.ChangeSurfVelocity

During particularly long vessel loads, LateUpdate starts running before all of the parts and things are properly started. When this happens, FAR throws a NullReferenceException like this one:

NullReferenceException: Object reference not set to an instance of an object
  at SpriteText.UpdateMesh () [0x00000] in <filename unknown>:0 
  at SpriteText.set_Text (System.String value) [0x00000] in <filename unknown>:0 
  at ferram4.FARControlSys.ChangeSurfVelocity (SurfaceVelMode velMode) [0x00000] in <filename unknown>:0 
  at ferram4.FARControlSys.LateUpdate () [0x00000] in <filename unknown>:0 

This must be the speedometer assignment at line 1286 in FARControlSys.

The Exception spam prevents LateUpdate from properly concluding, which may have further ramifications for other code.

All gui elements disappear while right-click-dragging

Unfortunately I cannot reproduce it at will. It happens every few hours of gameplay on average, almost always after undocking. While adjusting the camera angle with right-click-drag, all gui elements do not show up (looks like I had pressed F2 when I start the drag, and pressed it again when I stop dragging).

Output log available at http://silenttosaturn.com/kspsave/farbug.txt

Relevant excerpt:

ArgumentException: Value does not fall within the expected range.
at ferram4.FARControlSys.OnDestroy () [0x00000] in :0
at ferram4.FARControlSys.OnGUI () [0x00000] in :0
at (wrapper delegate-invoke) Callback:invoke_void__this__ ()
at (wrapper delegate-invoke) Callback:invoke_void__this__ ()
at RenderingManager.OnGUI () [0x00000] in :0

Terminal velocities / Ballistic Coefficient (and maybe others?) data in Editor

I love this mod so much!

I would like to be able to chart out the terminal velocities for a spacecraft on various planets, at various heights. I assume that, in FAR, this depends on the rocket (unlike stock, which looks like it is a simple lookup table).

Is there any possibility of you providing a calculator to do this, or (possibly more fun!) a science experiment to measure it.

Additional info in VAB/SPH about aerodynamic parts

In Stock KSP, wings and control surfaces have additional info showing Lift rating. That info allows players to rate the effectiveness of the part, and therefore to choose what to use.
It could be debated how "Lift Rating" could resemble anything in reality; certainly FAR has a better approach with the surfaces actual characteristics.

Since a number of FAR versions (this issue is present at least since 0.14.1.1), installing FAR deletes the additional info.
It is evident that the additional info is associated to the stock module "ModuleControlSurface"; also, is noticed that with the "FerramAerospaceResearch.cfg" file (lines 758-761 in v. 0.14.3) that stock module is deleted, and proper data for each part is associated to modules "FARControllableSurface" or "FARWingAerodynamicModel".
However, even if FAR data is associated to a part, nothing is made visible to the player, who therefore loses the ability to rationally choose parts. Moreover, none of the stock KSP data with a part description is of help.

Even if it requires some more effort, it would be proper to allow some significant info to be visible to players from those FAR modules, and not only from the FAR analysis tool (that, for as helpful as it is, provides nothing about single parts).

No flag.

I think FAR should install a flag. The image in the thread might make a good one :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.