# FIELD_INTERACTION_MODEL

Specifies an interaction model between fields.

AcuSolve Command

## Syntax

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

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.
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)
${Q}_{wall}={Q}_{convectivr}+{Q}_{quenching}+{Q}_{evaporative}$
where convective heat is calculated using standard turbulence wall function. Separate models are used for quenching and evaporative parts.
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)
$N={\left({C}_{m}\left({T}_{wall}-{T}_{saturation}\right)\right)}^{n}$
${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}$ .
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)
$2{\text{κ}}_{l}{\text{f}}_{v}\sqrt{\frac{{t}_{w}{\text{ρ}}_{l}{\text{Cp}}_{l}}{\pi {\text{κ}}_{l}}}$
${\text{κ}}_{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.
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{min}\left({\text{D}}_{ref}\left(-\frac{{T}_{saturation}-{T}_{bulk}}{\Delta {\text{T}}_{scal}}\right),{\text{D}}_{max}\right)$
${\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}$ .
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.

The following is an example of the levelset field interaction model:
FIELD_INTERACTION_MODEL( "water-air combo" ) {
type          = levelset
fields_1      = {"air"}
fields_2      = {"water"}
thickness_type = auto
}
The following is an example of the algebric_eulerian field-interaction model setup, which assigns the heavier fluid as carrier_field. It is also noted that the carrier_field has to be a fluid, while the dispersed field can be any medium, for example gas bubbles, particles and droplets.
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
}
In the special case of the humid-air model, AcuSolve incorporates these coefficients internally, hence {0,0,0;} is used in an input file.
FIELD_INTERACTION_MODEL( "humidAir" )
fields = {"humid_air","air"}
diffusion_matrix = {0,0,0;}
}