Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FY24 documentation improvements (part 1) #142

Merged
merged 55 commits into from
Jun 14, 2024
Merged

FY24 documentation improvements (part 1) #142

merged 55 commits into from
Jun 14, 2024

Conversation

hugary1995
Copy link
Collaborator

Annual documentation season...

This is the first PR to document changes made in FY24

  • Added a syntax executable under the doc folder to help extract all the syntax
  • Change doxygen and doxygen-awesome-css from git submodules to cmake FetchContent
  • Update doxygen and doxygen-awesome-css to their latest versions
  • Reorganize documentation content to split user-facing and developer-facing content
  • Update the installation guide
  • Update the developer guide to reflect FY24 changes
  • Improve syntax documentation: extract class documentation, list objects by section, etc.

A follow on PR will add the user guide.

@hugary1995 hugary1995 requested a review from reverendbedford May 2, 2024 22:27
Copy link
Contributor

github-actions bot commented May 2, 2024

Python Binding Test Results (ubuntu-latest)

63 tests  ±0   39 ✅ ±0   2s ⏱️ ±0s
 1 suites ±0   24 💤 ±0 
 1 files   ±0    0 ❌ ±0 

Results for commit 27dd988. ± Comparison against base commit 2c12c8c.

This pull request removes 63 and adds 63 tests. Note that renamed tests count towards both.
tests.python.base.test_HITParser ‑ test_parse
tests.python.models.test_Model ‑ test_get_model
tests.python.models.test_Model ‑ test_input_axis
tests.python.models.test_Model ‑ test_output_axis
tests.python.models.test_Model ‑ test_value
tests.python.models.test_Model ‑ test_value_and_dvalue
tests.python.models.test_ParameterStore ‑ test_named_parameters
tests.python.models.test_ParameterStore ‑ test_parameter_derivative
tests.python.tensors.test_BatchTensor ‑ test_named_ctors[torch.float64-cpu-no grad]
tests.python.tensors.test_BatchTensor ‑ test_named_ctors[torch.float64-cuda:0-no grad]
…
python.tests.base.test_HITParser ‑ test_parse
python.tests.models.test_Model ‑ test_get_model
python.tests.models.test_Model ‑ test_input_axis
python.tests.models.test_Model ‑ test_output_axis
python.tests.models.test_Model ‑ test_value
python.tests.models.test_Model ‑ test_value_and_dvalue
python.tests.models.test_ParameterStore ‑ test_named_parameters
python.tests.models.test_ParameterStore ‑ test_parameter_derivative
python.tests.tensors.test_BatchTensor ‑ test_named_ctors[torch.float64-cpu-no grad]
python.tests.tensors.test_BatchTensor ‑ test_named_ctors[torch.float64-cuda:0-no grad]
…
This pull request removes 24 skipped tests and adds 24 skipped tests. Note that renamed tests count towards both.
tests.python.tensors.test_BatchTensor ‑ test_named_ctors[torch.float64-cuda:0-no grad]
tests.python.tensors.test_BatchTensor ‑ test_views[torch.float64-cuda:0-no grad]
tests.python.tensors.test_BatchTensorBase ‑ test_base_view[A-torch.float64-cuda:0-no grad]
tests.python.tensors.test_BatchTensorBase ‑ test_base_view[B-torch.float64-cuda:0-no grad]
tests.python.tensors.test_BatchTensorBase ‑ test_base_view[C-torch.float64-cuda:0-no grad]
tests.python.tensors.test_BatchTensorBase ‑ test_basic[A-torch.float64-cuda:0-no grad]
tests.python.tensors.test_BatchTensorBase ‑ test_basic[B-torch.float64-cuda:0-no grad]
tests.python.tensors.test_BatchTensorBase ‑ test_basic[C-torch.float64-cuda:0-no grad]
tests.python.tensors.test_BatchTensorBase ‑ test_batch_view[A-torch.float64-cuda:0-no grad]
tests.python.tensors.test_BatchTensorBase ‑ test_batch_view[B-torch.float64-cuda:0-no grad]
…
python.tests.tensors.test_BatchTensor ‑ test_named_ctors[torch.float64-cuda:0-no grad]
python.tests.tensors.test_BatchTensor ‑ test_views[torch.float64-cuda:0-no grad]
python.tests.tensors.test_BatchTensorBase ‑ test_base_view[A-torch.float64-cuda:0-no grad]
python.tests.tensors.test_BatchTensorBase ‑ test_base_view[B-torch.float64-cuda:0-no grad]
python.tests.tensors.test_BatchTensorBase ‑ test_base_view[C-torch.float64-cuda:0-no grad]
python.tests.tensors.test_BatchTensorBase ‑ test_basic[A-torch.float64-cuda:0-no grad]
python.tests.tensors.test_BatchTensorBase ‑ test_basic[B-torch.float64-cuda:0-no grad]
python.tests.tensors.test_BatchTensorBase ‑ test_basic[C-torch.float64-cuda:0-no grad]
python.tests.tensors.test_BatchTensorBase ‑ test_batch_view[A-torch.float64-cuda:0-no grad]
python.tests.tensors.test_BatchTensorBase ‑ test_batch_view[B-torch.float64-cuda:0-no grad]
…

