view +rv/+diffops/addClosuresToDiffOp.m @ 1163:65a577db5ca0 feature/rv

Move all functions in constructDiffOps to subpackage and refactor
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Thu, 27 Jun 2019 11:04:34 +0200
parents
children 79618b58b0a0
line wrap: on
line source

function [D, penalties] = addClosuresToDiffOp(diffOp, D, BCs)
    penalties = cell(size(BCs));
    for i = 1:size(BCs,1)
        for j = 1:size(BCs,2)
            [closure, penalties{i,j}] = diffOp.boundary_condition(BCs{i,j}.boundary, BCs{i,j}.type);
            if ~isa(closure, 'function_handle')
                closure = @(v) closure*v;
            end
            D = @(v) D(v) + closure(v);
        end
    end
end