3D-ICE 3.0.0
Data Structures | Typedefs | Functions
thermal_grid.h File Reference
#include "types.h"
#include "channel.h"
#include "heat_sink.h"
#include "layer.h"
#include "dimensions.h"
#include "stack_element_list.h"

Go to the source code of this file.

Data Structures

struct  ThermalGrid_t
 Structure used to store data about the thermal cells / RC nodes. More...
 

Typedefs

typedef struct ThermalGrid_t ThermalGrid_t
 

Functions

void thermal_grid_init (ThermalGrid_t *tgrid)
 
Error_t thermal_grid_build (ThermalGrid_t *tgrid, Dimensions_t *dimensions)
 
void thermal_grid_destroy (ThermalGrid_t *tgrid)
 
Error_t thermal_grid_fill (ThermalGrid_t *tgrid, StackElementList_t *list)
 
Capacity_t get_capacity_non_uniform (ThermalGrid_t *tgrid, Dimensions_t *dimensions, Non_uniform_cellListNode_t *i_cell)
 
Capacity_t get_capacity (ThermalGrid_t *tgrid, Dimensions_t *dimensions, CellIndex_t layer_index, CellIndex_t row_index, CellIndex_t column_index)
 
Conductance_t get_conductance_non_uniform_z (ThermalGrid_t *tgrid, Dimensions_t *dimensions, ConnectionListNode_t *i_cell, Non_uniform_cellListNode_t *node, int16_t direction_note)
 
Conductance_t get_conductance_non_uniform_y (ThermalGrid_t *tgrid, Dimensions_t *dimensions, ChipDimension_t value, Non_uniform_cellListNode_t *node, Conductance_t direction_note)
 
Conductance_t get_conductance_non_uniform_x (ThermalGrid_t *tgrid, Dimensions_t *dimensions, ConnectionListNode_t *i_cell, Non_uniform_cellListNode_t *node)
 
Conductance_t get_conductance_non_uniform (ThermalGrid_t *tgrid, Dimensions_t *dimensions, ConnectionListNode_t *i_cell, CellIndex_t node1_index, CellIndex_t node2_index, Conductance_t *sign_note)
 
Conductance_t get_conductance_top (ThermalGrid_t *tgrid, Dimensions_t *dimensions, CellIndex_t layer_index, CellIndex_t row_index, CellIndex_t column_index)
 
Conductance_t get_conductance_bottom (ThermalGrid_t *tgrid, Dimensions_t *dimensions, CellIndex_t layer_index, CellIndex_t row_index, CellIndex_t column_index)
 
Conductance_t get_conductance_north (ThermalGrid_t *tgrid, Dimensions_t *dimensions, CellIndex_t layer_index, CellIndex_t row_index, CellIndex_t column_index)
 
Conductance_t get_conductance_south (ThermalGrid_t *tgrid, Dimensions_t *dimensions, CellIndex_t layer_index, CellIndex_t row_index, CellIndex_t column_index)
 
Conductance_t get_conductance_east (ThermalGrid_t *tgrid, Dimensions_t *dimensions, CellIndex_t layer_index, CellIndex_t row_index, CellIndex_t column_index)
 
Conductance_t get_conductance_west (ThermalGrid_t *tgrid, Dimensions_t *dimensions, CellIndex_t layer_index, CellIndex_t row_index, CellIndex_t column_index)
 

Typedef Documentation

◆ ThermalGrid_t

typedef struct ThermalGrid_t ThermalGrid_t

Definition of the type ThermalGrid_t

Definition at line 97 of file thermal_grid.h.

Function Documentation

◆ get_capacity()

Capacity_t get_capacity ( ThermalGrid_t tgrid,
Dimensions_t dimensions,
CellIndex_t  layer_index,
CellIndex_t  row_index,
CellIndex_t  column_index 
)

Return the capacity of a thermal cell at a given position

The function prints a message on stderr in case of error

Parameters
tgridpointer to the thermal grid structure
dimensionspointer to the structure storing the dimensions
layer_indexthe index of the layer
row_indexthe index of the row
column_indexthe index of the column
Returns
the capacity of the thermal cell in position (layer_index , row_index , column_index ).

Definition at line 424 of file thermal_grid.c.

◆ get_capacity_non_uniform()

