AMROC Main     Blockstructured Adaptive Mesh Refinement in object-oriented C++


Main Page   Class Hierarchy   Compound List   File List  

ClpFunctions2.h

Go to the documentation of this file.
00001 #ifndef  AMROC_CLP_FUNCTIONS2_H
00002 #define  AMROC_CLP_FUNCTIONS2_H
00003 
00022 #define f_initial FORTRAN_NAME(ic_, IC, ic)
00023 extern "C" {
00024   void f_initial(const INTEGER& maxmx, const INTEGER& maxmy, 
00025                  const INTEGER& meqn, const INTEGER& mbc,
00026                  const INTEGER& mx, const INTEGER& my, 
00027                  const DOUBLE x[], const DOUBLE y[], 
00028                  const DOUBLE& dx, const DOUBLE& dy, 
00029                  Vector_type q[]);
00030 }
00031 
00036 #define f_init_common FORTRAN_NAME(combl_, COMBL, combl)
00037 extern "C" {
00038     void f_init_common();
00039 }
00040 
00060 #define f_boundary FORTRAN_NAME(physbd_, PHYSBD, physbd)
00061 extern "C" {
00062     void f_boundary(FI(2,Vector_type), BI, const DOUBLE *, 
00063                     const DOUBLE *, const INTEGER *,
00064                     const DOUBLE *, const INTEGER *,  
00065                     const DOUBLE *, char *, const INTEGER *);
00066 }
00067 
00068 #define SOURCE_PARAMETER_LIST ( \
00069    const INTEGER& maxmx, const INTEGER& maxmy, \
00070    const INTEGER& meqn, const INTEGER& mbc, \
00071    const INTEGER& ibx, const INTEGER& iby, \
00072    const INTEGER& mx, const INTEGER& my, Vector_type q[], \
00073    const DOUBLE aux[], const INTEGER& maux, \
00074    const DOUBLE& t, const DOUBLE& dt, const INTEGER& ibnd)
00075 typedef void (*source_func_type) SOURCE_PARAMETER_LIST; 
00076 
00092 #define f_source FORTRAN_NAME(src_, SRC, src)
00093 extern "C" {
00094   void f_source SOURCE_PARAMETER_LIST;
00095 }
00096   
00097 #define SETAUX_PARAMETER_LIST ( \
00098    const INTEGER& maxmx, const INTEGER& maxmy, \
00099    const INTEGER& meqn, const INTEGER& mbc, \
00100    const INTEGER& ibx, const INTEGER& iby, \
00101    const INTEGER& mx, const INTEGER& my, Vector_type q[], \
00102    DOUBLE aux[], const INTEGER& maux, \
00103    const DOUBLE& cornx, const DOUBLE& corny, \
00104    const DOUBLE& dx, const DOUBLE& dy, \
00105    const DOUBLE& t, const DOUBLE& dt)
00106 typedef void (*setaux_func_type) SETAUX_PARAMETER_LIST;
00107 
00124 #define f_setaux FORTRAN_NAME(setaux_, SETAUX, setaux)
00125 extern "C" {
00126   void f_setaux SETAUX_PARAMETER_LIST;
00127 }
00128   
00129 #define NORMAL_FUNC_PARAMETER_LIST ( \
00130    const INTEGER& ixyz, const INTEGER& maxm, const INTEGER& meqn, \
00131    const INTEGER& mwaves, const INTEGER& mbc, const INTEGER& mx, \
00132    const DOUBLE ql[], const DOUBLE qr[], \
00133    const INTEGER& maux, const DOUBLE auxl[], const DOUBLE auxr[], \
00134    DOUBLE wave[], DOUBLE s[], \
00135    DOUBLE amdq[], DOUBLE apdq[] )
00136 typedef void (*normal_func_type) NORMAL_FUNC_PARAMETER_LIST;
00137 
00138 #define TRANSVERSE_FUNC_PARAMETER_LIST ( \
00139    const INTEGER& ixyz, const INTEGER& maxm, const INTEGER& meqn, \
00140    const INTEGER& mwaves, const INTEGER& mbc, const INTEGER& mx, \
00141    const DOUBLE ql[], const DOUBLE qr[], \
00142    const INTEGER& maux, const DOUBLE aux1[], const DOUBLE aux2[], \
00143    const DOUBLE aux3[], const INTEGER& imp, \
00144    DOUBLE asdq[], DOUBLE amdq[], DOUBLE apdq[] )
00145 typedef void (*transverse_func_type) TRANSVERSE_FUNC_PARAMETER_LIST;
00146 
00147 #define CHECK_FUNC_PARAMETER_LIST ( \
00148    FI(2,Vector_type), BI, const INTEGER& meqn, INTEGER& result )
00149 
00174 #define f_step FORTRAN_NAME(step2_, STEP2, step2)
00175 extern "C" {
00176   void f_step(const INTEGER& maxm, const INTEGER& maxmx, const INTEGER& maxmy,
00177               const INTEGER& mvar, const INTEGER& meqn, 
00178               const INTEGER& maux, const INTEGER& mwaves, const INTEGER& mbc,
00179               const INTEGER& mx,const INTEGER& my,
00180               Vector_type qold[], const DOUBLE aux[],        
00181               const DOUBLE& dx, const DOUBLE& dy, const DOUBLE& dt,
00182               INTEGER method[], INTEGER mthlim[], DOUBLE& cfl, 
00183               Vector_type fm[], Vector_type fp[], 
00184               Vector_type gm[], Vector_type gp[], 
00185               DOUBLE fm[], DOUBLE fp[], 
00186               DOUBLE gm[], DOUBLE gp[],
00187               DOUBLE q1d[], DOUBLE dtdx1d[], DOUBLE dtdy1d[],
00188               DOUBLE aux1[], DOUBLE aux2[], DOUBLE aux3[], 
00189               DOUBLE work[], const INTEGER& mwork, 
00190               normal_func_type rpn, transverse_func_type rpt);
00191 }
00192 
00193 #define f_init_rcommon FORTRAN_NAME(rcombl_, RCOMBL, rcombl)
00194 extern "C" {
00195 void f_init_rcommon(const DOUBLE& t, const DOUBLE& dt, 
00196                     const DOUBLE& dx, const DOUBLE& dy, 
00197                     const INTEGER& mpass);
00198 }
00199 
00200 #define f_restrict_amr FORTRAN_NAME(restrict2_, RESTRICT2, restrict2)
00201 extern "C"
00202 {
00203   void f_restrict_amr (FI(2,Vector_type), FI(2,Vector_type), BI, char *, INTEGER *);
00204 }
00205 
00206 #define f_prolong_amr FORTRAN_NAME(prolong2_, PROLONG2, prolong2)
00207 extern "C"
00208 {
00209   void f_prolong_amr (FI(2,Vector_type), FI(2,Vector_type), BI, char *, INTEGER *);
00210 }
00211 
00212 #define f_init_opcommon FORTRAN_NAME(opcombl_, OPCOMBL, opcombl)
00213 extern "C" {
00214 void f_init_opcommon(const INTEGER& gc);
00215 }
00216 
00217 #define f_rcflx FORTRAN_NAME(rcflx_, RCFLX, rcflx)
00218 extern "C" {
00219 void f_rcflx(const INTEGER& mflx);
00220 }
00221 
00222 #endif


Quickstart     Users Guide     Programmers Reference     Installation      Examples     Download



AMROC Main      Home      Contact
last update: 06/01/04