|
escript
Revision_Unversioneddirectory
|
#include <Transport.h>
Public Member Functions | |
| TransportProblem (SystemMatrixPattern_ptr pattern, int block_size) | |
| ~TransportProblem () | |
| void | reset () |
| void | solve (double *u, double dt, double *u0, double *q, Options *options) |
| double | getSafeTimeStepSize () |
| void | insertConstraint (const double *r, double *source) |
| void | setUpConstraint (const double *q) |
| dim_t | getBlockSize () const |
| SystemMatrix_ptr | borrowTransportMatrix () const |
| SystemMatrix_ptr | borrowMassMatrix () const |
| double * | borrowLumpedMassMatrix () const |
| dim_t | getTotalNumRows () const |
| Connector_ptr | borrowConnector () const |
| index_t * | borrowMainDiagonalPointer () const |
Static Public Member Functions | |
| static index_t | getTypeId (index_t solver, index_t preconditioner, index_t package, bool symmetry, const esysUtils::JMPI &mpi_info) |
Public Attributes | |
| SystemMatrix_ptr | transport_matrix |
| SystemMatrix_ptr | mass_matrix |
| SystemMatrix_ptr | iteration_matrix |
| bool | valid_matrices |
| double | dt_max_R |
| safe time step size for reactive part More... | |
| double | dt_max_T |
| safe time step size for transport part More... | |
| double * | constraint_mask |
| double * | main_diagonal_low_order_transport_matrix |
| double * | lumped_mass_matrix |
| double * | reactive_matrix |
| double * | main_diagonal_mass_matrix |
| esysUtils::JMPI | mpi_info |
| paso::TransportProblem::TransportProblem | ( | SystemMatrixPattern_ptr | pattern, |
| int | block_size | ||
| ) |
| paso::TransportProblem::~TransportProblem | ( | ) |
|
inline |
References transport_matrix.
|
inline |
References lumped_mass_matrix.
|
inline |
References mass_matrix.
|
inline |
References mass_matrix.
|
inline |
References transport_matrix.
|
inline |
References transport_matrix.
Referenced by solve().
| double paso::TransportProblem::getSafeTimeStepSize | ( | ) |
References constraint_mask, dt_max_R, dt_max_T, Esys_noError(), Esys_setError(), paso::FCT_Solver::getSafeTimeStepSize(), paso::ReactiveSolver::getSafeTimeStepSize(), lumped_mass_matrix, main_diagonal_mass_matrix, mass_matrix, MAX, MIN, mpi_info, MPI_INT, MPI_MAX, reactive_matrix, transport_matrix, valid_matrices, and VALUE_ERROR.
Referenced by solve().
|
inline |
References transport_matrix.
|
inlinestatic |
References MATRIX_FORMAT_BLK1, and MATRIX_FORMAT_DEFAULT.
Referenced by paso::TransportProblemAdapter::getTransportTypeId().
| void paso::TransportProblem::insertConstraint | ( | const double * | r, |
| double * | source | ||
| ) |
References constraint_mask, and transport_matrix.
| void paso::TransportProblem::reset | ( | ) |
References constraint_mask, iteration_matrix, mass_matrix, paso::solve_free(), transport_matrix, valid_matrices, and paso::util::zeroes().
| void paso::TransportProblem::setUpConstraint | ( | const double * | q | ) |
References constraint_mask, Esys_setError(), transport_matrix, valid_matrices, and VALUE_ERROR.
| void paso::TransportProblem::solve | ( | double * | u, |
| double | dt, | ||
| double * | u0, | ||
| double * | q, | ||
| Options * | options | ||
| ) |
References paso::util::copy(), dt_max_R, dt_max_T, EPSILON, Esys_noError(), Esys_setError(), getBlockSize(), getSafeTimeStepSize(), paso::ReactiveSolver::initialize(), paso::FCT_Solver::initialize(), LARGE_POSITIVE_FLOAT, MEMORY_ERROR, MIN, paso::Options::num_iter, paso::Options::ode_solver, PASO_BACKWARD_EULER, PASO_CRANK_NICOLSON, PASO_LINEAR_CRANK_NICOLSON, paso::ReactiveSolver::solve(), SOLVER_BREAKDOWN, SOLVER_DIVERGENCE, SOLVER_INPUT_ERROR, SOLVER_MAXITER_REACHED, SOLVER_MEMORY_ERROR, SOLVER_NEGATIVE_NORM_ERROR, SOLVER_NO_ERROR, SYSTEM_ERROR, paso::Options::time_step_backtracking_used, transport_matrix, paso::FCT_Solver::update(), VALUE_ERROR, and paso::Options::verbose.
| double* paso::TransportProblem::constraint_mask |
Referenced by getSafeTimeStepSize(), insertConstraint(), reset(), setUpConstraint(), TransportProblem(), and ~TransportProblem().
| double paso::TransportProblem::dt_max_R |
safe time step size for reactive part
Referenced by getSafeTimeStepSize(), and solve().
| double paso::TransportProblem::dt_max_T |
safe time step size for transport part
Referenced by getSafeTimeStepSize(), and solve().
| SystemMatrix_ptr paso::TransportProblem::iteration_matrix |
Referenced by reset().
| double* paso::TransportProblem::lumped_mass_matrix |
'relevant' lumped mass matrix is assumed to be positive. Values with corresponding constraint_mask > 0 value are set to -1 to indicate the value infinity
Referenced by borrowLumpedMassMatrix(), getSafeTimeStepSize(), TransportProblem(), and ~TransportProblem().
| double* paso::TransportProblem::main_diagonal_low_order_transport_matrix |
Referenced by TransportProblem(), and ~TransportProblem().
| double* paso::TransportProblem::main_diagonal_mass_matrix |
Referenced by getSafeTimeStepSize(), TransportProblem(), and ~TransportProblem().
| SystemMatrix_ptr paso::TransportProblem::mass_matrix |
Referenced by borrowMainDiagonalPointer(), borrowMassMatrix(), getSafeTimeStepSize(), reset(), and TransportProblem().
| esysUtils::JMPI paso::TransportProblem::mpi_info |
Referenced by getSafeTimeStepSize(), and TransportProblem().
| double* paso::TransportProblem::reactive_matrix |
Referenced by getSafeTimeStepSize(), TransportProblem(), and ~TransportProblem().
| SystemMatrix_ptr paso::TransportProblem::transport_matrix |
| bool paso::TransportProblem::valid_matrices |
Referenced by getSafeTimeStepSize(), reset(), and setUpConstraint().
1.8.11