คำถามติดแท็ก finite-element

วิธีการแก้สมการเชิงอนุพันธ์สามัญและบางส่วน โดเมนของปัญหาแบ่งออกเป็นองค์ประกอบและการแก้ปัญหาในแต่ละองค์ประกอบจะขยายตัวในพื้นฐานของฟังก์ชั่น วิธีไฟไนต์เอลิเมนต์ช่วยให้การปรับแต่งดีขึ้นเรขาคณิตที่ผิดปกติและการประเมินข้อผิดพลาดที่ดี

17
มีตัวแก้ปัญหาการเขียนโปรแกรมแบบไม่เชิงเส้นคุณภาพสูงสำหรับ Python หรือไม่?
ฉันมีปัญหาการเพิ่มประสิทธิภาพทั่วโลกที่ไม่ท้าทายเพื่อแก้ปัญหา ปัจจุบันผมใช้กล่องเครื่องมือเพิ่มประสิทธิภาพของ MATLAB (โดยเฉพาะfmincon()กับอัลกอริทึม = 'sqp') ซึ่งมีประสิทธิภาพมาก อย่างไรก็ตามรหัสของฉันส่วนใหญ่อยู่ใน Python และฉันก็ชอบที่จะเพิ่มประสิทธิภาพใน Python ด้วยเช่นกัน มีตัวแก้ NLP ที่มีการผูก Python ที่สามารถแข่งขันได้fmincon()หรือไม่ มันจะต้อง สามารถรับมือกับความไม่เสมอภาคและความไม่เท่าเทียมกันได้ ไม่ต้องการให้ผู้ใช้จัดหายาโคบ ไม่เป็นไรหากไม่รับประกันว่าจะมีประสิทธิภาพระดับโลก ( fmincon()ไม่) fmincon()ฉันกำลังมองหาบางสิ่งบางอย่างที่ทนทานลู่ไปยังท้องถิ่นที่เหมาะสมแม้สำหรับความท้าทายปัญหาและแม้ว่ามันจะช้ากว่าเล็กน้อย ฉันได้พยายามแก้หลายที่ให้บริการผ่าน OpenOpt และพบว่าพวกเขาจะด้อยกว่าของ fmincon/sqpMATLAB เพียงเพื่อเน้นฉันมีสูตรเวิ้งว้างและแก้ปัญหาที่ดี เป้าหมายของฉันคือการเปลี่ยนภาษาเพื่อให้เวิร์กโฟลว์มีความคล่องตัวมากขึ้น เจฟฟ์ชี้ให้เห็นว่าคุณลักษณะบางอย่างของปัญหาอาจเกี่ยวข้องกัน พวกเขาคือ: 10-400 ตัวแปรการตัดสินใจ 4-100 ข้อ จำกัด ความเท่าเทียมกันของพหุนาม (ดีกรีพหุนามมีช่วงตั้งแต่ 1 ถึงประมาณ 8) จำนวนข้อ จำกัด ของความไม่เท่าเทียมกันที่มีเหตุผลเท่ากับจำนวนตัวแปรการตัดสินใจประมาณสองเท่า ฟังก์ชั่นวัตถุประสงค์เป็นหนึ่งในตัวแปรการตัดสินใจ ชาวจาโคเบียนแห่งข้อ จำกัด ความเท่าเทียมมีความหนาแน่นสูงเช่นเดียวกับชาวจาโคเบียนแห่งข้อ จำกัด …

