Mercurial > fem-fenics-eugenio
view devel/example/Ficticious_Domain/Steady_state/no_slip_bc/generate_mesh.m @ 191:0c748179f6d4
Steady NS with no slip BC.
author | gedeone-octave <marcovass89@hotmail.it> |
---|---|
date | Sun, 10 Nov 2013 19:32:47 +0000 |
parents | |
children |
line wrap: on
line source
## Copyright (C) 2013 Marco Vassallo <gedeone-octave@users.sourceforge.net> ## ## This program is free software; you can redistribute it and/or modify it under ## the terms of the GNU General Public License as published by the Free Software ## Foundation; either version 3 of the License, 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 General Public License for more ## details. ## ## You should have received a copy of the GNU General Public License along with ## this program; if not, see <http://www.gnu.org/licenses/>. # we generate a structured mesh of size [0, 4]x[0, 1] # with a square hole at [1, 1.25]x[0.375, 0.625]. # WARNING: the following code is an attempt to create a structured mesh with # an hole using the pkg msh. # Unfortunately at the moment I've not yet been able to do it an a good way, # and the following code will raise an error with the version 1.0.8 of msh. # To avoid this error, you should comment the line number 132 in the file # msh2m_join_structured_mesh.m. pkg load msh r = 0.25; nel = 2; n1 = nel*8 + 1; n2 = nel*2 + 1; n3 = nel*22 + 1; n4 = nel*3 + 1; n5 = nel*1 + 1; x = linspace (0, 1, n1); y = linspace (0, 0.5 - r/2, n4); msh1 = msh2m_structured_mesh (x, y, 1, 1:4); x = linspace (1, 1+r, n2); msh2 = msh2m_structured_mesh (x, y, 1, 5:8); x = linspace (1+r, 4, n3); msh3 = msh2m_structured_mesh (x, y, 1, 9:12); msh12 = msh2m_join_structured_mesh (msh1, msh2, 2, 8); msh13 = msh2m_join_structured_mesh (msh12, msh3, 6, 12); #### x = linspace (0, 1, n1); y = linspace (0.5 + r/2, 1, n4); msh7 = msh2m_structured_mesh (x, y, 1, 25:28); x = linspace (1, 1+r, n2); msh8 = msh2m_structured_mesh (x, y, 1, 29:32); msh78 = msh2m_join_structured_mesh (msh7, msh8, 26, 32); x = linspace (1+r, 4, n3); msh9 = msh2m_structured_mesh (x, y, 1, 33:36); msh79 = msh2m_join_structured_mesh (msh78, msh9, 30, 36); ### x = linspace (0, 1, n1); y = linspace (0.5 - r/2, 0.5, n5); msh4 = msh2m_structured_mesh (x, y, 1, 13:16); msh14 = msh2m_join_structured_mesh (msh13, msh4, 3, 13); x = linspace (1, 1+r, n2); msh5 = msh2m_structured_mesh (x, y, 1, 17:20); x = linspace (1+r, 4, n3); msh6 = msh2m_structured_mesh (x, y, 1, 21:24); msh16 = msh2m_join_structured_mesh (msh14, msh6, 10, 21); for i = 1:size(msh16.e (5, :),2) if (msh16.e(5, i) == 15) msh16.e(5, i) = 12; endif endfor #### x = linspace (0, 1, n1); y = linspace (0.5, 0.5 + r/2, n5); msh4 = msh2m_structured_mesh (x, y, 1, 37:40); msh74 = msh2m_join_structured_mesh (msh79, msh4, 25, 39); x = linspace (1, 1+r, n2); msh5 = msh2m_structured_mesh (x, y, 1, 41:44); x = linspace (1+r, 4, n3); msh6 = msh2m_structured_mesh (x, y, 1, 45:48); msh76 = msh2m_join_structured_mesh (msh74, msh6, 32, 47); for i = 1:size(msh76.e (5, :),2) if (msh76.e(5, i) == 38) msh76.e(5, i) = 35; endif endfor ########### msh19 = msh2m_join_structured_mesh (msh16, msh76, 12, 35);