Open hugary1995 opened 3 months ago
PR Preview Action v1.4.7
:---:
:rocket: Deployed preview to https://reverendbedford.github.io/neml2/pr-preview/pr-152/
on branch gh-pages
at 2024-06-23 02:25 UTC
No syntax error, good job! :purple_heart:
63 tests ±0 39 :white_check_mark: ±0 2s :stopwatch: -1s 1 suites ±0 24 :zzz: ±0 1 files ±0 0 :x: ±0
Results for commit 84a866ab. ± Comparison against base commit 067f935a.
:recycle: This comment has been updated with latest results.
3 files ± 0 3 suites ±0 1m 4s :stopwatch: -3s 495 tests + 5 495 :white_check_mark: + 5 0 :zzz: ±0 0 :x: ±0 3 079 runs +14 3 079 :white_check_mark: +14 0 :zzz: ±0 0 :x: ±0
Results for commit 84a866ab. ± Comparison against base commit 067f935a.
3 files ± 0 3 suites ±0 2m 34s :stopwatch: +18s 495 tests + 5 495 :white_check_mark: + 5 0 :zzz: ±0 0 :x: ±0 3 081 runs +14 3 081 :white_check_mark: +14 0 :zzz: ±0 0 :x: ±0
Results for commit 84a866ab. ± Comparison against base commit 067f935a.
3 files ± 0 3 suites ±0 52s :stopwatch: -1s 495 tests + 5 495 :white_check_mark: + 5 0 :zzz: ±0 0 :x: ±0 3 079 runs +14 3 079 :white_check_mark: +14 0 :zzz: ±0 0 :x: ±0
Results for commit 84a866ab. ± Comparison against base commit 067f935a.
3 files ± 0 3 suites ±0 2m 1s :stopwatch: -6s 495 tests + 5 495 :white_check_mark: + 5 0 :zzz: ±0 0 :x: ±0 3 081 runs +14 3 081 :white_check_mark: +14 0 :zzz: ±0 0 :x: ±0
Results for commit 84a866ab. ± Comparison against base commit 067f935a.
63 tests ±0 39 :white_check_mark: ±0 2s :stopwatch: ±0s 1 suites ±0 24 :zzz: ±0 1 files ±0 0 :x: ±0
Results for commit 84a866ab. ± Comparison against base commit 067f935a.
3 files ± 0 3 suites ±0 1m 10s :stopwatch: -17s 495 tests + 5 495 :white_check_mark: + 5 0 :zzz: ±0 0 :x: ±0 3 079 runs +14 3 079 :white_check_mark: +14 0 :zzz: ±0 0 :x: ±0
Results for commit 84a866ab. ± Comparison against base commit 067f935a.
3 files ± 0 3 suites ±0 2m 20s :stopwatch: +3s 495 tests + 5 495 :white_check_mark: + 5 0 :zzz: ±0 0 :x: ±0 3 081 runs +14 3 081 :white_check_mark: +14 0 :zzz: ±0 0 :x: ±0
Results for commit 84a866ab. ± Comparison against base commit 067f935a.
3 files ± 0 3 suites ±0 51s :stopwatch: ±0s 495 tests + 5 495 :white_check_mark: + 5 0 :zzz: ±0 0 :x: ±0 3 079 runs +14 3 079 :white_check_mark: +14 0 :zzz: ±0 0 :x: ±0
Results for commit 84a866ab. ± Comparison against base commit 067f935a.
3 files ± 0 3 suites ±0 2m 4s :stopwatch: ±0s 495 tests + 5 495 :white_check_mark: + 5 0 :zzz: ±0 0 :x: ±0 3 081 runs +14 3 081 :white_check_mark: +14 0 :zzz: ±0 0 :x: ±0
Results for commit 84a866ab. ± Comparison against base commit 067f935a.
Coverage after merging csv_reader into main will be
86.91% |
---|
File | Stmts | Branches | Funcs | Lines | Uncovered Lines |
---|---|---|---|---|---|
include/neml2/base | |||||
CrossRef.h | 34.21% | 100% | 31.37% | 58.33% | 105, 107–108, 72, 79 |
DependencyResolver.h | 86.13% | 100% | 88.24% | 85.83% | 219, 221–222, 226, 229–231, 264, 291, 303, 313–314, 344, 346–347, 349–350 |
Factory.h | 39.42% | 100% | 24.69% | 91.30% | 148, 156 |
NEML2Object.h | 45.45% | 100% | 20% | 66.67% | 50, 52, 63, 66 |
OptionCollection.h | 0% | 100% | 0% | 0% | 40, 49 |
OptionSet.h | 32.93% | 100% | 30.02% | 57.69% | 128, 134, 137, 143, 149, 214, 216–217, 379, 381–383, 385, 61, 66, 79, 81, 85, 89, 91, 93, 95 |
Registry.h | 80.04% | 100% | 79.81% | 100% | |
Sequence.h | 6.06% | 100% | 3.33% | 10.26% | 115, 118–119, 123–124, 126–130, 136–137, 141, 144–146, 148, 152, 156–157, 159, 162–165, 167–168, 171–172, 176, 178–179, 64, 80, 83 |
Storage.h | 56.10% | 100% | 39.13% | 77.78% | 147–148, 150, 177 |
include/neml2/drivers | |||||
Driver.h | 0% | 100% | 0% | 0% | 56 |
TransientDriver.h | 85.71% | 100% | 100% | 75% | 149 |
include/neml2/misc | |||||
error.h | 30.81% | 100% | 28.88% | 63.64% | 37–38, 40, 94, 96–99 |
math.h | 100% | 100% | 100% | 100% | |
parser_utils.h | 42.96% | 100% | 32.73% | 88% | 37–38, 40 |
utils.h | 56.40% | 100% | 47.30% | 77.78% | 173, 239, 241–246, 267, 302, 304–307 |
include/neml2/models | |||||
BufferStore.h | 34.43% | 100% | 18.92% | 58.33% | 113, 115, 117–121, 133, 147, 151 |
ComposedModel.h | 100% | 100% | 100% | 100% | |
Data.h | 100% | 100% | 100% | 100% | |
Interpolation.h | 69.81% | 100% | 55.56% | 100% | |
LinearInterpolation.h | 20% | 100% | 8.57% | 100% | |
Model.h | 85.19% | 100% | 75% | 89.47% | 116, 75 |
NonlinearParameter.h | 10.53% | 100% | 5.56% | 100% | |
ParameterStore.h | 21.43% | 100% | 5.41% | 52.63% | 132, 134, 136–140, 148, 152 |
VariableStore.h | 62.45% | 100% | 54.59% | 89.47% | 236, 238–239, 260, 91, 97 |
include/neml2/models/crystallography | |||||
CrystalGeometry.h | 0% | 100% | 0% | 0% | 90, 92 |
MillerIndex.h | 100% | 100% | 100% | 100% | |
crystallography.h | 100% | 100% | 100% | 100% | |
include/neml2/solvers | |||||
Newton.h | 100% | 100% | 100% | 100% | |
NonlinearSystem.h | 66.67% | 100% | 66.67% | 66.67% | 66 |
include/neml2/tensors | |||||
BatchTensorBase.h | 59.80% | 100% | 44.68% | 93.65% | 212, 214, 256, 258 |
FixedDimTensor.h | 26.44% | 100% | 19.32% | 65.63% | 152, 156, 168, 171, 176, 178, 183, 188, 66, 89, 91 |
LabeledAxis.h | 0% | 100% | 0% | 0% | 142, 67, 72, 74–75, 77 |
LabeledAxisAccessor.h | 72.50% | 100% | 65.38% | 85.71% | 46, 77 |
LabeledTensor.h | 56.04% | 100% | 46.88% | 77.78% | 108, 112, 127, 176, 178–179 |
Scalar.h | 44% | 100% | 34.55% | 70% | 82, 84–88 |
TensorValue.h | 14% | 100% | 10.87% | 50% | 39, 63, 65, 75 |
Transformable.h | 0% | 100% | 0% | 0% | 44 |
Variable.h | 40% | 100% | 31.06% | 82% | 101, 107, 43–47, 49, 51 |
VecBase.h | 80.95% | 100% | 50% | 100% | |
src/neml2/base | |||||
CrossRef.cxx | 83.87% | 100% | 75% | 100% | |
Factory.cxx | 100% | 100% | 100% | 100% | |
HITParser.cxx | 100% | 100% | 100% | 100% | |
NEML2Object.cxx | 91.67% | 100% | 100% | 90% | 35 |
OptionCollection.cxx | 100% | 100% | 100% | 100% | |
OptionSet.cxx | 97.67% | 100% | 100% | 96.88% | 35 |
Parser.cxx | 66.67% | 100% | 100% | 64.29% | 39–42, 54 |
Registry.cxx | 75% | 100% | 66.67% | 76.92% | 38, 40–41, 56, 58–59 |
src/neml2/drivers | |||||
Driver.cxx | 91.67% | 100% | 100% | 90% | 39 |
TransientDriver.cxx | 86.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.cxx | 32.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.cxx | 73.58% | 100% | 100% | 72.55% | 104, 106–107, 117, 148, 150–151, 154, 156, 158, 161, 163, 168–169, 171–173, 175, 177–178, 180, 194–196, 200–202, 77 |
src/neml2/misc | |||||
error.cxx | 100% | 100% | 100% | 100% | |
math.cxx | 99.44% | 100% | 100% | 99.33% | 252 |
parser_utils.cxx | 98.46% | 100% | 100% | 98.18% | 73 |
types.cxx | 100% | 100% | 100% | 100% | |
utils.cxx | 89.47% | 100% | 100% | 86.67% | 44, 52 |
src/neml2/models | |||||
ArrheniusParameter.cxx | 97.14% | 100% | 100% | 96.88% | 53 |
BackwardEulerTimeIntegration.cxx | 94.12% | 100% | 77.78% | 97.62% | 56 |
BufferStore.cxx | 33.33% | 100% | 33.33% | 33.33% | 36, 38, 40, 44, 46, 48–50 |
ComposedModel.cxx | 95.31% | 100% | 100% | 94.96% | 149, 151, 195, 56, 86, 92 |
ConstantParameter.cxx | 52.11% | 100% | 40.74% | 88.24% | 41, 59 |
CopyVariable.cxx | 35.62% | 100% | 33.33% | 42.11% | 46, 49, 51–52, 54, 58, 60–61, 63–64, 70 |
Data.cxx | 90% | 100% | 100% | 87.50% | 35 |
ForceRate.cxx | 98% | 100% | 100% | 97.73% | 49 |
ForwardEulerTimeIntegration.cxx | 97.67% | 100% | 100% | 97.30% | 51 |
ImplicitUpdate.cxx | 98.39% | 100% | 100% | 98.28% | 47 |
LinearInterpolation.cxx | 61.18% | 100% | 40.74% | 96.77% | 42 |
Model.cxx | 91.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.cxx | 61.90% | 100% | 55.56% | 100% | |
ParameterStore.cxx | 48.08% | 100% | 22.73% | 66.67% | 101, 47, 49, 51–53, 66, 93, 95–96 |
RotationMatrix.cxx | 95.83% | 100% | 100% | 95.24% | 45 |
SR2Invariant.cxx | 97.14% | 100% | 100% | 97.01% | 131, 48 |
StateRate.cxx | 94% | 100% | 66.67% | 97.73% | 49 |
SumModel.cxx | 86.96% | 100% | 100% | 85% | 75–76, 79, 81–83 |
VariableStore.cxx | 94.25% | 100% | 91.67% | 94.67% | 165–166, 63, 65 |
WR2ExplicitExponentialTimeIntegration.cxx | 97.37% | 100% | 100% | 97.14% | 47 |
WR2ImplicitExponentialTimeIntegration.cxx | 97.56% | 100% | 100% | 97.37% | 54 |
src/neml2/models/crystallography | |||||
CrystalGeometry.cxx | 98.46% | 100% | 100% | 98.25% | 198, 61 |
CubicCrystal.cxx | 93.75% | 100% | 100% | 92.86% | 51 |
MillerIndex.cxx | 100% | 100% | 100% | 100% | |
crystallography.cxx | 98.28% | 100% | 100% | 98.08% | 142 |
src/neml2/models/crystallography/user_tensors | |||||
FillMillerIndex.cxx | 94.44% | 100% | 100% | 93.33% | 44 |
SymmetryFromOrbifold.cxx | 93.33% | 100% | 100% | 92.31% | 47 |
src/neml2/models/solid_mechanics | |||||
AssociativeIsotropicPlasticHardening.cxx | 96.97% | 100% | 100% | 96.67% | 51 |
AssociativeKinematicPlasticHardening.cxx | 97.06% | 100% | 100% | 96.77% | 53 |
hugary1995
commented
3 months ago
I just merged #151 so I'll have to rebase this one.
Mechanistically yes. Though right now I rely on the glob pattern |
This PR adds a header-only CSV reader from https://github.com/vincentlaucsb/csv-parser. I didn't include the library as a cmake subdirectory because it's folder hierarchy makes install very difficult. Since it is MIT license, I just copied the single header file into our contrib folder.
The primary entry point for CSV reader is
Sequence
. It is designed as a sequence reader to retrieve a single column from a CSV file. Design details are included in the class docstring. It's zero-effort for developers to opt-in to use a CSV to fill a vector by changingto
With the above code, users are able to specify the sequence in one of three ways:
foo = '1 2 3 4 5 6'
<-- equivalent to parsingstd::vector<Real>
foo = 'my.csv:key'
<-- we try to readmy.csv
and fill the vector with the CSV column with namekey
.foo = 'my.csv:[2]'
<-- we try to readmy.csv
and fill the vector with the CSV column with index2
.Other changes are just for expanding parser support and test coverage.
This is the (big) first step towards @sapitts 's request of defining irradiation eigenstrain using a CSV file.
close #154