From ebfb75b9f671cc053c49fe17a2826f9b59d44d48 Mon Sep 17 00:00:00 2001
From: s2006749 <s2006749@ed.ac.uk>
Date: Wed, 14 Aug 2024 11:34:46 +0100
Subject: [PATCH] added option to flip torque sign

---
 src/forces.f90       | 6 +++---
 src/module_param.f90 | 2 +-
 src/parameters.f90   | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/forces.f90 b/src/forces.f90
index 961f2607..44915cf6 100644
--- a/src/forces.f90
+++ b/src/forces.f90
@@ -1803,9 +1803,9 @@ contains
       mom2 = sum(tunsty(:)) + sum(tconvy(:)) + (-2.0*tconv2_sign+1.0)*sum(tconvy2(:))
       mom3 = sum(tunstz(:)) + sum(tconvz(:)) + (-2.0*tconv2_sign+1.0)*sum(tconvz2(:))
  
-      dra1 = (sum(tdiffx) + sum(tdiffx2) + tp1 - mom1)
-      dra2 = (sum(tdiffy) + sum(tdiffy2) + tp2 - mom2)
-      dra3 = (sum(tdiffz) + sum(tdiffz2) + tp3 - mom3)
+      dra1 = -(sum(tdiffx) + sum(tdiffx2) + tp1 - mom1)*(1.0-2.0*torq_flip)
+      dra2 = -(sum(tdiffy) + sum(tdiffy2) + tp2 - mom2)*(1.0-2.0*torq_flip)
+      dra3 = -(sum(tdiffz) + sum(tdiffz2) + tp3 - mom3)*(1.0-2.0*torq_flip)
       
       ! do k=1,zsize(3)
 
diff --git a/src/module_param.f90 b/src/module_param.f90
index ff3167d7..1342d389 100644
--- a/src/module_param.f90
+++ b/src/module_param.f90
@@ -622,6 +622,6 @@ module ibm_param
   real(mytype) :: position_1(3),linearVelocity_1(3),orientation_1(4),angularVelocity_1(4)
   real(mytype) :: chord,thickness,omega, tconv2_sign, shear_velocity
   integer :: inana ! Analytical BC as Input
-  integer :: imove, nozdrift, force_csv, bodies_fixed, cube_flag, torques_flag,orientations_free, shear_flow_ybc, shear_flow_zbc,torq_debug
+  integer :: imove, nozdrift, force_csv, bodies_fixed, cube_flag, torques_flag,orientations_free, shear_flow_ybc, shear_flow_zbc,torq_debug, torq_flip
 end module ibm_param
 !############################################################################
diff --git a/src/parameters.f90 b/src/parameters.f90
index e5d1090f..a7818016 100644
--- a/src/parameters.f90
+++ b/src/parameters.f90
@@ -63,7 +63,7 @@ subroutine parameter(input_i3d)
   NAMELIST /ibmstuff/ cex,cey,cez,shx,shy,shz,oriw,orii,orij,orik,lvx,lvy,lvz,avx,avy,avz,ra, &
       nobjmax,nraf,nvol,iforces, cvl_scalar, npif, izap, ianal, imove, thickness, chord, omega , &
       ubcx,ubcy,ubcz,rads,rho_s, c_air, grav_x,grav_y,grav_z, nozdrift, force_csv, bodies_fixed, cube_flag, tconv2_sign, &
-      torques_flag, orientations_free, shear_flow_ybc, shear_flow_zbc, shear_velocity, torq_debug
+      torques_flag, orientations_free, shear_flow_ybc, shear_flow_zbc, shear_velocity, torq_debug, torq_flip
   NAMELIST /ForceCVs/ xld, xrd, yld, yud, zld, zrd
   NAMELIST /LMN/ dens1, dens2, prandtl, ilmn_bound, ivarcoeff, ilmn_solve_temp, &
        massfrac, mol_weight, imultispecies, primary_species, &
-- 
GitLab