-
Notifications
You must be signed in to change notification settings - Fork 25
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
Switch to FInAT #86
Merged
Switch to FInAT #86
Changes from 118 commits
Commits
Show all changes
119 commits
Select commit
Hold shift + click to select a range
150e6a5
gem: nascent Delta support
miklos1 b04ba80
Merge pull request #32 into firedrakeproject/delta
miklos1 f7367aa
Merge branch 'master' into finat
miklos1 e3c3e33
add extent= to gem.Index constructor
miklos1 a2b54ce
add FInAT interface
miklos1 d5f9243
WIP: FInAT integration
miklos1 c5d3ada
AffineIndex and IndexIterator
dham 800ddff
FInAT dependency
dham a85e6ba
Slightly more ideomatic python
dham 657f58b
Merge pull request #34 from firedrakeproject/affine_indices
miklos1 c852159
Merge branch 'master' into finat
miklos1 aa68adb
Merge branch 'master' into finat
miklos1 879ba92
adopt PyOP2 flatten=False
miklos1 6ef5819
support arguments with multiple indices
miklos1 6eeb6e0
finatinterface: RT, BDM, BDFM
miklos1 f980a69
clean up fem.py
miklos1 54c6a02
purge mixed elements
miklos1 63ae895
fix flake8
miklos1 f66e889
FInAT is a project on its own
miklos1 e3afef8
WIP: support for facet integrals
miklos1 a3d5c76
fix kernel interface for interior facet integrals
miklos1 3702039
add FIAT compatibility layer
miklos1 fd3cefc
fix RTCF & co
miklos1 8562a5a
Merge branch 'master' into finat
miklos1 563f92c
Merge branch 'master' into finat
miklos1 2502314
Merge branch 'master' into finat
miklos1 49d80bb
Merge branch 'master' into finat
miklos1 040d0e2
Merge branch 'master' into finat-old
miklos1 1458f67
fix ordering of argument indices
miklos1 458c851
remove broken references to MixedElement
miklos1 bf3596c
adopt generic TensorFiniteElement in FInAT
miklos1 cdccc97
Merge branch 'master' into finat-old
miklos1 eba153c
Merge branch 'master' into finat-old
miklos1 7655cf3
re-add FFC-style rounding
miklos1 629e12e
fix create_element testing
miklos1 1cbf1e5
Merge branch 'master' into finat
miklos1 21dbf15
fix facet integral performance issue
miklos1 40e4ed9
Merge branch 'master' into finat
miklos1 e646294
Merge branch 'master' into finat
miklos1 2d7c707
Use FInAT quadrature
dham 1e80121
remove facet quadrature hack
dham c9567ab
WIP: FInAT API redesign
miklos1 f831aae
FInAT works?
miklos1 0d968e0
use restore_shape in CellCoordinate
miklos1 72f0aa3
add gem.index_sum
miklos1 a70a72f
remove dangling method
miklos1 d32edf0
Merge pull request #69 from firedrakeproject/finat-quadrature
miklos1 7412354
adopt new return value convention
miklos1 00a1c9e
use reconstruct because of ListTensor
miklos1 41b9f76
remove/inline Context.point_multiindex
miklos1 3551f66
be more backwards compatible
miklos1 03b8b21
no more restore_shape
miklos1 c38f3ae
wire up FInAT interface to TensorProductElement
miklos1 1d7ce21
cause not to trigger coneoproject/COFFEE#97
miklos1 24cb325
enable structured Q/DQ element on quadrilaterals
miklos1 b3b0ddb
Merge pull request #70 from firedrakeproject/finat-constant
miklos1 863613d
push QuadrilateralElement over to FInAT
miklos1 b32e258
adopt the more FIAT-like API of FInAT
miklos1 88b0a2d
quad_opc -> quad_tpc
miklos1 672a50d
Merge pull request #72 from firedrakeproject/finat-fiat-api
miklos1 7c0a163
implement FFC rounding on GEM expressions
miklos1 cc44792
remove temporary FFC rounding from COFFEE generation
miklos1 aeed9c4
wire in GEM rounding for FInAT expressions
miklos1 9a10712
drop scalar rounding in COFFEE code generation
miklos1 3410e9b
add comments
miklos1 77ded72
Merge branch 'master' into finat
miklos1 be89d06
Merge branch 'master' into finat
miklos1 6d76750
fix #pragma coffee linear loop
miklos1 d508d89
delta elimination and sum factorisation
miklos1 106fd02
do not generate empty for loops
miklos1 3b31592
IndexSum with multiindex
miklos1 7e24f0d
little clean up
miklos1 5c9c169
add docstrings
miklos1 1485550
limit O(N!) algorithm to N <= 5
miklos1 2418834
log warning for unexpected case
miklos1 e385969
add more comments
miklos1 778a69f
avoid accidental float result (1.0)
miklos1 48875f0
revise coefficient evaluation
miklos1 a65bdfb
improve constant folding
miklos1 b0fe22a
generate fast Jacobian code snippets
miklos1 629b392
remove Delta * ListTensor factorisation
miklos1 f78545b
use one in gem.optimise
miklos1 e6aec8f
replace sum factorisation algorithm
miklos1 ac43087
clean up sum factorisation
miklos1 4eea68d
use setdefault
miklos1 e73fceb
remove redundant line
miklos1 0098235
Merge pull request #81 from firedrakeproject/finat-sum-revised
miklos1 7ede136
Merge branch 'master' into finat
miklos1 30c3c92
revise the rounding of FIAT tables
miklos1 fbe7ea4
revise expression selection
miklos1 1c26094
restore automatic unrolling of length one sums
miklos1 cfa6f7c
Merge pull request #83 from firedrakeproject/finat-foo
miklos1 4e11208
adopt FInAT finite element construction changes
miklos1 53cf86d
remove affine index groups
miklos1 4f27e04
remove some no longer used code
miklos1 f5bb4e4
do not duplicate work
miklos1 bf03554
Merge pull request #84 from firedrakeproject/finat-cleanup
miklos1 6b32b56
restore FFC MixedElement
miklos1 441ee70
ugly and suboptimal but works
miklos1 5c7ffc6
refactor ufc.prepare_coefficient
miklos1 1b7f913
coefficient splitting for UFC
miklos1 3f4a5bc
test gem.reshape (with FlexiblyIndexed)
miklos1 7c80b1b
change the internal representation of FlexiblyIndexed
miklos1 80e31e8
generalised gem.view
miklos1 547833c
generalise gem.reshape
miklos1 8378f52
fix assertions
miklos1 abc7682
update COFFEE code generation for FlexiblyIndexed
miklos1 54156e4
WIP: update Firedrake kernel interface
miklos1 9935d40
WIP: update UFC kernel interface
miklos1 4e87c82
do away with UFC override of coefficient
miklos1 e30f137
revise Firedrake kernel interface
miklos1 b0d803c
revise UFC arguments interface
miklos1 500f43e
revise UFC coefficients interface
miklos1 343cd92
comment no longer applies
miklos1 d5d82cb
factor out common code of gem.view and gem.reshape
miklos1 68a585b
Merge pull request #85 from firedrakeproject/finat-ufc
miklos1 39512e0
add error messages
miklos1 1c255f6
fix typo
miklos1 2d6909e
update docstrings: FIAT -> FInAT
miklos1 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 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
from __future__ import absolute_import, print_function, division | ||
|
||
from gem.gem import * # noqa | ||
from gem.optimise import select_expression # noqa |
This file contains 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.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The constant-folding of
i == j
makes the uniquifying unnecessary? Unless indices hash differently from equality?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, you care about ordering, making
Delta(j, i)
andDelta(i, j)
have the same ordering offree_indices
by calling unique here?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This has evolved from
numpy.unique
which sorts and removes duplicates. This idea is to makex.free_indices == y.free_indices
work (without having to cast to sets first).