/[escript]/branches/arrexp_2137_win_merge/escript/src/AbstractTransportProblem.h
ViewVC logotype

Diff of /branches/arrexp_2137_win_merge/escript/src/AbstractTransportProblem.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/escript/src/AbstractTransportProblem.h revision 1364 by gross, Mon Dec 17 07:22:45 2007 UTC branches/arrexp_2137_win/escript/src/AbstractTransportProblem.h revision 2202 by jfenwick, Fri Jan 9 01:28:32 2009 UTC
# Line 1  Line 1 
1    
 /* $Id:$ */  
   
2  /*******************************************************  /*******************************************************
3   *  *
4   *       Copyright 2007 by University of Queensland  * Copyright (c) 2003-2008 by University of Queensland
5   *  * Earth Systems Science Computational Center (ESSCC)
6   *                http://esscc.uq.edu.au  * http://www.uq.edu.au/esscc
7   *        Primary Business: Queensland, Australia  *
8   *  Licensed under the Open Software License version 3.0  * Primary Business: Queensland, Australia
9   *     http://www.opensource.org/licenses/osl-3.0.php  * Licensed under the Open Software License version 3.0
10   *  * http://www.opensource.org/licenses/osl-3.0.php
11   *******************************************************/  *
12    *******************************************************/
13    
14    
15  #if !defined  escript_AbstractTransportProblem_H  #if !defined  escript_AbstractTransportProblem_H
16  #define escript_AbstractTransportProblem_H  #define escript_AbstractTransportProblem_H
# Line 60  class AbstractTransportProblem { Line 60  class AbstractTransportProblem {
60    
61    ESCRIPT_DLL_API    ESCRIPT_DLL_API
62    AbstractTransportProblem(const double theta,    AbstractTransportProblem(const double theta,
                            const double dt_max,  
63                             const int blocksize,                             const int blocksize,
64                             const FunctionSpace& functionspace);                             const FunctionSpace& functionspace);
65    
# Line 82  class AbstractTransportProblem { Line 81  class AbstractTransportProblem {
81    inline FunctionSpace getFunctionSpace() const    inline FunctionSpace getFunctionSpace() const
82    {    {
83         if (isEmpty())         if (isEmpty())
84              throw TransportProblemException("Error - Matrix is empty.");              throw TransportProblemException("Error - Transport Problem is empty.");
85         return m_functionspace;         return m_functionspace;
86    }    }
87    
# Line 94  class AbstractTransportProblem { Line 93  class AbstractTransportProblem {
93    inline int getBlockSize() const    inline int getBlockSize() const
94    {    {
95         if (isEmpty())         if (isEmpty())
96              throw TransportProblemException("Error - Matrix is empty.");              throw TransportProblemException("Error - Transport Problem is empty.");
97         return m_blocksize;         return m_blocksize;
98    }    }
99    
# Line 111  class AbstractTransportProblem { Line 110  class AbstractTransportProblem {
110    */    */
111    ESCRIPT_DLL_API    ESCRIPT_DLL_API
112    void setInitialValue(Data& u) const;    void setInitialValue(Data& u) const;
113    
114    /**    /**
115       \brief resets the transport operator typically as they have been updated.       \brief resets the transport operator typically as they have been updated.
116    */    */
117    ESCRIPT_DLL_API    ESCRIPT_DLL_API
118    virtual void resetTransport() const;    virtual void resetTransport() const;
119    
120      /**
121         \brief
122         inserts constraint u_{,t}=r where q>0  into the problem.
123      */
124      ESCRIPT_DLL_API
125      void insertConstraint(Data& source, Data& q, Data& r) const;
126      /*
127       *      \brief returns a safe time step size.
128       */
129      ESCRIPT_DLL_API
130      virtual double getSafeTimeStepSize() const;
131      /*
132       *      \brief returns the value for unlimited time step size.
133       */
134      ESCRIPT_DLL_API
135      virtual double getUnlimitedTimeStepSize() const;
136    
137    
138   protected:   protected:
139    
140   private:   private:
# Line 134  class AbstractTransportProblem { Line 152  class AbstractTransportProblem {
152    */    */
153    ESCRIPT_DLL_API    ESCRIPT_DLL_API
154    virtual void copyInitialValue(Data& u) const;    virtual void copyInitialValue(Data& u) const;
155      /**
156         \brief
157         copy constraint u_{,t}=r where q>0  into the problem
158         it can be assumed that q and r are not empty and have  
159         appropriate shape and function space.
160      */
161      ESCRIPT_DLL_API
162      virtual void copyConstraint(Data& source, Data& q, Data& r) const;
163    
164    int m_empty;    int m_empty;
165    int m_blocksize;    int m_blocksize;
166    double m_theta;    double m_theta;
   double m_dt_max;  
167    FunctionSpace m_functionspace;    FunctionSpace m_functionspace;
168    
169  };  };

Legend:
Removed from v.1364  
changed lines
  Added in v.2202

  ViewVC Help
Powered by ViewVC 1.1.26