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. Only used for field interaction with type = levelset or levelset_bfecc or advective_diffusive.
- fields_2 (string) [=none]
- List of names of fields. Currently only accepts one field name. The name must refer to a defined field entry. Only used for field interaction with type = levelset or levelset_bfecc or advective_diffusive.
- levelset_redistancing (enumerated) [=implicit]
- Method used to perform levelset redistancing at the end of each time step.
Only used for field interaction with type =
levelset or levelset_bfecc.
- implicit
- An implicit integration method is used to solve the levelset redistancing equation. This approach is more robust but also usually more CPU time expensive.
- explicit
- An explicit integration method is used to solve the levelset redistancing equation. This approach is usually faster than the implicit method but can be ill-suited for some cases.
- 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:
- nucleating_site_density_type (enumerated)[=Lemmert_Chawla]
- Type of nucleating site density used for calculating evaporative heat flux
.
- Lemmert_Chawla
- In this model, the following model is used to calculate
nucleation site density:
- 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 . Use with nucleating_site_density_type = Lemmert_Chawla.
- nucleating_site_density_power_index (real) [=1.805]
- Power index of nucleating site density . 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
.
- Del_Valle_Kenning
- In this model, the following model is used to calculate
nucleation site density:
- 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 used to model bubble wait time as . 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
.
- Tolubinski_Kostanchuk
- In this model, the following model is used to calculate
departing bubble diameter:
- 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, . Use with bubble_departure_diameter_type = Tolubinski_Kostanchuk.
- bubble_departure_maximum_diameter (real) [=0.0014]
- Departing bubble maximum diameter, . Use with bubble_departure_diameter_type = Tolubinski_Kostanchuk.
- bubble_departure_scaling_temperature (real) [=45]
- Departing bubble scaling temperature, . 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 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 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 Saffman 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.
- user_function
- User-defined function for AcuSolve-EDEM coupling torque model. Requires torque_model_user_function, torque_model_user_values, and torque_model_user_strings.
- torque_model_user_function (string) [no default]
- Name of the torque model user-defined function. Used with torque_model = user_function.
- torque_model_user_values (array) [={}]
- Array of values to be passed to the user-defined function. Used with torque_model = user_function.
- torque_model_user_strings (list) [={}]
- Array of strings to be passed to the user-defined function. Used with torque_model = user_function.
- 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.
- 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 miscible models, a surface tension model is used to model liquid droplet and gas bubble deformation. For type = eulerian_eulerian, the surface_tension_model is in effect for all drag and lift models. For type = algebriac_eulerian, the surface_tension_model is used when drag_model = ishii_zuber, 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;}
}