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

Annotation of /trunk/paso/src/SolverFCT.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1384 - (hide annotations)
Fri Jan 11 02:29:38 2008 UTC (12 years, 1 month ago) by phornby
Original Path: temp_trunk_copy/paso/src/SolverFCT.h
File MIME type: text/plain
File size: 2132 byte(s)
Make a temp copy of the trunk before checking in the windows changes


1 gross 1361 /* $Id: $ */
2    
3     /*******************************************************
4     *
5     * Copyright 2007 by University of Queensland
6     *
7     * http://esscc.uq.edu.au
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     #ifndef INC_SOLVERFCT
15     #define INC_SOLVERFCT
16    
17     #include "SystemMatrix.h"
18    
19 gross 1362 typedef struct Paso_FCTransportProblem {
20    
21 gross 1363 double theta;
22 gross 1370 double dt;
23     double dt_max;
24 gross 1363 bool_t valid_matrices;
25    
26 gross 1364 double* u;
27    
28 gross 1362 Paso_SystemMatrix * transport_matrix;
29     Paso_SystemMatrix * flux_matrix;
30     double* lumped_mass_matrix;
31 gross 1363 double* row_sum_flux_matrix;
32 gross 1370 double* transport_matrix_diagonal;
33 gross 1362
34 gross 1361 dim_t num_colors;
35     index_t *colorOf;
36     index_t *main_iptr;
37 gross 1362
38     Paso_MPIInfo *mpi_info;
39     dim_t reference_counter;
40 gross 1361
41 gross 1362 } Paso_FCTransportProblem;
42 gross 1361
43 gross 1362 void Paso_FCTransportProblem_free(Paso_FCTransportProblem* in);
44     Paso_FCTransportProblem* Paso_FCTransportProblem_getReference(Paso_FCTransportProblem* in);
45     Paso_SystemMatrix* Paso_FCTransportProblem_borrowTransportMatrix(Paso_FCTransportProblem* in);
46     Paso_SystemMatrix* Paso_FCTransportProblem_borrowFluxMatrix(Paso_FCTransportProblem* in);
47     double* Paso_FCTransportProblem_borrowLumpedMassMatrix(Paso_FCTransportProblem* in);
48     dim_t Paso_FCTransportProblem_getTotalNumRows(Paso_FCTransportProblem* in);
49 gross 1366 Paso_FCTransportProblem* Paso_FCTransportProblem_alloc(double theta, double dt_max, Paso_SystemMatrixPattern *pattern, int block_size);
50 gross 1370 void Paso_FCTransportProblem_setAntiDiffusiveFlux(Paso_FCTransportProblem * fc, double * u, double *u_remote, double* fa);
51 gross 1363 void Paso_FCTransportProblem_addAdvectivePart(Paso_FCTransportProblem * fc, double alpha);
52 gross 1364 void Paso_SolverFCT_solve(Paso_FCTransportProblem* fctp, double* u, double dt, double* source, Paso_Options* options);
53     void Paso_FCTransportProblem_checkinSolution(Paso_FCTransportProblem* in, double* u) ;
54 gross 1370 void Paso_FCTransportProblem_setFlux(Paso_FCTransportProblem * fc, double * u, double* fa);
55 gross 1361
56     #endif /* #ifndef INC_SOLVERFCT */

  ViewVC Help
Powered by ViewVC 1.1.26