Gerris
Classes | Functions

GfsSimulation

GfsDomain
Collaboration diagram for GfsSimulation:

Classes

 GfsAdvection
 GfsAxi
 GfsOcean
 GfsPoisson
 GfsRiver
 GfsSimulationMoving
 GfsWave

Functions

void gfs_advance_tracers (GfsSimulation *sim, gdouble dt)
void gfs_simulation_init (GfsSimulation *sim)
guint gfs_check_solid_fractions (GfsDomain *domain)
GSList * gfs_simulation_get_solids (GfsSimulation *sim)
void gfs_simulation_refine (GfsSimulation *sim)
GfsSimulation * gfs_simulation_read (GtsFile *fp)
void gfs_simulation_write (GfsSimulation *sim, gint max_depth, FILE *fp)
void gfs_simulation_union_write (GfsSimulation *sim, gint max_depth, FILE *fp)
void gfs_simulation_set_timestep (GfsSimulation *sim)
void gfs_time_write (GfsTime *t, FILE *fp)
void gfs_time_init (GfsTime *t)
void gfs_time_read (GfsTime *t, GtsFile *fp)
void gfs_physical_params_write (GfsPhysicalParams *p, FILE *fp)
void gfs_physical_params_init (GfsPhysicalParams *p)
void gfs_physical_params_read (GfsPhysicalParams *p, GfsDomain *domain, GtsFile *fp)
void gfs_simulation_run (GfsSimulation *sim)
void gfs_simulation_map (GfsSimulation *sim, FttVector *p)
void gfs_simulation_map_inverse (GfsSimulation *sim, FttVector *p)
void gfs_simulation_map_vector (GfsSimulation *sim, const FttVector *p, FttVector *v)
void gfs_simulation_map_inverse_vector (GfsSimulation *sim, const FttVector *p, FttVector *v)
void gfs_simulation_map_inverse_cell (GfsSimulation *sim, FttVector p[4])
gdouble gfs_dimensional_value (GfsVariable *v, gdouble val)
gboolean gfs_variable_is_dimensional (GfsVariable *v)

Detailed Description

The incompressible Euler solver.

See also:

Syntax reference


Function Documentation

void gfs_advance_tracers ( GfsSimulation *  sim,
gdouble  dt 
)
Parameters:
sima #GfsSimulation.
dtthe timestep.

Performs advection/difussion of tracers associated with sim.

Here is the call graph for this function:

guint gfs_check_solid_fractions ( GfsDomain *  domain)
Parameters:
domaina #GfsDomain.

Checks consistency of solid fractions.

Returns:
the number of partial fluid faces which do not have two neighbors.

Here is the caller graph for this function:

gdouble gfs_dimensional_value ( GfsVariable *  v,
gdouble  val 
)
Parameters:
va #GfsVariable.
vala non-dimensional value of v.
Returns:
the dimensional value of val according to the units of v.

Here is the caller graph for this function:

void gfs_physical_params_init ( GfsPhysicalParams *  p)
Parameters:
pthe #GfsPhysicalParams.

Initializes the physical parameters structure p with default values.

void gfs_physical_params_read ( GfsPhysicalParams *  p,
GfsDomain *  domain,
GtsFile *  fp 
)
Parameters:
pthe #GfsPhysicalParams.
domaina #GfsDomain.
fpthe #GtsFile.

Reads a physical parameters structure from fp and puts it in p.

Here is the call graph for this function:

void gfs_physical_params_write ( GfsPhysicalParams *  p,
FILE *  fp 
)
Parameters:
pthe physical parameters structure.
fpa file pointer.

Writes in fp a text representation of the physical parameters structure p.

Here is the call graph for this function:

GSList* gfs_simulation_get_solids ( GfsSimulation *  sim)
Parameters:
sima #GfsSimulation.
Returns:
a new list of #GfsSolid defining the solid boundaries contained in sim.

Here is the caller graph for this function:

void gfs_simulation_init ( GfsSimulation *  sim)
Parameters:
sima #GfsSimulation.

Initialises sim: matches boundary conditions, applies boundary conditions and initialises all variables, etc...

