p4est
1.0
|
00001 /* 00002 This file is part of p4est. 00003 p4est is a C library to manage a collection (a forest) of multiple 00004 connected adaptive quadtrees or octrees in parallel. 00005 00006 Copyright (C) 2010 The University of Texas System 00007 Written by Carsten Burstedde, Lucas C. Wilcox, and Tobin Isaac 00008 00009 p4est is free software; you can redistribute it and/or modify 00010 it under the terms of the GNU General Public License as published by 00011 the Free Software Foundation; either version 2 of the License, or 00012 (at your option) any later version. 00013 00014 p4est is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 GNU General Public License for more details. 00018 00019 You should have received a copy of the GNU General Public License 00020 along with p4est; if not, write to the Free Software Foundation, Inc., 00021 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00022 */ 00023 00029 #ifndef P8EST_GEOMETRY_H 00030 #define P8EST_GEOMETRY_H 00031 00032 #include <p4est_base.h> 00033 00034 SC_EXTERN_C_BEGIN; 00035 00036 typedef struct p8est_geometry p8est_geometry_t; 00037 00043 typedef void (*p8est_geometry_X_t) (p8est_geometry_t * geom, 00044 p4est_topidx_t which_tree, 00045 const double abc[3], 00046 double xyz[3]); 00047 00051 struct p8est_geometry 00052 { 00053 const char *name; 00054 void *user; 00055 p8est_geometry_X_t X; 00056 }; 00057 00062 p8est_geometry_t *p8est_geometry_new_identity (void); 00063 00070 p8est_geometry_t *p8est_geometry_new_shell (double R2, double R1); 00071 00079 p8est_geometry_t *p8est_geometry_new_sphere (double R2, double R1, 00080 double R0); 00081 00082 SC_EXTERN_C_END; 00083 00084 #endif /* !P8EST_GEOMETRY_H */