# FIELD_INTERACTION_MODEL

Specifies an interaction model between fields.

## Type

AcuSolve Command

## Syntax

FIELD_INTERACTION_MODEL("name") {parameters...}

## Qualifier

User-given name.

## Parameters

- type (enumerated) [=none]
- Type of the field interaction model.
- none
- No field interaction model.
- levelset
- Use levelset technology to ensure immiscibility between the fields listed in fields_1 and fields_2 entries. Requires levelset in the multi_field entry of the EQUATION command.
- levelset_bfecc
- Use levelset technology with the BFECC advection scheme. Requires levelset_bfecc in the multi_field entry of the EQUATION command.
- algebraic_eulerian
- Use the Algebraic Eulerian model to simulate momentum exchange between a carrier field and a dispersed field or conduct one-way transient AcuSolve-EDEM coupling. Requires algebraic_eulerian in the multi_field entry of the EQUATION command. For AcuSolve-EDEM coupling, the edem_coupling flag in the EQUATION command should be set to on.
- eulerian _eulerian
- Use the Eulerian Eulerian model to simulate momentum exchange between a carrier field and a dispersed field or conduct two-way AcuSolve-EDEM coupling. Requires eulerian _eulerian in the multi_field entry of the EQUATION command. For AcuSolve-EDEM coupling, the edem_coupling flag in the EQUATION command should be set to on.
- advective_diffusive
- Use the advective_diffusive method to model momentum exchange between Humid_Air and Air. Requires advective_diffusive in the multi_field entry of the EQUATION command.

- fields_1 (string) [=none]
- List of names of fields. Currently only accepts one field name. The name must refer to a defined field entry.
- fields_2 (string) [=none]
- List of names of fields. Currently only accepts one field name. The name must refer to a defined field entry.
- fields (list) [={}]
- Name of the fields for advective_diffusive. Used by diffusion_matrix to get array indices. For the humid air model two field names are accepted. The name must refer to a defined field entry.
- algebraic_slip_model (boolean) [=on]
- Flag specifying whether to calculate momentum exchange between fields by employing the algebraic slip model. If off, carrier and dispersed fields are treated as homogeneous fields. Only used for field interaction with type = algebraic_eulerian.
- phase_change_type (enumerated) [=none]
- Type of the phase change for algebraic_eulerian.
- none
- No phase change modeling.
- wall_boiling
- In this model, nucleate boiling by the heated wall is modeled
with RPI wall boiling model. In the RPI model, it is assumed
that heat flux on the wall gets partitioned to two parts
corresponding to sub-cooled liquid and saturated evaporating
vapor. The sub-cooled liquid is also partitioned to convective
and quenching heat flux:
(1) where convective heat is calculated using standard turbulence wall function. Separate models are used for quenching and evaporative parts.$${Q}_{wall}={Q}_{convectivr}+{Q}_{quenching}+{Q}_{evaporative}$$

- nucleating_site_density_type (enumerated)[=Lemmert_Chawla]
- Type of nucleating site density used for calculating evaporative heat flux
${Q}_{evaporative}$
.
- Lemmert_Chawla
- In this model, the following model is used to calculate
nucleation site density:
(2) ${C}_{m}$ and ${C}_{n}$ are user changeable values and can be set in nucleating_site_density_coefficient and nucleating_site_density_power_index parameters. Vapor phase latent_heat_temperature is used to set ${T}_{saturation}$ .$$N={\left({C}_{m}\left({T}_{wall}-{T}_{saturation}\right)\right)}^{n}$$ - user_function
- User-defined function. Requires nucleating_site_density_user_function, nucleating_site_density_user_values and nucleating_site_density_user_strings.

- nucleating_site_density_coefficient (real) [=210]
- Coefficient of nucleating site density ${C}_{m}$ . Use with nucleating_site_density_type = Lemmert_Chawla.
- nucleating_site_density_power_index (real) [=1.805]
- Power index of nucleating site density ${C}_{n}$ . Use with nucleating_site_density_type = Lemmert_Chawla.
- nucleating_site_density_user_function (string) [no default]
- Name of the user-defined function. Used with nucleating_site_density_type = user_function.
- nucleating_site_density_user_values (array)[={}]
- Array of values to be passed to the user-defined function. Used with nucleating_site_density_type = user_function.
- nucleating_site_density_user_strings (list) [={}]
- Array of strings to be passed to the user-defined function. Used with nucleating_site_density_type = user_function.
- quenching_heat_transfter_coefficient_type (enumerated) [=Del_Valle_Kenning]
- Type of quenching heat transfer coefficient used for calculating quenching
heat flux ${Q}_{quenching}$
.
- Del_Valle_Kenning
- In this model, the following model is used to calculate
nucleation site density:
(3) ${\text{\kappa}}_{l}$ , ${\text{\rho}}_{l}$ and ${\text{Cp}}_{l}$ are liquid phase thermal conductivity, density and specific heat, ${\text{f}}_{v}$ is vapor production frequency and ${\text{t}}_{w}$ is bubble wait time on nucleating site.$$2{\text{\kappa}}_{l}{\text{f}}_{v}\sqrt{\frac{{t}_{w}{\text{\rho}}_{l}{\text{Cp}}_{l}}{\pi {\text{\kappa}}_{l}}}$$ - user_function
- User-defined function. Requires quenching_heat_transfter_coefficient _user_function, quenching_heat_transfter_coefficient _user_values and quenching_heat_transfter_coefficient_user_strings.

