vtf-logo

WENOStdFunctions.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 // Copyright (C) 2003-2007 California Institute of Technology
00004 // Ralf Deiterding, Carlos Pantano
00005 
00006 #ifndef AMROC_WENOSTD_FUNCTIONS_H
00007 #define AMROC_WENOSTD_FUNCTIONS_H
00008 
00017 #define f_initial FORTRAN_NAME(ic, IC)
00018 #define f_boundary FORTRAN_NAME(physbd, PHYSBD)
00019 #define f_lset FORTRAN_NAME(ls, LS)
00020 #define f_exact FORTRAN_NAME(exact, EXACT)
00021 
00022 extern "C" {
00023 #if DIM < 3
00024   void FORTRAN_NAME(particularstructurefunction, PARTICULARSTRUCTUREFUNCTION) () {
00025     return;
00026   }
00027   void FORTRAN_NAME(setsubgridlength, SETSUBGRIDLENGTH) () {
00028     return;
00029   }
00030   void FORTRAN_NAME(integratestructure, INTEGRATESTRUCTURE) () {
00031     return;
00032   }
00033 #endif
00034 }
00035 
00036 #if DIM == 1
00037 
00038 #define f_restrict FORTRAN_NAME(restrict1, RESTRICT1)
00039 #define f_prolong FORTRAN_NAME(prolong1, PROLONG1)
00040 #define f_rkstep FORTRAN_NAME(onedrkstep, ONEDRKSTEP)
00041 #define f_bounds FORTRAN_NAME(onedsetarraybounds, ONEDSETARRAYBOUNDS)
00042 #define f_flgout FORTRAN_NAME(out1eu, OUT1EU)
00043 #define f_check FORTRAN_NAME(chk1eu, CHK1EU)
00044 #define f_ibndrfl FORTRAN_NAME(ip1eurfl, IP1EURFL)
00045 #define f_ibndex FORTRAN_NAME(ip1euex, IP1EUEX)
00046 #define f_itrans FORTRAN_NAME(it1eu, IT1EU)
00047 #define f_flgin FORTRAN_NAME(in1eu, IN1EU)
00048 
00049 #elif DIM == 2
00050 
00051 #define f_restrict FORTRAN_NAME(restrict2, RESTRICT2)
00052 #define f_prolong FORTRAN_NAME(prolong2, PROLONG2)
00053 #define f_rkstep FORTRAN_NAME(twodrkstep, TWODRKSTEP)
00054 #define f_bounds FORTRAN_NAME(twodsetarraybounds, TWODSETARRAYBOUNDS)
00055 #define f_flgout FORTRAN_NAME(out2eu, OUT2EU)
00056 #define f_check FORTRAN_NAME(chk2eu, CHK2EU)
00057 #define f_ibndrfl FORTRAN_NAME(ip2eurfl, IP2EURFL)
00058 #define f_ibndex FORTRAN_NAME(ip2euex, IP2EUEX)
00059 #define f_itrans FORTRAN_NAME(it2eu, IT2EU)
00060 #define f_flgin FORTRAN_NAME(in2eu, IN2EU)
00061 
00062 #elif DIM == 3
00063 
00064 #define f_restrict FORTRAN_NAME(restrict3, RESTRICT3)
00065 #define f_prolong FORTRAN_NAME(prolong3, PROLONG3)
00066 #define f_rkstep FORTRAN_NAME(threedrkstep, THREEDRKSTEP)
00067 #define f_bounds FORTRAN_NAME(threedsetarraybounds, THREEDSETARRAYBOUNDS)
00068 #define f_flgout FORTRAN_NAME(out3eu, OUT3EU)
00069 #define f_check FORTRAN_NAME(chk3eu, CHK3EU)
00070 #define f_ibndrfl FORTRAN_NAME(ip3eurfl, IP3EURFL)
00071 #define f_ibndex FORTRAN_NAME(ip3euex, IP3EUEX)
00072 #define f_itrans FORTRAN_NAME(it3eu, IT3EU)
00073 #define f_flgin FORTRAN_NAME(in3eu, IN3EU)
00074 
00075 #endif
00076 
00077 extern "C" {
00078   void f_initial();
00079   void f_boundary();
00080   void f_lset();
00081   void f_exact();
00082   void f_restrict();
00083   void f_prolong();
00084   void f_rkstep();
00085   void f_bounds();
00086   void f_flgout();
00087   void f_check();
00088   void f_ibndrfl();
00089   void f_ibndex();
00090   void f_itrans();
00091   void f_flgin(); 
00092 }
00093 
00094 #endif