/[escript]/trunk/paso/src/Transport.h
ViewVC logotype

Diff of /trunk/paso/src/Transport.h

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

revision 3792 by jfenwick, Mon Oct 11 01:48:14 2010 UTC revision 3793 by gross, Wed Feb 1 07:39:43 2012 UTC
# Line 24  Line 24 
24    
25  typedef struct Paso_TransportProblem {  typedef struct Paso_TransportProblem {
26    
     bool_t useBackwardEuler;  
   
27      bool_t valid_matrices;      bool_t valid_matrices;
28      double dt_max;       /* safe time step size */      double dt_max_R;       /* safe time step size for reactive  part */
29      double dt_failed;      double dt_max_T;       /* safe time step size for transport  part */
30    
     /****************** REVISE ****************************/  
     double dt_factor;    
31    
32        /****************** REVISE ****************************/
33        double dt_factor;
34      double constraint_factor;        double constraint_factor;  
35      double* constraint_weights;      double* constraint_weights;
36  /*****************************************************/  /*****************************************************/
37    
38      Paso_SystemMatrix * transport_matrix;      Paso_SystemMatrix * transport_matrix;
39      Paso_SystemMatrix * mass_matrix;      Paso_SystemMatrix * mass_matrix;
40        
     Paso_Coupler* u_coupler;  
41      Paso_SystemMatrix * iteration_matrix;      Paso_SystemMatrix * iteration_matrix;
42      double* main_diagonal_low_order_transport_matrix;      double* main_diagonal_low_order_transport_matrix;
43      double* lumped_mass_matrix;      double* lumped_mass_matrix;
# Line 58  PASO_DLL_API Line 55  PASO_DLL_API
55  Paso_TransportProblem* Paso_TransportProblem_getReference(Paso_TransportProblem* in);  Paso_TransportProblem* Paso_TransportProblem_getReference(Paso_TransportProblem* in);
56    
57  PASO_DLL_API  PASO_DLL_API
58  Paso_TransportProblem* Paso_TransportProblem_alloc(bool_t useBackwardEuler, Paso_SystemMatrixPattern *pattern, int block_size);  Paso_TransportProblem* Paso_TransportProblem_alloc(Paso_SystemMatrixPattern *pattern, int block_size);
59    
60  PASO_DLL_API  PASO_DLL_API
61  dim_t Paso_TransportProblem_getBlockSize(const Paso_TransportProblem* in);  dim_t Paso_TransportProblem_getBlockSize(const Paso_TransportProblem* in);
# Line 101  PASO_DLL_API Line 98  PASO_DLL_API
98  void Paso_TransportProblem_setUpConstraint(Paso_TransportProblem* fctp,  const double* q, const double factor);  void Paso_TransportProblem_setUpConstraint(Paso_TransportProblem* fctp,  const double* q, const double factor);
99    
100  #define Paso_TransportProblem_borrowMainDiagonalPointer(_fct_) Paso_SparseMatrix_borrowMainDiagonalPointer((_fct_)->mass_matrix->mainBlock)  #define Paso_TransportProblem_borrowMainDiagonalPointer(_fct_) Paso_SparseMatrix_borrowMainDiagonalPointer((_fct_)->mass_matrix->mainBlock)
101  #define Paso_Transport_getTheta(_fct_) ( ( (_fct_)->useBackwardEuler ) ? 1. : 0.5 )  #define Paso_TransportProblem_getBlockSize(__in__) (__in__)->transport_matrix->row_block_size
102    #define Paso_TransportProblem_borrowConnector(__in__) (__in__)->transport_matrix->pattern->col_connector
103    #define Paso_TransportProblem_borrowTransportMatrix(__in__) (__in__)->transport_matrix
104    #define Paso_TransportProblem_borrowMassMatrix(__in__) (__in__)->mass_matrix
105    #define Paso_TransportProblem_borrowLumpedMassMatrix(__in__) (__in__)->lumped_mass_matrix
106    #define Paso_TransportProblem_getTotalNumRows(__in__) Paso_SystemMatrix_getTotalNumRows((__in__)->transport_matrix)
107    
108    
109    
110    
111  #endif /* #ifndef INC_PASOTRANSPORT */  #endif /* #ifndef INC_PASOTRANSPORT */

Legend:
Removed from v.3792  
changed lines
  Added in v.3793

  ViewVC Help
Powered by ViewVC 1.1.26