♻️ This comment has been updated with latest results.

Copy link
Contributor

github-actions bot commented May 2, 2024

Test Results (macos-12-Debug-ON)

    3 files  ±0      3 suites  ±0   1m 33s ⏱️ +5s
  474 tests  - 1    474 ✅  - 1  0 💤 ±0  0 ❌ ±0 
3 051 runs   - 3  3 051 ✅  - 3  0 💤 ±0  0 ❌ ±0 

Results for commit 27dd988. ± Comparison against base commit 2c12c8c.

This pull request removes 1 test.
unit_tests.global ‑ Fill3DVec

♻️ This comment has been updated with latest results.

Copy link
Contributor

github-actions bot commented May 2, 2024

Python Binding Test Results (macos-12)

63 tests  ±0   39 ✅ ±0   2s ⏱️ -48s
 1 suites ±0   24 💤 ±0 
 1 files   ±0    0 ❌ ±0 

Results for commit 27dd988. ± Comparison against base commit 2c12c8c.

This pull request removes 63 and adds 63 tests. Note that renamed tests count towards both.
tests.python.base.test_HITParser ‑ test_parse
tests.python.models.test_Model ‑ test_get_model
tests.python.models.test_Model ‑ test_input_axis
tests.python.models.test_Model ‑ test_output_axis
tests.python.models.test_Model ‑ test_value
tests.python.models.test_Model ‑ test_value_and_dvalue
tests.python.models.test_ParameterStore ‑ test_named_parameters
tests.python.models.test_ParameterStore ‑ test_parameter_derivative
tests.python.tensors.test_BatchTensor ‑ test_named_ctors[torch.float64-cpu-no grad]
tests.python.tensors.test_BatchTensor ‑ test_named_ctors[torch.float64-cuda:0-no grad]
…
python.tests.base.test_HITParser ‑ test_parse
python.tests.models.test_Model ‑ test_get_model
python.tests.models.test_Model ‑ test_input_axis
python.tests.models.test_Model ‑ test_output_axis
python.tests.models.test_Model ‑ test_value
python.tests.models.test_Model ‑ test_value_and_dvalue
python.tests.models.test_ParameterStore ‑ test_named_parameters
python.tests.models.test_ParameterStore ‑ test_parameter_derivative
python.tests.tensors.test_BatchTensor ‑ test_named_ctors[torch.float64-cpu-no grad]
python.tests.tensors.test_BatchTensor ‑ test_named_ctors[torch.float64-cuda:0-no grad]
…
This pull request removes 24 skipped tests and adds 24 skipped tests. Note that renamed tests count towards both.
tests.python.tensors.test_BatchTensor ‑ test_named_ctors[torch.float64-cuda:0-no grad]
tests.python.tensors.test_BatchTensor ‑ test_views[torch.float64-cuda:0-no grad]
tests.python.tensors.test_BatchTensorBase ‑ test_base_view[A-torch.float64-cuda:0-no grad]
tests.python.tensors.test_BatchTensorBase ‑ test_base_view[B-torch.float64-cuda:0-no grad]
tests.python.tensors.test_BatchTensorBase ‑ test_base_view[C-torch.float64-cuda:0-no grad]
tests.python.tensors.test_BatchTensorBase ‑ test_basic[A-torch.float64-cuda:0-no grad]
tests.python.tensors.test_BatchTensorBase ‑ test_basic[B-torch.float64-cuda:0-no grad]
tests.python.tensors.test_BatchTensorBase ‑ test_basic[C-torch.float64-cuda:0-no grad]
tests.python.tensors.test_BatchTensorBase ‑ test_batch_view[A-torch.float64-cuda:0-no grad]
tests.python.tensors.test_BatchTensorBase ‑ test_batch_view[B-torch.float64-cuda:0-no grad]
…
python.tests.tensors.test_BatchTensor ‑ test_named_ctors[torch.float64-cuda:0-no grad]
python.tests.tensors.test_BatchTensor ‑ test_views[torch.float64-cuda:0-no grad]
python.tests.tensors.test_BatchTensorBase ‑ test_base_view[A-torch.float64-cuda:0-no grad]
python.tests.tensors.test_BatchTensorBase ‑ test_base_view[B-torch.float64-cuda:0-no grad]
python.tests.tensors.test_BatchTensorBase ‑ test_base_view[C-torch.float64-cuda:0-no grad]
python.tests.tensors.test_BatchTensorBase ‑ test_basic[A-torch.float64-cuda:0-no grad]
python.tests.tensors.test_BatchTensorBase ‑ test_basic[B-torch.float64-cuda:0-no grad]
python.tests.tensors.test_BatchTensorBase ‑ test_basic[C-torch.float64-cuda:0-no grad]
python.tests.tensors.test_BatchTensorBase ‑ test_batch_view[A-torch.float64-cuda:0-no grad]
python.tests.tensors.test_BatchTensorBase ‑ test_batch_view[B-torch.float64-cuda:0-no grad]
…

