Functions | Variables

prob/par_epicycle.c File Reference

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

Detailed Description

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.


Function Documentation

void gasvshift ( const Real  x1,
const Real  x2,
const Real  x3,
Real u1,
Real u2,
Real u3 
)

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]

Judge if the particle is in this cpu.

Definition at line 335 of file par_epicycle.c.

References x1lpar, x1upar, x2lpar, x2upar, x3lpar, and x3upar.

Referenced by problem().

Here is the caller graph for this function:

static Vector ParticlePosition ( const Real  t  )  [static]

Calculate the particle position.

Definition at line 297 of file par_epicycle.c.

References amp, Lx, Ly, Omega_0, omg, x1min, and x2min.

Referenced by problem(), and Userwork_in_loop().

Here is the caller graph for this function:

static Vector ParticleVelocity ( const Vector  pos,
const Real  t 
) [static]

Calculate the particle velocity.

Definition at line 316 of file par_epicycle.c.

References amp, Ly, Omega_0, omg, qshear, and vel.

Referenced by problem().

Here is the caller graph for this function:

void problem ( Grid *  pGrid,
Domain *  pDomain 
)
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.

Here is the call graph for this function:

void problem_write_restart ( Grid *  pG,
Domain *  pD,
FILE *  fp 
)

Definition at line 179 of file par_epicycle.c.

References name.

static Real ShearingBoxPot ( const Real  x1,
const Real  x2,
const Real  x3 
) [static]

Definition at line 286 of file par_epicycle.c.

References Omega_0, and qshear.

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.

Here is the call graph for this function:


Variable Documentation

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.