3
อะไรคือความแตกต่างทางแนวคิดระหว่างองค์ประกอบ จำกัด และวิธีปริมาณ จำกัด
มีความแตกต่างที่ชัดเจนระหว่างผลต่างอันตะ จำกัด และวิธีปริมาตร จำกัด (การเคลื่อนย้ายจากการกำหนดจุดของสมการไปยังค่าเฉลี่ยที่สำคัญเหนือเซลล์) แต่ฉันพบว่า FEM และ FVM ใกล้เคียงกันมาก พวกเขาทั้งสองใช้รูปแบบอินทิกรัลและค่าเฉลี่ยเหนือเซลล์ วิธีการ FEM ทำอะไรที่ FVM ไม่ใช่ ฉันได้อ่านพื้นหลังเล็ก ๆ บน FEM ที่ฉันเข้าใจว่าสมการเขียนในรูปแบบที่อ่อนแอซึ่งทำให้วิธีการระบุจุดแตกต่างกันเล็กน้อยกว่า FVM อย่างไรก็ตามฉันไม่เข้าใจในระดับแนวคิดว่าความแตกต่างคืออะไร FEM ทำสมมติฐานบางอย่างเกี่ยวกับความไม่รู้จักที่แตกต่างกันภายในเซลล์สิ่งนี้ไม่สามารถทำได้ด้วย FVM หรือไม่? ฉันมาจากมุมมอง 1D เป็นส่วนใหญ่ดังนั้นบางที FEM อาจมีข้อดีมากกว่าหนึ่งมิติ ฉันไม่พบข้อมูลมากมายในหัวข้อนี้ในเน็ต วิกิพีเดียมีส่วนที่เกี่ยวกับวิธี FEM จะแตกต่างจากวิธีการที่แตกต่างกันแน่นอน แต่ที่เป็นเรื่องเกี่ยวกับมันhttp://en.wikipedia.org/wiki/Finite_element_method#Comparison_to_the_finite_difference_method

5
อะไรคือเกณฑ์ในการเลือกระหว่างความแตกต่างแน่นอนและองค์ประกอบ จำกัด
ฉันเคยคิดถึงความแตกต่าง จำกัด เป็นกรณีพิเศษขององค์ประกอบ จำกัด บนตารางที่มีข้อ จำกัด มาก ดังนั้นเงื่อนไขในการเลือกระหว่างวิธีไฟไนต์ดิฟเฟอเรนเชียล (FDM) และวิธีไฟไนต์เอลิเมนต์ (FEM) เป็นวิธีการเชิงตัวเลขคืออะไร? ที่ด้านข้างของวิธีไฟไนต์ดิฟเฟอเรนเชียล (FDM) เราอาจนับได้ว่าพวกมันมีแนวคิดที่ง่ายและง่ายต่อการใช้งานมากกว่าวิธีไฟไนต์เอลิเมนต์ (FEM) FEM มีประโยชน์ในการยืดหยุ่นเช่นกริดอาจไม่สม่ำเสมอและโดเมนอาจมีรูปร่างตามอำเภอใจ ตัวอย่างเดียวที่ฉันรู้ว่า FDM กลายเป็น FEM ที่ดีกว่าอยู่ใน Celia, Bouloutas, Zarbaซึ่งประโยชน์เกิดจากวิธีการ FD โดยใช้การแยกประเภทที่แตกต่างกันของอนุพันธ์เวลาซึ่งสามารถแก้ไขสำหรับวิธีไฟไนต์อิลิเมนต์ได้ .

9
แหล่งข้อมูลที่ทันสมัยสำหรับการเรียนรู้ FEM
ฉันต้องเริ่มต้นด้วยวิธีไฟไนต์เอลิเมนต์ ฉันกำลังจะเริ่มอ่านคำตอบเชิงตัวเลขของสมการเชิงอนุพันธ์ย่อยโดยวิธีไฟไนต์เอลิเมนต์ของClaes Johnsonแต่มันลงวันที่ปี 1987 สองคำถาม: 1) มีแหล่งข้อมูลที่ดี / ตำราเรียน / e-books / บันทึกการบรรยายที่ดีในเรื่องนี้อยู่ที่ใดบ้าง? 2) ฉันอ่านหนังสือ 1987 หายไปมากแค่ไหน? ขอบคุณ

