รูปแบบไฟล์ / ข้อมูลทั่วไปสำหรับ mesh (สำหรับ FEM) คืออะไร?


13

ฉันกำลังพัฒนาแบบจำลอง FEM สำหรับการทดสอบก่อนหน้านี้ฉันจะใช้ mesher ที่เขียนเองง่าย ๆ และการแสดงภาพกราฟตาข่าย แต่ฉันต้องการเตรียมโปรแกรมของฉันเพื่อใช้ข้อมูลที่สร้างขึ้นโดย mesher ที่มีอยู่แล้วส่งออกไปยังเครื่องมือสร้างภาพข้อมูลที่มีอยู่

มีมาตรฐานที่แนะนำ (quasi-) สำหรับรูปแบบไฟล์และรูปแบบข้อมูลภายในสำหรับ (FEM) ตาข่ายหรือไม่


4
Exodus II สำหรับการอ่านใน mesh และ VTK สำหรับการเขียนเอาต์พุต
stali

คำตอบ:


8

คำตอบสั้น ๆ คือไม่ไม่มีรูปแบบมาตรฐาน แต่มีบางอย่างที่พบได้ทั่วไปเช่น Gmsh สำหรับอินพุต / เอาต์พุตและ VTK สำหรับเอาต์พุต

ก่อนตัดสินใจคุณต้องค้นหาว่าคุณต้องการทำอะไร หากคุณต้องการมีโปรแกรม (เล็ก) สักพักคุณสามารถเลือกรูปแบบที่เหมาะกับรสนิยมและความต้องการของคุณ หากคุณวางแผนที่จะเปลี่ยนเป็นโปรแกรม "ใหญ่กว่า" ในอนาคตคุณควรเริ่มจัดการรูปแบบไฟล์ของพวกเขาทันที หากคุณวางแผนที่จะใช้ตัวประมวลผลล่วงหน้า / ตัวประมวลผลเชิงพาณิชย์ฉันขอแนะนำให้คุณใช้รูปแบบของพวกเขาเนื่องจากพวกเขา "อัปเดต" ผู้ที่มีเวอร์ชั่นใหม่ทุกครั้งและมันอาจจะเป็นปัญหาในหัว

ด้านล่างฉันแสดงรายการตัวเลือก (โอเพ่นซอร์ส) บางตัว

ก่อนการประมวลผล

การโพสต์

  • การสร้างภาพด้วยParaview / Mayavi จากนั้นใช้รูปแบบไฟล์VTK คุณสามารถตรวจสอบคู่มือผู้ใช้ Paraview ที่นี่
  • นอกจากนี้คุณยังสามารถทำการประมวลผลใน Gmsh
  • Salome-Mecaเป็นอีกตัวเลือกหนึ่งสำหรับการทำ post-processing มันทำงานได้ดีกับ VTK

ฉันคิดว่า VTK เป็นรูปแบบที่ถูกต้องสำหรับฉัน: 1. ฉันสามารถใช้เป็นอินพุตสำหรับ mesh และเป็นเอาต์พุตสำหรับการประมวลผลภายหลัง 2. มีห้องสมุดสำหรับจัดการอยู่ 3. ดูเหมือนว่าจะเป็นเรื่องปกติตัวอย่างเช่น gmesh สามารถสร้างได้ สมมติฐานเหล่านั้นตกลงไหม
Michael

1
1.คุณต้องพิจารณาว่าการรวมคุณสมบัติของวัสดุ BC และข้อ จำกัด ในแบบจำลองของคุณ ฉันไม่แน่ใจว่าจะใช้สิ่งเหล่านี้ใน VTK ได้อย่างไร แต่อาจเป็นไปได้ว่าคุณสามารถหาวิธีแก้ไข 2.ใช่ แต่ขึ้นอยู่กับภาษาการเขียนโปรแกรมที่คุณเลือก 3.ใช่เป็นเรื่องปกติ คุณสามารถใช้โดยตรงvtk(ใน C ++, Java หรือ Python), Mayavi, Paraview, VisIt หรือChrome : P และใช่คุณสามารถสร้างพวกเขาใน Gmesh ไม่แน่ใจเกี่ยวกับกลุ่มทางกายภาพแม้ว่า
nicoguaro

3

