ElementMeshRegionProduct[mesh1,mesh2]
mesh1 と mesh2 のElementMeshの直積を表す.
ElementMeshRegionProduct
ElementMeshRegionProduct[mesh1,mesh2]
mesh1 と mesh2 のElementMeshの直積を表す.
詳細とオプション
- ElementMeshRegionProductは,外積領域あるいは領域の押し出しとしても知られている.
- ElementMeshRegionProduct[mesh1,mesh2]は,領域
を表す. - 積の領域の埋込み次元は,埋込み次元の和であり,幾何学的次元は,幾何学的次元の和である.
- サポートされる積の最高次元は3である.
- ElementMeshRegionProductには,以下の追加と変更に加えて,ToElementMeshと同じオプションが使える.
-
"RegionMarkerFunction" None 領域のマーカーを指定する
例題
すべて開く すべて閉じる例 (2)
Needs["NDSolve`FEM`"]ElementMeshを作成する:
mesh = ToElementMesh[Line[{{0}, {1}}]]ElementMeshの領域の積を計算する:
productMesh = ElementMeshRegionProduct[mesh, mesh]productMesh["Wireframe"]ElementMeshのインスタンスを3個作成する:
meshX = ToElementMesh[Line[{{0}, {2}}]];
meshY = ToElementMesh[Line[{{0}, {1}}]];
meshZ = ToElementMesh[Line[{{0}, {3}}]];ElementMeshの領域の積を計算する:
productMesh = ElementMeshRegionProduct[meshX, meshY, meshZ]productMesh["Wireframe"]スコープ (1)
ElementMeshのインスタンスを2個作成する:
meshXY = ToElementMesh[Disk[], MaxCellMeasure -> 0.1];
meshZ = ToElementMesh[Line[{{0}, {3}}]];領域の積を形成することによって,1つ目のElementMeshを2つ目に押し出す:
productMesh = ElementMeshRegionProduct[meshXY, meshZ]productMesh["Wireframe"]オプション (2)
"RegionMarkerFunction" (2)
regs = <|"solid" -> 10, "fluid" -> 20|>;
rmf = RegionMember[Rectangle[{1.2, 0}, {1.8, 3}]];myRegionMarkerFunction = With[{rmf = rmf, rs = regs["solid"], rf = regs["fluid"]}, If[rmf[#], rs, rf]&];各方向に使われるElementMeshを作成する:
mesh = ToElementMesh[Line[{{0.}, {3.}}]];ElementMesh領域の積を計算する:
mesh = ElementMeshRegionProduct[mesh, mesh, "RegionMarkerFunction" -> myRegionMarkerFunction]生成されたメッシュの"MeshElementMarkerUnion"を調べる:
mesh["MeshElementMarkerUnion"]Show[mesh["Wireframe"["MeshElementStyle" -> {Directive[FaceForm[Red]], Directive[FaceForm[Green]]}]], AspectRatio -> 1]regs = <|"left" -> 1, "central" -> 3, "right" -> 2|>;
rLeft = RegionMember[Cuboid[{0, 0, 0}, {0.8, 2, 2}]];
rCentral = RegionMember[Cuboid[{0.8, 0, 0}, {1.2, 2, 2}]];
rRight = RegionMember[Cuboid[{1.2, 0, 0}, {2, 2, 2}]];myRegionMarkerFunction = With[{rmf = rmf, rl = regs["left"], rc = regs["central"], rr = regs["right"]}, If[rLeft[#], rl, If[rCentral[#], rc, rr]]&];各方向に使われるElementMeshを作成する:
mesh = ToElementMesh[Line[{{0.}, {2.}}]];ElementMesh領域の積を計算する:
mesh = ElementMeshRegionProduct[mesh, mesh, mesh, "RegionMarkerFunction" -> myRegionMarkerFunction]生成されたメッシュの"MeshElementMarkerUnion"を調べる:
mesh["MeshElementMarkerUnion"]Show[Map[mesh["Wireframe"[ElementMarker == #[[1]], "MeshElement" -> "MeshElements", "ElementMeshDirective" -> Directive[EdgeForm[], FaceForm[#[[2]]]]]]&, {{1, Green}, {2, Orange}, {3, Red}}]
, PlotRange -> {All, {1, 2}, All}]アプリケーション (2)
2つの1Dグレーデッドメッシュの積から2Dグレーデッドメッシュを作成する:
mesh = ToGradedMesh[Line[{{0}, {2}}], <| "Alignment" -> "Left"|>];
productMesh = ElementMeshRegionProduct[mesh, mesh];
productMesh["Wireframe"]"Central"の点分布を持つ1Dグレーデッドメッシュを作成する:
meshX = ToGradedMesh[Line[{{0}, {2}}], <|"Alignment" -> "Central"|>];"Central"の点分布と50個の要素を持つ,2つ目の1Dグレーデッドメッシュを作成する:
meshY = ToGradedMesh[Line[{{0}, {1}}], <|"Alignment" -> "Central", "ElementCount" -> 50|>];[image]productMesh = ElementMeshRegionProduct[meshX, meshY]productMesh["Wireframe"]"BothEnds"の点分布と50個の要素を持ち,端点の距離が1/200である3つ目の1Dグレーデッドメッシュを作成する:
meshZ = ToGradedMesh[Line[{{0}, {1}}], <| "Alignment" -> "BothEnds", "ElementCount" -> 50, "MinimalDistance" -> 1 / 200|>]productMesh = ElementMeshRegionProduct[productMesh, meshZ]productMesh["Wireframe"]テクニカルノート
-
▪
- 要素メッシュの生成 ▪
- 要素メッシュの可視化
関連するガイド
-
▪
- 有限要素法
テキスト
Wolfram Research (2021), ElementMeshRegionProduct, Wolfram言語関数, https://reference.wolfram.com/language/FEMDocumentation/ref/ElementMeshRegionProduct.html (2023年に更新).
CMS
Wolfram Language. 2021. "ElementMeshRegionProduct." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. https://reference.wolfram.com/language/FEMDocumentation/ref/ElementMeshRegionProduct.html.
APA
Wolfram Language. (2021). ElementMeshRegionProduct. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/FEMDocumentation/ref/ElementMeshRegionProduct.html
BibTeX
@misc{reference.wolfram_2026_elementmeshregionproduct, author="Wolfram Research", title="{ElementMeshRegionProduct}", year="2023", howpublished="\url{https://reference.wolfram.com/language/FEMDocumentation/ref/ElementMeshRegionProduct.html}", note=[Accessed: 14-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_elementmeshregionproduct, organization={Wolfram Research}, title={ElementMeshRegionProduct}, year={2023}, url={https://reference.wolfram.com/language/FEMDocumentation/ref/ElementMeshRegionProduct.html}, note=[Accessed: 14-August-2026]}