Skip to content

Commit f0dd177

Browse files
committed
docs: removed builder classes
1 parent c71b6b1 commit f0dd177

744 files changed

Lines changed: 8305 additions & 18015 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/source/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@
2020
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
2121

2222
extensions = ['sphinx.ext.napoleon', 'myst_parser']
23-
autodoc_member_order = 'bysource'
23+
autodoc_member_order = 'groupwise'

docs/source/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ visualizes simulation geometries, and runs MCNP simulations in parallel.
99
```{eval-rst}
1010
.. toctree::
1111
:maxdepth: 1
12-
12+
1313
cli
1414
pymcnp
1515
installation

docs/source/pymcnp.md

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# PyMCNP Package
22

3+
> [!WARNING]
4+
> Warning: PyMCNP is in active development! Please, double check eveything works. Reports error on [GitHub](https://github.com/FSIBT/PyMCNP).
5+
36
PyMCNP provides the backend for the CLI and useful tools for programatically interfacing with
47
MCNP. This package supports INP, PTRAC, and MESHTAL parsing and the CLI backend using subpackages:
58

69
* [inp subpackage](/pymcnp/inp): INP parsing.
7-
810
* [meshtal subpackage](/pymcnp/meshtal): MESHTAL parsing.
9-
1011
* [ptrac subpackage](/pymcnp/ptrac): PTRAC parsing.
11-
1212
* [cli subpackage](/pymcnp/cli): CLI backend.
1313

1414
## Table of Contents
@@ -30,55 +30,49 @@ PyMCNP represents MCNP files using the ``Inp``, ``Meshtal``, and ``Ptrac`` AST c
3030
``inp``, ``meshtal``, and ``ptrac`` subpackages. These classes have important methods for translating PyMCNP and MCNP:
3131

3232
* ``from_mcnp``. Parses MCNP source, checking for syntax and semantic errors.
33-
3433
* ``to_mcnp``. Generates MCNP source from PyMCNP objects, reformatting.
35-
3634
* ``from_file``. Parses MCNP file.
37-
3835
* ``to_file``. Generates MCNP file from PyMCNP objects.
3936

4037
### ``Inp`` Class
4138

4239
```{eval-rst}
4340
.. autoclass:: pymcnp.Inp
4441
:members:
42+
:inherited-members:
4543
```
4644

4745
[inp subpackage](pymcnp/inp)
4846

49-
### ``Meshtal`` Class
47+
### ``Outp`` Class
5048

5149
```{eval-rst}
52-
.. autoclass:: pymcnp.Meshtal
50+
.. autoclass:: pymcnp.Outp
5351
:members:
52+
:inherited-members:
5453
```
5554

56-
[meshtal subpackage](pymcnp/meshtal)
55+
[meshtal subpackage](pymcnp/outp)
5756

5857
### ``Ptrac`` Class
5958

6059
```{eval-rst}
6160
.. autoclass:: pymcnp.Ptrac
6261
:members:
62+
:inherited-members:
6363
```
6464

6565
[ptrac subpackage](pymcnp/ptrac)
6666

67-
## Builder Classes
68-
69-
AST classes are immutable, but ``Inp`` has a builder class. ``InpBuilder`` is a mutable wrapper without input
70-
validation, and it has a method for constructing ``Inp``:
71-
72-
* ``build``. Attempts to build ``Inp`` using ``InpBuilder``'s fields.
73-
74-
### ``InpBuilder`` Class
67+
### ``Meshtal`` Class
7568

7669
```{eval-rst}
77-
.. autoclass:: pymcnp.InpBuilder
70+
.. autoclass:: pymcnp.Meshtal
7871
:members:
72+
:inherited-members:
7973
```
8074

81-
[inp subpackage](pymcnp/inp)
75+
[meshtal subpackage](pymcnp/meshtal)
8276

8377
## Filter & Processor Classes
8478

@@ -87,35 +81,37 @@ The ``*Filtered`` and ``*Processed`` classes help handle large ``Meshtal`` and `
8781
and ``MeshtalProcessed`` have overridable methods for processing data, and all can be run:
8882