Capacity_t get_capacity_non_uniform ( ThermalGrid_t tgrid,
Dimensions_t dimensions,
Non_uniform_cellListNode_t *  i_cell 
)

Return the capacity of a thermal cell at a given position

The function prints a message on stderr in case of error

Parameters
tgridpointer to the thermal grid structure
dimensionspointer to the structure storing the dimensions
i_cellpointer to the cell
Returns
the capacity of the thermal cell in Non-uniform grid scenario.

Definition at line 325 of file thermal_grid.c.

◆ get_conductance_bottom()

Conductance_t get_conductance_bottom ( ThermalGrid_t tgrid,
Dimensions_t dimensions,
CellIndex_t  layer_index,
CellIndex_t  row_index,
CellIndex_t  column_index 
)

Return the bottom conductance of a thermal cell at a given position

The function prints a message on stderr in case of error

Parameters
tgridpointer to the thermal grid structure
dimensionspointer to the structure storing the dimensions
layer_indexthe index of the layer
row_indexthe index of the row
column_indexthe index of the column
Returns
the bottom conductance of the thermal cell in position (layer_index , row_index , column_index ).

Definition at line 1080 of file thermal_grid.c.

◆ get_conductance_east()

Conductance_t get_conductance_east ( ThermalGrid_t tgrid,
Dimensions_t dimensions,
CellIndex_t  layer_index,
CellIndex_t  row_index,
CellIndex_t  column_index 
)

Return the east conductance of a thermal cell at a given position

The function prints a message on stderr in case of error

Parameters
tgridpointer to the thermal grid structure
dimensionspointer to the structure storing the dimensions
layer_indexthe index of the layer
row_indexthe index of the row
column_indexthe index of the column
Returns
the east conductance of the thermal cell in position (layer_index , row_index , column_index ).

Definition at line 1424 of file thermal_grid.c.

◆ get_conductance_non_uniform()

Conductance_t get_conductance_non_uniform ( ThermalGrid_t tgrid,
Dimensions_t dimensions,
ConnectionListNode_t *  i_cell,
CellIndex_t  node1_index,
CellIndex_t  node2_index,
Conductance_t sign_note 
)

Return the conductance of the non-unifrom thermal nodes

The function prints a message on stderr in case of error

Parameters
tgridpointer to the thermal grid structure
dimensionspointer to the structure storing the dimensions
i_cellpointer to the connection cell
node1_indexthe index of the node 1
node2_indexthe index of the node 2
Returns
the conductance of the non-unifrom thermal nodes (node1_index , node2_index ).

Definition at line 819 of file thermal_grid.c.

◆ get_conductance_non_uniform_x()

Conductance_t get_conductance_non_uniform_x ( ThermalGrid_t tgrid,
Dimensions_t dimensions,
ConnectionListNode_t *  i_cell,
Non_uniform_cellListNode_t *  node 
)

Return the conductance of the non-unifrom thermal node in the x direction (West, South)

The function prints a message on stderr in case of error

Parameters
tgridpointer to the thermal grid structure
dimensionspointer to the structure storing the dimensions
i_cellpointer to the connection cell
nodethe node
Returns
the conductance of the non-unifrom thermal node in the x direction (node ).

Definition at line 735 of file thermal_grid.c.

◆ get_conductance_non_uniform_y()

Conductance_t get_conductance_non_uniform_y ( ThermalGrid_t tgrid,
Dimensions_t dimensions,
ChipDimension_t  value,
Non_uniform_cellListNode_t *  node,
Conductance_t  direction_note 
)

Return the conductance of the non-unifrom thermal node in the y direction (North, South)

The function prints a message on stderr in case of error

Parameters
tgridpointer to the thermal grid structure
dimensionspointer to the structure storing the dimensions
valueinterconnect value
nodethe node
direction_notecoolant direction node
Returns
the conductance of the non-unifrom thermal node in the y direction (node ).

Definition at line 640 of file thermal_grid.c.

◆ get_conductance_non_uniform_z()

Conductance_t get_conductance_non_uniform_z ( ThermalGrid_t tgrid,
Dimensions_t dimensions,
ConnectionListNode_t *  i_cell,
Non_uniform_cellListNode_t *  node,
int16_t  direction_note 
)

Return the conductance of the non-unifrom thermal node in the z direction

The function prints a message on stderr in case of error

