อ่าน 4 นาที
preCICE (ซอฟต์แวร์)
preCICEเป็นไลบรารีการเชื่อมต่อแบบโอเพนซอร์ส/ฟรีสำหรับการจำลองทางฟิสิกส์หลายมิติแบบ แบ่งส่วน preCICE ไม่ได้จำเพาะเจาะจงกับแอปพลิเคชันหรือเครื่องมือใด ๆ
preCICE (ซอฟต์แวร์)
| พรีซีซ | |
|---|---|
| นักพัฒนา | มหาวิทยาลัยสตุทการ์ทมหาวิทยาลัยเทคนิคแห่งมิวนิกและชุมชน preCICE |
| ปล่อย | 1 มิถุนายน 2553 [ 1 ] |
| เวอร์ชันเสถียร | 3.4.1 [ 2 ] |
| เขียนเป็น | ซี++ |
| ระบบปฏิบัติการ | ลินุกซ์ , มอสซาเรลล่า , วินโดวส์ , [ 3 ]ฟรีบีเอสดี[ 4 ] |
| ผู้มาก่อน | FSI*ce [ 5 ] |
| มีจำหน่ายใน | ภาษาอังกฤษ |
| พิมพ์ | ซอฟต์แวร์จำลอง , การจำลองแบบหลายฟิสิกส์ , การจำลองแบบหลายมาตราส่วน |
| ใบอนุญาต | LGPL-3.0 หรือเวอร์ชันที่ใหม่กว่า |
| เว็บไซต์ | precice.org |
| ที่เก็บข้อมูล |
|
preCICEเป็นไลบรารีการเชื่อมต่อแบบโอเพนซอร์ส/ฟรีสำหรับการจำลองทางฟิสิกส์หลายมิติแบบ แบ่งส่วน preCICE ไม่ได้จำเพาะเจาะจงกับแอปพลิเคชันหรือเครื่องมือใด ๆ แต่จะเชื่อมต่อโค้ดอิสระที่สามารถจำลองส่วนย่อยของฟิสิกส์ทั้งหมดที่เกี่ยวข้องในการจำลองได้
การจำลองแบบคู่ประกอบด้วยรหัสการจำลองหลายรหัสที่เรียกใช้ API ของ preCICE และไฟล์การกำหนดค่าที่ใช้ร่วมกันซึ่งอธิบายการตั้งค่าการจำลอง เมื่อเริ่มแล้ว ไลบรารี preCICE จะสร้างการเชื่อมต่อระหว่างรหัสการจำลองแต่ละรหัสและประสานความคืบหน้าตามเวลาจนกว่าจะถึงเงื่อนไขสิ้นสุดที่กำหนดค่าไว้[ 6 ]
preCICE รองรับข้อมูลโหนดบนตาข่ายที่ไม่เป็นระเบียบรูปแบบการแทรกสอดที่หลากหลายระหว่างตาข่ายที่ไม่สอดคล้องกันและในเวลา รูปแบบโดยปริยายพร้อมวิธีการเร่งการบรรจบกันที่หลากหลาย และรองรับตัวแก้ปัญหาที่ใช้การขนาน MPIซึ่งทับซ้อนกับคุณสมบัติที่นำเสนอโดยเครื่องมือเชื่อมต่ออื่นๆ บางส่วน[ 7 ]
API preCICE มีให้บริการในC++โดยมี การเชื่อมต่อ CและFortran เป็น ส่วนหนึ่งของไลบรารี การสนับสนุนภายนอกประกอบด้วยPython , Rust , JuliaและMatlab [ 8 ]
ซอฟต์แวร์นี้มีต้นกำเนิดมาจากปฏิสัมพันธ์ของของเหลวและโครงสร้างในบริบทการคำนวณประสิทธิภาพสูง[ 9 ] การใช้งานทั่วไปอื่นๆ ได้แก่ การศึกษาการถ่ายเทความร้อนแบบคู่ควบ การไหล เวียน โลหิต ระบบกล้ามเนื้อและเอ็น พลังงานความร้อนใต้พิภพการไหลในตัวกลางที่มีรูพรุนและ อื่นๆ[ 8 ]

