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


Main Page   Class Hierarchy   Compound List   File List  

ClpFunctions3.h

Go to the documentation of this file.
00001 #ifndef AMROC_CLP_FUNCTIONS3_H
00002 #define AMROC_CLP_FUNCTIONS3_H
00003 
00022 #define f_initial FORTRAN_NAME(ic_, IC, ic)
00023 extern "C" {
00024   void f_initial(const INTEGER& maxmx, const INTEGER& maxmy, const INTEGER& maxmz,
00025                  const INTEGER& meqn, const INTEGER& mbc,
00026                  const INTEGER& mx, const INTEGER& my, const INTEGER& mz,
00027                  const DOUBLE x[], const DOUBLE y[], const DOUBLE z[],
00028                  const DOUBLE& dx, const DOUBLE& dy, const DOUBLE& dz, 
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(3,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,  const INTEGER& maxmz, \
00070    const INTEGER& meqn, const INTEGER& mbc, \
00071    const INTEGER& ibx, const INTEGER& iby, const INTEGER& ibz, \
00072    const INTEGER& mx, const INTEGER& my, const INTEGER& mz, 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, const INTEGER& maxmz, \
00099    const INTEGER& meqn, const INTEGER& mbc, \
00100    const INTEGER& ibx, const INTEGER& iby, const INTEGER& ibz, \
00101    const INTEGER& mx, const INTEGER& my, const INTEGER& mz, Vector_type q[], \
00102    DOUBLE aux[], const INTEGER& maux, \
00103    const DOUBLE& cornx, const DOUBLE& corny, const DOUBLE& cornz, \
00104    const DOUBLE& dx, const DOUBLE& dy, const DOUBLE& dz, \
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& icoor, \
00140    const INTEGER& maxm, const INTEGER& meqn, \
00141    const INTEGER& mwaves, const INTEGER& mbc, const INTEGER& mx, \
00142    const DOUBLE ql[], const DOUBLE qr[], \
00143    const INTEGER& maux, const DOUBLE aux1[], \
00144    const DOUBLE aux2[], const DOUBLE aux3[], \
00145    const INTEGER& ilr, DOUBLE asdq[], \
00146    DOUBLE bmasdq[], DOUBLE bpasdq[] )
00147 typedef void (*transverse_func_type) TRANSVERSE_FUNC_PARAMETER_LIST;
00148 
00149 #define CHECK_FUNC_PARAMETER_LIST ( \
00150    FI(3,Vector_type), BI, const INTEGER& meqn, INTEGER& result )
00151 
00176 #define f_step FORTRAN_NAME(step3_, STEP3, step3)
00177 extern "C" {
00178   void f_step(const INTEGER& maxm, const INTEGER& maxmx, 
00179               const INTEGER& maxmy, const INTEGER& maxmz,
00180               const INTEGER& mvar, const INTEGER& meqn, 
00181               const INTEGER& maux, const INTEGER& mwaves, const INTEGER& mbc,
00182               const INTEGER& mx, const INTEGER& my, const INTEGER& mz,
00183               Vector_type qold[], const DOUBLE aux[],        
00184               const DOUBLE& dx, const DOUBLE& dy, const DOUBLE& dz,
00185               const DOUBLE& dt, INTEGER method[], 
00186               INTEGER mthlim[], DOUBLE& cfl, 
00187               Vector_type fm[], Vector_type fp[], 
00188               Vector_type gm[], Vector_type gp[], 
00189               Vector_type hm[], Vector_type hp[], 
00190               DOUBLE faddm[], DOUBLE faddp[], 
00191               DOUBLE gaddm[], DOUBLE gaddp[], 
00192               DOUBLE haddm[], DOUBLE haddp[],
00193               DOUBLE q1d[], 
00194               DOUBLE dtdx1d[], DOUBLE dtdy1d[], DOUBLE dtdz1d[],
00195               DOUBLE aux1[], DOUBLE aux2[], DOUBLE aux3[], 
00196               DOUBLE work[], const INTEGER& mwork, 
00197               normal_func_type rpn, transverse_func_type rpt);
00198 }
00199 
00200 #define f_init_rcommon FORTRAN_NAME(rcombl_, RCOMBL, rcombl)
00201 extern "C" {
00202 void f_init_rcommon(const DOUBLE& t, const DOUBLE& dt, 
00203                     const DOUBLE& dx, const DOUBLE& dy, const DOUBLE& dz, 
00204                     const INTEGER& mpass);
00205 }
00206 
00207 #define f_restrict_amr FORTRAN_NAME(restrict3_, RESTRICT3, restrict3)
00208 extern "C"
00209 {
00210   void f_restrict_amr (FI(3,Vector_type), FI(3,Vector_type), BI, char *, INTEGER *);
00211 }
00212 
00213 #define f_prolong_amr FORTRAN_NAME(prolong3_, PROLONG3, prolong3)
00214 extern "C"
00215 {
00216   void f_prolong_amr (FI(3,Vector_type), FI(3,Vector_type), BI, char *, INTEGER *);
00217 }
00218 
00219 #define f_init_opcommon FORTRAN_NAME(opcombl_, OPCOMBL, opcombl)
00220 extern "C" {
00221 void f_init_opcommon(const INTEGER& gc);
00222 }
00223 
00224 #define f_rcflx FORTRAN_NAME(rcflx_, RCFLX, rcflx)
00225 extern "C" {
00226 void f_rcflx(const INTEGER& mflx);
00227 }
00228 
00229 #endif


Quickstart     Users Guide     Programmers Reference     Installation      Examples     Download



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