- quenching_heat_transfter_coefficient _user_function (string) [no default]
- Name of the user-defined function. Used with quenching_heat_transfter_coefficient_type = user_function.
- quenching_heat_transfter_coefficient _user_values (array) [={}]
- Array of values to be passed to the user-defined function. Used with quenching_heat_transfter_coefficient_type = user_function.
- quenching_heat_transfter_coefficient _user_strings (list) [={}]
- Array of strings to be passed to the user-defined function. Used with quenching_heat_transfter_coefficient_type = user_function.
- bubble_waiting_time_fraction (real) [=0.1]
- Bubble fraction ${\text{C}}_{w}$ used to model bubble wait time as ${t}_{w}=\frac{{\text{C}}_{w}}{{\text{f}}_{v}}$ . Use with quenching_heat_transfter_coefficient _type = Del_Valle_Kenning.
- bubble_departure_diameter_type (enumerated) [=Tolubinski_Kostanchuk]
- Type of bubble departing diameter type used for
calculating evaporating heat flux
${Q}_{evaporating}$
.
- Tolubinski_Kostanchuk
- In this model, the following model is used to calculate
departing bubble diameter:
(4) ${\text{D}}_{ref}$ , ${\text{D}}_{max}$ and ${\text{T}}_{scal}$ are reference diameter, maximum diameter and scaling temperature. You can specify these parameters. Vapor phase latent_heat_temperature is used to set ${T}_{saturation}$ , liquid_subcooling_temperature_type is used to calculate ${T}_{bulk}$ and bubble_departure_scaling_temperature is used to set ${T}_{scal}$ .$$\text{min}\left({\text{D}}_{ref}\left(-\frac{{T}_{saturation}-{T}_{bulk}}{\Delta {\text{T}}_{scal}}\right),{\text{D}}_{max}\right)$$ - user_function
- User-defined function. Requires bubble_departure_diameter _user_function, bubble_departure_diameter _user_values and bubble_departure_diameter_user_strings.

- bubble_departure_reference_diameter (real) [=0.0006]
- Departing bubble reference diameter, ${\text{D}}_{ref}$ . Use with bubble_departure_diameter_type = Tolubinski_Kostanchuk.
- bubble_departure_maximum_diameter (real) [=0.0014]
- Departing bubble maximum diameter, ${\text{D}}_{max}$ . Use with bubble_departure_diameter_type = Tolubinski_Kostanchuk.
- bubble_departure_scaling_temperature (real) [=45]
- Departing bubble scaling temperature, ${\text{T}}_{scal}$ . Use with bubble_departure_diameter_type = Tolubinski_Kostanchuk.
- bubble_departure_diameter _user_function (string) [no default]
- Name of the user-defined function. Used with bubble_departure_diameter _type = user_function.
- bubble_departure_diameter_user_values (array) [={}]
- Array of values to be passed to the user-defined function. Used with bubble_departure_diameter_type = user_function.
- bubble_departure_diameter_user_strings (list) [={}]
- Array of strings to be passed to the user-defined function. Used with bubble_departure_diameter_type = user_function.
- liquid_subcooling_temperature_type (enumerated) [=fixed_yplus]
- Type of sub-cooling or bulk temperature calculation for
bubble_departure_diameter.
- fixed_yplus
- If selected, a fixed user-given ${y}^{+}$ location will be considered for bulk temperature calculation. The value can be set using liquid_subcooling_fixed_yplus.
- fixed_temperature
- If selected, a fixed user-given temperature will be considered for bulk temperature calculation. The value can be set using liquid_subcooling_fixed_temperature.