ประวัติศาสตร์
ช่วงวัยเด็กตอนต้น
ชื่อ "preCICE" ( precise code interaction coupling environment ) ปรากฏในเอกสารครั้งแรกในปี 2010 [ 1 ] preCICE เป็นรุ่นต่อจาก FSI*ce ที่พัฒนาโดยมหาวิทยาลัยเทคนิคแห่งมิวนิกซึ่งมุ่งเน้นไปที่การจำลองปฏิสัมพันธ์ระหว่างของเหลวและโครงสร้าง เป็นหลัก [ 5 ] FSI*ce เป็นผลมาจาก โครงการ ของมูลนิธิวิจัยเยอรมันในกลุ่มวิจัยปฏิสัมพันธ์ระหว่างของเหลวและโครงสร้าง: การสร้างแบบจำลอง การจำลอง และการเพิ่มประสิทธิภาพ (FOR493) [ 10 ]
preCICE v1
ในเดือนพฤษภาคม 2015 การพัฒนา preCICE ได้ถูกย้ายไปยังองค์กรอิสระบน GitHub เวอร์ชันเสถียรแรก v1.0.0 ของไลบรารีหลักได้รับการเผยแพร่ในเดือนพฤศจิกายน 2017
preCICE v1 ประกอบด้วยรูปแบบการเชื่อมต่อที่หลากหลาย (แบบชัดเจนและแบบไม่ชัดเจน, การผ่อนคลายแบบ Aitken , อัลกอริทึมเร่งความเร็ว แบบกึ่งนิวตันของ AndersonและBroyden ), วิธีการแมปข้อมูล ( เพื่อนบ้านที่ใกล้ที่สุด , การฉายภาพที่ใกล้ที่สุด, RBF ) และวิธีการสื่อสาร ( ซ็อกเก็ต TCP/IP , พอร์ต MPI ) [ 6 ]
รอบการออกเวอร์ชัน v1.x มีการออกเวอร์ชันจนถึง v1.6.1 ในเดือนกันยายน 2019
พรีซีซี เวอร์ชัน 2
ภายในปี 2020 โครงการ preCICE ได้มีการพัฒนาไปในทิศทางต่างๆ มากมาย ได้แก่ การปรับโครงสร้างและการทดสอบไลบรารีหลักอย่างครอบคลุม การขยายเอกสารประกอบที่มีอยู่ให้มากขึ้น การพัฒนาอะแดปเตอร์ใหม่หลายตัว และมาตรการสร้างชุมชนหลายประการ[ 8 ]การเปลี่ยนแปลงเหล่านี้หลายอย่างเชื่อมโยงกับการยอมรับ preCICE เข้าสู่ชุดพัฒนาซอฟต์แวร์วิทยาศาสตร์ขนาดใหญ่ (xSDK) เนื่องจากจำนวนส่วนประกอบที่เพิ่มขึ้น การแจกจ่าย preCICE จึงถูกนำเสนอเป็นชุดส่วนประกอบที่สามารถอ้างอิงได้ซึ่งทำงานร่วมกัน
รอบการออกเวอร์ชัน v2.x มีการออกเวอร์ชันจนถึง v2.5.1 ในเดือนมกราคม 2024
preCICE v3
preCICE v3.0.0 ได้รับการเผยแพร่ในเดือนกุมภาพันธ์ พ.ศ. 2567 การเปลี่ยนแปลงที่สำคัญของ v3 ได้แก่ การลดความซับซ้อนของ API และการกำหนดค่า การก้าวเวลาหลายอัตราและลำดับที่สูงขึ้น[ 11 ]และการแมป RBF ที่เร็วขึ้นโดยอิงตามแนวทาง การแบ่งส่วนของเอกภาพ
ในระหว่างรอบการเผยแพร่ v3 โครงการได้ขยายจากการมุ่งเป้าไปที่การเชื่อมต่อพื้นผิวเป็นหลักไปสู่การมุ่งเป้าไปที่การเชื่อมต่อปริมาตร (โดเมนที่ทับซ้อนกัน ดูวิธีการแบ่งโดเมน ) การแม ปแบบหลายระดับทางเรขาคณิต รหัสระบบที่ใช้Functional Mock-up Interface [ 12 ]และการจำลองแบบหลายระดับ[ 13 ]
รหัสที่เชื่อมโยงกัน
แม้ว่า preCICE จะเป็นไลบรารีซอฟต์แวร์ที่มีAPIซึ่งโปรแกรมเมอร์สามารถใช้เพื่อเชื่อมต่อโค้ดของตนเองได้ แต่ก็มีการบูรณาการกับโค้ดจำลองหลายตัว ทำให้ preCICE เข้าถึงได้ง่ายขึ้นสำหรับผู้ใช้ทั่วไปที่ไม่ใช่โปรแกรมเมอร์เป็นหลัก (เช่น นักคณิตศาสตร์ประยุกต์ วิศวกรเครื่องกล หรือนักวิทยาศาสตร์ด้านภูมิอากาศ)
ในศัพท์เฉพาะที่ใช้โดย preCICE การบูรณาการเข้ากับโค้ดการจำลองเรียกว่าอะแดปเตอร์[ 8 ]และสามารถบำรุงรักษาโดยนักพัฒนา preCICE หรือบุคคลที่สามได้
ตัวอย่างโค้ดที่ preCICE ผสานรวมผ่านอะแดปเตอร์ ได้แก่[ 14 ]และอื่นๆ:
ชุมชนยังได้จับคู่[ 8 ] CAMRAD II, DLR TAU, DUST, DuMuX, Rhoxyz, Ateles, XDEM, FLEXI, MBDyn, OpenFAST, LS-DYNA และ G+Smo ด้วย
ดูเพิ่มเติม
- ไลบรารี/เฟรมเวิร์กการเชื่อมต่ออื่นๆ ที่มีเป้าหมายคล้ายกัน ได้แก่ Multiscale Universal Interface (MUI), OpenPALM (CWIPI) และ MpCCI [ 7 ]
- การจำลองแบบหลายฟิสิกส์
- รายชื่อซอฟต์แวร์วิเคราะห์เชิงตัวเลข
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ preCICE (ซอฟต์แวร์)
preCICEเป็นไลบรารีการเชื่อมต่อแบบโอเพนซอร์ส/ฟรีสำหรับการจำลองทางฟิสิกส์หลายมิติแบบ แบ่งส่วน preCICE ไม่ได้จำเพาะเจาะจงกับแอปพลิเคชันหรือเครื่องมือใด ๆ
ช่วงวัยเด็กตอนต้น
ชื่อ "preCICE" ( precise code interaction coupling environment ) ปรากฏในเอกสารครั้งแรกในปี 2010 [ 1 ] preCICE เป็นรุ่นต่อจาก FSI*ce ที่พัฒนาโดย มหาวิทยาลัยเทคนิคแห่งมิวนิก ซึ่งมุ่งเน้นไปที่การจำลอง ปฏิสัมพันธ์ระหว่างของเหลวและโครงสร้าง เป็นหลัก [ 5 ] FSI*ce...
preCICE v1
ในเดือนพฤษภาคม 2015 การพัฒนา preCICE ได้ถูกย้ายไปยังองค์กรอิสระบน GitHub เวอร์ชันเสถียรแรก v1.0.0 ของไลบรารีหลักได้รับการเผยแพร่ในเดือนพฤศจิกายน 2017
พรีซีซี เวอร์ชัน 2
ภายในปี 2020 โครงการ preCICE ได้มีการพัฒนาไปในทิศทางต่างๆ มากมาย ได้แก่ การปรับโครงสร้างและการทดสอบไลบรารีหลักอย่างครอบคลุม การขยายเอกสารประกอบที่มีอยู่ให้มากขึ้น การพัฒนาอะแดปเตอร์ใหม่หลายตัว และมาตรการสร้างชุมชนหลายประการ [ 8 ]...