p4est  1.0
src/p8est_geometry.h
Go to the documentation of this file.
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 */
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines