23 real(kind=realtype),
dimension(:, :),
intent(in) :: globalvals
24 real(kind=realtype),
dimension(:),
intent(out) :: funcvalues
26 real(kind=realtype) :: fact, factmoment, ovrnts
27 real(kind=realtype),
dimension(3, ntimeintervalsspectral) :: force, &
28 & forcep, forcev, forcem, moment, cforce, cforcep, cforcev, cforcem, &
29 & cmoment, cofx, cofy, cofz
30 real(kind=realtype),
dimension(3) :: vcoordref, vfreestreamref
31 real(kind=realtype) :: mavgptot, mavgttot, mavgrho, mavgps, mflow, &
32 & mavgmn, mavga, mavgvx, mavgvy, mavgvz, garea, mavgvi, fxlift, fylift&
34 real(kind=realtype) :: vdotn, mag, u, v, w, ks_comp
35 integer(kind=inttype) :: sps
36 real(kind=realtype),
dimension(8) :: dcdq, dcdqdot
37 real(kind=realtype),
dimension(8) :: dcdalpha, dcdalphadot
38 real(kind=realtype),
dimension(8) :: coef0
45 force = globalvals(
ifp:
ifp+2, :) + globalvals(
ifv:
ifv+2, :) + &
47 forcep = globalvals(
ifp:
ifp+2, :)
48 forcev = globalvals(
ifv:
ifv+2, :)
53 moment = globalvals(
imp:
imp+2, :) + globalvals(
imv:
imv+2, :) + &
94 & ovrnts*cforce(1, sps)
96 & ovrnts*cforce(2, sps)
98 & ovrnts*cforce(3, sps)
121 if (force(1, sps) .ne.
zero)
then
122 cofx(:, sps) = cofx(:, sps)/force(1, sps)
126 if (force(2, sps) .ne.
zero)
then
127 cofy(:, sps) = cofy(:, sps)/force(2, sps)
131 if (force(3, sps) .ne.
zero)
then
132 cofz(:, sps) = cofz(:, sps)/force(3, sps)
138 & ovrnts*cofx(1, sps)
140 & ovrnts*cofx(2, sps)
142 & ovrnts*cofx(3, sps)
145 & ovrnts*cofy(1, sps)
147 & ovrnts*cofy(2, sps)
149 & ovrnts*cofy(3, sps)
152 & ovrnts*cofz(1, sps)
154 & ovrnts*cofz(2, sps)
156 & ovrnts*cofz(3, sps)
165 & ovrnts*cmoment(1, sps)
167 & ovrnts*cmoment(2, sps)
169 & ovrnts*cmoment(3, sps)
203 & globalvals(
iarea, sps)
205 & ovrnts*globalvals(
ipower, sps)
210 if (mflow .ne.
zero)
then
211 mavgptot = globalvals(
imassptot, sps)/mflow
212 mavgttot = globalvals(
imassttot, sps)/mflow
213 mavgrho = globalvals(
imassrho, sps)/mflow
214 mavgps = globalvals(
imassps, sps)/mflow
215 mavgmn = globalvals(
imassmn, sps)/mflow
216 mavga = globalvals(
imassa, sps)/mflow
217 mavgvx = globalvals(
imassvx, sps)/mflow
218 mavgvy = globalvals(
imassvy, sps)/mflow
219 mavgvz = globalvals(
imassvz, sps)/mflow
220 mavgvi = globalvals(
imassvi, sps)/mflow
222 & )**2 + globalvals(
imassnz, sps)**2)
236 garea = globalvals(
iarea, sps)
237 if (garea .ne.
zero)
then
240 & ovrnts*globalvals(
iareaptot, sps)/garea
242 & *globalvals(
iareaps, sps)/garea
338 if (fxlift + fylift + fzlift .ne.
zero)
then
356 &
'error: tsstabilityderivatives are *broken*. they need to be ', &
357 &
'completely verifed from scratch'
384 real(kind=realtype),
dimension(nlocalvalues),
intent(inout) :: &
386 integer(kind=inttype) :: mm
388 real(kind=realtype),
dimension(3) :: fp, fv, mp, mv
389 real(kind=realtype),
dimension(3) :: cofsumfx, cofsumfy, cofsumfz
390 real(kind=realtype) :: yplusmax, sepsensorks, sepsensor, &
391 & sepsensoravg(3), sepsensorarea, cavitation, cpmin_ks_sum, &
393 integer(kind=inttype) :: i, j, ii, blk
394 real(kind=realtype) :: pm1, fx, fy, fz, fn
395 real(kind=realtype) :: vecttangential(3)
396 real(kind=realtype) :: vectdotproductfsnormal
397 real(kind=realtype) :: xc, xco, yc, yco, zc, zco, qf(3), r(3), n(3)&
399 real(kind=realtype) :: fact, rho, mul, yplus, dwall
400 real(kind=realtype) :: v(3), sensor, sensor1, cp, tmp, plocal, &
402 real(kind=realtype) :: tauxx, tauyy, tauzz
403 real(kind=realtype) :: tauxy, tauxz, tauyz
404 real(kind=realtype),
dimension(3) :: refpoint
405 real(kind=realtype),
dimension(3, 2) :: axispoints
406 real(kind=realtype) :: mx, my, mz, cellarea, m0x, m0y, m0z, mvaxis, &
408 real(kind=realtype) :: cperror, cperror2
445 sepsensorksarea =
zero
485 cperror = cp -
bcdata(mm)%cptarget(i, j)
486 cperror2 = cperror2 + cperror*cperror
487 xc =
fourth*(
xx(i, j, 1)+
xx(i+1, j, 1)+
xx(i, j+1, 1)+
xx(i+1, j+1, &
489 yc =
fourth*(
xx(i, j, 2)+
xx(i+1, j, 2)+
xx(i, j+1, 2)+
xx(i+1, j+1, &
491 zc =
fourth*(
xx(i, j, 3)+
xx(i+1, j, 3)+
xx(i, j+1, 3)+
xx(i+1, j+1, &
493 if (
bcdata(mm)%iblank(i, j) .lt. 0)
then
496 blk =
bcdata(mm)%iblank(i, j)
498 fx = pm1*
ssi(i, j, 1)
499 fy = pm1*
ssi(i, j, 2)
500 fz = pm1*
ssi(i, j, 3)
507 fp(1) = fp(1) + fx*blk
508 fp(2) = fp(2) + fy*blk
509 fp(3) = fp(3) + fz*blk
513 mp(1) = mp(1) + mx*blk
514 mp(2) = mp(2) + my*blk
515 mp(3) = mp(3) + mz*blk
518 xco =
fourth*(
xx(i, j, 1)+
xx(i+1, j, 1)+
xx(i, j+1, 1)+
xx(i+1, j+1&
520 yco =
fourth*(
xx(i, j, 2)+
xx(i+1, j, 2)+
xx(i, j+1, 2)+
xx(i+1, j+1&
522 zco =
fourth*(
xx(i, j, 3)+
xx(i+1, j, 3)+
xx(i, j+1, 3)+
xx(i+1, j+1&
526 cofsumfx(1) = cofsumfx(1) + xco*fx*blk
527 cofsumfx(2) = cofsumfx(2) + yco*fx*blk
528 cofsumfx(3) = cofsumfx(3) + zco*fx*blk
530 cofsumfy(1) = cofsumfy(1) + xco*fy*blk
531 cofsumfy(2) = cofsumfy(2) + yco*fy*blk
532 cofsumfy(3) = cofsumfy(3) + zco*fy*blk
534 cofsumfz(1) = cofsumfz(1) + xco*fz*blk
535 cofsumfz(2) = cofsumfz(2) + yco*fz*blk
536 cofsumfz(3) = cofsumfz(3) + zco*fz*blk
541 r(1) =
fourth*(
xx(i, j, 1)+
xx(i+1, j, 1)+
xx(i, j+1, 1)+
xx(i+1, j+1&
542 & , 1)) - axispoints(1, 1)
543 r(2) =
fourth*(
xx(i, j, 2)+
xx(i+1, j, 2)+
xx(i, j+1, 2)+
xx(i+1, j+1&
544 & , 2)) - axispoints(2, 1)
545 r(3) =
fourth*(
xx(i, j, 3)+
xx(i+1, j, 3)+
xx(i, j+1, 3)+
xx(i+1, j+1&
546 & , 3)) - axispoints(3, 1)
547 l = sqrt((axispoints(1, 2)-axispoints(1, 1))**2 + (axispoints(2, 2&
548 & )-axispoints(2, 1))**2 + (axispoints(3, 2)-axispoints(3, 1))**2)
549 n(1) = (axispoints(1, 2)-axispoints(1, 1))/l
550 n(2) = (axispoints(2, 2)-axispoints(2, 1))/l
551 n(3) = (axispoints(3, 2)-axispoints(3, 1))/l
555 m0x = r(2)*fz - r(3)*fy
556 m0y = r(3)*fx - r(1)*fz
557 m0z = r(1)*fy - r(2)*fx
558 mpaxis = mpaxis + (m0x*n(1)+m0y*n(2)+m0z*n(3))*blk
560 bcdata(mm)%fp(i, j, 1) = fx
561 bcdata(mm)%fp(i, j, 2) = fy
562 bcdata(mm)%fp(i, j, 3) = fz
563 cellarea = sqrt(
ssi(i, j, 1)**2 +
ssi(i, j, 2)**2 +
ssi(i, j, 3)**&
565 bcdata(mm)%area(i, j) = cellarea
570 v = v/(sqrt(v(1)**2+v(2)**2+v(3)**2)+1e-16)
578 & *
bcdata(mm)%norm(i, j, 1)
580 & *
bcdata(mm)%norm(i, j, 2)
582 & *
bcdata(mm)%norm(i, j, 3)
583 vecttangential = vecttangential/(sqrt(vecttangential(1)**2+&
584 & vecttangential(2)**2+vecttangential(3)**2)+1e-16)
587 sensor = v(1)*vecttangential(1) + v(2)*vecttangential(2) + v(3)*&
595 sepsensorksarea = sepsensorksarea + blk*cellarea
596 sepsensorarea = cellarea*blk*
one/(
one+exp(-(2*&
599 sepsensorks = sepsensorks + ks_exponent*blk
608 sensor = sensor*cellarea*blk
609 sepsensor = sepsensor + sensor
612 sepsensoravg(1) = sepsensoravg(1) + sensor*xco
613 sepsensoravg(2) = sepsensoravg(2) + sensor*yco
614 sepsensoravg(3) = sepsensoravg(3) + sensor*zco
618 cp = tmp*(plocal-
pinf)
622 sensor1 = sensor1*cellarea*blk
623 cavitation = cavitation + sensor1
626 cpmin_ks_sum = cpmin_ks_sum + ks_exponent*blk
648 if (
bcdata(mm)%iblank(i, j) .lt. 0)
then
651 blk =
bcdata(mm)%iblank(i, j)
661 fx = -(fact*(tauxx*
ssi(i, j, 1)+tauxy*
ssi(i, j, 2)+tauxz*
ssi(i, &
663 fy = -(fact*(tauxy*
ssi(i, j, 1)+tauyy*
ssi(i, j, 2)+tauyz*
ssi(i, &
665 fz = -(fact*(tauxz*
ssi(i, j, 1)+tauyz*
ssi(i, j, 2)+tauzz*
ssi(i, &
672 & , 1)) - refpoint(1)
674 & , 2)) - refpoint(2)
676 & , 3)) - refpoint(3)
678 fv(1) = fv(1) + fx*blk
679 fv(2) = fv(2) + fy*blk
680 fv(3) = fv(3) + fz*blk
684 mv(1) = mv(1) + mx*blk
685 mv(2) = mv(2) + my*blk
686 mv(3) = mv(3) + mz*blk
697 cofsumfx(1) = cofsumfx(1) + xco*fx*blk
698 cofsumfx(2) = cofsumfx(2) + yco*fx*blk
699 cofsumfx(3) = cofsumfx(3) + zco*fx*blk
701 cofsumfy(1) = cofsumfy(1) + xco*fy*blk
702 cofsumfy(2) = cofsumfy(2) + yco*fy*blk
703 cofsumfy(3) = cofsumfy(3) + zco*fy*blk
705 cofsumfz(1) = cofsumfz(1) + xco*fz*blk
706 cofsumfz(2) = cofsumfz(2) + yco*fz*blk
707 cofsumfz(3) = cofsumfz(3) + zco*fz*blk
713 & +1, 1)) - axispoints(1, 1)
715 & +1, 2)) - axispoints(2, 1)
717 & +1, 3)) - axispoints(3, 1)
718 l = sqrt((axispoints(1, 2)-axispoints(1, 1))**2 + (axispoints(2&
719 & , 2)-axispoints(2, 1))**2 + (axispoints(3, 2)-axispoints(3, 1)&
721 n(1) = (axispoints(1, 2)-axispoints(1, 1))/l
722 n(2) = (axispoints(2, 2)-axispoints(2, 1))/l
723 n(3) = (axispoints(3, 2)-axispoints(3, 1))/l
727 m0x = r(2)*fz - r(3)*fy
728 m0y = r(3)*fx - r(1)*fz
729 m0z = r(1)*fy - r(2)*fx
730 mvaxis = mvaxis + (m0x*n(1)+m0y*n(2)+m0z*n(3))*blk
732 bcdata(mm)%fv(i, j, 1) = fx
733 bcdata(mm)%fv(i, j, 2) = fy
734 bcdata(mm)%fv(i, j, 3) = fz
741 fx = tauxx*
bcdata(mm)%norm(i, j, 1) + tauxy*
bcdata(mm)%norm(i, j&
742 & , 2) + tauxz*
bcdata(mm)%norm(i, j, 3)
743 fy = tauxy*
bcdata(mm)%norm(i, j, 1) + tauyy*
bcdata(mm)%norm(i, j&
744 & , 2) + tauyz*
bcdata(mm)%norm(i, j, 3)
745 fz = tauxz*
bcdata(mm)%norm(i, j, 1) + tauyz*
bcdata(mm)%norm(i, j&
746 & , 2) + tauzz*
bcdata(mm)%norm(i, j, 3)
747 fn = fx*
bcdata(mm)%norm(i, j, 1) + fy*
bcdata(mm)%norm(i, j, 2) +&
748 & fz*
bcdata(mm)%norm(i, j, 3)
749 fx = fx - fn*
bcdata(mm)%norm(i, j, 1)
750 fy = fy - fn*
bcdata(mm)%norm(i, j, 2)
751 fz = fz - fn*
bcdata(mm)%norm(i, j, 3)
777 localvalues(
icpmin) = localvalues(
icpmin) + cpmin_ks_sum
788 real(kind=
realtype),
intent(inout) :: ks_g
789 real(kind=
realtype),
intent(in) :: g, max_g, g_rho
791 ks_g = exp(g_rho*(g-max_g))
807 logical,
intent(in) :: isinflow
808 real(kind=realtype),
dimension(nlocalvalues),
intent(inout) :: &
810 integer(kind=inttype),
intent(in) :: mm
812 real(kind=realtype) :: massflowrate, mass_ptot, mass_ttot, mass_ps, &
813 & mass_mn, mass_a, mass_rho, mass_vx, mass_vy, mass_vz, mass_nx, &
814 & mass_ny, mass_nz, mass_vi
815 real(kind=realtype) :: area_ptot, area_ps
816 real(kind=realtype) :: govgm1, gm1ovg, viconst, vilocal, pratio
817 real(kind=realtype) :: mredim
818 integer(kind=inttype) :: i, j, ii, blk
819 real(kind=realtype) :: internalflowfact, inflowfact, fact, xc, xco, &
820 & yc, yco, zc, zco, mx, my, mz
821 real(kind=realtype) :: sf, vmag, vnm, vnmfreestreamref, vxm, vym, &
822 & vzm, fx, fy, fz, u, v, w
823 real(kind=realtype) :: pm, ptot, ttot, rhom, gammam, am
824 real(kind=realtype) :: area, cellarea, overcellarea
825 real(kind=realtype),
dimension(3) :: fp, mp, fmom, mmom, refpoint, &
827 real(kind=realtype),
dimension(3) :: cofsumfx, cofsumfy, cofsumfz
828 real(kind=realtype) :: mnm, massflowratelocal
848 internalflowfact =
one
851 if (isinflow) inflowfact = -
one
897 if (
bcdata(mm)%iblank(i, j) .lt. 0)
then
900 blk =
bcdata(mm)%iblank(i, j)
908 vnm = vxm*
ssi(i, j, 1) + vym*
ssi(i, j, 2) + vzm*
ssi(i, j, 3) - sf
909 vmag = sqrt(vxm**2 + vym**2 + vzm**2) - sf
910 am = sqrt(gammam*pm/rhom)
912 cellarea = sqrt(
ssi(i, j, 1)**2 +
ssi(i, j, 2)**2 +
ssi(i, j, 3)**&
914 area = area + cellarea*blk
915 overcellarea = 1/cellarea
918 massflowratelocal = rhom*vnm*blk*fact*mredim
919 massflowrate = massflowrate + massflowratelocal
922 mass_ptot = mass_ptot + ptot*massflowratelocal*
pref
923 mass_ttot = mass_ttot + ttot*massflowratelocal*
tref
924 mass_rho = mass_rho + rhom*massflowratelocal*
rhoref
925 mass_a = mass_a + am*massflowratelocal*
uref
926 mass_ps = mass_ps + pm*massflowratelocal
927 mass_mn = mass_mn + mnm*massflowratelocal
928 area_ptot = area_ptot + ptot*
pref*cellarea*blk
929 area_ps = area_ps + pm*cellarea*blk
930 sfacecoordref(1) = sf*
ssi(i, j, 1)*overcellarea
931 sfacecoordref(2) = sf*
ssi(i, j, 2)*overcellarea
932 sfacecoordref(3) = sf*
ssi(i, j, 3)*overcellarea
933 mass_vx = mass_vx + (vxm*
uref-sfacecoordref(1))*massflowratelocal
934 mass_vy = mass_vy + (vym*
uref-sfacecoordref(2))*massflowratelocal
935 mass_vz = mass_vz + (vzm*
uref-sfacecoordref(3))*massflowratelocal
939 if (
one .gt.
one/ptot)
then
944 vilocal = sqrt(viconst*(
one-pratio**gm1ovg)*ttot*
tref)
945 mass_vi = mass_vi + vilocal*massflowratelocal
946 mass_nx = mass_nx +
ssi(i, j, 1)*overcellarea*massflowratelocal
947 mass_ny = mass_ny +
ssi(i, j, 2)*overcellarea*massflowratelocal
948 mass_nz = mass_nz +
ssi(i, j, 3)*overcellarea*massflowratelocal
949 xc =
fourth*(
xx(i, j, 1)+
xx(i+1, j, 1)+
xx(i, j+1, 1)+
xx(i+1, j+1, &
951 yc =
fourth*(
xx(i, j, 2)+
xx(i+1, j, 2)+
xx(i, j+1, 2)+
xx(i+1, j+1, &
953 zc =
fourth*(
xx(i, j, 3)+
xx(i+1, j, 3)+
xx(i, j+1, 3)+
xx(i+1, j+1, &
974 xco =
fourth*(
xx(i, j, 1)+
xx(i+1, j, 1)+
xx(i, j+1, 1)+
xx(i+1, j+1&
976 yco =
fourth*(
xx(i, j, 2)+
xx(i+1, j, 2)+
xx(i, j+1, 2)+
xx(i+1, j+1&
978 zco =
fourth*(
xx(i, j, 3)+
xx(i+1, j, 3)+
xx(i, j+1, 3)+
xx(i+1, j+1&
984 cofsumfx(1) = cofsumfx(1) + xco*fx
985 cofsumfx(2) = cofsumfx(2) + yco*fx
986 cofsumfx(3) = cofsumfx(3) + zco*fx
988 cofsumfy(1) = cofsumfy(1) + xco*fy
989 cofsumfy(2) = cofsumfy(2) + yco*fy
990 cofsumfy(3) = cofsumfy(3) + zco*fy
992 cofsumfz(1) = cofsumfz(1) + xco*fz
993 cofsumfz(2) = cofsumfz(2) + yco*fz
994 cofsumfz(3) = cofsumfz(3) + zco*fz
999 massflowratelocal = massflowratelocal*fact/
timeref*blk/cellarea*&
1000 & internalflowfact*inflowfact
1001 fx = massflowratelocal*
ssi(i, j, 1)*vxm
1002 fy = massflowratelocal*
ssi(i, j, 2)*vym
1003 fz = massflowratelocal*
ssi(i, j, 3)*vzm
1004 fmom(1) = fmom(1) + fx
1005 fmom(2) = fmom(2) + fy
1006 fmom(3) = fmom(3) + fz
1010 mmom(1) = mmom(1) + mx
1011 mmom(2) = mmom(2) + my
1012 mmom(3) = mmom(3) + mz
1017 cofsumfx(1) = cofsumfx(1) + xco*fx
1018 cofsumfx(2) = cofsumfx(2) + yco*fx
1019 cofsumfx(3) = cofsumfx(3) + zco*fx
1021 cofsumfy(1) = cofsumfy(1) + xco*fy
1022 cofsumfy(2) = cofsumfy(2) + yco*fy
1023 cofsumfy(3) = cofsumfy(3) + zco*fy
1025 cofsumfz(1) = cofsumfz(1) + xco*fz
1026 cofsumfz(2) = cofsumfz(2) + yco*fz
1027 cofsumfz(3) = cofsumfz(3) + zco*fz
1031 localvalues(
iarea) = localvalues(
iarea) + area
real(kind=realtype), dimension(:, :), pointer gamma2
real(kind=realtype), dimension(:, :), pointer pp1
real(kind=realtype), dimension(:, :), pointer sface
real(kind=realtype), dimension(:, :, :), pointer ww1
real(kind=realtype), dimension(:, :), pointer pp2
real(kind=realtype), dimension(:, :, :), pointer xx
real(kind=realtype), dimension(:, :), pointer gamma1
real(kind=realtype), dimension(:, :, :), pointer ww2
real(kind=realtype), dimension(:, :, :), pointer ssi
logical addgridvelocities
integer(kind=inttype) spectralsol
type(viscsubfacetype), dimension(:), pointer viscsubface
integer(kind=inttype), dimension(:), pointer bcfaceid
integer(kind=inttype), dimension(:), pointer bctype
integer(kind=inttype), dimension(:), pointer inbeg
integer(kind=inttype), parameter costfuncaxismoment
integer(kind=inttype), parameter costfuncmavgptot
integer(kind=inttype), parameter costfuncforceyviscous
integer(kind=inttype), parameter isepavg
integer(kind=inttype), parameter imassvz
integer(kind=inttype), parameter iareaps
real(kind=realtype), parameter degtorad
real(kind=realtype), parameter zero
integer(kind=inttype), parameter costfuncforceycoefviscous
integer(kind=inttype), parameter costfuncforceypressure
integer(kind=inttype), parameter costfunccoforcexx
integer(kind=inttype), parameter imax
integer(kind=inttype), parameter costfuncforcexmomentum
integer(kind=inttype), parameter iflowmp
integer(kind=inttype), parameter imassnx
integer(kind=inttype), parameter kmin
integer(kind=inttype), parameter costfunccoforcexz
integer(kind=inttype), parameter costfuncdragviscous
integer(kind=inttype), parameter imassflow
integer(kind=inttype), parameter jmax
integer(kind=inttype), parameter costfuncforcexcoefpressure
integer(kind=inttype), parameter icoforcez
integer(kind=inttype), parameter costfuncliftcoefpressure
integer(kind=inttype), parameter costfuncdragcoefviscous
integer(kind=inttype), parameter costfuncmdot
integer(kind=inttype), parameter costfuncdragcoef
integer(kind=inttype), parameter costfuncdragcoefmomentum
integer(kind=inttype), parameter costfuncarea
integer(kind=inttype), parameter costfuncforcexpressure
integer(kind=inttype), parameter costfunccoforceyy
integer(kind=inttype), parameter costfunccavitation
integer(kind=inttype), parameter costfuncmomzcoef
integer(kind=inttype), parameter imassptot
integer(kind=inttype), parameter costfuncmavga
integer(kind=inttype), parameter iflowfm
integer(kind=inttype), parameter icperror2
integer(kind=inttype), parameter costfunccperror2
integer(kind=inttype), parameter costfuncliftmomentum
integer(kind=inttype), parameter costfuncforcezcoefviscous
integer(kind=inttype), parameter costfuncaavgps
integer(kind=inttype), parameter costfuncforcexviscous
integer(kind=inttype), parameter costfuncaavgptot
integer(kind=inttype), parameter costfuncflowpower
integer(kind=inttype), parameter costfuncforceymomentum
integer(kind=inttype), parameter costfuncliftviscous
integer(kind=inttype), parameter costfuncforcex
integer(kind=inttype), parameter nswalladiabatic
integer(kind=inttype), parameter costfuncliftpressure
integer(kind=inttype), parameter imassnz
integer(kind=inttype), parameter costfuncforceycoefpressure
integer(kind=inttype), parameter costfuncmomxcoef
integer(kind=inttype), parameter costfuncforcezmomentum
integer(kind=inttype), parameter costfuncforcezcoefmomentum
integer(kind=inttype), parameter imp
integer(kind=inttype), parameter costfuncmomz
integer(kind=inttype), parameter imassa
integer(kind=inttype), parameter ipower
integer(kind=inttype), parameter ifv
integer(kind=inttype), parameter costfuncsepsensorksarea
integer(kind=inttype), parameter imassny
integer(kind=inttype), parameter costfuncmomy
integer(kind=inttype), parameter costfuncmavgvy
integer(kind=inttype), parameter costfuncmomx
integer(kind=inttype), parameter costfuncforcez
integer(kind=inttype), parameter costfuncmavgvx
integer(kind=inttype), parameter costfunccoforcexy
integer(kind=inttype), parameter costfuncdragmomentum
integer(kind=inttype), parameter isepsensorarea
integer(kind=inttype), parameter costfuncforcexcoef
integer(kind=inttype), parameter costfuncmavgvi
integer(kind=inttype), parameter icoforcex
integer(kind=inttype), parameter costfunccoforceyx
real(kind=realtype), parameter one
integer(kind=inttype), parameter costfuncforcexcoefmomentum
integer(kind=inttype), parameter costfuncmavgps
integer(kind=inttype), parameter iflowmm
integer(kind=inttype), parameter imassvy
integer(kind=inttype), parameter costfunccoforceyz
real(kind=realtype), parameter half
integer(kind=inttype), parameter costfunccofliftx
integer(kind=inttype), parameter costfunccoforcezz
integer(kind=inttype), parameter costfunccpmin
integer(kind=inttype), parameter imassvx
integer(kind=inttype), parameter imassrho
integer(kind=inttype), parameter imin
integer(kind=inttype), parameter costfunccoflifty
integer(kind=inttype), parameter imassmn
integer(kind=inttype), parameter costfuncforcezcoefpressure
integer(kind=inttype), parameter costfuncmavgmn
integer(kind=inttype), parameter costfuncforceycoef
integer(kind=inttype), parameter costfuncliftcoefmomentum
integer(kind=inttype), parameter costfuncforcey
integer(kind=inttype), parameter icoforcey
integer(kind=inttype), parameter costfuncdrag
integer(kind=inttype), parameter iarea
integer(kind=inttype), parameter costfunccofliftz
integer(kind=inttype), parameter imassvi
integer(kind=inttype), parameter costfuncforcexcoefviscous
integer(kind=inttype), parameter iaxismoment
real(kind=realtype), parameter two
integer(kind=inttype), parameter costfuncsepsensoravgz
integer(kind=inttype), parameter imv
integer(kind=inttype), parameter costfuncdragcoefpressure
integer(kind=inttype), parameter isepsensorksarea
integer(kind=inttype), parameter imassps
real(kind=realtype), parameter fourth
integer(kind=inttype), parameter isepsensor
integer(kind=inttype), parameter nswallisothermal
integer(kind=inttype), parameter costfunclift
integer(kind=inttype), parameter costfunccoforcezy
integer(kind=inttype), parameter costfuncmavgttot
integer(kind=inttype), parameter costfuncliftcoef
integer(kind=inttype), parameter costfuncmomycoef
integer(kind=inttype), parameter costfuncsepsensoravgy
integer(kind=inttype), parameter costfuncmavgvz
integer(kind=inttype), parameter costfuncliftcoefviscous
integer(kind=inttype), parameter costfuncsepsensoravgx
integer(kind=inttype), parameter icpmin
integer(kind=inttype), parameter costfunccoforcezx
integer(kind=inttype), parameter costfuncforcezpressure
integer(kind=inttype), parameter costfuncforcezviscous
integer(kind=inttype), parameter costfuncmavgrho
integer(kind=inttype), parameter kmax
integer(kind=inttype), parameter costfuncsepsensor
integer(kind=inttype), parameter costfuncsepsensorks
integer(kind=inttype), parameter isepsensorks
integer(kind=inttype), parameter icavitation
integer(kind=inttype), parameter imassttot
integer(kind=inttype), parameter jmin
integer(kind=inttype), parameter costfuncforcezcoef
integer(kind=inttype), parameter internalflow
integer(kind=inttype), parameter ifp
integer(kind=inttype), parameter costfuncdragpressure
integer(kind=inttype), parameter costfuncforceycoefmomentum
integer(kind=inttype), parameter iareaptot
subroutine computettot(rho, u, v, w, p, ttot)
subroutine computeptot(rho, u, v, w, p, ptot)
subroutine getdirvector(refdirection, alpha, beta, winddirection, liftindex)
real(kind=realtype) gammainf
real(kind=realtype) rhoref
real(kind=realtype) rhoinf
real(kind=realtype) timeref
integer, parameter realtype
subroutine getcostfunctions(globalvals, funcvalues)
subroutine flowintegrationface(isinflow, localvalues, mm)
subroutine ksaggregationfunction(g, max_g, g_rho, ks_g)
subroutine wallintegrationface(localvalues, mm)
subroutine computetsderivatives(force, moment, coef0, dcdalpha, dcdalphadot, dcdq, dcdqdot)
real(kind=realtype) function mynorm2(x)