annotate src/SubSpace.cc @ 168:67944f307560

Remove the verbose debug output
author gedeone-octave <marcovass89@hotmail.it>
date Sun, 06 Oct 2013 22:31:48 +0100
parents 5fe2a157f4eb
children 9e944b0d0fc8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
106
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
1 /*
151
5fe2a157f4eb Update GPL to v3
gedeone-octave <marcovass89@hotmail.it>
parents: 143
diff changeset
2 Copyright (C) 2013 Marco Vassallo <gedeone-octave@users.sourceforge.net>
106
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
3
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
4 This program is free software; you can redistribute it and/or modify it under
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
5 the terms of the GNU General Public License as published by the Free Software
151
5fe2a157f4eb Update GPL to v3
gedeone-octave <marcovass89@hotmail.it>
parents: 143
diff changeset
6 Foundation; either version 3 of the License, or (at your option) any later
106
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
7 version.
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
8
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
9 This program is distributed in the hope that it will be useful, but WITHOUT
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
12 details.
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
13
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
14 You should have received a copy of the GNU General Public License along with
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
15 this program; if not, see <http://www.gnu.org/licenses/>.
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
16 */
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
17 #include "functionspace.h"
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
18
118
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
19 DEFUN_DLD (SubSpace, args, , "-*- texinfo -*-\n\
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
20 @deftypefn {Function File} {[@var{V1}]} = \
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
21 SubSpace (@var{Space V}, @var{index}(Optional)) \n\
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
22 The input arguments are\n\
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
23 @itemize @bullet\n\
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
24 @item @var{Space V} which is a mixed FunctionalSpace\n\
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
25 @item @var{index} represents the subSpace which you want to extract; index\
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
26 should be a positive integer.\n\
126
5608ba9237d4 Fix error in texinfo
gedeone-octave <marcovass89@hotmail.it>
parents: 118
diff changeset
27 @end itemize \n\
118
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
28 The output @var{V0} is the SubSpace you need\n\
143
9486cbdc0a2e Maint: update the documentation
gedeone-octave <marcovass89@hotmail.it>
parents: 126
diff changeset
29 @seealso{FunctionSpace}\n\
118
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
30 @end deftypefn")
106
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
31 {
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
32 int nargin = args.length ();
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
33 octave_value retval;
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
34
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
35 if (nargin < 2 || nargin > 2)
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
36 print_usage ();
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
37 else
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
38 {
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
39 if (! functionspace_type_loaded)
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
40 {
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
41 functionspace::register_type ();
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
42 functionspace_type_loaded = true;
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
43 mlock ();
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
44 }
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
45
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
46 if (args(0).type_id () == functionspace::static_type_id ())
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
47 {
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
48 const functionspace & fspo
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
49 = static_cast<const functionspace&> (args(0).get_rep ());
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
50 const octave_idx_type idx = args(1).int_value ();
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
51
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
52 if (! error_state)
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
53 {
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
54 const dolfin::FunctionSpace & V = fspo.get_fsp ();
118
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
55
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
56 if (idx < 1 || idx > V.dim ())
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
57 error ("SubSpace: index out of bounds");
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
58
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
59 else
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
60 {
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
61 boost::shared_ptr <const dolfin::FunctionSpace> g (new dolfin::SubSpace (V, idx - 1));
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
62 retval = new functionspace (g);
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
63 }
ee608d1bffca Index start from 1 following Octave convention.
gedeone-octave <marcovass89@hotmail.it>
parents: 106
diff changeset
64
106
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
65 }
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
66 }
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
67 }
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
68 return retval;
6b4a77dc734f New wrapper function for dolfin::SubSpace
gedeone-octave <marcovass89@hotmail.it>
parents:
diff changeset
69 }