Here is the call graph for this function:

void gfs_simulation_map ( GfsSimulation *  sim,
FttVector *  p 
)
Parameters:
sima #GfsSimulation.
pa #FttVector.

Maps the physical space coordinates p into computational space.

void gfs_simulation_map_inverse ( GfsSimulation *  sim,
FttVector *  p 
)
Parameters:
sima #GfsSimulation.
pa #FttVector.

Maps the computational coordinates p into physical space.

Here is the caller graph for this function:

void gfs_simulation_map_inverse_cell ( GfsSimulation *  sim,
FttVector  p[4] 
)
Parameters:
sima #GfsSimulation.
pan array of #FttVector.

Array p should contain the (x,y) coordinates of the four corners of a #FttCell. This function will inverse transform these coordinates taking into account any specificity of the mapping (e.g. periodicity).

void gfs_simulation_map_inverse_vector ( GfsSimulation *  sim,
const FttVector *  p,
FttVector *  v 
)
Parameters:
sima #GfsSimulation.
pthe position.
va #FttVector.

Applies the inverse mapping transformations associated with sim at location p, to vector v.

void gfs_simulation_map_vector ( GfsSimulation *  sim,
const FttVector *  p,
FttVector *  v 
)
Parameters:
sima #GfsSimulation.
pthe position.
va #FttVector.

Applies the mapping transformations associated with sim at location p, to vector v.

GfsSimulation* gfs_simulation_read ( GtsFile *  fp)
Parameters:
fpa #GtsFile.

Reads a simulation file from fp.

Returns:
the #GfsSimulation or NULL if an error occured, in which case the pos and error fields of fp are set.

Here is the call graph for this function:

void gfs_simulation_refine ( GfsSimulation *  sim)
Parameters:
sima #GfsSimulation.

Calls the refine() methods of the #GfsRefine of sim. Initialize the solid fractions by calling gfs_init_solid_fractions(). Matches the boundaries by calling gfs_domain_match().

Here is the call graph for this function:

void gfs_simulation_run ( GfsSimulation *  sim)
Parameters:
sima #GfsSimulation.

Runs sim.

Here is the call graph for this function:

void gfs_simulation_set_timestep ( GfsSimulation *  sim)
Parameters:
sima #GfsSimulation.

Sets the time step for the next iteration of sim using the CFL (computed using gfs_domain_cfl()), the stability conditions for source terms and taking into account the timings of the various #GfsEvent associated to sim.

More precisely, the time step is adjusted (if necessary) so that the time of the closest event is exactly reached after the iteration.

Here is the call graph for this function:

void gfs_simulation_union_write ( GfsSimulation *  sim,
gint  max_depth,
FILE *  fp 
)
Parameters:
sima #GfsSimulation.
max_depththe maximum depth at which to stop writing cell tree data (-1 means no limit).
fpa file pointer.

Identical to gfs_simulation_write() for serial simulations. For parallel simulations writes the union of the simulations on all processes to fp.

Here is the call graph for this function:

void gfs_simulation_write ( GfsSimulation *  sim,
gint  max_depth,
FILE *  fp 
)
Parameters:
sima #GfsSimulation.
max_depththe maximum depth at which to stop writing cell tree data (-1 means no limit).
fpa file pointer.

Writes in fp a text representation of sim. If max_depth is smaller or equal to -2, no cell tree data is written.

Here is the caller graph for this function:

void gfs_time_init ( GfsTime *  t)
Parameters:
tthe #GfsTime.

Initializes the time structure t with default values.

void gfs_time_read ( GfsTime *  t,
GtsFile *  fp 
)
Parameters:
tthe #GfsTime.
fpthe #GtsFile.

Reads a time structure from fp and puts it in t.

void gfs_time_write ( GfsTime *  t,
FILE *  fp 
)
Parameters:
tthe time structure.
fpa file pointer.

Writes in fp a text representation of the time structure t.

gboolean gfs_variable_is_dimensional ( GfsVariable *  v)
Parameters:
va #GfsVariable.
Returns:
TRUE if v has dimensions, FALSE otherwise.
 All Data Structures Files Functions Variables