Escript
Revision_4320
|
#include <TransportProblemAdapter.h>
Public Member Functions | |
TransportProblemAdapter () | |
Wrapper for Paso_TransportProblem. | |
TransportProblemAdapter (Paso_TransportProblem *transport_problem, const int block_size, const escript::FunctionSpace &functionspace) | |
~TransportProblemAdapter () | |
Destructor for TransportProblemAdapter. As specified in the constructor this deallocates the pointer given to the constructor. | |
Paso_TransportProblem * | getPaso_TransportProblem () const |
Returns the pointer to the transport problem. | |
const escript::AbstractTransportProblem & | asAbstractTransportProblem () const |
Returns the transport problem as a const AbstractTransportProblem&. | |
virtual void | resetTransport () const |
resets the transport operator typically as they have been updated. | |
virtual double | getSafeTimeStepSize () const |
returns a save time step size. | |
virtual double | getUnlimitedTimeStepSize () const |
returns the value for unlimited time step size. | |
![]() | |
AbstractTransportProblem () | |
Default constructor for AbstractTransportProblem. | |
AbstractTransportProblem (const int blocksize, const FunctionSpace &functionspace) | |
virtual | ~AbstractTransportProblem () |
Destructor. | |
int | isEmpty () const |
FunctionSpace | getFunctionSpace () const |
returns the column function space | |
int | getBlockSize () const |
returns the block size | |
Data | solve (Data &u0, Data &source, const double dt, boost::python::object &options) const |
returns the solution u for a time step dt>0 with initial value u0 at time t=0 | |
void | insertConstraint (Data &source, Data &q, Data &r) const |
inserts constraint u_{,t}=r where q>0 into the problem |
Static Public Member Functions | |
static const TransportProblemAdapter & | asTransportProblemAdapter (const AbstractTransportProblem &transportproblem) |
Returns a transport problem as a const TransportProblemAdapter&. | |
static int | getTransportTypeId (const int solver, const int preconditioner, const int package, const bool symmetry, Esys_MPIInfo *mpiInfo) |
returns the identifier of the transport problem type to be used when a particular solver, preconditioner and package is used |
Private Member Functions | |
virtual void | setToSolution (escript::Data &out, escript::Data &u0, escript::Data &source, const double dt, boost::python::object &options) const |
sets solution out by time step dt. | |
virtual void | copyConstraint (escript::Data &source, escript::Data &q, escript::Data &r) const |
copy constraint u_{,t}=r where q>0 into the problem it is assumed that q and r are not empty and has appropriate shape and function space. |
Private Attributes | |
boost::shared_ptr < Paso_TransportProblem > | m_transport_problem |
paso::TransportProblemAdapter::TransportProblemAdapter | ( | ) |
Wrapper for Paso_TransportProblem.
Description: Wrapper for Paso_TransportProblem. /brief Default Constructor for TransportProblemAdapter. NB: Only throws an exception.
paso::TransportProblemAdapter::TransportProblemAdapter | ( | Paso_TransportProblem * | transport_problem, |
const int | block_size, | ||
const escript::FunctionSpace & | functionspace | ||
) |
/brief Constructor for TransportProblemAdapter.
References m_transport_problem.
paso::TransportProblemAdapter::~TransportProblemAdapter | ( | ) |
Destructor for TransportProblemAdapter. As specified in the constructor this deallocates the pointer given to the constructor.
References m_transport_problem, and Paso_TransportProblem_free().
|
inline |
Returns the transport problem as a const AbstractTransportProblem&.
|
inlinestatic |
Returns a transport problem as a const TransportProblemAdapter&.
|
privatevirtual |
copy constraint u_{,t}=r where q>0 into the problem it is assumed that q and r are not empty and has appropriate shape and function space.
References paso::checkPasoError(), escript::Data::copyWithMask(), escript::Data::expand(), escript::AbstractTransportProblem::getBlockSize(), escript::Data::getDataPointShape(), escript::Data::getDataPointSize(), escript::AbstractTransportProblem::getFunctionSpace(), escript::Data::getFunctionSpace(), getPaso_TransportProblem(), escript::Data::getSampleDataRW(), Paso_TransportProblem::mass_matrix, Paso_SystemMatrix_MatrixVector(), Paso_SystemMatrix_nullifyRows(), Paso_SystemMatrix_nullifyRowsAndCols(), Paso_TransportProblem_insertConstraint(), Paso_TransportProblem_setUpConstraint(), escript::Data::requireWrite(), and Paso_TransportProblem::transport_matrix.
Paso_TransportProblem * paso::TransportProblemAdapter::getPaso_TransportProblem | ( | ) | const |
Returns the pointer to the transport problem.
References m_transport_problem.
Referenced by ripley::RipleyDomain::addPDEToTransportProblem(), dudley::MeshAdapter::addPDEToTransportProblem(), finley::MeshAdapter::addPDEToTransportProblem(), copyConstraint(), getSafeTimeStepSize(), resetTransport(), and setToSolution().
|
virtual |
returns a save time step size.
Reimplemented from escript::AbstractTransportProblem.
References paso::checkPasoError(), getPaso_TransportProblem(), and Paso_TransportProblem_getSafeTimeStepSize().
Referenced by BOOST_PYTHON_MODULE().
|
static |
returns the identifier of the transport problem type to be used when a particular solver, preconditioner and package is used
References paso::checkPasoError(), paso::SystemMatrixAdapter::mapOptionToPaso(), and Paso_TransportProblem_getTypeId().
|
virtual |
returns the value for unlimited time step size.
Reimplemented from escript::AbstractTransportProblem.
References LARGE_POSITIVE_FLOAT.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
resets the transport operator typically as they have been updated.
Reimplemented from escript::AbstractTransportProblem.
References paso::checkPasoError(), getPaso_TransportProblem(), and Paso_TransportProblem_reset().
Referenced by BOOST_PYTHON_MODULE().
|
privatevirtual |
sets solution out by time step dt.
References paso::checkPasoError(), paso::SystemMatrixAdapter::escriptToPasoOptions(), escript::Data::expand(), escript::AbstractTransportProblem::getBlockSize(), escript::Data::getDataPointSize(), escript::AbstractTransportProblem::getFunctionSpace(), escript::Data::getFunctionSpace(), getPaso_TransportProblem(), escript::Data::getSampleDataRW(), Paso_TransportProblem_solve(), paso::SystemMatrixAdapter::pasoToEscriptOptions(), and escript::Data::requireWrite().
|
private |
Referenced by getPaso_TransportProblem(), TransportProblemAdapter(), and ~TransportProblemAdapter().