00001 /* This file is part of Cloudy and is copyright (C)1978-2011 by Gary J. Ferland and 00002 * others. For conditions of distribution and use see copyright notice in license.txt */ 00003 00004 #ifndef WIND_H_ 00005 #define WIND_H_ 00006 00008 struct Wind { 00009 00011 realnum windv0; 00012 00014 realnum comass; 00015 00018 realnum windv; 00019 00021 realnum dvdr; 00022 00024 bool lgStatic(void) const 00025 { 00026 ASSERT( ( windv0 == 0.) == m_lgStatic); 00027 return m_lgStatic; 00028 } 00029 00031 bool lgBallistic(void) const 00032 { 00033 return m_lgBallistic ; 00034 } 00035 00039 realnum emdot; 00040 00042 bool lgWindOK; 00043 00046 realnum AccelAver, acldr; 00047 00049 realnum AccelGravity; 00050 00052 realnum AccelTotalOutward; 00053 00055 realnum AccelCont; 00056 00058 realnum AccelElectron; 00059 00061 realnum AccelLine; 00062 00065 realnum fmul; 00066 00068 realnum AccelMax; 00069 00071 bool lgVelPos; 00072 00073 /* option to do rotating disk, set true with DISK option on wind command */ 00074 bool lgDisk; 00075 00076 /* for rotating disk this is inner radius, else it is zero, 00077 * divide by this to get centrifugal acceleration */ 00078 double DiskRadius; 00079 00080 Wind(void) : windv0(0.), m_lgStatic(true), m_lgBallistic(false) {} 00081 00082 void setDefault(void) 00083 { 00084 m_lgStatic = false; 00085 m_lgBallistic = false; 00086 } 00087 00088 void setStatic(void) 00089 { 00090 m_lgStatic = true; 00091 m_lgBallistic = false; 00092 } 00093 00094 void setBallistic(void) 00095 { 00096 m_lgStatic = false; 00097 m_lgBallistic = true; 00098 } 00099 00100 private: 00101 bool m_lgStatic; 00102 00103 bool m_lgBallistic; 00104 00105 }; 00106 00107 extern Wind wind; 00108 00109 00110 #endif /* WIND_H_ */