libtrixi
|
Typedefs | |
typedef struct t8_forest * | t8_forest_t |
Functions | |
void | trixi_initialize (const char *project_directory, const char *depot_path) |
Initialize Julia runtime environment. More... | |
void | trixi_finalize () |
Finalize Julia runtime environment. More... | |
int | trixi_version_library_major () |
Return major version number of libtrixi. More... | |
int | trixi_version_library_minor () |
Return minor version number of libtrixi. More... | |
int | trixi_version_library_patch () |
Return patch version number of libtrixi. More... | |
const char * | trixi_version_library () |
Return full version string of libtrixi. More... | |
const char * | trixi_version_julia () |
Return name and version of loaded Julia packages LibTrixi directly depends on. More... | |
const char * | trixi_version_julia_extended () |
Return name and version of all loaded Julia packages. More... | |
int | trixi_initialize_simulation (const char *libelixir) |
Set up Trixi simulation. More... | |
void | trixi_finalize_simulation (int handle) |
Finalize simulation. More... | |
int | trixi_is_finished (int handle) |
Check if simulation is finished. More... | |
void | trixi_step (int handle) |
Perform next simulation step. More... | |
int | trixi_ndims (int handle) |
Return number of spatial dimensions. More... | |
int | trixi_nelements (int handle) |
Return number of local elements. More... | |
int | trixi_nelementsglobal (int handle) |
Return global number of elements. More... | |
int | trixi_ndofs (int handle) |
Return number of local degrees of freedom. More... | |
int | trixi_ndofsglobal (int handle) |
Return global number of degrees of freedom. More... | |
int | trixi_ndofselement (int handle) |
Return number of degrees of freedom per element. More... | |
int | trixi_nvariables (int handle) |
Return number of (conservative) variables. More... | |
int | trixi_nnodes (int handle) |
Return number of quadrature nodes per dimension. More... | |
double | trixi_calculate_dt (int handle) |
Get time step length. More... | |
void | trixi_load_node_reference_coordinates (int handle, double *node_coords) |
Get reference coordinates of 1D quadrature nodes. More... | |
void | trixi_load_node_weights (int handle, double *node_weights) |
Get weights of 1D quadrature nodes. More... | |
void | trixi_load_primitive_vars (int handle, int variable_id, double *data) |
Load primitive variable. More... | |
void | trixi_load_element_averaged_primitive_vars (int handle, int variable_id, double *data) |
Load element averages for primitive variable. More... | |
t8_forest_t | trixi_get_t8code_forest (int handle) |
void | trixi_eval_julia (const char *code) |
Execute Julia code. More... | |
typedef struct t8_forest* t8_forest_t |
double trixi_calculate_dt | ( | int | handle | ) |
void trixi_eval_julia | ( | const char * | code | ) |
void trixi_finalize | ( | ) |
void trixi_finalize_simulation | ( | int | handle | ) |
t8_forest_t trixi_get_t8code_forest | ( | int | handle | ) |
Get t8code forest
For Trixi simulations on t8code meshes, the t8code forest is returned.
[in] | handle | simulation handle |
void trixi_initialize | ( | const char * | project_directory, |
const char * | depot_path | ||
) |
Initialize Julia runtime environment.
Initialize Julia and activate the project at project_directory
. If depot_path
is not a null pointer, forcefully set the environment variable JULIA_DEPOT_PATH
to the value of depot_path
. If depot_path
is null, then proceed as follows: If JULIA_DEPOT_PATH
is already set, do not touch it. Otherwise, set JULIA_DEPOT_PATH
to project_directory
+ default_depot_path
This function must be called before most other libtrixi functions can be used. Libtrixi maybe only be initialized once; subsequent calls to trixi_initialize
are erroneous.
[in] | project_directory | Path to project directory. |
[in] | depot_path | Path to Julia depot path (optional; can be null pointer). |
int trixi_initialize_simulation | ( | const char * | libelixir | ) |
Set up Trixi simulation.
Set up a Trixi simulation by reading the provided libelixir file. It resembles Trixi's typical elixir files with the following differences:
using ...
) has to be inside a function init_simstate()
init
(instead of solve
)SimulationState
has to be created from the semidiscretization and the integrator See the examples in the LibTrixi.jl/examples
folder[in] | libelixir | Path to libelexir file. |
int trixi_is_finished | ( | int | handle | ) |
void trixi_load_element_averaged_primitive_vars | ( | int | handle, |
int | variable_id, | ||
double * | data | ||
) |
Load element averages for primitive variable.
Element averaged values for the primitive variable at position variable_id
for each element are stored in the given array data
.
The given array has to be of correct size (nelements) and memory has to be allocated beforehand.
[in] | handle | simulation handle |
[in] | variable_id | index of variable |
[out] | data | element averaged values for all elements |
void trixi_load_node_reference_coordinates | ( | int | handle, |
double * | node_coords | ||
) |
Get reference coordinates of 1D quadrature nodes.
The reference coordinates in [-1,1] of the quadrature nodes in the current DG scheme are stored in the provided array node_coords
. The given array has to be of correct size, i.e. nnodes
, and memory has to be allocated beforehand.
[in] | handle | simulation handle |
[out] | node_coords | node reference coordinates |
void trixi_load_node_weights | ( | int | handle, |
double * | node_weights | ||
) |
Get weights of 1D quadrature nodes.
The weights of the quadrature nodes in the current DG scheme are stored in the provided array node_weights
. The given array has to be of correct size, i.e. nnodes
, and memory has to be allocated beforehand.
[in] | handle | simulation handle |
[out] | node_weights | node weights |
void trixi_load_primitive_vars | ( | int | handle, |
int | variable_id, | ||
double * | data | ||
) |
Load primitive variable.
The values for the primitive variable at position variable_id
at every degree of freedom are stored in the given array data
.
The given array has to be of correct size (ndofs) and memory has to be allocated beforehand.
[in] | handle | simulation handle |
[in] | variable_id | index of variable |
[out] | data | values for all degrees of freedom |
int trixi_ndims | ( | int | handle | ) |
int trixi_ndofs | ( | int | handle | ) |
int trixi_ndofselement | ( | int | handle | ) |
int trixi_ndofsglobal | ( | int | handle | ) |
int trixi_nelements | ( | int | handle | ) |
int trixi_nelementsglobal | ( | int | handle | ) |
int trixi_nnodes | ( | int | handle | ) |
int trixi_nvariables | ( | int | handle | ) |
void trixi_step | ( | int | handle | ) |
const char* trixi_version_julia | ( | ) |
Return name and version of loaded Julia packages LibTrixi directly depends on.
The return value is a read-only pointer to a NULL-terminated string with the name and version information of the loaded Julia packages, separated by newlines.
The returned pointer is to static memory and must not be used to change the contents of the version string. Multiple calls to the function will return the same address.
This function is thread-safe. It must be run after trixi_initialize
has been called.
const char* trixi_version_julia_extended | ( | ) |
Return name and version of all loaded Julia packages.
The return value is a read-only pointer to a NULL-terminated string with the name and version information of all loaded Julia packages, including implicit dependencies, separated by newlines.
The returned pointer is to static memory and must not be used to change the contents of the version string. Multiple calls to the function will return the same address.
This function is thread-safe. It must be run after trixi_initialize
has been called.
const char* trixi_version_library | ( | ) |
Return full version string of libtrixi.
The return value is a read-only pointer to a NULL-terminated string with the version information. This may include not just MAJOR.MINOR.PATCH but possibly also additional build or development version information.
The returned pointer is to static memory and must not be used to change the contents of the version string. Multiple calls to the function will return the same address.
This function is thread-safe and may be run before trixi_initialize
has been called.
int trixi_version_library_major | ( | ) |
int trixi_version_library_minor | ( | ) |