![]() |
Gowdy solver
|
IVP solver for Gowdy spacetimes that uses bimetric-solver framework. More...
#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
#include <cmath>
#include <cstdio>
#include <chrono>
#include "numMethods.h"
#include "sys/paramsHolder.h"
#include "sys/slog.h"
#include "sys/trackUsedTime.h"
#include "sys/hpc.h"
#include "grid/gridFunctions.h"
#include "grid/gridPoint.h"
#include "grid/gridDriver.h"
#include "grid/gridInitialData.h"
#include "grid/gridOutput.h"
#include "grid/integrator.h"
Go to the source code of this file.
Data Structures | |
class | GowdyEvolve |
GowdyEvolve encapsulates the IVP solver for Gowdy spacetime. More... | |
Namespaces | |
namespace | fld |
Definitions of grid functions are here. | |
Defines | |
#define | GFCNT fld::gowdyLast |
Set the number of grid functions on a grid point. | |
#define | emitField(gf) inline Real& gf( Int m, Int n ) { return grid[m][n][fld::gf]; } |
emitField is a macro that emits a method encapsulating a grid function that access data in a grid at a point given by m (discretized t-coordinate) and n (discretized r-coordinate). | |
Enumerations | |
enum | fld::Index { fld::P = GFCNT, fld::Q, fld::R, fld::S, fld::L, fld::P_t, fld::Q_t, fld::R_t, fld::S_t, fld::L_t, fld::C, fld::gowdyLast } |
Identifiers of all known grid functions (the variables or fields on a grid). More... | |
Functions | |
int | main (int argc, char *argv[]) |
Variables | |
static const std::vector< Int > | fld::gowdyInput |
The fields that will be read from the initial data. | |
static const std::vector< Int > | fld::gowdyOutput |
The fields which will be written to the output. | |
static const std::vector < EvolvedBy > | fld::gowdyEvolved |
The grid functions that are evolved in time. |
IVP solver for Gowdy spacetimes that uses bimetric-solver framework.
Definition in file gowdy-solver.cpp.
emitField
is a macro that emits a method encapsulating a grid function that access data in a grid at a point given by m
(discretized t-coordinate) and n
(discretized r-coordinate).
For example, emitField(r)
defines r(m,n)
.
Definition at line 105 of file gowdy-solver.cpp.
#define GFCNT fld::gowdyLast |
Set the number of grid functions on a grid point.
Definition at line 57 of file gowdy-solver.cpp.
Referenced by UniformGrid::createGrid(), and UniformGrid::exchangeBoundaries().
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 272 of file gowdy-solver.cpp.
References MoLIntegrator::evolveEquations(), fld::gowdyOutput, GridOutputWriter::gridFunctions(), GridOutputWriter::open(), and GowdyEvolve::setupInitialData().
{ TrackUsedTime timer; // Read the configuration // Parameters params( argc >= 2 ? argv[1] : "config.ini" ); // Create the grid driver // UniformGrid ugrid( params ); // Create the output sync // GridOutputWriter output ( params, ugrid ); output.gridFunctions( fld::gowdyOutput ); if ( ! output.open () ) return -1; // Evolve the equations from the manually setup ID // MoLIntegrator integ( params, ugrid, output ); GowdyEvolve gowdy( params, ugrid, integ ); gowdy.setupInitialData (); return integ.evolveEquations () ? 0 : -1; }