Mercurial > repos > public > sbplib
view +blockmatrix/fromMatrix.m @ 969:adae8063ea2f feature/poroelastic
Remove silly getBoundaryOperator* methods in multiblock.DiffOp and make the getBoundaryOperator and getBoundaryQuadrature methods use the scheme.getBoundaryOperator/Quadrature methods instead of properties.
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Tue, 25 Dec 2018 07:21:19 +0100 |
parents | 3974dccff55b |
children |
line wrap: on
line source
function bm = fromMatrix(A, div) d1 = div{1}; d2 = div{2}; [n, m] = size(A); if n ~= sum(d1) || m ~= sum(d2) error('blockmatrix:fromMatrix:NonMatchingDim','The dimensions in div does not sum to the dimensions in A.'); end bm = cell(length(d1), length(d2)); I = 1; for i = 1:length(d1) J = 1; for j = 1:length(d2) Asub = A(I:(I + d1(i)-1), J:(J + d2(j)-1)); if nnz(Asub) == 0 bm{i,j} = sparse(d1(i), d2(j)); else bm{i,j} = Asub; end J = J + d2(j); end I = I + d1(i); end end