ESYS13
Revision_
|
Go to the source code of this file.
#define PASO_TRACE |
#define SOLVER_BREAKDOWN -10 |
#define SOLVER_DIVERGENCE -12 |
Referenced by Paso_FCT_Solver_updateNL(), Paso_ReactiveSolver_solve(), and Paso_TransportProblem_solve().
#define SOLVER_INPUT_ERROR -1 |
#define SOLVER_MAXITER_REACHED 1 |
#define SOLVER_MEMORY_ERROR -9 |
#define SOLVER_NEGATIVE_NORM_ERROR -11 |
Referenced by Paso_Solver(), Paso_Solver_MINRES(), and Paso_TransportProblem_solve().
#define SOLVER_NO_ERROR 0 |
Referenced by Paso_FCT_Solver_update(), Paso_FCT_Solver_update_LCN(), Paso_FCT_Solver_updateNL(), Paso_FunctionDerivative(), Paso_ReactiveSolver_solve(), Paso_Solver(), Paso_Solver_BiCGStab(), Paso_Solver_GMRES(), Paso_Solver_GMRES2(), Paso_Solver_MINRES(), Paso_Solver_NewtonGMRES(), Paso_Solver_PCG(), Paso_Solver_TFQMR(), and Paso_TransportProblem_solve().
#define TOLERANCE_FOR_SCALARS (double)(0.) |
Referenced by Paso_Solver_BiCGStab(), and Paso_Solver_PCG().
Paso_Function* Paso_Function_LinearSystem_alloc | ( | Paso_SystemMatrix * | A, |
double * | b, | ||
Paso_Options * | options | ||
) |
References Paso_Function::b, Esys_checkPtr(), Esys_MPIInfo_getReference(), Esys_noError(), Paso_Function::kind, LINEAR_SYSTEM, MEMALLOC, Paso_Function::more, Paso_Function::mpi_info, Paso_SystemMatrix::mpi_info, Paso_Function::n, Paso_Function_LinearSystem_free(), Paso_SystemMatrix_getReference(), Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix_setPreconditioner(), and Paso_Function::tmp.
Referenced by Paso_Solver().
err_t Paso_Function_LinearSystem_call | ( | Paso_Function * | F, |
double * | value, | ||
const double * | arg, | ||
Paso_Performance * | pp | ||
) |
void Paso_Function_LinearSystem_free | ( | Paso_Function * | F | ) |
References Esys_MPIInfo_free(), MEMFREE, Paso_Function::more, Paso_Function::mpi_info, Paso_SystemMatrix_free(), and Paso_Function::tmp.
Referenced by Paso_Function_free(), Paso_Function_LinearSystem_alloc(), and Paso_Solver().
err_t Paso_Function_LinearSystem_setInitialGuess | ( | Paso_SystemMatrix * | A, |
double * | x, | ||
Paso_Performance * | pp | ||
) |
PASO_DLL_API void Paso_Solver | ( | Paso_SystemMatrix * | , |
double * | , | ||
double * | , | ||
Paso_Options * | , | ||
Paso_Performance * | pp | ||
) |
References ABS, blocktimer_increment(), blocktimer_time(), Paso_SystemMatrix::col_block_size, Esys_MPIInfo::comm, Paso_Options::converged, DBLE, DIVERGED, EPSILON, Esys_checkPtr(), Esys_noError(), Esys_resetError(), Esys_setError(), Esys_timer(), FALSE, IS_NAN, Paso_Options::iter_max, MATRIX_FORMAT_CSC, MATRIX_FORMAT_OFFSET1, MAX, MEMFREE, Paso_Options::method, MIN, MPI_DOUBLE, Paso_SystemMatrix::mpi_info, Paso_Options::net_time, NO_ERROR, Paso_Options::num_inner_iter, Paso_Options::num_iter, Paso_Options::num_level, PASO_BICGSTAB, Paso_Function_LinearSystem_alloc(), Paso_Function_LinearSystem_free(), PASO_GMRES, PASO_MINRES, PASO_NONLINEAR_GMRES, Paso_Options_getSolver(), PASO_PASO, PASO_PCG, PASO_PRES20, Paso_Solver_BiCGStab(), Paso_Solver_GMRES(), Paso_Solver_MINRES(), Paso_Solver_NewtonGMRES(), Paso_Solver_PCG(), Paso_Solver_TFQMR(), Paso_SystemMatrix_applyBalance(), Paso_SystemMatrix_applyBalanceInPlace(), Paso_SystemMatrix_balance(), Paso_SystemMatrix_getGlobalNumCols(), Paso_SystemMatrix_getGlobalNumRows(), Paso_SystemMatrix_getTotalNumCols(), Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix_MatrixVector_CSR_OFFSET0(), Paso_SystemMatrix_setPreconditioner(), Paso_SystemMatrix_solvePreconditioner(), PASO_TFQMR, PERFORMANCE_ALL, PERFORMANCE_PRECONDITIONER_INIT, Performance_startMonitor(), Performance_stopMonitor(), Paso_Options::residual_norm, Paso_Options::restart, Paso_SystemMatrix::row_block_size, Paso_Options::set_up_time, SOLVER_BREAKDOWN, SOLVER_INPUT_ERROR, SOLVER_MAXITER_REACHED, SOLVER_NEGATIVE_NORM_ERROR, SOLVER_NO_ERROR, Paso_Options::symmetric, SYSTEM_ERROR, Paso_Options::time, TMPMEMALLOC, Paso_Options::tolerance, TRUE, Paso_Options::truncation, Paso_SystemMatrix::type, TYPE_ERROR, VALUE_ERROR, Paso_Options::verbose, and ZERO_DIVISION_ERROR.
Referenced by Paso_solve().
err_t Paso_Solver_BiCGStab | ( | Paso_SystemMatrix * | A, |
double * | B, | ||
double * | X, | ||
dim_t * | iter, | ||
double * | tolerance, | ||
Paso_Performance * | pp | ||
) |
References ABS, Esys_MPIInfo::comm, FALSE, MPI_DOUBLE, Paso_SystemMatrix::mpi_info, PASO_ONE, Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix_MatrixVector_CSR_OFFSET0(), Paso_SystemMatrix_solvePreconditioner(), PASO_ZERO, SOLVER_BREAKDOWN, SOLVER_INPUT_ERROR, SOLVER_MAXITER_REACHED, SOLVER_MEMORY_ERROR, SOLVER_NO_ERROR, TMPMEMALLOC, TMPMEMFREE, and TOLERANCE_FOR_SCALARS.
Referenced by Paso_FCT_Solver_updateNL(), and Paso_Solver().
PASO_DLL_API void Paso_Solver_free | ( | Paso_SystemMatrix * | ) |
References Paso_SystemMatrix_freePreconditioner().
Referenced by Paso_solve_free().
err_t Paso_Solver_GMRES | ( | Paso_SystemMatrix * | A, |
double * | r, | ||
double * | x, | ||
dim_t * | num_iter, | ||
double * | tolerance, | ||
dim_t | length_of_recursion, | ||
dim_t | restart, | ||
Paso_Performance * | pp | ||
) |
References ABS, Esys_MPIInfo::comm, FALSE, MAX, MIN, MPI_DOUBLE, Paso_SystemMatrix::mpi_info, omp_get_max_threads, PASO_ONE, Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix_MatrixVector_CSR_OFFSET0(), Paso_SystemMatrix_solvePreconditioner(), PASO_ZERO, SOLVER_BREAKDOWN, SOLVER_INPUT_ERROR, SOLVER_MAXITER_REACHED, SOLVER_MEMORY_ERROR, SOLVER_NO_ERROR, TMPMEMALLOC, TMPMEMFREE, and TRUE.
Referenced by Paso_Solver().
err_t Paso_Solver_GMRES2 | ( | Paso_Function * | F, |
const double * | f0, | ||
const double * | x0, | ||
double * | x, | ||
dim_t * | iter, | ||
double * | tolerance, | ||
Paso_Performance * | pp | ||
) |
References ABS, ApplyGivensRotations(), FALSE, INDEX2, Paso_Function::mpi_info, Paso_Function::n, Paso_FunctionDerivative(), Paso_InnerProduct(), Paso_l2(), Paso_Update(), Paso_zeroes(), SOLVER_INPUT_ERROR, SOLVER_MEMORY_ERROR, SOLVER_NO_ERROR, TMPMEMALLOC, and TMPMEMFREE.
Referenced by Paso_Solver_NewtonGMRES().
err_t Paso_Solver_MINRES | ( | Paso_SystemMatrix * | A, |
double * | B, | ||
double * | X, | ||
dim_t * | iter, | ||
double * | tolerance, | ||
Paso_Performance * | pp | ||
) |
References ABS, FALSE, Paso_SystemMatrix::mpi_info, Paso_AXPY, Paso_Copy(), Paso_InnerProduct(), Paso_l2(), PASO_ONE, Paso_Scale, Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix_MatrixVector_CSR_OFFSET0(), Paso_SystemMatrix_solvePreconditioner(), PASO_ZERO, SOLVER_BREAKDOWN, SOLVER_INPUT_ERROR, SOLVER_MAXITER_REACHED, SOLVER_MEMORY_ERROR, SOLVER_NEGATIVE_NORM_ERROR, SOLVER_NO_ERROR, TMPMEMALLOC, TMPMEMFREE, and TRUE.
Referenced by Paso_Solver().
err_t Paso_Solver_NewtonGMRES | ( | Paso_Function * | F, |
double * | x, | ||
Paso_Options * | options, | ||
Paso_Performance * | pp | ||
) |
References Paso_Options::absolute_tolerance, Paso_Options::adapt_inner_tolerance, FALSE, Paso_Options::inner_iter_max, Paso_Options::inner_tolerance, Paso_Options::iter_max, MAX, MIN, Paso_Function::mpi_info, Paso_Function::n, Paso_FunctionCall(), Paso_l2(), Paso_lsup(), Paso_Solver_GMRES2(), Paso_Update(), SOLVER_BREAKDOWN, SOLVER_INPUT_ERROR, SOLVER_MAXITER_REACHED, SOLVER_MEMORY_ERROR, SOLVER_NO_ERROR, TMPMEMALLOC, TMPMEMFREE, Paso_Options::tolerance, TRUE, and Paso_Options::verbose.
Referenced by Paso_Solver().
err_t Paso_Solver_PCG | ( | Paso_SystemMatrix * | A, |
double * | B, | ||
double * | X, | ||
dim_t * | iter, | ||
double * | tolerance, | ||
Paso_Performance * | pp | ||
) |
References ABS, Esys_MPIInfo::comm, FALSE, MAX, MIN, MPI_DOUBLE, Paso_SystemMatrix::mpi_info, omp_get_max_threads, PASO_ONE, Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix_MatrixVector_CSR_OFFSET0(), Paso_SystemMatrix_solvePreconditioner(), PASO_ZERO, PERFORMANCE_MVM, PERFORMANCE_PRECONDITIONER, PERFORMANCE_SOLVER, Performance_startMonitor(), Performance_stopMonitor(), SOLVER_BREAKDOWN, SOLVER_INPUT_ERROR, SOLVER_MAXITER_REACHED, SOLVER_MEMORY_ERROR, SOLVER_NO_ERROR, TMPMEMALLOC, TMPMEMFREE, and TOLERANCE_FOR_SCALARS.
Referenced by Paso_Solver().
err_t Paso_Solver_TFQMR | ( | Paso_SystemMatrix * | A, |
double * | B, | ||
double * | X, | ||
dim_t * | iter, | ||
double * | tolerance, | ||
Paso_Performance * | pp | ||
) |
References ABS, FALSE, Paso_SystemMatrix::mpi_info, Paso_Copy(), Paso_InnerProduct(), Paso_l2(), Paso_LinearCombination(), PASO_ONE, Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix_MatrixVector_CSR_OFFSET0(), Paso_SystemMatrix_solvePreconditioner(), Paso_Update(), PASO_ZERO, Paso_zeroes(), PERFORMANCE_MVM, PERFORMANCE_PRECONDITIONER, PERFORMANCE_SOLVER, Performance_startMonitor(), Performance_stopMonitor(), SOLVER_BREAKDOWN, SOLVER_INPUT_ERROR, SOLVER_MAXITER_REACHED, SOLVER_MEMORY_ERROR, SOLVER_NO_ERROR, TMPMEMALLOC, and TMPMEMFREE.
Referenced by Paso_Solver().