Parameters
tgridpointer to the thermal grid structure
dimensionspointer to the structure storing the dimensions
i_cellpointer to the connection cell
nodethe node
direction_notedirection note used to choose whether use HTCTop or HTCBottom
Returns
the conductance of the non-unifrom thermal node in the z direction (node ).

Definition at line 524 of file thermal_grid.c.

◆ get_conductance_north()

Conductance_t get_conductance_north ( ThermalGrid_t tgrid,
Dimensions_t dimensions,
CellIndex_t  layer_index,
CellIndex_t  row_index,
CellIndex_t  column_index 
)

Return the north conductance of a thermal cell at a given position

The function prints a message on stderr in case of error

Parameters
tgridpointer to the thermal grid structure
dimensionspointer to the structure storing the dimensions
layer_indexthe index of the layer
row_indexthe index of the row
column_indexthe index of the column
Returns
the north conductance of the thermal cell in position (layer_index , row_index , column_index ).

Definition at line 1232 of file thermal_grid.c.

◆ get_conductance_south()

Conductance_t get_conductance_south ( ThermalGrid_t tgrid,
Dimensions_t dimensions,
CellIndex_t  layer_index,
CellIndex_t  row_index,
CellIndex_t  column_index 
)

Return the south conductance of a thermal cell at a given position

The function prints a message on stderr in case of error

Parameters
tgridpointer to the thermal grid structure
dimensionspointer to the structure storing the dimensions
layer_indexthe index of the layer
row_indexthe index of the row
column_indexthe index of the column
Returns
the south conductance of the thermal cell in position (layer_index , row_index , column_index ).

Definition at line 1328 of file thermal_grid.c.

◆ get_conductance_top()

Conductance_t get_conductance_top ( ThermalGrid_t tgrid,
Dimensions_t dimensions,
CellIndex_t  layer_index,
CellIndex_t  row_index,
CellIndex_t  column_index 
)

Return the top conductance of a thermal cell at a given position

The function prints a message on stderr in case of error

Parameters
tgridpointer to the thermal grid structure
dimensionspointer to the structure storing the dimensions
layer_indexthe index of the layer
row_indexthe index of the row
column_indexthe index of the column
Returns
the top conductance of the thermal cell in position (layer_index , row_index , column_index ).

Definition at line 903 of file thermal_grid.c.

◆ get_conductance_west()

Conductance_t get_conductance_west ( ThermalGrid_t tgrid,
Dimensions_t dimensions,
CellIndex_t  layer_index,
CellIndex_t  row_index,
CellIndex_t  column_index 
)

Return the west conductance of a thermal cell at a given position

The function prints a message on stderr in case of error

Parameters
tgridpointer to the thermal grid structure
dimensionspointer to the structure storing the dimensions
layer_indexthe index of the layer
row_indexthe index of the row
column_indexthe index of the column
Returns
the west conductance of the thermal cell in position (layer_index , row_index , column_index ).

Definition at line 1505 of file thermal_grid.c.

◆ thermal_grid_build()

Error_t thermal_grid_build ( ThermalGrid_t tgrid,
Dimensions_t dimensions 
)

Alloc memory to store thermal grid informations

Parameters
tgridpointer to the thermal grid structure
dimensionspointer to the structure storing the dimensions
Returns
TDICE_ERROR if the memory allocation fails
TDICE_SUCCESS otherwise

Definition at line 59 of file thermal_grid.c.

◆ thermal_grid_destroy()

void thermal_grid_destroy ( ThermalGrid_t tgrid)

Destroys the content of the fields of the structure tgrid

The function releases any dynamic memory used by the structure and resets its state calling thermal_grid_init .

Parameters
tgridthe address of the structure to destroy

Definition at line 96 of file thermal_grid.c.

◆ thermal_grid_fill()

Error_t thermal_grid_fill ( ThermalGrid_t tgrid,
StackElementList_t *  list 
)

Fills a thermal grid

Parameters
tgridpointer to the thermal grid
listpointer to the list of stack elements
Returns
TDICE_SUCCESS otherwise

Definition at line 117 of file thermal_grid.c.

◆ thermal_grid_init()

void thermal_grid_init ( ThermalGrid_t tgrid)

Inits the fields of the tgrid structure with default values

Parameters
tgridthe address of the structure to initalize

Definition at line 47 of file thermal_grid.c.