p4est 2.8.5.190-3fcf-dirty
p4est is a software library for parallel adaptive mesh refinement.
|
transforms from vertex frame to physical space. More...
#include <p4est_connectivity.h>
Go to the source code of this file.
Data Structures | |
struct | p4est_geometry |
This structure can be filled or allocated by the user. More... | |
Typedefs | |
typedef struct p4est_geometry | p4est_geometry_t |
This object encapsulates a custom geometry transformation. | |
typedef void(* | p4est_geometry_X_t) (p4est_geometry_t *geom, p4est_topidx_t which_tree, const double abc[3], double xyz[3]) |
Forward transformation from the reference unit square to physical space. More... | |
typedef void(* | p4est_geometry_destroy_t) (p4est_geometry_t *geom) |
Destructor prototype for a user-allocated p4est_geometry_t. More... | |
Functions | |
void | p4est_geometry_destroy (p4est_geometry_t *geom) |
Can be used to conveniently destroy a geometry structure. More... | |
p4est_geometry_t * | p4est_geometry_new_connectivity (p4est_connectivity_t *conn) |
Create a geometry structure based on the vertices in a connectivity. More... | |
p4est_geometry_t * | p4est_geometry_new_icosahedron (p4est_connectivity_t *conn, double R) |
Create a geometry for mapping the 3d sphere using 2d connectivity icosahedron. | |
p4est_geometry_t * | p4est_geometry_new_shell2d (p4est_connectivity_t *conn, double R2, double R1) |
Create a geometry for mapping 2d shell. More... | |
p4est_geometry_t * | p4est_geometry_new_disk2d (p4est_connectivity_t *conn, double R0, double R1) |
disk2d geometry associated to disk2d connectivity. More... | |
transforms from vertex frame to physical space.
typedef void(* p4est_geometry_destroy_t) (p4est_geometry_t *geom) |
Destructor prototype for a user-allocated p4est_geometry_t.
It is invoked by p4est_geometry_destroy. If the user chooses to reserve the structure statically, simply don't call p4est_geometry_destroy.
typedef void(* p4est_geometry_X_t) (p4est_geometry_t *geom, p4est_topidx_t which_tree, const double abc[3], double xyz[3]) |
Forward transformation from the reference unit square to physical space.
Note that the two-dimensional connectivities have 3D vertex coordinates that can be used in the transformation if so desired. The physical space "xyz" is user-defined, currently used for VTK output.
void p4est_geometry_destroy | ( | p4est_geometry_t * | geom | ) |
Can be used to conveniently destroy a geometry structure.
The user is free not to call this function at all if they handle the memory of the p4est_geometry_t in their own way.
p4est_geometry_t * p4est_geometry_new_connectivity | ( | p4est_connectivity_t * | conn | ) |
Create a geometry structure based on the vertices in a connectivity.
The transformation is constructed using bilinear interpolation.
[in] | conn | A p4est_connectivity_t with valid vertices. We do NOT take ownership and expect this structure to stay alive. |
p4est_geometry_t * p4est_geometry_new_disk2d | ( | p4est_connectivity_t * | conn, |
double | R0, | ||
double | R1 | ||
) |
disk2d geometry associated to disk2d connectivity.
[in] | conn | The result of p4est_connectivity_new_disk2d. |
[in] | R0 | radius of the inner circle. |
[in] | R1 | radius of the outer circle (external border). |
This geometry is meant to be used with the disk2d connectivity, which is a 5-tree connectivity to map the spherical disk.
p4est_geometry_t * p4est_geometry_new_shell2d | ( | p4est_connectivity_t * | conn, |
double | R2, | ||
double | R1 | ||
) |
Create a geometry for mapping 2d shell.
This a direct adaptation of geometric shell in 3d.