Discretization

rhea_discretization.h [source]

Defines

RHEA_P4EST_AMR_FLAG_INIT 101

Typedefs

typedef struct rhea_discretization_options rhea_discretization_options_t

Functions

void rhea_discretization_add_options(ymir_options_t *opt_sup)

Defines options and adds them as sub-options.

void rhea_discretization_process_options(rhea_discretization_options_t *opt, rhea_domain_options_t *domain_options, rhea_topography_options_t *topo_options)

Processes options and stores them.

void rhea_discretization_set_X_fn(rhea_discretization_options_t *opt, mangll_X_t X_fn, void *X_data)

Sets an X-function for geometry transformation of the mesh.

void rhea_discretization_boundary_create(rhea_discretization_options_t *opt, p4est_t *p4est, rhea_domain_options_t *domain_options)

Sets boundary information in the discretization options object.

void rhea_discretization_boundary_clear(rhea_discretization_options_t *opt)

Clears discretization options object.

p4est_t *rhea_discretization_p4est_new(sc_MPI_Comm mpicomm, rhea_discretization_options_t *opt, rhea_domain_options_t *domain_options)
void rhea_discretization_p4est_destroy(p4est_t *p4est)
void rhea_p4est_init_fn(p4est_t *p4est, p4est_topidx_t tree, p4est_quadrant_t *quadrant)

Callback function for initializing new p4est quadrants.

void rhea_discretization_mangll_continuous_new(mangll_t **mangll, mangll_cnodes_t **cnodes, p4est_t *p4est, rhea_discretization_options_t *opt)
void rhea_discretization_mangll_continuous_destroy(mangll_t *mangll, mangll_cnodes_t *cnodes)
mangll_t *rhea_discretization_mangll_discontinuous_new(p4est_t *p4est, rhea_discretization_options_t *opt)
void rhea_discretization_mangll_discontinuous_destroy(mangll_t *mangll)
void rhea_discretization_ymir_mesh_new_from_mangll(ymir_mesh_t **ymir_mesh, ymir_pressure_elem_t **press_elem, mangll_t *mangll, mangll_cnodes_t *cnodes, rhea_discretization_options_t *opt)
void rhea_discretization_ymir_mesh_new_from_p4est(ymir_mesh_t **ymir_mesh, ymir_pressure_elem_t **press_elem, p4est_t *p4est, rhea_discretization_options_t *opt)
void rhea_discretization_ymir_mesh_destroy(ymir_mesh_t *ymir_mesh, ymir_pressure_elem_t *press_elem)

Destroys ymir mesh and corresponding mangll structures.

void rhea_discretization_write_cont_coordinates(const char *file_path_txt, ymir_mesh_t *ymir_mesh, ymir_topidx_t meshid, rhea_domain_coordinate_type_t coord_type, rhea_domain_options_t *domain_options)
void rhea_discretization_write_cont_coordinates_volume(const char *file_path_txt, ymir_mesh_t *ymir_mesh, rhea_domain_coordinate_type_t coord_type, rhea_domain_options_t *domain_options)
void rhea_discretization_write_cont_coordinates_surface(const char *file_path_txt, ymir_mesh_t *ymir_mesh, rhea_domain_coordinate_type_t coord_type, rhea_domain_options_t *domain_options)

Variables

int rhea_discretization_level_min
struct rhea_discretization_options

Public Members

int order
int level_min
int level_max
char *p4est_file_path
rhea_domain_boundary_t *boundary
mangll_X_t X_fn
void *X_data
struct rhea_p4est_quadrant_data_t

Public Members

int amr_flag