Cyclic Support#

class ansys.dpf.core.cyclic_support.CyclicSupport(cyclic_support, server=None)#

Represents a cyclic support, which describes a model with cyclic symmetry.

The model has the necessary data for cyclic (and multistage) expansion.

Parameters:
  • cyclic_support (ansys.grpc.dpf.cyclic_support_pb2.CyclicSupport message) – Cyclic support.

  • server (DPFServer , optional) – Server with the channel connected to the remote or local instance. The default is None, in which case an attempt is made to use the global server.

Examples

Get a cyclic support from a model.

>>> from ansys.dpf import core as dpf
>>> from ansys.dpf.core import examples
>>> multi_stage = examples.download_multi_stage_cyclic_result()
>>> model = dpf.Model(multi_stage)
>>> result_info = model.metadata.result_info
>>> cyc_support = result_info.cyclic_support
>>> cyc_support.num_sectors()
6
>>> cyc_support.num_stages
2
property num_stages: int#

Number of cyclic stages in the model

Examples

>>> from ansys.dpf.core import Model
>>> from ansys.dpf.core import examples
>>> multi_stage = examples.download_multi_stage_cyclic_result()
>>> cyc_support = Model(multi_stage).metadata.result_info.cyclic_support
>>> cyc_support.num_stages
2
Returns:

Number of cyclic stages in the model.

Return type:

int

num_sectors(stage_num=0)#

Number of sectors to expand on 360 degrees.

Parameters:

stage_num (int , optional) – Number of the stages required (from 0 to num_stages).

Returns:

Number of sectors to expand on 360 degrees.

Return type:

int

Examples

>>> from ansys.dpf.core import Model
>>> from ansys.dpf.core import examples
>>> multi_stage = examples.download_multi_stage_cyclic_result()
>>> cyc_support = Model(multi_stage).metadata.result_info.cyclic_support
>>> cyc_support.num_sectors(0)
6
>>> cyc_support.num_sectors(1)
12
base_nodes_scoping(stage_num=0)#

Retrieve a nodal scoping containing node IDs in the base sector of the given stage.

Parameters:

stage_num (int, optional) – Number of the stage required (from 0 to num_stages).

Returns:

base_nodes_scoping – Nodes IDs in the base sector of the given stage.

Return type:

Scoping

Examples

>>> from ansys.dpf.core import Model
>>> from ansys.dpf.core import examples
>>> multi_stage = examples.download_multi_stage_cyclic_result()
>>> cyc_support = Model(multi_stage).metadata.result_info.cyclic_support
>>> base = cyc_support.base_nodes_scoping(0)
base_elements_scoping(stage_num=0)#

Retrieve an elemental scoping containing elements IDs in the base sector of the given stage.

Parameters:

stage_num (int, optional) – Number of the stage required (from 0 to num_stages).

Returns:

base_elements_scoping – Elements ids in the base sector of the given stage.

Return type:

Scoping

Examples

>>> from ansys.dpf.core import Model
>>> from ansys.dpf.core import examples
>>> multi_stage = examples.download_multi_stage_cyclic_result()
>>> cyc_support = Model(multi_stage).metadata.result_info.cyclic_support
>>> base = cyc_support.base_elements_scoping(stage_num=1)
sectors_set_for_expansion(stage_num=0)#

Retrieve a sector’s scoping of the already expanded results and mesh or the list of sectors that will be expanded by default.

A sector’s scoping starts from 0, with the maximum equal to num_sectors-1.

Parameters:

stage_num (int, optional) – Number of the stage required (from 0 to num_stages).

Returns:

sectors_set_for_expansion – List of sectors (starting from 0 to max = num_sectors-1).

Return type:

Scoping

Examples

>>> from ansys.dpf.core import Model
>>> from ansys.dpf.core import examples
>>> multi_stage = examples.download_multi_stage_cyclic_result()
>>> cyc_support = Model(multi_stage).metadata.result_info.cyclic_support
>>> sectors_scoping = cyc_support.sectors_set_for_expansion(stage_num=1)
>>> print(sectors_scoping.ids)
[...0... 1... 2... 3... 4... 5... 6... 7... 8... 9... 10... 11]
expand_node_id(node_id, sectors=None, stage_num=0)#

Retrieve the node IDs corresponding to the base sector node ID given in the input after expansion.

Parameters:
  • node_id (int) – Base sector’s node ID to expand.

  • sectors (Scoping , list of int, optional) – List of sectors to expand (from 0 to num_sectors - 1). The default is None, in which case all sectors are expanded.

  • stage_num (int, optional) – Number of the stage required (from 0 to num_stages).

Returns:

sectors_set_for_expansion – List of sectors (starting from 0 to num_sectors - 1).

Return type:

Scoping

Examples

>>> from ansys.dpf.core import Model
>>> from ansys.dpf.core import examples
>>> multi_stage = examples.download_multi_stage_cyclic_result()
>>> cyc_support = Model(multi_stage).metadata.result_info.cyclic_support
>>> expanded_scoping = cyc_support.expand_node_id(1,stage_num=0)
>>> print(expanded_scoping.ids)
[...1... 3596... 5816... 8036... 10256... 12476]
expand_element_id(element_id, sectors=None, stage_num=0)#

Retrieves the element IDs corresponding to the base sector element ID given in the input after expansion.

Parameters:
  • element_id (int) – Base sector’s element ID to expand.

  • sectors (Scoping or list of int, optional) – List of sectors to expand (from 0 to num_sectors - 1). The default is None, in which case all sectors are expanded.

  • stage_num (int, optional) – Number of the stage required (from 0 to num_stages).

Returns:

sectors_set_for_expansion – List of sectors (starting from 0 to num_sectors - 1).

Return type:

Scoping

Examples

>>> from ansys.dpf.core import Model
>>> from ansys.dpf.core import examples
>>> multi_stage = examples.download_multi_stage_cyclic_result()
>>> cyc_support = Model(multi_stage).metadata.result_info.cyclic_support
>>> expanded_scoping = cyc_support.expand_element_id(1,stage_num=0)
>>> print(expanded_scoping.ids)
[...1... 1558... 2533... 3508... 4483... 5458]