#include <AbstractTransportProblem.h>
Public Member Functions | |
AbstractTransportProblem () | |
Default constructor for AbstractTransportProblem. | |
AbstractTransportProblem (const double theta, 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 &source, const double dt, boost::python::object &options) const |
returns the solution u for a time step dt>0 | |
void | setInitialValue (Data &u) const |
sets the value for u at time t=0. | |
virtual void | resetTransport () const |
resets the transport operator typically as they have been updated. | |
void | insertConstraint (Data &source, Data &q, Data &r, const double factor) const |
inserts constraint u_{,t}=r where q>0 into the problem using a weighting factor | |
virtual double | getSafeTimeStepSize () const |
virtual double | getUnlimitedTimeStepSize () const |
Private Member Functions | |
virtual void | setToSolution (Data &out, Data &source, const double dt, boost::python::object &options) const |
sets solution out by time step dt. | |
virtual void | copyInitialValue (Data &u) const |
copies the initial value into the problem | |
virtual void | copyConstraint (Data &source, Data &q, Data &r, const double factor) const |
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. | |
Private Attributes | |
int | m_empty |
int | m_blocksize |
double | m_theta |
FunctionSpace | m_functionspace |
Description: Give a detailed description of AbstractTransportProblem
Template Parameters: For templates describe any conditions that the parameters used in the template must satisfy
escript::AbstractTransportProblem::AbstractTransportProblem | ( | ) |
Default constructor for AbstractTransportProblem.
Description: Default constructor for AbstractTransportProblem
Preconditions: Describe any preconditions
Throws: Describe any exceptions thrown
References m_empty.
escript::AbstractTransportProblem::AbstractTransportProblem | ( | const double | theta, | |
const int | blocksize, | |||
const FunctionSpace & | functionspace | |||
) |
References m_blocksize, m_empty, and m_theta.
escript::AbstractTransportProblem::~AbstractTransportProblem | ( | ) | [virtual] |
Destructor.
int escript::AbstractTransportProblem::isEmpty | ( | ) | const |
References m_empty.
Referenced by BOOST_PYTHON_MODULE(), getBlockSize(), getFunctionSpace(), insertConstraint(), setInitialValue(), and solve().
FunctionSpace escript::AbstractTransportProblem::getFunctionSpace | ( | ) | const [inline] |
returns the column function space
References isEmpty(), and m_functionspace.
Referenced by finley::TransportProblemAdapter::copyConstraint(), finley::TransportProblemAdapter::copyInitialValue(), insertConstraint(), setInitialValue(), finley::TransportProblemAdapter::setToSolution(), and solve().
int escript::AbstractTransportProblem::getBlockSize | ( | ) | const [inline] |
returns the block size
References isEmpty(), and m_blocksize.
Referenced by finley::TransportProblemAdapter::copyConstraint(), finley::TransportProblemAdapter::copyInitialValue(), insertConstraint(), setInitialValue(), finley::TransportProblemAdapter::setToSolution(), and solve().
Data escript::AbstractTransportProblem::solve | ( | Data & | source, | |
const double | dt, | |||
boost::python::object & | options | |||
) | const |
returns the solution u for a time step dt>0
References getBlockSize(), escript::Data::getDataPointSize(), getFunctionSpace(), escript::Data::getFunctionSpace(), isEmpty(), and setToSolution().
Referenced by BOOST_PYTHON_MODULE().
void escript::AbstractTransportProblem::setInitialValue | ( | Data & | u | ) | const |
sets the value for u at time t=0.
References copyInitialValue(), getBlockSize(), escript::Data::getDataPointRank(), escript::Data::getDataPointSize(), getFunctionSpace(), escript::Data::isEmpty(), and isEmpty().
Referenced by BOOST_PYTHON_MODULE().
void escript::AbstractTransportProblem::resetTransport | ( | ) | const [virtual] |
resets the transport operator typically as they have been updated.
Reimplemented in finley::TransportProblemAdapter.
Referenced by BOOST_PYTHON_MODULE().
void escript::AbstractTransportProblem::insertConstraint | ( | Data & | source, | |
Data & | q, | |||
Data & | r, | |||
const double | factor | |||
) | const |
inserts constraint u_{,t}=r where q>0 into the problem using a weighting factor
References copyConstraint(), escript::Data::expand(), getBlockSize(), escript::Data::getDataPointRank(), escript::Data::getDataPointShape(), escript::Data::getDataPointSize(), getFunctionSpace(), escript::Data::isEmpty(), and isEmpty().
Referenced by BOOST_PYTHON_MODULE().
double escript::AbstractTransportProblem::getSafeTimeStepSize | ( | ) | const [virtual] |
double escript::AbstractTransportProblem::getUnlimitedTimeStepSize | ( | ) | const [virtual] |
void escript::AbstractTransportProblem::setToSolution | ( | Data & | out, | |
Data & | source, | |||
const double | dt, | |||
boost::python::object & | options | |||
) | const [private, virtual] |
sets solution out by time step dt.
Reimplemented in finley::TransportProblemAdapter.
Referenced by solve().
void escript::AbstractTransportProblem::copyInitialValue | ( | Data & | u | ) | const [private, virtual] |
copies the initial value into the problem
Reimplemented in finley::TransportProblemAdapter.
Referenced by setInitialValue().
void escript::AbstractTransportProblem::copyConstraint | ( | Data & | source, | |
Data & | q, | |||
Data & | r, | |||
const double | factor | |||
) | const [private, virtual] |
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 in finley::TransportProblemAdapter.
Referenced by insertConstraint().
int escript::AbstractTransportProblem::m_empty [private] |
Referenced by AbstractTransportProblem(), and isEmpty().
int escript::AbstractTransportProblem::m_blocksize [private] |
Referenced by AbstractTransportProblem(), and getBlockSize().
double escript::AbstractTransportProblem::m_theta [private] |
Referenced by AbstractTransportProblem().
Referenced by getFunctionSpace().