Mercurial > repos > public > sbplib
changeset 1226:0652b34f9f27 feature/volcano
Add missing properties and methods to Hypsyst3D and Hypsyst3Dcurve. Note: These functions are NOT implemented properly and mearly work as place holders.
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Tue, 12 Nov 2019 09:00:48 -0800 |
parents | 33c378e508d2 |
children | ef08adea56c4 |
files | +scheme/Hypsyst3d.m +scheme/Hypsyst3dCurve.m |
diffstat | 2 files changed, 43 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
diff -r 33c378e508d2 -r 0652b34f9f27 +scheme/Hypsyst3d.m --- a/+scheme/Hypsyst3d.m Thu May 02 13:25:14 2019 -0700 +++ b/+scheme/Hypsyst3d.m Tue Nov 12 09:00:48 2019 -0800 @@ -3,12 +3,13 @@ m % Number of points in each direction, possibly a vector n % Size of system h % Grid spacing + grid %TODO: Abstract class requires a grid. Pass Cartesian grid to function instead x, y, z % Grid X, Y, Z% Values of x and y for each grid point Yx, Zx, Xy, Zy, Xz, Yz %Grid values for boundary surfaces order % Order accuracy for the approximation - D % non-stabalized scheme operator + D % non-stabilized scheme operator A, B, C, E % Symbolic coefficient matrices Aevaluated,Bevaluated,Cevaluated, Eevaluated @@ -17,13 +18,13 @@ Hxi,Hyi, Hzi % Kroneckerd norms. 1'*Hx*v corresponds to integration in the x dir. I_x,I_y, I_z, I_N e_w, e_e, e_s, e_n, e_b, e_t - params % Parameters for the coeficient matrice + params % Parameters for the coefficient matrices end methods % Solving Hyperbolic systems on the form u_t=-Au_x-Bu_y-Cu_z-Eu - function obj = Hypsyst3d(m, lim, order, A, B,C, E, params,operator) + function obj = Hypsyst3d(m, lim, order, A, B, C, E, params, operator) default_arg('E', []) xlim = lim{1}; ylim = lim{2}; @@ -150,8 +151,8 @@ end end - % Closure functions return the opertors applied to the own doamin to close the boundary - % Penalty functions return the opertors to force the solution. In the case of an interface it returns the operator applied to the other doamin. + % Closure functions return the operators applied to the own domain to close the boundary + % Penalty functions return the operators to force the solution. In the case of an interface it returns the operator applied to the other doamin. % boundary is a string specifying the boundary e.g. 'l','r' or 'e','w','n','s'. % type is a string specifying the type of boundary condition if there are several. % data is a function returning the data that should be applied at the boundary. @@ -172,6 +173,23 @@ error('Not implemented'); end + % TODO: Implement! This function should potentially replace boundary_matrices. + % Returns the boundary operator op for the boundary specified by the string boundary. + % op -- string or a cell array of strings + % boundary -- string + function varargout = getBoundaryOperator(obj, op, boundary) + error('Not implemented'); + end + + % TODO: Implement! + % Returns square boundary quadrature matrix, of dimension + % corresponding to the number of boundary points + % + % boundary -- string + function H = getBoundaryQuadrature(obj, boundary) + error('Not implemented'); + end + function N = size(obj) N = obj.m; end @@ -249,7 +267,7 @@ BM.pos = signVec(1); BM.zeroval=signVec(2); BM.neg=signVec(3); end - % Characteristic bouyndary consitions + % Characteristic boundary conditions function [closure, penalty]=boundary_condition_char(obj,BM) side = BM.side; pos = BM.pos; @@ -335,7 +353,7 @@ % [d+ ] % D = [ d0 ] % [ d-] - % signVec is a vector specifying the number of possitive, zero and negative eigenvalues of D + % signVec is a vector specifying the number of positive, zero and negative eigenvalues of D function [V,Vi, D,signVec]=matrixDiag(obj,mat,x,y,z) params = obj.params; syms xs ys zs
diff -r 33c378e508d2 -r 0652b34f9f27 +scheme/Hypsyst3dCurve.m --- a/+scheme/Hypsyst3dCurve.m Thu May 02 13:25:14 2019 -0700 +++ b/+scheme/Hypsyst3dCurve.m Tue Nov 12 09:00:48 2019 -0800 @@ -3,6 +3,7 @@ m % Number of points in each direction, possibly a vector n %size of system h % Grid spacing + grid %TODO: Abstract class requires a grid. Pass grid instead? X, Y, Z% Values of x and y for each grid point Yx, Zx, Xy, Zy, Xz, Yz %Grid values for boundary surfaces @@ -268,6 +269,23 @@ error('Not implemented'); end + % TODO: Implement! This function should potentially replace boundary_matrices. + % Returns the boundary operator op for the boundary specified by the string boundary. + % op -- string or a cell array of strings + % boundary -- string + function varargout = getBoundaryOperator(obj, op, boundary) + error('Not implemented'); + end + + % TODO: Implement! + % Returns square boundary quadrature matrix, of dimension + % corresponding to the number of boundary points + % + % boundary -- string + function H = getBoundaryQuadrature(obj, boundary) + error('Not implemented'); + end + function N = size(obj) N = obj.m; end