Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
285 changes: 285 additions & 0 deletions .clang-uml
Original file line number Diff line number Diff line change
@@ -0,0 +1,285 @@
compilation_database_dir: build
output_directory: docs/diagrams/puml
diagrams:
timeintegration:
type: class
generate_method_arguments: full
generate_packages: false
glob:
- core/**/*.cpp
- physics/**/*.cpp
relative_to: src
package_type: directory
include:
paths:
- core
- physics
elements:
- RKmethod
- ButcherTableau
- DynamicEquation
- RungeKuttaStepper
- "RungeKuttaStepper##RungeKuttaStageExecutor"
- Stepper
- TimeSolver
- Relaxer
exclude:
namespaces:
- std
plantuml:
before:
- '!theme vibrant'
- 'left to right direction'
- 'package Legend {'
- ' class Class'
- ' abstract class Abstract'
- ' enum Enum'
- ' class Visibility {'
- ' +public field'
- ' +public method()'
- ' -private field'
- ' -private method()'
- ' #protected field'
- ' }'
- ' Class -[hidden]-> Extension'
- ' Abstract -[hidden]-> Extension'
- ' Enum -[hidden]-> Extension'
- ' Visibility <|-- Extension : Extension'
- ' Visibility o-- Aggregation : Aggregation'
- ' Visibility +.. Nested : Nested'
- ' Visibility --> Dependency : Dependency'
- ' Visibility ..> WeakDependency : Weak dependency'
- '}'

magnetics:
type: class
generate_method_arguments: full
generate_packages: false
glob:
- core/**/*.cpp
- physics/**/*.cpp
relative_to: src
package_type: directory
include:
paths:
- core
- physics
elements:
- Altermagnet
- Antiferromagnet
- DmiTensor
- CuDmiTensor
- Ferromagnet
- HostMagnet
- Magnet
- Minimizer
- MumaxWorld
- NcAfm
- BoundaryTraction
- CuBoundaryTraction
exclude:
namespaces:
- std
plantuml:
before:
- '!theme vibrant'
- 'left to right direction'
- 'package Legend {'
- ' class Class'
- ' class Visibility {'
- ' +public field'
- ' +public method()'
- ' -private field'
- ' -private method()'
- ' }'
- ' Class -[hidden]-> Extension'
- ' Visibility <|-- Extension : Extension'
- ' Visibility o-- Aggregation : Aggregation'
- ' Visibility --> Dependency : Dependency'
- ' Visibility ..> WeakDependency : Weak dependency'
- '}'

quantities:
type: class
generate_method_arguments: full
generate_packages: false
glob:
- core/**/*.cpp
- physics/**/*.cpp
relative_to: src
package_type: directory
include:
paths:
- core
- physics
elements:
- "DynamicParameter<T>"
- Field
- CuField
- FieldQuantity
- InterParameter
- Parameter
- CuParameter
- VectorParameter
- CuVectorParameter
- ScalarQuantity
- Variable
- NormalizedVariable
- "ScalarQuantityEvaluator<T>"
- "FieldQuantityEvaluator<T>"
exclude:
namespaces:
- std
plantuml:
before:
- '!theme vibrant'
- 'left to right direction'
- 'package Legend {'
- ' class Class'
- ' abstract class Abstract'
- ' class Template <T>'
- ' class Visibility {'
- ' +public method()'
- ' -private field'
- ' -private method()'
- ' #protected field'
- ' #protected method()'
- ' }'
- ' Class -[hidden]-> Extension'
- ' Abstract -[hidden]-> Extension'
- ' Template -[hidden]-> Extension'
- ' Visibility <|-- Extension : Extension'
- ' Visibility o-- Aggregation : Aggregation'
- ' Visibility --> Dependency : Dependency'
- ' Visibility ..> WeakDependency : Weak dependency'
- '}'

strayfield:
type: class
generate_method_arguments: full
generate_packages: false
glob:
- physics/**/*.cpp
relative_to: src
package_type: directory
include:
paths:
- core
- physics
elements:
- StrayFieldExecutor
- StrayField
- StrayFieldBruteExecutor
- StrayFieldFFTExecutor
- StrayFieldKernel
exclude:
namespaces:
- std
plantuml:
before:
- '!theme vibrant'
- 'left to right direction'
- 'package Legend {'
- ' class Class'
- ' abstract class Abstract'
- ' class Visibility {'
- ' +public method()'
- ' -private field'
- ' #protected field'
- ' #protected method()'
- ' }'
- ' Class -[hidden]-> Extension'
- ' Abstract -[hidden]-> Extension'
- ' Visibility <|-- Extension : Extension'
- ' Visibility o-- Aggregation : Aggregation'
- '}'

domain:
type: class
generate_method_arguments: full
generate_packages: false
glob:
- core/**/*.cpp
- physics/**/*.cpp
relative_to: src
package_type: directory
include:
paths:
- core
- physics
elements:
- Grid
- System
- CuSystem
- World
exclude:
namespaces:
- std
plantuml:
before:
- '!theme vibrant'
- 'left to right direction'
- 'package Legend {'
- ' class Class'
- ' class Visibility {'
- ' +public method()'
- ' -private field'
- ' #protected field'
- ' }'
- ' Class -[hidden]-> Dependency'
- ' Visibility o-- Aggregation : Aggregation'
- ' Visibility --> Dependency : Dependency'
- '}'

utilities:
type: class
generate_method_arguments: full
generate_packages: false
glob:
- core/**/*.cpp
- physics/**/*.cpp
- linsolver/**/*.cpp
- bindings/wrap_mfm.cpp
relative_to: src
package_type: directory
include:
paths:
- core
- physics
- linsolver
elements:
- VoronoiTessellator
- Center
- Tile
- Int3Hash
- MFM
- PoissonSystem
- LinSolver
- "LinSolver##Stepper"
- LinearSystem
- "LinearSystem##CuData"
exclude:
namespaces:
- std
plantuml:
before:
- '!theme vibrant'
- 'left to right direction'
- 'package Legend {'
- ' class Class'
- ' abstract class Abstract'
- ' class Visibility {'
- ' +public field'
- ' +public method()'
- ' -private field'
- ' -private method()'
- ' #protected method()'
- ' }'
- ' Class -[hidden]-> WeakDependency'
- ' Abstract -[hidden]-> WeakDependency'
- ' Visibility o-- Aggregation : Aggregation'
- ' Visibility +.. Nested : Nested'
- ' Visibility --> Dependency : Dependency'
- ' Visibility ..> WeakDependency : Weak dependency'
- '}'

1 change: 1 addition & 0 deletions .gitignore
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just checking, these are generated files, but are themselves not needed by the website?

Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ cu*_*.dll
docs/_build/*
!docs/_build/html/
!docs/_build/html/**
docs/diagrams/puml
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ It follows the [NumPy style guide](https://numpydoc.readthedocs.io/en/latest/for
make html
```

The documentation can then be found at `docs/_build/html/index.html`.
The documentation can then be found at `docs/_build/html/index.html`. However, to generate the class diagrams you should be on a Linux device and first install [clang-uml](https://github.com/bkryza/clang-uml/tree/master) otherwise they will not be generated.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not Windows?


## Examples

Expand Down
Loading