You've already forked HeurAMS-Legacy
基本对象系统移植
This commit is contained in:
35
src/heurams/kernel/reactor/glimpse.py
Normal file
35
src/heurams/kernel/reactor/glimpse.py
Normal file
@@ -0,0 +1,35 @@
|
||||
# 轻量状态查看器
|
||||
|
||||
import heurams.kernel.particles as pt
|
||||
|
||||
class Glimpse():
|
||||
"""轻量级只读, 用于状态指示"""
|
||||
def __init__(self, nucleon_union: pt.NucleonUnion):
|
||||
self.name = nucleon_union.name
|
||||
self.nuc_u = nucleon_union
|
||||
self.elt_u = self.nuc_u.linked_electron_union()
|
||||
self.lastest_date = -1
|
||||
self.next_date = 0x3f3f3f3f
|
||||
self.avg_efactor = 0
|
||||
self.total_num = 0
|
||||
self.activated_num = 0
|
||||
self.is_initialized = 0
|
||||
if self.elt_u != 0:
|
||||
self.is_initialized = 1
|
||||
self.total_num = len(self.elt_u.electrons)
|
||||
for i in self.elt_u.electrons:
|
||||
if i['next_date'] > 0:
|
||||
self.next_date = min(self.next_date, i['next_date'])
|
||||
self.lastest_date = max(self.lastest_date, i['last_date'])
|
||||
if i['is_activated']:
|
||||
self.avg_efactor += i['efactor']
|
||||
self.activated_num += 1
|
||||
if self.next_date == 0x3f3f3f3f:
|
||||
self.next_date = -1
|
||||
self.is_initialized = 0
|
||||
if self.activated_num == 0:
|
||||
return
|
||||
self.avg_efactor = round(self.avg_efactor / self.activated_num, 2)
|
||||
if self.next_date == 0x3f3f3f3f:
|
||||
self.next_date = -1
|
||||
return
|
||||
Reference in New Issue
Block a user