กลับไปหน้าบทความ

อ่าน 5 นาที

รหัสฟิสิกส์เครื่องเร่งอนุภาค

เครื่องเร่งอนุภาค ประจุเป็นเครื่องจักรที่ซับซ้อนซึ่งใช้อนุภาคประจุพื้นฐานและเร่งให้มีพลังงานสูงมาก ฟิสิกส์เครื่องเร่งอนุภาค...

รหัสฟิสิกส์เครื่องเร่งอนุภาค

เครื่องเร่งอนุภาคประจุเป็นเครื่องจักรที่ซับซ้อนซึ่งใช้อนุภาคประจุพื้นฐานและเร่งให้มีพลังงานสูงมากฟิสิกส์เครื่องเร่งอนุภาคเป็นสาขาหนึ่งของฟิสิกส์ที่ครอบคลุมทุกแง่มุมที่จำเป็นในการออกแบบและใช้งานอุปกรณ์ และเพื่อทำความเข้าใจพลวัตที่เกิดขึ้นของอนุภาคประจุ มีแพ็กเกจซอฟต์แวร์ที่เกี่ยวข้องกับแต่ละโดเมน เอกสารสรุปของกลุ่มรหัสเครื่องเร่งอนุภาค Los Alamos ฉบับปี 1990 [ 1 ]ให้บทสรุปของรหัสมากกว่า 200 รหัส รหัสบางส่วนยังคงใช้งานอยู่ในปัจจุบัน แม้ว่าหลายรหัสจะล้าสมัยแล้วก็ตาม ดัชนีอีกอันหนึ่งของรหัสจำลองเครื่องเร่งอนุภาคที่มีอยู่และในอดีตอยู่ที่ เว็บไซต์ CERN CARE/HHH [ 2 ]

รหัสพลศาสตร์อนุภาคเดี่ยว

สำหรับการใช้งานหลายอย่าง การติดตามอนุภาคเดี่ยวผ่านสนามไฟฟ้าและสนามแม่เหล็กที่เกี่ยวข้องก็เพียงพอแล้ว รหัสเก่าที่ผู้เขียนดั้งเดิมหรือสถาบันต้นสังกัดไม่ได้ดูแลรักษาอีกต่อไป ได้แก่ BETA, [ 3 ] AGS, ALIGN, COMFORT, DESIGN, DIMAD, HARMON, LEGO, LIAR, MAGIC, MARYLIE, PATRICIA, PETROS, RACETRACK, SYNCH, [ 4 ] TRANSPORT, TURTLE และ UAL รหัสเก่าบางส่วนได้รับการดูแลรักษาโดยองค์กรเชิงพาณิชย์สำหรับสิ่งอำนวยความสะดวกด้านเครื่องเร่งอนุภาคทางวิชาการ อุตสาหกรรม และการแพทย์ที่ยังคงใช้รหัสเหล่านั้นอยู่ TRACE 3-D และ TURTLE เป็นหนึ่งในรหัสเก่าแก่ที่ได้รับการดูแลรักษาในเชิงพาณิชย์[ 5 ]

รหัสหลักที่ได้รับการดูแลรักษา ได้แก่:

