-
Notifications
You must be signed in to change notification settings - Fork 106
Introduce source and target spaces for operator domains #1747
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
Open
keileg
wants to merge
209
commits into
develop
Choose a base branch
from
operators_have_domains
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+5,494
−1,691
Open
Changes from all commits
Commits
Show all changes
209 commits
Select commit
Hold shift + click to select a range
3e585c5
TST: Refactored Ad GridOperator tests.
keileg 2d1f816
FEAT: Domain check of Ad Operators
keileg 90605bb
MAINT: Ad scalars have empty domains
keileg 6838819
Stage 1: Convert GridEntity from type alias to str enum
keileg 59e3211
Stage 2: Add DomainType, OperatorSpace, and operator domain/range pro…
keileg 3eb0cda
Fix Stage 2 regressions in model tests
keileg 6677c43
Stage 3: assign domain/range to grid operators
keileg 63a4f34
Stage 4c: add optional dof_info to TimeDependentDenseArray
keileg cf506f8
Stage 4e: MergedOperator inherits operator_domain/range from discreti…
keileg 6b60ec2
Stage 5: validate operands and infer domain/range for arithmetic oper…
keileg ff91837
Stage 6: compound operator space tests and neg fixes
keileg 0b74032
Stage 7: concrete get_row/col_dof_info on standard discretizations
keileg cd8a0fd
Stage 7: implement get_row/col_dof_info for Tpsa
keileg f3286ed
tests: add high-priority coverage gaps for ad operator domains
keileg 185bc86
tests: add Variable-on-mortar and Divergence dim>1 coverage gaps
keileg 57a5cab
tests: add Tpsa MergedOperator integration and sum_operator_list spac…
keileg 95e1cd0
refactor: drop str inheritance from GridEntity, removing backwards co…
keileg a859d95
Stage B: Convert _domain_type from string literals to DomainType enum
keileg cbb0cbe
Fix string GridEntity key usages in tests after Stage A/B API changes
keileg 7fa7f68
refactor(test_operator_space): module-level imports, helper functions…
keileg 610e9b8
refactor(test_operator_space): parametrize arithmetic propagation tests
keileg 8164b40
refactor(test_operator_space): parametrize discretization dof_info tests
keileg fa9a8f6
Move infer_domain_range to Operations enum; drop legacy domains propa…
keileg 409b451
Rename range_ → range parameter throughout AD operators
keileg 4068a22
Remove _domains/_domain_type; make domain/range mandatory keyword arg…
keileg 1cc47c0
Remove Operator.subdomains and Operator.interfaces properties
keileg 2454024
Add tests for Scalar domain support
keileg 2477553
MAINT: Ad scalar operators have domains
keileg bec9396
REFACT: Move OperatorSpace and DomainType to separate module
keileg e0b7841
REFACT: Ad operations avoids use of private operator attributes
keileg 7e08324
DOC: Comments in Ad operations class
keileg 19ecdea
MAINT: Discretization row/col dof info raise for unknown matrix keys
keileg 5bb8d26
REFACT: Rename Discretization -> DiscretizationAd in ad hierarchy
keileg 9466653
FEAT: InterfaceDiscretizations have row/col info getters
keileg 7e4b341
MAINT: Implement row/col dof info getters for UpwindCoupling
keileg 2e71e7b
FEAT: Ad MergedOperators create row/col dof info for all discretizations
keileg 263903a
Require explicit Operator spaces
keileg 1fe7f40
Refresh AD operator-space tests
keileg b32adba
FEAT: AdFunctions must specify domain and range
keileg 853f592
FEAT: MixedDim Ad variables have domains and ranges
keileg f7afb35
TUT: Domain and range in tutorial pp.ad.Function
keileg 8698612
BUG: Ad Operators only need compatible ranges, not domains
keileg 51bbf7d
FEAT: Ad OperatorSpaces can be unclear
keileg 1a697b7
MAINT: Parameter check on OperatorSpaces
keileg 2f1d0e4
MAINT: Reworked OperatorSpace logic in Ad Operator construction
keileg 2fa685d
MAINT: Update constitutive laws to new OperatorSpace logic
keileg 8343dd0
MAINT: TimeDependentDenseArrays know their spacial dimension
keileg b67cf39
MAINT: Model boundary condition creation accounts for spatial dimension
keileg 215ea15
MAINT: Simplifications after OperatorSpace update
keileg 2faa0ef
MAINT: Ad MergedOperator keep track of its domains
keileg c971ef2
MAINT: Update tests after OperatorSpace change
keileg c11055a
BUG: FractureStress operator space mismatch of characteristic size
keileg e4ef219
MAINT: Remove domain and domains property from MdVariable
keileg 6bcf99f
MAINT: Remove _grid attribute from Variable class
keileg cb760bf
MAINT: Variables no longer has attributes _cells, _faces, _nodes
keileg 993ef5d
MAINT: Purge Ad Operator property domain_type
keileg 5e310fa
MAINT: Purge property domain from Variable class
keileg 351058b
MAINT: Make MdVariable helper method private
keileg 3f4968c
Rename AD operator spaces to source/target
keileg 20ade30
Refresh operator-space planning docs
keileg 1482c99
MAINT: Fixes after rebasing on develop
keileg e44d70b
MAINT: Updates after rebasing operator_domains on reference-states
keileg 947ab39
MAINT: Simplified syntax of operator space definitions
keileg cf4b504
STY: Simplification and docs of get row/col info for discretizations
keileg 612c21f
TST: Purge test of discretization row/col dof getters
keileg 1fbdc29
TST: Simplifications in test of operator spaces
keileg db2acd6
TST: Simplified OperatorSpace tests for ad grid operators
keileg 7c961cd
FEAT: Ad Wrapped dense arrays have domains and range
keileg b27cb71
MAINT: Ad discretizations take spatial dimension as arguments
keileg da23cbd
MAINT: OperatorSpaces domain type can be specified also for empty dom…
keileg bb41bec
MAINT: Updates to Operator parsing of OperatorSpace information
keileg 531b8d0
MAINT: Ad wrapping of arrays can specify which grid entity the targe…
keileg 48e0ef9
MAINT: Minor fix in OperatorSpace
keileg ae0a782
MAINT: Fix operator space in line search
keileg c018ecf
MAINT: Fix OperatorSpace for diff-tpfa
keileg ca9f7b5
MAINT: Remove assertion in Ad operator init
keileg 87bb929
MAINT: Ad wrapping of grid entities account for face and node arrays
keileg 8ccc49f
FEAT: OperatorSpaces have num_dof method
keileg b56f0c0
FEAT: Ad operator size check for sparse and dense arrays
keileg d04dea3
TST: Tests for Ad sparse and dense array shape checks
keileg 36c3b18
MAINT: Fix OperatorSpaces for Dense and Sparse AdArrays
keileg 05d3b12
MAINT: Fix operatorSpaces for md variables
keileg b9af022
MAINT: Fix OperatorSpaces for grid operators
keileg 7c68df2
MAINT: Updates to Ad operator space parsing
keileg 1ddb035
MAINT: Operator Spaces for summation of list of slicers
keileg 65c28ca
MAINT: OperatorSpaces for Projection Operators
keileg 03b44c1
FEAT: Model geometry basis methods use OperatorSpace
keileg 11fd7ad
TST: Bugfix in test of tpfa
keileg cf40e79
MAINT: Treatment of OperatorSpaces for Ad Interpolated and Diagonal O…
keileg b0a33fe
FEAT: OperatorSpace for SparseAdArray transpose
keileg 7595465
MAINT: OperatorSpace added in parsing step
keileg 1fb73b8
MAINT: Fixup of OperatorSpace for Ad functions
keileg 3ddee29
MAINT: OperatorSpace for DenseArray Ad operators
keileg 49da428
MAINT: Fix Operatorspace in line search
keileg aa98e50
MAINT: Add OperatorSpace in sneddon setup
keileg 1d86a92
TST: Update OperatorSpaces in tests
keileg 687c3c8
FEAT: Introduce waived OperatorSpaces to disable size compatibility c…
keileg d38b762
TST: Purge OperatorSpace tests that probes None spaces
keileg 38771f3
MAINT: Let diff-tpfa half-transmissibility matrices use waived Operat…
keileg 3c34218
TST: Reworked test for copying Ad operator trees
keileg 5b7ee7f
TST: Updates to test of AdOperator parsing
keileg 214300e
TST: Remove tests that targets Operators with source/target set to None
keileg b55c2bd
TST: TestOperators fixes related to OperatorSpaces
keileg 7933214
MAINT: TimeDependentDenseArrays must be able to infer their domain types
keileg f8705f1
FEAT: AdOperator construction requires source and target spaces
keileg bbc38e5
STY: Added type hints in tpsa
keileg 70372e1
STY: Ad Operators are typed as non-optional
keileg 2c663e9
MAINT: Deleted unused void GridEntity
keileg 0752a46
MAINT: Minor cleanup in OperatorSpace
keileg 8b7414b
MAINT: Make grid_entity module public
keileg e083c2b
MAINT: Simplification of OperatorSpace combination logic
keileg 802fc62
TST: Simplified test of grid_entity
keileg ef8afad
MAINT: Minor documentation and improvements relating to OperatorSpaces
keileg 9f8eb6e
MAINT: Operator mixins source and target are not optional
keileg 31b1dcb
TST: Delete operator space checks for individual discretizations
keileg 8b310f9
TST: Prune test_operator_spaces
keileg 6599a01
TST: Simplify OperatorSpcae test of compound spaces
keileg d8138c5
TST: Simplified test of OperatorSpcae domain/range propagation
keileg 193574d
MAINT: Parameter parsing in Ad MergedOperator
keileg 116cbf0
MAINT: Move Ad Operations class to separate module
keileg cc39797
TST: Operator wrapping on scalars in tests
keileg 1069e72
TST: Simplified tests of operator spaces
keileg ca71ffe
TST: Move tests for Ad operations to separate module
keileg b1c02b2
REFACT: Move helper method in Ad Operations source/target identification
keileg 7380439
BUG: Ad operation source-target identifacation of rmatmul
keileg e2b95c2
REFACT: Extract helper function in Ad operations source-target inferral
keileg efa91ed
MAINT: Documentation and simplification of Ad Operations class
keileg fca87b6
MAINT: Documentation and cleanup of operator space module
keileg 6ef8bf3
MAINT: Deleted unused code in Ad Operator parsing
keileg 6b576d5
MAINT: Improvements and documentation in Ad operator module
keileg 71378f7
TST: Cleanup and simplifications in test of operator spaces
keileg 767f3b2
TST: Remove duplicated tests for OperatorSpaces
keileg 45db982
TST: Fix test of operator space
keileg 20935c1
BUG: Variable domains are arrays in equationSystem
keileg 72df0f2
BUG: Ad Operator domains should be inferred from target, not source
keileg 5a45d33
DEL: Remove Ad Variable property dof_info
keileg f0996c0
DEL: Remove mistakenly added copilot files
keileg 04de1f5
TST: Delete test of models on scalar domains
keileg 9867494
TST: Purge unnecessary test of operator spaces
keileg 834c948
MAINT: EquationSystem set_equation() no longer gets domain
keileg 8535a19
BUG: Missing Ad operator source/target in equtaion metric
keileg b777f16
BUG: Correct calculation of dofs in EquationSystem indexer construction
keileg 6ec753d
MAINT: Ad Variable has property domain
keileg dd5d4ac
STY: Ruff, isort
keileg c94ac44
TST: Wrap scalars as Ad operators in diff-tpfa test
keileg 426bd30
TST: Wrong dof declaration in matrix inversion test
keileg 12774e8
STY: Mypy issues in _operations.py
keileg 9b2eaab
MAINT: Updates based on comments from code review
keileg 94028db
MAINT: Remove unneeded domain_type argument in surrogate operators
keileg d1426d2
MAINT: Operator domains return a tuple, not a list
keileg d4d3209
MAINT: Minor change to ad variable domain type
keileg ad92f70
MAINT: Simplified access to domain of atomic Ad Variable operator
keileg f1d06e1
TST: Minor additions to OperatorSpcae tests
keileg 1e53456
MAINT: Purge property equation_image_size_info from EquationSystem
keileg 986ae4f
MAINT: Ad Variable num_dofs is picked from operator space
keileg 352f3ab
MAINT: Surrogate factory num_dofs_on_grid uses Operator space informa…
keileg c56d3d6
MAINT: Ad Operator target defaults to source
keileg 6f4a0ee
DOC: Ad operator sparse and dense array docstrings
keileg abe90dc
BUG: FrictionDamage equtaion dof info
keileg 850f9cf
MAINT: EquationSystem set_equation dof_info is optional
keileg 9b912b4
MAINT: Models do not exlpcitly set equation dof information
keileg 1404d54
FEAT: Introduce GridEntities data class
keileg c510d30
MAINT: Updates to GridEntities dataclass
keileg ac36fec
MAINT: Take GridEntities dataclass into use
keileg 51a15f3
MAINT: Simpler access to dof information from OperatorSpaces
keileg a3e4c20
FEAT: OperatorSpaces are immutable
keileg 58dac0f
FEAT: OperatorSpace dof-info defaults to cells=1
keileg a7c5158
MAINT: OperatorSpaces with 1 cell dof need not declare their dofs
keileg e51af50
MAINT: Remove outdated checks of empty Operator targets
keileg 0b0d972
MAINT: Ad wrapping of arrays has grids as mandatory parameter
keileg 82a298c
MAINT: Ad operator functions have identical source and target by default
keileg fb4101f
MAINT: EquationSystem update_equation no longer takes grids argument
keileg 50b65fe
TST: Cover OperatorSpaces in the Ad GridOperator tests.
keileg 03556b3
TST: Cleanup test of grid entity structure
keileg bc03903
TST: Merged test of operator spaces for Dense and sparse arrays
keileg 7531db1
TST: Update docstrings for test of grid operators and Ad operator spaces
keileg 1444de9
STY: Ruff formatting
keileg 664b212
MAINT: Update OperatorSpace definitions
keileg eccca03
TUT: Update tutorials to operator spaces
keileg a76d7df
TUT: Update equations tutorial
keileg c1ca35e
MAINT; Remove outdated definition in EquationSystem
keileg 0911eb3
MAINT: Remove admissible_dof_types from EquationSystem
keileg c23c78b
MAINT: Simplified EquationSystem indexer construction
keileg 1a4a1f5
MAINT: Helper functions for Ad grid projection operator space constru…
keileg 1605068
MAINT: Variable init dof info given by GridEntities
keileg f5ec570
MAINT: Surrogate operator init accepts GridEntities dof info
keileg 8deaa2d
MAINT: DiagonalJacobian Ad Operator Funciton needs source and target …
keileg 70f4a2e
DOC: Comments in fracture stress constitutive law
keileg c60f9f4
TST: Issue in progres bar test
keileg 03e6222
MAINT: GridEntities is now a dataclass
keileg 7e47ee6
MAINT: Discretization classes dof enquiries return GridEntities
keileg 665d81d
MAINT: Cleanup in OperatorSpace dof-info treatment
keileg 25763b2
MAINT: New GridEntities is taken into use
keileg 8330b74
TST: Update tests to use new GridEntities
keileg f70e266
TST: Update GridEntities tests
keileg 3679063
BLD: Update Changelog
keileg 55e57a5
BUG: Postponed annotation evaluation in discretization modules
keileg 031589d
STY: Ruff format
keileg 60154ec
MAINT: Edits after code review
keileg 963e796
Apply batched suggestions from code review
keileg cea1e54
MAINT: Rename row/col info methods in discretizations
keileg bb85ab7
MAINT: GridEntities->present_entities return tuple instead of frozenset
keileg 59949a2
TEST: Deleted unnecessary GridEntities test
keileg a86ec73
MAINT: OperatorSpace grid and domain_type must agree if both are spec…
keileg b586c0c
MAINT: Model basis methods cannot mix domain types
keileg 56187fe
MAINT: Stricter checks of ad operator matmul operator spaces
keileg d68b379
TST: Improve test of operator space
keileg 24789fe
TST: Minor documentation fixes in grid entities test
keileg 9aa1be0
MAINT: Remove unreachable branch in operator space inference
keileg File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.