9
เป็นวิธีที่ดีในการเรียกใช้การศึกษาพารามิเตอร์ใน C ++ คืออะไร
ปัญหา ขณะนี้ฉันกำลังทำงานกับการจำลองสถานการณ์ไฟไนต์เอลิเยร์สโต๊คและฉันต้องการตรวจสอบผลกระทบของพารามิเตอร์ที่หลากหลาย บางพารามิเตอร์ถูกระบุในไฟล์อินพุตหรือผ่านตัวเลือกบรรทัดคำสั่ง มีการระบุพารามิเตอร์อื่น ๆ เป็นแฟล็กใน Makefile เพื่อให้โค้ดของฉันต้องถูกคอมไพล์ใหม่ทุกครั้งที่ฉันเปลี่ยนตัวเลือกเหล่านั้น ฉันสนใจที่จะรับคำแนะนำเกี่ยวกับวิธีที่ดีในการสำรวจพื้นที่พารามิเตอร์อย่างเป็นระบบ มีไลบรารี / กรอบงาน C ++ / Python ที่มีประโยชน์ที่สามารถช่วยแก้ไขสิ่งนี้ได้ไหม? ตัวอย่างเช่นการค้นพบboost.Program_optionsเป็นความช่วยเหลือที่ยิ่งใหญ่เนื่องจากเป็นไปได้ที่จะโอเวอร์โหลดตัวเลือกไฟล์อินพุตด้วยอาร์กิวเมนต์บรรทัดคำสั่ง ฉันเคยเห็นบางคนใช้ไฟล์งานที่อธิบายแต่ละกรณีค่อนข้างมีประสิทธิภาพและเพื่อนร่วมงานแนะนำว่าการเขียนพารามิเตอร์ลงในไฟล์ vtu เนื่องจากบล็อกข้อคิดเห็นสามารถใช้งานได้เช่นกัน บางทีมันอาจไม่คุ้มค่ากับการลงทุนเวลานี้ มันเป็นเพียงสิ่งที่ทำให้ไขว้เขวและเสียเวลาและเป็นวิธีที่ดีที่สุดเพียงแค่กล้ามเนื้อผ่านกระบวนการทดสอบกำลังดุร้ายและเฉพาะกิจ ความคิดบางอย่าง ขณะนี้ฉันกำลังทำสิ่งต่าง ๆ ด้วยมือเป็นส่วนใหญ่และฉันพบปัญหาต่อไปนี้: การตั้งชื่อกรณีทดสอบ Re100_dt02_BDF1...ฉันพยายามเก็บผลในโฟลเดอร์ที่ชื่อมีพารามิเตอร์วิ่งคั่นด้วยขีดเช่น สิ่งเหล่านี้กลายเป็นยาวหรือยากต่อการอ่าน / เข้ารหัสหากพวกมันยากเกินไป นอกจากนี้พารามิเตอร์จำนวนจริงรวมถึงสิ่ง.ที่น่าอึดอัดใจ / น่าเกลียด บันทึกข้อมูลการวิ่ง บางครั้งฉันต้องการเห็นผลลัพธ์ที่เขียนไปยังเทอร์มินัลและบันทึกลงในไฟล์ข้อความ อินสแตนซ์คำตอบจาก StackOverflow นี้ค่อนข้างมีประโยชน์ แต่โซลูชันดูเหมือนจะน่ารำคาญเล็กน้อย พล็อตข้อมูลตามพารามิเตอร์ ใช้เวลาค่อนข้างนานในการรวบรวมข้อมูลที่เกี่ยวข้องจากไฟล์บันทึกต่าง ๆ เป็นไฟล์เดียวซึ่งฉันสามารถทำพล็อตได้ด้วยระบบที่ดีกว่าบางทีนี่อาจจะง่ายขึ้น ความคิดเห็นเกี่ยวกับการบันทึกข้อมูล หลังจากตรวจสอบผลลัพธ์ฉันเขียนข้อคิดเห็นในไฟล์ข้อความ แต่การเก็บข้อมูลนี้เป็นการซิงค์กับโฟลเดอร์ผลลัพธ์บางครั้งก็ยาก

