00001 #ifndef LOADELT_H 00002 #define LOADELT_H 00003 00004 #include <stdio.h> 00005 #include "aliast.h" 00006 #include "genfile.h" 00007 #include "climatcond.h" 00008 00009 class loadelt 00010 { 00011 public: 00012 loadelt (); 00013 loadelt (long id, long numbo); 00014 ~loadelt (); 00015 void read(XFILE *in,long lcid); 00016 void print(FILE *out,long lcid); 00017 00018 long merge(loadelt &ebc); 00019 void renumber_id(long nnv, long ntrc); 00020 void give_bc (bocontypet *av); 00021 void give_nodval (long lcid,vector &fe); 00022 void give_external_nodval (long lcid,long cid,vector &fe); 00023 void give_trc (long lcid,long cid,vector &trc); 00024 void give_trr (long lcid,vector &trr); 00025 00026 /// loaded element id (number of loaded element) 00027 long eid; 00028 /// number of boundary objects (end nodes, edges, surfaces) 00029 long nbo; 00030 /// number of nodes on boundary object 00031 long nnbo; 00032 00033 /// boundary conditions (for nongrowing problems) 00034 /// bc=0 - inner object (end node, edge, surface) 00035 /// bc=1 - object with prescribed values (Dirichlet boundary condition) 00036 /// bc=2 - object with prescribed flux (Neumann boundary condition) 00037 /// bc=3 - object with detailed climatic conditions 00038 /// bc=4 - object with generalized climatic conditions 00039 /// bc>10 - object with transmission boundary condition (Newton b.c.) 00040 bocontypet *bc; 00041 /// boundary conditions (for growing problems) 00042 /// bcf=0 - inner object (end node, edge, surface) 00043 /// bcf=1 - object with prescribed values (Dirichlet boundary condition) 00044 /// bcf=2 - object with prescribed flux (Neumann boundary condition) 00045 /// bcf=3 - object with detailed climatic conditions 00046 /// bcf=4 - object with generalized climatic conditions 00047 /// bcf>10 - object with transmission boundary condition (Newton b.c.) 00048 gfunct *bcf; 00049 00050 /// id of nodal values or climatic conditions (for nongrowing problems) 00051 /// one id for each end node, edge or surface 00052 long *nvid; 00053 /// id of nodal values or climatic conditions (for growing problems) 00054 /// one id for each end node, edge or surface 00055 gfunct *nvidf; 00056 /// id of nodal values describing transmission coefficients (for nongrowing problems) 00057 /// one id for each end node, edge or surface 00058 long *trcid; 00059 /// id of nodal values describing transmission coefficients (for growing problems) 00060 /// one id for each end node, edge or surface 00061 gfunct *trcidf; 00062 /// id of nodal values describing transmission/radiation coefficients (for nongrowing problems) 00063 /// one id for each end node, edge or surface 00064 long *trrid; 00065 /// id of nodal values describing transmission/radiation coefficients (for growing problems) 00066 /// one id for each end node, edge or surface 00067 gfunct *trridf; 00068 00069 }; 00070 00071 #endif