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

Contents of /trunk/esys2/finley/src/CPPAdapter/MeshAdapterFactory.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 102 - (show annotations)
Wed Dec 15 07:08:39 2004 UTC (14 years, 11 months ago) by jgs
File MIME type: text/plain
File size: 4440 byte(s)
*** empty log message ***

1 /* $Id$
2 /*
3 ******************************************************************************
4 * *
5 * COPYRIGHT ACcESS 2004 - 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
16 #if !defined finley_MeshAdapterFactory_20040526_H
17 #define finley_MeshAdapterFactory_20040526_H
18
19 #include "finley/CPPAdapter/MeshAdapter.h"
20
21 #include "escript/Data/AbstractContinuousDomain.h"
22
23 #include <boost/python/list.hpp>
24
25 namespace finley {
26 /**
27 \brief
28 A suite of factory methods for creating various MeshAdapters.
29
30 Description:
31 A suite of factory methods for creating various MeshAdapters.
32 */
33
34 /**
35 \brief
36 Read a mesh from a file
37 \param fileName Input - The name of the file.
38 */
39 escript::AbstractContinuousDomain* readMesh(const std::string& fileName,
40 int integrationOrder=-1);
41 /**
42 \brief
43 Creates a rectangular mesh with n1 x n2 x n3 elements over the brick
44 [0,l1] x [0,l2] x [0,l3].
45
46 \param n1,n2,n3 Input -
47 \param order Input - =1 or =2 gives the order of shape function
48 \param l1,l2,l3 Input -
49 \param integrationOrder Input - order of the quadrature scheme.
50 */
51 escript::AbstractContinuousDomain* brick(int n1=1,int n2=1,int n3=1,int order=1,
52 double l1=1.0,double l2=1.0,double l3=1.0,
53 int periodic0=0,int periodic1=0,
54 int periodic2=0,
55 int integrationOrder=-1,
56 int useElementsOnFace=0);
57 /**
58 \brdirief
59 Creates a rectangular mesh with n1 x n2 elements over the brick
60 [0,l1] x [0,l2].
61
62 \param n1,n2 Input -
63 \param order Input - =1 or =2 gives the order of shape function
64 \param l1,l2 Input -
65 \param integrationOrder Input - order of the quadrature scheme.
66 If integrationOrder<0 the integration order is selected
67 independently.
68 */
69 escript::AbstractContinuousDomain* rectangle(int n1=1,int n2=1,int order=1,
70 double l1=1.0, double l2=1.0,
71 int periodic0=false,int periodic1=false,
72 int integrationOrder=-1,
73 int useElementsOnFace=false);
74 /**
75 \brief
76 Creates an equidistant mesh with n elements over the interval [0,l].
77 \param n1 Input -
78 \param order Input - =1 or =2 gives the order of shape function.
79 \param integrationOrder Input - order of the quadrature scheme.
80 If integrationOrder<0 the integration order is selected
81 independently.
82 */
83 escript::AbstractContinuousDomain* interval(int n1=1,int order=1,double l1=1.0,
84 int periodic0=false,
85 int integrationOrder=-1,
86 int useElementsOnFace=false);
87 /**
88 \brief
89 Merges a list of meshes into one list.
90 \param meshList Input - The list of meshes.
91 */
92 escript::AbstractContinuousDomain* meshMerge(const boost::python::list& meshList);
93 /**
94 \brief
95 Detects matching faces in the mesh, removes them from the mesh
96 and joins the elements touched by the face elements.
97 \param meshList Input - The list of meshes.
98 \param safetyFacto Input - ??
99 \param tolerance Input - ??
100 */
101 escript::AbstractContinuousDomain* glueFaces(const boost::python::list& meshList,
102 double safetyFactor=0.2,
103 double tolerance=100.*std::numeric_limits<double>::epsilon());
104 /**
105 \brief
106 Detects matching faces in the mesh and replaces them by joint elements.
107 \param meshList Input - The list of meshes.
108 \param safetyFacto Input - ??
109 \param tolerance Input - ??
110 */
111 escript::AbstractContinuousDomain* joinFaces(const boost::python::list& meshList,
112 double safety_factor=0.2,
113 double tolerance=100.*std::numeric_limits<double>::epsilon());
114
115 } // end of namespace
116 #endif

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26