|
escript
Revision_
|
#include <Transport.h>
Public Member Functions | |
| TransportProblem () | |
| Default constructor - throws exception. More... | |
| TransportProblem (SystemMatrixPattern_ptr pattern, int blocksize, const escript::FunctionSpace &functionspace) | |
| ~TransportProblem () | |
| virtual void | resetTransport (bool preserveSolverData) const |
| resets the transport operator typically as they have been updated. More... | |
| void | solve (double *u, double dt, double *u0, double *q, Options *options) |
| virtual double | getSafeTimeStepSize () const |
| virtual double | getUnlimitedTimeStepSize () const |
| void | insertConstraint (const double *r, double *source) const |
| 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 |
Public Member Functions inherited from escript::AbstractTransportProblem | |
| AbstractTransportProblem () | |
| Default constructor for AbstractTransportProblem. More... | |
| AbstractTransportProblem (const int blocksize, const FunctionSpace &functionspace) | |
| virtual | ~AbstractTransportProblem () |
| Destructor. More... | |
| int | isEmpty () const |
| FunctionSpace | getFunctionSpace () const |
| returns the column function space More... | |
| int | getBlockSize () const |
| returns the block size More... | |
| Data | solve (Data &u0, Data &source, const double dt, boost::python::object &options) |
| returns the solution u for a time step dt>0 with initial value u0 at time t=0 More... | |
| void | insertConstraint (Data &source, Data &q, Data &r) |
| inserts constraint u_{,t}=r where q>0 into the problem More... | |
Static Public Member Functions | |
| static int | getTypeId (int solver, int preconditioner, int package, bool symmetry, const escript::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 |
| escript::JMPI | mpi_info |
Private Member Functions | |
| virtual void | setToSolution (escript::Data &out, escript::Data &u0, escript::Data &source, double dt, boost::python::object &options) |
| sets solution out by time step dt. More... | |
| virtual void | copyConstraint (escript::Data &source, escript::Data &q, escript::Data &r) |
| copy constraint u_{,t}=r where q>0 into the problem it can be assumed that q and r are not empty and have appropriate shape and function space. More... | |
| paso::TransportProblem::TransportProblem | ( | ) |
Default constructor - throws exception.
| paso::TransportProblem::TransportProblem | ( | SystemMatrixPattern_ptr | pattern, |
| int | blocksize, | ||
| const escript::FunctionSpace & | functionspace | ||
| ) |
| paso::TransportProblem::~TransportProblem | ( | ) |
|
inline |
References transport_matrix.
|
inline |
References lumped_mass_matrix.
|
inline |
References mass_matrix.
|
inline |
|
inline |
|
privatevirtual |
copy constraint u_{,t}=r where q>0 into the problem it can be assumed that q and r are not empty and have appropriate shape and function space.
Reimplemented from escript::AbstractTransportProblem.
References escript::Data::copyWithMask(), escript::DataTypes::DataVectorAlt< T >::data(), escript::Data::expand(), getBlockSize(), escript::Data::getDataPointShape(), escript::Data::getDataPointSize(), escript::Data::getExpandedVectorReference(), escript::AbstractTransportProblem::getFunctionSpace(), escript::Data::getFunctionSpace(), escript::Data::getSampleDataRW(), insertConstraint(), escript::Data::isComplex(), mass_matrix, escript::Data::requireWrite(), setUpConstraint(), and transport_matrix.
|
inline |
References transport_matrix.
Referenced by copyConstraint(), and setToSolution().
|
virtual |
Reimplemented from escript::AbstractTransportProblem.
References constraint_mask, and lumped_mass_matrix.
|
inline |
References transport_matrix.
|
inlinestatic |
References MATRIX_FORMAT_BLK1, and MATRIX_FORMAT_DEFAULT.
Referenced by ripley::RipleyDomain::getTransportTypeId(), dudley::DudleyDomain::getTransportTypeId(), and finley::FinleyDomain::getTransportTypeId().
|
virtual |
Reimplemented from escript::AbstractTransportProblem.
| void paso::TransportProblem::insertConstraint | ( | const double * | r, |
| double * | source | ||
| ) | const |
References constraint_mask, and transport_matrix.
Referenced by copyConstraint().
|
virtual |
resets the transport operator typically as they have been updated.
Reimplemented from escript::AbstractTransportProblem.
References constraint_mask, iteration_matrix, mass_matrix, paso::solve_free(), transport_matrix, valid_matrices, and paso::util::zeroes().
|
privatevirtual |
sets solution out by time step dt.
Reimplemented from escript::AbstractTransportProblem.
References escript::DataTypes::DataVectorAlt< T >::data(), escript::Data::expand(), getBlockSize(), escript::Data::getDataPointSize(), escript::Data::getExpandedVectorReference(), escript::AbstractTransportProblem::getFunctionSpace(), escript::Data::getFunctionSpace(), escript::Data::isComplex(), escript::Data::requireWrite(), solve(), and paso::Options::updateEscriptDiagnostics().
| void paso::TransportProblem::setUpConstraint | ( | const double * | q | ) |
References constraint_mask, transport_matrix, and valid_matrices.
Referenced by copyConstraint().
| void paso::TransportProblem::solve | ( | double * | u, |
| double | dt, | ||
| double * | u0, | ||
| double * | q, | ||
| Options * | options | ||
| ) |
Referenced by setToSolution().
|
mutable |
Referenced by getSafeTimeStepSize(), insertConstraint(), resetTransport(), setUpConstraint(), TransportProblem(), and ~TransportProblem().
|
mutable |
safe time step size for reactive part
|
mutable |
safe time step size for transport part
| SystemMatrix_ptr paso::TransportProblem::iteration_matrix |
Referenced by resetTransport().
| 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 TransportProblem(), and ~TransportProblem().
| SystemMatrix_ptr paso::TransportProblem::mass_matrix |
Referenced by borrowMainDiagonalPointer(), borrowMassMatrix(), copyConstraint(), resetTransport(), and TransportProblem().
| escript::JMPI paso::TransportProblem::mpi_info |
Referenced by TransportProblem().
| double* paso::TransportProblem::reactive_matrix |
Referenced by TransportProblem(), and ~TransportProblem().
| SystemMatrix_ptr paso::TransportProblem::transport_matrix |
|
mutable |
Referenced by resetTransport(), and setUpConstraint().
1.8.17