#include "las_ns_supg_petsc.hpp"
Classes | |
struct | AMGSUPGSolverData |
Functions | |
double | get_timeClock () |
int | lsr_ns_supg_ext_petsc_init (int Solver_id, int Parallel, int *Max_num_levels_p, char *Filename, int Max_iter, int Error_type, double Error_tolerance, int Monitoring_level) |
void | create_ns_supg_matrix (Mat *matrix, PetscInt rows_number, PetscInt columns_number, PetscInt local_rows_number, PetscInt local_columns_number) |
void | create_ns_supg_vector (Vec *vector, PetscInt rows_number, PetscInt local_rows_number) |
int | lsr_ns_supg_ext_petsc_create_matrix (int Solver_id, int Level_id, int Nrblocks, int Nrdof_glob, int Max_sm_size, int *Nrdofbl, int *Posglob, int *Nroffbl, int **L_offbl) |
int | lsr_ns_supg_ext_petsc_assemble_local_mm (int Solver_id, int Level_id, int Comp_type, int Nr_dof_bl, int *L_bl_id, int *L_bl_nrdof, double *Stiff_mat, double *Rhs_vect, char *Rewr_dofs) |
int | lsr_ns_supg_ext_petsc_assemble_local_sm (int Solver_id, int Level_id, int Comp_type, int Nr_dof_bl, int *L_bl_id, int *L_bl_nrdof, double *Stiff_mat, double *Rhs_vect, char *Rewr_dofs) |
int | lsr_ns_supg_ext_petsc_solve (int Solver_id, int Ndof, int Ini_zero, double *X, double *B, int *Nr_iter, double *Toler, int Monitor, double *Conv_rate) |
int | lsr_ns_supg_ext_petsc_fill_precon (int Solver_id, int Level_id) |
int | lsr_ns_supg_ext_petsc_free_matrix (int Solver_id) |
int | lsr_ns_supg_ext_petsc_clear_matrix (int Solver_id, int Level_id, int Comp_type) |
void | simplest_preconditioner_execution (int Ndof, double *V, Vec u_v, Vec v_residual, Vec bvp_residual, Vec bpv_residual) |
void | simplest_preconditioner (int Ndof, double *V, Vec bvp_residual, Vec bpv_residual) |
void | simpler_preconditioner_iteration (double gaussIterationsError, Vec *bvp_residual, Vec u_v, Vec v_residual, Vec intermediate_v, Vec v_tmp, Vec *bpv_residual, Vec u_p, Vec intermediate_p, Vec p_tmp, bool simpler) |
void | simpler_preconditioner (int Ndof, double *X, Vec bvp_residual, Vec bpv_residual) |
void | mult_velocity_pressure (Vec current_v, Vec current_p, Vec result_v, Vec result_p) |
void | compute_residuals (Vec *residual_bv, Vec *residual_bp, Vec current_v, Vec current_p) |
double | lsr_ns_supg_ext_petsc_compres (int Solver_id, double *X, int Ndof) |
void | lsr_ns_supg_ext_petsc_compres_vector (int Solver_id, int Ndof, double *X, double *B, double *V) |
void | lsr_ns_supg_ext_petsc_compreres (int Solver_id, int Subsystem_id, int Level_id, int Control, int Ini_zero, int Ndof, double *X, double *B, double *V) |
void | lsr_ns_supg_ext_petsc_get_system (Mat *Avv, Mat *Avp, Mat *Apv, Mat *App, Vec *v, Vec *p) |
Variables | |
struct AMGSUPGSolverData | NULL |
Vec | solution_v |
Vec | solution_p |
Vec | result_v |
Vec | result_p |
Vec | tmp_v1 |
Vec | tmp_p1 |
Vec | tmp_v2 |
Vec | tmp_p2 |
double | total_time = 0 |
double | schur_time = 0 |
double | vv_time = 0 |
int | first_ghost_block_index = -1 |
int | blocks_number |
bool | posglobs_initialized = false |
int | ccnt = 0 |
void compute_residuals | ( | Vec * | residual_bv, | |
Vec * | residual_bp, | |||
Vec | current_v, | |||
Vec | current_p | |||
) |
void create_ns_supg_matrix | ( | Mat * | matrix, | |
PetscInt | rows_number, | |||
PetscInt | columns_number, | |||
PetscInt | local_rows_number, | |||
PetscInt | local_columns_number | |||
) |
void create_ns_supg_vector | ( | Vec * | vector, | |
PetscInt | rows_number, | |||
PetscInt | local_rows_number | |||
) |
double get_timeClock | ( | ) |
int lsr_ns_supg_ext_petsc_assemble_local_mm | ( | int | Solver_id, | |
int | Level_id, | |||
int | Comp_type, | |||
int | Nr_dof_bl, | |||
int * | L_bl_id, | |||
int * | L_bl_nrdof, | |||
double * | Stiff_mat, | |||
double * | Rhs_vect, | |||
char * | Rewr_dofs | |||
) |
int lsr_ns_supg_ext_petsc_assemble_local_sm | ( | int | Solver_id, | |
int | Level_id, | |||
int | Comp_type, | |||
int | Nr_dof_bl, | |||
int * | L_bl_id, | |||
int * | L_bl_nrdof, | |||
double * | Stiff_mat, | |||
double * | Rhs_vect, | |||
char * | Rewr_dofs | |||
) |
int lsr_ns_supg_ext_petsc_clear_matrix | ( | int | Solver_id, | |
int | Level_id, | |||
int | Comp_type | |||
) |
void lsr_ns_supg_ext_petsc_compreres | ( | int | Solver_id, | |
int | Subsystem_id, | |||
int | Level_id, | |||
int | Control, | |||
int | Ini_zero, | |||
int | Ndof, | |||
double * | X, | |||
double * | B, | |||
double * | V | |||
) |
double lsr_ns_supg_ext_petsc_compres | ( | int | Solver_id, | |
double * | X, | |||
int | Ndof | |||
) |
void lsr_ns_supg_ext_petsc_compres_vector | ( | int | Solver_id, | |
int | Ndof, | |||
double * | X, | |||
double * | B, | |||
double * | V | |||
) |
int lsr_ns_supg_ext_petsc_create_matrix | ( | int | Solver_id, | |
int | Level_id, | |||
int | Nrblocks, | |||
int | Nrdof_glob, | |||
int | Max_sm_size, | |||
int * | Nrdofbl, | |||
int * | Posglob, | |||
int * | Nroffbl, | |||
int ** | L_offbl | |||
) |
int lsr_ns_supg_ext_petsc_fill_precon | ( | int | Solver_id, | |
int | Level_id | |||
) |
int lsr_ns_supg_ext_petsc_free_matrix | ( | int | Solver_id | ) |
void lsr_ns_supg_ext_petsc_get_system | ( | Mat * | Avv, | |
Mat * | Avp, | |||
Mat * | Apv, | |||
Mat * | App, | |||
Vec * | v, | |||
Vec * | p | |||
) |
int lsr_ns_supg_ext_petsc_init | ( | int | Solver_id, | |
int | Parallel, | |||
int * | Max_num_levels_p, | |||
char * | Filename, | |||
int | Max_iter, | |||
int | Error_type, | |||
double | Error_tolerance, | |||
int | Monitoring_level | |||
) |
int lsr_ns_supg_ext_petsc_solve | ( | int | Solver_id, | |
int | Ndof, | |||
int | Ini_zero, | |||
double * | X, | |||
double * | B, | |||
int * | Nr_iter, | |||
double * | Toler, | |||
int | Monitor, | |||
double * | Conv_rate | |||
) |
void mult_velocity_pressure | ( | Vec | current_v, | |
Vec | current_p, | |||
Vec | result_v, | |||
Vec | result_p | |||
) |
void simpler_preconditioner | ( | int | Ndof, | |
double * | X, | |||
Vec | bvp_residual, | |||
Vec | bpv_residual | |||
) |
void simpler_preconditioner_iteration | ( | double | gaussIterationsError, | |
Vec * | bvp_residual, | |||
Vec | u_v, | |||
Vec | v_residual, | |||
Vec | intermediate_v, | |||
Vec | v_tmp, | |||
Vec * | bpv_residual, | |||
Vec | u_p, | |||
Vec | intermediate_p, | |||
Vec | p_tmp, | |||
bool | simpler | |||
) |
void simplest_preconditioner | ( | int | Ndof, | |
double * | V, | |||
Vec | bvp_residual, | |||
Vec | bpv_residual | |||
) |
void simplest_preconditioner_execution | ( | int | Ndof, | |
double * | V, | |||
Vec | u_v, | |||
Vec | v_residual, | |||
Vec | bvp_residual, | |||
Vec | bpv_residual | |||
) |
int blocks_number |
int ccnt = 0 |
int first_ghost_block_index = -1 |
struct AMGSUPGSolverData NULL |
bool posglobs_initialized = false |
Vec result_p |
Vec result_v |
double schur_time = 0 |
Vec solution_p |
Vec solution_v |
Vec tmp_p1 |
Vec tmp_p2 |
Vec tmp_v1 |
Vec tmp_v2 |
double total_time = 0 |
double vv_time = 0 |