本文整理汇总了Python中target.Target.add_process方法的典型用法代码示例。如果您正苦于以下问题:Python Target.add_process方法的具体用法?Python Target.add_process怎么用?Python Target.add_process使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类target.Target
的用法示例。
在下文中一共展示了Target.add_process方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: add_process
# 需要导入模块: from target import Target [as 别名]
# 或者: from target.Target import add_process [as 别名]
def add_process(self, **kwargs):
""" Adds a new process to the solver.
Adds a new process to the solver. The process data is passed with
keyword arguments.
Parameters
----------
type : string
one of "EFFECTIVE", "MOMENTUM", "EXCITATION", "IONIZATION"
or "ATTACHMENT".
target : string
the target species of the process (e.g. "O", "O2"...).
ratio : float
the ratio of the electron mass to the mass of the target
(for elastic/momentum reactions only).
threshold : float
the energy threshold of the process in eV (only for
inelastic reactions).
data : array or array-like
cross-section of the process array with two columns: column
0 must contain energies in eV, column 1 contains the
cross-section in square meters for each of these energies.
Returns
-------
process : :class:`process.Process`
The process that has been added.
Examples
--------
>>> import numpy as np
>>> from bolos import solver, grid
>>> grid.LinearGrid(0, 60., 400)
>>> solver = BoltzmannSolver(grid)
>>> # This is an example cross-section that decays exponentially
>>> energy = np.linspace(0, 10)
>>> cross_section = 1e-20 * np.exp(-energy)
>>> solver.add_process(type="EXCITATION", target="Kriptonite",
>>> ratio=1e-5, threshold=10,
>>> data=np.c_[energy, cross_section])
See Also
--------
load_collisions : Add a set of collisions.
"""
proc = Process(**kwargs)
try:
target = self.target[proc.target_name]
except KeyError:
target = Target(proc.target_name)
self.target[proc.target_name] = target
target.add_process(proc)
return proc