view +time/+sbp/sbpintime.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 f908ce064f35
children
line wrap: on
line source

% Takes one time step of size k using the sbp in time method
% starting from v_0 and where
% M v_t = E_r'*v + f(t)
function v = sbpintime(v, t, tvec, penalty, f, Nblock, E_r,...
                     L, U, P, Q)

% Pick out last time step
v_r = E_r'*v;  

% Form RHS
RHS = penalty*v_r; 

% Build vector of f-values and add to RHS
if(~isempty(f))
    fvec = [];
    for i = 1:Nblock
        fvec = [fvec;f(t+tvec(i))];
    end
    RHS = RHS + fvec;
end

% Solve system
%v = M\RHS;
RHS = P*RHS;
RHS = L\RHS;
v = U\RHS;
v = Q*v;