Main Page   Data Structures   File List   Data Fields   Globals  

markers.h

Go to the documentation of this file.
00001 #include "interpolation.h"
00002 
00003 #define NOTENSION 0
00004 #define TENSION_U 1
00005 #define TENSION_V 2
00006 #define NSEC 10
00007 #define MASSPREC 1.e-3
00008 
00009 #define TRUE_PERIODIC 1
00010 #define APPROX_PERIODIC 2
00011 #define AXITRUE 3
00012 #define AXINATURAL 4
00013 #define AXIBOTH 5
00014 
00015 #define INTERPREC 1.e-6
00016 #define MARK_TYPE 0
00017 #define HOR_TYPE 1
00018 #define VER_TYPE 2
00019 
00020 typedef struct {
00021   real *x, *y, *t;
00022   polynom3 *spx, *spy;
00023 #ifdef FREE
00024   real *p;
00025 #endif
00026   int n;
00027   char bc;
00028 } interface;
00029 
00030 
00031 typedef struct {
00032   int n;
00033   int j1[NSEC], j2[NSEC], in[NSEC];
00034 } intersec;
00035 
00036 extern int interface_arc(interface in, real t);
00037 
00038 extern void interface_write_markers(interface in, FILE *fptr);
00039 
00040 extern void interface_write_markers_speed(real time, interface in, real2D u, 
00041                 real2D v, real tau, real du, 
00042                 int nx, int ny, FILE *fptr);
00043 
00044 extern void interface_write_splines(interface in, FILE *fptr, int nb);
00045 
00046 extern void curvature_write(interface in, FILE *fptr);
00047 
00048 extern real interfaces_area(interface *in, int n);
00049 
00050 extern real interfaces_axivolume(interface *in, int n);
00051 
00052 extern real interfaces_xmoment(interface *in, int n);
00053 
00054 extern real interfaces_ymoment(interface *in, int n);
00055 
00056 extern real interfaces_x_amp(interface *in, int n);
00057 
00058 extern real interfaces_y_amp(interface *in, int n);
00059 
00060 extern void interface_init(interface *dst);
00061 
00062 /* Approximately 60000 pts/sec on an Indigo2
00063    1 100 MHZ IP22 Processor
00064    FPU: MIPS R4010 Floating Point Chip Revision: 0.0
00065    CPU: MIPS R4000 Processor Chip Revision: 3.0 */
00066 extern void interface_splines(interface in, int nx, int ny);
00067 
00068 extern void interface_redis(interface *in, real space);
00069 
00070 extern void interface_redis_scale(interface *in, interface src, real space, 
00071                                   real scale);
00072 
00073 extern void interface_axisymmetry(interface *in, real space, int nx, int ny);
00074 
00075 extern int reconnect_axis(interface *in, int nx, int ny, real length);
00076 
00077 extern void interface_copy(interface *dst, interface in);
00078 
00079 extern void interface_free(interface in);
00080 
00081 extern void interface_advect(interface in, real2D u, real2D v, 
00082 #ifdef FREE
00083                              real2D a, real2D c, real2D cc,
00084 #endif
00085                              int nx, int ny);
00086 
00087 extern void interface_to_c(interface *in, int nint, 
00088 #ifdef RECON
00089                            intersec **inter, 
00090 #endif
00091                            real2D work, real2D c, real xo, real yo,
00092                            int nx, int ny, int sflag,
00093                            real2D rhox, real2D p, real sigma, real tau);
00094 
00095 extern real interface_inside(interface in, real x, real y);
00096 
00097 extern void interface_fill(interface *in, int nin, real2D ap, int nx, int ny);
00098 
00099 extern int interface_split_axis(interface **inlist, real length);
00100 
00101 extern int interface_merge_axis(interface **inlist, real length);
00102 
00103 extern real bilinu(real2D u, real x1, real y1);
00104 
00105 extern real bilinv(real2D v, real x1, real y1);

Generated on Wed Feb 19 22:26:50 2003 for Markers by doxygen1.2.18