-
Notifications
You must be signed in to change notification settings - Fork 369
/
Copy pathREADME_F
76 lines (53 loc) · 3.67 KB
/
README_F
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
! ************************************************************************************
Exp_CNS_NoSpec_F
! ************************************************************************************
This integrates the compressible Navier-Stokes equations with constant viscosity
and thermal conductivity. The integration algorithm uses 8th order finite differences
in space with a 3rd order, low-storage TVD RK algorithm in time
! ************************************************************************************
WaveEquation_F
! ************************************************************************************
This solves the wave equation explicitly on a single level with multiple boxes
and is analogous to the C++ version in Tutorials/WaveEquation_C.
! ************************************************************************************
GettingStarted_F
! ************************************************************************************
The AMReX user's guide includes source code from this example.
This simply shows how to initialize AMReX, create a domain decomposition,
access data in a MultiFab, and fill interior/periodic boundaries.
This is then looped over using the MFIter and work is done on it in Fortran.
! ************************************************************************************
HeatEquation_EX*_F:
! ************************************************************************************
There are five Fortran90 HeatEquation examples in this section. All six examples
can be running using MPI and/or OpenMP. Here is a brief overview of the six:
HeatEquation_EX1_F: This is the simplest of the examples -- it solves the heat equation
explicitly on a single level in a domain with periodic boundary conditions
HeatEquation_EX2_F: This example extends HeatEquation_EX1_F by allowing for Dirichlet
or Neumann boundary conditions in addition to periodic. This example introduces the
use of the "bc_tower" which holds the boundary conditions for the domain.
HeatEquation_EX3_F: This example extends HeatEquation_EX2_F by allowing fixed multiple
levels of refinement. All levels are advanced with the same time step.
HeatEquation_EX4_F: This example extends HeatEquation_EX3_F by allowing time adaptation
of the refined levels, by allowing cells to be tagged and new grids to be formed every
regrid_int steps.
HeatEquation_EX5_F: This is an extension of HeatEquation_EX4_F which allows implicit as
well as explicit solution of the heat equation. This introduces the use of the multilevel
linear solvers in the AMReX/LinearSolvers/F_MG directory.
! ************************************************************************************
AMR_Adv_F:
! ************************************************************************************
This is a pure F90 advection code with AMR. It advects a scalar quantity in a
user-specified divergence-free velocity field on faces. Refinement is based on
the value of the scalar.
It allows subcycling in time rather than advancing all levels with the same timestep.
This example introduces AMR and the use of boundary registers to store fluxes for refluxing.
! ************************************************************************************
MultiGrid_F:
! ************************************************************************************
This tutorial demonstrates how to implement a simple multigrid solver using AMReX's
data structures. The code solves Poisson's equation with periodic boundary conditions.
Gauss-Seidel red-black smoothing is used at each grid level.
Note that this does *not* call the linear solvers present in
AMReX/Src/LinearSolvers/F_MG
but instead demonstrates how one would write a stand-alone simple solver.