Skip to content

Basic operations (3D)

ndsl.stencil offers the following basic operations as building blocks in 3D:

add(summand_1, summand_2, sum)

Add two inputs together, sum to a new field.

Parameters:

Name Type Description Default
summand_1 FloatField

input field

required
summand_2 FloatField

input field

required
sum FloatField

output field

required

add_to_self(field, summand)

Add a summand to a field.

Parameters:

Name Type Description Default
field FloatField

field to be modified

required
summand FloatField

modification to be made

required

average_input(q_out, adjustment)

Averages every element of q_out with every element of the adjustment field, overwriting q_out.

Parameters:

Name Type Description Default
adjustment FloatField

adjustment field

required
q_out FloatField

output field

required

copy(input, output)

Copy one field into another.

Parameters:

Name Type Description Default
input FloatField

input field

required
output FloatField

output field

required

divide(dividend, divisor, quotient)

Divide dividend by divisor, output to a new field.

Parameters:

Name Type Description Default
dividend FloatField

input field

required
divisor FloatField

input field

required
quotient FloatField

output field

required

divide_self(field, divisor)

Divide a field by a divisor.

Parameters:

Name Type Description Default
field FloatField

field to be modified

required
divisor FloatField

modification factor

required

multiply(factor_1, factor_2, product)

Multiply two inputs together, output to a new field.

Parameters:

Name Type Description Default
factor_1 FloatField

input field

required
factor_2 FloatField

input field

required
product FloatField

output field

required

multiply_to_self(field, factor)

Multiply a field by a factor.

Parameters:

Name Type Description Default
field FloatField

field to be modified

required
factor FloatField

modification factor

required

select_k_from_field(in_field, out_field, k_select)

Saves a specific k-index of a 3D field to a new 2D array. The k-value can be different for each i,j point.

Parameters:

Name Type Description Default
in_field FloatField

A 3D array to select from

required
out_field FloatFieldIJ

A 2D field to save values in

required
k_select IntFieldIJ

the k-value to extract from in_field

required

set_value(field, value)

Sets every element of a field to a single value.

Parameters:

Name Type Description Default
field FloatField

output field

required
value Float

value of Float type

required

subtract(minuend, subtrahend, difference)

Subtract subtrahend from minuend, output to a new field.

Parameters:

Name Type Description Default
minuend FloatField

input field

required
subtrahend FloatField

input field

required
difference FloatField

output field

required

subtract_from_self(field, subtrahend)

Subtract a subtrahend from a field.

Parameters:

Name Type Description Default
field FloatField

field to be modified

required
subtrahend FloatField

modification to be made

required