พลศาสตร์อนุภาคเดี่ยวการติดตามการหมุนแผนที่เทย์เลอร์ปฏิสัมพันธ์ระหว่างลำแสงอ่อนและลำแสงแรงการติดตามสนามแม่เหล็กไฟฟ้าผลกระทบรวมของพลังงานระดับสูงผลกระทบจากรังสีซินโครตรอนการติดตามรังสีเวกฟิลด์สขยายได้หมายเหตุ
กล่องเครื่องมือเร่งความเร็ว (AT), [ 6 ]ใช่ใช่[ 7 ]เลขที่เลขที่เลขที่ใช่เลขที่เลขที่เลขที่ใช่
อัสตรา[ 8 ]ใช่เลขที่เลขที่เลขที่ใช่ใช่เลขที่เลขที่ใช่เลขที่สำหรับการจำลองประจุอวกาศ
BDSIM [ 9 ]ใช่เลขที่เลขที่เลขที่ใช่เลขที่เลขที่เลขที่เลขที่ใช่สำหรับการจำลองปฏิสัมพันธ์ระหว่างอนุภาคและสสาร
Bmad (ประกอบด้วย PTC) [ 10 ]ใช่ใช่ใช่ใช่ใช่ใช่ใช่ใช่ใช่ใช่จำลองโครงสร้างลำแสงที่เป็นเอกลักษณ์ของ PTC และจำลองรังสีเอ็กซ์
คอสซี่ อินฟินิตี้[ 11 ]ใช่ใช่ใช่เลขที่ใช่เลขที่เลขที่เลขที่เลขที่ใช่แผนที่ถ่ายโอนเชิงอนุพันธ์พีชคณิตลำดับใดๆ
ไดนาค[ 12 ]ใช่เลขที่เลขที่เลขที่เลขที่เลขที่เลขที่เลขที่เลขที่เลขที่
สง่างาม[ 13 ]ใช่เลขที่เลขที่เลขที่ใช่ใช่ใช่เลขที่ใช่เลขที่
ImpactX [ 14 ]ใช่ใช่เลขที่ใช่ (ผ่าน WarpX)ใช่ (ผ่าน WarpX)ใช่ใช่เลขที่ใช่ใช่การรองรับ GPU หลายโหนด
MAD8 และ MAD-X (รวมถึง PTC) [ 15 ]ใช่เลขที่ใช่ใช่เลขที่เลขที่ใช่เลขที่เลขที่เลขที่
MAD-NG [ 15 ]ใช่เลขที่ใช่ใช่เลขที่เลขที่ใช่เลขที่เลขที่ใช่ขยายได้ และฝัง LuaJIT ไว้ภายใน
MERLIN++ [ 16 ] [ 17 ]ใช่ใช่เลขที่เลขที่เลขที่เลขที่เลขที่เลขที่ใช่ใช่อื่นๆ: ปฏิสัมพันธ์ระหว่างลำแสงกับสสาร, การติดตามอนุภาคขนาดใหญ่แบบแบ่งส่วน
โอเซลอต[ 18 ]ใช่เลขที่เลขที่เลขที่เลขที่ใช่ใช่ใช่ใช่ใช่
OPA [ 19 ]ใช่เลขที่เลขที่เลขที่เลขที่เลขที่เลขที่เลขที่เลขที่เลขที่
โอปอล[ 20 ]ใช่เลขที่ใช่เลขที่ใช่ใช่เลขที่เลขที่ใช่ใช่ทำงานบนแล็ปท็อปและบนซีพียูที่มี 10,000 คอร์
PLACET [ 21 ]ใช่เลขที่เลขที่เลขที่เลขที่ใช่ใช่เลขที่ใช่ใช่เครื่องเร่งอนุภาคเชิงเส้น (LINAC) รวมถึงการจำลองสนามคลื่นรบกวน
โฆษณา[ 22 ]ใช่เลขที่เลขที่เลขที่เลขที่เลขที่เลขที่เลขที่เลขที่ใช่
พีทีซี[ 23 ]ใช่ใช่ใช่ใช่ใช่เลขที่เลขที่เลขที่เลขที่ใช่
SAD [ 24 ]ใช่เลขที่เลขที่ใช่เลขที่ใช่ใช่เลขที่ใช่เลขที่
SAMM [ 25 ]ใช่ใช่เลขที่เลขที่เลขที่เลขที่เลขที่เลขที่เลขที่เลขที่
ซิกแทร็ก[ 26 ]ใช่เลขที่ใช่ใช่เลขที่เลขที่เลขที่เลขที่เลขที่เลขที่สามารถใช้งานบนBOINC ได้
Xsuite [ 27 ]ใช่ใช่เลขที่ใช่ใช่ใช่ใช่เลขที่ใช่ใช่รองรับการติดตาม ด้วย CPUและGPU หลายตัว
Zgoubi [ 28 ] [ 29 ]ใช่ใช่เลขที่เลขที่ใช่เลขที่ใช่เลขที่เลขที่ใช่

คอลัมน์

