/[escript]/trunk/dudley/src/CPPAdapter/MeshAdapterFactory.h
ViewVC logotype

Contents of /trunk/dudley/src/CPPAdapter/MeshAdapterFactory.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 682 - (show annotations)
Mon Mar 27 02:43:09 2006 UTC (13 years, 1 month ago) by robwdcock
Original Path: trunk/finley/src/CPPAdapter/MeshAdapterFactory.h
File MIME type: text/plain
File size: 5039 byte(s)
+ NEW BUILD SYSTEM

This commit contains the new build system with cross-platform support.
Most things work are before though you can have more control.

ENVIRONMENT settings have changed:
+ You no longer require LD_LIBRARY_PATH or PYTHONPATH to point to the
esysroot for building and testing performed via scons
+ ACcESS altix users: It is recommended you change your modules to load
the latest intel compiler and other libraries required by boost to match
the setup in svn (you can override). The correct modules are as follows

module load intel_cc.9.0.026
export
MODULEPATH=${MODULEPATH}:/data/raid2/toolspp4/modulefiles/gcc-3.3.6
module load boost/1.33.0/python-2.4.1
module load python/2.4.1
module load numarray/1.3.3


1 /* $Id$ */
2 /*
3 ************************************************************
4 * Copyright 2006 by ACcESS MNRF *
5 * *
6 * http://www.access.edu.au *
7 * Primary Business: Queensland, Australia *
8 * Licensed under the Open Software License version 3.0 *
9 * http://www.opensource.org/licenses/osl-3.0.php *
10 * *
11 ************************************************************
12 */
13
14 #if !defined finley_MeshAdapterFactory_20040526_H
15 #define finley_MeshAdapterFactory_20040526_H
16
17 extern "C" {
18 #include "../Finley.h"
19 #include "../Mesh.h"
20 #include "../RectangularMesh.h"
21 }
22
23 #include "MeshAdapter.h"
24
25 #include "escript/AbstractContinuousDomain.h"
26
27 #include <boost/python/list.hpp>
28
29 #include <sstream>
30
31 namespace finley {
32 /**
33 \brief
34 A suite of factory methods for creating various MeshAdapters.
35
36 Description:
37 A suite of factory methods for creating various MeshAdapters.
38 */
39
40 /**
41 \brief
42 Read a mesh from a file
43 \param fileName Input - The name of the file.
44 \param integrationOrder Input - order of the quadrature scheme.
45 If integrationOrder<0 the integration order is selected independently.
46 */
47 escript::AbstractContinuousDomain* readMesh(const std::string& fileName,
48 int integrationOrder=-1);
49 /**
50 \brief
51 Creates a rectangular mesh with n0 x n1 x n2 elements over the brick
52 [0,l0] x [0,l1] x [0,l2].
53
54 \param n0,n1,n2 Input - number of elements in each dimension
55 \param order Input - =1 or =2 gives the order of shape function
56 \param l0,l1,l2 Input - length of each side of brick
57 \param integrationOrder Input - order of the quadrature scheme.
58 \param useElementsOnFace Input - whether or not to use elements on face
59 \param periodic0, periodic1, periodic2 Input - whether or not boundary
60 conditions of the dimension are periodic
61 */
62 escript::AbstractContinuousDomain* brick(int n0=1,int n1=1,int n2=1,int order=1,
63 double l0=1.0,double l1=1.0,double l2=1.0,
64 int periodic0=0,int periodic1=0,
65 int periodic2=0,
66 int integrationOrder=-1,
67 int useElementsOnFace=0);
68 /**
69 \brief
70 Creates a rectangular mesh with n0 x n1 elements over the brick
71 [0,l0] x [0,l1].
72
73 \param n0,n1 Input - number of elements in each dimension
74 \param order Input - =1 or =2 gives the order of shape function
75 \param l0,l1 Input - length of each side of brick
76 \param integrationOrder Input - order of the quadrature scheme.
77 If integrationOrder<0 the integration order is selected
78 independently.
79 \param periodic0, periodic1 Input - whether or not the boundary
80 conditions of the dimension are periodic
81 \param useElementsOnFace Input - whether or not to use elements on face
82 */
83 escript::AbstractContinuousDomain* rectangle(int n0=1,int n1=1,int order=1,
84 double l0=1.0, double l1=1.0,
85 int periodic0=false,int periodic1=false,
86 int integrationOrder=-1,
87 int useElementsOnFace=false);
88 /**
89 \brief
90 Creates an equidistant mesh with n elements over the interval [0,l].
91 \param n0 Input - number of elements
92 \param order Input - =1 or =2 gives the order of shape function.
93 \param l0 Input - length of the brick
94 \param integrationOrder Input - order of the quadrature scheme.
95 If integrationOrder<0 the integration order is selected
96 independently.
97 \param periodic0 Input - whether or not the boundary conditions are
98 periodic
99 \param useElementsOnFace Input - whether or not to use the elements
100 on the face
101 */
102 escript::AbstractContinuousDomain* interval(int n0=1,int order=1,double l0=1.0,
103 int periodic0=false,
104 int integrationOrder=-1,
105 int useElementsOnFace=false);
106 /**
107 \brief
108 Merges a list of meshes into one list.
109 \param meshList Input - The list of meshes.
110 */
111 escript::AbstractContinuousDomain* meshMerge(const boost::python::list& meshList);
112 /**
113 \brief
114 Detects matching faces in the mesh, removes them from the mesh
115 and joins the elements touched by the face elements.
116 \param meshList Input - The list of meshes.
117 \param safetyFactor Input - ??
118 \param tolerance Input - ??
119 */
120 escript::AbstractContinuousDomain* glueFaces(const boost::python::list& meshList,
121 double safetyFactor=0.2,
122 double tolerance=100.*std::numeric_limits<double>::epsilon());
123 /**
124 \brief
125 Detects matching faces in the mesh and replaces them by joint elements.
126 \param meshList Input - The list of meshes.
127 \param safetyFactor Input - ??
128 \param tolerance Input - ??
129 */
130 escript::AbstractContinuousDomain* joinFaces(const boost::python::list& meshList,
131 double safetyFactor=0.2,
132 double tolerance=100.*std::numeric_limits<double>::epsilon());
133
134 } // end of namespace
135 #endif

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26