subroutine mvbfrc1_usr(fx,fy,fz,fmx,fmy,fmz,nob) c use mblock_module c use arrays_module c use meshcb_module c use mblock_module c use obsijk_module c #ifdef SINGLE include '../comdeck/precis4.f' #else include '../comdeck/precis.f' #endif c include '../comdeck/params.f' include '../comdeck/const.f' include '../comdeck/cntrl.f' include '../comdeck/cbusr.f' include '../comdeck/dumn.f' include '../comdeck/mparam.f' include '../comdeck/acctrm.f' include '../comdeck/scalar.f' c c c c HINCHEY JOT CODE: PROP AUV c c if(cycle.eq.0) then c rold=0.0 c endif c if(nob.eq.1) then c VERTICAL AXIS PPROPELLORS c call mvbprfrc(pfxob,pfyob,pfzob, c * pfmxob,pfmyob,pfmzob,4,1) c fp4=pfzob c fmp4=pfmzob c call mvbprfrc(pfxob,pfyob,pfzob, c * pfmxob,pfmyob,pfmzob,5,1) c fp5=pfzob c fmp5=pfmzob c call mvbshrfrc(sfxob,sfyob,sfzob, c * sfmxob,sfmyob,sfmzob,4) c fs4=sfzob c fms4=sfmzob c call mvbshrfrc(sfxob,sfyob,sfzob, c * sfmxob,sfmyob,sfmzob,5) c fs5=sfzob c fms5=sfmzob c fzv=+fp4+fp5+fs4+fs5 c fmz=+fmp4+fmp5+fms4+fms5 c HORIZONTAL AXIS PROPELLORS c call mvbprfrc(pfxob,pfyob,pfzob, c * pfmxob,pfmyob,pfmzob,2,1) c fpx2=pfxob c fpy2=pfyob c fpz2=pfzob c call mvbprfrc(pfxob,pfyob,pfzob, c * pfmxob,pfmyob,pfmzob,3,1) c fpx3=pfxob c fpy3=pfyob c fpz3=pfzob c call mvbshrfrc(sfxob,sfyob,sfzob, c * sfmxob,sfmyob,sfmzob,2) c fsx2=sfxob c fsy2=sfyob c fsz2=sfzob c call mvbshrfrc(sfxob,sfyob,sfzob, c * sfmxob,sfmyob,sfmzob,3) c fsx3=sfxob c fsy3=sfyob c fsz3=sfzob c fx2=+fpx2+fsx2 c fx3=+fpx3+fsx3 c fy2=+fpy2+fsy2 c fy3=+fpy3+fsy3 c fz2=+fpz2+fsz2 c fz3=+fpz3+fsz3 c fx=+fx2+fx3 c fy=+fy2+fy3 c fzh=+fz2+fz3 c arm=0.1 c fmx2=-fx2*arm*cos(rold) c fmx3=+fx3*arm*cos(rold) c fmy2=-fy2*arm*sin(rold) c fmy3=+fy3*arm*sin(rold) c fmz=fmz+fmx2+fmx3+fmy2+fmy3 c fz=fzv+fzh c endif c c HINCHEY JOT CODE: PROP AUV c c c HINCHEY JOT CODE: TANK AUV c c if(cycle.eq.0) then c rold=0.0 c endif c if(nob.eq.1) then c BUOYANCY TANK c fz=0.0 c call mvbprfrc(pfxob,pfyob,pfzob, c * pfmxob,pfmyob,pfmzob,4,1) c fpo=pfzob c call mvbshrfrc(sfxob,sfyob,sfzob, c * sfmxob,sfmyob,sfmzob,4) c fso=sfzob c fso=0.0 c piston=fpo+fso c fz=piston c fzb=fz c HORIZONTAL AXIS PROPELLORS c call mvbprfrc(pfxob,pfyob,pfzob, c * pfmxob,pfmyob,pfmzob,2,1) c fpx2=pfxob c fpy2=pfyob c fpz2=pfzob c call mvbprfrc(pfxob,pfyob,pfzob, c * pfmxob,pfmyob,pfmzob,3,1) c fpx3=pfxob c fpy3=pfyob c fpz3=pfzob c call mvbshrfrc(sfxob,sfyob,sfzob, c * sfmxob,sfmyob,sfmzob,2) c fsx2=sfxob c fsy2=sfyob c fsz2=sfzob c call mvbshrfrc(sfxob,sfyob,sfzob, c * sfmxob,sfmyob,sfmzob,3) c fsx3=sfxob c fsy3=sfyob c fsz3=sfzob c fx2=+fpx2+fsx2 c fx3=+fpx3+fsx3 c fy2=+fpy2+fsy2 c fy3=+fpy3+fsy3 c fz2=+fpz2+fsz2 c fz3=+fpz3+fsz3 c fx=+fx2+fx3 c fy=+fy2+fy3 c fzh=+fz2+fz3 c fz=fz+fzh c arm=0.1 c fmx2=-fx2*arm*cos(rold) c fmx3=+fx3*arm*cos(rold) c fmy2=-fy2*arm*sin(rold) c fmy3=+fy3*arm*sin(rold) c fmz=fmx2+fmx3+fmy2+fmy3 c endif c c HINCHEY JOT CODE: TANK AUV c c c c c HINCHEY JOT CODE: PROP/TANK AUV c if(cycle.eq.0) then rold=0.0 endif if(nob.eq.1) then c VERTICAL AXIS PPROPELLORS call mvbprfrc(pfxob,pfyob,pfzob, * pfmxob,pfmyob,pfmzob,4,1) fp4=pfzob fmp4=pfmzob call mvbprfrc(pfxob,pfyob,pfzob, * pfmxob,pfmyob,pfmzob,5,1) fp5=pfzob fmp5=pfmzob call mvbshrfrc(sfxob,sfyob,sfzob, * sfmxob,sfmyob,sfmzob,4) fs4=sfzob fms4=sfmzob call mvbshrfrc(sfxob,sfyob,sfzob, * sfmxob,sfmyob,sfmzob,5) fs5=sfzob fms5=sfmzob fzv=+fp4+fp5+fs4+fs5 fmz=+fmp4+fmp5+fms4+fms5 c HORIZONTAL AXIS PROPELLORS call mvbprfrc(pfxob,pfyob,pfzob, * pfmxob,pfmyob,pfmzob,2,1) fpx2=pfxob fpy2=pfyob fpz2=pfzob call mvbprfrc(pfxob,pfyob,pfzob, * pfmxob,pfmyob,pfmzob,3,1) fpx3=pfxob fpy3=pfyob fpz3=pfzob call mvbshrfrc(sfxob,sfyob,sfzob, * sfmxob,sfmyob,sfmzob,2) fsx2=sfxob fsy2=sfyob fsz2=sfzob call mvbshrfrc(sfxob,sfyob,sfzob, * sfmxob,sfmyob,sfmzob,3) fsx3=sfxob fsy3=sfyob fsz3=sfzob fx2=+fpx2+fsx2 fx3=+fpx3+fsx3 fy2=+fpy2+fsy2 fy3=+fpy3+fsy3 fz2=+fpz2+fsz2 fz3=+fpz3+fsz3 fx=+fx2+fx3 fy=+fy2+fy3 fzh=+fz2+fz3 arm=0.1 fmx2=-fx2*arm*cos(rold) fmx3=+fx3*arm*cos(rold) fmy2=-fy2*arm*sin(rold) fmy3=+fy3*arm*sin(rold) fmz=fmz+fmx2+fmx3+fmy2+fmy3 fz=fzv+fzh c BUOYANCY TANK call mvbprfrc(pfxob,pfyob,pfzob, * pfmxob,pfmyob,pfmzob,6,1) fpo=pfzob call mvbshrfrc(sfxob,sfyob,sfzob, * sfmxob,sfmyob,sfmzob,6) fso=sfzob fso=0.0 piston=fpo+fso fzb=piston fz=fz+fzb endif c c HINCHEY JOT CODE: PROP/TANK c c c return end