00001 #ifndef TRANSTOP_H
00002 #define TRANSTOP_H
00003
00004 #include <stdio.h>
00005 #include "aliast.h"
00006 #include "nodet.h"
00007 #include "elementt.h"
00008 #include "endnodet.h"
00009 #include "edget.h"
00010 #include "genfile.h"
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 class transtop
00023 {
00024 public:
00025 transtop (void);
00026 ~transtop (void);
00027 void read (XFILE *in);
00028 void print (FILE *out);
00029
00030 elemtypet give_elem_type (long eid);
00031 long give_dof (long nid,long n);
00032 void give_elemnodes (long eid,ivector &nodes);
00033 void give_code_numbers (long eid,long *cn);
00034 void give_medium_code_numbers (long eid,long ri,long *cn);
00035 void give_node_code_numbers (long nid,long *cn);
00036 void give_node_coord1d (vector &x,long eid);
00037 void give_node_coord2d (vector &x,vector &y,long eid);
00038 void give_node_coord3d (vector &x,vector &y,vector &z,long eid);
00039 long give_ndofe (long eid);
00040 long give_ndofn (long nid);
00041 long give_ncomp (long eid);
00042 long give_ned (long eid);
00043 long give_nned (long eid);
00044 long give_nsurf (long eid);
00045 long give_nnsurf (long eid);
00046 long give_nne (long eid);
00047 long give_nip(long eid,long ri,long ci);
00048 long give_intordkm(long eid, long ri, long ci);
00049 long give_intordcm(long eid, long ri, long ci);
00050 long give_tnip (long eid);
00051 long give_degree (long eid);
00052 long give_dimension (long eid);
00053 void give_end_nodes (long eid,long enid,long *nodes);
00054 void give_edge_nodes (long eid,long edid,long *nodes);
00055 void give_surface_nodes (long eid,long surfid,long *nodes);
00056 void give_nbobjects (long eid,long &bco,long &ncompbco);
00057 void give_bonodes (long eid,long boid,long *nod);
00058
00059 void alloc_prep(long nn, long ne);
00060
00061
00062 void alloc_nodes (void);
00063 void alloc_enodes ();
00064 void alloc_edges ();
00065 void enodes_init ();
00066 void edge_init ();
00067 void edge_init_edval ();
00068 void compute_jumps (double *rhs);
00069 void compute_resistance_factor (double *rhs);
00070
00071 void initial_nodval ();
00072
00073 void lhs_save (double *lhs,double *lhsi,double *tdlhs);
00074 void lhs_restore (double *lhs,double *lhsi,double *tdlhs);
00075 long mesh_check(void);
00076
00077 void view_factors (FILE *out);
00078 void mod_view_factors (FILE *out);
00079 void edge_temperature ();
00080 void heat_fluxes (double *rhs,FILE *out);
00081 void t4t4 (long edserid,double *y);
00082
00083
00084
00085
00086
00087
00088 long tnbn;
00089
00090
00091 long nn;
00092
00093 long ncn;
00094
00095 long ne;
00096
00097
00098 long mnn;
00099
00100
00101 nodet *nodes;
00102
00103 elementt *elements;
00104
00105 endnodet *enodes;
00106
00107 edget *edges;
00108
00109
00110 long nedis;
00111
00112
00113
00114 long *lnnd;
00115
00116
00117 long **lnd;
00118
00119
00120
00121 long *ncycl;
00122 long *aux;
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132 double ***view_factor;
00133
00134 densemat *mvf;
00135 densemat *mvfjk;
00136 };
00137
00138 #endif