It's very difficult to have the equation of the square thread for have the torque. I decided to find it with numerical solution. Here it's the program in C language. I hope you know this language but it's not difficult to read it with mathematical equations. I have take pressure in bar in local torque but done total torque in Pa.
The start of the helicoid is done by "d". If d=0 we have 214500 Nm but if d=-0.45 rd we have 217000 Nm for the total torque. Maybe something is wrong in my program or maybe there is a torque like I said before, in this case I don't find the contrary torque.#include <stdio.h>
#include <math.h>
#include <stdio.h>
int main(void)
{
double x=0.0,y=0.0,z=0.0; // each point of the circular thread, I use circular thread and after select only points which are on the square thread
double u=0.0,v=0.0; // u=altitude, v=radius
double a=0.0; // angle
double torque=0.0; // local torque
double torqueT=0.0; // total torque
double pas=0.001; // step for integration
double pi=3.1415927;
double vLimit=2*pi, uLimit=2*pi; // limit of integration, in meters
double c1=3, c2=4; // limit of the square thread in meters
double d=-0; // angle start for the helicoid
do
{
do
{
//calculation of each point of the helicoid
x=v*cos(u-d);
y=v*sin(u-d);
z=u;
// select only point for have the square thread
if( (x>c1 && x<c2 && y<c2 && y>-c2) || (x<-c1 && x>-c2 && y<c2 && y>-c2) || (y>c1 && y<c2 && x<c2 && x>-c2) || (y<-c1 && y>-c2 && x<c2 && x>-c2) )
{
a=atan(uLimit/2/pi/v);
torque=v*(uLimit-u)/10.0*sin(a)*pas*pas; // Here the pressure is (uLimit-u)/10.0 in bar //// pas*pas = surface
torqueT+=torque;
/*
// print part result
printf("\nu=%f, v=%f", u,v);
printf("\nx=%f, y=%f, z=%f",x,y,z);
printf("\na=%f, couple=%f",a, torque);
printf("\nT=%f", torqueT);
system("pause");
*/
}
v+=pas; // increase step of integration
}while(v<vLimit);
v=0;
u+=pas; // increase step for integration
}while(u<uLimit);
printf("The total torque is: %f",torqueT*100000.0); // * 100000 for pass from bar to Pa unity
}