escript
Revision_
|
#include <TransportProblemAdapter.h>
Public Member Functions | |
TransportProblemAdapter () | |
Wrapper for paso::TransportProblem. | |
TransportProblemAdapter (TransportProblem_ptr transport_problem, int block_size, const escript::FunctionSpace &functionspace) | |
~TransportProblemAdapter () | |
Empty destructor for TransportProblemAdapter. | |
TransportProblem_ptr | getPaso_TransportProblem () const |
Returns the pointer to the transport problem. | |
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. | |
Static Public Member Functions | |
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, 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 | |
TransportProblem_ptr | m_transport_problem |
Wrapper for paso::TransportProblem.
Description: Wrapper for paso::TransportProblem. /brief Default Constructor for TransportProblemAdapter. NB: Only throws an exception.
paso::TransportProblemAdapter::TransportProblemAdapter | ( | TransportProblem_ptr | transport_problem, |
int | block_size, | ||
const escript::FunctionSpace & | functionspace | ||
) |
/brief Constructor for TransportProblemAdapter.
Empty destructor for TransportProblemAdapter.
void paso::TransportProblemAdapter::copyConstraint | ( | escript::Data & | source, |
escript::Data & | q, | ||
escript::Data & | r | ||
) | const [private, virtual] |
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.
Reimplemented from escript::AbstractTransportProblem.
References paso::checkPasoError(), escript::Data::copyWithMask(), escript::Data::expand(), escript::AbstractTransportProblem::getBlockSize(), escript::Data::getDataPointShape(), escript::Data::getDataPointSize(), escript::AbstractTransportProblem::getFunctionSpace(), escript::Data::getFunctionSpace(), escript::Data::getSampleDataRW(), m_transport_problem, escript::Data::requireWrite(), and paso::SystemMatrix_MatrixVector().
Returns the pointer to the transport problem.
References m_transport_problem.
Referenced by ripley::RipleyDomain::addPDEToTransportProblem(), dudley::MeshAdapter::addPDEToTransportProblem(), and finley::MeshAdapter::addPDEToTransportProblem().
double paso::TransportProblemAdapter::getSafeTimeStepSize | ( | ) | const [virtual] |
returns a save time step size.
Reimplemented from escript::AbstractTransportProblem.
References paso::checkPasoError(), and m_transport_problem.
Referenced by BOOST_PYTHON_MODULE().
int paso::TransportProblemAdapter::getTransportTypeId | ( | const int | solver, |
const int | preconditioner, | ||
const int | package, | ||
const bool | symmetry, | ||
Esys_MPIInfo * | mpiInfo | ||
) | [static] |
returns the identifier of the transport problem type to be used when a particular solver, preconditioner and package is used
References paso::TransportProblem::getTypeId(), and paso::SystemMatrixAdapter::mapOptionToPaso().
double paso::TransportProblemAdapter::getUnlimitedTimeStepSize | ( | ) | const [virtual] |
returns the value for unlimited time step size.
Reimplemented from escript::AbstractTransportProblem.
References LARGE_POSITIVE_FLOAT.
Referenced by BOOST_PYTHON_MODULE().
void paso::TransportProblemAdapter::resetTransport | ( | ) | const [virtual] |
resets the transport operator typically as they have been updated.
Reimplemented from escript::AbstractTransportProblem.
References paso::checkPasoError(), and m_transport_problem.
Referenced by BOOST_PYTHON_MODULE().
void paso::TransportProblemAdapter::setToSolution | ( | escript::Data & | out, |
escript::Data & | u0, | ||
escript::Data & | source, | ||
double | dt, | ||
boost::python::object & | options | ||
) | const [private, virtual] |
sets solution out by time step dt.
Reimplemented from escript::AbstractTransportProblem.
References paso::checkPasoError(), paso::SystemMatrixAdapter::escriptToPasoOptions(), escript::Data::expand(), escript::AbstractTransportProblem::getBlockSize(), escript::Data::getDataPointSize(), escript::AbstractTransportProblem::getFunctionSpace(), escript::Data::getFunctionSpace(), escript::Data::getSampleDataRW(), m_transport_problem, paso::SystemMatrixAdapter::pasoToEscriptOptions(), and escript::Data::requireWrite().
Referenced by copyConstraint(), getPaso_TransportProblem(), getSafeTimeStepSize(), resetTransport(), and setToSolution().