Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef GMI_ANALYTIC_H
00011 #define GMI_ANALYTIC_H
00012
00016 #include "gmi_base.h"
00017
00018 #ifdef __cplusplus
00019 extern "C" {
00020 #endif
00021
00027 typedef void (*gmi_analytic_fun)(double const p[2], double x[3], void* u);
00028
00033 typedef void (*gmi_reparam_fun)(double const from[2], double to[2], void* u);
00034
00036 struct gmi_model* gmi_make_analytic(void);
00049 struct gmi_ent* gmi_add_analytic(struct gmi_model* m, int dim, int tag,
00050 gmi_analytic_fun f, int* periodic, double (*ranges)[2], void* user_data);
00054 void* gmi_analytic_data(struct gmi_model* m, struct gmi_ent* e);
00055
00056 #define gmi_analytic_topo gmi_base_topo
00057
00067 void gmi_add_analytic_reparam(struct gmi_model* m, struct agm_use u,
00068 gmi_reparam_fun f, void* user_data);
00069
00073 void* gmi_analytic_reparam_data(struct gmi_model* m, struct agm_use u);
00074
00080 void gmi_add_analytic_cell(struct gmi_model* m, int dim, int tag);
00083 void gmi_add_analytic_region(struct gmi_model* m, int tag);
00084
00085 #ifdef __cplusplus
00086 }
00087 #endif
00088
00089 #endif
00090