From b1d62169ecf3b116ef8df660c7476a90cb423197 Mon Sep 17 00:00:00 2001
From: andy <andy>
Date: Thu, 28 Jun 2012 14:10:32 +0100
Subject: [PATCH] BUG: rotor momentum source - trim model corrected force coeff
 calc for incompressible

---
 .../basicSource/rotorDiskSource/rotorDiskSource.C    |  4 ++--
 .../trimModel/targetCoeff/targetCoeffTrim.C          | 12 +++++++-----
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/fieldSources/basicSource/rotorDiskSource/rotorDiskSource.C b/src/fieldSources/basicSource/rotorDiskSource/rotorDiskSource.C
index 82ecd711765..2b73a471f48 100644
--- a/src/fieldSources/basicSource/rotorDiskSource/rotorDiskSource.C
+++ b/src/fieldSources/basicSource/rotorDiskSource/rotorDiskSource.C
@@ -662,8 +662,8 @@ bool Foam::rotorDiskSource::read(const dictionary& dict)
         flapCoeffs.lookup("beta1c") >> flap_.beta1c;
         flapCoeffs.lookup("beta2s") >> flap_.beta2s;
         flap_.beta0 = degToRad(flap_.beta0);
-        flap_.beta1 = degToRad(flap_.beta1);
-        flap_.beta2 = degToRad(flap_.beta2);
+        flap_.beta1c = degToRad(flap_.beta1c);
+        flap_.beta2s = degToRad(flap_.beta2s);
 
 
         // create co-ordinate system
diff --git a/src/fieldSources/basicSource/rotorDiskSource/trimModel/targetCoeff/targetCoeffTrim.C b/src/fieldSources/basicSource/rotorDiskSource/trimModel/targetCoeff/targetCoeffTrim.C
index d53d73f3ac4..abb5be0ae0e 100644
--- a/src/fieldSources/basicSource/rotorDiskSource/trimModel/targetCoeff/targetCoeffTrim.C
+++ b/src/fieldSources/basicSource/rotorDiskSource/trimModel/targetCoeff/targetCoeffTrim.C
@@ -88,7 +88,7 @@ Foam::vector Foam::targetCoeffTrim::calcCoeffs
     }
 
     reduce(cf, sumOp<vector>());
-    
+
     return cf;
 }
 
@@ -176,6 +176,8 @@ void Foam::targetCoeffTrim::correct(const vectorField& U, vectorField& force)
         Info<< type() << ":" << nl
             << "    solving for target trim coefficients" << nl;
 
+        const scalar rhoRef = rotor_.rhoRef();
+
         // iterate to find new pitch angles to achieve target force
         scalar err = GREAT;
         label iter = 0;
@@ -210,7 +212,7 @@ void Foam::targetCoeffTrim::correct(const vectorField& U, vectorField& force)
             }
 
             // calculate the change in pitch angle vector
-            vector dt = inv(J) & (target_ - old);
+            vector dt = inv(J) & (target_/rhoRef - old);
 
             // update pitch angles
             vector thetaNew = theta_ + relax_*dt;
@@ -236,9 +238,9 @@ void Foam::targetCoeffTrim::correct(const vectorField& U, vectorField& force)
         }
 
         Info<< "    current and target coefficients:" << nl
-            << "        thrust  = " << old[0] << ", " << target_[0] << nl
-            << "        pitch   = " << old[1] << ", " << target_[1] << nl
-            << "        roll    = " << old[2] << ", " << target_[2] << nl
+            << "        thrust  = " << old[0]*rhoRef << ", " << target_[0] << nl
+            << "        pitch   = " << old[1]*rhoRef << ", " << target_[1] << nl
+            << "        roll    = " << old[2]*rhoRef << ", " << target_[2] << nl
             << "    new pitch angles [deg]:" << nl
             << "        theta0  = " << radToDeg(theta_[0]) << nl
             << "        theta1c = " << radToDeg(theta_[1]) << nl
-- 
GitLab