♻️ This comment has been updated with latest results.

Copy link
Contributor

github-actions bot commented May 2, 2024

Test Results (ubuntu-latest-Debug-ON)

    3 files  ±0      3 suites  ±0   1m 23s ⏱️ -13s
  474 tests  - 1    474 ✅  - 1  0 💤 ±0  0 ❌ ±0 
3 051 runs   - 3  3 051 ✅  - 3  0 💤 ±0  0 ❌ ±0 

Results for commit 27dd988. ± Comparison against base commit 2c12c8c.

This pull request removes 1 test.
unit_tests.global ‑ Fill3DVec

♻️ This comment has been updated with latest results.

Copy link
Contributor

github-actions bot commented May 2, 2024

Test Results (ubuntu-latest-Release-ON)

    3 files  ±0      3 suites  ±0   34s ⏱️ -1s
  474 tests  - 1    474 ✅  - 1  0 💤 ±0  0 ❌ ±0 
3 049 runs   - 3  3 049 ✅  - 3  0 💤 ±0  0 ❌ ±0 

Results for commit 27dd988. ± Comparison against base commit 2c12c8c.

This pull request removes 1 test.
unit_tests.global ‑ Fill3DVec

♻️ This comment has been updated with latest results.

Copy link
Contributor

github-actions bot commented May 2, 2024

Test Results (macos-12-Release-ON)

    3 files  ±0      3 suites  ±0   50s ⏱️ -37s
  474 tests  - 1    474 ✅  - 1  0 💤 ±0  0 ❌ ±0 
3 049 runs   - 3  3 049 ✅  - 3  0 💤 ±0  0 ❌ ±0 

Results for commit 27dd988. ± Comparison against base commit 2c12c8c.

This pull request removes 1 test.
unit_tests.global ‑ Fill3DVec

♻️ This comment has been updated with latest results.

Copy link
Contributor

github-actions bot commented May 2, 2024

Test Results (macos-12-Debug-OFF)

    3 files  ±0      3 suites  ±0   1m 27s ⏱️ - 1m 4s
  474 tests  - 1    474 ✅  - 1  0 💤 ±0  0 ❌ ±0 
