SCOREC core
Parallel unstructured mesh tools
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
gmi_analytic.h
Go to the documentation of this file.
1 /******************************************************************************
2 
3  Copyright 2014 Scientific Computation Research Center,
4  Rensselaer Polytechnic Institute. All rights reserved.
5 
6  This work is open source software, licensed under the terms of the
7  BSD license as described in the LICENSE file in the top-level directory.
8 
9 *******************************************************************************/
10 #ifndef GMI_ANALYTIC_H
11 #define GMI_ANALYTIC_H
12 
16 #include "gmi_base.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
27 typedef void (*gmi_analytic_fun)(double const p[2], double x[3], void* u);
28 
33 typedef void (*gmi_reparam_fun)(double const from[2], double to[2], void* u);
34 
36 struct gmi_model* gmi_make_analytic(void);
49 struct gmi_ent* gmi_add_analytic(struct gmi_model* m, int dim, int tag,
50  gmi_analytic_fun f, int* periodic, double (*ranges)[2], void* user_data);
54 void* gmi_analytic_data(struct gmi_model* m, struct gmi_ent* e);
55 
56 #define gmi_analytic_topo gmi_base_topo
57 
67 void gmi_add_analytic_reparam(struct gmi_model* m, struct agm_use u,
68  gmi_reparam_fun f, void* user_data);
69 
73 void* gmi_analytic_reparam_data(struct gmi_model* m, struct agm_use u);
74 
80 void gmi_add_analytic_cell(struct gmi_model* m, int dim, int tag);
83 void gmi_add_analytic_region(struct gmi_model* m, int tag);
84 
85 #ifdef __cplusplus
86 }
87 #endif
88 
89 #endif
90 
void * gmi_analytic_data(struct gmi_model *m, struct gmi_ent *e)
get the analytic user data
void gmi_add_analytic_region(struct gmi_model *m, int tag)
gmi_add_analytic_cell(m, 3, tag)
struct gmi_model * gmi_make_analytic(void)
make an empty analytic model
void gmi_add_analytic_cell(struct gmi_model *m, int dim, int tag)
create a non-parametric model entity
the basic structure for all GMI models
Definition: gmi.h:112
void gmi_add_analytic_reparam(struct gmi_model *m, struct agm_use u, gmi_reparam_fun f, void *user_data)
add a re-parameterization to the model
struct gmi_ent * gmi_add_analytic(struct gmi_model *m, int dim, int tag, gmi_analytic_fun f, int *periodic, double(*ranges)[2], void *user_data)
add an entity to the analytic model
void(* gmi_analytic_fun)(double const p[2], double x[3], void *u)
the analytic parameterization of a model boundary
Definition: gmi_analytic.h:27
void(* gmi_reparam_fun)(double const from[2], double to[2], void *u)
a re-parametrization from one entity to another
Definition: gmi_analytic.h:33
void * gmi_analytic_reparam_data(struct gmi_model *m, struct agm_use u)
get the re-parameterization user data