BVPcondenser2D01

% -----------------------------------------------------
% Solving a BVP by using <fc-vfemp1>
% -----------------------------------------------------
% 2D condenser BVP[01] on GMSH mesh from condenser.geo.
% -----------------------------------------------------
% Boundary Value Problem: find u such that
%       - Laplacian(u) = 0   in mesh
% with boundary conditions :
%   * Dirichlet on [1,98,99]
%       u = 0 on [1], -12 on [98] and 12 on [99]
% -----------------------------------------------------
close all
clear all
geofile='condenser';
fullgeofile=fc_vfemp1.get_geo(2,2,geofile);
if isempty(fullgeofile), error('geofile %s not found',geofile);end
% Building the mesh using GMSH
meshfile=fc_oogmsh.gmsh.buildmesh2d(fullgeofile,10);
% Loading the mesh using <fc_simesh.siMesh> object
Th=fc_simesh.siMesh(meshfile);
Th.info('verbose',true)
% Setting -Laplacian operator
Lop=fc_vfemp1.Loperator(2,2,{1,0;0,1},[],[],[]);
% Setting the PDE : -Laplacian(u) = 0
pde=fc_vfemp1.PDE(Lop);
% Setting the BVP
bvp=fc_vfemp1.BVP(Th,pde);
bvp.setDirichlet( 1, 0.);
bvp.setDirichlet( 98, -12.);
bvp.setDirichlet( 99, +12.);
% Solving the BVP
U=bvp.solve();

% Graphics
figure(1)  % Main mesh
Th.plotmesh('inlegend',true)
legend()
axis equal;axis off
title('Condenser2D[01], mesh')

figure(2) % Boundaries of the mesh
Th.plotmesh('color','LightGray')
hold on
Th.plotmesh('d',1,'inlegend',true)
legend()
axis equal;axis off
title('Condenser2D[01], boundary meshes')

figure(3) % Solution on the mesh
Th.plot(U)
axis off,axis image
colorbar()
shading interp
title('Condenser2D[01], P1-FEM solution')

figure(4) % Isolines of the solution on the mesh
Th.plotmesh('d',1,'color','k')
hold on
Th.plotiso(U,'niso',25,'isocolorbar',true,'format','%g');
axis off,axis image
title('Condenser2D[01], P1-FEM solution - isolines')

fc_tools.graphics.monitors.autoGrid('covers',0.9)
[fc-oogmsh] Input file : /home/cuvelier/Travail/Recherch/Matlab/fc-vfemp1/geodir/2d/condenser.geo
[fc-oogmsh] Mesh file <fc-oogmsh>/meshes/condenser-10.msh [version 4.1] already exists.
  -> Use "force" flag to rebuild if needed.
Variable  [fc_simesh.siMesh object] :
  dim=2, d=2
  nq=8151, nme=15708
  2-simplices : number 1, labels : 1 
  1-simplices : number 3, labels : 1 98 99 
  0-simplices : number 8, labels : 1 2 3 4 5 6 7 8 
BVPcondenser2D01-1.pngBVPcondenser2D01-2.pngBVPcondenser2D01-3.pngBVPcondenser2D01-4.png