@@ -47,6 +47,13 @@ class force_summation(Operator):
4747 Type of force to be processed (0: Total forces (static, damping, and inertia)., 1 (default): Static forces, 2: Damping forces, 3: Inertia forces)
4848 spoint: Field or FieldsContainer, optional
4949 Field or fields container of the coordinates of the point used for moment summations. Defaults to (0,0,0).
50+ scoping_filter: int, optional
51+ Selected set of nodes.
52+
53+ - 0 (default): Sum all nodal forces for all selected nodes, excluding contact elements
54+ - 1: Sum all nodal forces for contact nodes only.
55+ - 2: Sum all nodal forces for all selected nodes, including contact elements.
56+
5057
5158 Outputs
5259 -------
@@ -79,6 +86,8 @@ class force_summation(Operator):
7986 >>> op.inputs.force_type.connect(my_force_type)
8087 >>> my_spoint = dpf.Field()
8188 >>> op.inputs.spoint.connect(my_spoint)
89+ >>> my_scoping_filter = int()
90+ >>> op.inputs.scoping_filter.connect(my_scoping_filter)
8291
8392 >>> # Instantiate operator and connect inputs in one line
8493 >>> op = dpf.operators.averaging.force_summation(
@@ -89,6 +98,7 @@ class force_summation(Operator):
8998 ... data_sources=my_data_sources,
9099 ... force_type=my_force_type,
91100 ... spoint=my_spoint,
101+ ... scoping_filter=my_scoping_filter,
92102 ... )
93103
94104 >>> # Get output data
@@ -109,6 +119,7 @@ def __init__(
109119 data_sources = None ,
110120 force_type = None ,
111121 spoint = None ,
122+ scoping_filter = None ,
112123 config = None ,
113124 server = None ,
114125 ):
@@ -133,6 +144,8 @@ def __init__(
133144 self .inputs .force_type .connect (force_type )
134145 if spoint is not None :
135146 self .inputs .spoint .connect (spoint )
147+ if scoping_filter is not None :
148+ self .inputs .scoping_filter .connect (scoping_filter )
136149
137150 @staticmethod
138151 def _spec () -> Specification :
@@ -186,6 +199,17 @@ def _spec() -> Specification:
186199 optional = True ,
187200 document = r"""Field or fields container of the coordinates of the point used for moment summations. Defaults to (0,0,0).""" ,
188201 ),
202+ 9 : PinSpecification (
203+ name = "scoping_filter" ,
204+ type_names = ["int32" ],
205+ optional = True ,
206+ document = r"""Selected set of nodes.
207+
208+ - 0 (default): Sum all nodal forces for all selected nodes, excluding contact elements
209+ - 1: Sum all nodal forces for contact nodes only.
210+ - 2: Sum all nodal forces for all selected nodes, including contact elements.
211+ """ ,
212+ ),
189213 },
190214 map_output_pin_spec = {
191215 0 : PinSpecification (
@@ -294,6 +318,8 @@ class InputsForceSummation(_Inputs):
294318 >>> op.inputs.force_type.connect(my_force_type)
295319 >>> my_spoint = dpf.Field()
296320 >>> op.inputs.spoint.connect(my_spoint)
321+ >>> my_scoping_filter = int()
322+ >>> op.inputs.scoping_filter.connect(my_scoping_filter)
297323 """
298324
299325 def __init__ (self , op : Operator ):
@@ -326,6 +352,10 @@ def __init__(self, op: Operator):
326352 force_summation ._spec ().input_pin (6 ), 6 , op , - 1
327353 )
328354 self ._inputs .append (self ._spoint )
355+ self ._scoping_filter : Input [int ] = Input (
356+ force_summation ._spec ().input_pin (9 ), 9 , op , - 1
357+ )
358+ self ._inputs .append (self ._scoping_filter )
329359
330360 @property
331361 def time_scoping (self ) -> Input [Scoping ]:
@@ -474,6 +504,32 @@ def spoint(self) -> Input[Field | FieldsContainer]:
474504 """
475505 return self ._spoint
476506
507+ @property
508+ def scoping_filter (self ) -> Input [int ]:
509+ r"""Allows to connect scoping_filter input to the operator.
510+
511+ Selected set of nodes.
512+
513+ - 0 (default): Sum all nodal forces for all selected nodes, excluding contact elements
514+ - 1: Sum all nodal forces for contact nodes only.
515+ - 2: Sum all nodal forces for all selected nodes, including contact elements.
516+
517+
518+ Returns
519+ -------
520+ input:
521+ An Input instance for this pin.
522+
523+ Examples
524+ --------
525+ >>> from ansys.dpf import core as dpf
526+ >>> op = dpf.operators.averaging.force_summation()
527+ >>> op.inputs.scoping_filter.connect(my_scoping_filter)
528+ >>> # or
529+ >>> op.inputs.scoping_filter(my_scoping_filter)
530+ """
531+ return self ._scoping_filter
532+
477533
478534class OutputsForceSummation (_Outputs ):
479535 """Intermediate class used to get outputs from
0 commit comments