Loading docs/source_docs/user_guide/inputs/images/CHT-1D.png 0 → 100644 +9.08 KiB Viewed Loading image diff... docs/source_docs/user_guide/inputs/boundary_conditions.rst +236 −73 Viewed Changes for docs/source_docs/user_guide/inputs/boundary_conditions.rst: 236 added lines, 73 removed lines. Original line number Diff line number Diff line Loading @@ -34,13 +34,13 @@ The type of the boundary conditions in the BC region must be defined with the pr | | * ``pi`` - pressure inflow | | | | | * ``po`` - pressure outflow | | | | | * ``mi`` - mass inflow | | | | | * ``nsw`` - no-slip wall | | | | | * ``eb`` - embedded boundary - for inhomogeneous Dirichlet BCs | | | | | of temperature or fluid velocity (mass inflow) on the | | | | | contained EBs | | | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ Fluid settings ~~~~~~~~~~~~~~ Loading @@ -52,7 +52,6 @@ using the prefix ``bc.[region_name].[fluid_name]``: | | Description | Type | Default | +========================+========================================================================+=============+===========+ | volfrac | Volume fraction [required if bc type is ``mi``] | Real | 0 | | | | | | +------------------------+------------------------------------------------------------------------+-------------+-----------+ | density | Fluid density [required if bc type is ``mi`` or ``pi``] | Real | 0 | +------------------------+------------------------------------------------------------------------+-------------+-----------+ Loading Loading @@ -97,6 +96,138 @@ Below is an example for specifying boundary conditions for fluid (``fluid``). bc.outflow.fluid.pressure = 0.0 Below is an example for specifying a normal inflow velocity magnitude for a region `eb-flow`. .. code-block:: none bc.regions = eb-flow bc.eb-flow = eb bc.eb-flow.my_fluid.volfrac = 1.0 bc.eb-flow.my_fluid.velocity = 0.1 Below is an example where only specific cells are imposed a velocity inflow in the x-direction. .. code-block:: none bc.regions = eb-flow bc.eb-flow = eb bc.eb-flow.eb.normal_tol = 3.0 bc.eb-flow.eb.normal = 0.9848 0.0000 0.1736 # 10 deg bc.eb-flow.my_fluid.volfrac = 1.0 bc.eb-flow.my_fluid.velocity = 0.1 0.0 0.0 .. _InputsBCSolids: Solids settings ~~~~~~~~~~~~~~~ For each inflow boundary condition region, general solids inputs are defined using the prefix ``bc.[region_name]``: +----------------------+------------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +======================+==================================================================+=============+===========+ | solids | Name of solid type in BC region. Only one solid is allowed in | String | None | | | an BC region. | | | +----------------------+------------------------------------------------------------------+-------------+-----------+ .. warning:: Mass inflow boundary conditions, ``bc.[region_name] = mi``, only support PIC parcels. EB inflow boundary conditions, ``bc.[region_name] = eb``, support DEM particles and PIC parcels. For inflow boundary conditions , the solid inputs are defined using the prefix ``bc.[region_name].[solid_name]``: Note that diameter distributions must define a weighting type, please refer to :ref:`ReferenceParticleDistributions <ReferenceParticleDistributions>`. +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +========================+=======================================================================+=============+===========+ | volfrac | Volume fraction | Real | 0 | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | temperature | Temperature | Real | 0 | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | species.[species_name] | Mass fraction of ``species_name`` | Real | 0 | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | velocity | Velocity components | Reals | 0 0 0 | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | volflow | Volumetric flow rate. | Real | 0 | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | massflow | Mass flow rate. | Real | 0 | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | diameter | Method to specify particle diameter in the IC region. This is | String | None | | | only used for auto-generated particles. | | | | | | | | | | Options: | | | | | | | | | | * ``constant`` - specified constant | | | | | * ``uniform`` - uniform distribution | | | | | * ``normal`` - normal distribution | | | | | * ``custom`` - user-defined distribution | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | type | Distribution weighting. | String | N/A | | | | | | | | Options: | | | | | | | | | | * ``number-weighted`` | | | | | * ``volume-weighted`` | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | bins | Number of bins used when discretizing the distribution to approximate | Int | 64 | | | the number of particles within an initial condition region. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | diameter.constant | Monodisperse (single valued) particle diameter. | Real | 0 | | | Required for ``constant`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | diameter.mean | Distribution mean. | Real | 0 | | | Required for ``normal`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | diameter.std | Distribution standard deviation. | Real | 0 | | | Required for ``normal`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | diameter.min | Minimum diameter to clip distribution. | Real | 0 | | | Required for ``normal`` distributions and ``uniform`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | diameter.max | Maximum diameter to clip distribution. | Real | 0 | | | Required for ``normal`` distributions and ``uniform`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | diameter.custom | File name that specifies either the cumulative or probability | String | None | | | distribution. Required for ``custom`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | density | Method to specify particle density in the IC region. This is | String | None | | | only used for auto-generated particles. | | | | | | | | | | Options: | | | | | | | | | | * ``constant`` - specified constant | | | | | * ``uniform`` - uniform distribution | | | | | * ``normal`` - normal distribution | | | | | * ``custom`` - user-defined distribution | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | density.constant | Monodisperse (single valued) particle density. | Real | 0 | | | Required for ``constant`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | density.mean | Distribution mean. | Real | 0 | | | Required for ``normal`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | density.std | Distribution standard deviation. | Real | 0 | | | Required for ``normal`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | density.min | Minimum diameter to clip distribution. | Real | 0 | | | Required for ``normal`` distributions and ``uniform`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | density.max | Maximum diameter to clip distribution. | Real | 0 | | | Required for ``normal`` distributions and ``uniform`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | density.custom | File name that specifies either the cumulative or probability | String | None | | | distribution. Required for ``custom`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ Transient boundary conditions ----------------------------- Loading Loading @@ -125,96 +256,128 @@ transient BCs. .. image:: ./images/transient-bc.png Embedded boundary options ------------------------- Thermal boundary conditions --------------------------- In MFIX-Exa it is possible to set boundary conditions on the embedded boundaries. For instance, it is possible to set inhomogeneous Dirichlet boundary conditions for the fluid temperature variable on the subpart of the embedded boundaries which is contained in the BC region (which in this case has to be tridimensional). We recall that, on the remaining part of the EBs, homogeneous Neumann boundary conditions are assumed by default. Boundary conditions can be applied to embedded boundaries (EBs). For example, a constant wall temperature can be imposed on the entire EB or restricted to a specific region. In the following table there is a list of the possible entries for EB boundary conditions. Each entry must be preceded by the prefix ``bc.[region_name]`` To apply a boundary condition to only a portion of an EB, a face normal vector and tolerance can be specified. This allows the condition to be applied only to EB faces whose normals align with the specified direction within a given angular tolerance. The following inputs are defined using the prefix ``bc.[region_name].eb``: +---------------------+-----------------------------------------------------------------------+-------------+-----------+ +--------------------+-----------------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +=====================+=======================================================================+=============+===========+ | eb.temperature | Inhomogeneous Dirichlet BC value for temperature on EBs contained in | Real | 0.0 | | | the (tridimensional) region [required if advect_enthalpy=1 and | | | | | bc_region_type='eb']. | | | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ +====================+=======================================================================+=============+===========+ | normal | [Optional] Specifies the target face normal direction. Only EB faces | Reals | 0 0 0 | | | whose normals are parallel (within the specified tolerance) will have | | | | | the boundary condition applied. | | | +--------------------+-----------------------------------------------------------------------+-------------+-----------+ | normal_tol | [Optional] Angular tolerance (in degrees) used with ``eb.normal`` to | Real | 0 | | | select EB faces. A value of 0 requires exact alignment. | | | +--------------------+-----------------------------------------------------------------------+-------------+-----------+ Below is an example for specifying boundary conditions for a fluid `myfluid`. .. code-block:: none The following table lists the thermal boundary condition options that can be applied to embedded boundaries (EBs), with inputs defined using the prefix ``bc.[region_name].eb``. bc.regions = hot-wall +----------------------+-----------------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +======================+=======================================================================+=============+===========+ | temperature | Specify a wall temperature model for the embedded boundary. | String | adiabatic | | | | | | | | Options: | | | | | | | | | | * ``adiabatic`` - no heat flux through the wall | | | | | * ``constant`` - impose a constant temperature along the EB. | | | | | * ``CHT-1D`` - compute a temperature for the wall using the 1D | | | | | conjugate heat transfer model. | | | | | | | | +----------------------+-----------------------------------------------------------------------+-------------+-----------+ | temperature.constant | Constant wall temperature. | Real | None | | | A valid is required for ``constant`` EB temperature model. | | | +----------------------+-----------------------------------------------------------------------+-------------+-----------+ bc.hot-walls = eb bc.hot-walls.eb.temperature = 800 The conjugate heat transfer model approximates heat transfer through the embedded boundary using one-dimensional, steady-state conduction. The external environment is treated as a thermal reservoir with a constant temperature in both space and time. This approach is illustrated in :numref:`fig_conjugate_heat_transfer_bc`, where heat flows through a series of thermal resistances: from the fluid to the inner wall surface, through the wall, and finally to the environment. The direction of heat transfer---into or out of the system---is governed by the temperature gradient between the fluid and the surroundings. In addition to the temperature, it is possible to set an inflow condition for fluid on an embedeed boundary. We recall that, on the remaining part of the EBs, no slip velocity conditions are assumed by default. .. _fig_conjugate_heat_transfer_bc: In the following table is a list of the possible entries for inflow EB boundary conditions. Each entry must be preceded by the prefix ``bc.[region_name]``. Like traditional mass inflows, the fluid temperature, pressure, and species composition must be provided when appropriate. .. figure:: ./images/CHT-1D.png :height: 2in :align: center :alt: Schematic of the conjugate heat transfer boundary condition. +-----------------------+-----------------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +=======================+=======================================================================+=============+===========+ | [fluid_name].velocity | [Required if not `volflow` or `massflow`] | | | | | Inflow fluid velocity on EB faces | Reals | 0 0 0 | | | contained in the (tridimensional) region. | | | | | Note that if only one value is specified, that is assumed to | | | | | be the magnitude in the direction of the EB face's normal. | | | +-----------------------+-----------------------------------------------------------------------+-------------+-----------+ | [fluid_name].volflow | [Required if not `velocity` or `massflow`] | | | | | Inflow BC for fluid volumetric flow | Real | 0 | | | rate in the (tridimensional) region. The flow is assumed to be | | | | | normal to the EB surface in the region. | | | +-----------------------+-----------------------------------------------------------------------+-------------+-----------+ | [fluid_name].massflow | [Required if not `velocity` or `volflow`] | | | | | Inflow BC for fluid mass flow rate in the (tridimensional) region. | Real | 0 | | | The flow is assumed to be normal to the EB surface in the region. | | | +-----------------------+-----------------------------------------------------------------------+-------------+-----------+ | [fluid_name].volfrac | [Required] Volume fraction. | Real | 0 | +-----------------------+-----------------------------------------------------------------------+-------------+-----------+ | eb.normal | [Optional] When specified, only cells with EB face normal that is | Reals | 0 0 0 | | | parallel and opposite in direction to the specified values | | | | | are imposed with the inflow velocity. | | | +-----------------------+-----------------------------------------------------------------------+-------------+-----------+ | eb.normal_tol | [Optional] Used in conjunction with `eb.normal`. It determines the | Real | 0 | | | tolerance (in degrees) for choosing cells with a specific normal. | | | +-----------------------+-----------------------------------------------------------------------+-------------+-----------+ Note that only one of ``velocity`` or ``volflow`` or ``massflow`` should be specified. Schematic of the conjugate heat transfer boundary condition. Below is an example for specifying a normal inflow velocity magnitude for a region `eb-flow`. An effective resistance is calculated based on the convective heat transfer coefficient between the fluid and wall, :math:`h_{int}`, conduction through the wall with thickness :math:`L_w` and thermal conductivity :math:`\kappa_w`, and convective heat transfer from the exterior wall to the environment :math:`h_{ext}`. .. code-block:: none .. math:: bc.regions = eb-flow R_{eff} = \left( \frac{1}{h_{int}} + \frac{L_w}{\kappa_w} + \frac{1}{h_{ext}} \right)^{-1} bc.eb-flow = eb The interior wall temperature is determined by balancing the heat flux contributions from internal convection, wall conduction, and external convection, resulting in a closed-form expression based on the effective thermal resistance of the system. bc.eb-flow.my_fluid.volfrac = 1.0 bc.eb-flow.my_fluid.velocity = 0.1 .. math:: Below is an example where only specific cells are imposed a velocity in the x-direction. T_{w,int} = T_f - \frac{1}{h_{int}}\left[ \frac{T_f - T_{\infty}}{R_{eff}} \right] .. code-block:: none bc.regions = eb-flow The model settings are defined using the prefix ``bc.[region_name].eb.temperature.CHT-1D``: bc.eb-flow = eb .. |avg_T| replace:: :math:`T = \varepsilon_f T_f + (1-\varepsilon_f) \overline{T}_p` bc.eb-flow.eb.normal_tol = 3.0 bc.eb-flow.eb.normal = 0.9848 0.0000 0.1736 # 10 deg .. |avg_Tp| replace:: :math:`\overline{T}_p = \left( {\sum_p^{N_p} T_p V_p} \right) / \left( {\sum_p^{N_p} V_p} \right)` bc.eb-flow.my_fluid.volfrac = 1.0 bc.eb-flow.my_fluid.velocity = 0.1 0.0 0.0 +----------------------------+------------------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +============================+========================================================================+=============+===========+ | T_env | Environment temperature | Real | None | +----------------------------+------------------------------------------------------------------------+-------------+-----------+ | h_int | Heat Transfer Coefficient (fluid–wall, internal) | Real | None | | | | | | | | Specifies the convective heat transfer coefficient [W/m² K] between | | | | | the fluid and adjacent solid walls (EBs) located within the interior | | | | | of the computational domain. | | | | | | | | +----------------------------+------------------------------------------------------------------------+-------------+-----------+ | h_ext | Heat Transfer Coefficient (wall-environment, external) | Real | None | | | | | | | | Specifies the convective heat transfer coefficient [W/m² K] between | | | | | the wall and the external environment. | | | | | | | | +----------------------------+------------------------------------------------------------------------+-------------+-----------+ | wall.conductivity | The thermal conductivity of the wall. | Real | None | +----------------------------+------------------------------------------------------------------------+-------------+-----------+ | wall.thickness | Wall thickness. | Real | None | +----------------------------+------------------------------------------------------------------------+-------------+-----------+ | phase_averaged_temperature | Use a phase averaged temperature for simulations containing particles. | Bool | false | | | The phase averaged temperature is computed as the volume fraction | | | | | weighted sum of the fluid and averaged particle temperatures. | | | | | | | | | | |avg_T| | | | | | | | | | | The averaged particle temperature is computed by depositing the | | | | | volume-averaged particle temperature to the grid. | | | | | | | | | | |avg_Tp| | | | +----------------------------+------------------------------------------------------------------------+-------------+-----------+ Below is an example for specifying a constant temperature boundary condition in the ``hot-walls`` region. .. code-block:: none bc.regions = hot-wall bc.hot-walls = eb bc.hot-walls.eb.temperature = constant bc.hot-walls.eb.temperature.constant = 800 Loading
docs/source_docs/user_guide/inputs/images/CHT-1D.png 0 → 100644 +9.08 KiB Viewed Loading image diff...
docs/source_docs/user_guide/inputs/boundary_conditions.rst +236 −73 Viewed Changes for docs/source_docs/user_guide/inputs/boundary_conditions.rst: 236 added lines, 73 removed lines. Original line number Diff line number Diff line Loading @@ -34,13 +34,13 @@ The type of the boundary conditions in the BC region must be defined with the pr | | * ``pi`` - pressure inflow | | | | | * ``po`` - pressure outflow | | | | | * ``mi`` - mass inflow | | | | | * ``nsw`` - no-slip wall | | | | | * ``eb`` - embedded boundary - for inhomogeneous Dirichlet BCs | | | | | of temperature or fluid velocity (mass inflow) on the | | | | | contained EBs | | | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ Fluid settings ~~~~~~~~~~~~~~ Loading @@ -52,7 +52,6 @@ using the prefix ``bc.[region_name].[fluid_name]``: | | Description | Type | Default | +========================+========================================================================+=============+===========+ | volfrac | Volume fraction [required if bc type is ``mi``] | Real | 0 | | | | | | +------------------------+------------------------------------------------------------------------+-------------+-----------+ | density | Fluid density [required if bc type is ``mi`` or ``pi``] | Real | 0 | +------------------------+------------------------------------------------------------------------+-------------+-----------+ Loading Loading @@ -97,6 +96,138 @@ Below is an example for specifying boundary conditions for fluid (``fluid``). bc.outflow.fluid.pressure = 0.0 Below is an example for specifying a normal inflow velocity magnitude for a region `eb-flow`. .. code-block:: none bc.regions = eb-flow bc.eb-flow = eb bc.eb-flow.my_fluid.volfrac = 1.0 bc.eb-flow.my_fluid.velocity = 0.1 Below is an example where only specific cells are imposed a velocity inflow in the x-direction. .. code-block:: none bc.regions = eb-flow bc.eb-flow = eb bc.eb-flow.eb.normal_tol = 3.0 bc.eb-flow.eb.normal = 0.9848 0.0000 0.1736 # 10 deg bc.eb-flow.my_fluid.volfrac = 1.0 bc.eb-flow.my_fluid.velocity = 0.1 0.0 0.0 .. _InputsBCSolids: Solids settings ~~~~~~~~~~~~~~~ For each inflow boundary condition region, general solids inputs are defined using the prefix ``bc.[region_name]``: +----------------------+------------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +======================+==================================================================+=============+===========+ | solids | Name of solid type in BC region. Only one solid is allowed in | String | None | | | an BC region. | | | +----------------------+------------------------------------------------------------------+-------------+-----------+ .. warning:: Mass inflow boundary conditions, ``bc.[region_name] = mi``, only support PIC parcels. EB inflow boundary conditions, ``bc.[region_name] = eb``, support DEM particles and PIC parcels. For inflow boundary conditions , the solid inputs are defined using the prefix ``bc.[region_name].[solid_name]``: Note that diameter distributions must define a weighting type, please refer to :ref:`ReferenceParticleDistributions <ReferenceParticleDistributions>`. +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +========================+=======================================================================+=============+===========+ | volfrac | Volume fraction | Real | 0 | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | temperature | Temperature | Real | 0 | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | species.[species_name] | Mass fraction of ``species_name`` | Real | 0 | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | velocity | Velocity components | Reals | 0 0 0 | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | volflow | Volumetric flow rate. | Real | 0 | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | massflow | Mass flow rate. | Real | 0 | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | diameter | Method to specify particle diameter in the IC region. This is | String | None | | | only used for auto-generated particles. | | | | | | | | | | Options: | | | | | | | | | | * ``constant`` - specified constant | | | | | * ``uniform`` - uniform distribution | | | | | * ``normal`` - normal distribution | | | | | * ``custom`` - user-defined distribution | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | type | Distribution weighting. | String | N/A | | | | | | | | Options: | | | | | | | | | | * ``number-weighted`` | | | | | * ``volume-weighted`` | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | bins | Number of bins used when discretizing the distribution to approximate | Int | 64 | | | the number of particles within an initial condition region. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | diameter.constant | Monodisperse (single valued) particle diameter. | Real | 0 | | | Required for ``constant`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | diameter.mean | Distribution mean. | Real | 0 | | | Required for ``normal`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | diameter.std | Distribution standard deviation. | Real | 0 | | | Required for ``normal`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | diameter.min | Minimum diameter to clip distribution. | Real | 0 | | | Required for ``normal`` distributions and ``uniform`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | diameter.max | Maximum diameter to clip distribution. | Real | 0 | | | Required for ``normal`` distributions and ``uniform`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | diameter.custom | File name that specifies either the cumulative or probability | String | None | | | distribution. Required for ``custom`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | density | Method to specify particle density in the IC region. This is | String | None | | | only used for auto-generated particles. | | | | | | | | | | Options: | | | | | | | | | | * ``constant`` - specified constant | | | | | * ``uniform`` - uniform distribution | | | | | * ``normal`` - normal distribution | | | | | * ``custom`` - user-defined distribution | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | density.constant | Monodisperse (single valued) particle density. | Real | 0 | | | Required for ``constant`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | density.mean | Distribution mean. | Real | 0 | | | Required for ``normal`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | density.std | Distribution standard deviation. | Real | 0 | | | Required for ``normal`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | density.min | Minimum diameter to clip distribution. | Real | 0 | | | Required for ``normal`` distributions and ``uniform`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | density.max | Maximum diameter to clip distribution. | Real | 0 | | | Required for ``normal`` distributions and ``uniform`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ | density.custom | File name that specifies either the cumulative or probability | String | None | | | distribution. Required for ``custom`` distributions. | | | +------------------------+-----------------------------------------------------------------------+-------------+-----------+ Transient boundary conditions ----------------------------- Loading Loading @@ -125,96 +256,128 @@ transient BCs. .. image:: ./images/transient-bc.png Embedded boundary options ------------------------- Thermal boundary conditions --------------------------- In MFIX-Exa it is possible to set boundary conditions on the embedded boundaries. For instance, it is possible to set inhomogeneous Dirichlet boundary conditions for the fluid temperature variable on the subpart of the embedded boundaries which is contained in the BC region (which in this case has to be tridimensional). We recall that, on the remaining part of the EBs, homogeneous Neumann boundary conditions are assumed by default. Boundary conditions can be applied to embedded boundaries (EBs). For example, a constant wall temperature can be imposed on the entire EB or restricted to a specific region. In the following table there is a list of the possible entries for EB boundary conditions. Each entry must be preceded by the prefix ``bc.[region_name]`` To apply a boundary condition to only a portion of an EB, a face normal vector and tolerance can be specified. This allows the condition to be applied only to EB faces whose normals align with the specified direction within a given angular tolerance. The following inputs are defined using the prefix ``bc.[region_name].eb``: +---------------------+-----------------------------------------------------------------------+-------------+-----------+ +--------------------+-----------------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +=====================+=======================================================================+=============+===========+ | eb.temperature | Inhomogeneous Dirichlet BC value for temperature on EBs contained in | Real | 0.0 | | | the (tridimensional) region [required if advect_enthalpy=1 and | | | | | bc_region_type='eb']. | | | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ +====================+=======================================================================+=============+===========+ | normal | [Optional] Specifies the target face normal direction. Only EB faces | Reals | 0 0 0 | | | whose normals are parallel (within the specified tolerance) will have | | | | | the boundary condition applied. | | | +--------------------+-----------------------------------------------------------------------+-------------+-----------+ | normal_tol | [Optional] Angular tolerance (in degrees) used with ``eb.normal`` to | Real | 0 | | | select EB faces. A value of 0 requires exact alignment. | | | +--------------------+-----------------------------------------------------------------------+-------------+-----------+ Below is an example for specifying boundary conditions for a fluid `myfluid`. .. code-block:: none The following table lists the thermal boundary condition options that can be applied to embedded boundaries (EBs), with inputs defined using the prefix ``bc.[region_name].eb``. bc.regions = hot-wall +----------------------+-----------------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +======================+=======================================================================+=============+===========+ | temperature | Specify a wall temperature model for the embedded boundary. | String | adiabatic | | | | | | | | Options: | | | | | | | | | | * ``adiabatic`` - no heat flux through the wall | | | | | * ``constant`` - impose a constant temperature along the EB. | | | | | * ``CHT-1D`` - compute a temperature for the wall using the 1D | | | | | conjugate heat transfer model. | | | | | | | | +----------------------+-----------------------------------------------------------------------+-------------+-----------+ | temperature.constant | Constant wall temperature. | Real | None | | | A valid is required for ``constant`` EB temperature model. | | | +----------------------+-----------------------------------------------------------------------+-------------+-----------+ bc.hot-walls = eb bc.hot-walls.eb.temperature = 800 The conjugate heat transfer model approximates heat transfer through the embedded boundary using one-dimensional, steady-state conduction. The external environment is treated as a thermal reservoir with a constant temperature in both space and time. This approach is illustrated in :numref:`fig_conjugate_heat_transfer_bc`, where heat flows through a series of thermal resistances: from the fluid to the inner wall surface, through the wall, and finally to the environment. The direction of heat transfer---into or out of the system---is governed by the temperature gradient between the fluid and the surroundings. In addition to the temperature, it is possible to set an inflow condition for fluid on an embedeed boundary. We recall that, on the remaining part of the EBs, no slip velocity conditions are assumed by default. .. _fig_conjugate_heat_transfer_bc: In the following table is a list of the possible entries for inflow EB boundary conditions. Each entry must be preceded by the prefix ``bc.[region_name]``. Like traditional mass inflows, the fluid temperature, pressure, and species composition must be provided when appropriate. .. figure:: ./images/CHT-1D.png :height: 2in :align: center :alt: Schematic of the conjugate heat transfer boundary condition. +-----------------------+-----------------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +=======================+=======================================================================+=============+===========+ | [fluid_name].velocity | [Required if not `volflow` or `massflow`] | | | | | Inflow fluid velocity on EB faces | Reals | 0 0 0 | | | contained in the (tridimensional) region. | | | | | Note that if only one value is specified, that is assumed to | | | | | be the magnitude in the direction of the EB face's normal. | | | +-----------------------+-----------------------------------------------------------------------+-------------+-----------+ | [fluid_name].volflow | [Required if not `velocity` or `massflow`] | | | | | Inflow BC for fluid volumetric flow | Real | 0 | | | rate in the (tridimensional) region. The flow is assumed to be | | | | | normal to the EB surface in the region. | | | +-----------------------+-----------------------------------------------------------------------+-------------+-----------+ | [fluid_name].massflow | [Required if not `velocity` or `volflow`] | | | | | Inflow BC for fluid mass flow rate in the (tridimensional) region. | Real | 0 | | | The flow is assumed to be normal to the EB surface in the region. | | | +-----------------------+-----------------------------------------------------------------------+-------------+-----------+ | [fluid_name].volfrac | [Required] Volume fraction. | Real | 0 | +-----------------------+-----------------------------------------------------------------------+-------------+-----------+ | eb.normal | [Optional] When specified, only cells with EB face normal that is | Reals | 0 0 0 | | | parallel and opposite in direction to the specified values | | | | | are imposed with the inflow velocity. | | | +-----------------------+-----------------------------------------------------------------------+-------------+-----------+ | eb.normal_tol | [Optional] Used in conjunction with `eb.normal`. It determines the | Real | 0 | | | tolerance (in degrees) for choosing cells with a specific normal. | | | +-----------------------+-----------------------------------------------------------------------+-------------+-----------+ Note that only one of ``velocity`` or ``volflow`` or ``massflow`` should be specified. Schematic of the conjugate heat transfer boundary condition. Below is an example for specifying a normal inflow velocity magnitude for a region `eb-flow`. An effective resistance is calculated based on the convective heat transfer coefficient between the fluid and wall, :math:`h_{int}`, conduction through the wall with thickness :math:`L_w` and thermal conductivity :math:`\kappa_w`, and convective heat transfer from the exterior wall to the environment :math:`h_{ext}`. .. code-block:: none .. math:: bc.regions = eb-flow R_{eff} = \left( \frac{1}{h_{int}} + \frac{L_w}{\kappa_w} + \frac{1}{h_{ext}} \right)^{-1} bc.eb-flow = eb The interior wall temperature is determined by balancing the heat flux contributions from internal convection, wall conduction, and external convection, resulting in a closed-form expression based on the effective thermal resistance of the system. bc.eb-flow.my_fluid.volfrac = 1.0 bc.eb-flow.my_fluid.velocity = 0.1 .. math:: Below is an example where only specific cells are imposed a velocity in the x-direction. T_{w,int} = T_f - \frac{1}{h_{int}}\left[ \frac{T_f - T_{\infty}}{R_{eff}} \right] .. code-block:: none bc.regions = eb-flow The model settings are defined using the prefix ``bc.[region_name].eb.temperature.CHT-1D``: bc.eb-flow = eb .. |avg_T| replace:: :math:`T = \varepsilon_f T_f + (1-\varepsilon_f) \overline{T}_p` bc.eb-flow.eb.normal_tol = 3.0 bc.eb-flow.eb.normal = 0.9848 0.0000 0.1736 # 10 deg .. |avg_Tp| replace:: :math:`\overline{T}_p = \left( {\sum_p^{N_p} T_p V_p} \right) / \left( {\sum_p^{N_p} V_p} \right)` bc.eb-flow.my_fluid.volfrac = 1.0 bc.eb-flow.my_fluid.velocity = 0.1 0.0 0.0 +----------------------------+------------------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +============================+========================================================================+=============+===========+ | T_env | Environment temperature | Real | None | +----------------------------+------------------------------------------------------------------------+-------------+-----------+ | h_int | Heat Transfer Coefficient (fluid–wall, internal) | Real | None | | | | | | | | Specifies the convective heat transfer coefficient [W/m² K] between | | | | | the fluid and adjacent solid walls (EBs) located within the interior | | | | | of the computational domain. | | | | | | | | +----------------------------+------------------------------------------------------------------------+-------------+-----------+ | h_ext | Heat Transfer Coefficient (wall-environment, external) | Real | None | | | | | | | | Specifies the convective heat transfer coefficient [W/m² K] between | | | | | the wall and the external environment. | | | | | | | | +----------------------------+------------------------------------------------------------------------+-------------+-----------+ | wall.conductivity | The thermal conductivity of the wall. | Real | None | +----------------------------+------------------------------------------------------------------------+-------------+-----------+ | wall.thickness | Wall thickness. | Real | None | +----------------------------+------------------------------------------------------------------------+-------------+-----------+ | phase_averaged_temperature | Use a phase averaged temperature for simulations containing particles. | Bool | false | | | The phase averaged temperature is computed as the volume fraction | | | | | weighted sum of the fluid and averaged particle temperatures. | | | | | | | | | | |avg_T| | | | | | | | | | | The averaged particle temperature is computed by depositing the | | | | | volume-averaged particle temperature to the grid. | | | | | | | | | | |avg_Tp| | | | +----------------------------+------------------------------------------------------------------------+-------------+-----------+ Below is an example for specifying a constant temperature boundary condition in the ``hot-walls`` region. .. code-block:: none bc.regions = hot-wall bc.hot-walls = eb bc.hot-walls.eb.temperature = constant bc.hot-walls.eb.temperature.constant = 800