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

Reduce number of FMMs #195

Open
wants to merge 157 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
157 commits
Select commit Hold shift + click to select a range
65d126c
Stokes/Elasticity using biharmonic/Laplace
isuruf Jun 27, 2022
e4d4e58
Point sumpy back to main
isuruf Aug 2, 2022
f19dccb
Add unit tests for pytential.symbolic.pde.system_utils
isuruf Sep 5, 2022
25a14cb
Throw RuntimeError
isuruf Sep 5, 2022
f492f6e
Double back-ticks around IntG
isuruf Sep 5, 2022
ceea82c
typing
isuruf Sep 5, 2022
8cc7b24
Add an example to convert_target_transformation_to_source
isuruf Sep 5, 2022
2652ace
use simpler expression
isuruf Sep 5, 2022
81e449a
Add abstractmethod
isuruf Sep 5, 2022
3cf612c
abstractmethod
isuruf Sep 5, 2022
56755c8
simplify loops
isuruf Sep 5, 2022
4683196
remove unnecessary code
isuruf Sep 5, 2022
0e1a9b3
list -> tuple
isuruf Sep 5, 2022
52b6beb
Pass base_kernel in WrapperNaiveOrBiharmonic
isuruf Sep 5, 2022
1626131
No abstractmethod for apply_stress for now
isuruf Sep 5, 2022
5f570f5
correct some typos to fix tests
isuruf Sep 5, 2022
b0dc563
Fix refactor
isuruf Sep 5, 2022
111b28b
Turn StokesletWrapper into a function
isuruf Sep 5, 2022
95466cc
more testing
isuruf Sep 6, 2022
ae4413a
Fix tests for sympy
isuruf Sep 6, 2022
b6d4b14
rewrite_using_base_kernel for pressure as well
isuruf Sep 7, 2022
da05129
test PDE
isuruf Sep 7, 2022
edc6d90
disable biharmonic 3D
isuruf Sep 7, 2022
7afaf0d
update warning message
isuruf Sep 7, 2022
d397563
raise NotImplmentedError when base_kernel is not given
isuruf Sep 8, 2022
d66bd64
laplace works just fine for 2D too
isuruf Sep 8, 2022
d62e336
check divergence too
isuruf Sep 8, 2022
95c06f0
test laplace 2d too
isuruf Sep 8, 2022
d7cd503
remove pylint skips now that __new__ is not used anymore
isuruf Sep 8, 2022
2658f8b
test elasticity too
isuruf Sep 8, 2022
216930c
Update docs and remove unnecessary for loop
isuruf Sep 8, 2022
53ac31d
no need of laplace kernel when nu == 0.5
isuruf Sep 8, 2022
e0fc9ca
update copyright
isuruf Sep 8, 2022
7b3009a
store the stresslet in StokesletWrapperYoshida
isuruf Sep 12, 2022
a05bcad
nu default
isuruf Sep 12, 2022
55b81aa
Use sym.SympyToPymbolicMapper
isuruf Sep 12, 2022
1b1ce35
consistent spacing
isuruf Sep 12, 2022
e24feaf
fix typo
isuruf Sep 12, 2022
6474354
_get_kernel_expression -> _get_sympy_kernel_expression
isuruf Sep 12, 2022
580045c
improved docstring
isuruf Sep 12, 2022
c93371d
Fix tuple types
isuruf Sep 12, 2022
d803468
improve docstring
isuruf Sep 12, 2022
e16a4c0
pep8 naming
isuruf Sep 12, 2022
a4178cd
explain 2D StokesletWrapperYoshida
isuruf Sep 12, 2022
54bc848
Fix typo
isuruf Sep 13, 2022
a9893f9
check that the kernel is a derivative when const != 0
isuruf Sep 13, 2022
0f59312
Add DOI link
isuruf Sep 13, 2022
8ccd343
Fix formatting
isuruf Sep 13, 2022
1331e9e
Make Stokes be a child class of Elasticity
isuruf Sep 13, 2022
911f42b
restore apply_pressure and apply_stress
isuruf Sep 13, 2022
f05e277
Fix inheritance
isuruf Sep 13, 2022
1409766
Fix docs
isuruf Sep 13, 2022
879b278
More doc fixes
isuruf Sep 13, 2022
7b92763
doc internals
isuruf Sep 13, 2022
affd89d
Fix formatting
isuruf Sep 13, 2022
a74f619
lu_solve_with_expand -> lu_with_post_division_callback
isuruf Sep 13, 2022
09c09d5
Fix default source/target
isuruf Sep 13, 2022
a6f23a0
Use a different source/target
isuruf Sep 14, 2022
e3f61d6
Fix setting geometry
isuruf Nov 23, 2022
db0d2ff
document the assumption that potentials are smooth
isuruf Nov 23, 2022
623ed44
explain the weights
isuruf Nov 23, 2022
77a87af
get_int_g -> _get_int_g
isuruf Nov 23, 2022
6d505bc
simplify using sym.nodes
isuruf Nov 23, 2022
f3fa858
use a better error message
isuruf Nov 23, 2022
9c711ce
rename convert_int_g_to_base -> rewrite_int_g_using_base_kernel
isuruf Nov 23, 2022
75d485e
warning unknown target kernel
isuruf Nov 23, 2022
2ac5f30
add type hints for chop and lu_with_post_division_callback
isuruf Dec 5, 2022
1c95bc7
use sym.nodes
isuruf Dec 5, 2022
d710cd9
Use StokesletKernel when nu_sym == 0.5
isuruf Dec 5, 2022
3a86bbc
Use DEFAULT_SOURCE
isuruf Dec 5, 2022
0c0e651
Fix test
isuruf Dec 5, 2022
cfdd1a5
Use _acf
isuruf Dec 13, 2022
7daeaac
Stokeslet -> Elasticity
isuruf Dec 13, 2022
8ec6583
No need to raise for abstractmethod
isuruf Dec 13, 2022
57a1824
say which unsupported dim
isuruf Dec 13, 2022
d5eaad3
create_elasticity -> make_elasticity
isuruf Dec 13, 2022
4d45815
Fix DOI links and add yoshida method to internals
isuruf Dec 13, 2022
926c524
Improve docs about assumptions
isuruf Dec 13, 2022
7167e6f
Fix IntG in docs
isuruf Dec 13, 2022
ba915a8
Fix IntG markup
isuruf Dec 13, 2022
522021a
fix formatting in docstrings
isuruf Dec 13, 2022
87c0e92
dataclass
isuruf Dec 13, 2022
5bfe80b
mu_sym -> mu
isuruf Dec 13, 2022
51aa009
Use dataclasses
isuruf Dec 13, 2022
c5d9c35
Use enum for method
isuruf Dec 13, 2022
f2a9ad5
make linter happy
isuruf Dec 13, 2022
f5f508c
Use laplacian instead of laplace
isuruf Dec 13, 2022
05b4d2c
defaults to a variable named
isuruf Dec 13, 2022
49c6bd3
refactor solve with lu
isuruf Dec 14, 2022
bd98c02
type annotate base_kernel
isuruf Dec 14, 2022
6d8039b
warn if translation variant kernel is found and bail
isuruf Dec 14, 2022
0536475
refactor terms
isuruf Dec 14, 2022
f74a020
fix incomplete refactor
isuruf Dec 14, 2022
dd79bf9
improve commnet
isuruf Dec 14, 2022
cb2ca1d
integral -> convolution
isuruf Dec 14, 2022
70ad03e
fix bad refactor
isuruf Dec 14, 2022
917dc45
pass through postprocess_division
isuruf Dec 14, 2022
53693d7
use a data class for deriv relation
isuruf Dec 14, 2022
88d4938
use a dataclass for LUFactorization
isuruf Dec 14, 2022
b2befb4
Fix type annotation
isuruf Dec 14, 2022
5ac3ade
fix tests
isuruf Dec 14, 2022
9a92de3
avoid creating IntGs with 0 densities
isuruf Dec 14, 2022
bb3424d
fix too long line
isuruf Dec 14, 2022
ec9760c
Try both solutions instead of relying on the symbolic backend
isuruf Dec 14, 2022
cca85fb
reduce diff
isuruf Dec 14, 2022
8a46f4b
Add a comment about not having spatial constant mapping methods
isuruf Dec 20, 2022
86a516b
fix bad merge
isuruf Dec 20, 2022
1f6a49d
Update warning message
isuruf Dec 20, 2022
ae70ec2
explain -1, -1, -1 and 0, 0, 0
isuruf Dec 20, 2022
13b46a5
operator -> wrapper
isuruf Dec 20, 2022
a604d07
-1 with size dim
isuruf Dec 20, 2022
7190431
List -> Sequence
isuruf Dec 20, 2022
80040fa
unit test for solve_from_lu
isuruf Dec 20, 2022
2b591c8
import Sequence
isuruf Dec 20, 2022
ee467cf
Fix applying extra_deriv_dirs
isuruf Dec 20, 2022
2c32cc3
add a test for errors
isuruf Dec 20, 2022
50df2a8
formatting: 2 blank lines
isuruf Dec 20, 2022
201822f
simplify matrix
isuruf Dec 20, 2022
61349e6
Check using calculus patch as well
isuruf Dec 25, 2022
684ec66
describe the math
isuruf Dec 26, 2022
10e5221
mention column of ones in A
isuruf Dec 26, 2022
79783f8
fix typo
isuruf Dec 27, 2022
7d8ef25
Fix misleading naming in test_stokes
inducer Jan 6, 2023
7818049
Placate flake8-comprehensions
inducer Jan 12, 2023
69931e7
Placate flake8-comprehensions again
isuruf Mar 23, 2023
180a464
fix typo
isuruf Mar 23, 2023
4136c6a
add code to reduce and merge fmms
isuruf Mar 23, 2023
7fe98ae
introduce hashable_kernel_arg_value
isuruf Mar 23, 2023
02e56b7
fold duplicates in source kernels
isuruf Mar 23, 2023
3ef322a
fix doctests
isuruf Mar 23, 2023
e3959cd
Fix op_group_features
isuruf Mar 23, 2023
61be764
add unit tests
isuruf Mar 24, 2023
4f351c4
support timing_data in BoundExpression
isuruf Mar 24, 2023
7e4a95d
merge exprs by default in bind
isuruf Mar 24, 2023
02b3e55
simplify right factor
isuruf Mar 26, 2023
8521560
don't fail if our method gives a bad answer
isuruf Mar 26, 2023
30c958b
Add MindlinOperator
isuruf Mar 26, 2023
d9801cf
add test for mindlin
isuruf Mar 26, 2023
6cc3124
test that rewriting using biharmonic still gives 2 FMMs for C-image
isuruf Mar 27, 2023
33049fd
Don't simplify unnecessarily
isuruf Mar 27, 2023
62230aa
fix test failures
isuruf Mar 27, 2023
61a8b5e
verbose pytest
isuruf Mar 28, 2023
4f8e460
nsimplify before groebner
isuruf Mar 30, 2023
0716f31
Use the PDE
isuruf Apr 4, 2023
79132c1
use a minimal genearting set
isuruf Apr 4, 2023
e79243e
Use in_terms_of_generator instead of LUsolve
isuruf Apr 4, 2023
6480c5f
test factoring without PDE
isuruf Apr 4, 2023
edbbd20
Use more of sympy's syzygy functionality
isuruf Apr 5, 2023
04f6836
comment on minimal_generating_set
isuruf Apr 5, 2023
b6b3e08
fix for poly being zero
isuruf Apr 5, 2023
7c50cdc
fix getting minimal generating set
isuruf Apr 5, 2023
5245ce2
fix tests
isuruf Apr 5, 2023
7c0e850
debug
isuruf Apr 5, 2023
714da54
add Fu et al method
isuruf Apr 6, 2023
ce380e9
fix test for new pymbolic
isuruf Apr 6, 2023
9c1fcb4
Fix big typo
isuruf Apr 6, 2023
b900990
Merge branch 'main' into stokes_biharmonic3
isuruf Jul 19, 2023
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
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:
- name: "Main Script"
run: |
export SUMPY_FORCE_SYMBOLIC_BACKEND=sympy
export PYTEST_ADDOPTS=${PYTEST_ADDOPTS:-"-m 'not slowtest'"}
export PYTEST_ADDOPTS=${PYTEST_ADDOPTS:-"-m 'not slowtest' -vv"}

