00001
00002
00003
00004
00005 #ifndef _DATASTR_SVH
00006 #define _DATASTR_SVH
00007 typedef struct
00008 {
00009 char *tag_name;
00010 void *where;
00011 int TYPE;
00012 } tag;
00013
00014 extern const tag _taglist[];
00015 extern const int _ntags;
00016 extern const tag _obsolete_taglist[];
00017 extern const int _obsolete_ntags;
00018
00019 #include "fem_header.h"
00020 #include "constants.h"
00021 #include "linalg.h"
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082 extern long ListOfMatrixOutput[];
00083 extern int ONsavegmvoutput;
00084 extern int ONsavetecplotoutput;
00085 extern int ONsavetecplotoutput1;
00086 extern int ONsaveresultsoutput;
00087 extern int ONsavebinary;
00088 extern int ONsavepressureoutput;
00089
00090
00091
00092 extern char cfgfile[];
00093 extern char log_file[];
00094 extern char iter_file[];
00095 extern char report_file[];
00096 extern char results_file[];
00097 extern char stokes_file[];
00098 extern char gridbasename[];
00099 extern char coarsegridbasename[];
00100 extern char timesol[];
00101 extern char rereadfile[];
00102 extern char startlinear[];
00103 extern char start[];
00104 extern char stop[];
00105 extern char releasefile[];
00106 extern char pressurefile[];
00107 extern char airfoilfile[];
00108 extern char forcesfile[];
00109 extern char surfacefile[];
00110
00111 extern long NElements;
00112 extern long NSides;
00113 extern long NPoints;
00114 extern long NBSides;
00115
00116 extern double *x,*y;
00117 extern short *PointMark;
00118 extern short *NodeDegree;
00119
00120 extern double *xT1,*yT1;
00121 extern double *xT2,*yT2;
00122 extern double *xh,*yh,*rh;
00123 extern long FixPressureIdx;
00124
00125 extern long *PatchW;
00126 extern long *PatchList;
00127 extern long *UsePatch;
00128
00129 extern double *RecentGVel1,*RecentGVel2;
00130 extern double *ALE_GridVelocityVector,*GVel1,*GVel2;
00131 extern double *NormalX,*NormalY;
00132
00133 extern long **ELEMENT;
00134 extern short *ELEMENT_MARK;
00135 extern long **ELEMENT_BOUNDARY_SIDES;
00136
00137
00138 extern long **SIDE;
00139 extern double *SIDE_S;
00140 extern short *SIDE_MARK;
00141 extern long *BELE[];
00142
00143 extern long *BSIDE_INDEX;
00144
00145 extern double max_side,min_side;
00146
00147 extern int BndrTypes;
00148 extern int BndrId[];
00149 extern long BndrEdges[];
00150
00151 extern double FirstLayerDistance;
00152
00153 extern long FE_Dimension;
00154 extern long Pressure_FE_Dimension;
00155
00156 extern long **ElementBsIdx;
00157 extern short **ElementBsDescr;
00158 extern long **Pressure_ElementBsIdx;
00159 extern short **Pressure_ElementBsDescr;
00160
00161 extern long **SideBsIdx,*NodeBsIdx;
00162 extern short **SideBsDescr,*NodeBsDescr;
00163 extern long **Pressure_SideBsIdx,*Pressure_NodeBsIdx;
00164 extern short **Pressure_SideBsDescr,*Pressure_NodeBsDescr;
00165
00166 extern long **BndrSideBsIdx;
00167 extern short **BndrSideBsDescr;
00168 extern long **Pressure_BndrSideBsIdx;
00169 extern short **Pressure_BndrSideBsDescr;
00170
00171 extern int NONLINEAR_STRUCTURE_MODEL;
00172 extern int COUPLED_MODEL;
00173 extern int FLUID_MODEL;
00174 extern int STRUCTURE_MODEL;
00175
00176 extern double releasetime ;
00177 extern double releasetimesec ;
00178 extern double cofgheight ;
00179 extern double angle ;
00180 extern double tail_angle ;
00181 extern double velocity_tailangle ;
00182 extern double yvelocity ;
00183 extern double angularvelocity ;
00184
00185 extern double restartangle;
00186 extern double restarty;
00187 extern double restartflap;
00188 extern long STATIONARY_ITER;
00189
00190 extern double airfoil_m;
00191 extern double airfoil_Khh;
00192 extern double airfoil_Kha;
00193 extern double airfoil_Kah;
00194 extern double airfoil_Kaa;
00195 extern double airfoil_Kbb;
00196 extern double airfoil_Ia;
00197 extern double airfoil_Sa;
00198 extern double airfoil_Ib;
00199 extern double airfoil_Sb;
00200 extern double airfoil_Sab;
00201 extern double damping_hh,damping_ha;
00202 extern double damping_ah,damping_aa;
00203 extern double damping_bb;
00204
00205 extern double frequency1,amplitude1,amplitude0;
00206 extern double frequency2,amplitude2;
00207 extern double frequency3,amplitude3;
00208
00209 extern double force_lift,force_moment;
00210 extern double xmcenter,ymcenter;
00211
00212 extern double xhc,yhc;
00213 extern double xTAIL1orig ,xTAIL2orig, yTAILorig;
00214 extern double xTAIL1 ,xTAIL2 , yTAIL ;
00215
00216 extern double DragForce[],LiftForce[],TorsionalMoment[],FlapTorsionalMoment[];
00217
00218 extern int q1,q2;
00219 extern int n1,n2;
00220 extern double *X,*w;
00221 extern double **L,*w2;
00222
00223 extern int Q1,Q2;
00224 extern int N1,N2;
00225 extern double *X1,*W;
00226 extern double **L1,*W2;
00227
00228 extern int element_type;
00229 extern int deg_max,RefDimSide,RefDimBubble,RefTriDim;
00230 extern int deg_side,deg_bubble;
00231 extern int RefPressureDimSide,RefPressureDimBubble,RefPressureTriDim;
00232 extern int deg_press_side,deg_press_bubble;
00233 extern short *degx,*degy;
00234 extern short *degx_press,*degy_press;
00235 extern double **basefn_values;
00236 extern double **sidebasefn_values;
00237 extern double **grad_basefn_values[3];
00238 extern double **hes_basefn_values[3][3];
00239 extern int *base_pressure_idx;
00240
00241 extern const long NEXPORT;
00242 extern const double L_EXPORT[][3];
00243 extern const int NRefTri;
00244 extern const int ref_tri[][3];
00245 extern double **export_basefn_values;
00246
00247 extern double kinematic_viscosity;
00248 extern double Reynolds;
00249 extern double viscosity;
00250 extern double visc_laminar;
00251 extern double tau;
00252 extern double current_time;
00253 extern double ref_L;
00254 extern double ref_U;
00255 extern double ref_W;
00256 extern double density;
00257 extern double fluid_density;
00258 extern double gas_density;
00259 extern double fluid_viscosity;
00260 extern double gas_viscosity;
00261 extern double freesurf_x0,freesurf_y0;
00262 extern double freesurf_x1,freesurf_y1;
00263
00264 extern double time_physical;
00265 extern double inlet_velocity;
00266 extern double reference_PRESSURE_OUT;
00267 extern double reference_PRESSURE0;
00268 extern double reference_PRESSURE1;
00269 extern double reference_PRESSURE2;
00270 extern double reference_PRESSURE3;
00271 extern double reference_PRESSURE4;
00272 extern double prefOUT;
00273 extern double prefIN0;
00274 extern double prefIN1;
00275 extern double prefIN2;
00276 extern double prefIN3;
00277 extern double prefIN4;
00278
00279 extern long MaxOfIter;
00280 extern long MaxOfIterTime;
00281 extern double TIME_PERIOD;
00282 extern long MaxOfIter_inner;
00283 extern long TurbulenceINNER;
00284 extern long GMRESrestart;
00285 extern long MaxOfNonlinear;
00286 extern long MaxOfFSIter;
00287 extern double epsilon_abs ;
00288 extern double epsilon ;
00289 extern double epsilon_inner ;
00290 extern double epsilontime ;
00291 extern double epsilon_nonlinear ;
00292 extern double epsilon_nonlinear_rel ;
00293 extern double epsilon_newton ;
00294 extern double epsilon_ode ;
00295 extern long itime;
00296 extern int saveeverytime;
00297 extern int saveevery;
00298 extern int saveevery_inner;
00299 extern int saveevery_pressure;
00300 extern double theta_relaxation;
00301 extern int LOAD_PROGRAM_STATE;
00302 extern double conservativity,kinetic_energy,dissipation;
00303 extern int EMPLOYED_STABILIZATION;
00304 extern double delta;
00305 extern double sigma;
00306 extern double rho;
00307 extern double adc;
00308 extern int STABILIZATION_CHOICE_DELTA;
00309 extern int STABILIZATION_CHOICE_H;
00310 extern int STABILIZATION_CHOICE_NORM;
00311 extern double global_bnorm;
00312 extern double NONNEWTONIAN_POWER;
00313 extern double NONNEWTONIAN_VISCOSITY;
00314 extern double YIELDSTRESS;
00315 extern long *triplet_I,*triplet_J;
00316 extern double *triplet_VAL;
00317 extern long triplet_nz,triplet_allocated;
00318 extern vector LocalLinValues1;
00319 extern vector LocalLinValues2;
00320 extern vector LocalLinValues3;
00321 extern vector NDensityFunction;
00322 extern vector NViscosityFunction;
00323 extern vector NLevelSetFunction2;
00324 extern vector NLevelSetFunction1;
00325 extern vector NLevelSetFunction0;
00326 extern vector NLevelSetFunctionTMP;
00327 extern vector LinValues1;
00328 extern vector LinValues2;
00329 extern vector LinValues3;
00330 extern vector FiniteVolumeValues1;
00331 extern vector FiniteVolumeValues2;
00332 extern vector FiniteVolumeValues3;
00333 extern vector FiniteVolumeValues4;
00334 extern vector FiniteVolumeValues5;
00335 extern vector FiniteVolumeValues6;
00336 extern vector FiniteVolumeValues7;
00337 extern vector FiniteVolumeValues8;
00338 extern sparse ALEGridMotion_Stiffness,ALEGridMotion_Preconditioner;
00339 extern vector ALETension,ALEDeflection;
00340 extern int ALE_CONSERVATIVE;
00341 extern int ALE_USE_DIVGRID;
00342 extern vector bc_u,bc_v,bc_p,bc;
00343 extern vector uvec2,uvec1,uvec0,uvectemp;
00344 extern vector ref;
00345 extern vector visc_RANS;
00346 extern vector WALLdistance;
00347 extern vector visc_SA2,visc_SA1,visc_SA0,visc_SATMP;
00348 extern vector SST_k2,SST_k1,SST_k0;
00349 extern vector SST_omg2,SST_omg1,SST_omg0;
00350 extern vector KEPS_k2,KEPS_k1,KEPS_k0;
00351 extern vector KEPS_eps2,KEPS_eps1,KEPS_eps0;
00352 extern vector velU_Dx,velU_Dy,velV_Dx,velV_Dy;
00353 extern vector valueA_Dx,valueA_Dy,valueB_Dx,valueB_Dy;
00354 extern double AERODYNAMIC[];
00355 extern double SOLVER_NONLINEAR[];
00356 extern long SOLVER_NONLINEAR_ITER,SOLVER_NONLINEAR_TIME;
00357 extern void *SolverSymbolic;
00358 extern void *SolverNumeric;
00359 extern void *SolverControl;
00360 extern void *SolverInfo;
00361 extern sparse SolverS;
00362 extern sparse LinSolS;
00363 extern vector rhs;
00364 extern int ADC_iter;
00365 extern matrix M,Minv;
00366 extern motion U2,U1,U0,WW,TF;
00367 extern basefunction Bj,Bk;
00368 extern basefunction NUT,TRB2,TRB1,K2,OMG2,K1,OMG1,EPS2,EPS1;
00369 extern vector DIST,locUX,locUY,locVX,locVY,locKX,locKY;
00370 extern long CPUP_IDXA[] ,CPUP_IDXB[];
00371 extern double CPUP_CoefA[] ,CPUP_CoefB[];
00372 extern long CPDOWN_IDXA[] ,CPDOWN_IDXB[];
00373 extern double CPDOWN_CoefA[],CPDOWN_CoefB[];
00374 extern double TWOPHASEMass,TWOPHASEKineticEnergy,TWOPHASEPotentialEnergy,SurfaceAverageHeight,SurfaceMaxHeight,SurfaceMinHeight,SurfaceLeft,SurfaceRight;
00375
00376 extern int COUPLED_MODEL;
00377 extern int FLUID_MODEL;
00378 extern int STRUCTURE_MODEL;
00379 extern double releasetime ;
00380 extern double cofgheight ;
00381 extern double angle ;
00382 extern double tail_angle ;
00383 extern double velocity_tailangle ;
00384 extern double yvelocity ;
00385 extern double angularvelocity ;
00386 extern double restartangle;
00387 extern double restarty;
00388 extern double airfoil_m;
00389 extern double airfoil_Khh;
00390 extern double airfoil_Kha;
00391 extern double airfoil_Kah;
00392 extern double airfoil_Kaa;
00393 extern double airfoil_Ia;
00394 extern double airfoil_Sa;
00395 extern double damping_hh,damping_ha;
00396 extern double damping_ah,damping_aa;
00397 extern double frequency1,amplitude1,amplitude0;
00398 extern double frequency2,amplitude2;
00399 extern double frequency3,amplitude3;
00400 extern double xlast[HISTORY_LIFT][10];
00401 extern double xRECENT[];
00402 extern double force_lift,force_moment;
00403 extern double xmcenter,ymcenter;
00404 extern double xhc,yhc;
00405 extern double xTAIL1,xTAIL2, yTAIL;
00406 extern double DragForce[],LiftForce[],TorsionalMoment[];
00407
00408
00409 #endif