generated from ansys/template
-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Co-authored-by: srpyprime <[email protected]> Co-authored-by: Hao Lee <[email protected]> Co-authored-by: Hao Lee <[email protected]>
- Loading branch information
1 parent
16825ee
commit 7eb576d
Showing
7 changed files
with
108 additions
and
8 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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
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 |
---|---|---|
@@ -0,0 +1,89 @@ | ||
.. _ref_index_matchmorph: | ||
|
||
|
||
************** | ||
Match morphing | ||
************** | ||
|
||
:func:`Morpher.match_morph() <ansys.meshing.prime.Morpher.match_morph>` method performs face to face entity matching, providing the ability to match face pairs using match pairs. | ||
The method allows the source face to match with the corresponding target face. :class:`MatchPair <ansys.meshing.prime.MatchPair>` allows you to specify sources and targets for | ||
match morphing. | ||
|
||
.. note:: | ||
Match pairs should have the same type of entities for matching. | ||
|
||
:func:`Morpher.match_morph() <ansys.meshing.prime.Morpher.match_morph>` performs the following: | ||
|
||
- Matches the boundaries of the source and targets using the specified boundary condition pairs. | ||
- Matches the source entities to the target entities using the specified match pairs. | ||
- Ensures the adjacent entities to the boundaries of the matched entities are adjusted to provide a quality mesh. | ||
|
||
The below example shows how to match morph a cube of hexahedral mesh with quadratic elements to the shape of a sphere: | ||
|
||
Get the source and target faces from the source part and target part respectively. | ||
|
||
.. code-block:: python | ||
source_part = model.get_part_by_name("hex-mesh") | ||
target_part = model.get_part_by_name("sphere-topo") | ||
source = target_part.get_face_zonelets() | ||
target = source_part.get_topo_faces() | ||
.. figure:: ../images/matchmorph_source.png | ||
:width: 800pt | ||
:align: center | ||
|
||
**Source part (mesh)** | ||
|
||
.. figure:: ../images/matchmorph_target.png | ||
:width: 800pt | ||
:align: center | ||
|
||
**Target part (topology)** | ||
|
||
Initialize match morph parameters, morpher boundary condition parameters and morpher solver parameters. | ||
|
||
.. code-block:: python | ||
match_morph_params = prime.MatchMorphParams(model=model) | ||
bc_params = prime.MorphBCParams( | ||
model=model, | ||
morph_region_method=prime.BCsVolumetricModality.ALL, | ||
morphable_layers=1, | ||
morph_region_box_extension=0, | ||
) | ||
solver_params = prime.MorphSolveParams(model=model) | ||
Set the source and target pairs for matching and specify the entity type of target surfaces. | ||
|
||
.. code-block:: python | ||
match_pairs = [] | ||
match_pair = prime.MatchPair( | ||
model=model, | ||
source_surfaces=source, | ||
target_surfaces=target, | ||
target_type=prime.MatchPairTargetType.TOPOFACE, | ||
) | ||
match_pairs = [match_pair] | ||
Perform match morphing using the match pairs, match morph parameters, boundary condition parameters and solver parameters. | ||
|
||
.. code-block:: python | ||
morpher = prime.Morpher(model=model) | ||
morpher.match_morph( | ||
part_id=source_part.id, | ||
match_pairs=match_pairs, | ||
match_morph_params=match_morph_params, | ||
bc_params=bc_params, | ||
solve_params=solver_params, | ||
) | ||
.. figure:: ../images/matchmorphafter.png | ||
:width: 800pt | ||
:align: center | ||
|
||
**Mesh morphed and displayed (topology deleted)** | ||
|
||
|
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
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