Changeset 14387
- Timestamp:
- 2021-02-03T16:51:56+01:00 (4 years ago)
- Location:
- vendors/PPR/src
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
vendors/PPR/src/bfun1d.h90
r14212 r14387 60 60 select case (ndof) 61 61 case (+1) 62 bfun(1) = sval**1 / 1. d063 64 case (+2) 65 bfun(1) = sval**1 / 1. d066 bfun(2) = sval**2 / 2. d067 68 case (+3) 69 bfun(1) = sval**1 / 1. d070 bfun(2) = sval**2 / 2. d071 bfun(3) = sval**3 / 3. d072 73 case (+4) 74 bfun(1) = sval**1 / 1. d075 bfun(2) = sval**2 / 2. d076 bfun(3) = sval**3 / 3. d077 bfun(4) = sval**4 / 4. d078 79 case (+5) 80 bfun(1) = sval**1 / 1. d081 bfun(2) = sval**2 / 2. d082 bfun(3) = sval**3 / 3. d083 bfun(4) = sval**4 / 4. d084 bfun(5) = sval**5 / 5. d085 86 case (+6) 87 bfun(1) = sval**1 / 1. d088 bfun(2) = sval**2 / 2. d089 bfun(3) = sval**3 / 3. d090 bfun(4) = sval**4 / 4. d091 bfun(5) = sval**5 / 5. d092 bfun(6) = sval**6 / 6. d093 94 case (+7) 95 bfun(1) = sval**1 / 1. d096 bfun(2) = sval**2 / 2. d097 bfun(3) = sval**3 / 3. d098 bfun(4) = sval**4 / 4. d099 bfun(5) = sval**5 / 5. d0100 bfun(6) = sval**6 / 6. d0101 bfun(7) = sval**7 / 7. d062 bfun(1) = sval**1 / 1.e0 63 64 case (+2) 65 bfun(1) = sval**1 / 1.e0 66 bfun(2) = sval**2 / 2.e0 67 68 case (+3) 69 bfun(1) = sval**1 / 1.e0 70 bfun(2) = sval**2 / 2.e0 71 bfun(3) = sval**3 / 3.e0 72 73 case (+4) 74 bfun(1) = sval**1 / 1.e0 75 bfun(2) = sval**2 / 2.e0 76 bfun(3) = sval**3 / 3.e0 77 bfun(4) = sval**4 / 4.e0 78 79 case (+5) 80 bfun(1) = sval**1 / 1.e0 81 bfun(2) = sval**2 / 2.e0 82 bfun(3) = sval**3 / 3.e0 83 bfun(4) = sval**4 / 4.e0 84 bfun(5) = sval**5 / 5.e0 85 86 case (+6) 87 bfun(1) = sval**1 / 1.e0 88 bfun(2) = sval**2 / 2.e0 89 bfun(3) = sval**3 / 3.e0 90 bfun(4) = sval**4 / 4.e0 91 bfun(5) = sval**5 / 5.e0 92 bfun(6) = sval**6 / 6.e0 93 94 case (+7) 95 bfun(1) = sval**1 / 1.e0 96 bfun(2) = sval**2 / 2.e0 97 bfun(3) = sval**3 / 3.e0 98 bfun(4) = sval**4 / 4.e0 99 bfun(5) = sval**5 / 5.e0 100 bfun(6) = sval**6 / 6.e0 101 bfun(7) = sval**7 / 7.e0 102 102 103 103 end select … … 107 107 select case (ndof) 108 108 case (+1) 109 bfun(1) = 1. d0110 111 case (+2) 112 bfun(1) = 1. d0113 bfun(2) = sval**1 * 1. d0114 115 case (+3) 116 bfun(1) = 1. d0117 bfun(2) = sval**1 * 1. d0118 bfun(3) = sval**2 * 1. d0119 120 case (+4) 121 bfun(1) = 1. d0122 bfun(2) = sval**1 * 1. d0123 bfun(3) = sval**2 * 1. d0124 bfun(4) = sval**3 * 1. d0125 126 case (+5) 127 bfun(1) = 1. d0128 bfun(2) = sval**1 * 1. d0129 bfun(3) = sval**2 * 1. d0130 bfun(4) = sval**3 * 1. d0131 bfun(5) = sval**4 * 1. d0132 133 case (+6) 134 bfun(1) = 1. d0135 bfun(2) = sval**1 * 1. d0136 bfun(3) = sval**2 * 1. d0137 bfun(4) = sval**3 * 1. d0138 bfun(5) = sval**4 * 1. d0139 bfun(6) = sval**5 * 1. d0140 141 case (+7) 142 bfun(1) = 1. d0143 bfun(2) = sval**1 * 1. d0144 bfun(3) = sval**2 * 1. d0145 bfun(4) = sval**3 * 1. d0146 bfun(5) = sval**4 * 1. d0147 bfun(6) = sval**5 * 1. d0148 bfun(7) = sval**6 * 1. d0109 bfun(1) = 1.e0 110 111 case (+2) 112 bfun(1) = 1.e0 113 bfun(2) = sval**1 * 1.e0 114 115 case (+3) 116 bfun(1) = 1.e0 117 bfun(2) = sval**1 * 1.e0 118 bfun(3) = sval**2 * 1.e0 119 120 case (+4) 121 bfun(1) = 1.e0 122 bfun(2) = sval**1 * 1.e0 123 bfun(3) = sval**2 * 1.e0 124 bfun(4) = sval**3 * 1.e0 125 126 case (+5) 127 bfun(1) = 1.e0 128 bfun(2) = sval**1 * 1.e0 129 bfun(3) = sval**2 * 1.e0 130 bfun(4) = sval**3 * 1.e0 131 bfun(5) = sval**4 * 1.e0 132 133 case (+6) 134 bfun(1) = 1.e0 135 bfun(2) = sval**1 * 1.e0 136 bfun(3) = sval**2 * 1.e0 137 bfun(4) = sval**3 * 1.e0 138 bfun(5) = sval**4 * 1.e0 139 bfun(6) = sval**5 * 1.e0 140 141 case (+7) 142 bfun(1) = 1.e0 143 bfun(2) = sval**1 * 1.e0 144 bfun(3) = sval**2 * 1.e0 145 bfun(4) = sval**3 * 1.e0 146 bfun(5) = sval**4 * 1.e0 147 bfun(6) = sval**5 * 1.e0 148 bfun(7) = sval**6 * 1.e0 149 149 150 150 end select … … 154 154 select case (ndof) 155 155 case (+1) 156 bfun(1) = 0. d0157 158 case (+2) 159 bfun(1) = 0. d0160 bfun(2) = 1. d0161 162 case (+3) 163 bfun(1) = 0. d0164 bfun(2) = 1. d0165 bfun(3) = sval**1 * 2. d0166 167 case (+4) 168 bfun(1) = 0. d0169 bfun(2) = 1. d0170 bfun(3) = sval**1 * 2. d0171 bfun(4) = sval**2 * 3. d0172 173 case (+5) 174 bfun(1) = 0. d0175 bfun(2) = 1. d0176 bfun(3) = sval**1 * 2. d0177 bfun(4) = sval**2 * 3. d0178 bfun(5) = sval**3 * 4. d0179 180 case (+6) 181 bfun(1) = 0. d0182 bfun(2) = 1. d0183 bfun(3) = sval**1 * 2. d0184 bfun(4) = sval**2 * 3. d0185 bfun(5) = sval**3 * 4. d0186 bfun(6) = sval**4 * 5. d0187 188 case (+7) 189 bfun(1) = 0. d0190 bfun(2) = 1. d0191 bfun(3) = sval**1 * 2. d0192 bfun(4) = sval**2 * 3. d0193 bfun(5) = sval**3 * 4. d0194 bfun(6) = sval**4 * 5. d0195 bfun(7) = sval**5 * 6. d0156 bfun(1) = 0.e0 157 158 case (+2) 159 bfun(1) = 0.e0 160 bfun(2) = 1.e0 161 162 case (+3) 163 bfun(1) = 0.e0 164 bfun(2) = 1.e0 165 bfun(3) = sval**1 * 2.e0 166 167 case (+4) 168 bfun(1) = 0.e0 169 bfun(2) = 1.e0 170 bfun(3) = sval**1 * 2.e0 171 bfun(4) = sval**2 * 3.e0 172 173 case (+5) 174 bfun(1) = 0.e0 175 bfun(2) = 1.e0 176 bfun(3) = sval**1 * 2.e0 177 bfun(4) = sval**2 * 3.e0 178 bfun(5) = sval**3 * 4.e0 179 180 case (+6) 181 bfun(1) = 0.e0 182 bfun(2) = 1.e0 183 bfun(3) = sval**1 * 2.e0 184 bfun(4) = sval**2 * 3.e0 185 bfun(5) = sval**3 * 4.e0 186 bfun(6) = sval**4 * 5.e0 187 188 case (+7) 189 bfun(1) = 0.e0 190 bfun(2) = 1.e0 191 bfun(3) = sval**1 * 2.e0 192 bfun(4) = sval**2 * 3.e0 193 bfun(5) = sval**3 * 4.e0 194 bfun(6) = sval**4 * 5.e0 195 bfun(7) = sval**5 * 6.e0 196 196 197 197 end select … … 201 201 select case (ndof) 202 202 case (+1) 203 bfun(1) = 0. d0204 205 case (+2) 206 bfun(1) = 0. d0207 bfun(2) = 0. d0208 209 case (+3) 210 bfun(1) = 0. d0211 bfun(2) = 0. d0212 bfun(3) = 2. d0213 214 case (+4) 215 bfun(1) = 0. d0216 bfun(2) = 0. d0217 bfun(3) = 2. d0218 bfun(4) = sval**1 * 6. d0219 220 case (+5) 221 bfun(1) = 0. d0222 bfun(2) = 0. d0223 bfun(3) = 2. d0224 bfun(4) = sval**1 * 6. d0225 bfun(5) = sval**2 *12. d0226 227 case (+6) 228 bfun(1) = 0. d0229 bfun(2) = 0. d0230 bfun(3) = 2. d0231 bfun(4) = sval**1 * 6. d0232 bfun(5) = sval**2 *12. d0233 bfun(6) = sval**3 *20. d0234 235 case (+7) 236 bfun(1) = 0. d0237 bfun(2) = 0. d0238 bfun(3) = 2. d0239 bfun(4) = sval**1 * 6. d0240 bfun(5) = sval**2 *12. d0241 bfun(6) = sval**3 *20. d0242 bfun(7) = sval**4 *30. d0203 bfun(1) = 0.e0 204 205 case (+2) 206 bfun(1) = 0.e0 207 bfun(2) = 0.e0 208 209 case (+3) 210 bfun(1) = 0.e0 211 bfun(2) = 0.e0 212 bfun(3) = 2.e0 213 214 case (+4) 215 bfun(1) = 0.e0 216 bfun(2) = 0.e0 217 bfun(3) = 2.e0 218 bfun(4) = sval**1 * 6.e0 219 220 case (+5) 221 bfun(1) = 0.e0 222 bfun(2) = 0.e0 223 bfun(3) = 2.e0 224 bfun(4) = sval**1 * 6.e0 225 bfun(5) = sval**2 *12.e0 226 227 case (+6) 228 bfun(1) = 0.e0 229 bfun(2) = 0.e0 230 bfun(3) = 2.e0 231 bfun(4) = sval**1 * 6.e0 232 bfun(5) = sval**2 *12.e0 233 bfun(6) = sval**3 *20.e0 234 235 case (+7) 236 bfun(1) = 0.e0 237 bfun(2) = 0.e0 238 bfun(3) = 2.e0 239 bfun(4) = sval**1 * 6.e0 240 bfun(5) = sval**2 *12.e0 241 bfun(6) = sval**3 *20.e0 242 bfun(7) = sval**4 *30.e0 243 243 244 244 end select -
vendors/PPR/src/ffsl1d.h90
r14212 r14387 78 78 integer :: head,tail,nprt 79 79 80 head = +0 ; tail = +0 ; qedg = 0. d+080 head = +0 ; tail = +0 ; qedg = 0.e+0 81 81 82 82 do while (.true.) … … 251 251 do ipos = +2 , npos - 1 252 252 253 if (uvel(ipos) .gt. +0. d0) then253 if (uvel(ipos) .gt. +0.e0) then 254 254 255 255 !----------- integrate profile over upwind cell IPOS-1 ! … … 265 265 end if 266 266 267 ss11 = +1. d0 - 2.d0 * uCFL268 ss22 = +1. d0267 ss11 = +1.e0 - 2.e0 * uCFL 268 ss22 = +1.e0 269 269 270 270 call bfun1d(-1,mdof,ss11,vv11) … … 286 286 287 287 else & 288 & if (uvel(ipos) .lt. -0. d0) then288 & if (uvel(ipos) .lt. -0.e0) then 289 289 290 290 !----------- integrate profile over upwind cell IPOS+0 ! … … 300 300 end if 301 301 302 ss11 = -1. d0 - 2.d0 * uCFL303 ss22 = -1. d0302 ss11 = -1.e0 - 2.e0 * uCFL 303 ss22 = -1.e0 304 304 305 305 call bfun1d(-1,mdof,ss11,vv11) -
vendors/PPR/src/inv.h90
r14212 r14387 140 140 !-------------------------------- C = C + scal * A * B ! 141 141 142 if (scal .eq. +1. d0) then142 if (scal .eq. +1.e0) then 143 143 144 144 cmat(1,1) = cmat(1,1) & … … 157 157 158 158 else & 159 if (scal .eq. -1. d0) then159 if (scal .eq. -1.e0) then 160 160 161 161 cmat(1,1) = cmat(1,1) & … … 211 211 !-------------------------------- C = C + scal * A * B ! 212 212 213 if (scal .eq. +1. d0) then213 if (scal .eq. +1.e0) then 214 214 215 215 cmat(1,1) = cmat(1,1) & … … 253 253 254 254 else & 255 if (scal .eq. -1. d0) then255 if (scal .eq. -1.e0) then 256 256 257 257 cmat(1,1) = cmat(1,1) & … … 500 500 !---------------------------------------- L = C * A^-1 ! 501 501 502 lmat(1,1) = +0. d0503 lmat(1,2) = +0. d0504 lmat(2,1) = +0. d0505 lmat(2,2) = +0. d0502 lmat(1,1) = +0.e0 503 lmat(1,2) = +0.e0 504 lmat(2,1) = +0.e0 505 lmat(2,2) = +0.e0 506 506 507 507 call mul_2x2(amat(3,1),adim,ainv,LDIM, & 508 +1. d0,lmat,LDIM)508 +1.e0,lmat,LDIM) 509 509 510 510 !---------------------------------------- U = A^-1 * B ! 511 511 512 umat(1,1) = +0. d0513 umat(1,2) = +0. d0514 umat(2,1) = +0. d0515 umat(2,2) = +0. d0512 umat(1,1) = +0.e0 513 umat(1,2) = +0.e0 514 umat(2,1) = +0.e0 515 umat(2,2) = +0.e0 516 516 517 517 call mul_2x2(ainv,LDIM,amat(1,3),adim, & 518 +1. d0,umat,LDIM)518 +1.e0,umat,LDIM) 519 519 520 520 !-------------------------------- S = D - C * A^-1 * B ! … … 526 526 527 527 call mul_2x2(lmat,LDIM,amat(1,3),adim, & 528 -1. d0/adet,smat,LDIM)528 -1.e0/adet,smat,LDIM) 529 529 530 530 call inv_2x2(smat,LDIM,sinv,LDIM,sdet) … … 641 641 !---------------------------------------- L = C * A^-1 ! 642 642 643 lmat(1,1) = +0. d0644 lmat(1,2) = +0. d0645 lmat(1,3) = +0. d0646 lmat(2,1) = +0. d0647 lmat(2,2) = +0. d0648 lmat(2,3) = +0. d0649 lmat(3,1) = +0. d0650 lmat(3,2) = +0. d0651 lmat(3,3) = +0. d0643 lmat(1,1) = +0.e0 644 lmat(1,2) = +0.e0 645 lmat(1,3) = +0.e0 646 lmat(2,1) = +0.e0 647 lmat(2,2) = +0.e0 648 lmat(2,3) = +0.e0 649 lmat(3,1) = +0.e0 650 lmat(3,2) = +0.e0 651 lmat(3,3) = +0.e0 652 652 653 653 call mul_3x3(amat(4,1),adim,ainv,LDIM, & 654 +1. d0,lmat,LDIM)654 +1.e0,lmat,LDIM) 655 655 656 656 !---------------------------------------- U = A^-1 * B ! 657 657 658 umat(1,1) = +0. d0659 umat(1,2) = +0. d0660 umat(1,3) = +0. d0661 umat(2,1) = +0. d0662 umat(2,2) = +0. d0663 umat(2,3) = +0. d0664 umat(3,1) = +0. d0665 umat(3,2) = +0. d0666 umat(3,3) = +0. d0658 umat(1,1) = +0.e0 659 umat(1,2) = +0.e0 660 umat(1,3) = +0.e0 661 umat(2,1) = +0.e0 662 umat(2,2) = +0.e0 663 umat(2,3) = +0.e0 664 umat(3,1) = +0.e0 665 umat(3,2) = +0.e0 666 umat(3,3) = +0.e0 667 667 668 668 call mul_3x3(ainv,LDIM,amat(1,4),adim, & 669 +1. d0,umat,LDIM)669 +1.e0,umat,LDIM) 670 670 671 671 !-------------------------------- S = D - C * A^-1 * B ! … … 682 682 683 683 call mul_3x3(lmat,LDIM,amat(1,4),adim, & 684 -1. d0/adet,smat,LDIM)684 -1.e0/adet,smat,LDIM) 685 685 686 686 call inv_3x3(smat,LDIM,sinv,LDIM,sdet) -
vendors/PPR/src/oscl1d.h90
r14212 r14387 67 67 do ipos = +1, npos-1 68 68 do ivar = +1, nvar-0 69 oscl(1,ivar,ipos) = +0. d070 oscl(2,ivar,ipos) = +0. d069 oscl(1,ivar,ipos) = +0.e0 70 oscl(2,ivar,ipos) = +0.e0 71 71 end do 72 72 end do … … 144 144 hhmm = hhll + hhcc + hhrr 145 145 146 cmat(1,1) = -(hhcc+2. d0*hhrr)/(hhlc*hhmm)146 cmat(1,1) = -(hhcc+2.e0*hhrr)/(hhlc*hhmm) 147 147 cmat(1,2) = -(hhll-hhrr)* & 148 & (3. d0*hhcc+2.d0*(hhll+hhrr))/&148 & (3.e0*hhcc+2.e0*(hhll+hhrr))/& 149 149 & (hhlc*hhrc*hhmm) 150 cmat(1,3) = +(hhcc+2. d0*hhll)/(hhrc*hhmm)151 152 cmat(2,1) = +3. d0/(hhlc*hhmm)153 cmat(2,2) = -3. d0*(2.d0*hhcc+hhll+hhrr)/&150 cmat(1,3) = +(hhcc+2.e0*hhll)/(hhrc*hhmm) 151 152 cmat(2,1) = +3.e0/(hhlc*hhmm) 153 cmat(2,2) = -3.e0*(2.e0*hhcc+hhll+hhrr)/& 154 154 & (hhlc*hhrc*hhmm) 155 cmat(2,3) = +3. d0/(hhrc*hhmm)156 157 do ivar = 1, nvar 158 159 oscl(1,ivar,ipos) = +1. d0 * ( &155 cmat(2,3) = +3.e0/(hhrc*hhmm) 156 157 do ivar = 1, nvar 158 159 oscl(1,ivar,ipos) = +1.e0 * ( & 160 160 & + cmat(1,1)*fdat(1,ivar,ipos-1) & 161 161 & + cmat(1,2)*fdat(1,ivar,ipos+0) & 162 162 & + cmat(1,3)*fdat(1,ivar,ipos+1) ) 163 163 164 oscl(2,ivar,ipos) = +2. d0 * ( &164 oscl(2,ivar,ipos) = +2.e0 * ( & 165 165 & + cmat(2,1)*fdat(1,ivar,ipos-1) & 166 166 & + cmat(2,2)*fdat(1,ivar,ipos+0) & … … 177 177 hhrr = max(delx(head+2),dmin) 178 178 179 cmat(1,1) = -2. d0 / (hhll+hhcc)180 cmat(1,2) = +2. d0 / (hhll+hhcc)179 cmat(1,1) = -2.e0 / (hhll+hhcc) 180 cmat(1,2) = +2.e0 / (hhll+hhcc) 181 181 182 182 do ivar = 1, nvar … … 186 186 & + cmat(1,2)*fdat(1,ivar,head+1) 187 187 188 oscl(2,ivar,head) = +0. d0188 oscl(2,ivar,head) = +0.e0 189 189 190 190 end do … … 196 196 hhrr = max(delx(tail-0),dmin) 197 197 198 cmat(1,2) = -2. d0 / (hhrr+hhcc)199 cmat(1,3) = +2. d0 / (hhrr+hhcc)198 cmat(1,2) = -2.e0 / (hhrr+hhcc) 199 cmat(1,3) = +2.e0 / (hhrr+hhcc) 200 200 201 201 do ivar = 1, nvar … … 205 205 & + cmat(1,3)*fdat(1,ivar,tail+0) 206 206 207 oscl(2,ivar,tail) = +0. d0207 oscl(2,ivar,tail) = +0.e0 208 208 209 209 end do … … 269 269 & - .50d+0 * fdat(1,ivar,head+0) 270 270 271 oscl(2,ivar,head) = +0. d0271 oscl(2,ivar,head) = +0.e0 272 272 273 273 end do … … 281 281 & - .50d+0 * fdat(1,ivar,tail-1) 282 282 283 oscl(2,ivar,tail) = +0. d0283 oscl(2,ivar,tail) = +0.e0 284 284 285 285 end do -
vendors/PPR/src/p1e.h90
r14212 r14387 84 84 85 85 edge(ivar,1) = fdat(1,ivar,1) 86 dfdx(ivar,1) = 0. d086 dfdx(ivar,1) = 0.e0 87 87 88 88 edge(ivar,2) = fdat(1,ivar,1) 89 dfdx(ivar,2) = 0. d089 dfdx(ivar,2) = 0.e0 90 90 91 91 end do … … 104 104 !--------------- reconstruction: constant grid-spacing ! 105 105 106 dd10 = delx(+1) * 2. d0106 dd10 = delx(+1) * 2.e0 107 107 108 108 do ivar = +1, nvar … … 176 176 & fdat(+1,ivar,tail+0) 177 177 178 dfdx(ivar,head-1) = 0. d0179 dfdx(ivar,tail+1) = 0. d0178 dfdx(ivar,head-1) = 0.e0 179 dfdx(ivar,tail+1) = 0.e0 180 180 181 181 end do -
vendors/PPR/src/p3e.h90
r14212 r14387 82 82 83 83 integer, parameter :: NSIZ = +4 84 real*8 , parameter :: ZERO = 1. d-1484 real*8 , parameter :: ZERO = 1.e-14 85 85 86 86 head = +3 ; tail = npos - 2 … … 121 121 122 122 edge(ivar,ipos) = ( & 123 & - 1. d0 * &123 & - 1.e0 * & 124 124 & fdat(1,ivar,ipos-2) & 125 & + 7. d0 * &125 & + 7.e0 * & 126 126 & fdat(1,ivar,ipos-1) & 127 & + 7. d0 * &127 & + 7.e0 * & 128 128 & fdat(1,ivar,ipos+0) & 129 & - 1. d0 * &130 & fdat(1,ivar,ipos+1) ) / 12. d0129 & - 1.e0 * & 130 & fdat(1,ivar,ipos+1) ) / 12.e0 131 131 132 132 dfdx(ivar,ipos) = ( & 133 & + 1. d0 * &133 & + 1.e0 * & 134 134 & fdat(1,ivar,ipos-2) & 135 & - 15. d0 * &135 & - 15.e0 * & 136 136 & fdat(1,ivar,ipos-1) & 137 & + 15. d0 * &137 & + 15.e0 * & 138 138 & fdat(1,ivar,ipos+0) & 139 & - 1. d0 * &140 & fdat(1,ivar,ipos+1) ) / 12. d0139 & - 1.e0 * & 140 & fdat(1,ivar,ipos+1) ) / 12.e0 141 141 142 142 dfdx(ivar,ipos) = & … … 166 166 & + delh(-1) ) / xhat 167 167 xmap(-1) = - delh(-1) / xhat 168 xmap(+0) = + 0. d0168 xmap(+0) = + 0.e0 169 169 xmap(+1) = + delh(+0) / xhat 170 170 xmap(+2) = +( delh(+0) & -
vendors/PPR/src/p5e.h90
r14212 r14387 82 82 83 83 integer, parameter :: NSIZ = +6 84 real*8 , parameter :: ZERO = 1. d-1484 real*8 , parameter :: ZERO = 1.e-14 85 85 86 86 head = +4 ; tail = npos - 3 … … 121 121 122 122 edge(ivar,ipos) = & 123 & + ( 1. d0 / 60.d0) * &123 & + ( 1.e0 / 60.e0) * & 124 124 & fdat(1,ivar,ipos-3) & 125 & - ( 8. d0 / 60.d0) * &125 & - ( 8.e0 / 60.e0) * & 126 126 & fdat(1,ivar,ipos-2) & 127 & + (37. d0 / 60.d0) * &127 & + (37.e0 / 60.e0) * & 128 128 & fdat(1,ivar,ipos-1) & 129 & + (37. d0 / 60.d0) * &129 & + (37.e0 / 60.e0) * & 130 130 & fdat(1,ivar,ipos+0) & 131 & - ( 8. d0 / 60.d0) * &131 & - ( 8.e0 / 60.e0) * & 132 132 & fdat(1,ivar,ipos+1) & 133 & + ( 1. d0 / 60.d0) * &133 & + ( 1.e0 / 60.e0) * & 134 134 & fdat(1,ivar,ipos+2) 135 135 136 136 dfdx(ivar,ipos) = & 137 & - ( 1. d0 / 90.d0) * &137 & - ( 1.e0 / 90.e0) * & 138 138 & fdat(1,ivar,ipos-3) & 139 & + ( 5. d0 / 36.d0) * &139 & + ( 5.e0 / 36.e0) * & 140 140 & fdat(1,ivar,ipos-2) & 141 & - (49. d0 / 36.d0) * &141 & - (49.e0 / 36.e0) * & 142 142 & fdat(1,ivar,ipos-1) & 143 & + (49. d0 / 36.d0) * &143 & + (49.e0 / 36.e0) * & 144 144 & fdat(1,ivar,ipos+0) & 145 & - ( 5. d0 / 36.d0) * &145 & - ( 5.e0 / 36.e0) * & 146 146 & fdat(1,ivar,ipos+1) & 147 & + ( 1. d0 / 90.d0) * &147 & + ( 1.e0 / 90.e0) * & 148 148 & fdat(1,ivar,ipos+2) 149 149 … … 185 185 & + delh(-1) ) / xhat 186 186 xmap(-1) = - delh(-1) / xhat 187 xmap(+0) = + 0. d0187 xmap(+0) = + 0.e0 188 188 xmap(+1) = + delh(+0) / xhat 189 189 xmap(+2) = +( delh(+0) & -
vendors/PPR/src/pbc.h90
r14212 r14387 211 211 212 212 integer, parameter :: NSIZ = +3 213 real*8 , parameter :: ZERO = +1. d-14213 real*8 , parameter :: ZERO = +1.e-14 214 214 215 215 head = +2; tail = npos - 2 … … 245 245 xmap(-1) =-(delh(-1) + & 246 246 & delh(+0)*0.5d0)/xhat 247 xmap(+0) = -1. d0248 xmap(+1) = +1. d0247 xmap(+0) = -1.e0 248 xmap(+1) = +1.e0 249 249 xmap(+2) = (delh(+1) + & 250 250 & delh(+0)*0.5d0)/xhat … … 454 454 455 455 eval(-1) = & 456 & fdat(1,ivar,head-1) * 1. d0456 & fdat(1,ivar,head-1) * 1.e0 457 457 eval(+0) = & 458 458 & fdat(1,ivar,head-1) * .5d0 + & … … 542 542 543 543 integer, parameter :: NSIZ = +3 544 real*8 , parameter :: ZERO = +1. d-14544 real*8 , parameter :: ZERO = +1.e-14 545 545 546 546 head = +2; tail = npos - 2 … … 576 576 xmap(-1) =-(delh(-1) + & 577 577 & delh(+0)*0.5d0)/xhat 578 xmap(+0) = -1. d0579 xmap(+1) = +1. d0578 xmap(+0) = -1.e0 579 xmap(+1) = +1.e0 580 580 xmap(+2) = (delh(+1) + & 581 581 & delh(+0)*0.5d0)/xhat … … 791 791 & fdat(1,ivar,tail+1) * .5d0 792 792 eval(+2) = & 793 & fdat(1,ivar,tail+1) * 1. d0793 & fdat(1,ivar,tail+1) * 1.e0 794 794 795 795 gval(+0) = & -
vendors/PPR/src/plm.h90
r14212 r14387 127 127 fhat(1,ivar,1) = & 128 128 & fdat(1,ivar,1) 129 fhat(2,ivar,1) = 0. d+0129 fhat(2,ivar,1) = 0.e+0 130 130 end do 131 131 end if … … 235 235 fhat(1,ivar,1) = & 236 236 & fdat(1,ivar,1) 237 fhat(2,ivar,1) = 0. d+0237 fhat(2,ivar,1) = 0.e+0 238 238 end do 239 239 end if … … 325 325 real*8 :: fell,ferr,scal 326 326 327 real*8 , parameter :: ZERO = 1. d-14327 real*8 , parameter :: ZERO = 1.e-14 328 328 329 329 !---------------------------- 2nd-order approximations ! … … 401 401 real*8 :: fell,ferr,scal 402 402 403 real*8 , parameter :: ZERO = 1. d-14403 real*8 , parameter :: ZERO = 1.e-14 404 404 405 405 !---------------------------- 2nd-order approximations ! -
vendors/PPR/src/ppm.h90
r14212 r14387 95 95 fhat(1,ivar,+1) = & 96 96 & fdat(1,ivar,+1) 97 fhat(2,ivar,+1) = 0. d098 fhat(3,ivar,+1) = 0. d097 fhat(2,ivar,+1) = 0.e0 98 fhat(3,ivar,+1) = 0.e0 99 99 end do 100 100 end if … … 104 104 !------------------- reconstruct function on each cell ! 105 105 106 uhat = +0. d+0107 lhat = +0. d+0106 uhat = +0.e+0 107 lhat = +0.e+0 108 108 109 109 do ipos = +1 , npos-1 … … 154 154 !----------------------------- pref. unlimited profile ! 155 155 156 wval(1) = +1. d+0157 wval(2) = +0. d+0156 wval(1) = +1.e+0 157 wval(2) = +0.e+0 158 158 159 159 case (mono_limit) … … 167 167 !----------------------------- pref. monotonic profile ! 168 168 169 wval(1) = +0. d+0170 wval(2) = +1. d+0169 wval(1) = +0.e+0 170 wval(2) = +1.e+0 171 171 172 172 case (weno_limit) … … 190 190 !----------------------------- pref. unlimited profile ! 191 191 192 wval(1) = +1. d+0193 wval(2) = +0. d+0192 wval(1) = +1.e+0 193 wval(2) = +0.e+0 194 194 195 195 end if … … 269 269 270 270 if((ffrr - ff00) * & 271 & (ff00 - ffll) .lt. 0. d+0) then271 & (ff00 - ffll) .lt. 0.e+0) then 272 272 273 273 !----------------------------------- "flatten" extrema ! … … 276 276 277 277 lhat(1) = ff00 278 lhat(2) = 0. d0279 lhat(3) = 0. d0278 lhat(2) = 0.e0 279 lhat(3) = 0.e0 280 280 281 281 return … … 286 286 287 287 if((ffll - fell) * & 288 & (fell - ff00) .le. 0. d+0) then288 & (fell - ff00) .le. 0.e+0) then 289 289 290 290 mono = +1 … … 295 295 296 296 if((ffrr - ferr) * & 297 & (ferr - ff00) .le. 0. d+0) then297 & (ferr - ff00) .le. 0.e+0) then 298 298 299 299 mono = +1 … … 322 322 & / lhat(3) 323 323 324 if ((turn .ge. -1. d+0)&325 & .and.(turn .le. +0. d+0)) then324 if ((turn .ge. -1.e+0)& 325 & .and.(turn .le. +0.e+0)) then 326 326 327 327 mono = +2 … … 342 342 343 343 else & 344 & if ((turn .gt. +0. d+0)&345 & .and.(turn .le. +1. d+0)) then344 & if ((turn .gt. +0.e+0)& 345 & .and.(turn .le. +1.e+0)) then 346 346 347 347 mono = +2 -
vendors/PPR/src/pqm.h90
r14212 r14387 100 100 do ivar = +1, nvar 101 101 fhat(1,ivar,+1) = fdat(1,ivar,+1) 102 fhat(2,ivar,+1) = 0. d0103 fhat(3,ivar,+1) = 0. d0104 fhat(4,ivar,+1) = 0. d0105 fhat(5,ivar,+1) = 0. d0102 fhat(2,ivar,+1) = 0.e0 103 fhat(3,ivar,+1) = 0.e0 104 fhat(4,ivar,+1) = 0.e0 105 fhat(5,ivar,+1) = 0.e0 106 106 end do 107 107 end if … … 169 169 !----------------------------- pref. unlimited profile ! 170 170 171 wval(1) = +1. d+0172 wval(2) = +0. d+0171 wval(1) = +1.e+0 172 wval(2) = +0.e+0 173 173 174 174 case (mono_limit) … … 183 183 !----------------------------- pref. monotonic profile ! 184 184 185 wval(1) = +0. d+0186 wval(2) = +1. d+0185 wval(1) = +0.e+0 186 wval(2) = +1.e+0 187 187 188 188 case (weno_limit) … … 207 207 !----------------------------- pref. unlimited profile ! 208 208 209 wval(1) = +1. d+0210 wval(2) = +0. d+0209 wval(1) = +1.e+0 210 wval(2) = +0.e+0 211 211 212 212 end if … … 286 286 287 287 uhat(1) = & 288 & + (30. d+0 / 16.d+0) * ff00 &289 & - ( 7. d+0 / 16.d+0) *(ferr+fell) &290 & + ( 1. d+0 / 16.d+0) *(derr-dell)288 & + (30.e+0 / 16.e+0) * ff00 & 289 & - ( 7.e+0 / 16.e+0) *(ferr+fell) & 290 & + ( 1.e+0 / 16.e+0) *(derr-dell) 291 291 uhat(2) = & 292 & + ( 3. d+0 / 4.d+0) *(ferr-fell) &293 & - ( 1. d+0 / 4.d+0) *(derr+dell)292 & + ( 3.e+0 / 4.e+0) *(ferr-fell) & 293 & - ( 1.e+0 / 4.e+0) *(derr+dell) 294 294 uhat(3) = & 295 & - (30. d+0 / 8.d+0) * ff00 &296 & + (15. d+0 / 8.d+0) *(ferr+fell) &297 & - ( 3. d+0 / 8.d+0) *(derr-dell)295 & - (30.e+0 / 8.e+0) * ff00 & 296 & + (15.e+0 / 8.e+0) *(ferr+fell) & 297 & - ( 3.e+0 / 8.e+0) *(derr-dell) 298 298 uhat(4) = & 299 & - ( 1. d+0 / 4.d+0) *(ferr-fell &299 & - ( 1.e+0 / 4.e+0) *(ferr-fell & 300 300 & -derr-dell) 301 301 uhat(5) = & 302 & + (30. d+0 / 16.d+0) * ff00 &303 & - (15. d+0 / 16.d+0) *(ferr+fell) &304 & + ( 5. d+0 / 16.d+0) *(derr-dell)302 & + (30.e+0 / 16.e+0) * ff00 & 303 & - (15.e+0 / 16.e+0) *(ferr+fell) & 304 & + ( 5.e+0 / 16.e+0) *(derr-dell) 305 305 306 306 !-------------------------------- "mono" slope-limiter ! 307 307 308 308 if((ffrr - ff00) * & 309 & (ff00 - ffll) .le. 0. d+0) then309 & (ff00 - ffll) .le. 0.e+0) then 310 310 311 311 !----------------------------------- "flatten" extrema ! … … 314 314 315 315 lhat(1) = ff00 316 lhat(2) = 0. d0317 lhat(3) = 0. d0318 lhat(4) = 0. d0319 lhat(5) = 0. d0316 lhat(2) = 0.e0 317 lhat(3) = 0.e0 318 lhat(4) = 0.e0 319 lhat(5) = 0.e0 320 320 321 321 return … … 326 326 327 327 if((ffll - fell) * & 328 & (fell - ff00) .le. 0. d+0) then328 & (fell - ff00) .le. 0.e+0) then 329 329 330 330 mono = +1 … … 334 334 end if 335 335 336 if (dell * dfds(0) .lt. 0. d+0) then336 if (dell * dfds(0) .lt. 0.e+0) then 337 337 338 338 mono = +1 … … 343 343 344 344 if((ffrr - ferr) * & 345 & (ferr - ff00) .le. 0. d+0) then345 & (ferr - ff00) .le. 0.e+0) then 346 346 347 347 mono = +1 … … 351 351 end if 352 352 353 if (derr * dfds(0) .lt. 0. d+0) then353 if (derr * dfds(0) .lt. 0.e+0) then 354 354 355 355 mono = +1 … … 362 362 363 363 lhat(1) = & 364 & + (30. d+0 / 16.d+0) * ff00 &365 & - ( 7. d+0 / 16.d+0) *(ferr+fell) &366 & + ( 1. d+0 / 16.d+0) *(derr-dell)364 & + (30.e+0 / 16.e+0) * ff00 & 365 & - ( 7.e+0 / 16.e+0) *(ferr+fell) & 366 & + ( 1.e+0 / 16.e+0) *(derr-dell) 367 367 lhat(2) = & 368 & + ( 3. d+0 / 4.d+0) *(ferr-fell) &369 & - ( 1. d+0 / 4.d+0) *(derr+dell)368 & + ( 3.e+0 / 4.e+0) *(ferr-fell) & 369 & - ( 1.e+0 / 4.e+0) *(derr+dell) 370 370 lhat(3) = & 371 & - (30. d+0 / 8.d+0) * ff00 &372 & + (15. d+0 / 8.d+0) *(ferr+fell) &373 & - ( 3. d+0 / 8.d+0) *(derr-dell)371 & - (30.e+0 / 8.e+0) * ff00 & 372 & + (15.e+0 / 8.e+0) *(ferr+fell) & 373 & - ( 3.e+0 / 8.e+0) *(derr-dell) 374 374 lhat(4) = & 375 & - ( 1. d+0 / 4.d+0) *(ferr-fell &375 & - ( 1.e+0 / 4.e+0) *(ferr-fell & 376 376 & -derr-dell) 377 377 lhat(5) = & 378 & + (30. d+0 / 16.d+0) * ff00 &379 & - (15. d+0 / 16.d+0) *(ferr+fell) &380 & + ( 5. d+0 / 16.d+0) *(derr-dell)378 & + (30.e+0 / 16.e+0) * ff00 & 379 & - (15.e+0 / 16.e+0) *(ferr+fell) & 380 & + ( 5.e+0 / 16.e+0) *(derr-dell) 381 381 382 382 !------------------ calc. inflexion via 2nd-derivative ! 383 383 384 call roots_2(12. d+0 * lhat(5), &385 & 6. d+0 * lhat(4), &386 & 2. d+0 * lhat(3), &384 call roots_2(12.e+0 * lhat(5), & 385 & 6.e+0 * lhat(4), & 386 & 2.e+0 * lhat(3), & 387 387 & iflx , haveroot ) 388 388 … … 391 391 turn = +0 392 392 393 if ( ( iflx(1) .gt. -1. d+0 ) &394 & .and. ( iflx(1) .lt. +1. d+0 ) ) then393 if ( ( iflx(1) .gt. -1.e+0 ) & 394 & .and. ( iflx(1) .lt. +1.e+0 ) ) then 395 395 396 396 !------------------ check for non-monotonic inflection ! 397 397 398 398 grad = lhat(2) & 399 &+ (iflx(1)**1) * 2. d+0* lhat(3) &400 &+ (iflx(1)**2) * 3. d+0* lhat(4) &401 &+ (iflx(1)**3) * 4. d+0* lhat(5)402 403 if (grad * dfds(0) .lt. 0. d+0) then399 &+ (iflx(1)**1) * 2.e+0* lhat(3) & 400 &+ (iflx(1)**2) * 3.e+0* lhat(4) & 401 &+ (iflx(1)**3) * 4.e+0* lhat(5) 402 403 if (grad * dfds(0) .lt. 0.e+0) then 404 404 405 405 if (abs(dfds(-1)) & … … 418 418 end if 419 419 420 if ( ( iflx(2) .gt. -1. d+0 ) &421 & .and. ( iflx(2) .lt. +1. d+0 ) ) then420 if ( ( iflx(2) .gt. -1.e+0 ) & 421 & .and. ( iflx(2) .lt. +1.e+0 ) ) then 422 422 423 423 !------------------ check for non-monotonic inflection ! 424 424 425 425 grad = lhat(2) & 426 &+ (iflx(2)**1) * 2. d+0* lhat(3) &427 &+ (iflx(2)**2) * 3. d+0* lhat(4) &428 &+ (iflx(2)**3) * 4. d+0* lhat(5)429 430 if (grad * dfds(0) .lt. 0. d+0) then426 &+ (iflx(2)**1) * 2.e+0* lhat(3) & 427 &+ (iflx(2)**2) * 3.e+0* lhat(4) & 428 &+ (iflx(2)**3) * 4.e+0* lhat(5) 429 430 if (grad * dfds(0) .lt. 0.e+0) then 431 431 432 432 if (abs(dfds(-1)) & … … 454 454 455 455 derr = & 456 &- ( 5. d+0 / 1.d+0) * ff00 &457 &+ ( 3. d+0 / 1.d+0) * ferr &458 &+ ( 2. d+0 / 1.d+0) * fell456 &- ( 5.e+0 / 1.e+0) * ff00 & 457 &+ ( 3.e+0 / 1.e+0) * ferr & 458 &+ ( 2.e+0 / 1.e+0) * fell 459 459 dell = & 460 &+ ( 5. d+0 / 3.d+0) * ff00 &461 &- ( 1. d+0 / 3.d+0) * ferr &462 &- ( 4. d+0 / 3.d+0) * fell463 464 if (dell*dfds(+0) .lt. 0. d+0) then465 466 dell = 0. d+0460 &+ ( 5.e+0 / 3.e+0) * ff00 & 461 &- ( 1.e+0 / 3.e+0) * ferr & 462 &- ( 4.e+0 / 3.e+0) * fell 463 464 if (dell*dfds(+0) .lt. 0.e+0) then 465 466 dell = 0.e+0 467 467 468 468 ferr = & 469 &+ ( 5. d+0 / 1.d+0) * ff00 &470 &- ( 4. d+0 / 1.d+0) * fell469 &+ ( 5.e+0 / 1.e+0) * ff00 & 470 &- ( 4.e+0 / 1.e+0) * fell 471 471 derr = & 472 &+ (10. d+0 / 1.d+0) * ff00 &473 &- (10. d+0 / 1.d+0) * fell472 &+ (10.e+0 / 1.e+0) * ff00 & 473 &- (10.e+0 / 1.e+0) * fell 474 474 475 475 else & 476 & if (derr*dfds(+0) .lt. 0. d+0) then477 478 derr = 0. d+0476 & if (derr*dfds(+0) .lt. 0.e+0) then 477 478 derr = 0.e+0 479 479 480 480 fell = & 481 &+ ( 5. d+0 / 2.d+0) * ff00 &482 &- ( 3. d+0 / 2.d+0) * ferr481 &+ ( 5.e+0 / 2.e+0) * ff00 & 482 &- ( 3.e+0 / 2.e+0) * ferr 483 483 dell = & 484 &- ( 5. d+0 / 3.d+0) * ff00 &485 &+ ( 5. d+0 / 3.d+0) * ferr484 &- ( 5.e+0 / 3.e+0) * ff00 & 485 &+ ( 5.e+0 / 3.e+0) * ferr 486 486 487 487 end if 488 488 489 489 lhat(1) = & 490 &+ (30. d+0 / 16.d+0) * ff00 &491 &- ( 7. d+0 / 16.d+0) *(ferr+fell) &492 &+ ( 1. d+0 / 16.d+0) *(derr-dell)490 &+ (30.e+0 / 16.e+0) * ff00 & 491 &- ( 7.e+0 / 16.e+0) *(ferr+fell) & 492 &+ ( 1.e+0 / 16.e+0) *(derr-dell) 493 493 lhat(2) = & 494 &+ ( 3. d+0 / 4.d+0) *(ferr-fell) &495 &- ( 1. d+0 / 4.d+0) *(derr+dell)494 &+ ( 3.e+0 / 4.e+0) *(ferr-fell) & 495 &- ( 1.e+0 / 4.e+0) *(derr+dell) 496 496 lhat(3) = & 497 &- (30. d+0 / 8.d+0) * ff00 &498 &+ (15. d+0 / 8.d+0) *(ferr+fell) &499 &- ( 3. d+0 / 8.d+0) *(derr-dell)497 &- (30.e+0 / 8.e+0) * ff00 & 498 &+ (15.e+0 / 8.e+0) *(ferr+fell) & 499 &- ( 3.e+0 / 8.e+0) *(derr-dell) 500 500 lhat(4) = & 501 &- ( 1. d+0 / 4.d+0) *(ferr-fell &501 &- ( 1.e+0 / 4.e+0) *(ferr-fell & 502 502 & -derr-dell) 503 503 lhat(5) = & 504 &+ (30. d+0 / 16.d+0) * ff00 &505 &- (15. d+0 / 16.d+0) *(ferr+fell) &506 &+ ( 5. d+0 / 16.d+0) *(derr-dell)504 &+ (30.e+0 / 16.e+0) * ff00 & 505 &- (15.e+0 / 16.e+0) *(ferr+fell) & 506 &+ ( 5.e+0 / 16.e+0) *(derr-dell) 507 507 508 508 end if … … 515 515 516 516 derr = & 517 &- ( 5. d+0 / 3.d+0) * ff00 &518 &+ ( 4. d+0 / 3.d+0) * ferr &519 &+ ( 1. d+0 / 3.d+0) * fell517 &- ( 5.e+0 / 3.e+0) * ff00 & 518 &+ ( 4.e+0 / 3.e+0) * ferr & 519 &+ ( 1.e+0 / 3.e+0) * fell 520 520 dell = & 521 &+ ( 5. d+0 / 1.d+0) * ff00 &522 &- ( 2. d+0 / 1.d+0) * ferr &523 &- ( 3. d+0 / 1.d+0) * fell524 525 if (dell*dfds(+0) .lt. 0. d+0) then526 527 dell = 0. d+0521 &+ ( 5.e+0 / 1.e+0) * ff00 & 522 &- ( 2.e+0 / 1.e+0) * ferr & 523 &- ( 3.e+0 / 1.e+0) * fell 524 525 if (dell*dfds(+0) .lt. 0.e+0) then 526 527 dell = 0.e+0 528 528 529 529 ferr = & 530 &+ ( 5. d+0 / 2.d+0) * ff00 &531 &- ( 3. d+0 / 2.d+0) * fell530 &+ ( 5.e+0 / 2.e+0) * ff00 & 531 &- ( 3.e+0 / 2.e+0) * fell 532 532 derr = & 533 &+ ( 5. d+0 / 3.d+0) * ff00 &534 &- ( 5. d+0 / 3.d+0) * fell533 &+ ( 5.e+0 / 3.e+0) * ff00 & 534 &- ( 5.e+0 / 3.e+0) * fell 535 535 536 536 else & 537 & if (derr*dfds(+0) .lt. 0. d+0) then538 539 derr = 0. d+0537 & if (derr*dfds(+0) .lt. 0.e+0) then 538 539 derr = 0.e+0 540 540 541 541 fell = & 542 &+ ( 5. d+0 / 1.d+0) * ff00 &543 &- ( 4. d+0 / 1.d+0) * ferr542 &+ ( 5.e+0 / 1.e+0) * ff00 & 543 &- ( 4.e+0 / 1.e+0) * ferr 544 544 dell = & 545 &- (10. d+0 / 1.d+0) * ff00 &546 &+ (10. d+0 / 1.d+0) * ferr545 &- (10.e+0 / 1.e+0) * ff00 & 546 &+ (10.e+0 / 1.e+0) * ferr 547 547 548 548 end if 549 549 550 550 lhat(1) = & 551 &+ (30. d+0 / 16.d+0) * ff00 &552 &- ( 7. d+0 / 16.d+0) *(ferr+fell) &553 &+ ( 1. d+0 / 16.d+0) *(derr-dell)551 &+ (30.e+0 / 16.e+0) * ff00 & 552 &- ( 7.e+0 / 16.e+0) *(ferr+fell) & 553 &+ ( 1.e+0 / 16.e+0) *(derr-dell) 554 554 lhat(2) = & 555 &+ ( 3. d+0 / 4.d+0) *(ferr-fell) &556 &- ( 1. d+0 / 4.d+0) *(derr+dell)555 &+ ( 3.e+0 / 4.e+0) *(ferr-fell) & 556 &- ( 1.e+0 / 4.e+0) *(derr+dell) 557 557 lhat(3) = & 558 &- (30. d+0 / 8.d+0) * ff00 &559 &+ (15. d+0 / 8.d+0) *(ferr+fell) &560 &- ( 3. d+0 / 8.d+0) *(derr-dell)558 &- (30.e+0 / 8.e+0) * ff00 & 559 &+ (15.e+0 / 8.e+0) *(ferr+fell) & 560 &- ( 3.e+0 / 8.e+0) *(derr-dell) 561 561 lhat(4) = & 562 &- ( 1. d+0 / 4.d+0) *(ferr-fell &562 &- ( 1.e+0 / 4.e+0) *(ferr-fell & 563 563 & -derr-dell) 564 564 lhat(5) = & 565 &+ (30. d+0 / 16.d+0) * ff00 &566 &- (15. d+0 / 16.d+0) *(ferr+fell) &567 &+ ( 5. d+0 / 16.d+0) *(derr-dell)565 &+ (30.e+0 / 16.e+0) * ff00 & 566 &- (15.e+0 / 16.e+0) *(ferr+fell) & 567 &+ ( 5.e+0 / 16.e+0) *(derr-dell) 568 568 569 569 end if -
vendors/PPR/src/rmap1d.h90
r14212 r14387 76 76 & intent(inout) , optional :: tCPU 77 77 78 real*8 , parameter :: RTOL = +1. d-1478 real*8 , parameter :: RTOL = +1.e-14 79 79 80 80 !------------------------------------------- variables ! … … 245 245 !------------------------------------- initializations ! 246 246 247 vvlo(+1:+5) = 0. d0248 vvhi(+1:+5) = 0. d0247 vvlo(+1:+5) = 0.e0 248 vvhi(+1:+5) = 0.e0 249 249 250 250 !------------- remap FDAT from XPOS to XNEW using FHAT ! … … 286 286 do ivar = +1,nvar 287 287 288 fnew(idof,ivar,kpos) = 0. d0288 fnew(idof,ivar,kpos) = 0.e0 289 289 290 290 end do … … 375 375 ! account for FP roundoff. 376 376 377 sdat = 0. d0; serr = 0.d0377 sdat = 0.e0; serr = 0.e0 378 378 do ipos = +1, npos-1 379 379 do ivar = +1, nvar-0 … … 408 408 sdat = sdat + serr 409 409 410 snew = 0. d0; serr = 0.d0410 snew = 0.e0; serr = 0.e0 411 411 do ipos = +1, nnew-1 412 412 do ivar = +1, nvar-0 … … 451 451 do ivar = +1, nvar-0 452 452 453 if (serr(ivar) .gt. 0. d0) then453 if (serr(ivar) .gt. 0.e0) then 454 454 455 455 vmin = kmin(ivar) … … 460 460 461 461 else & 462 & if (serr(ivar) .lt. 0. d0) then462 & if (serr(ivar) .lt. 0.e0) then 463 463 464 464 vmax = kmax(ivar) -
vendors/PPR/src/root1d.h90
r14212 r14387 52 52 real*8 :: sq,ia,a0,b0,c0,x0 53 53 54 real*8, parameter :: rt = +1. d-1454 real*8, parameter :: rt = +1.e-14 55 55 56 56 a0 = abs(aa) -
vendors/PPR/src/util1d.h90
r14212 r14387 111 111 call random_number (rand) 112 112 113 rand = 2. d0 * (rand-.5d0)113 rand = 2.e0 * (rand-.5d0) 114 114 115 115 move = rand * move -
vendors/PPR/src/weno1d.h90
r14212 r14387 71 71 real*8 :: omin,omax,wsum 72 72 73 real*8 , parameter :: ZERO = +1. d-1673 real*8 , parameter :: ZERO = +1.e-16 74 74 75 75 if (size(delx).gt.+1) then … … 112 112 wval(1) = wval(1) / wsum 113 113 ! wval(2) = wval(2) / wsum 114 wval(2) =-wval(1) + 1. d0 ! wval(2)/wsum but robust !114 wval(2) =-wval(1) + 1.e0 ! wval(2)/wsum but robust ! 115 115 116 116 return … … 169 169 if (ipos-halo.lt.head) then 170 170 171 omax = 1. d0172 omin = 0. d0 ; return171 omax = 1.e0 172 omin = 0.e0 ; return 173 173 174 174 end if … … 176 176 if (ipos+halo.gt.tail) then 177 177 178 omax = 1. d0179 omin = 0. d0 ; return178 omax = 1.e0 179 omin = 0.e0 ; return 180 180 181 181 end if … … 204 204 !---------------------------------------- "lower" part ! 205 205 206 delh = 0. d0206 delh = 0.e0 207 207 208 208 do hpos = ipos-1, imin, -1 … … 236 236 !---------------------------------------- "upper" part ! 237 237 238 delh = 0. d0238 delh = 0.e0 239 239 240 240 do hpos = ipos+1, imax, +1 … … 320 320 if (ipos-halo.lt.head) then 321 321 322 omax = 1. d0323 omin = 0. d0 ; return322 omax = 1.e0 323 omin = 0.e0 ; return 324 324 325 325 end if … … 327 327 if (ipos+halo.gt.tail) then 328 328 329 omax = 1. d0330 omin = 0. d0 ; return329 omax = 1.e0 330 omin = 0.e0 ; return 331 331 332 332 end if … … 344 344 dfx2 = oscl(2,ivar,ipos) 345 345 346 oval = (2. d0**1*dfx1)**2 &347 & + (2. d0**2*dfx2)**2346 oval = (2.e0**1*dfx1)**2 & 347 & + (2.e0**2*dfx2)**2 348 348 349 349 omin = oval … … 352 352 !---------------------------------------- "lower" part ! 353 353 354 delh = 0. d0354 delh = 0.e0 355 355 356 356 do hpos = ipos-1, imin, -1 … … 358 358 !------------------ calc. derivatives centred on IPOS. ! 359 359 360 delh = delh + 2. d0360 delh = delh + 2.e0 361 361 362 362 dfx1 = oscl(1,ivar,hpos) … … 367 367 !------------------ indicator: NORM(H^N * D^N/DX^N(F)) ! 368 368 369 oval = (2. d0**1*dfx1)**2 &370 & + (2. d0**2*dfx2)**2369 oval = (2.e0**1*dfx1)**2 & 370 & + (2.e0**2*dfx2)**2 371 371 372 372 if (oval .lt. omin) then … … 381 381 !---------------------------------------- "upper" part ! 382 382 383 delh = 0. d0383 delh = 0.e0 384 384 385 385 do hpos = ipos+1, imax, +1 … … 387 387 !------------------ calc. derivatives centred on IPOS. ! 388 388 389 delh = delh - 2. d0389 delh = delh - 2.e0 390 390 391 391 dfx1 = oscl(1,ivar,hpos) … … 396 396 !------------------ indicator: NORM(H^N * D^N/DX^N(F)) ! 397 397 398 oval = (2. d0**1*dfx1)**2 &399 & + (2. d0**2*dfx2)**2398 oval = (2.e0**1*dfx1)**2 & 399 & + (2.e0**2*dfx2)**2 400 400 401 401 if (oval .lt. omin) then
Note: See TracChangeset
for help on using the changeset viewer.