8983
* ``check_*``. Returns ``True``/``False`` if data should be kept/removed.
90-
9184
* ``process_*``. Operates with side effects on data.
92-
9385
* ``run``. Runs the filter or processor.
9486

9587
### ``MeshtalFiltered`` Class
9688

9789
```{eval-rst}
9890
.. autoclass:: pymcnp.MeshtalFiltered
9991
:members:
92+
:inherited-members:
10093
```
10194

10295
### ``PtracFiltered`` Class
10396

10497
```{eval-rst}
10598
.. autoclass:: pymcnp.PtracFiltered
10699
:members:
100+
:inherited-members:
107101
```
108102

109103
### ``MeshtalProcessed`` Class
110104

111105
```{eval-rst}
112106
.. autoclass:: pymcnp.MeshtalProcessed
113107
:members:
108+
:inherited-members:
114109
```
115110

116111
### ``PtracProcessed`` Class
117112

118113
```{eval-rst}
119114
.. autoclass:: pymcnp.PtracProcessed
120115
:members:
116+
:inherited-members:
121117
```

docs/source/pymcnp/cli.md

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,51 +8,54 @@
88
* ``pymcnp run``
99
* ``pymcnp visualize``
1010

11-
## Modules
11+
## CLI Classes
1212

13-
Each module contains corresponding classes which enapsulate the subcommands' functionality,
14-
enabiling programmatic access to the CLI:
13+
### ``Check`` Class
1514

16-
* ``Check``
17-
* ``Convert``
18-
* ``Plot``
19-
* ``Run``
15+
``Check`` compares and fixes MCNP files, using ``difflib``,
2016

21-
### ``check.Check`` Class
17+
```{eval-rst}
18+
.. autoclass:: pymcnp.cli.Check
19+
:members:
20+
:inherited-members:
21+
```
22+
23+
### ``Convert`` Class
2224

23-
``check`` contains the ``Check`` class which compares MCNP files using ``difflib`` and
24-
formats them.
25+
``Convert`` converts OUTP files to csv or parquet files, using ``pandas``.
2526

2627
```{eval-rst}
27-
.. autoclass:: pymcnp.cli.check.Check
28+
.. autoclass:: pymcnp.cli.Convert
2829
:members:
30+
:inherited-members:
2931
```
3032

31-
### ``convert.Convert`` Class
33+
### ``Plot`` Class
3234

33-
``convert`` contains the ``Convert`` class which converts OUTP files, using ``pandas``, to
34-
CSV or parquet files.
35+
``Plot`` plots OUTP files, using ``matplotlib``.
3536

3637
```{eval-rst}
37-
.. autoclass:: pymcnp.cli.convert.Convert
38+
.. autoclass:: pymcnp.cli.Plot
3839
:members:
40+
:inherited-members:
3941
```
4042

41-
### ``plot.Plot`` Class
43+
### ``Run`` Class
4244

43-
``plot`` contains the ``Plot`` class which plots OUTP files, using ``matplotlib``.
45+
``Run`` runs MCNP simulations in parallel, using ``subprocess``.
4446

4547
```{eval-rst}
46-
.. autoclass:: pymcnp.cli.plot.Plot
48+
.. autoclass:: pymcnp.cli.Run
4749
:members:
50+
:inherited-members:
4851
```
4952

50-
### ``run.Run`` Class
53+
### ``Visualize`` Class
5154

52-
``run`` contains the ``Run`` class which runs MCNP simulations, in series or parallel,
53-
on given INP.
55+
``Visualize`` visualizes INP surfaces and cell geometries, using ``pyvista``.
5456

5557
```{eval-rst}
56-
.. autoclass:: pymcnp.cli.run.Run
58+
.. autoclass:: pymcnp.cli.Visualize
5759
:members:
60+
:inherited-members:
5861
```

docs/source/pymcnp/inp.md

Lines changed: 17 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ``pymcnp.inp`` Subpackage
22

