From: <cd...@us...> - 2008-02-20 19:06:25
|
Revision: 4667 http://octave.svn.sourceforge.net/octave/?rev=4667&view=rev Author: cdf Date: 2008-02-20 10:54:38 -0800 (Wed, 20 Feb 2008) Log Message: ----------- added 1d functions Modified Paths: -------------- trunk/octave-forge/extra/bim/inst/BIM2Aadvdiff.m trunk/octave-forge/extra/bim/inst/BIM2Aboundarymass.m trunk/octave-forge/extra/bim/inst/BIM2Areaction.m trunk/octave-forge/extra/bim/inst/BIM2Arhs.m trunk/octave-forge/extra/bim/inst/BIM2Cglobalflux.m trunk/octave-forge/extra/bim/inst/BIM2Cmeshproperties.m trunk/octave-forge/extra/bim/inst/BIM2Cpdegrad.m trunk/octave-forge/extra/bim/inst/BIM2Cunknowncoord.m trunk/octave-forge/extra/bim/inst/BIM2Cunknownsonside.m Added Paths: ----------- trunk/octave-forge/extra/bim/inst/BIM1Alaplacian.m trunk/octave-forge/extra/bim/inst/BIM1Areaction.m trunk/octave-forge/extra/bim/inst/BIM1Arhs.m Added: trunk/octave-forge/extra/bim/inst/BIM1Alaplacian.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM1Alaplacian.m (rev 0) +++ trunk/octave-forge/extra/bim/inst/BIM1Alaplacian.m 2008-02-20 18:54:38 UTC (rev 4667) @@ -0,0 +1,71 @@ +function [A] = BIM1Alaplacian(mesh,epsilon) + + ## -*- texinfo -*- + ## + ## @deftypefn {Function File} @ + ## {@var{A}} = BIM1Alaplacian (@var{mesh}, @var{epsilon}) + ## + ## Builds the finite-element matrix for the + ## discretization of the LHS + ## of the equation: + ## + ## @iftex + ## @tex + ## $ -( \varepsilon \gamma ( u' ))' = f $ + ## @end tex + ## @end iftex + ## @ifinfo + ## - (@var{epsilon} ( u' ))' = f + ## @end ifinfo + ## + ## where: + ## @itemize @minus + ## @item @var{epsilon}: elemental values of an piece-wise constant function + ## @end itemize + ## + ## + ## @seealso{BIM1Arhs, BIM1Areaction} + ## @end deftypefn + + ## This file is part of + ## + ## BIM - Box Integration Method Package for Octave + ## ------------------------------------------------------------------- + ## Copyright (C) 2007 Carlo de Falco and Culpo Massimiliano + ## + ## BIM is free software; you can redistribute it and/or modify + ## it under the terms of the GNU General Public License as published by + ## the Free Software Foundation; either version 2 of the License, or + ## (at your option) any later version. + ## + ## BIM is distributed in the hope that it will be useful, + ## but WITHOUT ANY WARRANTY; without even the implied warranty of + ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ## GNU General Public License for more details. + ## + ## You should have received a copy of the GNU General Public License + ## along with BIM; If not, see <http://www.gnu.org/licenses/>. + ## + ## + ## MAIN AUTHORS: + ## Carlo de Falco + ## Dublin City University + ## Glasnevin, Dublin 9, Ireland + ## + ## Culpo Massimiliano + ## Bergische Universitaet Wuppertal + ## Fachbereich C - Mathematik und Naturwissenschaften + ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 + ## D-42119 Wuppertal, Germany + + Nnodes = length(mesh); + h = mesh(2:end)-mesh(1:end-1); + + d0 = [ epsilon(1)./h(1); + (epsilon(1:end-1)./h(1:end-1))+(epsilon(2:end)./h(2:end)); + epsilon(end)./h(end)]; + + d1 = [1000; -epsilon./h]; + dm1 = [ -epsilon./h;1000]; + + A = spdiags([dm1, d0, d1],-1:1,Nnodes,Nnodes); \ No newline at end of file Added: trunk/octave-forge/extra/bim/inst/BIM1Areaction.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM1Areaction.m (rev 0) +++ trunk/octave-forge/extra/bim/inst/BIM1Areaction.m 2008-02-20 18:54:38 UTC (rev 4667) @@ -0,0 +1,61 @@ +function [C] = BIM1Areaction(mesh,delta,zeta) + + ## -*- texinfo -*- + ## @deftypefn {Function File} {[@var{C}]} = BIM2Areaction(@var{mesh}, @var{delta}, @var{zeta}) + ## + ## Builds the matrix for the discretization of the LHS + ## of the equation: + ## @iftex + ## @tex + ## $ \delta \zeta u = f $ + ## @end tex + ## @end iftex + ## @ifinfo + ## @var{delta} * @var{zeta} * u = f + ## @end ifinfo + ## + ## Input: + ## @itemize @minus + ## @item @var{mesh}: list of mesh nodes coordinates + ## @item @var{delta}: elemental values of a piece-wise constant function. + ## @item @var{zeta}: nodal values of a piece-wise linear conforming function. + ## @end itemize + ## + ## @seealso{BIM1Arhs, BIM1Aadvdiff} + ## @end deftypefn + + ## This file is part of + ## + ## BIM - Box Integration Method Package for Octave + ## ------------------------------------------------------------------- + ## Copyright (C) 2007 Carlo de Falco and Culpo Massimiliano + ## + ## BIM is free software; you can redistribute it and/or modify + ## it under the terms of the GNU General Public License as published by + ## the Free Software Foundation; either version 2 of the License, or + ## (at your option) any later version. + ## + ## BIM is distributed in the hope that it will be useful, + ## but WITHOUT ANY WARRANTY; without even the implied warranty of + ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ## GNU General Public License for more details. + ## + ## You should have received a copy of the GNU General Public License + ## along with BIM; If not, see <http://www.gnu.org/licenses/>. + ## + ## + ## MAIN AUTHORS: + ## Carlo de Falco + ## Dublin City University + ## Glasnevin, Dublin 9, Ireland + ## + ## Culpo Massimiliano + ## Bergische Universitaet Wuppertal + ## Fachbereich C - Mathematik und Naturwissenschaften + ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 + ## D-42119 Wuppertal, Germany + + Nnodes= length(mesh); + h = (mesh(2:end)-mesh(1:end-1)).*delta; + d0 = zeta.*[h(1)/2; (h(1:end-1)+h(2:end))/2; h(end)/2]; + C = spdiags(d0, 0, Nnodes,Nnodes); Added: trunk/octave-forge/extra/bim/inst/BIM1Arhs.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM1Arhs.m (rev 0) +++ trunk/octave-forge/extra/bim/inst/BIM1Arhs.m 2008-02-20 18:54:38 UTC (rev 4667) @@ -0,0 +1,58 @@ +function b = BIM1Arhs(mesh,f,g) + + ## -*- texinfo -*- + ## @deftypefn {Function File} {[@var{b}]} = BIM2Arhs(@var{mesh}, @var{f}, @var{g}) + ## + ## Constructs the RHS for the DAR problem: + ## @iftex + ## @tex + ## $ -( \varepsilon \gamma ( u' ))' = f g$ + ## @end tex + ## @end iftex + ## @ifinfo + ## - ( epsilon ( u' ))' = @var{f}*@var{g} + ## @end ifinfo + ## + ## Input: + ## @itemize @minus + ## @item @var{mesh}: list of mesh nodes coordinates + ## @item @var{g}: elemental values of a piecewise-wise constant function. + ## @item @var{f}: nodal values of a piecewise linear conforming function. + ## @end itemize + ## + ## @seealso{BIM1Areaction, BIM1Alaplacian} + ## @end deftypefn + + ## This file is part of + ## + ## BIM - Box Integration Method Package for Octave + ## ------------------------------------------------------------------- + ## Copyright (C) 2007 Carlo de Falco and Culpo Massimiliano + ## + ## BIM is free software; you can redistribute it and/or modify + ## it under the terms of the GNU General Public License as published by + ## the Free Software Foundation; either version 2 of the License, or + ## (at your option) any later version. + ## + ## BIM is distributed in the hope that it will be useful, + ## but WITHOUT ANY WARRANTY; without even the implied warranty of + ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ## GNU General Public License for more details. + ## + ## You should have received a copy of the GNU General Public License + ## along with BIM; If not, see <http://www.gnu.org/licenses/>. + ## + ## + ## MAIN AUTHORS: + ## Carlo de Falco + ## Dublin City University + ## Glasnevin, Dublin 9, Ireland + ## + ## Culpo Massimiliano + ## Bergische Universitaet Wuppertal + ## Fachbereich C - Mathematik und Naturwissenschaften + ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 + ## D-42119 Wuppertal, Germany + + h = (mesh(2:end)-mesh(1:end-1)).*g; + b = f.*[h(1)/2; (h(1:end-1)+h(2:end))/2; h(end)/2]; \ No newline at end of file Modified: trunk/octave-forge/extra/bim/inst/BIM2Aadvdiff.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM2Aadvdiff.m 2008-02-20 09:10:39 UTC (rev 4666) +++ trunk/octave-forge/extra/bim/inst/BIM2Aadvdiff.m 2008-02-20 18:54:38 UTC (rev 4667) @@ -76,15 +76,13 @@ ## ## MAIN AUTHORS: ## Carlo de Falco - ## Bergische Universität Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe für Angewandte MathematD-4-419 Wuppertal Gaußstr. 20 - ## D-42119 Wuppertal, Germany + ## Dublin City University + ## Glasnevin, Dublin 9, Ireland ## ## Culpo Massimiliano - ## Bergische Universität Wuppertal + ## Bergische Universitaet Wuppertal ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe für Angewandte MathematD-42119 Wuppertal Gaußstr. 20 + ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 ## D-42119 Wuppertal, Germany Nnodes = columns(mesh.p); Modified: trunk/octave-forge/extra/bim/inst/BIM2Aboundarymass.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM2Aboundarymass.m 2008-02-20 09:10:39 UTC (rev 4666) +++ trunk/octave-forge/extra/bim/inst/BIM2Aboundarymass.m 2008-02-20 18:54:38 UTC (rev 4667) @@ -36,17 +36,15 @@ ## along with BIM; If not, see <http://www.gnu.org/licenses/>. ## ## - ## MAIN AUTHOR: + ## MAIN AUTHORS: ## Carlo de Falco - ## Bergische Universität Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe für Angewandte MathematD-42119 Wuppertal Gaußstr. 20 - ## D-42119 Wuppertal, Germany + ## Dublin City University + ## Glasnevin, Dublin 9, Ireland ## ## Culpo Massimiliano - ## Bergische Universität Wuppertal + ## Bergische Universitaet Wuppertal ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe für Angewandte MathematD-42119 Wuppertal Gaußstr. 20 + ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 ## D-42119 Wuppertal, Germany if nargin<3 Modified: trunk/octave-forge/extra/bim/inst/BIM2Areaction.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM2Areaction.m 2008-02-20 09:10:39 UTC (rev 4666) +++ trunk/octave-forge/extra/bim/inst/BIM2Areaction.m 2008-02-20 18:54:38 UTC (rev 4667) @@ -46,15 +46,13 @@ ## ## MAIN AUTHORS: ## Carlo de Falco - ## Bergische Universität Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe für Angewandte MathematD-42119 Wuppertal Gaußstr. 20 - ## D-42119 Wuppertal, Germany + ## Dublin City University + ## Glasnevin, Dublin 9, Ireland ## ## Culpo Massimiliano - ## Bergische Universität Wuppertal + ## Bergische Universitaet Wuppertal ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe für Angewandte MathematD-42119 Wuppertal Gaußstr. 20 + ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 ## D-42119 Wuppertal, Germany Nnodes =size(mesh.p,2); Modified: trunk/octave-forge/extra/bim/inst/BIM2Arhs.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM2Arhs.m 2008-02-20 09:10:39 UTC (rev 4666) +++ trunk/octave-forge/extra/bim/inst/BIM2Arhs.m 2008-02-20 18:54:38 UTC (rev 4667) @@ -45,15 +45,13 @@ ## ## MAIN AUTHORS: ## Carlo de Falco - ## Bergische Universität Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe für Angewandte MathematD-42119 Wuppertal Gaußstr. 20 - ## D-42119 Wuppertal, Germany + ## Dublin City University + ## Glasnevin, Dublin 9, Ireland ## ## Culpo Massimiliano - ## Bergische Universität Wuppertal + ## Bergische Universitaet Wuppertal ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe für Angewandte MathematD-42119 Wuppertal Gaußstr. 20 + ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 ## D-42119 Wuppertal, Germany Nnodes =size(mesh.p,2); Modified: trunk/octave-forge/extra/bim/inst/BIM2Cglobalflux.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM2Cglobalflux.m 2008-02-20 09:10:39 UTC (rev 4666) +++ trunk/octave-forge/extra/bim/inst/BIM2Cglobalflux.m 2008-02-20 18:54:38 UTC (rev 4667) @@ -54,15 +54,13 @@ ## ## MAIN AUTHORS: ## Carlo de Falco - ## Bergische Universität Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe für Angewandte MathematD-42119 Wuppertal Gaußstr. 20 - ## D-42119 Wuppertal, Germany + ## Dublin City University + ## Glasnevin, Dublin 9, Ireland ## ## Culpo Massimiliano - ## Bergische Universität Wuppertal + ## Bergische Universitaet Wuppertal ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe für Angewandte MathematD-42119 Wuppertal Gaußstr. 20 + ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 ## D-42119 Wuppertal, Germany Nelem = columns(mesh.t); Modified: trunk/octave-forge/extra/bim/inst/BIM2Cmeshproperties.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM2Cmeshproperties.m 2008-02-20 09:10:39 UTC (rev 4666) +++ trunk/octave-forge/extra/bim/inst/BIM2Cmeshproperties.m 2008-02-20 18:54:38 UTC (rev 4667) @@ -39,17 +39,15 @@ ## ## ## MAIN AUTHORS: + ## Carlo de Falco + ## Dublin City University + ## Glasnevin, Dublin 9, Ireland + ## ## Culpo Massimiliano - ## Bergische Universität Wuppertal + ## Bergische Universitaet Wuppertal ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe für Angewandte MathematD-42119 Wuppertal Gaußstr. 20 + ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 ## D-42119 Wuppertal, Germany - ## - ## Carlo de Falco - ## Bergische Universität Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe für Angewandte MathematD-42119 Wuppertal Gaußstr. 20 - ## D-42119 Wuppertal, Germany omesh = imesh; [omesh.wjacdet,omesh.area,omesh.shg] = MSH2Mgeomprop(imesh,"wjacdet","area","shg"); Modified: trunk/octave-forge/extra/bim/inst/BIM2Cpdegrad.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM2Cpdegrad.m 2008-02-20 09:10:39 UTC (rev 4666) +++ trunk/octave-forge/extra/bim/inst/BIM2Cpdegrad.m 2008-02-20 18:54:38 UTC (rev 4667) @@ -37,21 +37,16 @@ ## ## MAIN AUTHORS: ## Carlo de Falco - ## Bergische Universität Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe für Angewandte MathematD-42119 Wuppertal Gaußstr. 20 - ## D-42119 Wuppertal, Germany + ## Dublin City University + ## Glasnevin, Dublin 9, Ireland ## ## Culpo Massimiliano - ## Bergische Universität Wuppertal + ## Bergische Universitaet Wuppertal ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe für Angewandte MathematD-42119 Wuppertal Gaußstr. 20 + ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 ## D-42119 Wuppertal, Germany - - - -shgx = reshape(mesh.shg(1,:,:),3,[]); -gx = sum(shgx.*u(mesh.t(1:3,:)),1); -shgy = reshape(mesh.shg(2,:,:),3,[]); -gy = sum(shgy.*u(mesh.t(1:3,:)),1); + shgx = reshape(mesh.shg(1,:,:),3,[]); + gx = sum(shgx.*u(mesh.t(1:3,:)),1); + shgy = reshape(mesh.shg(2,:,:),3,[]); + gy = sum(shgy.*u(mesh.t(1:3,:)),1); Modified: trunk/octave-forge/extra/bim/inst/BIM2Cunknowncoord.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM2Cunknowncoord.m 2008-02-20 09:10:39 UTC (rev 4666) +++ trunk/octave-forge/extra/bim/inst/BIM2Cunknowncoord.m 2008-02-20 18:54:38 UTC (rev 4667) @@ -39,17 +39,15 @@ ## ## ## MAIN AUTHORS: + ## Carlo de Falco + ## Dublin City University + ## Glasnevin, Dublin 9, Ireland + ## ## Culpo Massimiliano - ## Bergische Universität Wuppertal + ## Bergische Universitaet Wuppertal ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe für Angewandte MathematD-42119 Wuppertal Gaußstr. 20 + ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 ## D-42119 Wuppertal, Germany - ## - ## Carlo de Falco - ## Bergische Universität Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe für Angewandte MathematD-42119 Wuppertal Gaußstr. 20 - ## D-42119 Wuppertal, Germany - + x = mesh.p(1,:)'; y = mesh.p(2,:)'; Modified: trunk/octave-forge/extra/bim/inst/BIM2Cunknownsonside.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM2Cunknownsonside.m 2008-02-20 09:10:39 UTC (rev 4666) +++ trunk/octave-forge/extra/bim/inst/BIM2Cunknownsonside.m 2008-02-20 18:54:38 UTC (rev 4667) @@ -41,15 +41,13 @@ ## ## MAIN AUTHORS: ## Carlo de Falco - ## Bergische Universität Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe für Angewandte MathematD-42119 Wuppertal Gaußstr. 20 - ## D-42119 Wuppertal, Germany + ## Dublin City University + ## Glasnevin, Dublin 9, Ireland ## ## Culpo Massimiliano - ## Bergische Universität Wuppertal + ## Bergische Universitaet Wuppertal ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe für Angewandte MathematD-42119 Wuppertal Gaußstr. 20 + ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 ## D-42119 Wuppertal, Germany [nodelist] = MSH2Mnodesonsides(mesh,sidelist); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cd...@us...> - 2008-06-22 13:40:57
|
Revision: 5132 http://octave.svn.sourceforge.net/octave/?rev=5132&view=rev Author: cdf Date: 2008-06-22 06:40:59 -0700 (Sun, 22 Jun 2008) Log Message: ----------- in sync Modified Paths: -------------- trunk/octave-forge/extra/bim/inst/BIM1Alaplacian.m trunk/octave-forge/extra/bim/inst/BIM1Areaction.m trunk/octave-forge/extra/bim/inst/BIM1Arhs.m trunk/octave-forge/extra/bim/inst/BIM2Aadvdiff.m trunk/octave-forge/extra/bim/inst/BIM2Aboundarymass.m trunk/octave-forge/extra/bim/inst/BIM2Areaction.m trunk/octave-forge/extra/bim/inst/BIM2Arhs.m trunk/octave-forge/extra/bim/inst/BIM2Cglobalflux.m trunk/octave-forge/extra/bim/inst/BIM2Cmeshproperties.m trunk/octave-forge/extra/bim/inst/BIM2Cpdegrad.m trunk/octave-forge/extra/bim/inst/BIM2Cunknowncoord.m trunk/octave-forge/extra/bim/inst/BIM2Cunknownsonside.m trunk/octave-forge/extra/bim/inst/BIMUbern.m trunk/octave-forge/extra/bim/inst/BIMUlogm.m Modified: trunk/octave-forge/extra/bim/inst/BIM1Alaplacian.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM1Alaplacian.m 2008-06-21 09:02:38 UTC (rev 5131) +++ trunk/octave-forge/extra/bim/inst/BIM1Alaplacian.m 2008-06-22 13:40:59 UTC (rev 5132) @@ -1,64 +1,62 @@ -function [A] = BIM1Alaplacian(mesh,epsilon) +## Copyright (C) 2007,2008 Carlo de Falco, Massimiliano Culpo +## +## BIM - Box Integration Method Package for Octave +## +## BIM is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## BIM is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with BIM; If not, see <http://www.gnu.org/licenses/>. +## +## +## AUTHORS: +## +## Carlo de Falco +## Dublin City University +## Glasnevin, Dublin 9, Ireland +## +## Culpo Massimiliano +## Bergische Universitaet Wuppertal +## Fachbereich C - Mathematik und Naturwissenschaften +## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 +## D-42119 Wuppertal, Germany - ## -*- texinfo -*- - ## - ## @deftypefn {Function File} @ - ## {@var{A}} = BIM1Alaplacian (@var{mesh}, @var{epsilon}) - ## - ## Builds the finite-element matrix for the - ## discretization of the LHS - ## of the equation: - ## - ## @iftex - ## @tex - ## $ -( \varepsilon \gamma ( u' ))' = f $ - ## @end tex - ## @end iftex - ## @ifinfo - ## - (@var{epsilon} ( u' ))' = f - ## @end ifinfo - ## - ## where: - ## @itemize @minus - ## @item @var{epsilon}: elemental values of an piece-wise constant function - ## @end itemize - ## - ## - ## @seealso{BIM1Arhs, BIM1Areaction} - ## @end deftypefn +## -*- texinfo -*- +## +## @deftypefn {Function File} @ +## {@var{A}} = BIM1Alaplacian (@var{mesh}, @var{epsilon}) +## +## Builds the finite-element matrix for the +## discretization of the LHS +## of the equation: +## +## @iftex +## @tex +## $ -( \varepsilon \gamma ( u' ))' = f $ +## @end tex +## @end iftex +## @ifinfo +## - (@var{epsilon} ( u' ))' = f +## @end ifinfo +## +## where: +## @itemize @minus +## @item @var{epsilon}: elemental values of an piece-wise constant function +## @end itemize +## +## +## @seealso{BIM1Arhs, BIM1Areaction} +## @end deftypefn - ## This file is part of - ## - ## BIM - Box Integration Method Package for Octave - ## ------------------------------------------------------------------- - ## Copyright (C) 2007 Carlo de Falco - ## Copyright (C) 2007 Culpo Massimiliano - ## - ## BIM is free software; you can redistribute it and/or modify - ## it under the terms of the GNU General Public License as published by - ## the Free Software Foundation; either version 2 of the License, or - ## (at your option) any later version. - ## - ## BIM is distributed in the hope that it will be useful, - ## but WITHOUT ANY WARRANTY; without even the implied warranty of - ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ## GNU General Public License for more details. - ## - ## You should have received a copy of the GNU General Public License - ## along with BIM; If not, see <http://www.gnu.org/licenses/>. - ## - ## - ## MAIN AUTHORS: - ## Carlo de Falco - ## Dublin City University - ## Glasnevin, Dublin 9, Ireland - ## - ## Culpo Massimiliano - ## Bergische Universitaet Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 - ## D-42119 Wuppertal, Germany - +function [A] = BIM1Alaplacian(mesh,epsilon) + Nnodes = length(mesh); h = mesh(2:end)-mesh(1:end-1); @@ -69,4 +67,6 @@ d1 = [1000; -epsilon./h]; dm1 = [ -epsilon./h;1000]; - A = spdiags([dm1, d0, d1],-1:1,Nnodes,Nnodes); \ No newline at end of file + A = spdiags([dm1, d0, d1],-1:1,Nnodes,Nnodes); + +endfunction \ No newline at end of file Modified: trunk/octave-forge/extra/bim/inst/BIM1Areaction.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM1Areaction.m 2008-06-21 09:02:38 UTC (rev 5131) +++ trunk/octave-forge/extra/bim/inst/BIM1Areaction.m 2008-06-22 13:40:59 UTC (rev 5132) @@ -1,62 +1,62 @@ -function [C] = BIM1Areaction(mesh,delta,zeta) +## Copyright (C) 2007,2008 Carlo de Falco, Massimiliano Culpo +## +## BIM - Box Integration Method Package for Octave +## +## BIM is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## BIM is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with BIM; If not, see <http://www.gnu.org/licenses/>. +## +## +## AUTHORS: +## +## Carlo de Falco +## Dublin City University +## Glasnevin, Dublin 9, Ireland +## +## Culpo Massimiliano +## Bergische Universitaet Wuppertal +## Fachbereich C - Mathematik und Naturwissenschaften +## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 +## D-42119 Wuppertal, Germany - ## -*- texinfo -*- - ## @deftypefn {Function File} {[@var{C}]} = BIM2Areaction(@var{mesh}, @var{delta}, @var{zeta}) - ## - ## Builds the matrix for the discretization of the LHS - ## of the equation: - ## @iftex - ## @tex - ## $ \delta \zeta u = f $ - ## @end tex - ## @end iftex - ## @ifinfo - ## @var{delta} * @var{zeta} * u = f - ## @end ifinfo - ## - ## Input: - ## @itemize @minus - ## @item @var{mesh}: list of mesh nodes coordinates - ## @item @var{delta}: elemental values of a piece-wise constant function. - ## @item @var{zeta}: nodal values of a piece-wise linear conforming function. - ## @end itemize - ## - ## @seealso{BIM1Arhs, BIM1Aadvdiff} - ## @end deftypefn +## -*- texinfo -*- +## @deftypefn {Function File} {[@var{C}]} = BIM2Areaction(@var{mesh}, @var{delta}, @var{zeta}) +## +## Builds the matrix for the discretization of the LHS +## of the equation: +## @iftex +## @tex +## $ \delta \zeta u = f $ +## @end tex +## @end iftex +## @ifinfo +## @var{delta} * @var{zeta} * u = f +## @end ifinfo +## +## Input: +## @itemize @minus +## @item @var{mesh}: list of mesh nodes coordinates +## @item @var{delta}: elemental values of a piece-wise constant function. +## @item @var{zeta}: nodal values of a piece-wise linear conforming function. +## @end itemize +## +## @seealso{BIM1Arhs, BIM1Aadvdiff} +## @end deftypefn - ## This file is part of - ## - ## BIM - Box Integration Method Package for Octave - ## ------------------------------------------------------------------- - ## Copyright (C) 2007 Carlo de Falco - ## Copyright (C) 2007 Culpo Massimiliano - ## - ## BIM is free software; you can redistribute it and/or modify - ## it under the terms of the GNU General Public License as published by - ## the Free Software Foundation; either version 2 of the License, or - ## (at your option) any later version. - ## - ## BIM is distributed in the hope that it will be useful, - ## but WITHOUT ANY WARRANTY; without even the implied warranty of - ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ## GNU General Public License for more details. - ## - ## You should have received a copy of the GNU General Public License - ## along with BIM; If not, see <http://www.gnu.org/licenses/>. - ## - ## - ## MAIN AUTHORS: - ## Carlo de Falco - ## Dublin City University - ## Glasnevin, Dublin 9, Ireland - ## - ## Culpo Massimiliano - ## Bergische Universitaet Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 - ## D-42119 Wuppertal, Germany +function [C] = BIM1Areaction(mesh,delta,zeta) Nnodes= length(mesh); h = (mesh(2:end)-mesh(1:end-1)).*delta; d0 = zeta.*[h(1)/2; (h(1:end-1)+h(2:end))/2; h(end)/2]; C = spdiags(d0, 0, Nnodes,Nnodes); + +endfunction \ No newline at end of file Modified: trunk/octave-forge/extra/bim/inst/BIM1Arhs.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM1Arhs.m 2008-06-21 09:02:38 UTC (rev 5131) +++ trunk/octave-forge/extra/bim/inst/BIM1Arhs.m 2008-06-22 13:40:59 UTC (rev 5132) @@ -1,59 +1,59 @@ +## Copyright (C) 2007,2008 Carlo de Falco, Massimiliano Culpo +## +## BIM - Box Integration Method Package for Octave +## +## BIM is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## BIM is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with BIM; If not, see <http://www.gnu.org/licenses/>. +## +## +## AUTHORS: +## +## Carlo de Falco +## Dublin City University +## Glasnevin, Dublin 9, Ireland +## +## Culpo Massimiliano +## Bergische Universitaet Wuppertal +## Fachbereich C - Mathematik und Naturwissenschaften +## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 +## D-42119 Wuppertal, Germany + +## -*- texinfo -*- +## @deftypefn {Function File} {[@var{b}]} = BIM2Arhs(@var{mesh}, @var{f}, @var{g}) +## +## Constructs the RHS for the DAR problem: +## @iftex +## @tex +## $ -( \varepsilon \gamma ( u' ))' = f g$ +## @end tex +## @end iftex +## @ifinfo +## - ( epsilon ( u' ))' = @var{f}*@var{g} +## @end ifinfo +## +## Input: +## @itemize @minus +## @item @var{mesh}: list of mesh nodes coordinates +## @item @var{g}: elemental values of a piecewise-wise constant function. +## @item @var{f}: nodal values of a piecewise linear conforming function. +## @end itemize +## +## @seealso{BIM1Areaction, BIM1Alaplacian} +## @end deftypefn + function b = BIM1Arhs(mesh,f,g) - ## -*- texinfo -*- - ## @deftypefn {Function File} {[@var{b}]} = BIM2Arhs(@var{mesh}, @var{f}, @var{g}) - ## - ## Constructs the RHS for the DAR problem: - ## @iftex - ## @tex - ## $ -( \varepsilon \gamma ( u' ))' = f g$ - ## @end tex - ## @end iftex - ## @ifinfo - ## - ( epsilon ( u' ))' = @var{f}*@var{g} - ## @end ifinfo - ## - ## Input: - ## @itemize @minus - ## @item @var{mesh}: list of mesh nodes coordinates - ## @item @var{g}: elemental values of a piecewise-wise constant function. - ## @item @var{f}: nodal values of a piecewise linear conforming function. - ## @end itemize - ## - ## @seealso{BIM1Areaction, BIM1Alaplacian} - ## @end deftypefn - - ## This file is part of - ## - ## BIM - Box Integration Method Package for Octave - ## ------------------------------------------------------------------- - ## Copyright (C) 2007 Carlo de Falco - ## Copyright (C) 2007 Culpo Massimiliano - ## - ## BIM is free software; you can redistribute it and/or modify - ## it under the terms of the GNU General Public License as published by - ## the Free Software Foundation; either version 2 of the License, or - ## (at your option) any later version. - ## - ## BIM is distributed in the hope that it will be useful, - ## but WITHOUT ANY WARRANTY; without even the implied warranty of - ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ## GNU General Public License for more details. - ## - ## You should have received a copy of the GNU General Public License - ## along with BIM; If not, see <http://www.gnu.org/licenses/>. - ## - ## - ## MAIN AUTHORS: - ## Carlo de Falco - ## Dublin City University - ## Glasnevin, Dublin 9, Ireland - ## - ## Culpo Massimiliano - ## Bergische Universitaet Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 - ## D-42119 Wuppertal, Germany - h = (mesh(2:end)-mesh(1:end-1)).*g; - b = f.*[h(1)/2; (h(1:end-1)+h(2:end))/2; h(end)/2]; \ No newline at end of file + b = f.*[h(1)/2; (h(1:end-1)+h(2:end))/2; h(end)/2]; + +endfunction \ No newline at end of file Modified: trunk/octave-forge/extra/bim/inst/BIM2Aadvdiff.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM2Aadvdiff.m 2008-06-21 09:02:38 UTC (rev 5131) +++ trunk/octave-forge/extra/bim/inst/BIM2Aadvdiff.m 2008-06-22 13:40:59 UTC (rev 5132) @@ -1,91 +1,89 @@ -function [A] = BIM2Aadvdiff(mesh,alpha,gamma,eta,beta) +## Copyright (C) 2007,2008 Carlo de Falco, Massimiliano Culpo +## +## BIM - Box Integration Method Package for Octave +## +## BIM is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## BIM is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with BIM; If not, see <http://www.gnu.org/licenses/>. +## +## +## AUTHORS: +## +## Carlo de Falco +## Dublin City University +## Glasnevin, Dublin 9, Ireland +## +## Culpo Massimiliano +## Bergische Universitaet Wuppertal +## Fachbereich C - Mathematik und Naturwissenschaften +## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 +## D-42119 Wuppertal, Germany - ## -*- texinfo -*- - ## - ## @deftypefn {Function File} @ - ## {@var{A}} = BIM2Aadvdiff (@var{mesh}, @var{alpha}, @var{gamma}, @var{eta}, @var{beta}) - ## - ## Builds the Scharfetter-Gummel matrix for the - ## discretization of the LHS - ## of the equation: - ## - ## @iftex - ## @tex - ## $ -div ( \alpha \gamma ( \eta \vect{\nabla} u - \vect{beta} u )) = f $ - ## @end tex - ## @end iftex - ## @ifinfo - ## -div (@var{alpha} * @var{gamma} (@var{eta} grad u - @var{beta} u )) = f - ## @end ifinfo - ## - ## where: - ## @itemize @minus - ## @item @var{alpha}: element-wise constant scalar function - ## @item @var{eta}, @var{gamma}: piecewise linear conforming - ## scalar functions - ## @item @var{beta}: element-wise constant vector function - ## @end itemize - ## - ## Instead of passing the vector field @var{beta} directly - ## one can pass a piecewise linear conforming scalar function - ## @var{phi} as the last input. In such case @var{beta} = grad @var{phi} - ## is assumed. If @var{phi} is a single scalar value @var{beta} - ## is assumed to be 0 in the whole domain. - ## - ## Example: - ## @example - ## [mesh.p,mesh.e,mesh.t] = MSH2Mstructmesh([0:1/3:1],[0:1/3:1],1,1:4); - ## mesh = BIM2Cmeshproperties(mesh); - ## x = mesh.p(1,:)'; - ## Dnodes = BIM2Cunknownsonside(mesh,[2,4]); - ## Nnodes = columns(mesh.p); Nelements = columns(mesh.t); - ## Varnodes = setdiff(1:Nnodes,Dnodes); - ## alpha = ones(Nelements,1); eta = .1*ones(Nnodes,1); - ## beta = [ones(1,Nelements);zeros(1,Nelements)]; - ## gamma = ones(Nnodes,1); - ## f = BIM2Arhs(mesh,ones(Nnodes,1),ones(Nelements,1)); - ## S = BIM2Aadvdiff(mesh,alpha,gamma,eta,beta); - ## u = zeros(Nnodes,1); - ## u(Varnodes) = S(Varnodes,Varnodes)\f(Varnodes); - ## uex = x - (exp(10*x)-1)/(exp(10)-1); - ## assert(u,uex,1e-7) - ## @end example - ## - ## @seealso{BIM2Arhs, BIM2Areaction, BIM2Cmeshproperties} - ## @end deftypefn +## -*- texinfo -*- +## +## @deftypefn {Function File} @ +## {@var{A}} = BIM2Aadvdiff (@var{mesh}, @var{alpha}, @var{gamma}, @var{eta}, @var{beta}) +## +## Builds the Scharfetter-Gummel matrix for the +## discretization of the LHS +## of the equation: +## +## @iftex +## @tex +## $ -div ( \alpha \gamma ( \eta \vect{\nabla} u - \vect{beta} u )) = f $ +## @end tex +## @end iftex +## @ifinfo +## -div (@var{alpha} * @var{gamma} (@var{eta} grad u - @var{beta} u )) = f +## @end ifinfo +## +## where: +## @itemize @minus +## @item @var{alpha}: element-wise constant scalar function +## @item @var{eta}, @var{gamma}: piecewise linear conforming +## scalar functions +## @item @var{beta}: element-wise constant vector function +## @end itemize +## +## Instead of passing the vector field @var{beta} directly +## one can pass a piecewise linear conforming scalar function +## @var{phi} as the last input. In such case @var{beta} = grad @var{phi} +## is assumed. If @var{phi} is a single scalar value @var{beta} +## is assumed to be 0 in the whole domain. +## +## Example: +## @example +## [mesh.p,mesh.e,mesh.t] = MSH2Mstructmesh([0:1/3:1],[0:1/3:1],1,1:4); +## mesh = BIM2Cmeshproperties(mesh); +## x = mesh.p(1,:)'; +## Dnodes = BIM2Cunknownsonside(mesh,[2,4]); +## Nnodes = columns(mesh.p); Nelements = columns(mesh.t); +## Varnodes = setdiff(1:Nnodes,Dnodes); +## alpha = ones(Nelements,1); eta = .1*ones(Nnodes,1); +## beta = [ones(1,Nelements);zeros(1,Nelements)]; +## gamma = ones(Nnodes,1); +## f = BIM2Arhs(mesh,ones(Nnodes,1),ones(Nelements,1)); +## S = BIM2Aadvdiff(mesh,alpha,gamma,eta,beta); +## u = zeros(Nnodes,1); +## u(Varnodes) = S(Varnodes,Varnodes)\f(Varnodes); +## uex = x - (exp(10*x)-1)/(exp(10)-1); +## assert(u,uex,1e-7) +## @end example +## +## @seealso{BIM2Arhs, BIM2Areaction, BIM2Cmeshproperties} +## @end deftypefn - ## This file is part of - ## - ## BIM - Box Integration Method Package for Octave - ## ------------------------------------------------------------------- - ## Copyright (C) 2007 Carlo de Falco - ## Copyright (C) 2007 Culpo Massimiliano - ## - ## BIM is free software; you can redistribute it and/or modify - ## it under the terms of the GNU General Public License as published by - ## the Free Software Foundation; either version 2 of the License, or - ## (at your option) any later version. - ## - ## BIM is distributed in the hope that it will be useful, - ## but WITHOUT ANY WARRANTY; without even the implied warranty of - ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ## GNU General Public License for more details. - ## - ## You should have received a copy of the GNU General Public License - ## along with BIM; If not, see <http://www.gnu.org/licenses/>. - ## - ## - ## MAIN AUTHORS: - ## Carlo de Falco - ## Dublin City University - ## Glasnevin, Dublin 9, Ireland - ## - ## Culpo Massimiliano - ## Bergische Universitaet Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 - ## D-42119 Wuppertal, Germany - +function [A] = BIM2Aadvdiff(mesh,alpha,gamma,eta,beta) + Nnodes = columns(mesh.p); Nelements = columns(mesh.t); @@ -103,8 +101,8 @@ gjnode(inode,jnode,:)=mesh.t(jnode,:); Lloc(inode,jnode,:) = sum( shg(:,inode,:) .* shg(:,jnode,:),1)... .* alphaareak; - end - end + endfor + endfor x = mesh.p(1,:); @@ -125,7 +123,7 @@ v31 = betaloc(1,:)-betaloc(3,:); else error("coefficient beta has wrong dimensions"); - end + endif etaloc = eta(mesh.t(1:3,:)); Modified: trunk/octave-forge/extra/bim/inst/BIM2Aboundarymass.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM2Aboundarymass.m 2008-06-21 09:02:38 UTC (rev 5131) +++ trunk/octave-forge/extra/bim/inst/BIM2Aboundarymass.m 2008-06-22 13:40:59 UTC (rev 5132) @@ -1,61 +1,59 @@ +## Copyright (C) 2007,2008 Carlo de Falco, Massimiliano Culpo +## +## BIM - Box Integration Method Package for Octave +## +## BIM is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## BIM is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with BIM; If not, see <http://www.gnu.org/licenses/>. +## +## +## AUTHORS: +## +## Carlo de Falco +## Dublin City University +## Glasnevin, Dublin 9, Ireland +## +## Culpo Massimiliano +## Bergische Universitaet Wuppertal +## Fachbereich C - Mathematik und Naturwissenschaften +## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 +## D-42119 Wuppertal, Germany + +## -*- texinfo -*- +## @deftypefn {Function File} {[@var{M}]} = @ +## BIM2Aboundarymass( @var{mesh}, @var{sidelist}, @var{nodelist}) +## +## Builds the boundary mass-matrix needed to apply flux boundary conditions. +## +## Input: +## @itemize @minus +## @item @var{mesh}: PDEtool-like mesh with required field "p", "e", "t". +## @item @var{sidelist}: list of the sides of the geometrical border. +## @item @var{nodelist}: (optional) list of the degrees of freedom on +## the boundary +## @end itemize +## +## @end deftypefn + function [M] = BIM2Aboundarymass(mesh, sidelist, nodelist) - - ## -*- texinfo -*- - ## @deftypefn {Function File} {[@var{M}]} = @ - ## BIM2Aboundarymass( @var{mesh}, @var{sidelist}, @var{nodelist}) - ## - ## Builds the boundary mass-matrix needed to apply flux boundary conditions. - ## - ## Input: - ## @itemize @minus - ## @item @var{mesh}: PDEtool-like mesh with required field "p", "e", "t". - ## @item @var{sidelist}: list of the sides of the geometrical border. - ## @item @var{nodelist}: (optional) list of the degrees of freedom on - ## the boundary - ## @end itemize - ## - ## @end deftypefn - - ## This file is part of - ## - ## BIM - Box Integration Method Package for Octave - ## ------------------------------------------------------------------- - ## Copyright (C) 2007 Carlo de Falco - ## Copyright (C) 2007 Culpo Massimiliano - ## - ## BIM is free software; you can redistribute it and/or modify - ## it under the terms of the GNU General Public License as published by - ## the Free Software Foundation; either version 2 of the License, or - ## (at your option) any later version. - ## - ## BIM is distributed in the hope that it will be useful, - ## but WITHOUT ANY WARRANTY; without even the implied warranty of - ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ## GNU General Public License for more details. - ## - ## You should have received a copy of the GNU General Public License - ## along with BIM; If not, see <http://www.gnu.org/licenses/>. - ## - ## - ## MAIN AUTHORS: - ## Carlo de Falco - ## Dublin City University - ## Glasnevin, Dublin 9, Ireland - ## - ## Culpo Massimiliano - ## Bergische Universitaet Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 - ## D-42119 Wuppertal, Germany if nargin<3 [nodelist] = BIM2Cunknownsonside(mesh,sidelist); - end + endif edges = []; for ie=sidelist edges = [ edges, mesh.e([1:2 5],mesh.e(5,:)==ie)]; - end + endfor l = sqrt((mesh.p(1,edges(1,:))-mesh.p(1,edges(2,:))).^2 + (mesh.p(2,edges(1,:))-mesh.p(2,edges(2,:))).^2); @@ -63,6 +61,8 @@ for in = 1:length(nodelist) dd (in) = (sum(l(edges(1,:)==nodelist(in)))+sum(l(edges(2,:)==nodelist(in))))/2; - end + endfor - M = spdiag(dd); \ No newline at end of file + M = spdiag(dd); + +endfunction \ No newline at end of file Modified: trunk/octave-forge/extra/bim/inst/BIM2Areaction.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM2Areaction.m 2008-06-21 09:02:38 UTC (rev 5131) +++ trunk/octave-forge/extra/bim/inst/BIM2Areaction.m 2008-06-22 13:40:59 UTC (rev 5132) @@ -1,75 +1,75 @@ +## Copyright (C) 2007,2008 Carlo de Falco, Massimiliano Culpo +## +## BIM - Box Integration Method Package for Octave +## +## BIM is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## BIM is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with BIM; If not, see <http://www.gnu.org/licenses/>. +## +## +## AUTHORS: +## +## Carlo de Falco +## Dublin City University +## Glasnevin, Dublin 9, Ireland +## +## Culpo Massimiliano +## Bergische Universitaet Wuppertal +## Fachbereich C - Mathematik und Naturwissenschaften +## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 +## D-42119 Wuppertal, Germany + +## -*- texinfo -*- +## @deftypefn {Function File} {[@var{C}]} = BIM2Areaction(@var{mesh}, @var{delta}, @var{zeta}) +## +## Builds the matrix for the discretization of the LHS +## of the equation: +## @iftex +## @tex +## $ \delta \zeta u = f $ +## @end tex +## @end iftex +## @ifinfo +## @var{delta} * @var{zeta} * u = f +## @end ifinfo +## +## Input: +## @itemize @minus +## @item @var{mesh}: PDEtool-like mesh structure with required fields "p", "e", "t". +## @item @var{delta}: element-wise constant scalar function. +## @item @var{zeta}: piecewise linear conforming scalar function. +## @end itemize +## +## @seealso{BIM2Arhs, BIM2Aadvdiff, BIM2Cmeshproperties} +## @end deftypefn + function [C] = BIM2Areaction(mesh,delta,zeta) - ## -*- texinfo -*- - ## @deftypefn {Function File} {[@var{C}]} = BIM2Areaction(@var{mesh}, @var{delta}, @var{zeta}) - ## - ## Builds the matrix for the discretization of the LHS - ## of the equation: - ## @iftex - ## @tex - ## $ \delta \zeta u = f $ - ## @end tex - ## @end iftex - ## @ifinfo - ## @var{delta} * @var{zeta} * u = f - ## @end ifinfo - ## - ## Input: - ## @itemize @minus - ## @item @var{mesh}: PDEtool-like mesh structure with required fields "p", "e", "t". - ## @item @var{delta}: element-wise constant scalar function. - ## @item @var{zeta}: piecewise linear conforming scalar function. - ## @end itemize - ## - ## @seealso{BIM2Arhs, BIM2Aadvdiff, BIM2Cmeshproperties} - ## @end deftypefn - - ## This file is part of - ## - ## BIM - Box Integration Method Package for Octave - ## ------------------------------------------------------------------- - ## Copyright (C) 2007 Carlo de Falco - ## Copyright (C) 2007 Culpo Massimiliano - ## - ## BIM is free software; you can redistribute it and/or modify - ## it under the terms of the GNU General Public License as published by - ## the Free Software Foundation; either version 2 of the License, or - ## (at your option) any later version. - ## - ## BIM is distributed in the hope that it will be useful, - ## but WITHOUT ANY WARRANTY; without even the implied warranty of - ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ## GNU General Public License for more details. - ## - ## You should have received a copy of the GNU General Public License - ## along with BIM; If not, see <http://www.gnu.org/licenses/>. - ## - ## - ## MAIN AUTHORS: - ## Carlo de Falco - ## Dublin City University - ## Glasnevin, Dublin 9, Ireland - ## - ## Culpo Massimiliano - ## Bergische Universitaet Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 - ## D-42119 Wuppertal, Germany - Nnodes =size(mesh.p,2); Nelements =size(mesh.t,2); - + wjacdet =mesh.wjacdet(:,:); coeff =zeta(mesh.t(1:3,:)); coeffe =delta(:); - ## Local matrix + ## Local matrix Blocmat=zeros(3,Nelements); for inode=1:3 Blocmat(inode,:) = coeffe'.*coeff(inode,:).*wjacdet(inode,:); - end + endfor gnode=(mesh.t(1:3,:)); ## Global matrix C = sparse(gnode(:),gnode(:),Blocmat(:)); + +endfunction Modified: trunk/octave-forge/extra/bim/inst/BIM2Arhs.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM2Arhs.m 2008-06-21 09:02:38 UTC (rev 5131) +++ trunk/octave-forge/extra/bim/inst/BIM2Arhs.m 2008-06-22 13:40:59 UTC (rev 5132) @@ -1,72 +1,72 @@ +## Copyright (C) 2007,2008 Carlo de Falco, Massimiliano Culpo +## +## BIM - Box Integration Method Package for Octave +## +## BIM is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## BIM is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with BIM; If not, see <http://www.gnu.org/licenses/>. +## +## +## AUTHORS: +## +## Carlo de Falco +## Dublin City University +## Glasnevin, Dublin 9, Ireland +## +## Culpo Massimiliano +## Bergische Universitaet Wuppertal +## Fachbereich C - Mathematik und Naturwissenschaften +## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 +## D-42119 Wuppertal, Germany + +## -*- texinfo -*- +## @deftypefn {Function File} {[@var{b}]} = BIM2Arhs(@var{mesh}, @var{f}, @var{g}) +## +## Constructs the RHS for the DAR problem: +## @iftex +## @tex +## $ -div ( \alpha \gamma ( \eta \vect{\nabla} u - \vect{beta} u )) + \delta \zeta u = f g $ +## @end tex +## @end iftex +## @ifinfo +## -div (@var{alpha} * @var{gamma} (@var{eta} grad u - @var{beta} u )) + @var{delta} * @var{zeta} u = @var{f}*@var{g} +## @end ifinfo +## +## Input: +## @itemize @minus +## @item @var{mesh}: PDEtool-like mesh with required field "p", "e", "t". +## @item @var{g}: element-wise constant scalar function. +## @item @var{f}: piecewise linear conforming scalar function. +## @end itemize +## +## @seealso{BIM2Areaction, BIM2Aadvdiff, BIM2Cmeshproperties} +## @end deftypefn + function b = BIM2Arhs(mesh,f,g) - ## -*- texinfo -*- - ## @deftypefn {Function File} {[@var{b}]} = BIM2Arhs(@var{mesh}, @var{f}, @var{g}) - ## - ## Constructs the RHS for the DAR problem: - ## @iftex - ## @tex - ## $ -div ( \alpha \gamma ( \eta \vect{\nabla} u - \vect{beta} u )) + \delta \zeta u = f g $ - ## @end tex - ## @end iftex - ## @ifinfo - ## -div (@var{alpha} * @var{gamma} (@var{eta} grad u - @var{beta} u )) + @var{delta} * @var{zeta} u = @var{f}*@var{g} - ## @end ifinfo - ## - ## Input: - ## @itemize @minus - ## @item @var{mesh}: PDEtool-like mesh with required field "p", "e", "t". - ## @item @var{g}: element-wise constant scalar function. - ## @item @var{f}: piecewise linear conforming scalar function. - ## @end itemize - ## - ## @seealso{BIM2Areaction, BIM2Aadvdiff, BIM2Cmeshproperties} - ## @end deftypefn - - ## This file is part of - ## - ## BIM - Box Integration Method Package for Octave - ## ------------------------------------------------------------------- - ## Copyright (C) 2007 Carlo de Falco - ## Copyright (C) 2007 Culpo Massimiliano - ## - ## BIM is free software; you can redistribute it and/or modify - ## it under the terms of the GNU General Public License as published by - ## the Free Software Foundation; either version 2 of the License, or - ## (at your option) any later version. - ## - ## BIM is distributed in the hope that it will be useful, - ## but WITHOUT ANY WARRANTY; without even the implied warranty of - ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ## GNU General Public License for more details. - ## - ## You should have received a copy of the GNU General Public License - ## along with BIM; If not, see <http://www.gnu.org/licenses/>. - ## - ## - ## MAIN AUTHORS: - ## Carlo de Falco - ## Dublin City University - ## Glasnevin, Dublin 9, Ireland - ## - ## Culpo Massimiliano - ## Bergische Universitaet Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 - ## D-42119 Wuppertal, Germany - Nnodes =size(mesh.p,2); Nelements =size(mesh.t,2); f = f(mesh.t(1:3,:)); wjacdet = mesh.wjacdet; - %% build local matrix + ## build local matrix Blocmat=zeros(3,Nelements); for inode=1:3 Blocmat(inode,:) = g'.*f(inode,:).*wjacdet(inode,:); - end + endfor gnode=(mesh.t(1:3,:)); - %% assemble global matrix + + ## assemble global matrix + b = sparse(gnode(:),1,Blocmat(:)); - b = sparse(gnode(:),1,Blocmat(:)); +endfunction \ No newline at end of file Modified: trunk/octave-forge/extra/bim/inst/BIM2Cglobalflux.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM2Cglobalflux.m 2008-06-21 09:02:38 UTC (rev 5131) +++ trunk/octave-forge/extra/bim/inst/BIM2Cglobalflux.m 2008-06-22 13:40:59 UTC (rev 5132) @@ -1,69 +1,67 @@ -function [jx, jy] = BIM2Cglobalflux(mesh,u,alpha,gamma,eta,beta) +## Copyright (C) 2007,2008 Carlo de Falco, Massimiliano Culpo +## +## BIM - Box Integration Method Package for Octave +## +## BIM is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## BIM is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with BIM; If not, see <http://www.gnu.org/licenses/>. +## +## +## AUTHORS: +## +## Carlo de Falco +## Dublin City University +## Glasnevin, Dublin 9, Ireland +## +## Culpo Massimiliano +## Bergische Universitaet Wuppertal +## Fachbereich C - Mathematik und Naturwissenschaften +## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 +## D-42119 Wuppertal, Germany - ## -*- texinfo -*- - ## @deftypefn {Function File} {[@var{jx},@var{jy}]} = BIM2Cglobalflux(@var{mesh},@var{u},@var{alpha},@var{gamma},@var{eta},@var{beta}) - ## - ## Builds the Scharfetter-Gummel approximation of the vector field - ## - ## @iftex - ## @tex - ## $ \vect{J}(u) = \alpha \gamma (\eta\vect{\nabla}u-\vect{beta}u) $ - ## @end tex - ## @end iftex - ## @ifinfo - ## J(@var{u}) = @var{alpha}* @var{gamma} * (@var{eta} * grad @var{u} - @var{beta} * @var{u})) - ## @end ifinfo - ## - ## where: - ## @itemize @minus - ## @item @var{alpha}: element-wise constant scalar function - ## @item @var{eta}, @var{u}, @var{gamma}: piecewise linear conforming scalar functions - ## @item @var{beta}: element-wise constant vector function - ## @end itemize - ## - ## J(@var{u}) is an element-wise constant vector function - ## - ## Instead of passing the vector field @var{beta} directly - ## one can pass a piecewise linear conforming scalar function - ## @var{phi} as the last input. In such case @var{beta} = grad @var{phi} - ## is assumed. If @var{phi} is a single scalar value @var{beta} - ## is assumed to be 0 in the whole domain. - ## - ## @seealso{BIM2Cpdegrad,BIM2Aadvdiff} - ## @end deftypefn +## -*- texinfo -*- +## @deftypefn {Function File} {[@var{jx},@var{jy}]} = BIM2Cglobalflux(@var{mesh},@var{u},@var{alpha},@var{gamma},@var{eta},@var{beta}) +## +## Builds the Scharfetter-Gummel approximation of the vector field +## +## @iftex +## @tex +## $ \vect{J}(u) = \alpha \gamma (\eta\vect{\nabla}u-\vect{beta}u) $ +## @end tex +## @end iftex +## @ifinfo +## J(@var{u}) = @var{alpha}* @var{gamma} * (@var{eta} * grad @var{u} - @var{beta} * @var{u})) +## @end ifinfo +## +## where: +## @itemize @minus +## @item @var{alpha}: element-wise constant scalar function +## @item @var{eta}, @var{u}, @var{gamma}: piecewise linear conforming scalar functions +## @item @var{beta}: element-wise constant vector function +## @end itemize +## +## J(@var{u}) is an element-wise constant vector function +## +## Instead of passing the vector field @var{beta} directly +## one can pass a piecewise linear conforming scalar function +## @var{phi} as the last input. In such case @var{beta} = grad @var{phi} +## is assumed. If @var{phi} is a single scalar value @var{beta} +## is assumed to be 0 in the whole domain. +## +## @seealso{BIM2Cpdegrad,BIM2Aadvdiff} +## @end deftypefn - ## This file is part of - ## - ## BIM - Box Integration Method Package for Octave - ## ------------------------------------------------------------------- - ## Copyright (C) 2007 Carlo de Falco - ## Copyright (C) 2007 Culpo Massimiliano - ## - ## BIM is free software; you can redistribute it and/or modify - ## it under the terms of the GNU General Public License as published by - ## the Free Software Foundation; either version 2 of the License, or - ## (at your option) any later version. - ## - ## BIM is distributed in the hope that it will be useful, - ## but WITHOUT ANY WARRANTY; without even the implied warranty of - ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ## GNU General Public License for more details. - ## - ## You should have received a copy of the GNU General Public License - ## along with BIM; If not, see <http://www.gnu.org/licenses/>. - ## - ## - ## MAIN AUTHORS: - ## Carlo de Falco - ## Dublin City University - ## Glasnevin, Dublin 9, Ireland - ## - ## Culpo Massimiliano - ## Bergische Universitaet Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 - ## D-42119 Wuppertal, Germany - +function [jx, jy] = BIM2Cglobalflux(mesh,u,alpha,gamma,eta,beta) + Nelem = columns(mesh.t); Nnodes = columns(mesh.p); @@ -81,8 +79,6 @@ dy = [ (y(3,:)-y(2,:)) ; (y(1,:) -y(3,:)) ; (y(2,:) -y(1,:)) ]; - - ##ei = sqrt( dx.^2 + dy.^2 ); if all(size(beta)==1) v12=0;v23=0;v31=0; @@ -97,7 +93,7 @@ v12 = betaloc(2,:)-betaloc(1,:); else error("coefficient beta has wrong dimensions"); - end + endif etaloc = eta(mesh.t(1:3,:)); @@ -126,22 +122,22 @@ jx = - alpha' .* ( gelocm1 .* etalocm1 .* dx(1,:) .* ... gfigfj(1,:) .* ... - ( bp23 .* uloc(3,:)./etaloc(3,:) -... - bm23 .* uloc(2,:)./etaloc(2,:)) +... %% 1 + ( bp23 .* uloc(3,:)./etaloc(3,:) -... + bm23 .* uloc(2,:)./etaloc(2,:)) +... %% 1 gelocm2 .* etalocm2 .* dx(2,:) .* ... gfigfj(2,:) .* ... - (bp31 .* uloc(1,:)./etaloc(1,:) -... - bm31 .* uloc(3,:)./etaloc(3,:)) +... %% 2 + (bp31 .* uloc(1,:)./etaloc(1,:) -... + bm31 .* uloc(3,:)./etaloc(3,:)) +... %% 2 gelocm3 .* etalocm3 .* dx(3,:) .* ... gfigfj(3,:) .* ... - (bp12 .* uloc(2,:)./etaloc(2,:) -... - bm12 .* uloc(1,:)./etaloc(1,:)) ... %% 3 + (bp12 .* uloc(2,:)./etaloc(2,:) -... + bm12 .* uloc(1,:)./etaloc(1,:)) ... %% 3 ); jy = - alpha' .* ( gelocm1 .* etalocm1 .* dy(1,:) .* ... gfigfj(1,:) .* ... - ( bp23 .* uloc(3,:)./etaloc(3,:) -... - bm23 .* uloc(2,:)./etaloc(2,:)) +... %% 1 + ( bp23 .* uloc(3,:)./etaloc(3,:) -... + bm23 .* uloc(2,:)./etaloc(2,:)) +... %% 1 gelocm2 .* etalocm2 .* dy(2,:) .* ... gfigfj(2,:) .* ... (bp31 .* uloc(1,:)./etaloc(1,:) -... @@ -151,3 +147,4 @@ (bp12 .* uloc(2,:)./etaloc(2,:) -... bm12 .* uloc(1,:)./etaloc(1,:)) ... %% 3 ); +endfunction \ No newline at end of file Modified: trunk/octave-forge/extra/bim/inst/BIM2Cmeshproperties.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM2Cmeshproperties.m 2008-06-21 09:02:38 UTC (rev 5131) +++ trunk/octave-forge/extra/bim/inst/BIM2Cmeshproperties.m 2008-06-22 13:40:59 UTC (rev 5132) @@ -1,54 +1,55 @@ +## Copyright (C) 2007,2008 Carlo de Falco, Massimiliano Culpo +## +## BIM - Box Integration Method Package for Octave +## +## BIM is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## BIM is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with BIM; If not, see <http://www.gnu.org/licenses/>. +## +## +## AUTHORS: +## +## Carlo de Falco +## Dublin City University +## Glasnevin, Dublin 9, Ireland +## +## Culpo Massimiliano +## Bergische Universitaet Wuppertal +## Fachbereich C - Mathematik und Naturwissenschaften +## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 +## D-42119 Wuppertal, Germany + +## -*- texinfo -*- +## @deftypefn {Function File} {[@var{omesh}]} = BIM2Cmeshproperties(@var{imesh}) +## +## Creates an omesh structure starting from imesh. All the properties needed by BIM are added as fields. +## +## Input: +## @itemize @minus +## @item @var{imesh}: PDEtool-like mesh with required field "p", "e", "t". +## @end itemize +## +## Output: +## @itemize @minus +## @item @var{omesh}: PDEtool-like mesh structure with added fields needed by BIM method. +## @end itemize +## +## @seealso{BIM2Areaction, BIM2Aadvdiff, BIM2Crhs} +## @end deftypefn + function [omesh] = BIM2Cmeshproperties(imesh) - ## -*- texinfo -*- - ## @deftypefn {Function File} {[@var{omesh}]} = BIM2Cmeshproperties(@var{imesh}) - ## - ## Creates an omesh structure starting from imesh. All the properties needed by BIM are added as fields. - ## - ## Input: - ## @itemize @minus - ## @item @var{imesh}: PDEtool-like mesh with required field "p", "e", "t". - ## @end itemize - ## - ## Output: - ## @itemize @minus - ## @item @var{omesh}: PDEtool-like mesh structure with added fields needed by BIM method. - ## @end itemize - ## - ## @seealso{BIM2Areaction, BIM2Aadvdiff, BIM2Crhs} - ## @end deftypefn + omesh = imesh; + [omesh.wjacdet,omesh.area,omesh.shg] = ... + MSH2Mgeomprop(imesh,"wjacdet","area","shg"); - ## This file is part of - ## - ## BIM - Box Integration Method Package for Octave - ## ------------------------------------------------------------------- - ## Copyright (C) 2007 Carlo de Falco - ## Copyright (C) 2007 Culpo Massimiliano - ## - ## BIM is free software; you can redistribute it and/or modify - ## it under the terms of the GNU General Public License as published by - ## the Free Software Foundation; either version 2 of the License, or - ## (at your option) any later version. - ## - ## BIM is distributed in the hope that it will be useful, - ## but WITHOUT ANY WARRANTY; without even the implied warranty of - ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ## GNU General Public License for more details. - ## - ## You should have received a copy of the GNU General Public License - ## along with BIM; If not, see <http://www.gnu.org/licenses/>. - ## - ## - ## MAIN AUTHORS: - ## Carlo de Falco - ## Dublin City University - ## Glasnevin, Dublin 9, Ireland - ## - ## Culpo Massimiliano - ## Bergische Universitaet Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 - ## D-42119 Wuppertal, Germany - - omesh = imesh; - [omesh.wjacdet,omesh.area,omesh.shg] = MSH2Mgeomprop(imesh,"wjacdet","area","shg"); +endfunction Modified: trunk/octave-forge/extra/bim/inst/BIM2Cpdegrad.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM2Cpdegrad.m 2008-06-21 09:02:38 UTC (rev 5131) +++ trunk/octave-forge/extra/bim/inst/BIM2Cpdegrad.m 2008-06-22 13:40:59 UTC (rev 5132) @@ -1,53 +1,53 @@ -function [gx, gy] = BIM2Cpdegrad(mesh,u) +## Copyright (C) 2007,2008 Carlo de Falco, Massimiliano Culpo +## +## BIM - Box Integration Method Package for Octave +## +## BIM is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## BIM is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with BIM; If not, see <http://www.gnu.org/licenses/>. +## +## +## AUTHORS: +## +## Carlo de Falco +## Dublin City University +## Glasnevin, Dublin 9, Ireland +## +## Culpo Massimiliano +## Bergische Universitaet Wuppertal +## Fachbereich C - Mathematik und Naturwissenschaften +## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 +## D-42119 Wuppertal, Germany - ## -*- texinfo -*- - ## - ## @deftypefn {Function File} {[@var{gx},@var{gy}]} = BIM2Cpdegrad(@var{mesh},@var{u}) - ## - ## Builds the P1 approximation of the gradient of the computed solution. - ## - ## Input: - ## @itemize @minus - ## @item @var{mesh}: PDEtool-like mesh with required field "p", "e", "t". - ## @item @var{u}: piecewise linear conforming scalar function. - ## @end itemize - ## - ## @seealso{BIM2Cpdegrad} - ## @end deftypefn +## -*- texinfo -*- +## +## @deftypefn {Function File} {[@var{gx},@var{gy}]} = BIM2Cpdegrad(@var{mesh},@var{u}) +## +## Builds the P1 approximation of the gradient of the computed solution. +## +## Input: +## @itemize @minus +## @item @var{mesh}: PDEtool-like mesh with required field "p", "e", "t". +## @item @var{u}: piecewise linear conforming scalar function. +## @end itemize +## +## @seealso{BIM2Cglobalflux} +## @end deftypefn - ## This file is part of - ## - ## BIM - Box Integration Method Package for Octave - ## ------------------------------------------------------------------- - ## Copyright (C) 2007 Carlo de Falco - ## Copyright (C) 2007 Culpo Massimiliano - ## - ## BIM is free software; you can redistribute it and/or modify - ## it under the terms of the GNU General Public License as published by - ## the Free Software Foundation; either version 2 of the License, or - ## (at your option) any later version. - ## - ## BIM is distributed in the hope that it will be useful, - ## but WITHOUT ANY WARRANTY; without even the implied warranty of - ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ## GNU General Public License for more details. - ## - ## You should have received a copy of the GNU General Public License - ## along with BIM; If not, see <http://www.gnu.org/licenses/>. - ## - ## - ## MAIN AUTHORS: - ## Carlo de Falco - ## Dublin City University - ## Glasnevin, Dublin 9, Ireland - ## - ## Culpo Massimiliano - ## Bergische Universitaet Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 - ## D-42119 Wuppertal, Germany +function [gx, gy] = BIM2Cpdegrad(mesh,u) shgx = reshape(mesh.shg(1,:,:),3,[]); gx = sum(shgx.*u(mesh.t(1:3,:)),1); shgy = reshape(mesh.shg(2,:,:),3,[]); gy = sum(shgy.*u(mesh.t(1:3,:)),1); + +endfunction Modified: trunk/octave-forge/extra/bim/inst/BIM2Cunknowncoord.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM2Cunknowncoord.m 2008-06-21 09:02:38 UTC (rev 5131) +++ trunk/octave-forge/extra/bim/inst/BIM2Cunknowncoord.m 2008-06-22 13:40:59 UTC (rev 5132) @@ -1,54 +1,54 @@ -function [x,y] = BIM2Cunknowncoord(mesh) +## Copyright (C) 2007,2008 Carlo de Falco, Massimiliano Culpo +## +## BIM - Box Integration Method Package for Octave +## +## BIM is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## BIM is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with BIM; If not, see <http://www.gnu.org/licenses/>. +## +## +## AUTHORS: +## +## Carlo de Falco +## Dublin City University +## Glasnevin, Dublin 9, Ireland +## +## Culpo Massimiliano +## Bergische Universitaet Wuppertal +## Fachbereich C - Mathematik und Naturwissenschaften +## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 +## D-42119 Wuppertal, Germany - ## -*- texinfo -*- - ## @deftypefn {Function File} {[@var{x}, @var{y}]} = BIM2Cunknowncoord(@var{mesh}) - ## - ## Return as output the coordinates at which the unknown is evaluated by BIM method (nodes of the mesh). - ## - ## Input: - ## @itemize @minus - ## @item @var{mesh}: PDEtool-like mesh with required field "p", "e", "t". - ## @end itemize - ## - ## Output: - ## @itemize @minus - ## @item @var{x}, @var{y}: x and y coordinates of the evaluation points. - ## @end itemize - ## - ## @seealso{BIM2Cunknownsonside} - ## @end deftypefn +## -*- texinfo -*- +## @deftypefn {Function File} {[@var{x}, @var{y}]} = BIM2Cunknowncoord(@var{mesh}) +## +## Return as output the coordinates at which the unknown is evaluated by BIM method (nodes of the mesh). +## +## Input: +## @itemize @minus +## @item @var{mesh}: PDEtool-like mesh with required field "p", "e", "t". +## @end itemize +## +## Output: +## @itemize @minus +## @item @var{x}, @var{y}: x and y coordinates of the evaluation points. +## @end itemize +## +## @seealso{BIM2Cunknownsonside} +## @end deftypefn - ## This file is part of - ## - ## BIM - Box Integration Method Package for Octave - ## ------------------------------------------------------------------- - ## Copyright (C) 2007 Carlo de Falco - ## Copyright (C) 2007 Culpo Massimiliano - ## - ## BIM is free software; you can redistribute it and/or modify - ## it under the terms of the GNU General Public License as published by - ## the Free Software Foundation; either version 2 of the License, or - ## (at your option) any later version. - ## - ## BIM is distributed in the hope that it will be useful, - ## but WITHOUT ANY WARRANTY; without even the implied warranty of - ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ## GNU General Public License for more details. - ## - ## You should have received a copy of the GNU General Public License - ## along with BIM; If not, see <http://www.gnu.org/licenses/>. - ## - ## - ## MAIN AUTHORS: - ## Carlo de Falco - ## Dublin City University - ## Glasnevin, Dublin 9, Ireland - ## - ## Culpo Massimiliano - ## Bergische Universitaet Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 - ## D-42119 Wuppertal, Germany +function [x,y] = BIM2Cunknowncoord(mesh) x = mesh.p(1,:)'; y = mesh.p(2,:)'; + +endfunction \ No newline at end of file Modified: trunk/octave-forge/extra/bim/inst/BIM2Cunknownsonside.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIM2Cunknownsonside.m 2008-06-21 09:02:38 UTC (rev 5131) +++ trunk/octave-forge/extra/bim/inst/BIM2Cunknownsonside.m 2008-06-22 13:40:59 UTC (rev 5132) @@ -1,54 +1,54 @@ +## Copyright (C) 2007,2008 Carlo de Falco, Massimiliano Culpo +## +## BIM - Box Integration Method Package for Octave +## +## BIM is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## BIM is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with BIM; If not, see <http://www.gnu.org/licenses/>. +## +## +## AUTHORS: +## +## Carlo de Falco +## Dublin City University +## Glasnevin, Dublin 9, Ireland +## +## Culpo Massimiliano +## Bergische Universitaet Wuppertal +## Fachbereich C - Mathematik und Naturwissenschaften +## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 +## D-42119 Wuppertal, Germany + +## -*- texinfo -*- +## @deftypefn {Function File} {[@var{nodelist}]} = BIM2Cunknownsonside(@var{mesh},@var{sidelist}) +## +## Returns the list of the mesh nodes that lie on the specified geometrical sides. +## +## Input: +## @itemize @minus +## @item @var{mesh}: PDEtool-like mesh with required field "p", "e", "t". +## @item @var{sidelist}: list of the sides of the geometrical border. +## @end itemize +## +## Output: +## @itemize @minus +## @item @var{nodelist}: list of the nodes that lie on the specified sides. +## @end itemize +## +## @seealso{BIM2Cunknowncoord} +## @end deftypefn + function [nodelist] = BIM2Cunknownsonside(mesh, sidelist) - ## -*- texinfo -*- - ## @deftypefn {Function File} {[@var{nodelist}]} = BIM2Cunknownsonside(@var{mesh},@var{sidelist}) - ## - ## Returns the list of the mesh nodes that lie on the specified geometrical sides. - ## - ## Input: - ## @itemize @minus - ## @item @var{mesh}: PDEtool-like mesh with required field "p", "e", "t". - ## @item @var{sidelist}: list of the sides of the geometrical border. - ## @end itemize - ## - ## Output: - ## @itemize @minus - ## @item @var{nodelist}: list of the nodes that lie on the specified sides. - ## @end itemize - ## - ## @seealso{BIM2Cunknowncoord} - ## @end deftypefn - - ## This file is part of - ## - ## BIM - Box Integration Method Package for Octave - ## ------------------------------------------------------------------- - ## Copyright (C) 2007 Carlo de Falco - ## Copyright (C) 2007 Culpo Massimiliano - ## - ## BIM is free software; you can redistribute it and/or modify - ## it under the terms of the GNU General Public License as published by - ## the Free Software Foundation; either version 2 of the License, or - ## (at your option) any later version. - ## - ## BIM is distributed in the hope that it will be useful, - ## but WITHOUT ANY WARRANTY; without even the implied warranty of - ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ## GNU General Public License for more details. - ## - ## You should have received a copy of the GNU General Public License - ## along with BIM; If not, see <http://www.gnu.org/licenses/>. - ## - ## - ## MAIN AUTHORS: - ## Carlo de Falco - ## Dublin City University - ## Glasnevin, Dublin 9, Ireland - ## - ## Culpo Massimiliano - ## Bergische Universitaet Wuppertal - ## Fachbereich C - Mathematik und Naturwissenschaften - ## Arbeitsgruppe fuer Angewandte MathematD-42119 Wuppertal Gaussstr. 20 - ## D-42119 Wuppertal, Germany + [nodelist] = MSH2Mnodesonsides(mesh,sidelist); - [nodelist] = MSH2Mnodesonsides(mesh,sidelist); +endfunction Modified: trunk/octave-forge/extra/bim/inst/BIMUbern.m =================================================================== --- trunk/octave-forge/extra/bim/inst/BIMUbern.m 2008-06-21 09:02:38 UTC (rev 5131) +++ trunk/octave-forge/extra/bim/inst/BIMUbern.m 2008-06-22 13:40:59 UTC (rev 5132) @@ -1,60 +1,56 @@ +## Copyright (C) 2007,2008 Carlo de Falco, Massimiliano Culpo +## +## BIM - Box Integration Method Package for Octave +## +## BIM is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## BIM is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with BIM; If not, see <http://www.gnu.org/licenses/>. +## +## +## AUTHORS: +## +## Carlo de Falco +## Dublin City University +## Glasnevin, Dublin 9, Ireland +## +## Culpo Massimiliano +## Bergische Universitaet Wuppertal +## Fachbereich C - M... [truncated message content] |