- liquid_subcooling_fixed_yplus (real) [=250]
- Fixed ${y}^{+}$ that will be used to calculate bulk temperature for liquid_subcooling_temperature_type = fixed_yplus.
- liquid_subcooling_fixed_temperature (real) [=273.15]
- Fixed temperature that will be used to calculate bulk temperature for liquid_subcooling_temperature_type = fixed_temperature.
- condensation_factor (real) [=1.0]
- Volumetric condensation correction factor used with phase_change_type = wall_boiling.
- evaporation_factor (real) [=1.0]
- Volumetric evaporation correction factor used with phase_change_type = wall_boiling.

- carrier_field (string) [=none]
- Name of a carrier field. Only one carrier field is accepted. The name must refer to a defined field entry. Only used for field interaction with type = algebraic_eulerian or eulerian _eulerian. The heavier fluid should be assigned as carrier_field when type = algebraic_eulerian. For phase_change_type = wall_boiling, carrier should be the liquid phase.
- dispersed_field (string) [=none]
- Name of a dispersed field. Only one dispersed field per field_interacion_model is accepted. The name must refer to a defined field entry. Only used for field interaction with type = algebraic_eulerian or eulerian _eulerian. For phase_change_type = wall_boiling, dispersed should be the vapor phase.
- dispersed_field_diameter_type (enumerated) [=constant]
- Type of the dispersed field, such as bubbles, droplets
and particles. For non-boiling applications, currently
constant is only supported. Only used for field
interaction with type =
algebraic_eulerian or eulerian
_eulerian.
- constant
- A constant value is used for dispersed field. Should be set using dispersed_field_diameter.
- boiling_Kurul_linear
- If used for phase_change_type = wall_boiling, dispersed field (vapor) diameter will be calculated using piecewise linear model proper By Kurul. In this model, diameter will be changed from 0 to 2 mm.
- boiling_Unal
- If used for phase_change_type = wall_boiling, dispersed field (vapor) diameter will be calculated using piecewise linear model proper By Unal. In this model, diameter will be changed from 0 to 1.5 mm.
- boiling_Kurul_exponential
- If used for phase_change_type = wall_boiling, dispersed field (vapor) diameter will be calculated using an exponentially smoothed piecewise linear model proper By Kurul. In this model, diameter will be changed from 0 to 2 mm.

- dispersed_field_diameter (real) [=0.001]
- Diameter of the dispersed field, such as bubbles, droplets and particles, when dispersed_field_diameter_type = constant. Only used for field interaction with type = algebraic_eulerian.
- drag_model (enumerated) [=schiller_nauman]
- Type of the drag model used in algebraic slip model to calculate momentum
exchange between fields. Only used for field interaction with
type = algebraic_eulerian or
eulerian _eulerian.
- schiller_nauman
- Used for small sparsely distributed spherical bubbles, droplets and particles. Bubble and droplet deformations are ignored.
- Ishii_Zuber
- Used for sparsely distributed fluid particles and bubbles. Bubble and droplet deformations can be considered if a surface tension model is specified.
- Grace
- Used for sparsely distributed fluid particles and bubbles. Bubble and droplet deformations can be considered if a surface tension model is specified. This model is suitable for large bubbles.
- Wen_Yu
- Used for densely distributed solid particles. For AcuSolve-EDEM coupling, it is the only value for low solid fraction regimes.
- Gidaspow
- Also called Ergun-Wen-Yu. Used for AcuSolve-EDEM coupling for all solid fraction ranges. Can be used for spherical and non-spherical particles.
- DiFelice
- Used for AcuSolve-EDEM coupling for all solid fraction ranges. Can be used for spherical and non-spherical particles.
- Syamlal_Obrien
- Used for AcuSolve-EDEM coupling for all solid fraction ranges. Can be used for spherical particles only.
- Beetstra
- Used for AcuSolve-EDEM coupling for all solid fraction ranges. Can be used for spherical particles only.
- Rong
- Used for AcuSolve-EDEM coupling for all solid fraction ranges, primarily used for non-spherical particles.

- Ergun_drag_coefficient_A (real) [=150]
- Constant factor of viscos term in Ergun drag model. Used with drag_model= Gidaspow.
- Ergun_drag_coefficient_B (real) [=1.75]
- Constant factor of inviscid term in Ergun drag model. Used with drag_model= Gidaspow.
- nonspherical_drag_coef_model (enumerated) [=none]
- Type of the drag coefficient model used for non-spherical particles in
AcuSolve-EDEM coupling. Only used with
drag_model= Gidaspo,
DiFelice and Rong.
- none
- If used, spherical drag models will be considered.
- Haider_Levenspiel
- Used to calculate drag coefficient for isometric shape particles where orientation of particles can be ignored. Sphericity of particles should be provided using edem_particles_sphericity_values.
- Holzer_Sommerfeld
- Used to calculate drag coefficient for non-isometric shape particles. Aspect ratio of particles should be provided using edem_particles_aspect_ratio_values.
- Ganser
- Used to calculate drag coefficient for non-isometric shape particles. Aspect ratio of particles should be provided using edem_particles_aspect_ratio_values.

