From 050799d7aed23c95df1a1e138963c7564fdde0dd Mon Sep 17 00:00:00 2001 From: Robin Tamburrini <robin.tamburrini@student.uliege.be> Date: Thu, 15 Feb 2024 11:53:03 +0100 Subject: [PATCH] chore: define rps and omega as dependent parameters --- src/classes/@Oper/Oper.m | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/classes/@Oper/Oper.m b/src/classes/@Oper/Oper.m index d3c0499..3c63d21 100644 --- a/src/classes/@Oper/Oper.m +++ b/src/classes/@Oper/Oper.m @@ -54,11 +54,14 @@ classdef Oper < handle alt (1, 1) double {mustBeNonnegative} % Altitude, [m] speed (1, 1) double {mustBeNonnegative} % Axial speed, [m/s] rpm (:, 1) double {mustBeNonnegative} % Rotor rotation speed, [rpm] - rps (:, 1) double {mustBeNonnegative} % Rotor rotation speed, [rps] - omega (:, 1) double {mustBeNonnegative} % Rotor rotation speed, [rad/s] coll (:, 1) double {mustBeFinite} % Rotor collective pitch, [rad] Flow (1, 1) Flow % Flow object, describing the external flow properties end + + properties(Dependent) + rps (:, 1) double {mustBeNonnegative} % Rotor rotation speed, [rps] + omega (:, 1) double {mustBeNonnegative} % Rotor rotation speed, [rad/s] + end methods @@ -69,14 +72,22 @@ classdef Oper < handle if nargin > 0 self.alt = alt; self.rpm = rpm; - self.rps = rpm / 60; - self.omega = rpm / 60 * (2 * pi); self.speed = speed; self.coll = deg2rad(coll); self.Flow = Flow(fluidType, alt, speed, 0, 0); % TODO: Set angles properly end end + + % --------------------------------------------- + % Get methods for dependent properties + function ans = get.rps(self) + ans = self.rpm/60; + end + + function ans = get.omega(self) + ans = self.rpm/60*2*pi; + end % --------------------------------------------- % Other methods -- GitLab