アダプティブメッシュ粗大化アルゴリズムを見てください。これらは通常、数値流体力学(Ansys CFX、CD-Adapco Star CCM +など)/構造力学(Anasys et al。)の高度なソフトウェアで使用されます。与えられたメッシュの自動細分化と粗大化が有利な場合。
このテーマについて検討するためのいくつかの無料の論文は、あなたに強力な出発点を与えるでしょう:
https://cfwebprod.sandia.gov/cfdocs/CCIM/docs/coarsening.pdf
http://tetra.mech.ubc.ca/ANSLab/publications/coarsen.pdf
http://www.cs.cmu.edu/~glmiller/Publications/MiTaTe98.pdf(これはかなり数学的なものです)
アダプティブメッシュリファインメントアルゴリズムの分野で追加のGoogle検索を行うと、このテーマに関する同様の論文が明らかになります。
編集。アダプティブメッシュコーシングの基本的で確立された方法は、エッジを1つの頂点に縮小し、それによって2つの要素を削除するエッジ崩壊法です。Li X.、Shephard MS、BeallMW「メッシュ修正による3D異方性メッシュ適応」。応用力学および工学におけるコンピュータ手法、2004年。擬似コードで次のように定義される優れた粗大化アルゴリズムがあります。
for all edge in short edge list do
for all vertex that bounds the current edge do
if vertex is not yet tagger then
append vertex to dynamic list
tag vertex to be in dynamic list
end if
end for
end for
while vertices not tagged processed in dynamic list do
get an unprocessed vertex Vi from the list
get Ej , the shortest mesh edge in transformed space connected to Vi
if the transformed length Ej is greater than Llow then
remove Vi from the dynamic list
else
evaluate edge collapse operation of collapsing Ej with Vi removed
if the edge collapse would create an edge longer than Lmax then
evaluate relocated vertex Vi
else if the edge collapse would lead to
at/inverted elements then
evaluate the swaps(s)/collapse compound operation
end if
if any local mesh modication is determined then
tag neighbouring vertices of Vi in the dynamic list as unprocessed
apply the local mesh modication
remove Vi from the dynamic list if it is collapse
else
tag Vi as processed
end if
end if
end while
これは私が過去に使用した印象的な修士論文から取られています。ここで見つけることができます
これがお役に立てば幸いです。