#include "SystemMatrix.h"
#include "Options.h"
#include "performance.h"
Go to the source code of this file.
#define DT_FACTOR_MAX 1000. |
Referenced by Paso_FCTransportProblem_alloc().
void Paso_FCT_setUp | ( | Paso_FCTransportProblem * | fctp, | |
const double | dt, | |||
const double * | sourceN, | |||
const double * | sourceP, | |||
double * | b, | |||
double * | uTilde, | |||
Paso_Coupler * | uTilde_coupler, | |||
double * | QN, | |||
Paso_Coupler * | QN_coupler, | |||
double * | QP, | |||
Paso_Coupler * | QP_coupler, | |||
Paso_Options * | options, | |||
Paso_Performance * | pp | |||
) |
References ABS, Paso_FCTransportProblem::iteration_matrix, Paso_FCTransportProblem::lumped_mass_matrix, Paso_FCTransportProblem::main_diagonal_low_order_transport_matrix, Paso_FCTransportProblem::main_iptr, Paso_SystemMatrix::mainBlock, Paso_Coupler_finishCollect(), Paso_Coupler_startCollect(), Paso_solve_free(), Paso_Solver_setPreconditioner(), Paso_SolverFCT_setMuPaLuPbQ(), Paso_SolverFCT_setQs(), Paso_SystemMatrix_getTotalNumRows(), PERFORMANCE_PRECONDITIONER_INIT, Performance_startMonitor(), Performance_stopMonitor(), Paso_FCTransportProblem::theta, Paso_FCTransportProblem::transport_matrix, Paso_FCTransportProblem::u, Paso_FCTransportProblem::u_coupler, and Paso_SparseMatrix::val.
Referenced by Paso_SolverFCT_solve().
void Paso_FCTransportProblem_addCorrectedFluxes | ( | double * | f, | |
const Paso_SystemMatrix * | flux_matrix, | |||
const Paso_Coupler * | RN, | |||
const Paso_Coupler * | RP | |||
) |
References Paso_SystemMatrix::col_coupleBlock, Paso_SystemMatrixPattern::col_couplePattern, Paso_Pattern::index, Paso_SystemMatrix::mainBlock, Paso_SystemMatrixPattern::mainPattern, MIN, Paso_Coupler_borrowLocalData, Paso_Coupler_borrowRemoteData, Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix::pattern, Paso_Pattern::ptr, and Paso_SparseMatrix::val.
Referenced by Paso_FCT_setUpRightHandSide().
Paso_FCTransportProblem* Paso_FCTransportProblem_alloc | ( | double | theta, | |
Paso_SystemMatrixPattern * | pattern, | |||
int | block_size | |||
) |
References Paso_FCTransportProblem::constraint_factor, Paso_FCTransportProblem::constraint_weights, Paso_FCTransportProblem::dt_factor, DT_FACTOR_MAX, Paso_FCTransportProblem::dt_max, FALSE, Paso_Pattern::index, Paso_FCTransportProblem::iteration_matrix, LARGE_POSITIVE_FLOAT, Paso_FCTransportProblem::lumped_mass_matrix, Paso_FCTransportProblem::main_diagonal_low_order_transport_matrix, Paso_FCTransportProblem::main_iptr, Paso_SystemMatrixPattern::mainPattern, Paso_FCTransportProblem::mass_matrix, MATRIX_FORMAT_BLK1, MATRIX_FORMAT_DEFAULT, MEMALLOC, MIN, Paso_SystemMatrixPattern::mpi_info, Paso_FCTransportProblem::mpi_info, Paso_checkPtr(), Paso_Coupler_alloc(), Paso_FCTransportProblem_borrowConnector(), Paso_FCTransportProblem_free(), Paso_MPIInfo_getReference(), Paso_noError(), Paso_setError(), Paso_SystemMatrix_alloc(), Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix::pattern, Paso_Pattern::ptr, Paso_FCTransportProblem::reference_counter, Paso_FCTransportProblem::theta, Paso_FCTransportProblem::transport_matrix, TYPE_ERROR, Paso_FCTransportProblem::u, Paso_FCTransportProblem::u_coupler, Paso_FCTransportProblem::valid_matrices, and VALUE_ERROR.
Referenced by finley::MeshAdapter::newTransportProblem().
void Paso_FCTransportProblem_applyPreAntiDiffusionCorrection | ( | Paso_SystemMatrix * | f, | |
const Paso_Coupler * | u_coupler | |||
) |
References 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_setUpRightHandSide().
Paso_Connector* Paso_FCTransportProblem_borrowConnector | ( | const Paso_FCTransportProblem * | in | ) |
References Paso_SystemMatrixPattern::col_connector, Paso_SystemMatrix::pattern, and Paso_FCTransportProblem::transport_matrix.
Referenced by Paso_FCTransportProblem_alloc(), and Paso_SolverFCT_solve().
double* Paso_FCTransportProblem_borrowLumpedMassMatrix | ( | Paso_FCTransportProblem * | in | ) |
References Paso_FCTransportProblem::lumped_mass_matrix.
Paso_SystemMatrix* Paso_FCTransportProblem_borrowMassMatrix | ( | Paso_FCTransportProblem * | in | ) |
References Paso_FCTransportProblem::mass_matrix.
Paso_SystemMatrix* Paso_FCTransportProblem_borrowTransportMatrix | ( | Paso_FCTransportProblem * | in | ) |
References Paso_FCTransportProblem::transport_matrix.
void Paso_FCTransportProblem_checkinSolution | ( | Paso_FCTransportProblem * | in, | |
double * | u | |||
) |
References Paso_MPIInfo::comm, LARGE_POSITIVE_FLOAT, MIN, MPI_DOUBLE, Paso_FCTransportProblem::mpi_info, Paso_setError(), Paso_SystemMatrix_getTotalNumRows(), Paso_FCTransportProblem::transport_matrix, Paso_FCTransportProblem::u, and VALUE_ERROR.
Referenced by finley::TransportProblemAdapter::copyInitialValue().
void Paso_FCTransportProblem_free | ( | Paso_FCTransportProblem * | in | ) |
References Paso_FCTransportProblem::constraint_weights, Paso_FCTransportProblem::iteration_matrix, Paso_FCTransportProblem::lumped_mass_matrix, Paso_FCTransportProblem::main_diagonal_low_order_transport_matrix, Paso_FCTransportProblem::main_iptr, Paso_FCTransportProblem::mass_matrix, MEMFREE, Paso_FCTransportProblem::mpi_info, Paso_Coupler_free(), Paso_MPIInfo_free(), Paso_SystemMatrix_free(), Paso_FCTransportProblem::reference_counter, Paso_FCTransportProblem::transport_matrix, Paso_FCTransportProblem::u, and Paso_FCTransportProblem::u_coupler.
Referenced by Paso_FCTransportProblem_alloc(), and finley::TransportProblemAdapter::~TransportProblemAdapter().
dim_t Paso_FCTransportProblem_getBlockSize | ( | const Paso_FCTransportProblem * | in | ) |
References Paso_SystemMatrix::row_block_size, and Paso_FCTransportProblem::transport_matrix.
Referenced by Paso_SolverFCT_solve().
Paso_FCTransportProblem* Paso_FCTransportProblem_getReference | ( | Paso_FCTransportProblem * | in | ) |
References Paso_FCTransportProblem::reference_counter.
double Paso_FCTransportProblem_getSafeTimeStepSize | ( | Paso_FCTransportProblem * | in | ) |
References Paso_MPIInfo::comm, Paso_FCTransportProblem::dt_factor, Paso_FCTransportProblem::dt_max, LARGE_POSITIVE_FLOAT, Paso_FCTransportProblem::lumped_mass_matrix, Paso_FCTransportProblem::main_diagonal_low_order_transport_matrix, Paso_FCTransportProblem::mass_matrix, MIN, MPI_DOUBLE, Paso_FCTransportProblem::mpi_info, Paso_FCTransportProblem_setLowOrderOperator(), Paso_noError(), Paso_setError(), Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix_rowSum(), Paso_FCTransportProblem::transport_matrix, TYPE_ERROR, and Paso_FCTransportProblem::valid_matrices.
Referenced by finley::TransportProblemAdapter::getSafeTimeStepSize(), and Paso_SolverFCT_solve().
dim_t Paso_FCTransportProblem_getTotalNumRows | ( | Paso_FCTransportProblem * | in | ) |
index_t Paso_FCTransportProblem_getTypeId | ( | const index_t | solver, | |
const index_t | preconditioner, | |||
const index_t | package, | |||
const bool_t | symmetry, | |||
Paso_MPIInfo * | mpi_info | |||
) |
References MATRIX_FORMAT_BLK1, and MATRIX_FORMAT_DEFAULT.
Referenced by finley::MeshAdapter::getTransportTypeId().
void Paso_FCTransportProblem_insertConstraint | ( | Paso_FCTransportProblem * | fctp, | |
const double * | r, | |||
double * | source | |||
) |
void Paso_FCTransportProblem_reset | ( | Paso_FCTransportProblem * | in | ) |
References FALSE, Paso_FCTransportProblem::iteration_matrix, Paso_FCTransportProblem::mass_matrix, Paso_solve_free(), Paso_SystemMatrix_setValues(), Paso_FCTransportProblem::transport_matrix, and Paso_FCTransportProblem::valid_matrices.
Referenced by finley::TransportProblemAdapter::resetTransport().
void Paso_FCTransportProblem_setAntiDiffusionFlux | ( | const double | dt, | |
const Paso_FCTransportProblem * | fc, | |||
Paso_SystemMatrix * | flux_matrix, | |||
const Paso_Coupler * | u_coupler | |||
) |
References ABS, Paso_SystemMatrix::col_coupleBlock, Paso_SystemMatrixPattern::col_couplePattern, Paso_Pattern::index, Paso_FCTransportProblem::iteration_matrix, Paso_SystemMatrix::mainBlock, Paso_SystemMatrixPattern::mainPattern, Paso_FCTransportProblem::mass_matrix, Paso_Coupler_borrowLocalData, Paso_Coupler_borrowRemoteData, Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix::pattern, Paso_Pattern::ptr, Paso_FCTransportProblem::theta, Paso_FCTransportProblem::transport_matrix, Paso_FCTransportProblem::u_coupler, and Paso_SparseMatrix::val.
Referenced by Paso_FCT_setUpRightHandSide().
void Paso_FCTransportProblem_setLowOrderOperator | ( | Paso_FCTransportProblem * | fc | ) |
References Paso_SystemMatrix::col_block_size, Paso_SystemMatrix::col_coupleBlock, Paso_SystemMatrixPattern::col_couplePattern, Paso_Pattern::index, Paso_FCTransportProblem::iteration_matrix, Paso_FCTransportProblem::main_diagonal_low_order_transport_matrix, Paso_FCTransportProblem::main_iptr, Paso_SystemMatrix::mainBlock, Paso_SystemMatrixPattern::mainPattern, MIN3, Paso_noError(), Paso_SystemMatrix_alloc(), Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix::pattern, Paso_Pattern::ptr, Paso_SystemMatrix::row_block_size, Paso_SystemMatrix::row_coupleBlock, Paso_SystemMatrixPattern::row_couplePattern, Paso_FCTransportProblem::transport_matrix, TRUE, Paso_SystemMatrix::type, and Paso_SparseMatrix::val.
Referenced by Paso_FCTransportProblem_getSafeTimeStepSize().
void Paso_FCTransportProblem_setRs | ( | const Paso_SystemMatrix * | f, | |
const double * | lumped_mass_matrix, | |||
const Paso_Coupler * | QN, | |||
const Paso_Coupler * | QP, | |||
double * | RN, | |||
double * | RP | |||
) |
References Paso_SystemMatrix::col_coupleBlock, Paso_SystemMatrixPattern::col_couplePattern, Paso_Pattern::index, Paso_SystemMatrix::mainBlock, Paso_SystemMatrixPattern::mainPattern, MIN, Paso_Coupler_borrowLocalData, Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix::pattern, Paso_Pattern::ptr, and Paso_SparseMatrix::val.
Referenced by Paso_FCT_setUpRightHandSide().
void Paso_FCTransportProblem_setUpConstraint | ( | Paso_FCTransportProblem * | fctp, | |
const double * | q, | |||
const double | factor | |||
) |
References Paso_FCTransportProblem::constraint_factor, Paso_FCTransportProblem::constraint_weights, Paso_FCTransportProblem::dt_factor, Paso_FCTransportProblem::main_iptr, Paso_SystemMatrix::mainBlock, Paso_FCTransportProblem::mass_matrix, Paso_setError(), Paso_SystemMatrix_getTotalNumRows(), Paso_FCTransportProblem::transport_matrix, Paso_SparseMatrix::val, Paso_FCTransportProblem::valid_matrices, and VALUE_ERROR.
Referenced by finley::TransportProblemAdapter::copyConstraint().
void Paso_SolverFCT_setMuPaLuPbQ | ( | double * | out, | |
const double * | M, | |||
const Paso_Coupler * | u_coupler, | |||
const double | a, | |||
const Paso_SystemMatrix * | L, | |||
const double | b, | |||
const double * | Q | |||
) |
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_setUp(), and Paso_FCT_setUpRightHandSide().
void Paso_SolverFCT_setQs | ( | const Paso_Coupler * | u_coupler, | |
double * | QN, | |||
double * | QP, | |||
const Paso_SystemMatrix * | L | |||
) |
References Paso_SystemMatrixPattern::col_couplePattern, Paso_Pattern::index, Paso_SystemMatrixPattern::mainPattern, MAX, MIN, Paso_Coupler_borrowLocalData, Paso_Coupler_borrowRemoteData, Paso_SystemMatrix_getTotalNumRows(), Paso_SystemMatrix::pattern, and Paso_Pattern::ptr.
Referenced by Paso_FCT_setUp().
void Paso_SolverFCT_solve | ( | Paso_FCTransportProblem * | fctp, | |
double * | u, | |||
double | dt, | |||
double * | source, | |||
Paso_Options * | options | |||
) |
References ABS, Paso_Options::absolute_tolerance, Paso_SystemMatrix::col_block_size, Paso_FCTransportProblem::dt_max, EPSILON, FALSE, Paso_Options::iter_max, Paso_FCTransportProblem::iteration_matrix, LARGE_POSITIVE_FLOAT, Paso_FCTransportProblem::lumped_mass_matrix, MEMFREE, MIN, MIN3, Paso_FCTransportProblem::mpi_info, Paso_checkPtr(), Paso_Copy(), Paso_Coupler_alloc(), Paso_Coupler_free(), Paso_FCT_setSource(), Paso_FCT_setUp(), Paso_FCT_setUpRightHandSide(), Paso_FCTransportProblem_borrowConnector(), Paso_FCTransportProblem_getBlockSize(), Paso_FCTransportProblem_getSafeTimeStepSize(), Paso_lsup(), Paso_noError(), Paso_setError(), Paso_Solver_solvePreconditioner(), Paso_SystemMatrix_alloc(), Paso_SystemMatrix_free(), Paso_SystemMatrix_getTotalNumRows(), Paso_Update(), Paso_SystemMatrix::pattern, Paso_SystemMatrix::row_block_size, Paso_FCTransportProblem::theta, TMPMEMALLOC, TMPMEMFREE, Paso_Options::tolerance, Paso_FCTransportProblem::transport_matrix, TRUE, Paso_SystemMatrix::type, TYPE_ERROR, Paso_FCTransportProblem::u, VALUE_ERROR, and Paso_Options::verbose.
Referenced by finley::TransportProblemAdapter::setToSolution().