You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: ex_navierstokes13.m
    path of file: ./repos/featool-multiphysics/examples
    
    the code of the file until where you have to start completion: function [ fea, out ] = ex_navierstokes13( varargin )
%EX_NAVIERSTOKES13 3D Example flow past a cylinder
%
%   [ FEA, OUT ] = EX_NAVIERSTOKES13( VARARGIN ) Sets up and solves stationary and
%   laminar 3D flow past a cylinder. Accepts the following property/value pairs.
%
%       Input       Value/{Default}        Description
%       -----------------------------------------------------------------------------------
%       rho         scalar {1}             Density
%       miu         scalar {0.001}         Molecular/dynamic viscosity

    
function [ fea, out ] = ex_navierstokes13( varargin )
%EX_NAVIERSTOKES13 3D Example flow past a cylinder
%
%   [ FEA, OUT ] = EX_NAVIERSTOKES13( VARARGIN ) Sets up and solves stationary and
%   laminar 3D flow past a cylinder. Accepts the following property/value pairs.
%
%       Input       Value/{Default}        Description
%       -----------------------------------------------------------------------------------
%       rho         scalar {1}             Density
%       miu         scalar {0.001}         Molecular/dynamic viscosity
%       uin         scalar {0.45}          Magnitude of inlet velocity
%       sf_u        string {sf_hex_Q1nc}   Shape function for velocity
%       sf_p        string {sf_disc0}      Shape function for pressure
%       solver      string 'openfoam'/{''} Use OpenFOAM or default solver
%       iplot       scalar 0/{1}           Plot solution and error (=1)
%                                                                                         .
%       Output      Value/(Size)           Description
%       -----------------------------------------------------------------------------------
%       fea         struct                 Problem definition struct
%       out         struct                 Output struct

% Copyright 2013-2023 Precise Simulation, Ltd.


cOptDef = {   ...
  'rho',      1;
  'miu',      0.001;
  'uin',      0.45;
  'nlev',     1;
  'sf_u',     'sf_hex_Q1nc';
  'sf_p',     'sf_disc0';
  'tol',      0.2;
  'solver',   'openfoam';
  'iplot',    1;
  'fid',      1 };
[got,opt] = parseopt(cOptDef,varargin{:});
fid       = opt.fid;


% Geometry.
fea.sdim = { 'x', 'y', 'z' };
gobj1 = gobj_block( 0, 2.5, 0, 0.41, 0, 0.41, 'B1' );
gobj2 = gobj_cylinder( [0.5 0 0.21], 0.05, 0.41, 2, 'C1' );
fea.geom.objects = { gobj1 gobj2 };
fea = geom_apply_formula( fea, 'B1-C1' );


% Grid generation.
ns = 8*2^(opt.nlev-1);
r  = [0.05 0.06 0.08 0.11 0.15];
x  = [0.41 0.5 0.7 1 1.4 1.8 2.2] + 0.3;
for ilev=2:opt.nlev
  r = sort( [ r (r(1:end