Phương pháp làm mịn thích nghi và thuật toán

Một phần của tài liệu Phương pháp RBFFD giải phương trình đạo hàm riêng dạng elliptic. (NCKH) (Trang 44 - 46)

Trước khi mô tả thuật toán, chúng tôi sẽ đưa ra những đặc điểm và sự thay đổi chính trong thuật toán này khi so sánh với [4, Thuật toán 2].

Độ lệch (error indicator).Giả sử nghiệm xấp xỉuˆcủa bài toán Dirichlet (2.2) được xác định bởi hệ phương trình (2.7) với tậpΞvà tập conΞζ với mọi ζ ∈Ξint, chọn giá trị error indicatorε(ζ,ξ)tương ứng với ‘cạnh’ζ ξ với mọiζ ∈Ξintvàξ ∈Ξζ\ {ζ}. Thuật toán làm mịn trong [4, Section 6] sử dụngε(ζ,ξ) =ε0(ζ,ξ):=|uˆζ−uˆξ|. Hiện nay chúng tôi thay thế cách tính độ lệch này bởi cách tính của Zienkiewicz-Zhu như sau: Với mỗiζ ∈Ξint, cho

`ζ(x) =a+bT(x−ζ)là đa thức tuyến tính phù hợp với dữ liệu{(ξ,uˆξ):ξ ∈Ξζ}theo hướng bình phương tối thiểu, trong đó các hệ sốa∈R,b∈R2được chọn thỏa mãn điều kiện

ξ∈Ξζ

|uˆξ−`ζ(ξ)|2

đạt cực tiểu. Đặt

ε(ζ,ξ) =ε1(ζ,ξ):=|(uˆζ−uˆξ)−(`ζ(ζ)−`ζ(ξ))|, ζ ∈Ξint, ξ ∈Ξζ\ {ζ}. (3.4) Như trong [4], chúng tôi chỉ làm mịn nếu

dist(ξ0,Ξ0)≥µsepξ0(Ξ0), vớiµ ∈(0,1), (3.5) việc chèn một tâm mới ξ0 trong tập hiện tạiΞ0 không làm giảmkhoảng cách tách biệt địa phươngđược xác định như sau

sepξ0(Ξ0):= 1 4 4 ∑ i=1 dist(ξi,Ξ0\ {ξi}), (3.6) trong đóξ1, . . . ,ξ4là bốn điểm gần nhất trongΞ0đếnξ0, vàdist(x,Y):=inf{kx−yk:y∈Y}

là khoảng cách từ điểmxđến tậpY. Tuy nhiên, chúng tôi đã kiểm traξ0∈/∂Ωkhông ở vị trí quá gần biên, xem các Bước II.2 và II.3.i của Thuật toán 3.

x p m z mm xp xm xms xps

Hình 3.2: Các tâm được thêm vào tại lân cận cạnh được đánh dấu.

Algorithm 3. Thuật toán làm mịn thích nghi

Input:Bộ tâmΞvà các khuôn điểm{Ξζ : ζ ∈Ξint}.

Output:Bộ tâm được làm mịnΞ0.

Các tham số:γ =0.5, µ =0.8,n=15(số phần trăm của các tâm mới được thêm vào). I. Tính ngưỡng độ lệchε¯=γε¯(Ξ)và thiết lậpΞ0:=Ξ.

II. Đối với mỗicạnhζ ξ,ζ ∈Ξint,ξ ∈Ξζ\ {ζ}, thỏa mãnε(ζ,ξ)≥ε¯:

1. Tính ξmid := (ζ +ξ)/2, ξmid+ :=ξmid+dν¯ và ξmid− :=ξmid−dν¯, trong đó d :=

kζ−ξk/2vàν¯ là véc tơ đơn vị vuông góc với cạnhζ ξ. Đầu tiên choΞC:= /0.

2. Nếuξ ∈Ξint,thì với mỗiξ0∈ {ξmid,ξmid+ ,ξmid− }:

Nếu dist(ξ0,∂Ω)≥d/2 dist(ξ0,Ξ0)≥µsepξ0(Ξ0), thì thiết lập ΞC :=ΞC∪ {ξ0}.

3. Trái lại, nếuξ ∈∂Ξ:

i. Với mỗiξ0∈ {ξmid,ξmid+ ,ξmid− }:

Nếu dist(ξ0,∂Ω)≥d/2dist(ξ0,Ξ0)≥d/2, thì thiết lậpΞC:=ΞC∪ {ξ0}. ii. NếuΞC6= /0hoặcdist(ξmid,∂Ω)<d/2:

Tìm hai lân cậnξ−,ξ+củaξ trong∂Ξ, một trong các hướng từξ dọc theo biên, và tính hai điểm giữa ξ−0,ξ+0 ∈∂Ωđược xác định bởi cặp tâm ξ,ξ− và ξ,ξ+, tách biệt. Thiết lậpΞC:=ΞC∪ {ξ+0,ξ−0}.

III. Nếu số tâm trongΞ0int\Ξintnhỏ hơnn% số tâm trongΞint, thì đặtε¯ :=γε¯ vàquay lại Bước II.

Một phần của tài liệu Phương pháp RBFFD giải phương trình đạo hàm riêng dạng elliptic. (NCKH) (Trang 44 - 46)