FEM: điểm kỳ dị của ma trận độ cứng


11

(σ2(x)u(x))=f(x),0x1
u(0)=u(1)=0u(0)=u(1)=0σ(x)σ0>0Au=fA

Theo sơ đồ FEM, tôi giảm vấn đề của mình thành vấn đề tối ưu hóa

J(u)=(Au,u)2(f,u)minu
Tôi giới thiệu các phần tử hữu hạn hk(x)
vk(x)={1(xxkh)2,x[xk1,xk+1]0,otherwise
với mọi k=1,,n1 , trong đó xk=hk , h=1n . Các phần tử hữu hạn v0(x)vn(x) được giới thiệu tương tự.

Tôi cố gắng tìm số vectơ α sao cho u(x)=k=0nαkvk(x) giải quyết vấn đề tối ưu hóa. Chúng tôi có

J(u)=i=0nj=0nαiαj(Avi,vj)i=0n2αi(vi,f)=αTVα2αTbminα,
trong đó bi=(f,vi)Vi,j=(Avi,vj) . Sau khi phân biệt với α tôi nhận được
Vα=b,
nhưng ở đây ma trận độ cứng V là số ít. Vậy tôi phải làm gì? Có lẽ tôi phải chọn các yếu tố hữu hạn khác?

Xin chào, Nimza, bạn có một vấn đề thử nghiệm mà bạn biết giải pháp chính xác không? Nếu có, hãy thử giải VTVα=VTb trước để kiểm tra xem cơ sở của bạn có đúng trong miền không, nếu mọi thứ có vẻ chính xác, thì có thể đó là BC được đặt không chính xác làm cho ma trận trở thành số ít. Nhưng BC có vẻ ổn với tôi mặc dù.
Shuhao Cao

Câu trả lời:


13

Theo thứ tự giảm dần

  1. Cơ sở không chính xác. Từ mô tả của bạn, có vẻ như bạn có chính xác hai hàm bậc hai với sự hỗ trợ trên mỗi phần tử. Không gian đó không phải là một phân vùng thống nhất và không phải là (các dẫn xuất đầu tiên liên tục). Để trực tiếp giải quyết vấn đề thứ tự thứ tư của bạn (thay vì giảm nó thành một hệ phương trình bậc hai chẳng hạn), bạn sẽ cần cơ sở . Lưu ý rằng cơ sở sẽ có thể tái tạo chính xác tất cả các hàm tuyến tính.C1C1C1

  2. Điều kiện biên không đủ. Điều này sẽ rõ ràng rõ ràng nếu bạn tính toán và vẽ đồ thị không gian rỗng.

  3. Lắp ráp không chính xác. Kiểm tra bản đồ từ các yếu tố để sắp xếp theo thứ tự để xác nhận rằng đó là những gì bạn mong đợi, ví dụ: nó không đảo ngược hướng của các yếu tố.

  4. Lắp ráp cục bộ không chính xác. Trong 1D, bạn có thể tính toán một cách phân tích ma trận độ cứng của phần tử trông như thế nào (có lẽ đối với trường hợp đơn giản) và kiểm tra xem mã có tái tạo nó không.


Cảm ơn bạn. 1. Tôi nghĩ rằng tôi sẽ cần một cơ sở vì . Sau đó, nếu tôi chỉ xem xét các hàm thỏa mãn điều kiện biên thì . C2(Au,v)=01σ2(x)u(x)v(x)dxkerA={0}
Áp dụng

1
Một cơ sở là đủ, tích phân không cần phải liên tục. Lưu ý rằng các điều kiện biên trên các đạo hàm thứ hai sẽ trở thành một tích phân biên. Bạn có thể sử dụng cơ sở để phân biệt trực tiếp vấn đề thứ tư, nhưng bạn sẽ cần tích hợp các thuật ngữ nhảy như với các phương pháp Galerkin không liên tục cho các hệ thống bậc nhất và thứ hai. Đây không phải là một phương pháp tồi, nhưng nó phức tạp không cần thiết trong 1D bởi vì nó rất dễ dàng để xây dựng các căn cứ với bất kỳ thứ tự liên tục nào (ví dụ như spline). Bài viết này là một ví dụ về " DG". C1C0C0
Jed Brown

Đồng ý. Tôi đã sửa lỗi cơ sở của mình: bây giờ trên và . Bây giờ là . Nhưng phương pháp vẫn không hiệu quả. vk(x)=cos2(π2h(xxi))[xi1,xi+1]i=1,,n1C1
Áp dụng

Cơ sở sẽ có thể tái tạo các hàm tuyến tính, nhưng điều này là không thể. Khi bạn khắc phục điều đó, hãy kiểm tra các tích phân đang được thực hiện chính xác, sau đó kiểm tra các điều kiện biên. C1
Jed Brown

0

Rõ ràng vấn đề có đạo hàm ODD. Cụ thể hơn đối với các số Péclet lớn hơn , ma trận độ cứng có thể không duy trì hình dạng 'mịn', tạo ra các số không trong quá trình lắp ráp và do đó có một số xác định đơn lẻ hoặc đôi khi rất nhỏ có thể nhận thấy bởi các dao động trong biểu đồ giải pháp.

Giải pháp cho các loại vấn đề này là sử dụng hình phạt, trong số các phương pháp khác. Cụ thể hơn, đây được gọi là phương pháp Petrov-Galerkin .

Xin lỗi vì sự hiểu tiếng Anh của tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.