Problem generator for particle epicycle trajectory presicion test. More...
Go to the source code of this file.
Functions | |
static Real | ShearingBoxPot (const Real x1, const Real x2, const Real x3) |
static Vector | ParticlePosition (const Real t) |
Calculate the particle position. | |
static Vector | ParticleVelocity (const Vector pos, const Real t) |
Calculate the particle velocity. | |
static int | ParticleLocator (const Vector pos) |
Judge if the particle is in this cpu. | |
void | problem (Grid *pGrid, Domain *pDomain) |
void | problem_write_restart (Grid *pG, Domain *pD, FILE *fp) |
void | problem_read_restart (Grid *pG, Domain *pD, FILE *fp) |
Gasfun_t | get_usr_expr (const char *expr) |
Sets pointer to expression for special output data. | |
VGFunout_t | get_usr_out_fun (const char *name) |
Returns a user defined output function pointer. | |
PropFun_t | get_usr_par_prop (const char *name) |
Returns a user defined particle selection function. | |
void | gasvshift (const Real x1, const Real x2, const Real x3, Real *u1, Real *u2, Real *u3) |
Gas velocity shift. | |
void | Userforce_particle (Vector *ft, const Real x1, const Real x2, const Real x3, const Real v1, const Real v2, const Real v3) |
void | Userwork_in_loop (Grid *pGrid, Domain *pDomain) |
void | Userwork_after_loop (Grid *pGrid, Domain *pDomain) |
Variables | |
char | name [50] |
Real | amp |
Real | Lx |
Real | Ly |
Real | x1min |
Real | x1max |
Real | x2min |
Real | x2max |
Real | omg |
Problem generator for particle epicycle trajectory presicion test.
PURPOSE: Problem generator for particle epicycle trajectory presicion test. This code works for both 2D and 3D. No gas is involved, but gas has to be initialized anyway. The particle stopping time should be set to be sufficiently large so that only shear terms affect particle motion.
Should be configured using --enable-shearing-box and --with-eos=isothermal. Optional choices are --enable-fargo and --enable-mpi
Definition in file par_epicycle.c.
Gas velocity shift.
Definition at line 219 of file par_epicycle.c.
Gasfun_t get_usr_expr | ( | const char * | expr | ) |
Sets pointer to expression for special output data.
Definition at line 204 of file par_epicycle.c.
VGFunout_t get_usr_out_fun | ( | const char * | name | ) |
Returns a user defined output function pointer.
Definition at line 209 of file par_epicycle.c.
PropFun_t get_usr_par_prop | ( | const char * | name | ) |
Returns a user defined particle selection function.
Definition at line 214 of file par_epicycle.c.
static int ParticleLocator | ( | const Vector | pos | ) | [static] |
static Vector ParticlePosition | ( | const Real | t | ) | [static] |
static Vector ParticleVelocity | ( | const Vector | pos, | |
const Real | t | |||
) | [static] |
void problem | ( | Grid * | pGrid, | |
Domain * | pDomain | |||
) |
Definition at line 64 of file par_epicycle.c.
References amp, ath_error(), cc_pos(), Lx, Ly, name, Omega_0, omg, par_getd(), par_getd_def(), par_geti(), particle_realloc(), ParticleLocator(), ParticlePosition(), ParticleVelocity(), qshear, ShearingBoxPot, StaticGravPot, tstop0, x1max, x1min, x2max, and x2min.
void problem_read_restart | ( | Grid * | pG, | |
Domain * | pD, | |||
FILE * | fp | |||
) |
Definition at line 185 of file par_epicycle.c.
References amp, Ly, name, Omega_0, omg, par_getd(), par_getd_def(), par_geti(), qshear, ShearingBoxPot, StaticGravPot, x2max, and x2min.
void problem_write_restart | ( | Grid * | pG, | |
Domain * | pD, | |||
FILE * | fp | |||
) |
Definition at line 179 of file par_epicycle.c.
References name.
Definition at line 286 of file par_epicycle.c.
void Userforce_particle | ( | Vector * | ft, | |
const Real | x1, | |||
const Real | x2, | |||
const Real | x3, | |||
const Real | v1, | |||
const Real | v2, | |||
const Real | v3 | |||
) |
Definition at line 225 of file par_epicycle.c.
void Userwork_after_loop | ( | Grid * | pGrid, | |
Domain * | pDomain | |||
) |
Definition at line 277 of file par_epicycle.c.
void Userwork_in_loop | ( | Grid * | pGrid, | |
Domain * | pDomain | |||
) |
Definition at line 232 of file par_epicycle.c.
References E, Ly, name, Omega_0, ParticlePosition(), and qshear.
Definition at line 56 of file par_epicycle.c.
Definition at line 56 of file par_epicycle.c.
Definition at line 56 of file par_epicycle.c.
char name[50] |
Definition at line 54 of file par_epicycle.c.
Definition at line 56 of file par_epicycle.c.
Definition at line 56 of file par_epicycle.c.
Definition at line 56 of file par_epicycle.c.
Definition at line 56 of file par_epicycle.c.
Definition at line 56 of file par_epicycle.c.