3
วัตถุประสงค์ของการใช้การรวมโดยชิ้นส่วนในการทำให้รูปแบบที่อ่อนแอสำหรับ discretization FEM คืออะไร?
เมื่อไปจากรูปแบบที่แข็งแกร่งของ PDE ไปยังรูปแบบ FEM ดูเหมือนว่าเราควรทำสิ่งนี้เสมอโดยระบุรูปแบบความแปรปรวนเป็นครั้งแรก ในการทำเช่นนี้คุณจะคูณแบบฟอร์มที่แข็งแกร่งด้วยองค์ประกอบในพื้นที่ (Sobolev) และรวมเข้ากับภูมิภาคของคุณ ฉันยอมรับได้ สิ่งที่ฉันไม่เข้าใจคือเหตุผลว่าทำไมจึงต้องใช้สูตรของกรีน (หนึ่งหรือหลายครั้ง) ฉันได้ทำงานกับสมการของปัวซงเป็นส่วนใหญ่ดังนั้นถ้าเราใช้มัน (กับเงื่อนไขขอบเขต Dirichlet ที่เป็นเนื้อเดียวกัน) เป็นตัวอย่างเช่น −∇2uu=f,u∈Ω=0,u∈∂Ω−∇2u=f,u∈Ωu=0,u∈∂Ω \begin{align} -\nabla^2u &= f,\quad u\in\Omega \\ u &= 0, \quad u\in\partial\Omega \end{align} มันก็อ้างว่าวิธีที่ถูกต้องในรูปแบบรูปแบบความแปรปรวนคือ ∫Ωfvdx⃗ =−∫Ω∇2uvdx⃗ =∫Ω∇u⋅∇vdx⃗ −∫∂Ωn⃗ ⋅∇uvds⃗ =∫Ω∇u⋅∇vdx⃗ .∫Ωfvdx→=−∫Ω∇2uvdx→=∫Ω∇u⋅∇vdx→−∫∂Ωn→⋅∇uvds→=∫Ω∇u⋅∇vdx→. \begin{align} \int_\Omega fv\,\mathrm{d}\vec{x} &= -\int_\Omega\nabla^2 uv\,\mathrm{d}\vec{x} \\ &=\int_\Omega\nabla u\cdot\nabla v\,\mathrm{d}\vec{x} - \int_{\partial\Omega}\vec{n}\cdot\nabla u …

4
จะรวมเงื่อนไขขอบเขตเข้ากับวิธี Galerkin ได้อย่างไร
ฉันได้อ่านแหล่งข้อมูลบนเว็บเกี่ยวกับวิธีการของ Galerkin เพื่อแก้ไข PDE แต่ฉันไม่ชัดเจนเกี่ยวกับบางสิ่ง ต่อไปนี้เป็นบัญชีของฉันเองในสิ่งที่ฉันเข้าใจ พิจารณาปัญหาค่าขอบเขต (BVP) ต่อไปนี้: L [ u ( x , y) ] = 0บน( x , y) ∈ โอห์ม,S[ u ] = 0บน( x , y)∈∂ΩL[u(x,y)]=0on(x,y)∈Ω,S[u]=0on(x,y)∈∂ΩL[u(x,y)]=0 \quad \text{on}\quad (x,y)\in\Omega, \qquad S[u]=0 \quad \text{on} \quad (x,y)\in\partial\Omega โดยที่LLLคือตัวดำเนินการสร้างความแตกต่างแบบเชิงเส้นลำดับที่ 2เป็นโดเมนของ BVP,เป็นขอบเขตของโดเมนและคือตัวดำเนินการเชิงเส้นลำดับที่ 1 Expessเป็น aproximation ของแบบฟอร์ม: ∂ โอห์มS U …

9
คำอธิบายพื้นฐานของฟังก์ชันรูปร่าง
ฉันเพิ่งเริ่มเรียน FEM ในรูปแบบที่มีโครงสร้างมากกว่าเมื่อเปรียบเทียบกับสิ่งที่ฉันเคยทำในช่วงหลักสูตรระดับปริญญาตรี ฉันทำสิ่งนี้เพราะแม้ว่าฉันจะสามารถใช้ "FEM" ในซอฟต์แวร์เชิงพาณิชย์ (และอื่น ๆ ที่ไม่ใช่เชิงพาณิชย์) ฉันต้องการที่จะเข้าใจจริงๆเทคนิคใต้ดินที่สนับสนุนวิธีการ นั่นเป็นเหตุผลที่ฉันมาที่นี่ด้วยอย่างน้อยสำหรับผู้ใช้ที่มีประสบการณ์เกี่ยวกับเทคนิคคำถามพื้นฐาน ตอนนี้ฉันกำลังอ่านหนังสือยอดนิยม (ฉันคิดว่า) และหนังสือ "เป็นมิตรกับวิศวกร" ที่เรียกว่า "ระเบียบวิธีไฟไนต์เอลิเมนต์ - พื้นฐาน" จาก Zienkwicz ฉันได้อ่านหนังสือเล่มนี้จากหน้าแรก แต่ฉันยังไม่เข้าใจแนวคิดเกี่ยวกับฟังก์ชั่นรูปร่างในแบบที่เซียนโควิคซ์อธิบาย สิ่งที่ฉันรู้เกี่ยวกับสิ่งที่ฉันอ่านคือเมทริกซ์ "ความแข็ง" ซึ่งเป็นสิ่งที่เกี่ยวข้องกับสิ่งที่ไม่ทราบด้วยผลลัพธ์ ( ใน: A k = b ) มีส่วนประกอบจาก "ความสัมพันธ์ระหว่างโหนด" และหากว่า "ความสัมพันธ์" เปลี่ยนแปลง (เช่นถ้าเราเปลี่ยนเป็นหน่วยลำดับสูงกว่า) เมทริกซ์ความแข็งนั้นจะเปลี่ยนไปเนื่องจากความสัมพันธ์ระหว่างโหนดทำAAAAk=bAk=bAk=b แต่ในหนังสือเล่มนี้นิยามค่อนข้างคลุมเครือสำหรับฉันเพราะในบางจุดมันบอกว่าคุณสามารถเลือกฟังก์ชั่นโดยพลการเช่นเมทริกซ์เอกลักษณ์: คำอธิบายเดียวที่ฉันพบคือในบล็อกนี้แต่ก็ยังไม่ชัดเจนสำหรับฉัน ดังนั้นบางคนสามารถให้คำอธิบายง่ายๆแก่ฉันเกี่ยวกับฟังก์ชั่น Shape และวิธีการทำ "วางไว้" ในเมทริกซ์ความแข็งคืออะไร

