1 function [W,rate]=femwind_solve(A,X,U0,params)
2 % assemble sparse system matrix
4 lambda = zeros(prod(nel+1),1); % placeholder solution
5 % F = f_assembly_fortran(A,X,U0,lambda,params);
6 [K,F,~] = sparse_assembly(A,X,U0,lambda,params);
7 if isfield(params,'femwind_fortran_test') && params.femwind_fortran_test
9 err_f = big(F(:)-F_f(:))
11 error('err_f too large')
16 % dirichlet boundary conditions
17 [K,~]=apply_boundary_conditions(K,[],X); % to K - once
18 [~,F]=apply_boundary_conditions([],F,X); % to F - every time
21 % [lambda,it] = sparse_solve(K,F,X,'s');
22 [lambda,it,rate,XC] = sparse_solve(K,F,X,params);
27 [~,~,W] = sparse_assembly(A,X,U0,lambda,params);