3 % Performs a detailed simulation of a (Navier-)stokes problem
5 % In general this can also be used for every linear stationary problem.
6 % Uses a fixed point defect correction algorithm.
14 model.decomp_mode = 0;
16 % assemble linear terms
17 [A, f] = model_data.operators(model, model_data);
20 uh =
Fem.DiscFunc([], model_data.df_info);
24 if model.has_nonlinearity
30 params{1} = @(x) model.operators(subsasgn(model, S, x), model_data);
31 if isfield(model,
'fp_tolerance')
32 params{2} = model.fp_tolerance;
34 if isfield(model,
'fp_maxiter')
35 params{3} = model.fp_maxiter;
37 if isfield(model,
'fp_damping')
38 params{4} = model.fp_damping;
43 [uh.dofs, defect, niterations] = ...
44 VecMat.fixed_point_algorithm(A, f, params{:}, max(model.verbose-2, 0));
48 sim_data.defect = sqrt(defect
' * model.get_inner_product_matrix(model_data) * defect);
49 sim_data.niterations = niterations;
50 sim_data.total_time = toc(start_total);
function sim_data = stokes_detailed_simulation(model, model_data)
Performs a detailed simulation of a (Navier-)stokes problem.