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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 97 - (hide annotations)
Tue Dec 14 05:39:33 2004 UTC (18 years, 3 months ago) by jgs
File MIME type: text/plain
File size: 4440 byte(s)
*** empty log message ***

1 jgs 97 /* $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     */
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 jgs 97 double tolerance=100.*std::numeric_limits<double>::epsilon());
104 jgs 82 /**
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 jgs 97 double tolerance=100.*std::numeric_limits<double>::epsilon());
114 jgs 82
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