การติดตามการหมุน
การ ติดตาม การหมุนของอนุภาค
แผนที่เทย์เลอร์
การสร้าง แผนที่อนุกรม เทย์เลอร์ลำดับสูงที่สามารถนำมาใช้จำลองการเคลื่อนที่ของอนุภาค และยังสามารถใช้สำหรับสิ่งต่างๆ เช่น การหาค่าความแรงของการสั่นพ้องของอนุภาคเดี่ยวได้อีกด้วย
ปฏิสัมพันธ์ระหว่างลำแสงอ่อนและลำแสงแรง
สามารถจำลองการปฏิสัมพันธ์ระหว่างลำแสงได้โดยใช้หลักการที่ว่าลำแสงหนึ่งมีขนาดคงที่ ดูรายการโค้ดสำหรับการปฏิสัมพันธ์ระหว่างลำแสงแรงสูงได้ด้านล่าง
การติดตามสนามแม่เหล็กไฟฟ้า
สามารถติดตาม (เรย์เทรซ) อนุภาคผ่านสนามแม่เหล็กไฟฟ้าใดๆ ได้
ผลกระทบรวมของพลังงานระดับสูง
ปฏิสัมพันธ์ระหว่างอนุภาคในลำแสงสามารถส่งผลกระทบสำคัญต่อพฤติกรรม การควบคุม และพลวัตได้ ผลกระทบโดยรวมมีหลายรูปแบบ ตั้งแต่การกระเจิงภายในลำแสง (Intrabeam Scattering : IBS) ซึ่งเป็นการปฏิสัมพันธ์โดยตรงระหว่างอนุภาค ไปจนถึงสนามคลื่น (wakefields) ซึ่งเกิดจากการส่งผ่านโดย ผนัง ห้องสุญญากาศของเครื่องจักรที่อนุภาคเคลื่อนที่อยู่ โดยทั่วไป ผลกระทบของการปฏิสัมพันธ์โดยตรงระหว่างอนุภาคจะน้อยลงเมื่อลำแสงอนุภาคมีพลังงานสูง ที่พลังงานต่ำมากประจุในอวกาศจะมีผลกระทบอย่างมากต่อลำแสงอนุภาคทำให้ยากต่อการคำนวณ โปรดดูรายการโปรแกรมที่สามารถจัดการกับแรงประจุในอวกาศที่พลังงานต่ำได้ด้านล่าง
ผลกระทบจากรังสีซินโครตรอน

สามารถจำลองผลกระทบของการปล่อยรังสีซินโครตรอนต่ออนุภาคที่กำลังติดตามได้

การติดตามรังสี
ความสามารถในการติดตามรังสีซินโครตรอน (ส่วนใหญ่เป็นรังสีเอ็กซ์ ) ที่เกิดจากการเร่งความเร็วของอนุภาคที่มีประจุ

นี่ไม่ใช่การจำลองผลกระทบของการปล่อยรังสีซินโครตรอนต่ออนุภาคที่กำลังติดตาม

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

รหัสประจุอวกาศ

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

ที่ระดับพลังงานสูงขึ้น ผลกระทบจากประจุในอวกาศ ได้แก่ปรากฏการณ์ทูเช็ก (Touschek effect)และการแผ่รังสีซินโครตรอนแบบสอดคล้องกัน (Coherent Synchrotron Radiation: CSR) โค้ดที่รองรับการจัดการประจุในอวกาศที่ระดับพลังงานสูง ได้แก่:

  • บีแมด
  • สง่างาม
  • อิมแพ็คเอ็กซ์
  • แมรี่ลี
  • เศร้า

รหัสเอฟเฟกต์ลำแสงต่อลำแสง "แรงมาก"

