1 |
jgs |
150 |
/* $Id$ */ |
2 |
|
|
/* |
3 |
|
|
****************************************************************************** |
4 |
|
|
* * |
5 |
|
|
* COPYRIGHT ACcESS 2005 - All Rights Reserved * |
6 |
|
|
* * |
7 |
|
|
* This software is the property of ACcESS. No part of this code * |
8 |
|
|
* may be copied in any form or by any means without the expressed written * |
9 |
|
|
* consent of ACcESS. Copying, use or modification of this software * |
10 |
|
|
* by any unauthorised person is illegal unless that person has a software * |
11 |
|
|
* license agreement with ACcESS. * |
12 |
|
|
* * |
13 |
|
|
****************************************************************************** |
14 |
|
|
*/ |
15 |
jgs |
151 |
|
16 |
jgs |
150 |
#if !defined bruce_BruceFactory_20050901_H |
17 |
|
|
#define bruce_BruceFactory_20050901_H |
18 |
|
|
|
19 |
|
|
#include "escript/Data/AbstractContinuousDomain.h" |
20 |
|
|
|
21 |
jgs |
465 |
#include "Bruce.h" |
22 |
|
|
|
23 |
|
|
#include "BruceException.h" |
24 |
|
|
|
25 |
|
|
#include <iostream> |
26 |
|
|
#include <sstream> |
27 |
|
|
#include <boost/python/extract.hpp> |
28 |
|
|
|
29 |
jgs |
150 |
namespace bruce { |
30 |
|
|
|
31 |
|
|
/** |
32 |
|
|
\brief |
33 |
|
|
A suite of factory methods for creating various Bruces. |
34 |
|
|
|
35 |
|
|
Description: |
36 |
|
|
A suite of factory methods for creating various Bruces. |
37 |
|
|
*/ |
38 |
|
|
|
39 |
|
|
/** |
40 |
|
|
\brief |
41 |
|
|
Creates a rectangular mesh with n0 x n1 x n2 elements over the brick |
42 |
jgs |
151 |
[l0,0,0] x [0,l1,0] x [0,0,l2]. |
43 |
jgs |
150 |
|
44 |
|
|
\param n0,n1,n2 Input - number of elements in each dimension |
45 |
|
|
\param l0,l1,l2 Input - length of each side of brick |
46 |
|
|
*/ |
47 |
jgs |
153 |
escript::AbstractContinuousDomain* brick(int n0=2, int n1=2, int n2=2, |
48 |
jgs |
151 |
double l0=1.0, double l1=1.0, double l2=1.0); |
49 |
jgs |
150 |
|
50 |
|
|
/** |
51 |
|
|
\brief |
52 |
|
|
Creates a rectangular mesh with n0 x n1 elements over the rectangle |
53 |
jgs |
151 |
[l0,0] x [0,l1]. |
54 |
jgs |
150 |
|
55 |
|
|
\param n0,n1 Input - number of elements in each dimension |
56 |
jgs |
153 |
\param l0,l1 Input - length of each side of rectangle |
57 |
jgs |
150 |
*/ |
58 |
jgs |
153 |
escript::AbstractContinuousDomain* rectangle(int n0=2, int n1=2, |
59 |
jgs |
151 |
double l0=1.0, double l1=1.0); |
60 |
jgs |
150 |
|
61 |
|
|
} // end of namespace |
62 |
|
|
|
63 |
|
|
#endif |