00001
00026 #ifndef RothPipeline_H
00027 #define RothPipeline_H
00028
00029 #include <stdlib.h>
00030
00031 #include "Err.h"
00032
00033
00034
00035
00036
00037
00038
00042 #define ROTH_PIPELINE_NO_WIND_LIMIT (0)
00043
00046 #define ROTH_PIPELINE_AT_WIND_LIMIT (1)
00047
00057 enum EnumFireSpreadPipe_ {
00058 EnumInitPipe = 0,
00059 EnumSetFuelBedPipe = 1,
00060 EnumNoWindNoSlopePipe = 2,
00061 EnumWindSlopeMaxPipe = 3,
00062 EnumGetAtAzimuthPipe = 4
00063 };
00064
00065
00066
00067
00068
00069
00070
00074 typedef enum EnumFireSpreadPipe_ EnumFireSpreadPipe;
00075
00079 typedef struct RothPipeline_ RothPipeline;
00080
00084 struct RothPipeline_ {
00086 EnumFireSpreadPipe pipe;
00088 double drx;
00090 double lrx;
00092 double fdead;
00094 double lmex;
00096 double taur;
00098 double ppflux;
00100 double slp_k;
00102 double wnd_b;
00104 double wnd_e;
00106 double wnd_k;
00108 double d1hfm;
00110 double d10hfm;
00112 double d100hfm;
00114 double lhfm;
00116 double lwfm;
00118 double wnd_fpm;
00120 double wnd_vec;
00122 double slp;
00124 double asp;
00126 double rxint;
00128 double ros_0;
00130 double hpua;
00132 double ros_max;
00134 double ros_az_max;
00136 double wnd_eff;
00138 double lwratio;
00140 double eccen;
00142 double phi_w;
00144 double phi_s;
00146 double phi_ew;
00148 int wnd_lim;
00150 double ros_any;
00152 double ros_az_any;
00153 };
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00173 RothPipeline * InitRothPipelineEmpty();
00174
00188 int RothPipelineSetDefaultValues(RothPipeline * rp);
00189
00197 void FreeRothPipeline(void * vptr);
00198
00199 #endif RothPipeline_H