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 or eulerian _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. The model is also used for granular flows for all solid fraction ranges and it can be used for spherical particles only.
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.
EMMS
Used for AcuSolve-EDEM coupling for all solid fraction ranges, and it can be used for spherical and non-spherical particles. The model is also used for granular flows for all solid fraction ranges and it can be used for spherical particles only.
user_function
User-defined function for AcuSolve-EDEM coupling drag model. Requires drag_model_user_function, drag_model_user_values, and drag_model_user_strings.
drag_model_user_function (string) [no default]
Name of the drag model user-defined function. Used with drag_model = user_function.
drag_model_user_values (array) [={}]
Array of values to be passed to the user-defined function. Used with drag_model= user_function.
drag_model_user_strings (list) [={}]
Array of strings to be passed to the user-defined function. Used with drag_model= user_function.
Ergun_drag_coefficient_A (real) [=150]
Constant factor of viscos term in Ergun drag model. Used with drag_model= Gidaspow or EMMS.
Ergun_drag_coefficient_B (real) [=1.75]
Constant factor of inviscid term in Ergun drag model. Used with drag_model= Gidaspow or EMMS.
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.
edem_force_scale_factor (real) [=1.0]
Force scale factor that is used to scale the coupling forces for AcuSolve-EDEM coupling.
edem_mass_transfer (boolean) [=off]
Flag for conducting mass transfer for the liquid phase in AcuSolve-EDEM coupling.
edem_contact_angle (real) [=70]
Contact angle (degree) between particle and gas/liquid interface, varying from 0 degrees to 180 degrees and used for the three-phase AcuSolve-EDEM coupling. The surface_tension_model for all three phases is required.
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 to calculate momentum exchange between fields. Used for field interaction with type = algebraic_eulerian or eulerian_eluerian.
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.
nonspherical_lift
Used only with AcuSolve-EDEM coupling for solid particles. Lift force caused by the particle’s incident angle.
Saffman_Magnus
Used only with AcuSolve-EDEM coupling for solid particles. Lift force due to the rotation of a particle (Magnus) and due to the flow velocity gradient (Saffman).
Saffman_Magnus_nonspherical_lift
Used only with AcuSolve-EDEM coupling for solid particles. Lift force accounting both Saffman_Magnus and nonspherical_lift.
user_function
User-defined function for AcuSolve-EDEM coupling lift model. Requires lift_model_user_function, lift_model_user_values, and lift_model_user_strings.
lift_model_user_function (string) [no default]
Name of the lift model user-defined function. Used with lift_model = user_function.
lift_model_user_values (array) [={}]
Array of values to be passed to the user-defined function. Used with lift_model= user_function.
lift_model_user_strings (list) [={}]
Array of strings to be passed to the user-defined function. Used with lift_model= user_function.
Saffman_lift_coefficient (real) [=1.615]
Constant factor of Saffmass lift force. Used with lift_model= Saffman_Magnus or Saffman_Magnus_nonspherical_lift.
Magnus_lift_coefficient (real) [=0.125]
Constant factor of Magnus lift force. Used with lift_model= Saffman_Magnus or Saffman_Magnus_nonspherical_lift.
torque_model (enumerated) [=none]
Type of the torque model used in the AcuSolve-EDEM coupling to calculate the torque acting on particles. Only used for field interaction with type= algebraic_eulerian or eulerian_eulerian.
none
Torque will be ignored.
pitching_torque
Torque due to the offset of the center of pressure from geometric center.
rotational_torque
Torque caused by the relative rotation of a particle with respect to rotation of fluid.
pitching_rotational_torque
Torque accounting both pitching torque and rotational torque.
wall_lubrication_model (enumerated) [=none]
The wall lubrication model is used to calculate the repulsive force between dispersed phase and the wall. Only used for field interaction with type = {algebraic_eulerian, eulerian_eulerian}.
none
Wall lubrication force will be ignored.
Antal
Used for computing the repulsive force between bubbles (dispersed phase) and wall.
virtual_mass_model (boolean) [=off]
Flag specifying whether to calculate virtual mass force. This force is due to the relative acceleration between phases. Only used for field interaction with type = {algebraic_eulerian, eulerian_eulerian}.
diffusion_matrix_type (enumerated) [=constant]
Type of diffusion coefficient used to calculate individual binary diffusion of the mixture.
constant
Constant values of self (diagonal) and binary (off diagonal) diffusion.

Coefficients should be provided through diffusion_matrix. Using the values in the matrix, binary/mixture diffusion will be used to calculate diffusion for individual field.

gas_kinetic
Gas kinetic diffusivity model for gases only. Requires GAS_KINETIC_MODEL. Using the values from gas kinetic model, binary/mixture diffusion will be used to calculate diffusion for individual field.
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.
granular_flow (boolean) [=off]
Flag specifying whether to calculate solid properties (solid pressure and solid viscosity) for granular flows. If off, solid properties will be ignored. Only used for field interaction with type= eulerian_eulerian.
particle_restitution (real) [=0.9]
The coefficient of particle restitution is the ratio of the final to initial relative velocity between two particles after they collide. It normally ranges from 0 to 1, where 1 would be a perfectly elastic collision. It is used when granular_flow= on. The default value of 0.9 is used.
angle_internal_friction (real) [=30.0]
The angle of internal friction is a measure of the ability of a unit of rock or soil to withstand a shear stress. It is the angle on the graph (Mohr's Circle) of shear stress and normal effective stresses at which shear failure occurs. It is used when granular_flow= on. The default value of 30.0 is used. The relation between the angle of internal friction and standard penetration number is shown below (Peck, B. P., Hanson, E. W., & Thornburn, H. T. (1974). Foundation Engineering. 2nd. Edition. New York: John Willy & Sons, 7-8.)
SPT penetration, N-Value (blows/ foot) Density of Sand Angle of internal friction (degrees)
<4 Very loose <29
4 - 10 Loose 29 - 30
10 - 30 Medium 30 - 36
30 - 50 Dense 36 - 41
>50 Very dense >41
granular_temperature_model (enumerated) [=algebraic]
Type of the granular temperature model used to calculate granular temperature for granular flows. Only used for field interaction with type= eulerian_eulerian.
none
The granular temperature will be ignored.
constant
Constant granular temperature will be used.
algebraic
The granular temperature will be computed from the algebraic granular temperature equation.
constant_granular_temperature (real) [=0.0001]
The value of constant granular temperature. It is used when granular_temperature_model= constant. The default value of 0.0001 is used.
solid_pressure_model (enumerated) [=kinetic_collision]
Type of solid pressure model used for granular flows. Only used for field interaction with type= eulerian_eulerian.
none
The solid pressure will be ignored.
collision
Only the collisional component of solid pressure will be considered.
kinetic_collision
Both the kinetic and collisional components of the solid pressure will be considered.
solid_viscosity_model (enumerated) [=Gidaspow]
Type of solid viscosity model used for granular flows. Only used for field interaction with type= eulerian_eulerian.
constant
Constant value of solid viscosity will be used.
Gidaspow
The Gidaspow model for solid viscosity will be used.
constant_solid_viscosity (real) [=0.01]
The value of constant solid viscosity. It is used when solid_viscosity_model = constant. The default value of 0.01 is used.
surface_tension_model (string) [=none]
Name of a valid surface tension model that will be used for the immiscible or miscible models. For type = algebraic_eulerian or eulerian_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: 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: 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;}
}