00001 #ifndef _ADVECTOPF_F_H_
00002 #define _ADVECTOPF_F_H_
00003
00004 #include "FORT_PROTO.H"
00005 #include "CH_Timer.H"
00006 #include "REAL.H"
00007
00008 extern "C"
00009 {
00010
00011 #ifndef GUARDAPPLYLAP
00012 #define GUARDAPPLYLAP
00013
00014
00015 void FORTRAN_NAME( APPLYLAP ,applylap )(
00016 CHFp_FRA(lofphi)
00017 ,CHFp_FRA(flux)
00018 ,CHFp_CONST_FRA(phi)
00019 ,CHFp_BOX(region)
00020 ,CHFp_BOX(fluxregion)
00021 ,CHFp_CONST_REAL(dx)
00022 ,CHFp_CONST_INT(idir) );
00023
00024 #define FORT_APPLYLAP FORTRAN_NAME( inlineAPPLYLAP, inlineAPPLYLAP)
00025 #define FORTNT_APPLYLAP FORTRAN_NAME( APPLYLAP, applylap)
00026
00027 inline void FORTRAN_NAME(inlineAPPLYLAP, inlineAPPLYLAP)(
00028 CHFp_FRA(lofphi)
00029 ,CHFp_FRA(flux)
00030 ,CHFp_CONST_FRA(phi)
00031 ,CHFp_BOX(region)
00032 ,CHFp_BOX(fluxregion)
00033 ,CHFp_CONST_REAL(dx)
00034 ,CHFp_CONST_INT(idir) )
00035 {
00036 CH_TIMELEAF("FORT_APPLYLAP");
00037 FORTRAN_NAME( APPLYLAP ,applylap )(
00038 CHFt_FRA(lofphi)
00039 ,CHFt_FRA(flux)
00040 ,CHFt_CONST_FRA(phi)
00041 ,CHFt_BOX(region)
00042 ,CHFt_BOX(fluxregion)
00043 ,CHFt_CONST_REAL(dx)
00044 ,CHFt_CONST_INT(idir) );
00045 }
00046 #endif // GUARDAPPLYLAP
00047
00048 #ifndef GUARDHOAVGDOWN
00049 #define GUARDHOAVGDOWN
00050
00051
00052 void FORTRAN_NAME( HOAVGDOWN ,hoavgdown )(
00053 CHFp_CONST_FRA(phi)
00054 ,CHFp_FRA(phicoarse)
00055 ,CHFp_CONST_INT(nrefine)
00056 ,CHFp_BOX(region)
00057 ,CHFp_BOX(avstencil)
00058 ,CHFp_CONST_INT(navstencil)
00059 ,CHFp_BOX(lapstencil)
00060 ,CHFp_CONST_INT(nlapstencil) );
00061
00062 #define FORT_HOAVGDOWN FORTRAN_NAME( inlineHOAVGDOWN, inlineHOAVGDOWN)
00063 #define FORTNT_HOAVGDOWN FORTRAN_NAME( HOAVGDOWN, hoavgdown)
00064
00065 inline void FORTRAN_NAME(inlineHOAVGDOWN, inlineHOAVGDOWN)(
00066 CHFp_CONST_FRA(phi)
00067 ,CHFp_FRA(phicoarse)
00068 ,CHFp_CONST_INT(nrefine)
00069 ,CHFp_BOX(region)
00070 ,CHFp_BOX(avstencil)
00071 ,CHFp_CONST_INT(navstencil)
00072 ,CHFp_BOX(lapstencil)
00073 ,CHFp_CONST_INT(nlapstencil) )
00074 {
00075 CH_TIMELEAF("FORT_HOAVGDOWN");
00076 FORTRAN_NAME( HOAVGDOWN ,hoavgdown )(
00077 CHFt_CONST_FRA(phi)
00078 ,CHFt_FRA(phicoarse)
00079 ,CHFt_CONST_INT(nrefine)
00080 ,CHFt_BOX(region)
00081 ,CHFt_BOX(avstencil)
00082 ,CHFt_CONST_INT(navstencil)
00083 ,CHFt_BOX(lapstencil)
00084 ,CHFt_CONST_INT(nlapstencil) );
00085 }
00086 #endif // GUARDHOAVGDOWN
00087
00088 #ifndef GUARDCENTEREDLAPLACIAN
00089 #define GUARDCENTEREDLAPLACIAN
00090
00091
00092 void FORTRAN_NAME( CENTEREDLAPLACIAN ,centeredlaplacian )(
00093 CHFp_FRA(lapPhi)
00094 ,CHFp_CONST_FRA(facePhi)
00095 ,CHFp_CONST_FRA(cellPhi)
00096 ,CHFp_BOX(faceBox)
00097 ,CHFp_CONST_INT(idir)
00098 ,CHFp_CONST_REAL(dx) );
00099
00100 #define FORT_CENTEREDLAPLACIAN FORTRAN_NAME( inlineCENTEREDLAPLACIAN, inlineCENTEREDLAPLACIAN)
00101 #define FORTNT_CENTEREDLAPLACIAN FORTRAN_NAME( CENTEREDLAPLACIAN, centeredlaplacian)
00102
00103 inline void FORTRAN_NAME(inlineCENTEREDLAPLACIAN, inlineCENTEREDLAPLACIAN)(
00104 CHFp_FRA(lapPhi)
00105 ,CHFp_CONST_FRA(facePhi)
00106 ,CHFp_CONST_FRA(cellPhi)
00107 ,CHFp_BOX(faceBox)
00108 ,CHFp_CONST_INT(idir)
00109 ,CHFp_CONST_REAL(dx) )
00110 {
00111 CH_TIMELEAF("FORT_CENTEREDLAPLACIAN");
00112 FORTRAN_NAME( CENTEREDLAPLACIAN ,centeredlaplacian )(
00113 CHFt_FRA(lapPhi)
00114 ,CHFt_CONST_FRA(facePhi)
00115 ,CHFt_CONST_FRA(cellPhi)
00116 ,CHFt_BOX(faceBox)
00117 ,CHFt_CONST_INT(idir)
00118 ,CHFt_CONST_REAL(dx) );
00119 }
00120 #endif // GUARDCENTEREDLAPLACIAN
00121
00122 #ifndef GUARDCCLAPLACIAN
00123 #define GUARDCCLAPLACIAN
00124
00125
00126 void FORTRAN_NAME( CCLAPLACIAN ,cclaplacian )(
00127 CHFp_FRA(lapPhi)
00128 ,CHFp_CONST_FRA(cellPhi)
00129 ,CHFp_BOX(cellBox)
00130 ,CHFp_CONST_INT(idir)
00131 ,CHFp_CONST_REAL(dx) );
00132
00133 #define FORT_CCLAPLACIAN FORTRAN_NAME( inlineCCLAPLACIAN, inlineCCLAPLACIAN)
00134 #define FORTNT_CCLAPLACIAN FORTRAN_NAME( CCLAPLACIAN, cclaplacian)
00135
00136 inline void FORTRAN_NAME(inlineCCLAPLACIAN, inlineCCLAPLACIAN)(
00137 CHFp_FRA(lapPhi)
00138 ,CHFp_CONST_FRA(cellPhi)
00139 ,CHFp_BOX(cellBox)
00140 ,CHFp_CONST_INT(idir)
00141 ,CHFp_CONST_REAL(dx) )
00142 {
00143 CH_TIMELEAF("FORT_CCLAPLACIAN");
00144 FORTRAN_NAME( CCLAPLACIAN ,cclaplacian )(
00145 CHFt_FRA(lapPhi)
00146 ,CHFt_CONST_FRA(cellPhi)
00147 ,CHFt_BOX(cellBox)
00148 ,CHFt_CONST_INT(idir)
00149 ,CHFt_CONST_REAL(dx) );
00150 }
00151 #endif // GUARDCCLAPLACIAN
00152
00153 #ifndef GUARDSELECTUPWIND
00154 #define GUARDSELECTUPWIND
00155
00156
00157 void FORTRAN_NAME( SELECTUPWIND ,selectupwind )(
00158 CHFp_FRA(facePhi)
00159 ,CHFp_CONST_FRA(phiLeft)
00160 ,CHFp_CONST_FRA(phiRight)
00161 ,CHFp_CONST_FRA1(faceVel)
00162 ,CHFp_BOX(faceBox) );
00163
00164 #define FORT_SELECTUPWIND FORTRAN_NAME( inlineSELECTUPWIND, inlineSELECTUPWIND)
00165 #define FORTNT_SELECTUPWIND FORTRAN_NAME( SELECTUPWIND, selectupwind)
00166
00167 inline void FORTRAN_NAME(inlineSELECTUPWIND, inlineSELECTUPWIND)(
00168 CHFp_FRA(facePhi)
00169 ,CHFp_CONST_FRA(phiLeft)
00170 ,CHFp_CONST_FRA(phiRight)
00171 ,CHFp_CONST_FRA1(faceVel)
00172 ,CHFp_BOX(faceBox) )
00173 {
00174 CH_TIMELEAF("FORT_SELECTUPWIND");
00175 FORTRAN_NAME( SELECTUPWIND ,selectupwind )(
00176 CHFt_FRA(facePhi)
00177 ,CHFt_CONST_FRA(phiLeft)
00178 ,CHFt_CONST_FRA(phiRight)
00179 ,CHFt_CONST_FRA1(faceVel)
00180 ,CHFt_BOX(faceBox) );
00181 }
00182 #endif // GUARDSELECTUPWIND
00183
00184 #ifndef GUARDINCREMENTFACEPROD
00185 #define GUARDINCREMENTFACEPROD
00186
00187
00188 void FORTRAN_NAME( INCREMENTFACEPROD ,incrementfaceprod )(
00189 CHFp_FRA(prod)
00190 ,CHFp_CONST_FRA(u)
00191 ,CHFp_CONST_FRA(v)
00192 ,CHFp_BOX(box) );
00193
00194 #define FORT_INCREMENTFACEPROD FORTRAN_NAME( inlineINCREMENTFACEPROD, inlineINCREMENTFACEPROD)
00195 #define FORTNT_INCREMENTFACEPROD FORTRAN_NAME( INCREMENTFACEPROD, incrementfaceprod)
00196
00197 inline void FORTRAN_NAME(inlineINCREMENTFACEPROD, inlineINCREMENTFACEPROD)(
00198 CHFp_FRA(prod)
00199 ,CHFp_CONST_FRA(u)
00200 ,CHFp_CONST_FRA(v)
00201 ,CHFp_BOX(box) )
00202 {
00203 CH_TIMELEAF("FORT_INCREMENTFACEPROD");
00204 FORTRAN_NAME( INCREMENTFACEPROD ,incrementfaceprod )(
00205 CHFt_FRA(prod)
00206 ,CHFt_CONST_FRA(u)
00207 ,CHFt_CONST_FRA(v)
00208 ,CHFt_BOX(box) );
00209 }
00210 #endif // GUARDINCREMENTFACEPROD
00211
00212 #ifndef GUARDINCREMENTFACEPRODGRAD
00213 #define GUARDINCREMENTFACEPRODGRAD
00214
00215
00216 void FORTRAN_NAME( INCREMENTFACEPRODGRAD ,incrementfaceprodgrad )(
00217 CHFp_FRA(prod)
00218 ,CHFp_CONST_FRA(u)
00219 ,CHFp_CONST_FRA(v)
00220 ,CHFp_BOX(box)
00221 ,CHFp_REAL(dx)
00222 ,CHFp_REAL(factor)
00223 ,CHFp_INT(dir) );
00224
00225 #define FORT_INCREMENTFACEPRODGRAD FORTRAN_NAME( inlineINCREMENTFACEPRODGRAD, inlineINCREMENTFACEPRODGRAD)
00226 #define FORTNT_INCREMENTFACEPRODGRAD FORTRAN_NAME( INCREMENTFACEPRODGRAD, incrementfaceprodgrad)
00227
00228 inline void FORTRAN_NAME(inlineINCREMENTFACEPRODGRAD, inlineINCREMENTFACEPRODGRAD)(
00229 CHFp_FRA(prod)
00230 ,CHFp_CONST_FRA(u)
00231 ,CHFp_CONST_FRA(v)
00232 ,CHFp_BOX(box)
00233 ,CHFp_REAL(dx)
00234 ,CHFp_REAL(factor)
00235 ,CHFp_INT(dir) )
00236 {
00237 CH_TIMELEAF("FORT_INCREMENTFACEPRODGRAD");
00238 FORTRAN_NAME( INCREMENTFACEPRODGRAD ,incrementfaceprodgrad )(
00239 CHFt_FRA(prod)
00240 ,CHFt_CONST_FRA(u)
00241 ,CHFt_CONST_FRA(v)
00242 ,CHFt_BOX(box)
00243 ,CHFt_REAL(dx)
00244 ,CHFt_REAL(factor)
00245 ,CHFt_INT(dir) );
00246 }
00247 #endif // GUARDINCREMENTFACEPRODGRAD
00248
00249 #ifndef GUARDADDHYPERVISCOUSFLUX
00250 #define GUARDADDHYPERVISCOUSFLUX
00251
00252
00253 void FORTRAN_NAME( ADDHYPERVISCOUSFLUX ,addhyperviscousflux )(
00254 CHFp_FRA(flux)
00255 ,CHFp_CONST_FRA(u)
00256 ,CHFp_BOX(box)
00257 ,CHFp_REAL(mu)
00258 ,CHFp_REAL(dx)
00259 ,CHFp_CONST_INT(dir) );
00260
00261 #define FORT_ADDHYPERVISCOUSFLUX FORTRAN_NAME( inlineADDHYPERVISCOUSFLUX, inlineADDHYPERVISCOUSFLUX)
00262 #define FORTNT_ADDHYPERVISCOUSFLUX FORTRAN_NAME( ADDHYPERVISCOUSFLUX, addhyperviscousflux)
00263
00264 inline void FORTRAN_NAME(inlineADDHYPERVISCOUSFLUX, inlineADDHYPERVISCOUSFLUX)(
00265 CHFp_FRA(flux)
00266 ,CHFp_CONST_FRA(u)
00267 ,CHFp_BOX(box)
00268 ,CHFp_REAL(mu)
00269 ,CHFp_REAL(dx)
00270 ,CHFp_CONST_INT(dir) )
00271 {
00272 CH_TIMELEAF("FORT_ADDHYPERVISCOUSFLUX");
00273 FORTRAN_NAME( ADDHYPERVISCOUSFLUX ,addhyperviscousflux )(
00274 CHFt_FRA(flux)
00275 ,CHFt_CONST_FRA(u)
00276 ,CHFt_BOX(box)
00277 ,CHFt_REAL(mu)
00278 ,CHFt_REAL(dx)
00279 ,CHFt_CONST_INT(dir) );
00280 }
00281 #endif // GUARDADDHYPERVISCOUSFLUX
00282
00283 #ifndef GUARDSECONDORDERGRADIENT
00284 #define GUARDSECONDORDERGRADIENT
00285
00286
00287 void FORTRAN_NAME( SECONDORDERGRADIENT ,secondordergradient )(
00288 CHFp_FRA(grad_u)
00289 ,CHFp_CONST_FRA(u)
00290 ,CHFp_BOX(box)
00291 ,CHFp_CONST_REALVECT(dx)
00292 ,CHFp_CONST_INT(facedir) );
00293
00294 #define FORT_SECONDORDERGRADIENT FORTRAN_NAME( inlineSECONDORDERGRADIENT, inlineSECONDORDERGRADIENT)
00295 #define FORTNT_SECONDORDERGRADIENT FORTRAN_NAME( SECONDORDERGRADIENT, secondordergradient)
00296
00297 inline void FORTRAN_NAME(inlineSECONDORDERGRADIENT, inlineSECONDORDERGRADIENT)(
00298 CHFp_FRA(grad_u)
00299 ,CHFp_CONST_FRA(u)
00300 ,CHFp_BOX(box)
00301 ,CHFp_CONST_REALVECT(dx)
00302 ,CHFp_CONST_INT(facedir) )
00303 {
00304 CH_TIMELEAF("FORT_SECONDORDERGRADIENT");
00305 FORTRAN_NAME( SECONDORDERGRADIENT ,secondordergradient )(
00306 CHFt_FRA(grad_u)
00307 ,CHFt_CONST_FRA(u)
00308 ,CHFt_BOX(box)
00309 ,CHFt_CONST_REALVECT(dx)
00310 ,CHFt_CONST_INT(facedir) );
00311 }
00312 #endif // GUARDSECONDORDERGRADIENT
00313
00314 }
00315
00316 #endif