3 051 runs   - 3  3 051 ✅  - 3  0 💤 ±0  0 ❌ ±0 

Results for commit 27dd988. ± Comparison against base commit 2c12c8c.

This pull request removes 1 test.
unit_tests.global ‑ Fill3DVec

♻️ This comment has been updated with latest results.

Copy link
Contributor

github-actions bot commented May 2, 2024

Test Results (ubuntu-latest-Release-OFF)

    3 files  ±0      3 suites  ±0   35s ⏱️ -1s
  474 tests  - 1    474 ✅  - 1  0 💤 ±0  0 ❌ ±0 
3 049 runs   - 3  3 049 ✅  - 3  0 💤 ±0  0 ❌ ±0 

Results for commit 27dd988. ± Comparison against base commit 2c12c8c.

This pull request removes 1 test.
unit_tests.global ‑ Fill3DVec

♻️ This comment has been updated with latest results.

Copy link
Contributor

github-actions bot commented May 2, 2024

Test Results (ubuntu-latest-Debug-OFF)

    3 files  ±0      3 suites  ±0   1m 22s ⏱️ -14s
  474 tests  - 1    474 ✅  - 1  0 💤 ±0  0 ❌ ±0 
3 051 runs   - 3  3 051 ✅  - 3  0 💤 ±0  0 ❌ ±0 

Results for commit 27dd988. ± Comparison against base commit 2c12c8c.

This pull request removes 1 test.
unit_tests.global ‑ Fill3DVec

♻️ This comment has been updated with latest results.

Copy link
Contributor

github-actions bot commented May 2, 2024

Test Results (macos-12-Release-OFF)

    3 files  ±0      3 suites  ±0   49s ⏱️ +3s
  474 tests  - 1    474 ✅  - 1  0 💤 ±0  0 ❌ ±0 
3 049 runs   - 3  3 049 ✅  - 3  0 💤 ±0  0 ❌ ±0 

Results for commit 27dd988. ± Comparison against base commit 2c12c8c.

This pull request removes 1 test.
unit_tests.global ‑ Fill3DVec

♻️ This comment has been updated with latest results.

@hugary1995
Copy link
Collaborator Author

Note that this PR gets rid of all submodules. Now this relies on CMake's FetchContent to pull dependencies on-demand. I am now a huge fan of CMake's FetchContent idea, and I think its development has become mature especially now that we require a recent CMake.

Copy link
Contributor

github-actions bot commented May 7, 2024

PR Preview Action v1.4.7
Preview removed because the pull request was closed.
2024-06-14 01:15 UTC

Copy link
Collaborator

@reverendbedford reverendbedford left a comment

Choose a reason for hiding this comment

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

For you

  • Add some additional documentation on the use of the python bindings.
  • Make some moderate effort to expand the object docstring and input documentation. Doesn't have to be fully comprehensive, but if we don't work on that now it's never going to happen.

For me

  • Crystal plasticity docs.

After this

  • Issue a new major release (b/c of python changes)
  • Update copyright year when we do that.

README.md Outdated Show resolved Hide resolved
doc/content/install.md Outdated Show resolved Hide resolved
doc/content/install.md Outdated Show resolved Hide resolved
doc/content/getting_started.md Outdated Show resolved Hide resolved
doc/content/physics/solid_mechanics.md Outdated Show resolved Hide resolved
@reverendbedford
Copy link
Collaborator

reverendbedford commented Jun 13, 2024

Missing syntax

Nothing, good job! 💜

Copy link
Collaborator Author

@hugary1995 hugary1995 left a comment

Choose a reason for hiding this comment

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

LGTM. Unfortunately, docstring of individual options cannot render latex. I'll found two occurrences which I'll fix by either removing the formula or relocate them into the object summary doc.

src/neml2/models/crystallography/CubicCrystal.cxx Outdated Show resolved Hide resolved
@hugary1995
Copy link
Collaborator Author

The option docstring formula rendering issue is documented in issue #146. I'll merge when tests pass.

