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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1387 - (show annotations)
Fri Jan 11 07:45:26 2008 UTC (12 years, 1 month ago) by trankine
Original Path: temp/paso/src/SolverFCT.h
File MIME type: text/plain
File size: 2132 byte(s)
Restore the trunk that existed before the windows changes were committed to the (now moved to branches) old trunk.
1 /* $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 typedef struct Paso_FCTransportProblem {
20
21 double theta;
22 double dt;
23 double dt_max;
24 bool_t valid_matrices;
25
26 double* u;
27
28 Paso_SystemMatrix * transport_matrix;
29 Paso_SystemMatrix * flux_matrix;
30 double* lumped_mass_matrix;
31 double* row_sum_flux_matrix;
32 double* transport_matrix_diagonal;
33
34 dim_t num_colors;
35 index_t *colorOf;
36 index_t *main_iptr;
37
38 Paso_MPIInfo *mpi_info;
39 dim_t reference_counter;
40
41 } Paso_FCTransportProblem;
42
43 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 Paso_FCTransportProblem* Paso_FCTransportProblem_alloc(double theta, double dt_max, Paso_SystemMatrixPattern *pattern, int block_size);
50 void Paso_FCTransportProblem_setAntiDiffusiveFlux(Paso_FCTransportProblem * fc, double * u, double *u_remote, double* fa);
51 void Paso_FCTransportProblem_addAdvectivePart(Paso_FCTransportProblem * fc, double alpha);
52 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 void Paso_FCTransportProblem_setFlux(Paso_FCTransportProblem * fc, double * u, double* fa);
55
56 #endif /* #ifndef INC_SOLVERFCT */

  ViewVC Help
Powered by ViewVC 1.1.26