Skip to content
Snippets Groups Projects
Verified Commit 22489bda authored by Thomas Lambert's avatar Thomas Lambert :helicopter:
Browse files

Merge branch 'main' into dev

parents a0ada711 374be056
Branches dev
No related tags found
No related merge requests found
...@@ -4,3 +4,6 @@ ...@@ -4,3 +4,6 @@
[submodule "src/libs/matlab_airfoil_toolbox"] [submodule "src/libs/matlab_airfoil_toolbox"]
path = src/libs/matlab_airfoil_toolbox path = src/libs/matlab_airfoil_toolbox
url = ../../am-dept/matlab_airfoil_toolbox url = ../../am-dept/matlab_airfoil_toolbox
[submodule "src/libs/octave-atmosisa"]
path = src/libs/octave-atmosisa
url = https://github.com/lentzi90/octave-atmosisa
...@@ -9,18 +9,48 @@ to [Semantic Versioning][sem_ver]. ...@@ -9,18 +9,48 @@ to [Semantic Versioning][sem_ver].
### Added ### Added
### Changed
### Deprecated
### Removed
### Fixed
## [0.1.6] - 2024-02-12
### Fixed
- Issue with toolbox check
## [0.1.5] - 2023-12-14
### Changed
- Add `octave-atmosisa` in libs so we can use it if _Aerospace Toolbox_ is not
installed
- Update `matlab_airfoil_toolbox` lib to remove dependency to the _Signal
Processing Toolbox_ in `findstall`.
## [0.1.4] - 2023-12-14
### Added
- Result summary table - Result summary table
- Result plotting function - Result plotting function
- Result filtering function - Result filtering function
- Preliminary support for coaxial rotors
### Changed ### Changed
### Deprecated - Implement rotation matrices to remove useless dependency
- Defaults values in polar generator script
### Removed
### Fixed ### Fixed
- Typo in Caradonna config
- Remove `--fix` flag for miss_hit in the pipeline
## [0.1.3] - 2023-05-25 ## [0.1.3] - 2023-05-25
### Added ### Added
...@@ -103,7 +133,10 @@ _Initial commit_: single rotor in hover/axial flows ...@@ -103,7 +133,10 @@ _Initial commit_: single rotor in hover/axial flows
[sem_ver]:<https://semver.org/spec/v2.0.0.html> [sem_ver]:<https://semver.org/spec/v2.0.0.html>
[keep_chglog]: <https://keepachangelog.com/en/1.0.0/> [keep_chglog]: <https://keepachangelog.com/en/1.0.0/>
[Unreleased]: https://gitlab.uliege.be/rotare/rotare/compare/0.1.3...main [Unreleased]: https://gitlab.uliege.be/rotare/rotare/compare/0.1.6...main
[0.1.6]: https://gitlab.uliege.be/rotare/rotare/compare/0.1.5...0.1.6
[0.1.5]: https://gitlab.uliege.be/rotare/rotare/compare/0.1.4...0.1.5
[0.1.4]: https://gitlab.uliege.be/rotare/rotare/compare/0.1.3...0.1.4
[0.1.3]: https://gitlab.uliege.be/rotare/rotare/compare/0.1.2...0.1.3 [0.1.3]: https://gitlab.uliege.be/rotare/rotare/compare/0.1.2...0.1.3
[0.1.2]: https://gitlab.uliege.be/rotare/rotare/compare/0.1.1...0.1.2 [0.1.2]: https://gitlab.uliege.be/rotare/rotare/compare/0.1.1...0.1.2
[0.1.1]: https://gitlab.uliege.be/rotare/rotare/compare/0.1.0...0.1.1 [0.1.1]: https://gitlab.uliege.be/rotare/rotare/compare/0.1.0...0.1.1
......
...@@ -92,6 +92,8 @@ name `COMPLETE CODE`. This archive contains all the dependencies needed for the ...@@ -92,6 +92,8 @@ name `COMPLETE CODE`. This archive contains all the dependencies needed for the
proper use of Rotare. Always download this one and not the automatically proper use of Rotare. Always download this one and not the automatically
generated _source code_ archives. generated _source code_ archives.
In theory, no additional toolboxes should be required to work with Rotare.
## Documentation ## Documentation
Rotare comes with a [detailed documentation][rotare-doc]. This documentation is Rotare comes with a [detailed documentation][rotare-doc]. This documentation is
...@@ -121,7 +123,7 @@ troubleshooting section of the documentation. ...@@ -121,7 +123,7 @@ troubleshooting section of the documentation.
If you encounter any other issue with this code, please check [the issue If you encounter any other issue with this code, please check [the issue
tracker][rotare-issues] and fill a new issue report if applicable. You can also tracker][rotare-issues] and fill a new issue report if applicable. You can also
contact me directly at tlambert@uliege.be. contact me directly at <tlambert@uliege.be>.
## Other ## Other
......
...@@ -10,4 +10,4 @@ automatically generated and do not contain all dependencies. ...@@ -10,4 +10,4 @@ automatically generated and do not contain all dependencies.
This release features: This release features:
- Result output and analysis methods - Bugfix for toolbox check
# miss_hi style checker
# (https://florianschanda.github.io/miss_hit/style_checker.html)
#
# Exclude libraries directory from style checking
exclude_dir: "libs"
Subproject commit 0fd62e40449b0d06c8211d8a7c4ff62373c753c7 Subproject commit 9f0fdf8c525b7f1489f89088706830f36c973fbc
Subproject commit 05ed802f013be4dfe86ac0d1c21e141fb702790f
...@@ -51,11 +51,15 @@ function [Results] = rotare(configFile) ...@@ -51,11 +51,15 @@ function [Results] = rotare(configFile)
% clearvars -except configFile; % clearvars -except configFile;
close all; close all;
clc; clc;
% Add everything to path % Add everything to path
% BUT, only include root of airfoil_data, otherwise issue with aeropy examples in venv % BUT, only include root of airfoil_data, otherwise issue with aeropy examples in venv
addpath(genpath('.')); addpath(genpath('.'));
rmpath(genpath('./airfoil_data/')); rmpath(genpath('./airfoil_data/'));
addpath('./airfoil_data/'); addpath('./airfoil_data/');
if istoolboxinstalled('Aerospace Toolbox')
rmpath('./libs/octave-atmosisa/');
end
verifyinstall; % Check if packages (libs) and required functions are presents on the system verifyinstall; % Check if packages (libs) and required functions are presents on the system
......
function result = istoolboxinstalled(toolbox)
% ISTOOLBOXINSTALLED Check if a toolbox is installed and available
% -----
%
% Syntax:
% result = isToolboxInstalled(toolbox) returns true if the toolbox is intalled.
%
% Inputs:
% toolbox: Name of a toolbox, as displayed in `ver` command
%
% Outputs:
% result : boolean that indicates if toolbox is installed
%
% See also: ver.
%
% <a href="https://gitlab.uliege.be/rotare/documentation">Complete documentation (online)</a>
% ----------------------------------------------------------------------------------------------
% (c) Copyright 2022-2024 University of Liege
% Author: Thomas Lambert <t.lambert@uliege.be>
% ULiege - Aeroelasticity and Experimental Aerodynamics
% MIT License
% Repo: https://gitlab.uliege.be/rotare/rotare
% Docs: https://gitlab.uliege.be/rotare/documentation
% Issues: https://gitlab.uliege.be/rotare/rotare/-/issues
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
v = ver;
result = any(strcmp(toolbox, {v.Name}));
end
function rotMat = rotx(angleDeg)
% ROTX Rotation matrix about X-axis
% -----
%
% Syntax:
% rotMat = rotx(angleDeg) returns the rotation matrix that rotates
% a point of an angle `angleDeg` (in degrees) around the X-axis.
%
% Inputs:
% angleDeg: Angle of rotation, [deg]
%
% Outputs:
% rotMat : 3x3 matrix for the rotation around X-axis
%
% See also: roty, rotz.
%
% <a href="https://gitlab.uliege.be/rotare/documentation">Complete documentation (online)</a>
% ----------------------------------------------------------------------------------------------
% (c) Copyright 2022-2023 University of Liege
% Author: Thomas Lambert <t.lambert@uliege.be>
% ULiege - Aeroelasticity and Experimental Aerodynamics
% MIT License
% Repo: https://gitlab.uliege.be/rotare/rotare
% Docs: https://gitlab.uliege.be/rotare/documentation
% Issues: https://gitlab.uliege.be/rotare/rotare/-/issues
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
validateattributes(angleDeg, {'numeric'}, {'scalar'}, mfilename(), 'angleDeg', 1);
rotMat = [1, 0, 0
0, cosd(angleDeg), -sind(angleDeg)
0, sind(angleDeg), cosd(angleDeg)];
end
function rotMat = roty(angleDeg)
% ROTY Rotation matrix about Y-axis
% -----
%
% Syntax:
% rotMat = roty(angleDeg) returns the rotation matrix that rotates
% a point of an angle `angleDeg` (in degrees) around the Y-axis.
%
% Inputs:
% angleDeg: Angle of rotation, [deg]
%
% Outputs:
% rotMat : 3x3 matrix for the rotation around Y-axis
%
% See also: rotx, rotz.
%
% <a href="https://gitlab.uliege.be/rotare/documentation">Complete documentation (online)</a>
% ----------------------------------------------------------------------------------------------
% (c) Copyright 2022-2023 University of Liege
% Author: Thomas Lambert <t.lambert@uliege.be>
% ULiege - Aeroelasticity and Experimental Aerodynamics
% MIT License
% Repo: https://gitlab.uliege.be/rotare/rotare
% Docs: https://gitlab.uliege.be/rotare/documentation
% Issues: https://gitlab.uliege.be/rotare/rotare/-/issues
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
validateattributes(angleDeg, {'numeric'}, {'scalar'}, mfilename(), 'angleDeg', 1);
rotMat = [cosd(angleDeg), 0, sind(angleDeg)
0, 1, 0
-sind(angleDeg), 0, cosd(angleDeg)];
end
function rotMat = rotz(angleDeg)
% ROTZ Rotation matrix about Z-axis
% -----
%
% Syntax:
% rotMat = rotz(angleDeg) returns the rotation matrix that rotates
% a point of an angle `angleDeg` (in degrees) around the Z-axis.
%
% Inputs:
% angleDeg: Angle of rotation, [deg]
%
% Outputs:
% rotMat : 3x3 matrix for the rotation around Z-axis
%
% See also: rotx, roty.
%
% <a href="https://gitlab.uliege.be/rotare/documentation">Complete documentation (online)</a>
% ----------------------------------------------------------------------------------------------
% (c) Copyright 2022-2023 University of Liege
% Author: Thomas Lambert <t.lambert@uliege.be>
% ULiege - Aeroelasticity and Experimental Aerodynamics
% MIT License
% Repo: https://gitlab.uliege.be/rotare/rotare
% Docs: https://gitlab.uliege.be/rotare/documentation
% Issues: https://gitlab.uliege.be/rotare/rotare/-/issues
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
validateattributes(angleDeg, {'numeric'}, {'scalar'}, mfilename(), 'angleDeg', 1);
rotMat = [cosd(angleDeg), -sind(angleDeg), 0
sind(angleDeg), cosd(angleDeg), 0
0, 0, 1];
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment