67 dst->ChannelModel = src->ChannelModel ;
68 dst->Height = src->Height ;
69 dst->Length = src->Length ;
70 dst->Pitch = src->Pitch ;
71 dst->Porosity = src->Porosity ;
72 dst->NChannels = src->NChannels ;
73 dst->NLayers = src->NLayers ;
74 dst->SourceLayerOffset = src->SourceLayerOffset ;
144 fprintf (stream,
"%smicrochannel 4rm :\n", prefix) ;
145 fprintf (stream,
"%s height %7.1f ;\n", prefix, channel->
Height) ;
146 fprintf (stream,
"%s channel length %7.1f ;\n", prefix, dimensions->
Cell.
ChannelLength) ;
147 fprintf (stream,
"%s wall length %7.1f ;\n", prefix, dimensions->
Cell.
WallLength) ;
148 fprintf (stream,
"%s\n", prefix) ;
149 fprintf (stream,
"%s first wall length %7.1f ;\n", prefix, dimensions->
Cell.
FirstWallLength) ;
150 fprintf (stream,
"%s last wall length %7.1f ;\n", prefix, dimensions->
Cell.
LastWallLength) ;
151 fprintf (stream,
"%s\n", prefix) ;
152 fprintf (stream,
"%s wall material %s ;\n", prefix, channel->
WallMaterial.
Id) ;
153 fprintf (stream,
"%s\n", prefix) ;
155 fprintf (stream,
"%s\n", prefix) ;
156 fprintf (stream,
"%s coolant heat transfer coefficient side %.4e ,\n", prefix, channel->
Coolant.
HTCSide) ;
157 fprintf (stream,
"%s top %.4e ,\n", prefix, channel->
Coolant.
HTCTop) ;
158 fprintf (stream,
"%s bottom %.4e ;\n", prefix, channel->
Coolant.
HTCBottom) ;
159 fprintf (stream,
"%s\n", prefix) ;
160 fprintf (stream,
"%s coolant volumetric heat capacity %.4e ;\n", prefix, channel->
Coolant.
VHC) ;
161 fprintf (stream,
"%s\n", prefix) ;
162 fprintf (stream,
"%s coolant incoming temperature %.2f ;\n", prefix, channel->
Coolant.
TIn ) ;
167 fprintf (stream,
"%smicrochannel 2rm :\n", prefix) ;
168 fprintf (stream,
"%s height %7.1f ;\n", prefix, channel->
Height) ;
169 fprintf (stream,
"%s channel length %7.1f ;\n", prefix, channel->
Length) ;
170 fprintf (stream,
"%s wall length %7.1f ;\n", prefix, channel->
Pitch - channel->
Length) ;
171 fprintf (stream,
"%s\n", prefix) ;
172 fprintf (stream,
"%s wall material %s ;\n", prefix, channel->
WallMaterial.
Id) ;
173 fprintf (stream,
"%s\n", prefix) ;
175 fprintf (stream,
"%s\n", prefix) ;
176 fprintf (stream,
"%s coolant heat transfer coefficient top %.4e ,\n", prefix, channel->
Coolant.
HTCTop) ;
177 fprintf (stream,
"%s bottom %.4e ;\n", prefix, channel->
Coolant.
HTCBottom) ;
178 fprintf (stream,
"%s\n", prefix) ;
179 fprintf (stream,
"%s coolant volumetric heat capacity %.4e ;\n", prefix, channel->
Coolant.
VHC) ;
180 fprintf (stream,
"%s\n", prefix) ;
181 fprintf (stream,
"%s coolant incoming temperature %.2f ;\n", prefix, channel->
Coolant.
TIn ) ;
186 fprintf (stream,
"%spinfin :\n", prefix) ;
187 fprintf (stream,
"%s height %7.1f ;\n", prefix, channel->
Height) ;
189 fprintf (stream,
"%s pin pitch %7.1f ;\n", prefix, channel->
Pitch) ;
190 fprintf (stream,
"%s\n", prefix) ;
191 fprintf (stream,
"%s pin distribution inline ;\n", prefix) ;
192 fprintf (stream,
"%s\n", prefix) ;
193 fprintf (stream,
"%s pin material %s ;\n", prefix, channel->
WallMaterial.
Id) ;
194 fprintf (stream,
"%s\n", prefix) ;
196 fprintf (stream,
"%s\n", prefix) ;
197 fprintf (stream,
"%s coolant volumetric heat capacity %.4e ;\n", prefix, channel->
Coolant.
VHC) ;
198 fprintf (stream,
"%s\n", prefix) ;
199 fprintf (stream,
"%s coolant incoming temperature %.2f ;\n", prefix, channel->
Coolant.
TIn ) ;
204 fprintf (stream,
"%spinfin :\n", prefix) ;
205 fprintf (stream,
"%s height %7.1f ;\n", prefix, channel->
Height) ;
207 fprintf (stream,
"%s pin pitch %7.1f ;\n", prefix, channel->
Pitch) ;
208 fprintf (stream,
"%s\n", prefix) ;
209 fprintf (stream,
"%s pin distribution staggered ;\n", prefix) ;
210 fprintf (stream,
"%s\n", prefix) ;
211 fprintf (stream,
"%s pin material %s ;\n", prefix, channel->
WallMaterial.
Id) ;
212 fprintf (stream,
"%s\n", prefix) ;
214 fprintf (stream,
"%s\n", prefix) ;
215 fprintf (stream,
"%s coolant volumetric heat capacity %.4e ;\n", prefix, channel->
Coolant.
VHC) ;
216 fprintf (stream,
"%s\n", prefix) ;
217 fprintf (stream,
"%s coolant incoming temperature %.2f ;\n", prefix, channel->
Coolant.
TIn ) ;
269 fprintf (stderr,
"WARNING: unsert channel model\n") ;
275 fprintf (stderr,
"ERROR: unknown channel model %d\n",
329 fprintf (stderr,
"WARNING: unsert channel model\n") ;
335 fprintf (stderr,
"ERROR: unknown channel model %d\n",
363 max =
MAX (max, *temperatures) ;
392 min =
MIN (min, *temperatures) ;
421 avg += *temperatures ;
451 min =
MIN (min, *temperatures) ;
452 max =
MAX (max, *temperatures) ;
Temperature_t get_max_temperature_channel_outlet(Channel_t *channel, Dimensions_t *dimensions, Temperature_t *temperatures)
void channel_print(Channel_t *channel, FILE *stream, String_t prefix, Dimensions_t *dimensions)
void channel_init(Channel_t *channel)
Channel_t * channel_calloc(void)
void channel_copy(Channel_t *dst, Channel_t *src)
Temperature_t get_gradient_temperature_channel_outlet(Channel_t *channel, Dimensions_t *dimensions, Temperature_t *temperatures)
void channel_free(Channel_t *channel)
Channel_t * channel_clone(Channel_t *channel)
void channel_destroy(Channel_t *channel)
Temperature_t get_min_temperature_channel_outlet(Channel_t *channel, Dimensions_t *dimensions, Temperature_t *temperatures)
Cconv_t get_convective_term(Channel_t *channel, Dimensions_t *dimensions, CellIndex_t layer_index, CellIndex_t row_index, CellIndex_t column_index)
Cconv_t get_convective_term_nonuniform(Channel_t *channel, Dimensions_t *dimensions, CellIndex_t layer_index, ChipDimension_t cell_length)
Temperature_t get_avg_temperature_channel_outlet(Channel_t *channel, Dimensions_t *dimensions, Temperature_t *temperatures)
void coolant_init(Coolant_t *coolant)
void coolant_copy(Coolant_t *dst, Coolant_t *src)
void coolant_destroy(Coolant_t *coolant)
CellDimension_t get_cell_height(Dimensions_t *dimensions, CellIndex_t layer_index)
CellDimension_t get_cell_length(Dimensions_t *dimensions, CellIndex_t column_index)
CellIndex_t last_column(Dimensions_t *dimensions)
CellIndex_t get_cell_offset_in_layer(Dimensions_t *dimensions, CellIndex_t row_index, CellIndex_t column_index)
CellIndex_t first_column(Dimensions_t *dimensions)
CellIndex_t last_row(Dimensions_t *dimensions)
#define CCONV_MC_2RM(nchannels, vhc, fr, porosity, cell_l, channel_l)
#define DIAMETER(porosity, pitch)
#define CCONV_PF(vhc, darcy_velocity, cell_l, cavity_h)
#define CCONV_MC_4RM(nchannels, vhc, fr)
#define FLOW_RATE_FROM_UM3SEC_TO_MLMIN(fr)
#define IS_CHANNEL_COLUMN(channel_model, column)
void material_copy(Material_t *dst, Material_t *src)
void material_destroy(Material_t *material)
void material_init(Material_t *material)
CellDimension_t LastWallLength
CellDimension_t ChannelLength
CellDimension_t FirstWallLength
CellDimension_t WallLength
Structure used to store data about the channel that compose the 2D/3D stack.
ChannelDimension_t Length
ChannelModel_t ChannelModel
CellIndex_t SourceLayerOffset
ChannelDimension_t Porosity
DarcyVelocity_t DarcyVelocity
Collections of all the structures that are needed for the thermal simulation.
@ TDICE_CHANNEL_MODEL_PF_INLINE
Inline pin fins - 2 Resistors model.
@ TDICE_CHANNEL_MODEL_PF_STAGGERED
Staggered pin fins - 2 Resistors model.
@ TDICE_CHANNEL_MODEL_NONE
Undefined type.
@ TDICE_CHANNEL_MODEL_MC_4RM
Microchannel - 4 Resistors model.
@ TDICE_CHANNEL_MODEL_MC_2RM
Microchannel - 2 Resistors model.
double ChannelDimension_t