curl -L -O https://tiker.net/ci-support-v0
. ci-support-v0
Expand All @@ -84,7 +84,7 @@ jobs:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export CONDA_ENVIRONMENT=.test-conda-env.yml
export PYTEST_ADDOPTS=${PYTEST_ADDOPTS:-"-m 'not slowtest'"}
export PYTEST_ADDOPTS=${PYTEST_ADDOPTS:-"-m 'not slowtest' -vv"}

curl -L -O https://tiker.net/ci-support-v0
. ci-support-v0
Expand All @@ -99,7 +99,7 @@ jobs:
- name: "Main Script"
run: |
export SUMPY_FORCE_SYMBOLIC_BACKEND=symengine
export PYTEST_ADDOPTS=${PYTEST_ADDOPTS:-"-m 'not slowtest'"}
export PYTEST_ADDOPTS=${PYTEST_ADDOPTS:-"-m 'not slowtest' -vv"}

curl -L -O https://tiker.net/ci-support-v0
. ci-support-v0
Expand Down
24 changes: 24 additions & 0 deletions doc/symbolic.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ Maxwell's equations

.. automodule:: pytential.symbolic.pde.maxwell

Elasticity equations
^^^^^^^^^^^^^^^^^^^^

.. automodule:: pytential.symbolic.elasticity

Stokes' equations
^^^^^^^^^^^^^^^^^

Expand All @@ -43,6 +48,19 @@ Scalar Beltrami equations

.. automodule:: pytential.symbolic.pde.beltrami

Internals
^^^^^^^^^

.. autoclass:: pytential.symbolic.elasticity.ElasticityWrapperYoshida
.. autoclass:: pytential.symbolic.elasticity.ElasticityDoubleLayerWrapperYoshida

Rewriting expressions with ``IntG``\ s
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. automodule:: pytential.symbolic.pde.systems.merge
.. automodule:: pytential.symbolic.pde.systems.reduce
.. automodule:: pytential.symbolic.pde.systems.deriv

Internal affairs
----------------

Expand All @@ -57,3 +75,9 @@ How a symbolic operator gets executed
.. automodule:: pytential.symbolic.execution

.. automodule:: pytential.symbolic.compiler

Rewriting expressions with ``IntG``\ s internals
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. automethod:: pytential.symbolic.pde.systems.deriv.convert_target_transformation_to_source
.. automethod:: pytential.symbolic.pde.systems.deriv.rewrite_int_g_using_base_kernel
Loading