- Added an x-z symmetry option to the APM solver. The symmetry option reduces the solution time and the required memory by a factor of 2. Check the corresponding section in the documentation for more information.
- Added Trefftz plane analysis option for steady and unsteady simulations. Check the corresponding section in the documentation for more information.
- Added a secondary APM executable where the solution is performed with double-precision floating point numbers. Note that for the same number of panels, the double-precision APM executable will require more memory.
- Support for hybrid meshes - made up of quadrilateral and triangular panels.
- Modified the body-to-wind transformation so CL, CD and CC follow the commonly adopted convention .
- Various bug-fixes.
- Added support for multiple wake-body intersections. E.g. intersections between a horizontal tail and a fuselage and a main wing and a fuselage.
- Added a "mirror" option for each control surface. By default, the value of the mirror option is 1. A value of 1 will mirror the control surface across the x-z body-fixed frame. If mirroring is not required the value of the mirror option can be set to 0.
- Further improved performance by parallelising any remaining "serial" for-loops
- Improved the panel neighbour search algorithm
- Added a feature where a .vtu or .dat files are created if the trailing edge search algorithm fails. The files can be opened with ParaView or Tecplot and used for debugging purposes.
- Added a feature in the .stl file reader which rounds the coordinates in the file to the 6th digit after the decimal point
- Improved performance by removing unnecessary copying
- Removed the .res output format
- Changed the integrated loads file format from .ires to .loads
- Removed email and password authentication
- Removed the .mesh file format.
- Added a custom .stl file format that supports both structured and unstructured meshes.
- Fixed bugs in the restart from checkpoint feature
- Added a new authentication method (using a licence key). The authentication method uses an environmental variable "APM_KEY".
- Fixed bugs in .conf file reader and in the JSON file writer
- Added a .json output format. JSON results can be viewed in the APM Viewer available at https://apm.aviumtechnologies.com/viewer
- Added a new method for pressure calculation (LSH) which uses inverse weighted distance interpolation and linear shape functions
- Renamed the "high_order" option in the .conf file to "doublet_gradient_scheme". The doublet_gradient_scheme setting accepts the following values:
- 0 - the pressure is calculated with the CHTLS scheme
- 1 - the pressure is calculated with the WLS scheme
- 2 - the pressure is calculated with the LSH scheme
- 3 - the pressure is calculated with the FD scheme (the FD scheme can only be used for models with quadrilateral panels
- Initial release
Unit and integration testing is performed for each new APM release. Every portion of the software is tested - from influence calculation functions to gradient functions and helper functions. The solver and preprocessor are also tested by running a series of simulations (test cases).
[----------] 7 tests from HelpersTests
[ RUN ] HelpersTests.DegToRad
[ OK ] HelpersTests.DegToRad (0 ms)
[ RUN ] HelpersTests.RadToDeg
[ OK ] HelpersTests.RadToDeg (0 ms)
[ RUN ] HelpersTests.Sign
[ OK ] HelpersTests.Sign (0 ms)
[ RUN ] HelpersTests.Factorial
[ OK ] HelpersTests.Factorial (0 ms)
[ RUN ] HelpersTests.LSQR
[ OK ] HelpersTests.LSQR (14 ms)
[ RUN ] HelpersTests.EllipticKEPI
[ OK ] HelpersTests.EllipticKEPI (0 ms)
[ RUN ] HelpersTests.CHTLS
[ OK ] HelpersTests.CHTLS (0 ms)
[----------] 7 tests from HelpersTests (40 ms total)
[----------] 1 test from DoubletGradientTests
[ RUN ] DoubletGradientTests.FDWLSLSFCHTLSTests
[ OK ] DoubletGradientTests.FDWLSLSFCHTLSTests (0 ms)
[----------] 1 test from DoubletGradientTests (3 ms total)
[----------] 1 test from ConfigTests
[ RUN ] ConfigTests.ReadTest
[ OK ] ConfigTests.ReadTest (6 ms)
[----------] 1 test from ConfigTests (8 ms total)
[----------] 1 test from ActuatorDiskTests
[ RUN ] ActuatorDiskTests.VelocityInfluenceTest
[ OK ] ActuatorDiskTests.VelocityInfluenceTest (0 ms)
[----------] 1 test from ActuatorDiskTests (3 ms total)
[----------] 12 tests from InfluenceTests
[ RUN ] InfluenceTests.NearPotentialInfluenceTest
[ OK ] InfluenceTests.NearPotentialInfluenceTest (0 ms)
[ RUN ] InfluenceTests.FarPotentialInfluenceTest
[ OK ] InfluenceTests.FarPotentialInfluenceTest (0 ms)
[ RUN ] InfluenceTests.NearDoubletVelocityInfluenceTest
[ OK ] InfluenceTests.NearDoubletVelocityInfluenceTest (0 ms)
[ RUN ] InfluenceTests.NearSourceVelocityInfluenceTest
[ OK ] InfluenceTests.NearSourceVelocityInfluenceTest (0 ms)
[ RUN ] InfluenceTests.FarDoubletVelocityInfluenceTest
[ OK ] InfluenceTests.FarDoubletVelocityInfluenceTest (0 ms)
[ RUN ] InfluenceTests.FarSourceVelocityInfluenceTest
[ OK ] InfluenceTests.FarSourceVelocityInfluenceTest (0 ms)
[ RUN ] InfluenceTests.NearDoubletVelocityGradientInfluenceTest
[ OK ] InfluenceTests.NearDoubletVelocityGradientInfluenceTest (0 ms)
[ RUN ] InfluenceTests.FarDoubletVelocityGradientInfluenceTest
[ OK ] InfluenceTests.FarDoubletVelocityGradientInfluenceTest (0 ms)
[ RUN ] InfluenceTests.NearSourceVelocityGradientInfluenceTest
[ OK ] InfluenceTests.NearSourceVelocityGradientInfluenceTest (0 ms)
[ RUN ] InfluenceTests.FarSourceVelocityGradientInfluenceTest
[ OK ] InfluenceTests.FarSourceVelocityGradientInfluenceTest (0 ms)
[ RUN ] InfluenceTests.ParticleVelocityAndVelocityGradientInfluenceTest
[ OK ] InfluenceTests.ParticleVelocityAndVelocityGradientInfluenceTest (0 ms)
[ RUN ] InfluenceTests.SpecialCasesInfluenceTest
[ OK ] InfluenceTests.SpecialCasesInfluenceTest (0 ms)
[----------] 12 tests from InfluenceTests (25 ms total)
[----------] 11 tests from PreprocessorTests
[ RUN ] PreprocessorTests.AGARD
 Brian L. Stevens and Frank L. Lewis. "Aircraft control and simulation / Brian L. Stevens, Frank L. Lewis," Wiley, New York 1992.