เมื่อลำแสงสองลำชนกัน สนามแม่เหล็กไฟฟ้าของลำแสงหนึ่งจะส่งผลกระทบอย่างมากต่ออีกลำแสงหนึ่ง เรียกว่า ผลกระทบระหว่างลำแสง (beam-beam effects) การจำลองแบบ "อ่อน-แรง" (weak-strong) จะจำลองลำแสงหนึ่ง (เรียกว่าลำแสง "แรง" เนื่องจากส่งผลกระทบต่ออีกลำแสงหนึ่ง) เป็นการกระจายตัวแบบคงที่ (โดยทั่วไปคือการกระจายแบบเกาส์เซียน) ซึ่งมีปฏิสัมพันธ์กับอนุภาคของลำแสง "อ่อน" อีกอันหนึ่ง วิธีนี้ช่วยลดความซับซ้อนของการจำลองลงอย่างมาก การจำลองแบบ "แรง-แรง" (strong-strong) เต็มรูปแบบนั้นซับซ้อนกว่าและใช้เวลาในการจำลองนานกว่า โค้ดสำหรับการจำลองแบบแรง-แรง ได้แก่...

รหัสการคำนวณอิมพีแดนซ์

ปรากฏการณ์รวมหมู่ที่สำคัญประเภทหนึ่งอาจสรุปได้ในแง่ของการตอบสนองของลำแสงต่อ " อิมพีแดนซ์ " ดังนั้นงานที่สำคัญอย่างหนึ่งคือการคำนวณอิมพีแดนซ์นี้สำหรับเครื่องจักร รหัสสำหรับการคำนวณนี้ได้แก่

แม่เหล็กและรหัสการสร้างแบบจำลองฮาร์ดแวร์อื่นๆ

ในการควบคุมลำแสงอนุภาคประจุ จำเป็นต้องสร้างสนามไฟฟ้าและสนามแม่เหล็กที่เหมาะสม มีซอฟต์แวร์หลายแพ็กเกจที่ช่วยในการออกแบบและทำความเข้าใจเกี่ยวกับแม่เหล็ก โพรง RF และองค์ประกอบอื่นๆ ที่สร้างสนามเหล่านี้ โค้ดต่างๆ ได้แก่

ปัญหาเกี่ยวกับคำอธิบายโครงสร้างแลตติสและการแลกเปลี่ยนข้อมูล

เนื่องจากงานสร้างแบบจำลองมีความหลากหลาย จึงไม่มีรูปแบบข้อมูลทั่วไปรูปแบบใดที่พัฒนาขึ้นมา สำหรับการอธิบายเค้าโครงของตัวเร่งความเร็วและองค์ประกอบที่เกี่ยวข้อง จะใช้สิ่งที่เรียกว่า "ไฟล์แลตติส" มีความพยายามมากมายในการรวมรูปแบบไฟล์แลตติสที่ใช้ในโค้ดต่างๆ ความพยายามในการรวมรูปแบบหนึ่งคือ Accelerator Markup Language และ Universal Accelerator Parser [ 55 ] ความพยายามอีกประการหนึ่งในแนวทางที่เป็นหนึ่งเดียวสำหรับโค้ดตัวเร่งความเร็วคือ UAL หรือ Universal Accelerator Library [ 56 ]ณ ปี 2023 ไม่มีรูปแบบใดได้รับการดูแลรักษาอีกต่อไป

รูปแบบไฟล์ที่ใช้ใน MAD อาจเป็นรูปแบบที่พบได้ทั่วไป โดยมีรูทีนการแปลงเพื่อแปลงเป็นรูปแบบอินพุตที่จำเป็นสำหรับโค้ดอื่น โค้ด Elegant มีรูปแบบข้อมูลที่เรียกว่า SDDS พร้อมชุดเครื่องมือที่เกี่ยวข้อง หากใช้ โค้ดที่เขียนด้วย Matlabเช่น Accelerator Toolbox ก็จะสามารถใช้เครื่องมือทั้งหมดใน Matlab ได้

สำหรับการแลกเปลี่ยนตำแหน่งอนุภาคและสนามแม่เหล็กไฟฟ้า มาตรฐาน OpenPMD [ 57 ] กำหนดรูปแบบที่สามารถนำไปใช้กับรูปแบบไฟล์เช่นHDF5ได้

รหัสในแอปพลิเคชันของเครื่องเร่งอนุภาค

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