- edem_particles_sphericity_values (array) [={1.0,0;}]
- A two-column array of sphericity and particle volume values. For single type particle case, volume can be entered as 0. Used with nonspherical_drag_coef_model = Haider_Levenspiel.
- edem_particles_aspect_ratio_values (array) [={1.0,0;}]
- A two-column array of aspect ratio and particle volume values. For single type particle case, volume can be entered as 0. Used with nonspherical_drag_coef_model = Holzer_Sommerfeld or Ganser.
- max_packing_volume_fraction (real) [=1.0]
- Maximum packing of dispersed field volume fraction when drag_model = ishii_zuber. The default value of 1.0 is used for fluid particles. For solid a value of 0.62 is recommended.
- lift_model (enumerated) [=legendre_magnaudet]
- Type of the lift model used in the algebraic slip model to calculate
momentum exchange between fields. Only used for field interaction with
type = algebraic_eulerian.
- none
- Lift force will be ignored in the algebraic slip model.
- legendre_magnaudet
- Used for small bubbles, droplets and particles. Bubble and droplet deformations are ignored.
- Saffman_Mei
- Used for small sparse bubbles, droplets and particles. Bubble and droplet deformations are ignored.
- Tomiyama
- Used for gas bubbles in liquids. A surface tension model is required.
- Moraga
- Used for small sparse bubbles, droplets and particles. Bubble and droplet deformations are ignored.
- Saffman_Magnus
- Used only with AcuSolve-EDEM coupling for solid particles.

- Saffman_lift_coefficient (real) [=1.615]
- Constant factor of Saffmass lift force. Used with lift_model= Saffman_Magnus.
- Magnus_lift_coefficient (real) [=0.125]
- Constant factor of Magnus lift force. Used with lift_model= Saffman_Magnus.
- diffusion_matrix (array) [={}]
- Symmetric array of diffusion coefficients for the field mixture diffusion. The first three numbers define the diagonal values (self-diffusion coefficients) and the last three numbers define the binary coefficients. For the three-field mixture, it will be {D11,D22,D33,D12,D13,D23}. Use with advective_diffusive. Order of indices will be extracted from fields.
- surface_tension_model (string) [=none]
- Name of a valid surface tension model that will be used for the current immiscible model. For type = algebraic_eulerian, a surface tension model is used to model liquid droplets and gas bubbles deformation when drag_model = ishii_zuber or drag_model = grace or lift_model = tomiyama.
- thickness_type (enumerated) [=automatic]
- Type of the interface thickness type for immiscible
field interaction (levelset and
algebraic_eulerian).
- constant or const
- Constant value of the interface thickness.
- num_elements or nelems
- Constant value of the interface thickness calculated based on the average element size.
- automatic or auto
- Equivalent to the num_elements option with the value of thickness_num_elements = 3.

- thickness (real) >=0 [=0]
- Constant value of the interface thickness. Used with thickness_type = constant option. Note that a value of zero will be interpreted as thickness_type = automatic.
- thickness_num_elements (real) >=1 [=1]
- Multiplies the average element size to obtain the interface thickness length. Note that the average element size is calculated once at the beginning of the simulation and is calculated using only the elements intersected by the interface. If no interface is present in the volume, then the average is computed using all elements.
- turbulence_damping_levelset (boolean) [=off]
- Flag specifying whether to mitigate the turbulence generation at the interface for immiscible field interaction (levelset). Only used with the spalart-allmaras (SA) turbulence model or shear stress transport (SST) turbulence model.

## Description

This command specifies the interaction between fields.

FIELD_INTERACTION_MODEL commands are referenced by the MULTI_FIELD command.

```
FIELD_INTERACTION_MODEL( "water-air combo" ) {
type = levelset
fields_1 = {"air"}
fields_2 = {"water"}
thickness_type = auto
}
```

```
FIELD_INTERACTION_MODEL( "water-bubble combo" ) {
type = algebraic_eulerian
dispersed_field = “bubble”
carrier_field = “water”
algebraic_slip_model = on
dispersed_field_diameter = 0.001
drag_model = schiller_nauman
lift_model = legendre_magnaudet
thickness_type = auto
turbulent_schmidt_number = 0.85
}
```

```
FIELD_INTERACTION_MODEL( "humidAir" )
fields = {"humid_air","air"}
diffusion_matrix = {0,0,0;}
}
```