Codebase list getfem++ / HEAD tests / bilaplacian.param
HEAD

Tree @HEAD (Download .tar.gz)

bilaplacian.param @HEADraw · history · blame

% Copyright (C) 2017-2017 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 bilaplacian                      %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%% pde parameters :	                              %%%%%
LX = 1.0; LY = LX; LZ = LX;	% sizes of the domain.
N = 2;
QUAD = 0;
MESH_NOISED = 0;        % Set to one if you want to "shake" the mesh
NX = 40;                % space step.
DIRICHLET_VERSION = 1;  % 0=multipliers, 1=penalization
EPS_DIRICHLET_PENAL = 1e10; % Parametre de penalisation
FT = 10.0;              % parameter for the exact solution
D = 1.0;    % "flexion modulus"
KL = 1;     % 0 for pure bilaplacian problem or 1 for Kirchhoff-Love
            % plate model (N=2 only).
NU = 0.3;   % Poisson ratio (0 <= NU <= 1), for Kirchhoff-Love plate model only

BOUNDARY_REF = 1;       % 0 :  non-homogeneous Dirichlet 
                        % 1 :  mixed boundary conditions 

% MESH_FILE='../../tests/meshes/disc_P2_h2.mesh'

if (N == 1)
  MESH_TYPE = 'GT_PK(1,1)';       % segments
  FEM_TYPE = 'FEM_HERMITE(1)';
  DATA_FEM_TYPE = 'FEM_PK(1,3)';
  INTEGRATION = 'IM_GAUSS1D(6)';  % Gauss-Legendre integration on segments
end

if (N == 2 && ~QUAD)
  MESH_TYPE = 'GT_PK(2,1)';        % triangles
  % INTEGRATION = 'IM_TRIANGLE(13)'; % quadrature of order 10 on triangles
    INTEGRATION = 'IM_STRUCTURED_COMPOSITE(IM_TRIANGLE(10), 3)';
  DATA_FEM_TYPE = 'FEM_PK(2, 5)';
  if 0   % hermite element
    FEM_TYPE = 'FEM_HERMITE(2)';   % not conformal -> problem
    DIRICHLET_FEM_TYPE = 'FEM_PK(2,3)';
  elseif 1  % argyris element
    FEM_TYPE = 'FEM_ARGYRIS';
    DIRICHLET_FEM_TYPE = 'FEM_PK(2,3)';
  else
%     FEM_TYPE = 'FEM_HCT_TRIANGLE';
    FEM_TYPE = 'FEM_REDUCED_HCT_TRIANGLE';
    DIRICHLET_FEM_TYPE = 'FEM_PK(2,3)';
    % INTEGRATION = 'IM_STRUCTURED_COMPOSITE(IM_TRIANGLE(5), 3)';
    INTEGRATION = 'IM_HCT_COMPOSITE(IM_TRIANGLE(6))';
    DATA_FEM_TYPE = 'FEM_PK(2, 3)';
  end;
end

if (N == 2 && QUAD)
  MESH_TYPE = 'GT_QK(2,1)';
  % FEM_TYPE = 'FEM_REDUCED_QUADC1_COMPOSITE';  
  FEM_TYPE = 'FEM_QUADC1_COMPOSITE';
  DATA_FEM_TYPE = 'FEM_QK(2,2)';
  INTEGRATION = 'IM_QUADC1_COMPOSITE(IM_TRIANGLE(6))';
  % DIRICHLET_FEM_TYPE = 'FEM_QK(2,1)';
end

if (N == 3 && ~QUAD)
  MESH_TYPE = 'GT_PK(3,1)';        % tetrahedrons
  INTEGRATION = 'IM_TETRAHEDRON(8)';
  DATA_FEM_TYPE = 'FEM_PK(3,3)';
  FEM_TYPE = 'FEM_HERMITE(3)';     % not conformal -> problem
  DIRICHLET_FEM_TYPE = 'FEM_PK(3,2)';
end

if (N == 3 && QUAD)
  error('Sorry, no hermite elements on hexahedrons for the moment');
end

if (N > 3)
  error('Correct the parameter file for N > 3');
end

RESIDUAL = 1E-9;     	% residual for conjugate gradient.

%%%%%   saving parameters                             %%%%%
ROOTFILENAME = 'bilaplacian';     % Root of data files.
VTK_EXPORT = 1; % export solution to a .vtk file ?