boundary conditions

Boundary conditions are supplied by the user-defined application. However, the driver provides utilities to simplify the implementation of penalty-like boundary conditions.

The user-defined application must include four routines for implementing boundary conditions:
If the user-defined application is not using characteristic decomposition for the boundaries ( like that needed for maximally dissipative boundary conditions ), routines prim2char and char2prim can be left blank. Otherwise, the characteristic decomposition for the user defined equation set will need to be specified in routines prim2char and char2prim.

Routine hyperboundary is the routine where user-defined boundary conditions can be defined. Memory pointers to the ufuncs, time and spatial derivaties of the ufuncs, vfuncs, wfuncs, imask ( for excision ), and all parameters are passed into the hyperboundary routine.

Parameters that may be useful for implementing boundary conditions:
Multiple example routines are provided in "had/src/hyper" which may assist the user in developing their own boundary conditions. These include:

Notes

See Also

runge_kutta_type, inner_bound_data, exactu, List of required routines

Index of all manual pages

Examples

An example of hyperboundary is found in
had/src/hyperCurvedWave/boundary.f90

An example of prim2char and char2prim is found in
had/src/hyperCurvedWave/charvars.f90