3-
> [!CAUTION]
3+
> [!WARNING]
44
> The following non-terminals are not currently supported:
55
> * data.Field (3.3.3.12)
66
> * data.Mplot (3.3.7.2.5)
@@ -12,11 +12,8 @@
1212
> * data.Fm (3.3.5.7)
1313
> * data.Ft (3.3.5.18)
1414
15-
> [!WARNING]
16-
> Warning: PyMCNP is in active development! Please, double check eveything works. Reports error on [GitHub](https://github.com/FSIBT/PyMCNP).
17-
1815
``pymcnp.inp`` contains the INP parser. PyMCNP implements an object-oriented recursive
19-
descent parser, modeling INP as the following context-free-grammar described in modified Bakus-Naur form:
16+
descent parser, approximates INP as the following context-free-grammar described in modified Bakus-Naur form:
2017

2118
```
2219
<CellOption> = ...;
@@ -33,7 +30,10 @@ descent parser, modeling INP as the following context-free-grammar described in
3330

3431
```{eval-rst}
3532
.. toctree::
33+
:maxdepth: 1
34+
3635
inp/cell
36+
inp/like
3737
inp/surface
3838
inp/data
3939
```
@@ -44,80 +44,52 @@ PyMCNP represents INP non-terminals with AST classes and stores them in nested s
4444
These AST class have methods for translating PyMCNP and INP:
4545

4646
* ``from_mcnp``. Parses INP source, checking for syntax and semantic errors.
47-
4847
* ``to_mcnp``. Generates INP source from PyMCNP objects, reformatting.
4948

5049
### ``Comment`` Class
5150

5251
```{eval-rst}
5352
.. autoclass:: pymcnp.inp.Comment
5453
:members:
54+
:inherited-members:
5555
```
5656

5757
### ``Cell`` Class
5858

5959
```{eval-rst}
6060
.. autoclass:: pymcnp.inp.Cell
6161
:members:
62+
:inherited-members:
6263
```
6364

6465
[cell subpackage](inp/cell)
6566

66-
### ``Surface`` Class
67-
68-
```{eval-rst}
69-
.. autoclass:: pymcnp.inp.Surface
70-
:members:
71-
```
72-
73-
[surface subpackage](inp/surface)
74-
75-
### ``Data`` Class
76-
77-
```{eval-rst}
78-
.. autoclass:: pymcnp.inp.Data
79-
:members:
80-
```
81-
82-
[data subpackage](inp/data)
83-
84-
## Builder Classes
85-
86-
AST classes are immutable, but they have corresponding builder classes. These builder classes are mutable
87-
wrappers without input validation, and they have a method for constructing AST classes:
88-
89-
* ``build``. Attempts to build corresponding AST class using the builder classes' fields.
90-
91-
### ``CommentBuilder`` Class
92-
93-
```{eval-rst}
94-
.. autoclass:: pymcnp.inp.CommentBuilder
95-
:members:
96-
```
97-
98-
### ``CellBuilder`` Class
67+
### ``Like`` Class
9968

10069
```{eval-rst}
101-
.. autoclass:: pymcnp.inp.CellBuilder
70+
.. autoclass:: pymcnp.inp.Like
10271
:members:
72+
:inherited-members:
10373
```
10474

105-
[cell subpackage](inp/cell)
75+
[like subpackage](inp/like)
10676

107-
### ``SurfaceBuilder`` Class
77+
### ``Surface`` Class
10878

10979
```{eval-rst}
110-
.. autoclass:: pymcnp.inp.SurfaceBuilder
80+
.. autoclass:: pymcnp.inp.Surface
11181
:members:
82+
:inherited-members:
11283
```
11384

11485
[surface subpackage](inp/surface)
11586

116-
### ``DataBuilder`` Class
87+
### ``Data`` Class
11788

11889
```{eval-rst}
119-
.. autoclass:: pymcnp.inp.DataBuilder
90+
.. autoclass:: pymcnp.inp.Data
12091
:members:
92+
:inherited-members:
12193
```
12294

12395
[data subpackage](inp/data)

0 commit comments

Comments
 (0)