FluidSource Custom Task

From OSUPDOCS
Jump to navigation Jump to search

This custom task injects particles into a simulation.

Introduction

The FluidSource custom task injects particles at a constant rate from a defined inlet. Its main use of for injecting liquid or liquid-like particles such as a Tait liquid. While it can be used with other materials, the injection process does not work well unless the injected material clears out of the inlet region in time for the next injected particles.

Task Scheduling

In scripted files, a FluidSource starts by defining the material to inject:

CustomTask FluidSource
Parameter material,(matID)
Parameter matname,(matname)

In XML files, this task is stared using a <Schedule> element, which must be within the single <CustomTasks> block:

<Schedule name='FluidSource'>
   <Parameter name='material'>(matID)</Parameter>
   <Parameter name='matname'>(matname)</Parameter>
</Schedule>

The first two parameters are:

  • (matID) or (matname) - specifies material type by number or name. If both are provided, the (matname) takes precedence.

Setting Injection Rate

The rate of injection is determined by adding the following commands to scripted files:

Parameter FlowRate,(rate)
Parameter FlowFunction,(rateFxn)
Parameter flow_x,(xNorm)
Parameter flow_y,(yNorm)
Parameter flow_z,(zNorm)

or adding these command to the task definition in XML files:

   <Parameter name='FlowRate'>(rate)</Parameter>
   <Parameter name='FlowFunction'>(rateFxn)</Parameter>
   <Parameter name='flow_x'>(xNorm)</Parameter>
   <Parameter name='flow_y'>(yNorm)</Parameter>
   <Parameter name='flow_z'>(zNorm)</Parameter>

where

  • (rate) or (rateFxn) - specifies the inject rates in (length units)3 per time unit. The (rate) option specifies a fixed and constant rate while (rateFxn) can provide a variable rate as a user-defined function of time. If both are provided, the (rateFxn) takes precedence.
  • (xNorm),(yNorm),(zNorm) - provide three components to a normal vector in the direction of flow (the vector need not be normalized). In 2D, (xNorm) and (yNorm) can be in any direction. In 3D, the injection is currently limited being along the x, y, or z axis, which means only one component can be nonzero (all components default to zero, so just specify one non-zero value; if none are specified, 3D injection is in the z direction).

Defining the Injection Pipe

The injection pipe is a width in 2D or an area in 3D and specified in scripted files with the following commands:

Parameter source_x,(xSrc)
Parameter source_y,(ySrc)
Parameter source_z,(zSrc)
Parameter inlet_width,(width)
Parameter inlet_depth,(depth)

or adding these command to the task definition in XML files:

   <Parameter name='source_x'>(xSrc)</Parameter>
   <Parameter name='source_y'>(ySrc)</Parameter>
   <Parameter name='source_z'>(zSrc)</Parameter>
   <Parameter name='inlet_width'>(width)</Parameter>
   <Parameter name='inlet_depth'>(depth)</Parameter>

where

  • (xSrc),(ySrc),(zSrc) - specify a point at the center of the pipe (or x and y coordinates needed in 2D).
  • (width) and (depth) - specify the cross-section area of the rectangular pipe. In 2D, only (wdith) is needed and the depth of the pipe is the thickness of the 2D simulation. In 3D, the rectangle axes are aligned with the non-normal axes (e.g., for flow in x direction, width and depth are in the y and z directions, etc.).

Injected Particle Size

By default, the injected particle size will be the same as the default particle size for the current simulation. If desired, that size can be changes with the following addition to script files

Parameter particle_scale,(scaleSize)

or adding this command to the task definition in XML files:

   <Parameter name='particle_scale'>(scaleSize)</Parameter>

where

  • (scaleSize) - specifies relative particle size compared to the simulations number of particle per cell (default is 1).

Task Action

Each time step loops over all particles of the material type specified for the task. If (time) was entered and current time has reached that time, the particle is deleted. Otherwise, the particle is checked to see if it has failed by decohesion. If it has, it is deleted, but if (minCOD) (and optionally (dir)) where entered, the particle is deleted only if the crack opening displacement has passed the entered minimum.

Notes

  • A single DeleteDamage task applies to one material type. A simulation can have multiple DeleteDamage tasks if you need particle deletions for more than one material type.
  • Deleting after decohesion only works for softening materials. Deleting after a specified time can be used for any material type.
  • If (minCOD) is less the the material COD at failure, the particle will be deleted right after failure (and not before). To delay failure until after some post-decohesion deformation, set (minCOD) to be larger than the material's COD at failure.