44 lines
1.5 KiB
Matlab
44 lines
1.5 KiB
Matlab
|
|
clear all
|
|
clc
|
|
|
|
diam_bottom = 50.0;
|
|
diam_top = 83.0;
|
|
wall_thickness = 3.0;
|
|
bottom_thickness = 6.0;
|
|
top_level = 105.0;
|
|
fluid_level = 66.0;
|
|
floor_level = 0.0;
|
|
|
|
inner_diam = @(height) diam_bottom - 2*wall_thickness + (diam_top - diam_bottom)/(top_level - bottom_thickness)*(height - bottom_thickness);
|
|
|
|
diam_fluid = inner_diam(fluid_level);
|
|
|
|
|
|
g=[2 -diam_bottom/2 diam_bottom/2 floor_level floor_level 1 0; % #vertices,v_1x, v_2x, v_1y, v_2y, subdomain_left, subdomain_right
|
|
2 diam_bottom/2 diam_top/2 floor_level top_level 1 0;
|
|
2 diam_top/2 diam_top/2-wall_thickness top_level top_level 1 0;
|
|
2 diam_top/2-wall_thickness diam_fluid/2 top_level fluid_level 1 3;
|
|
2 diam_fluid/2 diam_bottom/2-wall_thickness fluid_level bottom_thickness 1 2;
|
|
2 diam_bottom/2-wall_thickness -(diam_bottom/2-wall_thickness) bottom_thickness bottom_thickness 1 2;
|
|
2 -(diam_bottom/2-wall_thickness) -diam_fluid/2 bottom_thickness fluid_level 1 2;
|
|
2 -diam_fluid/2 -(diam_top/2-wall_thickness) fluid_level top_level 1 3;
|
|
2 -(diam_top/2-wall_thickness) -diam_top/2 top_level top_level 1 0;
|
|
2 -diam_top/2 -diam_bottom/2 top_level floor_level 1 0;
|
|
|
|
% surface between fluid and air
|
|
2 -diam_fluid/2 diam_fluid/2 fluid_level fluid_level 3 2;
|
|
|
|
% top (air) surface
|
|
2 -(diam_top/2-wall_thickness) diam_top/2-wall_thickness top_level top_level 0 3
|
|
]';
|
|
|
|
|
|
[p,e,t] = initmesh(g,'hmax',10);
|
|
pdemesh(p,e,t)
|
|
|
|
|
|
ascii_write_mesh( p, t, e, mfilename);
|
|
|
|
ascii_write_subdomains( p, t, e, mfilename);
|
|
|