Helper types#
The ansys.api.fluent.v1 package includes two shared protobuf message
types that appear as value types in request and response messages across
multiple services.
See Variant and Primitives for the complete reference material.
Variant#
Variant is the polymorphic value container used by the
ObjectModel service for all state, argument, and
result payloads, and by the Reduction service for
typed results. It holds exactly one value at a time, selected by a oneof
field. Always call WhichOneof("as") on a Variant returned by the
server before reading its value.
from ansys.api.fluent.v1 import variant_pb2
# Scalar values
bool_variant = variant_pb2.Variant(bool_state=True)
int_variant = variant_pb2.Variant(int64_state=42)
double_variant = variant_pb2.Variant(double_state=3.14)
string_variant = variant_pb2.Variant(string_state="hello")
# Vector values
double_vector = variant_pb2.Variant(
double_vector_state=variant_pb2.DoubleVector(items=[1.0, 2.0, 3.0])
)
string_vector = variant_pb2.Variant(
string_vector_state=variant_pb2.StringVector(items=["a", "b", "c"])
)
# Dictionary (VariantMap) — used for command arguments
mapping = variant_pb2.Variant(
variant_map_state=variant_pb2.VariantMap(
item={
"count": variant_pb2.Variant(int64_state=10),
"label": variant_pb2.Variant(string_state="wall"),
}
)
)
# Reading a Variant returned by the server
def read_variant(v: variant_pb2.Variant):
field = v.WhichOneof("as")
return field, getattr(v, field)
Point#
Point is a 3D Cartesian coordinate (x, y, z as double)
used by the Reduction service in geometric results
such as centroid, force, and moment. See
Primitives for the full message definition.
from ansys.api.fluent.v1 import primitives_pb2
origin = primitives_pb2.Point(x=0.0, y=0.0, z=0.0)
corner = primitives_pb2.Point(x=1.5, y=2.0, z=-0.5)