3D-ICE 3.0.0
|
#include "types.h"
#include "string_t.h"
#include "dimensions.h"
#include "thermal_grid.h"
#include "analysis.h"
#include "slu_ddefs.h"
Go to the source code of this file.
Data Structures | |
struct | SystemMatrix_t |
Structure representing the squared matrix storing the coefficients of the linear system that is solved tu run the thermal simulation. More... | |
Typedefs | |
typedef struct SystemMatrix_t | SystemMatrix_t |
Functions | |
void | system_matrix_init (SystemMatrix_t *sysmatrix) |
Error_t | system_matrix_build (SystemMatrix_t *sysmatrix, CellIndex_t size, CellIndex_t nnz) |
void | system_matrix_destroy (SystemMatrix_t *sysmatrix) |
void | fill_system_matrix (SystemMatrix_t *sysmatrix, ThermalGrid_t *thermal_grid, Analysis_t *analysis, Dimensions_t *dimensions) |
Error_t | do_factorization (SystemMatrix_t *sysmatrix) |
Error_t | solve_sparse_linear_system (SystemMatrix_t *sysmatrix, SuperMatrix *b) |
void | system_matrix_print (SystemMatrix_t sysmatrix, String_t file_name) |
typedef struct SystemMatrix_t SystemMatrix_t |
Definition of the type SystemMatrix_t
Definition at line 141 of file system_matrix.h.
Error_t do_factorization | ( | SystemMatrix_t * | sysmatrix | ) |
Perform the A=LU decomposition on the system matrix
sysmatrix | pointer to the (system) matrix A to factorize |
TDICE_SUCCESS
if the factorization succeded TDICE_FAILURE
if some error occured Definition at line 177 of file system_matrix.c.
void fill_system_matrix | ( | SystemMatrix_t * | sysmatrix, |
ThermalGrid_t * | thermal_grid, | ||
Analysis_t * | analysis, | ||
Dimensions_t * | dimensions | ||
) |
Fills the system matrix
The function fills, layer by layer, all the columns of the system matrix.
sysmatrix | pointer to the system matrix to fill |
thermal_grid | pointer to the thermal grid structure |
analysis | pointer to the structure containing info about the type of thermal analysis |
dimensions | pointer to the structure containing the dimensions of the IC |
Definition at line 1808 of file system_matrix.c.
Error_t solve_sparse_linear_system | ( | SystemMatrix_t * | sysmatrix, |
SuperMatrix * | b | ||
) |
Solve the linear system b = A/b
sysmatrix | pointer to the (system) matrix A |
b | pointer to the input vector b |
TDICE_SUCCESS
if the solution b has been found TDICE_FAILURE
if some error occured Definition at line 2019 of file system_matrix.c.
Error_t system_matrix_build | ( | SystemMatrix_t * | sysmatrix, |
CellIndex_t | size, | ||
CellIndex_t | nnz | ||
) |
Allocates memory to store indexes and coefficients of a SystemMatrix
sysmatrix | the address of the system matrix |
size | the dimension of the (square) matrix |
nnz | the number of nonzeroes coeffcients |
TDICE_SUCCESS
if the memory allocation succeded TDICE_FAILURE
if the memory allocation fails Definition at line 85 of file system_matrix.c.
void system_matrix_destroy | ( | SystemMatrix_t * | sysmatrix | ) |
Destroys the content of the fields of the structure sysmatrix
The function releases any dynamic memory used by the structure and resets its state calling system_matrix_init .
sysmatrix | the address of the structure to destroy |
Definition at line 230 of file system_matrix.c.
void system_matrix_init | ( | SystemMatrix_t * | sysmatrix | ) |
Inits the fields of the sysmatrix structure with default values
sysmatrix | the address of the structure to initalize |
Definition at line 46 of file system_matrix.c.
void system_matrix_print | ( | SystemMatrix_t | sysmatrix, |
String_t | file_name | ||
) |
Generates a text file storing the sparse matrix
The file will contain one row of the form row-column-value" for each zero coefficient (COO format). The first row (or column) has index 1 (matlab compatibile)
sysmatrix | the system matrix structure |
file_name | the name of the file to create |
Definition at line 2040 of file system_matrix.c.