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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 121 - (hide annotations)
Fri May 6 04:26:16 2005 UTC (13 years, 11 months ago) by jgs
Original Path: trunk/esys2/finley/src/CPPAdapter/MeshAdapterFactory.h
File MIME type: text/plain
File size: 5347 byte(s)
Merge of development branch back to main trunk on 2005-05-06

1 jgs 121 /* $Id$ */
2 jgs 82 /*
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 jgs 121 \param integrationOrder Input - order of the quadrature scheme.
39     If integrationOrder<0 the integration order is selected independently.
40 jgs 82 */
41     escript::AbstractContinuousDomain* readMesh(const std::string& fileName,
42     int integrationOrder=-1);
43     /**
44     \brief
45     Creates a rectangular mesh with n1 x n2 x n3 elements over the brick
46     [0,l1] x [0,l2] x [0,l3].
47    
48 jgs 121 \param n1,n2,n3 Input - number of elements in each dimension
49 jgs 82 \param order Input - =1 or =2 gives the order of shape function
50 jgs 121 \param l1,l2,l3 Input - length of each side of brick
51 jgs 82 \param integrationOrder Input - order of the quadrature scheme.
52 jgs 121 \param useElementsOnFace Input - whether or not to use elements on face
53     \param periodic0, periodic1, periodic2 Input - whether or not boundary
54     conditions of the dimension are periodic
55 jgs 82 */
56     escript::AbstractContinuousDomain* brick(int n1=1,int n2=1,int n3=1,int order=1,
57     double l1=1.0,double l2=1.0,double l3=1.0,
58     int periodic0=0,int periodic1=0,
59     int periodic2=0,
60     int integrationOrder=-1,
61     int useElementsOnFace=0);
62     /**
63 jgs 121 \brief
64 jgs 82 Creates a rectangular mesh with n1 x n2 elements over the brick
65     [0,l1] x [0,l2].
66    
67 jgs 121 \param n1,n2 Input - number of elements in each dimension
68 jgs 82 \param order Input - =1 or =2 gives the order of shape function
69 jgs 121 \param l1,l2 Input - length of each side of brick
70 jgs 82 \param integrationOrder Input - order of the quadrature scheme.
71     If integrationOrder<0 the integration order is selected
72     independently.
73 jgs 121 \param periodic0, periodic1 Input - whether or not the boundary
74     conditions of the dimension are periodic
75     \param useElementsOnFace Input - whether or not to use elements on face
76 jgs 82 */
77     escript::AbstractContinuousDomain* rectangle(int n1=1,int n2=1,int order=1,
78     double l1=1.0, double l2=1.0,
79     int periodic0=false,int periodic1=false,
80     int integrationOrder=-1,
81     int useElementsOnFace=false);
82     /**
83     \brief
84     Creates an equidistant mesh with n elements over the interval [0,l].
85 jgs 121 \param n1 Input - number of elements
86 jgs 82 \param order Input - =1 or =2 gives the order of shape function.
87 jgs 121 \param l1 Input - length of the brick
88 jgs 82 \param integrationOrder Input - order of the quadrature scheme.
89     If integrationOrder<0 the integration order is selected
90     independently.
91 jgs 121 \param periodic0 Input - whether or not the boundary conditions are
92     periodic
93     \param useElementsOnFace Input - whether or not to use the elements
94     on the face
95 jgs 82 */
96     escript::AbstractContinuousDomain* interval(int n1=1,int order=1,double l1=1.0,
97     int periodic0=false,
98     int integrationOrder=-1,
99     int useElementsOnFace=false);
100     /**
101     \brief
102     Merges a list of meshes into one list.
103     \param meshList Input - The list of meshes.
104     */
105     escript::AbstractContinuousDomain* meshMerge(const boost::python::list& meshList);
106     /**
107     \brief
108     Detects matching faces in the mesh, removes them from the mesh
109     and joins the elements touched by the face elements.
110     \param meshList Input - The list of meshes.
111 jgs 121 \param safetyFactor Input - ??
112 jgs 82 \param tolerance Input - ??
113     */
114     escript::AbstractContinuousDomain* glueFaces(const boost::python::list& meshList,
115     double safetyFactor=0.2,
116 jgs 102 double tolerance=100.*std::numeric_limits<double>::epsilon());
117 jgs 82 /**
118     \brief
119     Detects matching faces in the mesh and replaces them by joint elements.
120     \param meshList Input - The list of meshes.
121 jgs 121 \param safetyFactor Input - ??
122 jgs 82 \param tolerance Input - ??
123     */
124     escript::AbstractContinuousDomain* joinFaces(const boost::python::list& meshList,
125 jgs 121 double safetyFactor=0.2,
126 jgs 102 double tolerance=100.*std::numeric_limits<double>::epsilon());
127 jgs 82
128     } // end of namespace
129     #endif

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26