ESYS13
Revision_
|
void Paso_FCT_setAntiDiffusionFlux_BE | ( | Paso_SystemMatrix * | flux_matrix, |
const Paso_TransportProblem * | fct, | ||
const double | dt, | ||
const Paso_Coupler * | u_coupler, | ||
const Paso_Coupler * | u_old_coupler | ||
) |
References Paso_SystemMatrix::col_coupleBlock, Paso_SystemMatrixPattern::col_couplePattern, Paso_Pattern::index, Paso_TransportProblem::iteration_matrix, Paso_SystemMatrix::mainBlock, Paso_SystemMatrixPattern::mainPattern, Paso_TransportProblem::mass_matrix, Paso_Coupler_borrowLocalData, Paso_Coupler_borrowRemoteData, Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix::pattern, Paso_Pattern::ptr, Paso_TransportProblem::transport_matrix, and Paso_SparseMatrix::val.
Referenced by Paso_FCT_Solver_updateNL().
void Paso_FCT_setAntiDiffusionFlux_CN | ( | Paso_SystemMatrix * | flux_matrix, |
const Paso_TransportProblem * | fct, | ||
const double | dt, | ||
const Paso_Coupler * | u_coupler, | ||
const Paso_Coupler * | u_old_coupler | ||
) |
References Paso_SystemMatrix::col_coupleBlock, Paso_SystemMatrixPattern::col_couplePattern, Paso_Pattern::index, Paso_TransportProblem::iteration_matrix, Paso_SystemMatrix::mainBlock, Paso_SystemMatrixPattern::mainPattern, Paso_TransportProblem::mass_matrix, Paso_Coupler_borrowLocalData, Paso_Coupler_borrowRemoteData, Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix::pattern, Paso_Pattern::ptr, Paso_TransportProblem::transport_matrix, and Paso_SparseMatrix::val.
Referenced by Paso_FCT_Solver_updateNL().
void Paso_FCT_setAntiDiffusionFlux_linearCN | ( | Paso_SystemMatrix * | flux_matrix, |
const Paso_TransportProblem * | fct, | ||
const double | dt, | ||
const Paso_Coupler * | u_tilde_coupler, | ||
const Paso_Coupler * | u_old_coupler | ||
) |
References Paso_SystemMatrix::col_coupleBlock, Paso_SystemMatrixPattern::col_couplePattern, Paso_Pattern::index, Paso_TransportProblem::iteration_matrix, Paso_SystemMatrix::mainBlock, Paso_SystemMatrixPattern::mainPattern, Paso_TransportProblem::mass_matrix, Paso_Coupler_borrowLocalData, Paso_Coupler_borrowRemoteData, Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix::pattern, Paso_Pattern::ptr, Paso_TransportProblem::transport_matrix, and Paso_SparseMatrix::val.
Referenced by Paso_FCT_Solver_update_LCN().
void Paso_FCT_setLowOrderOperator | ( | Paso_TransportProblem * | fc | ) |
References Paso_SystemMatrix::col_block_size, Paso_SystemMatrix::col_coupleBlock, Paso_SystemMatrixPattern::col_couplePattern, Esys_noError(), Paso_Pattern::index, Paso_TransportProblem::iteration_matrix, Paso_TransportProblem::main_diagonal_low_order_transport_matrix, Paso_SystemMatrix::mainBlock, Paso_SystemMatrixPattern::mainPattern, MIN3, Paso_SystemMatrix_alloc(), Paso_SystemMatrix_getTotalNumRows(), Paso_TransportProblem_borrowMainDiagonalPointer, Paso_SystemMatrix::pattern, Paso_Pattern::ptr, Paso_SystemMatrix::row_block_size, Paso_SystemMatrix::row_coupleBlock, Paso_SystemMatrixPattern::row_couplePattern, Paso_TransportProblem::transport_matrix, TRUE, Paso_SystemMatrix::type, and Paso_SparseMatrix::val.
Referenced by Paso_FCT_Solver_getSafeTimeStepSize().
Paso_FCT_Solver* Paso_FCT_Solver_alloc | ( | Paso_TransportProblem * | fctp, |
Paso_Options * | options | ||
) |
References Paso_FCT_Solver::b, Paso_FCT_Solver::du, Esys_checkPtr(), Esys_MPIInfo_getReference(), Esys_noError(), Esys_setError(), Paso_FCT_Solver::flux_limiter, MEMALLOC, Paso_FCT_Solver::method, Paso_FCT_Solver::mpi_info, Paso_TransportProblem::mpi_info, Paso_Options::ode_solver, Paso_FCT_Solver::omega, PASO_BACKWARD_EULER, Paso_Coupler_alloc(), PASO_CRANK_NICOLSON, Paso_FCT_FluxLimiter_alloc(), Paso_FCT_Solver_free(), PASO_LINEAR_CRANK_NICOLSON, Paso_TransportProblem_borrowConnector, Paso_TransportProblem_getBlockSize, Paso_TransportProblem_getReference(), Paso_TransportProblem_getTotalNumRows, Paso_FCT_Solver::transportproblem, Paso_FCT_Solver::u_coupler, Paso_FCT_Solver::u_old_coupler, UNKNOWN, VALUE_ERROR, and Paso_FCT_Solver::z.
Referenced by Paso_TransportProblem_solve().
void Paso_FCT_Solver_free | ( | Paso_FCT_Solver * | in | ) |
References Paso_FCT_Solver::b, Paso_FCT_Solver::du, Esys_MPIInfo_free(), Paso_FCT_Solver::flux_limiter, MEMFREE, Paso_FCT_Solver::mpi_info, Paso_Coupler_free(), Paso_FCT_FluxLimiter_free(), Paso_TransportProblem_free(), Paso_FCT_Solver::transportproblem, Paso_FCT_Solver::u_coupler, Paso_FCT_Solver::u_old_coupler, and Paso_FCT_Solver::z.
Referenced by Paso_FCT_Solver_alloc(), and Paso_TransportProblem_solve().
double Paso_FCT_Solver_getSafeTimeStepSize | ( | Paso_TransportProblem * | fctp | ) |
References Esys_MPIInfo::comm, Esys_noError(), LARGE_POSITIVE_FLOAT, Paso_TransportProblem::lumped_mass_matrix, Paso_TransportProblem::main_diagonal_low_order_transport_matrix, MIN, MPI_DOUBLE, Paso_TransportProblem::mpi_info, Paso_FCT_setLowOrderOperator(), Paso_SystemMatrix_getTotalNumRows(), and Paso_TransportProblem::transport_matrix.
Referenced by Paso_TransportProblem_getSafeTimeStepSize().
void Paso_FCT_Solver_initialize | ( | const double | dt, |
Paso_FCT_Solver * | fct_solver, | ||
Paso_Options * | options, | ||
Paso_Performance * | pp | ||
) |
References ABS, Paso_FCT_Solver::dt, EPSILON, FALSE, Paso_TransportProblem::iteration_matrix, Paso_TransportProblem::lumped_mass_matrix, Paso_TransportProblem::main_diagonal_low_order_transport_matrix, Paso_SystemMatrix::mainBlock, Paso_FCT_Solver::method, Paso_FCT_Solver::omega, Paso_FCT_Solver_getTheta, PASO_GS, PASO_JACOBI, PASO_LINEAR_CRANK_NICOLSON, Paso_Options_setDefaults(), Paso_solve_free(), Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix_setPreconditioner(), Paso_TransportProblem_borrowMainDiagonalPointer, PERFORMANCE_PRECONDITIONER_INIT, Performance_startMonitor(), Performance_stopMonitor(), Paso_Options::preconditioner, Paso_Options::sweeps, Paso_TransportProblem::transport_matrix, Paso_FCT_Solver::transportproblem, Paso_Options::use_local_preconditioner, Paso_SparseMatrix::val, and Paso_Options::verbose.
Referenced by Paso_TransportProblem_solve().
void Paso_FCT_Solver_setMuPaLu | ( | double * | out, |
const double * | M, | ||
const Paso_Coupler * | u_coupler, | ||
const double | a, | ||
const Paso_SystemMatrix * | L | ||
) |
References ABS, Paso_SystemMatrix::col_coupleBlock, Paso_SystemMatrixPattern::col_couplePattern, Paso_Pattern::index, Paso_SystemMatrix::mainBlock, Paso_SystemMatrixPattern::mainPattern, Paso_Coupler_borrowLocalData, Paso_Coupler_borrowRemoteData, Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix::pattern, Paso_Pattern::ptr, and Paso_SparseMatrix::val.
Referenced by Paso_FCT_Solver_update_LCN(), and Paso_FCT_Solver_updateNL().
err_t Paso_FCT_Solver_update | ( | Paso_FCT_Solver * | fct_solver, |
double * | u, | ||
double * | u_old, | ||
Paso_Options * | options, | ||
Paso_Performance * | pp | ||
) |
err_t Paso_FCT_Solver_update_LCN | ( | Paso_FCT_Solver * | fct_solver, |
double * | u, | ||
double * | u_old, | ||
Paso_Options * | options, | ||
Paso_Performance * | pp | ||
) |
References Paso_FCT_FluxLimiter::antidiffusive_fluxes, Paso_FCT_Solver::b, Paso_FCT_Solver::dt, Paso_FCT_Solver::flux_limiter, Paso_TransportProblem::iteration_matrix, Paso_TransportProblem::lumped_mass_matrix, Paso_SystemMatrix::mainBlock, MAX, Paso_FCT_FluxLimiter::mpi_info, Paso_FCT_Solver::omega, Paso_Coupler_finishCollect(), Paso_Coupler_startCollect(), Paso_FCT_FluxLimiter_addLimitedFluxes_Complete(), Paso_FCT_FluxLimiter_addLimitedFluxes_Start(), Paso_FCT_FluxLimiter_setU_tilda(), Paso_FCT_setAntiDiffusionFlux_linearCN(), Paso_FCT_Solver_setMuPaLu(), Paso_lsup(), Paso_Preconditioner_Smoother_solve_byTolerance(), Paso_Scale, Paso_TransportProblem_borrowMainDiagonalPointer, Paso_TransportProblem_getTotalNumRows, Paso_Update(), PRECONDITIONER_NO_ERROR, SOLVER_MAXITER_REACHED, SOLVER_NO_ERROR, Paso_Options::tolerance, Paso_FCT_Solver::transportproblem, TRUE, Paso_FCT_Solver::u_old_coupler, Paso_FCT_FluxLimiter::u_tilde, Paso_FCT_FluxLimiter::u_tilde_coupler, Paso_SparseMatrix::val, and Paso_Options::verbose.
Referenced by Paso_FCT_Solver_update().
err_t Paso_FCT_Solver_updateNL | ( | Paso_FCT_Solver * | fct_solver, |
double * | u, | ||
double * | u_old, | ||
Paso_Options * | options, | ||
Paso_Performance * | pp | ||
) |
References Paso_Options::absolute_tolerance, Paso_FCT_FluxLimiter::antidiffusive_fluxes, Paso_FCT_Solver::b, Paso_FCT_Solver::dt, Paso_FCT_Solver::du, Esys_noError(), FALSE, Paso_FCT_Solver::flux_limiter, Paso_Options::iter_max, Paso_TransportProblem::iteration_matrix, LARGE_POSITIVE_FLOAT, Paso_TransportProblem::lumped_mass_matrix, MAX, Paso_FCT_Solver::method, MIN, Paso_FCT_FluxLimiter::mpi_info, Paso_TransportProblem::mpi_info, Paso_Options::num_iter, Paso_FCT_Solver::omega, PASO_BACKWARD_EULER, Paso_Copy(), Paso_Coupler_finishCollect(), Paso_Coupler_startCollect(), Paso_FCT_FluxLimiter_addLimitedFluxes_Complete(), Paso_FCT_FluxLimiter_addLimitedFluxes_Start(), Paso_FCT_FluxLimiter_setU_tilda(), Paso_FCT_setAntiDiffusionFlux_BE(), Paso_FCT_setAntiDiffusionFlux_CN(), Paso_FCT_Solver_setMuPaLu(), Paso_l2(), Paso_lsup(), Paso_Preconditioner_Smoother_solve(), Paso_Solver_BiCGStab(), Paso_SystemMatrix_getTotalNumRows(), Paso_Update(), Paso_zeroes(), SOLVER_DIVERGENCE, SOLVER_MAXITER_REACHED, SOLVER_NO_ERROR, Paso_SystemMatrix::solver_p, Paso_Options::tolerance, Paso_TransportProblem::transport_matrix, Paso_FCT_Solver::transportproblem, Paso_FCT_Solver::u_coupler, Paso_FCT_Solver::u_old_coupler, Paso_FCT_FluxLimiter::u_tilde, Paso_Options::verbose, and Paso_FCT_Solver::z.
Referenced by Paso_FCT_Solver_update().