SetFactory("OpenCASCADE"); h = 0.10; eps = h/10; Box(1) = { 1, 1, 0, 1, 1, h }; // Center box Box(2) = { 0, 0, 0, 1, 1, h }; // Sponge bottom left Box(3) = { 1, 0, 0, 1, 1, h }; // Sponge bottom center Box(4) = { 2, 0, 0, 1, 1, h }; // Sponge bottom right Box(5) = { 0, 1, 0, 1, 1, h }; // Sponge center left Box(6) = { 2, 1, 0, 1, 1, h }; // Sponge center right Box(7) = { 0, 2, 0, 1, 1, h }; // Sponge top left Box(8) = { 1, 2, 0, 1, 1, h }; // Sponge top center Box(9) = { 2, 2, 0, 1, 1, h }; // Sponge top right Coherence; bnd_bottom() = Surface In BoundingBox{-eps, -eps, -eps, 3+eps, 3+eps, eps}; bnd_top() = Surface In BoundingBox{-eps, -eps, h-eps, 3+eps, 3+eps, h+eps}; bnd_left() = Surface In BoundingBox{-eps, -eps, -eps, eps, 3+eps, h+eps}; bnd_right() = Surface In BoundingBox{3-eps, -eps, -eps, 3+eps, 3+eps, h+eps}; bnd_front() = Surface In BoundingBox{-eps, -eps, -eps, 3+eps, eps, h+eps}; bnd_back() = Surface In BoundingBox{-eps, 3-eps, -eps, 3+eps, 3+eps, h+eps}; Physical Volume("domain", 100) = {1}; Physical Volume("sponge_bl", 101) = {2}; Physical Volume("sponge_bc", 102) = {3}; Physical Volume("sponge_br", 103) = {4}; Physical Volume("sponge_cl", 104) = {5}; Physical Volume("sponge_cr", 105) = {6}; Physical Volume("sponge_tl", 106) = {7}; Physical Volume("sponge_tc", 107) = {8}; Physical Volume("sponge_tr", 108) = {9}; Physical Volume("all", 110) = {1,2,3,4,5,6,7,8,9}; Physical Surface("bottom", 100) = bnd_bottom(); Physical Surface("top", 101) = bnd_top(); Physical Surface("left", 102) = bnd_left(); Physical Surface("right", 103) = bnd_right(); Physical Surface("front", 104) = bnd_front(); Physical Surface("back", 105) = bnd_back(); Mesh.Algorithm3D = 10; MeshSize{ PointsOf{ Volume{:}; } } = 0.11;