Block-Structured AMR Software Framework
AMReX_SDCstruct.H
Go to the documentation of this file.
1 #ifndef SDCSTRUCT_H_
2 #define SDCSTRUCT_H_
3 #include <AMReX_Config.H>
4 
5 #include <AMReX_Geometry.H>
6 #include <AMReX_MultiFab.H>
7 #include <AMReX_BCRec.H>
8 
9 using namespace amrex;
10 
11 extern "C" {
12 
23  void SDC_quadrature(int* qtype_in, int* nnodes, int* nnodes0,
24  amrex_real* nodes, int* nflags,amrex_real* qmats);
25 }
26 class SDCstruct
27  {
28 
29  public:
30  Real* qnodes;
31  int* Nflags;
32 
33  int Nnodes;
34  int qtype=1;
35  int Nsweeps=8;
36  int Npieces;
37 
38 
39  // The quadrature matrices
40  Real* Qall;
45 
46 
47  // SDC storage
52 
53 
61  SDCstruct(int Nnodes_in,int Npieces_in, MultiFab& sol_in);
62 
63  // Sweeper routines
64  void SDC_rhs_integrals(Real dt);
65 
66  void SDC_rhs_k_plus_one(MultiFab& rhs, Real dt,int m);
67 
68  void SDC_rhs_misdc(MultiFab& rhs, Real dt,int m);
69 
70  };
71 
72 #endif
double amrex_real
Definition: AMReX_REAL.H:55
void SDC_quadrature(int *qtype_in, int *nnodes, int *nnodes0, amrex_real *nodes, int *nflags, amrex_real *qmats)
External routine for computing quadrature tables.
Definition: AMReX_SDCstruct.H:27
Real * qnodes
The quadrature nodes.
Definition: AMReX_SDCstruct.H:30
int Nnodes
Number of quadrature nodes.
Definition: AMReX_SDCstruct.H:33
Vector< Vector< MultiFab > > f
Functions a nodes access by [npieces][node].
Definition: AMReX_SDCstruct.H:49
Vector< MultiFab > Ithree
Integration piece for MISDC.
Definition: AMReX_SDCstruct.H:51
Vector< Vector< Real > > Qexp
Explicit.
Definition: AMReX_SDCstruct.H:42
Vector< MultiFab > sol
Solution at the nodes.
Definition: AMReX_SDCstruct.H:48
Vector< Vector< Real > > Qimp
Implicit.
Definition: AMReX_SDCstruct.H:43
int Npieces
Number of terms in RHS.
Definition: AMReX_SDCstruct.H:36
Vector< MultiFab > res
Temp storage.
Definition: AMReX_SDCstruct.H:50
Vector< Vector< Real > > Qgauss
Gauss collocation.
Definition: AMReX_SDCstruct.H:41
Real * Qall
Definition: AMReX_SDCstruct.H:40
int * Nflags
Flags for quadrature rules.
Definition: AMReX_SDCstruct.H:31
Vector< Vector< Real > > QLU
DIRK with LU trick.
Definition: AMReX_SDCstruct.H:44
A collection (stored as an array) of FArrayBox objects.
Definition: AMReX_MultiFab.H:38
This class is a thin wrapper around std::vector. Unlike vector, Vector::operator[] provides bound che...
Definition: AMReX_Vector.H:27
Definition: AMReX_Amr.cpp:49