คุณอาจลองทั้งสองรูปแบบไฟล์ MSH Gmsh ของหรือกลเม็ดรูปแบบไฟล์ที่เป็นกลาง


2
ฉันใช้ไฟล์ gmsh mesh สำหรับโครงการส่วนบุคคลด้วยเช่นกันรูปแบบนั้นง่ายต่อการเข้าใจและทำซ้ำตัวคุณเอง
cbcoutinho

3

ที่จริงแล้วมีมาตรฐานสำหรับสิ่งนี้: ISO / TS 10303 (เริ่มต้นด้วยส่วนที่ 1380 ถึง 1386)

ก่อนที่จะถูกแย่งชิงโดย ISO ความคิดริเริ่มนี้ซึ่งเริ่มย้อนกลับไปในปี 1980 เป็นที่รู้จักในนาม PDES / ขั้นตอน ดูhttps://www.pdesinc.org/index.html

แต่ฉันไม่เชื่อว่ามีใครใช้มันมากนักเว้นแต่พวกเขาจะทำงานในสภาพแวดล้อมที่เป็นข้อกำหนดที่จำเป็น คณะกรรมการระหว่างประเทศจำนวนมากทำงานได้อย่างยอดเยี่ยมในการทำลายความตั้งใจดั้งเดิมและสร้างมาตรฐานที่พยายามครอบคลุมทุกอย่างตั้งแต่การอธิบายโครงสร้างการจัดการโดยรวมของ บริษัท ไปจนถึงรูปแบบที่ถูกต้องสำหรับการเขียนวันที่และเวลา (และไม่ฉัน ไม่ล้อเล่น)


3

จำนวนรูปแบบไฟล์สำหรับ FEM นั้นไร้สาระส่วนหนึ่งเนื่องมาจากความจริงที่ว่าชุดซอฟต์แวร์ทุกชุดใช้รูปแบบของตัวเองในอดีต

ป้อนคำอธิบายรูปภาพที่นี่

(จากxkcd .)

ฉันได้สร้างmeshioเพื่อบรรเทาความเจ็บปวดจากการแปลงระหว่างรูปแบบดังนั้นถ้าคุณใช้รูปแบบที่รองรับโดย meshio คุณควรจะสามารถเปลี่ยนได้อย่างง่ายดายในอนาคต

จากรูปแบบที่ฉันรู้ทั้งหมด VTU และ XDMF เป็นรูปแบบที่ฉันใช้บ่อยที่สุด


1

นอกจากรูปแบบไฟล์ MSH ที่อ้างถึงในคำตอบของ Wes ฉันยังใช้รูปแบบไฟล์ MESH ของ Gamma3 หากคุณกำลังเขียนโปรแกรมใน C / C ++ มีห้องสมุดซอฟต์แวร์ที่ใช้งานง่าย LM6 สำหรับการโหลด / บันทึกในรูปแบบไฟล์นี้ [1]

[1] https://www.rocq.inria.fr/gamma/gamma/Membres/CIPD/Loic.Marechal/Research/LM6.html


0

ฉันสองใช้ VTK สำหรับไฟล์ที่ส่งออก หากคุณต้องการใช้โครงสร้างตาข่ายแบบทั่วไปฉันจะบอกคุณในทิศทางของห้องสมุด CGNS (CFD General Notation System) ซึ่งเป็นรูปแบบตาข่ายโอเพนซอร์สที่มีห้องสมุดของตัวเองซึ่งดูแลโดยสมาคม (รวมถึงโบอิ้งและนาซ่า) . การอ่านรายการของโหนดคุณสมบัติเงื่อนไขขอบเขต ฯลฯ มีประโยชน์อย่างยิ่งกับไลบรารีนี้และตัวไลบรารีเองนั้นรวบรวมได้ง่ายมาก ไลบรารีอยู่ใน C ++ แต่สามารถเชื่อมโยงกับ Fortran ได้

เราใช้มันในโค้ดของเราและฉันพบว่ามันเป็นรูปแบบที่มีประสิทธิภาพมาก มันใช้ HDF5 ภายใต้ประทุนสำหรับไฟล์ไบนารี นอกจากนี้ ANSYS, Salome, GMSH ทั้งหมดสนับสนุนการส่งออกไปยังรูปแบบนี้ในระดับที่แตกต่างกัน นี่คือ GitHub: https://cgns.github.io/

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