@reverendbedford
Copy link
Collaborator

Coverage after merging doc into main will be

88.00%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
include/neml2/base
   CrossRef.h38.04%100%38.27%36.36%102, 104–105, 76, 94, 96–97
   DependencyResolver.h86.13%100%88.24%85.83%219, 221–222, 226, 229–231, 264, 291, 303, 313–314, 344, 346–347, 349–350
   Factory.h39%100%24.69%100%
   NEML2Object.h50%100%22.22%72.73%50, 63, 66
   OptionCollection.h0%100%0%0%40, 49
   OptionSet.h39.28%100%35.85%68.18%128, 131, 134, 140, 146, 61, 66, 79, 81, 85, 89, 91, 93, 95
   Registry.h81.40%100%81.16%100%
   Storage.h56.10%100%39.13%77.78%147–148, 150, 177
include/neml2/drivers
   Driver.h0%100%0%0%56
   TransientDriver.h85.71%100%100%75%149
include/neml2/misc
   error.h32.80%100%30.86%63.64%37–38, 40, 94, 96–99
   math.h100%100%100%100%
   parser_utils.h56.07%100%46.34%88%37–38, 40
   utils.h56.40%100%47.30%77.78%173, 239, 241–246, 267, 302, 304–307
include/neml2/models
   BufferStore.h34.43%100%18.92%58.33%113, 115, 117–121, 133, 147, 151
   ComposedModel.h100%100%100%100%
   Data.h100%100%100%100%
   Interpolation.h69.81%100%55.56%100%
   LinearInterpolation.h20%100%8.57%100%
   Model.h85.19%100%75%89.47%116, 75
   NonlinearParameter.h10.53%100%5.56%100%
   ParameterStore.h21.43%100%5.41%52.63%132, 134, 136–140, 148, 152
   VariableStore.h61.07%100%52.41%89.47%236, 238–239, 260, 91, 97
include/neml2/models/crystallography
   CrystalGeometry.h0%100%0%0%90, 92
   MillerIndex.h100%100%100%100%
   crystallography.h100%100%100%100%
include/neml2/solvers
   Newton.h100%100%100%100%
   NonlinearSystem.h66.67%100%66.67%66.67%66
include/neml2/tensors
   BatchTensorBase.h58.59%100%43.88%93.22%212, 214, 256, 258
   FixedDimTensor.h26.44%100%19.32%65.63%152, 156, 168, 171, 176, 178, 183, 188, 66, 89, 91
   LabeledAxis.h0%100%0%0%142, 67, 72, 74–75, 77
   LabeledAxisAccessor.h72.97%100%65.22%85.71%46, 77
   LabeledTensor.h56.04%100%46.88%77.78%108, 112, 127, 176, 178–179
   Scalar.h44%100%34.55%70%82, 84–88
   TensorValue.h14%100%10.87%50%39, 63, 65, 75
   Transformable.h0%100%0%0%44
   Variable.h39.58%100%30.47%82%101, 107, 43–47, 49, 51
   VecBase.h80.95%100%50%100%
src/neml2/base
   CrossRef.cxx83.87%100%75%100%
   Factory.cxx100%100%100%100%
   HITParser.cxx100%100%100%100%
   NEML2Object.cxx91.67%100%100%90%35
   OptionCollection.cxx100%100%100%100%
   OptionSet.cxx83.72%100%81.82%84.38%135, 137, 147, 149, 35
   Parser.cxx66.67%100%100%64.29%39–42, 54
   Registry.cxx75%100%66.67%76.92%38, 40–41, 56, 58–59
src/neml2/drivers
   Driver.cxx91.67%100%100%90%39
   TransientDriver.cxx86.60%100%100%85.39%142, 239–240, 245–247, 250–251, 255–259, 261–266, 269, 274–278, 99
src/neml2/drivers/solid_mechanics
   LargeDeformationIncrementalSolidMechanicsDriver.cxx32.39%100%25%32.84%100–102, 104–105, 109, 111, 113, 117, 119, 121, 125, 127–128, 130–131, 133–134, 137, 139–143, 63, 65–66, 68–74, 76, 78–79, 81, 83–84, 91–92, 94–95, 98
   SolidMechanicsDriver.cxx82.67%100%100%81.69%122, 124–125, 128, 130, 132, 135, 137, 151–153, 61, 91