3
ระยะทางแบบยุคลิดใน Octave
ฉันอยากรู้ว่ามีวิธีที่รวดเร็วในการคำนวณระยะทางแบบยุคลิดของเวกเตอร์สองตัวใน Octave หรือไม่ ดูเหมือนว่าไม่มีฟังก์ชั่นพิเศษสำหรับสิ่งนั้นดังนั้นฉันควรใช้สูตรด้วยsqrtหรือไม่

1
แนวคิดทั่วไปของวิธีการของ Nitsche ในการวิเคราะห์เชิงตัวเลขคืออะไร?
ฉันรู้ว่าวิธีการของ Nitsche เป็นวิธีที่น่าสนใจมากเนื่องจากช่วยให้คำนึงถึงเงื่อนไขขอบเขตประเภท Dirichlet หรือสัมผัสกับเงื่อนไขขอบเขตแรงเสียดทานในแบบที่อ่อนแอโดยไม่ต้องใช้ตัวคูณ Lagrange และข้อดีของมันคือการเปลี่ยนเงื่อนไขขอบเขตของดีริชเลต์ให้เป็นเงื่อนไขที่อ่อนแอเช่นเดียวกับเงื่อนไขขอบเขตของนอยมันน์ซึ่งจ่ายโดยความจริงที่ว่าการดำเนินการนั้นขึ้นอยู่กับแบบจำลอง อย่างไรก็ตามมันดูเหมือนว่าจะกว้างเกินไปสำหรับฉัน คุณช่วยให้ฉันมีความคิดที่เฉพาะเจาะจงมากขึ้นของวิธีการนี ตัวอย่างง่ายๆจะได้รับการชื่นชม

1
การประเมินข้อผิดพลาด 'a priori' และ 'posteriori' แตกต่างกันอย่างไรในการวิเคราะห์เชิงตัวเลข
ฉันได้เรียนรู้เกี่ยวกับวิธีไฟไนต์เอลิเมนต์ (เช่นเดียวกับวิธีการเชิงตัวเลขอื่น ๆ เล็กน้อย) แต่ฉันไม่รู้ว่าคำจำกัดความของข้อผิดพลาดและความแตกต่างระหว่างสองข้อนี้เป็นอย่างไร

