    

 ## On this page

  

 

 # averaging:force\_summation\_psd

 Last update: 31.07.2026 

**Version: 0.0.0**

## Description

Computes the sum of elemental forces contribution on a set of nodes in Global Coordinate System for a PSD analysis. Equivalent to MAPDL FSUM/NFORCE. The moment is computed in the unit system of the data source.

## Inputs

This table lists the input pins for this operator. Input pins define the data that the operator requires to perform its operation. Some inputs are required, while others are optional and provide additional configuration. Each parameter is detailed in the sections that follow the table.

Pin numberNameStatusExpected type(s)**1**[nodal\_scoping](#input_1)[`scoping`](../../core-concepts/dpf-types.md#scoping), [`scopings_container`](../../core-concepts/dpf-types.md#scopings-container)**2**[elemental\_scoping](#input_2)[`scoping`](../../core-concepts/dpf-types.md#scoping), [`scopings_container`](../../core-concepts/dpf-types.md#scopings-container)**3**[streams](#input_3)[`streams_container`](../../core-concepts/dpf-types.md#streams-container)**4**[data\_sources](#input_4)Required[`data_sources`](../../core-concepts/dpf-types.md#data-sources)**6**[spoint](#input_6)[`field`](../../core-concepts/dpf-types.md#field), [`fields_container`](../../core-concepts/dpf-types.md#fields-container)**7**[abs\_rel\_key](#input_7)[`int32`](../../core-concepts/dpf-types.md#standard-types)**8**[signif](#input_8)[`double`](../../core-concepts/dpf-types.md#standard-types)<a id="input_1"></a>

### nodal\_scoping (Pin 1)

- **Required:** No
- **Expected type(s):** [`scoping`](../../core-concepts/dpf-types.md#scoping), [`scopings_container`](../../core-concepts/dpf-types.md#scopings-container)

Nodal scoping or scopings container with a single label. Set of nodes in which elemental contribution forces will be accumulated. Defaults to all nodes.

<a id="input_2"></a>

### elemental\_scoping (Pin 2)

- **Required:** No
- **Expected type(s):** [`scoping`](../../core-concepts/dpf-types.md#scoping), [`scopings_container`](../../core-concepts/dpf-types.md#scopings-container)

Elemental scoping or scopings container with a single label. Set of elements contributing to the force calculation. Defaults to all elements.

<a id="input_3"></a>

### streams (Pin 3)

- **Required:** No
- **Expected type(s):** [`streams_container`](../../core-concepts/dpf-types.md#streams-container)

Streams container for RST and PSD files (optional if using data sources). The operator supports both a single RST file and two separate RST files. See data sources pin specifications for details on how to define the streams for both cases.

<a id="input_4"></a>

### data\_sources (Pin 4)

- **Required:** Yes
- **Expected type(s):** [`data_sources`](../../core-concepts/dpf-types.md#data-sources)

Data sources containing RST and PSD files (optional if using a streams container). The operator supports both a single RST file (containing both modal and PSD results) and two separate RST files (one for modal and one for PSD analyses).The data source containing modal results must be defined as an upstream data source.If using a single RST file for PSD and modal analysis, the RST file must be in an upstream data source.If using two separate RST files, only the modal RST must be in an upstream data source.

<a id="input_6"></a>

### spoint (Pin 6)

- **Required:** No
- **Expected type(s):** [`field`](../../core-concepts/dpf-types.md#field), [`fields_container`](../../core-concepts/dpf-types.md#fields-container)

Field or fields container of the coordinates of the point used for moment summations. Defaults to (0,0,0). If unitless, it is assumed to be in meters.

<a id="input_7"></a>

### abs\_rel\_key (Pin 7)

- **Required:** No
- **Expected type(s):** [`int32`](../../core-concepts/dpf-types.md#standard-types)

Key to select the type of response: 0 for relative response (default) or 1 for absolute response.

<a id="input_8"></a>

### signif (Pin 8)

- **Required:** No
- **Expected type(s):** [`double`](../../core-concepts/dpf-types.md#standard-types)

Significance threshold, defaults to 0.0001. Any mode with a significance level above this value will be included in the combination.The significance level is defined as the modal covariance matrix term, divided by the maximum modal covariance matrix term.

## Outputs

This table lists the output pins for this operator. Output pins provide the results of the operator's computation and can be connected to inputs of other operators or retrieved for further processing. Each output is detailed in the sections that follow the table.

Pin numberNameExpected type(s)0[force\_accumulation](#output_0)[`fields_container`](../../core-concepts/dpf-types.md#fields-container)**1**[moment\_accumulation](#output_1)[`fields_container`](../../core-concepts/dpf-types.md#fields-container)**10**[forces\_on\_nodes](#output_10)[`fields_container`](../../core-concepts/dpf-types.md#fields-container)**11**[moments\_on\_nodes](#output_11)[`fields_container`](../../core-concepts/dpf-types.md#fields-container)<a id="output_0"></a>

### force\_accumulation (Pin 0)

- **Expected type(s):** [`fields_container`](../../core-concepts/dpf-types.md#fields-container)

Returns the sum of forces for the 1-sigma displacement solution on the scoped nodes/elements.

<a id="output_1"></a>

### moment\_accumulation (Pin 1)

- **Expected type(s):** [`fields_container`](../../core-concepts/dpf-types.md#fields-container)

Returns the sum of moments for the 1-sigma displacement solution on the scoped nodes/elements.

<a id="output_10"></a>

### forces\_on\_nodes (Pin 10)

- **Expected type(s):** [`fields_container`](../../core-concepts/dpf-types.md#fields-container)

Returns the nodal forces for the 1-sigma displacement solution on the scoped nodes/elements.

<a id="output_11"></a>

### moments\_on\_nodes (Pin 11)

- **Expected type(s):** [`fields_container`](../../core-concepts/dpf-types.md#fields-container)

Returns the nodal moments for the 1-sigma displacement solution on the scoped nodes/elements.

## Configurations

This operator supports [configuration options](../../core-concepts/operator-configurations.md) that modify its behavior.

### [mutex](../../core-concepts/operator-configurations.md#mutex)

- **Expected type(s):** [`bool`](../../core-concepts/dpf-types.md#standard-types)
- **Default value:** false

If this option is set to true, the shared memory is prevented from being simultaneously accessed by multiple threads.

## Scripting

This operator can be accessed through scripting interfaces using these identifiers.

**Category**: averaging

**Plugin**: core

**Scripting name**: force\_summation\_psd

**Full name**: averaging.force\_summation\_psd

**Internal name**: force\_summation\_psd

**License**: any\_dpf\_supported\_increments

## Examples

These examples demonstrate how to use this operator in different programming environments. Each example shows how to instantiate the operator, connect the required inputs, and retrieve the output.

C++```cpp
#include "dpf_api.h"

ansys::dpf::Operator op("force_summation_psd"); // operator instantiation
op.connect(1, my_nodal_scoping);
op.connect(2, my_elemental_scoping);
op.connect(3, my_streams);
op.connect(4, my_data_sources);
op.connect(6, my_spoint);
op.connect(7, my_abs_rel_key);
op.connect(8, my_signif);
ansys::dpf::FieldsContainer my_force_accumulation = op.getOutput<ansys::dpf::FieldsContainer>(0);
ansys::dpf::FieldsContainer my_moment_accumulation = op.getOutput<ansys::dpf::FieldsContainer>(1);
ansys::dpf::FieldsContainer my_forces_on_nodes = op.getOutput<ansys::dpf::FieldsContainer>(10);
ansys::dpf::FieldsContainer my_moments_on_nodes = op.getOutput<ansys::dpf::FieldsContainer>(11);

```

CPython```python
import ansys.dpf.core as dpf

op = dpf.operators.averaging.force_summation_psd() # operator instantiation
op.inputs.nodal_scoping.connect(my_nodal_scoping)
op.inputs.elemental_scoping.connect(my_elemental_scoping)
op.inputs.streams.connect(my_streams)
op.inputs.data_sources.connect(my_data_sources)
op.inputs.spoint.connect(my_spoint)
op.inputs.abs_rel_key.connect(my_abs_rel_key)
op.inputs.signif.connect(my_signif)
my_force_accumulation = op.outputs.force_accumulation()
my_moment_accumulation = op.outputs.moment_accumulation()
my_forces_on_nodes = op.outputs.forces_on_nodes()
my_moments_on_nodes = op.outputs.moments_on_nodes()

```

IPython```python
import mech_dpf
import Ans.DataProcessing as dpf

op = dpf.operators.averaging.force_summation_psd() # operator instantiation
op.inputs.nodal_scoping.Connect(my_nodal_scoping)
op.inputs.elemental_scoping.Connect(my_elemental_scoping)
op.inputs.streams.Connect(my_streams)
op.inputs.data_sources.Connect(my_data_sources)
op.inputs.spoint.Connect(my_spoint)
op.inputs.abs_rel_key.Connect(my_abs_rel_key)
op.inputs.signif.Connect(my_signif)
my_force_accumulation = op.outputs.force_accumulation.GetData()
my_moment_accumulation = op.outputs.moment_accumulation.GetData()
my_forces_on_nodes = op.outputs.forces_on_nodes.GetData()
my_moments_on_nodes = op.outputs.moments_on_nodes.GetData()

```

  
## Changelog

- Version 0.0.0: Initial release.