Main Page   Compound List   File List   Compound Members   File Members  

PhysFuelModel.h

Go to the documentation of this file.
00001 
00026 #ifndef PhysFuelModel_H
00027 #define PhysFuelModel_H
00028 
00029 #include <stdlib.h>
00030 #include <stdio.h>
00031 #include <math.h>
00032 
00033 #include "Units.h"
00034 #include "FStreamIO.h"
00035 #include "Err.h"
00036 #include "FuelSizeClasses.h"
00037 
00038 /*
00039  *********************************************************
00040  * DEFINES, ENUMS
00041  *********************************************************
00042  */
00043 
00044 /*fmd file constants */
00045 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00046 
00047 #define PHYS_FM_FMD_SEPARATOR_CHARS         (" =,\t")
00048 #define PHYS_FM_FMD_COMMENT_CHAR            ("#")
00049 #define PHYS_FM_FMD_KEYWORD_METRIC          ("METRIC")
00050 #define PHYS_FM_FMD_KEYWORD_ENGLISH         ("ENGLISH")
00051 
00052 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00053 
00054 
00055 /* sequence of FMD file variables expected to be:                               */
00056 /* 1H  10H  100H  LiveH LiveW  1HSAV LiveHSAV LiveWSAV Depth  XtMoist  DHt  LHt */
00057 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00058 
00059 #define PHYS_FM_FMD_D1H_LOAD                (0)
00060 #define PHYS_FM_FMD_D10H_LOAD               (1)
00061 #define PHYS_FM_FMD_D100H_LOAD              (2)
00062 #define PHYS_FM_FMD_LH_LOAD                 (3)
00063 #define PHYS_FM_FMD_LW_LOAD                 (4)
00064 #define PHYS_FM_FMD_1H_SAV                  (5)
00065 #define PHYS_FM_FMD_LH_SAV                  (6)
00066 #define PHYS_FM_FMD_LW_SAV                  (7)
00067 #define PHYS_FM_FMD_FBED_DEPTH              (8)
00068 #define PHYS_FM_FMD_EXT_MOIST               (9)
00069 #define PHYS_FM_FMD_DHC                     (10)
00070 #define PHYS_FM_FMD_LHC                     (11)
00071 #define PHYS_FM_FMD_NUM_VALUES              (12)
00072 
00073 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00074 
00075 
00081 #define PHYS_FM_STD_FP_DENSITY_ENGLISH      (32.0)
00082 
00088 #define PHYS_FM_D10H_STD_SAV_ENGLISH        (109.0)
00089 
00095 #define PHYS_FM_D100H_STD_SAV_ENGLISH       (30.0)
00096 
00103 enum EnumPhysFuelType_  {
00104     EnumPhysBurnable        = 0,
00105     EnumPhysUnBurnable      = 1
00106     };
00107 
00108 /*
00109  *********************************************************
00110  * STRUCTS, TYPEDEFS
00111  *********************************************************
00112  */
00113 
00117 typedef enum EnumPhysFuelType_ EnumPhysFuelType;
00118 
00122 typedef struct PhysFuelModel_ PhysFuelModel;
00123 
00127 struct PhysFuelModel_   {
00129     EnumPhysFuelType brntype;
00131     EnumUnitType units;                 
00133     float fdepth;
00135     int num_fp;                         
00137     float fdens;
00139     float fsav;
00141     float pkrat;                        
00143     float load  [EnumNumSizeClasses];
00145     float sav   [EnumNumSizeClasses];
00147     float dens  [EnumNumSizeClasses];   
00149     float sarea [EnumNumSizeClasses];
00151     float effhn [EnumNumSizeClasses];
00153     float awtg  [EnumNumSizeClasses];
00155     float larea;
00157     float darea;                        
00159     float fm    [EnumNumSizeClasses];   
00160     };
00161      
00162 /*
00163  *********************************************************
00164  * MACROS
00165  *********************************************************
00166  */
00167  
00168 /*
00169  *********************************************************
00170  * PUBLIC FUNCTIONS
00171  *********************************************************
00172  */
00173 
00180 PhysFuelModel * InitPhysFuelModelEmpty();
00181 
00191 PhysFuelModel * InitPhysFuelModelFMDFile(FILE * fstream, int model_num);
00192 
00198 PhysFuelModel * InitPhysFuelModelUnBurnable();
00199 
00216 int PhysFuelModelMetricToEnglish(PhysFuelModel * pfm);
00217 
00234 int PhysFuelModelEnglishToMetric(PhysFuelModel * pfm);
00235 
00242 void PhysFuelModelDumpToStream(PhysFuelModel * pfm, FILE * fstream);
00243 
00251 void FreePhysFuelModel(void * vptr);
00252   
00253 #endif PhysFuelModel_H      /* end of PhysFuelModel.h */

Generated at Fri Jun 22 00:46:51 2001 for HFire by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000