src/neml2/misc
   error.cxx100%100%100%100%
   math.cxx99.44%100%100%99.33%252
   parser_utils.cxx98.46%100%100%98.18%73
   types.cxx100%100%100%100%
   utils.cxx89.47%100%100%86.67%44, 52
src/neml2/models
   ArrheniusParameter.cxx97.14%100%100%96.88%53
   BackwardEulerTimeIntegration.cxx94.12%100%77.78%97.62%56
   BufferStore.cxx33.33%100%33.33%33.33%36, 38, 40, 44, 46, 48–50
   ComposedModel.cxx94.87%100%100%94.50%117, 119, 163, 56, 69, 75
   CopyVariable.cxx35.62%100%33.33%42.11%46, 49, 51–52, 54, 58, 60–61, 63–64, 70
   Data.cxx90%100%100%87.50%35
   ForceRate.cxx98%100%100%97.73%49
   ForwardEulerTimeIntegration.cxx97.67%100%100%97.30%51
   ImplicitUpdate.cxx98.39%100%100%98.28%47
   LinearInterpolation.cxx61.18%100%40.74%96.77%42
   Model.cxx91.25%100%94.44%90.80%141–144, 177–179, 286, 288–291, 297, 422, 424–426, 428–429, 51, 79–80, 88, 96
   NonlinearParameter.cxx61.90%100%55.56%100%
   ParameterStore.cxx48.08%100%22.73%66.67%101, 47, 49, 51–53, 66, 93, 95–96
   RotationMatrix.cxx95.83%100%100%95.24%45
   SR2Invariant.cxx96.49%100%100%96.30%112, 48
   StateRate.cxx94%100%66.67%97.73%49
   SumModel.cxx86.96%100%100%85%75–76, 79, 81–83
   VariableStore.cxx94.25%100%91.67%94.67%165–166, 63, 65
   WR2ExplicitExponentialTimeIntegration.cxx97.37%100%100%97.14%47
   WR2ImplicitExponentialTimeIntegration.cxx97.56%100%100%97.37%54
src/neml2/models/crystallography
   CrystalGeometry.cxx98.46%100%100%98.25%198, 61
   CubicCrystal.cxx93.75%100%100%92.86%51
   MillerIndex.cxx100%100%100%100%
   crystallography.cxx98.28%100%100%98.08%142
src/neml2/models/crystallography/user_tensors
   FillMillerIndex.cxx94.44%100%100%93.33%44
   SymmetryFromOrbifold.cxx93.33%100%100%92.31%47
src/neml2/models/solid_mechanics
   AssociativeIsotropicPlasticHardening.cxx96.97%100%100%96.67%51
   AssociativeKinematicPlasticHardening.cxx97.06%100%100%96.77%53
   AssociativePlasticFlow.cxx96.67%100%100%96.30%50
   ChabochePlasticHardening.cxx97.83%100%100%97.67%65
   Eigenstrain.cxx90.91%100%100%88.89%38
   ElasticStrain.cxx97.14%100%100%96.88%53
   Elasticity.cxx96%100%100%95.65%52
   FlowRule.cxx92.31%100%100%90.91%40
   GTNYieldFunction.cxx57.14%100%100%56.42%113–114, 117, 120, 123, 168, 188–191, 194, 197–200, 217, 220, 223, 226, 253–257, 260, 263–266,

@hugary1995 hugary1995 merged commit 1692e8b into main Jun 14, 2024
34 checks passed
@hugary1995 hugary1995 deleted the doc branch June 14, 2024 01:07
hugary1995 added a commit that referenced this pull request Jun 14, 2024
- Remove the page tag in README.md
- Detect formula in option description

ref #146
reverendbedford pushed a commit that referenced this pull request Jun 14, 2024
* Minor patch for #142

- Remove the page tag in README.md
- Detect formula in option description
- Use full syntax path in the syntax error message
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants