2
/// This file is part of Rheolef.
4
/// Copyright (C) 2000-2009 Pierre Saramito <Pierre.Saramito@imag.fr>
6
/// Rheolef is free software; you can redistribute it and/or modify
7
/// it under the terms of the GNU General Public License as published by
8
/// the Free Software Foundation; either version 2 of the License, or
9
/// (at your option) any later version.
11
/// Rheolef is distributed in the hope that it will be useful,
12
/// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
/// GNU General Public License for more details.
16
/// You should have received a copy of the GNU General Public License
17
/// along with Rheolef; if not, write to the Free Software
18
/// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
/// =========================================================================
21
#include "rheolef/config.h"
23
#ifndef _RHEOLEF_HAVE_MPI
24
int main() { return 0; }
25
#else // _RHEOLEF_HAVE_MPI
27
#include "rheolef/polymorphic_array.h"
28
#include "geo_element_tst.h"
29
using namespace rheolef;
31
int main(int argc, char**argv)
33
environment parallel(argc, argv);
37
typedef polymorphic_traits<geo_element>::derived_type derived_type;
38
const size_t n_derived = polymorphic_traits<geo_element>::n_derived;
39
polymorphic_array_mpi_rep <geo_element, derived_type, n_derived> omega (n);
40
warning_macro ("CSTOR done");
42
if (comm.rank() == 0) {
44
warning_macro ("STEP 1: insert...")
45
omega.set(0, geo_element_t (1,2,31));
46
omega.set(1, geo_element_T (11,12,13,14));
47
omega.set(2, geo_element_t (4,5,6));
48
omega.set(3, geo_element_T (15,16,17,18));
49
omega.set(4, geo_element_P (7,8,9,10,11,12));
50
omega.set(5, geo_element_t (7,8,9));
52
warning_macro ("STEP 2: modify...")
53
omega.set(0, geo_element_t (1,2,3));
54
omega.set(1, geo_element_q (11,12,13,14));
55
omega.set(5, geo_element_H (31,32,33,34,35,36,37,38));
57
omega.assembly_begin();
60
pcout << "geo " << omega.par_size() << endl;
63
#endif // _RHEOLEF_HAVE_MPI