- connectionsJunction connections
C++ Type:std::vector<BoundaryName>
Controllable:No
Description:Junction connections
- positionSpatial position of the center of the junction [m]
C++ Type:libMesh::Point
Controllable:No
Description:Spatial position of the center of the junction [m]
- volumeVolume of the junction [m^3]
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Volume of the junction [m^3]
VolumeJunction1Phase
This is a flow junction that has a volume and can connect 2 or more FlowChannel1Phase components in any orientation.
Formulation
See Volume Junction for the theoretical formulation.
Form Losses
Complex multidimensional interactions inside the junction cannot be practically modeled mechanistically but are instead approximated using a form loss factor , which gives rise to source terms on the momentum and energy equations:
(1)(2)where
is the stagnation pressure of the first flow channel (see Usage),
is the static pressure of the first flow channel,
is the reference cross-sectional area, and
is the velocity in the first connected flow channel.
Usage
The parameter "connections" specifies ends of flow channel components to connect.
A form loss coefficient may be specified using the parameter "K". The parameter "A_ref" is the reference cross-sectional area used in Eq. (1) and Eq. (2). If it is not provided, the cross-sectional area of the first connection in "connections" is used.
The order of connections in "connections" has an impact when using form loss, since some quantities in Eq. (1) and Eq. (2) are taken from the first connection.
Initial conditions are specified with the following parameters:
"initial_T": temperature
"initial_p": pressure
"initial_vel_x": x-velocity
"initial_vel_y": y-velocity
"initial_vel_z": z-velocity
The "apply_velocity_scaling" parameter specifies whether to apply the scaling of Hong and Kim (2011) to the normal component of the velocity of the junction state, as described in Volume Junction.
Since junction variables are located on the mesh, they can visualized alongside the other field variables, such as from pipes. In Paraview, the junction can be made more visible using the "point size" parameter.
Implementation Notes
The junction variables are technically field variables that live on a block consisting of a single NodeElem
. Originally, junction variables were scalar variables, but it was found that this was extremely costly due to the sparsity pattern requirements, thus making simulations involving large numbers of these components to be very slow to initialize.
Input Parameters
- A_refReference area [m^2]
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Reference area [m^2]
- K0Form loss factor [-]
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:Yes
Description:Form loss factor [-]
- apply_velocity_scalingFalseSet to true to apply the scaling to the normal velocity. See documentation for more information.
Default:False
C++ Type:bool
Controllable:No
Description:Set to true to apply the scaling to the normal velocity. See documentation for more information.
- initial_TInitial temperature [K]
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:Initial temperature [K]
- initial_pInitial pressure [Pa]
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:Initial pressure [Pa]
- initial_vel_xInitial velocity in x-direction [m/s]
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:Initial velocity in x-direction [m/s]
- initial_vel_yInitial velocity in y-direction [m/s]
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:Initial velocity in y-direction [m/s]
- initial_vel_zInitial velocity in z-direction [m/s]
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:Initial velocity in z-direction [m/s]
- scaling_factor_rhoEV1Scaling factor for rho*E*V [-]
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Scaling factor for rho*E*V [-]
- scaling_factor_rhoV1Scaling factor for rho*V [-]
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Scaling factor for rho*V [-]
- scaling_factor_rhouV1Scaling factor for rho*u*V [-]
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Scaling factor for rho*u*V [-]
- scaling_factor_rhovV1Scaling factor for rho*v*V [-]
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Scaling factor for rho*v*V [-]
- scaling_factor_rhowV1Scaling factor for rho*w*V [-]
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Scaling factor for rho*w*V [-]
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:No
Description:Set the enabled status of the MooseObject.
Advanced Parameters
References
- Seok Hong and Chongam Kim.
A new finite volume method on junction coupling and boundary treatment for flow network system analyses.
International Journal for Numerical Methods in Fluids, 65:707 – 742, 02 2011.
doi:10.1002/fld.2212.[BibTeX]