Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

e_kernel.h

Go to the documentation of this file.
00001 
00006 #ifndef E_KERNEL_HEADER_ALREADY_INCLUDED
00007 
00009 struct global_data_3D
00010 {
00011     char title[132];
00012     char root_file_name[132];  /* all data file names are related */
00013 
00014     int nblock;             /* number of blocks           */
00015     int parallel;           /* =1 for MPI parallel code   */
00016                             /* =0 for serial code only    */
00017     int rank;               /* id of process for MPI      */
00018     int active[BLOCK_3D_DIM];  /* =1: active block        */
00019                                /* =0: inactive block      */
00020     int first_block;        /* first of block range       */
00021     int last_block;         /* last of block range        */
00022 
00023     double viscous_delay;   /* time delay before activating viscous terms */
00024 
00025     int step, count;        /* global iteration count     */
00026     int max_step;           /* global iteration limit     */
00027     int halt_now;           /* flag for premature halt    */
00028 
00029     double sim_time;        /* present simulation time    */
00030     double max_time;        /* final solution time, s     */
00031     double dt_init;         /* initial time step          */
00032     double dt_global;       /* simulation time step       */
00033     double dt_allow;        /* allowable global time step */
00034 
00035     double t_plot;          /* time to write next soln    */
00036     double t_his;           /* time to write next sample  */
00037     double dt_plot;         /* interval for writing soln  */
00038     double dt_his;          /* interval for writing sample */
00039 
00040     double cfl_target;      /* target CFL (worst case)    */
00041     double cfl_min;         /* current CFL minimum        */
00042     double cfl_max;         /* current CFL maximum        */
00043     double cfl_tiny;        /* smallest cfl so far        */
00044     double time_tiny;       /* time at which it occurred  */
00045 
00046     double residual;        /* Some measure of the residual */
00047 
00048     /* Andrew's LES bits */
00049     double displacement_thickness;
00050     int time_average_flag;
00051     int perturb_flag;
00052     double perturb_frac;
00053     double tav_0, tav_f, dt_av;
00054     double grid_stretch;
00055     double inflection_point;
00056     int heat_flag;
00057     double heat_delay;
00058     int turbulent_block;
00059 
00060     /* Choice of I/O formats. */
00061     int write_vtk;
00062     int write_cgns;
00063     
00064     struct flow_state flow_condition[MAX_FLOW_CONDITION];
00065     int n_flow_condition;
00066 
00067     /* The following arrays are needed to search for minimum time-step, etc 
00068      * across multiple blocks.
00069      */
00070     double dt_allow_v[BLOCK_3D_DIM];
00071     double dt_global_v[BLOCK_3D_DIM];
00072     double cfl_min_v[BLOCK_3D_DIM];
00073     double cfl_max_v[BLOCK_3D_DIM];
00074     double result_v[BLOCK_3D_DIM];
00075 };
00076 
00077 int dummy_greeting(void);
00078 struct block_data_3D * get_block_data_3D_ptr(int i);
00079 struct global_data_3D * get_global_data_3D_ptr(void);
00080 int initialize_global_parameters(void);
00081 
00082 int set_puvwT_flow_condition_in_gd(int indx, double p, double u,
00083                                    double v, double w, double T);
00084 int set_massf_flow_condition_in_gd(int indx, int imf, double mf);
00085 int call_EOS_for_flow_condition_in_gd(int indx);
00086 
00087 int set_block_range(int first, int last);
00088 int first_block(void);
00089 int last_block(void);
00090 
00091 long allocate_arrays_for_blocks(void);
00092 
00093 int impose_global_parameters_3D(struct global_data_3D *G,
00094                                 struct block_data_3D *A);
00095 int impose_global_timestep_for_block(struct block_data_3D *A, double dt);
00096 int impose_chemistry_timestep_for_block(struct block_data_3D *bp, double dt);
00097 
00098 /* Before leaving, leave a mark... */
00099 #define E_KERNEL_HEADER_ALREADY_INCLUDED
00100 #endif
00101 
00102 /*---------------------- end e_kernel.h ----------------------------*/
00103 

Generated on Tue Oct 25 10:23:46 2005 for CFCFD by  doxygen 1.4.4