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];
00013
00014 int nblock;
00015 int parallel;
00016
00017 int rank;
00018 int active[BLOCK_3D_DIM];
00019
00020 int first_block;
00021 int last_block;
00022
00023 double viscous_delay;
00024
00025 int step, count;
00026 int max_step;
00027 int halt_now;
00028
00029 double sim_time;
00030 double max_time;
00031 double dt_init;
00032 double dt_global;
00033 double dt_allow;
00034
00035 double t_plot;
00036 double t_his;
00037 double dt_plot;
00038 double dt_his;
00039
00040 double cfl_target;
00041 double cfl_min;
00042 double cfl_max;
00043 double cfl_tiny;
00044 double time_tiny;
00045
00046 double residual;
00047
00048
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
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
00068
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
00099 #define E_KERNEL_HEADER_ALREADY_INCLUDED
00100 #endif
00101
00102
00103