/[escript]/branches/symbolic_from_3470/paso/src/FluxLimiter.h
ViewVC logotype

Contents of /branches/symbolic_from_3470/paso/src/FluxLimiter.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3868 - (show annotations)
Thu Mar 15 06:07:08 2012 UTC (7 years, 1 month ago) by caltinay
File MIME type: text/plain
File size: 1655 byte(s)
Update to latest trunk

1
2 /*******************************************************
3 *
4 * Copyright (c) 2003-2010 by University of Queensland
5 * Earth Systems Science Computational Center (ESSCC)
6 * http://www.uq.edu.au/esscc
7 *
8 * Primary Business: Queensland, Australia
9 * Licensed under the Open Software License version 3.0
10 * http://www.opensource.org/licenses/osl-3.0.php
11 *
12 *******************************************************/
13
14
15 #ifndef INC_PASOFCTLIMITER
16 #define INC_PASOFCTLIMITER
17
18 #include "Transport.h"
19
20
21 typedef struct Paso_FCT_FluxLimiter {
22 Paso_SystemMatrix *antidiffusive_fluxes;
23 Esys_MPIInfo *mpi_info;
24 double dt;
25 double* u_tilde;
26 double* MQ; /* (M_C* Q_min, M_C* Q_max) */
27 double* R; /* (R-, R+) */
28 /* Paso_Coupler *MQ_coupler; */
29 Paso_Coupler *R_coupler;
30 Paso_Coupler *u_tilde_coupler;
31 double* borrowed_lumped_mass_matrix; /* borrowd reference */
32 } Paso_FCT_FluxLimiter;
33
34 #define Paso_FCT_FluxLimiter_getTotalNumRows(_f_) Paso_SystemMatrix_getTotalNumRows((_f_)->antidiffusive_fluxes)
35 #define Paso_FCT_FluxLimiter_getFluxPattern(_f_) ((_f_)->antidiffusive_fluxes->pattern)
36
37 PASO_DLL_API Paso_FCT_FluxLimiter* Paso_FCT_FluxLimiter_alloc(Paso_TransportProblem *fctp);
38 PASO_DLL_API void Paso_FCT_FluxLimiter_free(Paso_FCT_FluxLimiter * in);
39 PASO_DLL_API void Paso_FCT_FluxLimiter_setU_tilda(Paso_FCT_FluxLimiter* flux_limiter, const double *Mu_tilda);
40 PASO_DLL_API void Paso_FCT_FluxLimiter_addLimitedFluxes_Start(Paso_FCT_FluxLimiter* flux_limiter);
41 PASO_DLL_API void Paso_FCT_FluxLimiter_addLimitedFluxes_Complete(Paso_FCT_FluxLimiter* flux_limiter, double* b);
42
43 #endif /* #ifndef INC_PASOFCTLIMITER */

  ViewVC Help
Powered by ViewVC 1.1.26