changeset 3669:7fcf397e38d9 octave-forge

test.m renamed to run_test.m for consistency
author cdf
date Wed, 18 Jul 2007 21:52:32 +0000
parents 98ad3c86c490
children 5d511291a2cb
files extra/bim/examples/SSHAPE/run_test.m extra/bim/examples/SSHAPE/test.m
diffstat 2 files changed, 85 insertions(+), 85 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/extra/bim/examples/SSHAPE/run_test.m	Wed Jul 18 21:52:32 2007 +0000
@@ -0,0 +1,85 @@
+## MESH GENERATION AND PROPERTIES
+[mesh] = MSH2Mgmsh('sshape',1,1.2);
+[mesh] = BIM2Cmeshproperties(mesh);
+
+## INITIAL GUESS (IF NEEDED)
+[xu, yu] = BIM2Cunknowncoord(mesh);
+[nelem]  = columns(mesh.t);
+[nnodes] = columns(mesh.p);
+[uin]    = yu;
+
+## COEFFICIENTS FOR THE PROBLEM:
+## -div ( \alpha \gamma ( \eta \nabla u - \beta u ) )+ \delta \zeta u = f g
+epsilon = .01;
+alfa    = ones(nelem,1);
+gamma   = ones(nnodes,1);
+eta     = epsilon*ones(nnodes,1);
+potbeta = 0;
+delta   = zeros(nelem,1);
+zeta    = zeros(nnodes,1);
+f       = zeros(nnodes,1);
+g       = zeros(nelem,1);
+
+## ADVECTION AND REACTION MATRIX, RHS
+AdvDiff = BIM2Aadvdiff(mesh,alfa,gamma,eta,potbeta);
+Mass    = BIM2Areaction(mesh,delta,zeta);
+b       = BIM2Arhs(mesh,f,g);
+
+A = AdvDiff + Mass;
+
+
+## BOUNDARY CONDITIONS
+Dlist = BIM2Cunknownsonside(mesh, [5 28]);## LIST OF DIRICHLET NODES 
+Nlist = BIM2Cunknownsonside(mesh, setdiff([1:28],Dlist));## LIST OF NEUMANN NODES
+Nlist = setdiff(Nlist,Dlist);
+Fn    = zeros(length(Nlist),1);           	   ## PRESCRIBED NEUMANN FLUXES
+Ilist = setdiff(1:length(uin),union(Dlist,Nlist)); ## LIST OF INTERNAL NODES
+
+## LHS AND RHS PARTITION
+
+## LHS
+## DIRICHLET ROW
+Add = A(Dlist,Dlist);
+Adn = A(Dlist,Nlist);
+Adi = A(Dlist,Ilist); 
+## NEUMANN ROW
+And = A(Nlist,Dlist);
+Ann = A(Nlist,Nlist);
+Ani = A(Nlist,Ilist); 
+## INTERNAL ROW
+Aid = A(Ilist,Dlist);
+Ain = A(Ilist,Nlist); 
+Aii = A(Ilist,Ilist); 
+
+## RHS
+bd = b(Dlist);
+bn = b(Nlist); 
+bi = b(Ilist); 
+
+## UNKNOWNS
+ud = uin(Dlist);
+un = uin(Nlist); 
+ui = uin(Ilist); 
+
+## DISPLACEMENT SOLUTION
+temp = [Ann Ani ; Ain Aii ] \ [ Fn+bn-And*ud ; bi-Aid*ud];
+un   = temp(1:length(un));
+ui   = temp(length(un)+1:end);
+
+## FLUXES THROUGH DIRICHLET SIDES
+Fd = Add * ud + Adi * ui + Adn*un - bd;
+u  = zeros(nnodes,1);
+u(Dlist) = ud; u(Nlist) = un; u(Ilist) = ui;
+
+## GRADIENT OF THE SOLUTION
+[gx, gy] = BIM2Cpdegrad(mesh,u);
+
+
+## FLUXES RECONSTRUCTION
+[jxglob,jyglob] = BIM2Cglobalflux(mesh,u,alfa,gamma,eta,potbeta);
+
+## RESULTS VISUALIZATION
+FPL2pdesurf(mesh,u);
+FPL2pdesurf(mesh,u,"plot_field","gradient");
+FPL2quiver(mesh,jxglob,jyglob,"sample_density","100");
+FPL2quiver(mesh,gx,gy,"sample_density","100");
--- a/extra/bim/examples/SSHAPE/test.m	Wed Jul 18 20:58:05 2007 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-## MESH GENERATION AND PROPERTIES
-[mesh] = MSH2Mgmsh('sshape',1,1.2);
-[mesh] = BIM2Cmeshproperties(mesh);
-
-## INITIAL GUESS (IF NEEDED)
-[xu, yu] = BIM2Cunknowncoord(mesh);
-[nelem]  = columns(mesh.t);
-[nnodes] = columns(mesh.p);
-[uin]    = yu;
-
-## COEFFICIENTS FOR THE PROBLEM:
-## -div ( \alpha \gamma ( \eta \nabla u - \beta u ) )+ \delta \zeta u = f g
-epsilon = .01;
-alfa    = ones(nelem,1);
-gamma   = ones(nnodes,1);
-eta     = epsilon*ones(nnodes,1);
-potbeta = 0;
-delta   = zeros(nelem,1);
-zeta    = zeros(nnodes,1);
-f       = zeros(nnodes,1);
-g       = zeros(nelem,1);
-
-## ADVECTION AND REACTION MATRIX, RHS
-AdvDiff = BIM2Aadvdiff(mesh,alfa,gamma,eta,potbeta);
-Mass    = BIM2Areaction(mesh,delta,zeta);
-b       = BIM2Arhs(mesh,f,g);
-
-A = AdvDiff + Mass;
-
-
-## BOUNDARY CONDITIONS
-Dlist = BIM2Cunknownsonside(mesh, [5 28]);## LIST OF DIRICHLET NODES 
-Nlist = BIM2Cunknownsonside(mesh, setdiff([1:28],Dlist));## LIST OF NEUMANN NODES
-Nlist = setdiff(Nlist,Dlist);
-Fn    = zeros(length(Nlist),1);           	   ## PRESCRIBED NEUMANN FLUXES
-Ilist = setdiff(1:length(uin),union(Dlist,Nlist)); ## LIST OF INTERNAL NODES
-
-## LHS AND RHS PARTITION
-
-## LHS
-## DIRICHLET ROW
-Add = A(Dlist,Dlist);
-Adn = A(Dlist,Nlist);
-Adi = A(Dlist,Ilist); 
-## NEUMANN ROW
-And = A(Nlist,Dlist);
-Ann = A(Nlist,Nlist);
-Ani = A(Nlist,Ilist); 
-## INTERNAL ROW
-Aid = A(Ilist,Dlist);
-Ain = A(Ilist,Nlist); 
-Aii = A(Ilist,Ilist); 
-
-## RHS
-bd = b(Dlist);
-bn = b(Nlist); 
-bi = b(Ilist); 
-
-## UNKNOWNS
-ud = uin(Dlist);
-un = uin(Nlist); 
-ui = uin(Ilist); 
-
-## DISPLACEMENT SOLUTION
-temp = [Ann Ani ; Ain Aii ] \ [ Fn+bn-And*ud ; bi-Aid*ud];
-un   = temp(1:length(un));
-ui   = temp(length(un)+1:end);
-
-## FLUXES THROUGH DIRICHLET SIDES
-Fd = Add * ud + Adi * ui + Adn*un - bd;
-u  = zeros(nnodes,1);
-u(Dlist) = ud; u(Nlist) = un; u(Ilist) = ui;
-
-## GRADIENT OF THE SOLUTION
-[gx, gy] = BIM2Cpdegrad(mesh,u);
-
-
-## FLUXES RECONSTRUCTION
-[jxglob,jyglob] = BIM2Cglobalflux(mesh,u,alfa,gamma,eta,potbeta);
-
-## RESULTS VISUALIZATION
-FPL2pdesurf(mesh,u);
-FPL2pdesurf(mesh,u,"plot_field","gradient");
-FPL2quiver(mesh,jxglob,jyglob,"sample_density","100");
-FPL2quiver(mesh,gx,gy,"sample_density","100");