# block face apply command

Syntax

block face apply keyword <history s > <range>

Primary keywords:

Apply a condition at block faces within the range. Triangulated faces must exist for this command to work. Faces are created by either (1) zoning blocks and making them deformable, or (2) executing a block contact generate-subcontacts command or a block face triangulate command for rigid blocks.

convection f1 f2

f1 is the temperature, $$T_e$$, of the medium at which convection occurs. f2 is the convective heat-transfer coefficient, $$h$$ (e.g., in $$W⁄m^{2}$$º C). A convective boundary condition is applied over the range of faces specified. The history keyword is not active for convection.

flux f

f is the initial thermal flux (e.g., in $$W⁄m^2$$). A flux is applied over the range of faces specified. This command is used to specify a constant flux into (f > 0) or out of (f < 0) a thermal boundary of the grid. Decay of the flux can be represented by a FISH history using the optional keyword history. For example, the following FISH function performs an exponential decay of the applied flux:

[theini = 0.0]
[deconst = -1.0]
fish def decay
decay=math.exp(deconst*(thermal.age-thini))
end
block face apply flux=10 hist fish @decay


Apply a point load of $$v1$$ at location $$v2$$ (deformable blocks only). Gridpoint forces are calculated by interpolating from the input location.

Apply a point load of $$f$$ in the x direction at location $$v2$$ (deformable blocks only). Gridpoint forces are calculated by interpolating from the input location.

Apply a point load of $$f$$ in the y direction at location $$v2$$ (deformable blocks only). Gridpoint forces are calculated by interpolating from the input location.

Apply a point load of $$f$$ in the z direction at location $$v2$$ (deformable blocks only). Gridpoint forces are calculated by interpolating from the input location.

stress-principal keyword ...

Apply stress on block faces within the range.

direction-intermediate v

Set intermediate principal stress direction.

direction-maximum v

Set maximum principal stress direction.

direction-minimum v

Set minimum principal stress direction.

intermediate f

Set intermediate principal stress.

maximum f

Set maximum principal stress.

minimum f

Set minimum principal stress.

dip-maximum f

Set maximum principal stress dip.

dip-direction-maximum f

Set maximum principal stress dip direction.

dip-intermediate f

Set intermediate principal stress dip.

dip-direction-intermediate f

Set intermediate principal stress dip direction.

dip-minimum f

Set minimum principal stress dip.

dip-direction-minimum f

Set minimum principal stress dip direction.

Set the stress gradient in the z direction. Only the z gradient direction may be specified. The other directions are scaled appropriately to prevent stress rotation.

origin v

Specify the location of the stress measurement.

stress f(sxx0) f(syy0) f(szz0) f(sxy0) f(sxz0) f(syz0) <keyword> <[blockfaceapplyblock]>

Set boundary stress parameters: $$xx$$-stress, $$yy$$-stress, $$zz$$-stress $$xy$$-stress, $$xz$$-stress, $$yz$$-stress. If a gradient is given, these stresses are assumed to be applied at 0,0,0

A range phrase must be specified for the $$block face apply stress$$ command.

Note

All loads and stresses are assumed to be constant and permanent by default, and are added to the existing permanent loads. Transient (time-varying) loading is applied if a $$fish$$ or $$table$$ keyword is given on the same command line as the load or stress (see below).

gradient-x f(sxxx) f(syyx) f(szzx) f(sxyx) f(sxzx) f(syzx)

Specify the stress gradients in the x direction.

gradient-y f(sxxy) f(syyy) f(szzy) f(sxyy) f(sxzy) f(syzy)

Specify the stress gradients in the y direction.

gradient-z f(sxxz) f(syyz) f(szzz) f(sxyz) f(sxzz) f(syzz)

Specify the stress gradients in the z direction.

If gradients are specified, boundary stresses vary linearly, where sxx0, etc. are stresses at origin (0,0,0), defined by the stress keyword, and where:

