19 |
typedef struct Paso_FCTransportProblem { |
typedef struct Paso_FCTransportProblem { |
20 |
|
|
21 |
double theta; |
double theta; |
22 |
|
double dt; |
23 |
|
double dt_max; |
24 |
bool_t valid_matrices; |
bool_t valid_matrices; |
25 |
|
|
26 |
double* u; |
double* u; |
29 |
Paso_SystemMatrix * flux_matrix; |
Paso_SystemMatrix * flux_matrix; |
30 |
double* lumped_mass_matrix; |
double* lumped_mass_matrix; |
31 |
double* row_sum_flux_matrix; |
double* row_sum_flux_matrix; |
32 |
|
double* transport_matrix_diagonal; |
33 |
|
|
34 |
dim_t num_colors; |
dim_t num_colors; |
35 |
index_t *colorOf; |
index_t *colorOf; |
47 |
double* Paso_FCTransportProblem_borrowLumpedMassMatrix(Paso_FCTransportProblem* in); |
double* Paso_FCTransportProblem_borrowLumpedMassMatrix(Paso_FCTransportProblem* in); |
48 |
dim_t Paso_FCTransportProblem_getTotalNumRows(Paso_FCTransportProblem* in); |
dim_t Paso_FCTransportProblem_getTotalNumRows(Paso_FCTransportProblem* in); |
49 |
Paso_FCTransportProblem* Paso_FCTransportProblem_alloc(double theta, double dt_max, Paso_SystemMatrixPattern *pattern, int block_size); |
Paso_FCTransportProblem* Paso_FCTransportProblem_alloc(double theta, double dt_max, Paso_SystemMatrixPattern *pattern, int block_size); |
50 |
void Paso_FCTransportProblem_setAntiDiffusiveFlux(Paso_FCTransportProblem * fc, double * u, double* fa); |
void Paso_FCTransportProblem_setAntiDiffusiveFlux(Paso_FCTransportProblem * fc, double * u, double *u_remote, double* fa); |
51 |
void Paso_FCTransportProblem_addAdvectivePart(Paso_FCTransportProblem * fc, double alpha); |
void Paso_FCTransportProblem_addAdvectivePart(Paso_FCTransportProblem * fc, double alpha); |
52 |
void Paso_SolverFCT_solve(Paso_FCTransportProblem* fctp, double* u, double dt, double* source, Paso_Options* options); |
void Paso_SolverFCT_solve(Paso_FCTransportProblem* fctp, double* u, double dt, double* source, Paso_Options* options); |
53 |
void Paso_FCTransportProblem_checkinSolution(Paso_FCTransportProblem* in, double* u) ; |
void Paso_FCTransportProblem_checkinSolution(Paso_FCTransportProblem* in, double* u) ; |
54 |
|
void Paso_FCTransportProblem_setFlux(Paso_FCTransportProblem * fc, double * u, double* fa); |
55 |
|
|
56 |
#endif /* #ifndef INC_SOLVERFCT */ |
#endif /* #ifndef INC_SOLVERFCT */ |