Block-Structured AMR Software Framework
 
Loading...
Searching...
No Matches
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
9using namespace amrex;
10
11extern "C" {
12
23 void SDC_quadrature(int* qtype_in, int* nnodes, int* nnodes0,
24 amrex_real* nodes, int* nflags,amrex_real* qmats);
25}
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
void SDC_rhs_k_plus_one(MultiFab &rhs, Real dt, int m)
Definition AMReX_SDCstruct.cpp:96
int qtype
Type of quadrature nodes.
Definition AMReX_SDCstruct.H:34
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
void SDC_rhs_integrals(Real dt)
Definition AMReX_SDCstruct.cpp:60
int Npieces
Number of terms in RHS.
Definition AMReX_SDCstruct.H:36
int Nsweeps
Number of sweeps per time step.
Definition AMReX_SDCstruct.H:35
Vector< MultiFab > res
Temp storage.
Definition AMReX_SDCstruct.H:50
void SDC_rhs_misdc(MultiFab &rhs, Real dt, int m)
Definition AMReX_SDCstruct.cpp:119
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