1 |
/* |
2 |
************************************************************ |
3 |
* Copyright 2006 by ACcESS MNRF * |
4 |
* * |
5 |
* http://www.access.edu.au * |
6 |
* Primary Business: Queensland, Australia * |
7 |
* Licensed under the Open Software License version 3.0 * |
8 |
* http://www.opensource.org/licenses/osl-3.0.php * |
9 |
* * |
10 |
************************************************************ |
11 |
*/ |
12 |
|
13 |
#include "FunctionSpaceFactory.h" |
14 |
#include "AbstractContinuousDomain.h" |
15 |
|
16 |
namespace escript { |
17 |
|
18 |
FunctionSpace continuousFunction(const AbstractDomain& domain) |
19 |
{ |
20 |
const AbstractContinuousDomain& temp=AbstractContinuousDomain::asAbstractContinuousDomain(domain); |
21 |
return FunctionSpace(domain,temp.getContinuousFunctionCode()); |
22 |
} |
23 |
|
24 |
FunctionSpace function(const AbstractDomain& domain) |
25 |
{ |
26 |
const AbstractContinuousDomain& temp=AbstractContinuousDomain::asAbstractContinuousDomain(domain); |
27 |
return FunctionSpace(domain,temp.getFunctionCode()); |
28 |
} |
29 |
|
30 |
FunctionSpace functionOnBoundary(const AbstractDomain& domain) |
31 |
{ |
32 |
const AbstractContinuousDomain& temp=AbstractContinuousDomain::asAbstractContinuousDomain(domain); |
33 |
return FunctionSpace(domain,temp.getFunctionOnBoundaryCode()); |
34 |
} |
35 |
|
36 |
FunctionSpace functionOnContactZero(const AbstractDomain& domain) |
37 |
{ |
38 |
const AbstractContinuousDomain& temp=AbstractContinuousDomain::asAbstractContinuousDomain(domain); |
39 |
return FunctionSpace(domain,temp.getFunctionOnContactZeroCode()); |
40 |
} |
41 |
|
42 |
FunctionSpace functionOnContactOne(const AbstractDomain& domain) |
43 |
{ |
44 |
const AbstractContinuousDomain& temp=AbstractContinuousDomain::asAbstractContinuousDomain(domain); |
45 |
return FunctionSpace(domain,temp.getFunctionOnContactOneCode()); |
46 |
} |
47 |
|
48 |
FunctionSpace solution(const AbstractDomain& domain) |
49 |
{ |
50 |
const AbstractContinuousDomain& temp=AbstractContinuousDomain::asAbstractContinuousDomain(domain); |
51 |
return FunctionSpace(domain,temp.getSolutionCode()); |
52 |
} |
53 |
|
54 |
FunctionSpace reducedSolution(const AbstractDomain& domain) |
55 |
{ |
56 |
const AbstractContinuousDomain& temp=AbstractContinuousDomain::asAbstractContinuousDomain(domain); |
57 |
return FunctionSpace(domain,temp.getReducedSolutionCode()); |
58 |
} |
59 |
|
60 |
FunctionSpace diracDeltaFunction(const AbstractDomain& domain) |
61 |
{ |
62 |
const AbstractContinuousDomain& temp=AbstractContinuousDomain::asAbstractContinuousDomain(domain); |
63 |
return FunctionSpace(domain,temp.getDiracDeltaFunctionCode()); |
64 |
} |
65 |
|
66 |
} // end of namespace |