ตัวอย่างเช่น สำหรับสิ่งอำนวยความสะดวกการแผ่รังสีซินโครตรอน ลำแสงอิเล็กตรอนจะสร้างลำแสงเอ็กซ์เรย์ จากนั้นจะเดินทางลงไปตามลำแสงก่อนที่จะถึงการทดลอง ดังนั้นซอฟต์แวร์จำลองลำแสงอิเล็กตรอนจะต้องเชื่อมต่อกับ ซอฟต์แวร์จำลอง เลนส์เอ็กซ์เรย์ เช่น SRW [ 58 ] Shadow [ 59 ] McXTrace [ 60 ]หรือ Spectra [ 61 ] Bmad [ 10 ]สามารถจำลองได้ทั้งลำแสงเอ็กซ์เรย์และลำแสงอนุภาคประจุ เอ็กซ์เรย์ถูกใช้ในการทดลองซึ่งอาจถูกจำลองและวิเคราะห์ด้วยซอฟต์แวร์ต่างๆ เช่น แพลตฟอร์มวิทยาศาสตร์ DAWN [ 62 ] OCELOT [ 63 ]ยังรวมถึงการคำนวณการแผ่รังสีซินโครตรอนและแบบจำลองการแพร่กระจายของเอ็กซ์เรย์ด้วย

เครื่องเร่งอนุภาคอุตสาหกรรมและการแพทย์ถือเป็นอีกหนึ่งพื้นที่ของการใช้งานที่สำคัญ การสำรวจในปี 2013 ประมาณการว่ามีเครื่องเร่งอนุภาคอุตสาหกรรมประมาณ 27,000 เครื่อง และเครื่องเร่งอนุภาคทางการแพทย์อีก 14,000 เครื่องทั่วโลก[ 64 ]และจำนวนดังกล่าวก็เพิ่มขึ้นอย่างต่อเนื่องนับตั้งแต่นั้นมา[ 65 ] รหัสที่ใช้ในสถานประกอบการเหล่านั้นมีความแตกต่างกันอย่างมาก และมักจะประกอบด้วยรหัสแบบดั้งเดิมและรหัสที่กำหนดเองซึ่งพัฒนาขึ้นสำหรับการใช้งานเฉพาะ รหัสวงโคจรขั้นสูง (AOC) [ 66 ]ที่พัฒนาขึ้นที่Ion Beam Applicationsเป็นตัวอย่างหนึ่ง

ดูเพิ่มเติม

  • รายชื่อโค้ดจากห้องปฏิบัติการฟิสิกส์ลำแสงอนุภาค UCLA ที่เก็บถาวรเมื่อวันที่ 17 กรกฎาคม 2018 ที่Wayback Machine
  • การเปรียบเทียบรหัสเร่งความเร็ว

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ รหัสฟิสิกส์เครื่องเร่งอนุภาค

เครื่องเร่งอนุภาค ประจุเป็นเครื่องจักรที่ซับซ้อนซึ่งใช้อนุภาคประจุพื้นฐานและเร่งให้มีพลังงานสูงมาก ฟิสิกส์เครื่องเร่งอนุภาค...

รหัสพลศาสตร์อนุภาคเดี่ยว

สำหรับการใช้งานหลายอย่าง การติดตามอนุภาคเดี่ยวผ่านสนามไฟฟ้าและสนามแม่เหล็กที่เกี่ยวข้องก็เพียงพอแล้ว รหัสเก่าที่ผู้เขียนดั้งเดิมหรือสถาบันต้นสังกัดไม่ได้ดูแลรักษาอีกต่อไป ได้แก่ BETA, [ 3 ] AGS, ALIGN, COMFORT, DESIGN, DIMAD, HARMON, LEGO, LIAR, MAGIC,...

คอลัมน์

สามารถจำลองผลกระทบของการปล่อยรังสีซินโครตรอนต่ออนุภาคที่กำลังติดตามได้

รหัสประจุอวกาศ

ปฏิสัมพันธ์ภายในตัวเอง (เช่น ประจุอวกาศ) ของ ลำแสงอนุภาคที่มีประจุ สามารถทำให้ลำแสงขยายตัว เช่น การยืดตัวของกลุ่มอนุภาค หรือการกระเจิงภายในลำแสง นอกจากนี้ ผลกระทบจากประจุอวกาศอาจทำให้เกิดความไม่เสถียรและการสูญเสียลำแสงที่เกี่ยวข้อง โดยทั่วไป...