$$sxx =sxxo + (sxxx∗x) + (sxxy∗y) + (sxxz∗z)$$ $$syy =syyo + (syyx∗x) + (syyy∗y) + (syyz∗z)$$ $$szz =szzo + (szzx∗x) + (szzy∗y) + (szzz∗z)$$ $$sxy =sxyo + (sxyx∗x) + (sxyy∗y) + (sxyz∗z)$$ $$sxz =sxzo + (sxzx∗x) + (sxzy∗y) + (sxzz∗z)$$ $$syz =syzo + (syzx∗x) + (syzy∗y) + (syzz∗z)$$

The gradient-x, gradient-y, and gradient-z keywords must follow the block face stress command on the same input line. (Use … at the end of the line if a continuation line is required.)

Note, the assigned stresses always act at the origin (0,0,0). Example:

block face apply stress -5,0,0,0,0,0 &
range pos-z -1 1

; This command applies a gradient to the xx-stress varying from −10
;   at z = −1 to zero at z = 1.


Set boundary stress in the $$xx$$-direction. The optional $$gradient$$ keyword can be used to specify the change in xx stress in the x, y and z directions. If a gradient is given, the stress value $$f$$ is assumed to be applied at 0,0,0.

Set boundary stress in the $$xy$$-direction. The optional $$gradient$$ keyword can be used to specify the change in xy stress in the x, y and z directions. If a gradient is given, the stress value $$f$$ is assumed to be applied at 0,0,0.

Set boundary stress in the $$xz$$-direction. The optional $$gradient$$ keyword can be used to specify the change in xz stress in the x, y and z directions. If a gradient is given, the stress value $$f$$ is assumed to be applied at 0,0,0.

Set boundary stress in the $$yy$$-direction. The optional $$gradient$$ keyword can be used to specify the change in yy stress in the x, y and z directions. If a gradient is given, the stress value $$f$$ is assumed to be applied at 0,0,0.

Set boundary stress in the $$yz$$-direction. The optional $$gradient$$ keyword can be used to specify the change in xx stress in the x, y and z directions. If a gradient is given, the stress value $$f$$ is assumed to be applied at 0,0,0.

Set boundary stress in the $$zz$$-direction. The optional $$gradient$$ keyword can be used to specify the change in xx stress in the x, y and z directions. If a gradient is given, the stress value $$f$$ is assumed to be applied at 0,0,0.

velocity-normal f
Set the normal direction velocity for deformable blocks. Velocity boundary conditions will be removed if velocity-normal 0 is applied in the same direction as the velocity condition.

Two or more velocity-normal 0 conditions can be applied at the same vertex. If normal constraints that satisfy all conditions cannot be found, the condition reverts to block gridpoint apply velocity-x 0, block gridpoint apply velocity-y 0, block gridpoint apply velocity-z 0. Note also that if a normal velocity BC is applied to the same face twice, all degrees of freedom. will be fixed.

westergaard keyword ...

Add additional dynamic masses to gridpoints on the face of blocks to simulate the effects of an adjacent mass of water. This procedure was established by Westergaard (1933).

density-water f

Set density of the water.

depth f

Set average depth of water in the reservoir (constant added mass). Not used if water surface is specified.

direction f

Set gravitational vector (if different from static gravity definition).

project i

The full solution involves a 3 × 3 matrix for each gridpoint. In 3DEC, the matrix is diagonalized. By default, each row is added into the diagonal. This keyword (proj = 1) provides a better solution by calculating the diagonal based on the surface normal.

remove

Remove any previously defined added masses.

surface v

Set water surface location if depth is to be calculated.

mass-x

Add mass in the $$x$$-direction only.

mass-y

Add mass in the $$y$$-direction only.

mass-z

Add mass in the $$z$$-direction only.

block face apply Keyword Block

The keywords below are applicable to each of the following keywords of the block face apply command:

fish s

The specified FISH symbol is used to provide a multiplier.

table s

Set the load multiplier from a multiplier given by the table create command. The table must consist of a list of pairs: time, f(time). Linear interpolation is performed between the given discrete points.