StringField#
- class ansys.dpf.core.string_field.StringField(nentities=0, string_field=None, server=None)#
Describes string data scoped on entities such as names.
This class is a field with string values instead of double values.
- Parameters:
nentities (int) – Number of entities that the string field is to contain (reserved). The default is
0
.string_field (Field, ansys.grpc.dpf.field_pb2.Field, ctypes.c_void_p, optional) – Field message generated from a gRPC stub, or returned by DPF’s C clients.
server (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
>>> from ansys.dpf import core as dpf >>> pfield = dpf.StringField() >>> list_ids = [1, 2, 4, 6, 7] >>> scop = dpf.Scoping(ids = list_ids, location = dpf.locations.nodal) >>> pfield.scoping = scop >>> list_data = ["water", "oil", "gaz", "paint", "air"] >>> pfield.data = list_data
Notes
Class available with server’s version starting at 5.0 (Ansys 2023R1).
- property location#
Location of the string field.
A property field contains a scoping, which is the location that is read. To update location, directly update the scoping location.
- Returns:
location – Location string, can be found in
dpf.locations
: ie.dpf.locations.nodal
ordpf.locations.elemental
.- Return type:
str
Examples
Create a string field and request the location.
>>> from ansys.dpf import core as dpf >>> pfield = dpf.StringField() >>> list_ids = [1, 2, 4, 6, 7] >>> scop = dpf.Scoping(ids = list_ids, location = dpf.locations.nodal) >>> pfield.scoping = scop >>> pfield.scoping.location = dpf.locations.nodal >>> pfield.location 'Nodal'
- property component_count#
Number of components in each elementary data of the field.
- Returns:
Number of components in each elementary data of the field.
- Return type:
int
- property elementary_data_count#
Number of elementary data in the field.
- Returns:
Number of elementary data in the field.
- Return type:
int
- property size#
Length of the data vector.
The length is equal to the number of elementary data times the number of components.
- Returns:
Length of the data vector.
- Return type:
int
- get_entity_data(index)#
Retrieves the elementary data of the scoping’s index in an array.
- Return type:
numpy.ndarray
Examples
>>> from ansys.dpf import core as dpf >>> from ansys.dpf.core import examples >>> transient = examples.download_transient_result() >>> model = dpf.Model(transient) >>> stress_op = model.results.stress() >>> fields_container = stress_op.outputs.fields_container() >>> fields_container[0].get_entity_data(0) DPFArray([[-3.27795062e+05, 1.36012200e+06, 1.49090608e+08, -4.88688900e+06, 1.43038560e+07, 1.65455040e+07], [-4.63817550e+06, 1.29312225e+06, 1.20411832e+08, -6.06617800e+06, 2.34829700e+07, 1.77231120e+07], [-2.35684860e+07, -3.53474400e+07, 2.01501168e+08, -5.23361700e+06, -2.88789280e+07, -6.16478200e+06], [-3.92756960e+07, -2.72369280e+07, 1.81454016e+08, -3.75441450e+06, -3.62480300e+06, -3.26075620e+07], [ 1.63554530e+07, 2.83190520e+07, 1.05084256e+08, -1.30219020e+07, 5.19906719e+05, 8.82430200e+06], [ 1.80755620e+07, 5.25578750e+06, 7.76211600e+07, -7.53063750e+06, 2.44717000e+06, 2.92675125e+06], [ 9.25567760e+07, 8.15244320e+07, 2.77157632e+08, -1.48489875e+06, 5.89250600e+07, 2.05608920e+07], [ 6.70443680e+07, 8.70343440e+07, 2.73050464e+08, -2.48670150e+06, 1.52268930e+07, 6.09583280e+07]]...
- get_entity_data_by_id(id)#
Retrieve the data of the scoping’s ID in the parameter of the field in an array.
- Returns:
Data based on the scoping ID.
- Return type:
numpy.ndarray
Examples
>>> from ansys.dpf import core as dpf >>> from ansys.dpf.core import examples >>> transient = examples.download_transient_result() >>> model = dpf.Model(transient) >>> stress_op = model.results.stress() >>> fields_container = stress_op.outputs.fields_container() >>> fields_container[0].get_entity_data_by_id(391) DPFArray([[-3.27795062e+05, 1.36012200e+06, 1.49090608e+08, -4.88688900e+06, 1.43038560e+07, 1.65455040e+07], [-4.63817550e+06, 1.29312225e+06, 1.20411832e+08, -6.06617800e+06, 2.34829700e+07, 1.77231120e+07], [-2.35684860e+07, -3.53474400e+07, 2.01501168e+08, -5.23361700e+06, -2.88789280e+07, -6.16478200e+06], [-3.92756960e+07, -2.72369280e+07, 1.81454016e+08, -3.75441450e+06, -3.62480300e+06, -3.26075620e+07], [ 1.63554530e+07, 2.83190520e+07, 1.05084256e+08, -1.30219020e+07, 5.19906719e+05, 8.82430200e+06], [ 1.80755620e+07, 5.25578750e+06, 7.76211600e+07, -7.53063750e+06, 2.44717000e+06, 2.92675125e+06], [ 9.25567760e+07, 8.15244320e+07, 2.77157632e+08, -1.48489875e+06, 5.89250600e+07, 2.05608920e+07], [ 6.70443680e+07, 8.70343440e+07, 2.73050464e+08, -2.48670150e+06, 1.52268930e+07, 6.09583280e+07]]...
- append(data: List[str], scopingid: int)#
Add an entity data to the existing data.
- Parameters:
data (list of int, double, or array) – Data in the entity.
scopingid (int) – ID of the scoping.
Examples
>>> from ansys.dpf.core import fields_factory >>> field = fields_factory.create_3d_vector_field(2) >>> field.append([1.,2.,3.],1) >>> field.append([1.,2.,3.],2) >>> field.data DPFArray([[1., 2., 3.], [1., 2., 3.]]... >>> field.scoping.ids ...[1, 2]...
- property data#
Data in the field as an array.
- Returns:
Data in the field.
- Return type:
numpy.ndarray
Notes
Print a progress bar.
- property data_as_list#
Data in the field as a Python list.
- Returns:
List of the data in the field.
- Return type:
List
Notes
Print a progress bar.
Examples
>>> from ansys.dpf import core as dpf >>> from ansys.dpf.core import examples >>> transient = examples.download_transient_result() >>> model = dpf.Model(transient) >>> disp = model.results.displacement() >>> fields_container = disp.outputs.fields_container() >>> field = fields_container[0] >>> # field.data_as_list
- property elementary_data_shape#
Numpy-like shape of the field.
- property scoping#
Scoping specifying where the data is.
Each entity data is on a given scoping ID.
- Returns:
scoping
- Return type:
Examples
>>> from ansys.dpf import core as dpf >>> from ansys.dpf.core import examples >>> transient = examples.download_transient_result() >>> model = dpf.Model(transient) >>> stress_op = model.results.stress() >>> fields_container = stress_op.outputs.fields_container() >>> scoping = fields_container[0].scoping >>> scoping.location 'Elemental' >>> scoping.id(3) 586 >>> #The fourth elementary data of the field corresponds to >>> #the element id number 586 in the mesh
- property shape#
Numpy-like shape of the field.
- Return type:
tuple
Examples
Shape of a stress field.
>>> from ansys.dpf import core as dpf >>> from ansys.dpf.core import examples >>> model = dpf.Model(examples.download_transient_result()) >>> s_op =model.results.stress() >>> s_fc = s_op.outputs.fields_container() >>> field = s_fc[0] >>> field.shape (5720, 6)