FEM: ภาวะเอกฐานของเมทริกซ์ความแข็ง


11

ฉันกำลังแก้สมการอนุพันธ์ กับเงื่อนไขเริ่มต้นยู (0) u = (1) = 0 , U '' (0) u = '' (1) = 0 ที่นี่\ sigma (x) \ geqslant \ sigma_ {0}> 0เป็นพารามิเตอร์ ในรูปแบบโอเปอเรเตอร์เราสามารถเขียนสมการเชิงอนุพันธ์เป็นAu = fโดยที่โอเปอเรเตอร์Aนั้นเป็นค่าบวกแน่นอน

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

จากรูปแบบ FEM ฉันลดปัญหาของฉันไปที่ปัญหาการปรับให้เหมาะสม

J(u)=(Au,u)2(f,u)minu
ฉันแนะนำองค์ประกอบที่แน่นอนhk(x)เป็น
vk(x)={1(xxkh)2,x[xk1,xk+1]0,otherwise
สำหรับการใด ๆk=1,,n1ที่xk=ชั่วโมงk , ชั่วโมง=1n{n} องค์ประกอบ จำกัดโวลต์0(x)และโวลต์n(x)ถูกนำมาใช้ในทำนองเดียวกัน

ฉันพยายามหาตัวเลขเวกเตอร์αเช่นนั้นที่ยู(x)=Σk=0nαkโวลต์k(x)แก้ปัญหาการหาค่าเหมาะที่สุด เรามี

J(u)=i=0nj=0nαiαj(Avi,vj)i=0n2αi(vi,f)=αTVα2αTbminα,
ที่bi=(f,vi)และVi,j=(Avi,vj){J}) หลังจากสร้างความแตกต่างด้วยความเคารพαฉันได้รับ
Vα=b,
แต่ที่นี่เมทริกซ์ความแข็งVเป็นเอกพจน์ แล้วฉันต้องทำยังไงดี? บางทีฉันต้องเลือกองค์ประกอบ จำกัด อื่น ๆ

สวัสดีนิมซาคุณมีปัญหาการทดสอบที่คุณรู้วิธีแก้ปัญหาที่แน่นอน? ถ้าใช่ลองแก้ไขก่อนเพื่อทดสอบว่าพื้นฐานของคุณถูกต้องภายในโดเมนหรือไม่หากทุกอย่างดูถูกต้องอาจเป็นว่า BC ที่วางไม่ถูกต้องทำให้เมทริกซ์เอกพจน์ แต่ BC ดูเหมือนว่าฉันจะตกลง VTVα=VT
Shuhao Cao

คำตอบ:


13

เพื่อลดโอกาสในการ

  1. พื้นฐานที่ไม่ถูกต้อง จากคำอธิบายของคุณดูเหมือนว่าคุณมีฟังก์ชั่นสมการกำลังสองอย่างแน่นอนพร้อมการสนับสนุนในแต่ละองค์ประกอบ พื้นที่นั้นไม่ใช่พาร์ติชันของความสามัคคีและไม่ใช่ (อนุพันธ์อันดับหนึ่งอย่างต่อเนื่อง) ในการแยกแยะปัญหาลำดับที่สี่ของคุณโดยตรง (แทนที่จะลดลงในระบบของสมการลำดับที่สองเช่น) คุณจะต้องมีพื้นฐานโปรดทราบว่าพื้นฐานควรจะสามารถทำซ้ำฟังก์ชันเชิงเส้นทั้งหมดได้อย่างแน่นอนC 1 C 1C1C1C1

  2. เงื่อนไขขอบเขตไม่เพียงพอ สิ่งนี้จะชัดเจนมากหากคุณคำนวณและพล็อตพื้นที่ว่าง

  3. แอสเซมบลีไม่ถูกต้อง ตรวจสอบแผนที่จากองค์ประกอบไปยังการสั่งซื้อแบบประกอบเพื่อยืนยันว่าเป็นสิ่งที่คุณคาดไว้ตัวอย่างเช่นไม่ได้เปลี่ยนทิศทางขององค์ประกอบ

  4. แอสเซมบลีท้องถิ่นไม่ถูกต้อง ใน 1D คุณสามารถวิเคราะห์ว่าเมทริกซ์ความมั่นคงขององค์ประกอบมีลักษณะอย่างไร (อาจเป็นกรณีที่ง่ายกว่า) และตรวจสอบว่าโค้ดทำซ้ำได้หรือไม่


ขอบคุณ. 1. ฉันคิดว่าฉันจะต้องมีพื้นฐานเพราะDX แล้วถ้าผมคิดว่าฟังก์ชั่นเดียวที่ตอบสนองเงื่อนไขขอบเขตแล้ว\} ( A u , v ) = 1 0 σ 2 ( x ) u ( x ) v ( x ) d x ker A = { 0 }C2(Au,v)=01σ2(x)u(x)v(x)dxkerA={0}
Appliqué

1
พื้นฐานก็เพียงพอที่จะต้อง integrand จะไม่ต่อเนื่อง โปรดทราบว่าเงื่อนไขขอบเขตของอนุพันธ์อันดับสองจะกลายเป็นอินทิกรัลขอบเขต คุณสามารถใช้พื้นฐานสำหรับการแยกแยะปัญหาคำสั่งที่สี่โดยตรง แต่คุณจะต้องรวมคำศัพท์การกระโดดเช่นเดียวกับวิธี Galerkin ที่ไม่ต่อเนื่องสำหรับระบบลำดับที่หนึ่งและที่สอง มันไม่ใช่วิธีที่ไม่ดี แต่มีความซับซ้อนโดยไม่จำเป็นใน 1D เพราะมันง่ายมากที่จะสร้างฐานที่มีลำดับความต่อเนื่อง (เช่นเส้นโค้ง) บทความนี้เป็นตัวอย่างของ " DG" C 0 C 0C1C0C0
Jed Brown

ตกลง. ฉันแก้ไขพื้นฐานของฉันแล้ว: ตอนนี้ในและn-1 ตอนนี้มันเป็น 1 แต่วิธีการยังคงไม่ทำงาน vk(x)=cos2(π2h(xxi))[xi1,xi+1]i=1,,n1C1
Appliqué

พื้นฐานควรจะสามารถที่จะทำซ้ำเชิงเส้นฟังก์ชั่น แต่ตอนนี้ไม่สามารถ เมื่อคุณแก้ไขแล้วให้ตรวจสอบว่าอินทิกรัลกำลังทำงานอย่างถูกต้องจากนั้นตรวจสอบเงื่อนไขขอบเขต C1
Jed Brown

0

เห็นได้ชัดว่าปัญหามีอนุพันธ์เพื่อ ODD โดยเฉพาะอย่างยิ่งสำหรับหมายเลขPécletที่ใหญ่กว่าเมทริกซ์ความแข็งอาจไม่รักษารูปร่าง 'ดี' ซึ่งสร้างศูนย์ในระหว่างการชุมนุมและด้วยเหตุนี้จึงได้รับเอกพจน์หรือบางครั้งมีปัจจัยขนาดเล็กมากที่สังเกตเห็นได้โดยการแกว่งในโซลูชั่นพล็อต

การแก้ปัญหาแบบนี้คือการใช้บทลงโทษในวิธีอื่น ๆ โดยเฉพาะอย่างยิ่งนี้เรียกว่าวิธีเปตรอฟ-Galerkin

ขออภัยในความเข้าใจภาษาอังกฤษที่ไม่ดีของฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.