3
การค้นหาจุดสามเหลี่ยมที่อยู่ใน
สมมติว่าผมมี 2D ตาข่ายประกอบด้วยสามเหลี่ยม nonoverlapping {Tk}Nk=1{Tk}k=1N\{T_k\}_{k=1}^Nและชุดของจุด{pi}Mi=1⊂∪Nk=1TK{pi}i=1M⊂∪k=1NTK\{p_i\}_{i=1}^M \subset \cup_{k=1}^N T_K K วิธีที่ดีที่สุดในการกำหนดสามเหลี่ยมแต่ละจุดนั้นคืออะไร ตัวอย่างเช่นในภาพต่อไปนี้เรามี , ,ดังนั้นฉันต้องการฟังก์ชันที่ส่งคืนรายการ .p1∈T2p1∈T2p_1 \in T_2p2∈T4p2∈T4p_2 \in T_4p3∈T2p3∈T2p_3 \in T_2ffff(p1,p2,p3)=[2,4,2]f(p1,p2,p3)=[2,4,2]f(p_1,p_2,p_3)=[2,4,2] Matlab มีฟังก์ชั่นชี้ตำแหน่งซึ่งทำสิ่งที่ฉันต้องการสำหรับ Delaunay meshes แต่มันล้มเหลวสำหรับ mesh ทั่วไป ความคิดแรก (โง่) ของฉันคือสำหรับโหนดวนรอบสามเหลี่ยมทั้งหมดเพื่อหาสามเหลี่ยมp i ที่อยู่ในอย่างไรก็ตามนี่ไม่มีประสิทธิภาพมาก - คุณอาจต้องวนซ้ำทุกสามเหลี่ยมทุกจุดดังนั้นจึง สามารถทำงานO ( N ⋅ M )ได้pipip_ipipip_iO(N⋅M)O(N⋅M)O(N \cdot M) ความคิดต่อไปของฉันคือสำหรับทุกจุดค้นหาโหนดโหนดที่ใกล้ที่สุดผ่านการค้นหาเพื่อนบ้านที่ใกล้ที่สุดจากนั้นมองผ่านรูปสามเหลี่ยมที่แนบกับโหนดที่ใกล้ที่สุด ในกรณีนี้งานจะเป็นO ( a ⋅ M ⋅ l …

1
การแสดงข้อมูลองค์ประกอบ Galerkin / ไฟไนต์ไม่ต่อเนื่อง
ฉันต้องการเห็นภาพผลการจำลองที่ได้รับโดยใช้วิธี Galerkin (DG) ที่ไม่ต่อเนื่องภายใน ParaView เช่นเดียวกับวิธีปริมาณ จำกัด โดเมนปัญหาแบ่งออกเป็นเซลล์รูปทรงลูกบาศก์ ("องค์ประกอบ") ซึ่งแตกต่างจากวิธีไฟไนต์วอลลุ่มภายในแต่ละเซลล์ไม่มีค่าเพียงค่าเดียวสำหรับเวกเตอร์โซลูชันแต่แต่ละเซลล์มีโซลูชันuที่จุดรวมหลาย Gaussยูยู\mathbf{u}ยูยู\mathbf{u} คำถามของฉันคือว่าทุกคนมีประสบการณ์ในการแสดงข้อมูลดังกล่าวอย่างมีประสิทธิภาพด้วย ParaView / VTK หรือไม่และคุณเลือกใช้วิธีใดเพื่อแสดงข้อมูลใน VTK มีหลายวิธีที่เป็นไปได้ในใจของฉัน แต่ฉันไม่รู้ว่าวิธีใดที่มีแนวโน้มมากที่สุด: (1) ใช้ voxels ใช้หนึ่ง voxel สำหรับแต่ละจุดรวม Pro:ปลั๊กอินทั้งหมดที่ทำงานกับเซลล์ที่ไม่มีโครงสร้างแบบ VTK มาตรฐานจะยังคงทำงานต่อไปโดยไม่เปลี่ยนแปลงอะไรเลย คอนดิชั่น:เนื่องจากจุดรวมไม่ได้กระจายอย่างสม่ำเสมอมันอาจเป็นเรื่องยากที่จะหาตำแหน่งที่ถูกต้องของจุดยอด นอกจากนี้ยังสามารถกำหนดโซลูชันได้สองครั้งบนพื้นผิวเซลล์เนื่องจากเฟรมเวิร์ก DG อนุญาตการแก้ปัญหาที่ไม่ต่อเนื่อง นอกจากนี้ข้อมูลลำดับชั้น (โดเมนแบ่งออกเป็นองค์ประกอบแต่ละองค์ประกอบมีหลายจุด) จะหายไป (2) ใช้ polyvertices ใช้หนึ่งจุดยอดต่อจุดรวม Pro:ใช้งานง่ายที่สุดและง่ายต่อการระบุหลายจุดในตำแหน่งเดียวกันด้วยโซลูชันที่แตกต่างกัน คอนดิชั่น:ความสามารถในการเห็นภาพข้อมูลเป็น "เซลล์" จะหายไปรวมทั้งข้อเสียเช่นเดียวกับข้างต้น (3) ใช้โครงร่างการสร้างพื้นที่สี่เหลี่ยมจัตุรัส VTK ใช้การสนับสนุนในตัวสำหรับโครงร่างการสร้างพื้นที่สี่เหลี่ยมจัตุรัส Pro:การใช้งานค่อนข้างตรงไปตรงมารักษาความสัมพันธ์และคุณสมบัติทั้งหมดของโซลูชันดั้งเดิม คอนดิชั่น:เนื่องจากนี่เป็นเซลล์ประเภทใหม่ทั้งหมดปลั๊กอินส่วนใหญ่ (ส่วนใหญ่) …

1
วิธีการหาสูตรอ่อนของสมการเชิงอนุพันธ์ย่อยสำหรับวิธีไฟไนต์เอลิเมนต์?
ฉันได้แนะนำเบื้องต้นเกี่ยวกับวิธีไฟไนต์เอลิเมนต์ซึ่งไม่ได้เน้นความเข้าใจที่ซับซ้อนของ 'สูตรอ่อน' ฉันเข้าใจว่าด้วยวิธีการ galerkin เราจะคูณทั้งสองด้านของ PDE (รูปไข่) ด้วยฟังก์ชั่นการทดสอบแล้วรวมเข้าด้วยกัน (ตามส่วนหรือตามทฤษฎีบท Divergence) บางครั้งฉันต้องรวมสองส่วนก่อนถึงสูตรอ่อน ๆ ที่เหมาะสม (ตามคำตอบที่ด้านหลังของหนังสือ) แต่เมื่อฉันพยายามที่จะใช้แนวคิดเดียวกันกับ PDE อื่น (สมมติว่าพวกเขายังคงเป็นอิสระเวลา) ฉันไม่สามารถจำได้ว่าเมื่อสูตรที่เหมาะสมสำหรับ discretization มี 'ธงสีแดง' ที่บอกได้ไหมว่าแบบฟอร์มนี้สามารถแยกเป็นระบบเชิงเส้นของสมการได้หรือไม่ นอกจากนี้ฉันจะเลือกชุดฟังก์ชันพื้นฐานที่เหมาะสมได้อย่างไร

1
ประโยชน์ที่ได้รับจากการใช้ Adams-Moulton บนอัลกอริทึม Adams-Bashforth มีอะไรบ้าง
ฉันกำลังแก้ไขระบบของสอง PDE คู่กันในมิติเชิงพื้นที่และในเวลาที่คำนวณ เนื่องจากการประเมินฟังก์ชั่นมีราคาแพงฉันต้องการใช้วิธีการหลายขั้นตอน (เริ่มต้นด้วยการใช้ Runge-Kutta 4-5) วิธี Adams-Bashforth ที่ใช้การประเมินฟังก์ชั่นห้าครั้งก่อนหน้ามีข้อผิดพลาดระดับโลกของ (นี่คือกรณีที่s = 5ในบทความ Wikipedia ที่อ้างถึงด้านล่าง) และต้องการการประเมินฟังก์ชั่นเดียว (ต่อ PDE) ต่อขั้นตอนO(h5)O(h5)O(h^5)s=5s=5s=5 ในขณะที่วิธี Adams-Moulton นั้นต้องการการประเมินสองฟังก์ชันต่อหนึ่งขั้นตอน: หนึ่งขั้นตอนในการทำนายและอีกวิธีหนึ่งสำหรับขั้นตอนการแก้ไข อีกครั้งถ้าห้าการประเมินผลการทำงานที่มีการใช้ข้อผิดพลาดระดับโลกคือ ) ( s = 4ในบทความ Wikipedia)O(h5)O(h5)O(h^5)s=4s=4s=4 อะไรคือเหตุผลเบื้องหลังที่ใช้ Adams-Moulton เหนือ Adams-Bashforth มันมีข้อผิดพลาดในลำดับเดียวกันสำหรับสองเท่าของการประเมินฟังก์ชั่น โดยสัญชาตญาณมันทำให้รู้สึกว่าวิธีการพยากรณ์ - Corrector ควรจะดี แต่ใครบางคนสามารถอธิบายเรื่องนี้ในเชิงปริมาณ? การอ้างอิง: http://en.wikipedia.org/wiki/Linear_multistep_method#Adams.E2.80.93Bashforth_methods

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