1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
|
% Copyright (C) 2017-2020 Yves Renard.
%
% This file is a part of GetFEM++
%
% GetFEM++ is free software; you can redistribute it and/or modify it
% under the terms of the GNU Lesser General Public License as published
% by the Free Software Foundation; either version 3 of the License, or
% (at your option) any later version along with the GCC Runtime Library
% Exception either version 3.1 or (at your option) any later version.
% This program is distributed in the hope that it will be useful, but
% WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
% or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
% License and GCC Runtime Library Exception for more details.
% You should have received a copy of the GNU Lesser General Public License
% along with this program; if not, write to the Free Software Foundation,
% Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
% -*- matlab -*- (enables emacs matlab mode)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% parameters for program stokes %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
N = 2;
QUAD = 0;
NU = 1/80; % test 1/100 sinon, Viscosity coefficient. (NU = 1 / Re)
ALPHA = 0.0; % rate of rotation of the cylinder
% The RADIUS must be less than 1
PRINT_PT_PART = 1; % 0 = no output values in the point define in BOXX
% 1 = output
CLCD = 1; % Computation of the Lift and Drag Coefficients
POSTPROCESS = 0;
IstartPostprocess = 0;
PasPostprocess = 1;
NbPostprocess = 1;
if (N==2)
BOXXmin = 9.9;
BOXXmax = 10.1;
BOXYmin = -0.1;
BOXYmax = 0.1;
end;
if (N==3)
BOXXmin = 4.5;
BOXXmax = 5.5;
BOXYmin = -0.5;
BOXYmax = 0.5;
BOXZmin = -0.1;
BOXZmax = 0.1;
end;
%INIT_FILE_Um1="SolIcare/icare.1Um1";
%INIT_FILE_U="icare.U500";
%INIT_FILE_P="icare.P500";
Tinitial = 0;
DT = 0.01; % Time step
T = 250; % Final time
NOISY = 0;
TIME_ORDER = 1 % 1 = Euler of order 1
% 2 = Euler of order 2
OPTION = 4; % 0 = Stokes avec schema de splitting 1
% 1 = Navier Stokes avec schema de splitting 1
% 2 = Navier Stokes with energy conserving midpoint scheme
% 3 = Navier Stokes with prediction-correction scheme
% 4 = Navier Stokes with prediction-correction without bricks
PROBLEM = 3; % 1 = Reference solution for Stokes
% 2 = Reference solution for Navier Stokes
% 3 = flow around a cylinder (centered at 0)
NON_REFLECTIVE_BC = 0; % 0 : basic condition
% if (N==2) : optimal condition, all
% terms are considered
% if (N==3) : some terms are neglect
% => bad choice
% 1 : improved condition
% interpolation of the hessian is
% made ... so it is not optimal
% if (N==2) : the basic condition is
% better
% if (N==3) : all terms are considered
if (N == 2 && ~QUAD)
% MESHNAME = 'maillage003.mesh'; % name of the mesh file
%MESHNAME = 'gmshv2:pouet5_v2.msh';
%MESHNAME = 'MESHES/navier_stokes_cylinder2.mesh'; % name of the mesh file
%MESHNAME = 'gmshv2:triangular.msh';
%MESHNAME = 'gmshv2:yannick.msh';
MESHNAME = 'gmshv2:MESHES/mejdi.msh';
%MESHNAME = 'gmshv2:Rkd2.msh';
%MESHNAME = 'maillage02.mesh';
%MESHNAME = 'structured:GT="GT_PK(2,1)";SIZES=[1,1];NOISED=0;NSUBDIV=[30,30]';
if (OPTION >= 3)
FEM_TYPE = 'FEM_PK(2,2)'; % PK method
FEM_TYPE_P = 'FEM_PK(2,1)'; % P1 for triangles
else % take care to the inf-sup condition !
FEM_TYPE = 'FEM_PK(2,2)'; % PK method
FEM_TYPE_P = 'FEM_PK(2,1)'; % P1 for triangles
end
% DATA_FEM_TYPE = 'FEM_PK(2,1)';
INTEGRATION = 'IM_TRIANGLE(6)';
end
if (N == 2 && QUAD)
% MESHNAME = 'structured:GT="GT_QK(2,1)";SIZES=[1,1];NOISED=0;NSUBDIV=[10,10]';
% MESHNAME = 'gmshv2:rectangularRitesh2D.msh';
% MESHNAME = 'gmshv2:rectangular.msh';
% MESHNAME = 'gmshv2:mesh100_2D.msh';
% MESHNAME = 'gmshv2:cyl2DsmScaling.msh';
MESHNAME = 'gmshv2:cyl2D_400k-ddl.msh';
%MESHNAME = 'gmshv2:cyl2D_1,7M-ddl.msh';
% MESHNAME = 'gmshv2:cyl2D.msh';
FEM_TYPE = 'FEM_QK(2,2)'; % QK method
FEM_TYPE_P = 'FEM_QK(2,1)';
% DATA_FEM_TYPE = 'FEM_QK(2,1)';
INTEGRATION = 'IM_GAUSS_PARALLELEPIPED(2,10)';
%INTEGRATION = 'IM_QUAD(7)';
end
if (N == 3 && ~QUAD)
%MESHNAME = 'structured:GT="GT_PK(3,1)";SIZES=[1,1,1];NSUBDIV=[5,5,5]';
% MESHNAME = 'gmshv2:tralala_3D.msh';
MESHNAME = 'gmshv2:cyl3D.msh';
FEM_TYPE = 'FEM_PK(3,2)'; % PK method
FEM_TYPE_P = 'FEM_PK(3,1)';
% DATA_FEM_TYPE = 'FEM_PK(3,1)';
INTEGRATION = 'IM_TETRAHEDRON(8)';
end
if (N == 3 && QUAD)
% MESHNAME = 'gmshv2:rectangularRitesh3D.msh';
MESHNAME = 'gmshv2:cylinder3D.msh';
% MESHNAME = 'gmshv2:cyl3D.msh';
% MESHNAME = 'gmshv2:cyl3D-20.msh';
% MESHNAME = 'gmshv2:cyl3D-40.msh';
% MESHNAME = 'gmshv2:cyl3D-60.msh';
FEM_TYPE = 'FEM_QK(3,2)'; % QK method
FEM_TYPE_P = 'FEM_QK(3,1)';
% DATA_FEM_TYPE = 'FEM_QK(3,1)';
INTEGRATION = 'IM_GAUSS_PARALLELEPIPED(3,10)';
%INTEGRATION = 'IM_HEXAHEDRON(9)';
end
RESIDUAL = 1E-9; % residual for conjugate gradient.
%%%%% saving parameters %%%%%
ROOTFILENAME = 'icare'; % Root of data files.
DX_EXPORT = 1; % export solution to a .dx file ?
VTK_EXPORT = 1;
DT_EXPORT = 100*DT;
DT_MUMPS_ANALYSE=50;
BORNE=1;
|