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

New Domain.join() constructor #130

Merged
merged 17 commits into from
Jun 26, 2023
Merged

New Domain.join() constructor #130

merged 17 commits into from
Jun 26, 2023

Conversation

saidctb
Copy link
Member

@saidctb saidctb commented Jun 20, 2023

Construct a multipatch domain using the new signature where the user can define it as follows:

patches = F0(A), F1(A), F2(A), F3(A)

# Each boundary is identified by a tuple of 3 integers: (patch, axis, ext)
# Each interface is identified by a tuple of 2 boundaries and the orientation: (minus, plus, ornt)
# In 2D ornt is an integer that can take the value of 1 or -1
# In 3D ornt is a tuple of 3 integers that can take the value of 1 or -1
# The connectivity list in 2D
connectivity = [((0, 0, 1), (1, 0, -1),  1),
                ((0, 1, 1), (2, 1, -1),  1),
                ((1, 1, 1), (3, 1, -1), -1),
                ((2, 0, 1), (3, 0, -1), -1)]

# The connectivity list in 3D
connectivity = [((0, 0, 1), (1, 0, -1), ( 1, 1, 1)),
                ((0, 1, 1), (2, 1, -1), ( 1,-1, 1)),
                ((1, 1, 1), (3, 1, -1), (-1, 1,-1)),
                ((2, 0, 1), (3, 0, -1), (-1, 1, 1))]

# Multi-patch domain
Omega = Domain.join(patches=patches, connectivity=connectivity, name='Omega')

The information about the connectivity is based on the format presented in the paper:
T. Dokken, E. Quak, V. Skytt. Requirements from Isogeometric Analysis for changes in product design ontologies, 2010.

@yguclu
Copy link
Member

yguclu commented Jun 20, 2023

Does this PR solve issue #108?

@yguclu yguclu changed the title new join method New Domain.join() constructor Jun 20, 2023
@saidctb
Copy link
Member Author

saidctb commented Jun 20, 2023

Does this PR solve issue #108?

yes

@saidctb saidctb linked an issue Jun 20, 2023 that may be closed by this pull request
@yguclu
Copy link
Member

yguclu commented Jun 20, 2023

Does this PR solve issue #108?

yes

That's great! Please add a short description to this PR.

Copy link
Member

@yguclu yguclu left a comment

Choose a reason for hiding this comment

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

This looks very good @saidctb!

Could you add an example/test in 3D?

Further, have you checked if we are now able to connect two patches with more than one interface?

@saidctb
Copy link
Member Author

saidctb commented Jun 22, 2023

This looks very good @saidctb!

Could you add an example/test in 3D?

Further, have you checked if we are now able to connect two patches with more than one interface?

yes, we now can connect two patches with two interfaces

@saidctb
Copy link
Member Author

saidctb commented Jun 22, 2023

This looks very good @saidctb!

Could you add an example/test in 3D?

Further, have you checked if we are now able to connect two patches with more than one interface?

the 3D test was added in bb148fe

Copy link
Member

@yguclu yguclu left a comment

Choose a reason for hiding this comment

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

Great job @saidctb!

I have some minor comments.

sympde/topology/tests/test_topology.py Outdated Show resolved Hide resolved
sympde/topology/tests/test_topology.py Outdated Show resolved Hide resolved
sympde/topology/domain.py Outdated Show resolved Hide resolved
sympde/topology/tests/test_topology.py Outdated Show resolved Hide resolved
sympde/topology/tests/test_topology.py Outdated Show resolved Hide resolved
sympde/topology/tests/test_topology.py Outdated Show resolved Hide resolved
sympde/topology/tests/test_topology.py Outdated Show resolved Hide resolved
sympde/topology/tests/test_topology.py Outdated Show resolved Hide resolved
sympde/topology/tests/test_topology.py Outdated Show resolved Hide resolved
sympde/topology/tests/test_topology.py Outdated Show resolved Hide resolved
@yguclu yguclu added the enhancement New feature or request label Jun 23, 2023
saidctb and others added 10 commits June 23, 2023 14:34
Co-authored-by: Yaman Güçlü <yaman.guclu@gmail.com>
Co-authored-by: Yaman Güçlü <yaman.guclu@gmail.com>
Co-authored-by: Yaman Güçlü <yaman.guclu@gmail.com>
Co-authored-by: Yaman Güçlü <yaman.guclu@gmail.com>
Co-authored-by: Yaman Güçlü <yaman.guclu@gmail.com>
Co-authored-by: Yaman Güçlü <yaman.guclu@gmail.com>
Co-authored-by: Yaman Güçlü <yaman.guclu@gmail.com>
Co-authored-by: Yaman Güçlü <yaman.guclu@gmail.com>
Co-authored-by: Yaman Güçlü <yaman.guclu@gmail.com>
@saidctb saidctb requested a review from yguclu June 23, 2023 12:54
@yguclu yguclu merged commit 9375cbd into master Jun 26, 2023
5 checks passed
@yguclu yguclu deleted the devel-mp branch June 26, 2023 18:23
yguclu pushed a commit that referenced this pull request Jul 17, 2023
Fix a few lines that were left over from PR #130, where the property
`direction` of the `Interface` class was renamed as `ornt` (which stands
for "orientation").
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow the user to create domains from the Domain class directly
2 participants