1------------------------------------
2:mod:`openmc` -- Basic Functionality
3------------------------------------
4
5Handling nuclear data
6---------------------
7
8.. autosummary::
9   :toctree: generated
10   :nosignatures:
11   :template: myclass.rst
12
13   openmc.XSdata
14   openmc.MGXSLibrary
15
16Simulation Settings
17-------------------
18
19.. autosummary::
20   :toctree: generated
21   :nosignatures:
22   :template: myclass.rst
23
24   openmc.Source
25   openmc.SourceParticle
26   openmc.VolumeCalculation
27   openmc.Settings
28
29The following function can be used for generating a source file:
30
31.. autosummary::
32   :toctree: generated
33   :nosignatures:
34   :template: myfunction.rst
35
36   openmc.write_source_file
37
38Material Specification
39----------------------
40
41.. autosummary::
42   :toctree: generated
43   :nosignatures:
44   :template: myclass.rst
45
46   openmc.Nuclide
47   openmc.Element
48   openmc.Macroscopic
49   openmc.Material
50   openmc.Materials
51
52Cross sections for nuclides, elements, and materials can be plotted using the
53following function:
54
55.. autosummary::
56   :toctree: generated
57   :nosignatures:
58   :template: myfunction.rst
59
60   openmc.plot_xs
61
62Building geometry
63-----------------
64
65.. autosummary::
66   :toctree: generated
67   :nosignatures:
68   :template: myclass.rst
69
70   openmc.Plane
71   openmc.XPlane
72   openmc.YPlane
73   openmc.ZPlane
74   openmc.XCylinder
75   openmc.YCylinder
76   openmc.ZCylinder
77   openmc.Sphere
78   openmc.Cone
79   openmc.XCone
80   openmc.YCone
81   openmc.ZCone
82   openmc.Quadric
83   openmc.Halfspace
84   openmc.Intersection
85   openmc.Union
86   openmc.Complement
87   openmc.Cell
88   openmc.Universe
89   openmc.RectLattice
90   openmc.HexLattice
91   openmc.Geometry
92
93Many of the above classes are derived from several abstract classes:
94
95.. autosummary::
96   :toctree: generated
97   :nosignatures:
98   :template: myclass.rst
99
100   openmc.Surface
101   openmc.Region
102   openmc.Lattice
103
104.. _pythonapi_tallies:
105
106Constructing Tallies
107--------------------
108
109.. autosummary::
110   :toctree: generated
111   :nosignatures:
112   :template: myclass.rst
113
114   openmc.Filter
115   openmc.UniverseFilter
116   openmc.MaterialFilter
117   openmc.CellFilter
118   openmc.CellFromFilter
119   openmc.CellbornFilter
120   openmc.CellInstanceFilter
121   openmc.CollisionFilter
122   openmc.SurfaceFilter
123   openmc.MeshFilter
124   openmc.MeshSurfaceFilter
125   openmc.EnergyFilter
126   openmc.EnergyoutFilter
127   openmc.MuFilter
128   openmc.PolarFilter
129   openmc.AzimuthalFilter
130   openmc.DistribcellFilter
131   openmc.DelayedGroupFilter
132   openmc.EnergyFunctionFilter
133   openmc.LegendreFilter
134   openmc.SpatialLegendreFilter
135   openmc.SphericalHarmonicsFilter
136   openmc.ZernikeFilter
137   openmc.ZernikeRadialFilter
138   openmc.ParticleFilter
139   openmc.RegularMesh
140   openmc.RectilinearMesh
141   openmc.UnstructuredMesh
142   openmc.Trigger
143   openmc.TallyDerivative
144   openmc.Tally
145   openmc.Tallies
146
147Geometry Plotting
148-----------------
149
150.. autosummary::
151   :toctree: generated
152   :nosignatures:
153   :template: myclass.rst
154
155   openmc.Plot
156   openmc.Plots
157
158Running OpenMC
159--------------
160
161.. autosummary::
162   :toctree: generated
163   :nosignatures:
164   :template: myfunction.rst
165
166   openmc.run
167   openmc.calculate_volumes
168   openmc.plot_geometry
169   openmc.plot_inline
170   openmc.search_for_keff
171
172Post-processing
173---------------
174
175.. autosummary::
176   :toctree: generated
177   :nosignatures:
178   :template: myclass.rst
179
180   openmc.Particle
181   openmc.StatePoint
182   openmc.Summary
183
184The following classes and functions are used for functional expansion reconstruction.
185
186.. autosummary::
187   :toctree: generated
188   :nosignatures:
189   :template: myclass.rst
190
191   openmc.ZernikeRadial
192
193.. autosummary::
194   :toctree: generated
195   :nosignatures:
196   :template: myfunction.rst
197
198   openmc.legendre_from_expcoef
199
200
201Various classes may be created when performing tally slicing and/or arithmetic:
202
203.. autosummary::
204   :toctree: generated
205   :nosignatures:
206   :template: myclass.rst
207
208   openmc.arithmetic.CrossScore
209   openmc.arithmetic.CrossNuclide
210   openmc.arithmetic.CrossFilter
211   openmc.arithmetic.AggregateScore
212   openmc.arithmetic.AggregateNuclide
213   openmc.arithmetic.AggregateFilter
214
215Coarse Mesh Finite Difference Acceleration
216------------------------------------------
217
218CMFD is implemented in OpenMC and allows users to accelerate fission source
219convergence during inactive neutron batches. To use CMFD, the
220:class:`openmc.cmfd.CMFDRun` class executes OpenMC through the C API, solving
221the CMFD system between fission generations and modifying the source weights.
222Note that the :mod:`openmc.cmfd` module is not imported by default with the
223:mod:`openmc` namespace and needs to be imported explicitly.
224
225.. autosummary::
226   :toctree: generated
227   :nosignatures:
228   :template: myclass.rst
229
230   openmc.cmfd.CMFDMesh
231   openmc.cmfd.CMFDRun
232
233At the minimum, a CMFD mesh needs to be specified in order to run CMFD. Once the
234mesh and other optional properties are set, a simulation can be run with CMFD
235turned on using :meth:`openmc.cmfd.CMFDRun.run`.
236