***bc#

Description

This procedure and its options define the boundary conditions of a problem. The definition of boundary conditions groups both conditions acting on the degrees of liberty and those acting on the associated forces.

Syntax

***bc [from t1 to t2]   **bc-type    bc-specific options   **another-bc-type  

There may be any number of sub-options defining the different conditions to impose, and also any number of ***bc instances.

The different types of boundary conditions are selected by using different values for bc-type. These different BC commands are the subject of the following pages. The pages of the sub commands are sorted according to their applicability to specific problem types. The following tables are included as a quick-directory to the BCs.

If the optional arguments from t1 to t2 are specified, all the boundary conditions declared in the current ***bc block will be active only between times t1 and t2. You may declare several ***bc to partition the activity intervals of your boundary conditions.

General purpose BCs

Some BCs are general-purpose, being specified in terms of any degree of freedom in the problem, and their attached location (nodal or elemental).

CODE

DESCRIPTION

impose_nodal_dof

used to directly impose any DOF value which is located at a node (impose_nodal_dof)

impose_nodal_dof_rate

used to impose any DOF value in a rate form (impose_nodal_dof_rate)

impose_nodal_reaction

sets a node’s associated force (impose_nodal_dof_rate)

impose_nodal_reaction_rate

rate of the nodes reaction (impose_nodal_reaction_rate)

impose_element_dof

Fix DOFs which exist at element Gauss points (impose_element_dof)

impose_element_dof_reaction

Set DOF reactions which exist at element Gauss points (impose_element_dof_reaction)

impose_elset_dof

for DOFs defined over an element set (impose_elset_dof )

impose_elset_dof_reaction

reactions associated to DOFs defined over an element set (impose_elset_dof_reaction )

impose_nodal_dof_density

Density of a nodal dual force over element faces or edges (impose_nodal_dof_density)

impose_nodal_energy

Fix DOF until a specified energy is reached

impose_nodal_dof_and_release

release_nodal_dof

Time based release of fixed DOFs (can be used for crack growth) (release_nodal_dof )

submodel

used to directly impose any DOF value at submodel boundary nodes from a master computation (submodel )

Mechanical BCs

There are many mechanical specific boundary conditions in Zébulon. A summary follows.

CODE

DESCRIPTION

deformation

used to impose displacements with an intermediate (strain) tensor

deformation_cosserat

imposes a “Cosserat” type strain

strain_gradient

displacements as u=Er+1/2Dr2

crack_release

propagate crack (releasing nodes) according to a material variable criterion

radial

submit all or part of a structure to a radial expansion

radius

enforces “rolling” part of a structure on a radius (for example holding the radius of a joint)

pressure

impose a surface pressure on a liset or a faset

shear

impose a shear pressure on a liset (only valid in 2D)

impedance

impose an impedance boundary condition (only valid in dynamics)

hydro, hydro finite strain

mpose a surface pressure on the deformed geometry; this simulates a fluid pressure

curvature

Curvature on a boundary ui=ϵijkKjlXlXk

centrifugal

centrifugal loading for all the elements of a structure due to a rotational frequency

gravity

applies a uniform acceleration force to the entire structure

rotation

rotate nodes about a given axis

free_rotation

Rotation about an axis with one direction free

linear rotation

Rotation with small angle (θsinθ)

linear free rotation

Free rotation with linear approx

K field

Impose the linear elastic crack tip solution to a node set

static torsor

Impose a static torsor (resultant and momentum) on a nset. It is associated to a rigid body motion of the nset.

Thermal BCs

Thermal boundary conditions are provided for a variety of heat flux transfer options. Surface to surface radiation transfer is not yet possible.

CODE

DESCRIPTION

surface_heat_flux

applies a constant heat flux on a liset or a faset

convection_heat_flux

convective flux on a liset or a faset

interface_heat

imposes an inter-facial thermal resistance between two lisets or fasets

volumetric heat

applies a volumetric heat flux on all the elements of a structure

volumetric heat from parameter

applies a volumetric heat flux on all the elements of a structure. The values come from a parameter field

volumetric heat in file

Import an internal heat generation from a mechanical problem (coupled)

radiation

heat flux by radiation on a liset or faset

Some of these keywords replace deprecated keywords as follows :

flucons

by

surface_heat_flux

fluconv

by

convection_heat_flux

fluconv_interface

by

interface_heat

fluvol

by

volumetric_heat

fluvol_in_file

by

volumetric_heat_in_file

Mass Diffusion BCs

CODE

DESCRIPTION

surface_flux

Impose surface flux of concentration

Scaling of boundary values

The magnitude of boundary conditions are normally specified in two parts. The first is a “base value” – a real number, function or file data (see below) – which acts as a multiplicative scale factor. In the event that this value is zero, the BC will be a fixed condition, not requiring a loading table. The second part is a table name which refers to a corresponding defined table (using the ***table command). The table is used to describe the magnitudes in time.

Table specifications may usually take more than one table name. This is very useful in the case of cyclic loadings, or other complex lengthy waveforms. The tables will be sequentially searched for valid times. That is if the first table is defined from 0. to 250., and a second from 200. to 1000., times until 250 will be calculated with the first table, while the remaining time is taken from the second table. If the time exceeds 1000 there will be an error.

Base value

As mentioned earlier, the “base value” acts as a multiplicative scale factor for the following table. The standard base value is simply a real number. It may also be a more elaborated object, such as a function or file, which allows space-dependent boundary conditions.

The following example presents all four types of base values currently available:

***bc
 **impose_nodal_dof
   left   U1 0.                             % zero (the table can be omitted)
   left   U1 10. tab                        % constant scalar value
   right  U1 file       right.dat  table1   % binary file
   bottom U2 ascii_file bottom.dat table2   % ascii file
 **pressure
   top function sin(x); time                % function

Note that some multi-point-constraints (see ) also use this concept of base value.

Duration of application

Normal use will involve defining the value of a boundary condition throughout the time scale of the problem. It is very important to include the value of the BC at zero time.

Boundary conditions can also be applied over a limited time during the problem, with the condition either “expiring” or coming into action after a specified period of time. This is very useful for dynamic problems where an initial movement is given and then released, or if a condition is applied to a certain point, and then continued with a different type condition. An example of the latter is to apply force control for a first sequence, followed by a rate of displacement. Note after the load is applied the absolute value of displacement is unknown (for non-linear problems) so a displacement rate must be imposed (e.g. with impose_nodal_dof_rate).

These cases are handled by having the BC’s table defined over a limited duration of the problem time scale, and including the keyword exp to indicate that the expiration or activation of the BC was intentional.

***resolution
  **sequence
    *dtime        1.0 0.95
***bc
  **impose_nodal_dof
    wall      U2   0.0
    wall      U1   0.0
    load  exp U2  -1.0 tab
***table
  **name tab
    *time    0.0   1.
    *value   0.0   1.

Association to geometry

Most BCs may also be localized to certain portions of the geometry, through the use of node, element, line and face sets. Specification of these entities are discussed in the meshing chapters file .inp: 2D meshing and /file .inp: 3D meshing/. The following general statements can be made:

  • Boundary conditions to be applied in order to directly impose the value of nodal degrees of freedom are applied to nsets.

  • Boundary conditions which are distributed over a surface, or have a mean value for a surface (e.g. pressure) will be applied to a liset in 2D or a faset in 3D.

  • Conditions distributed through the body will be applied to an elset.

Line or face set surface conditions are generally affected by the set’s normals orientation. See for instance discussion of the pressure sign (page ).

When it is desired to impose a condition to a single node or to a single element, the node or element number may always be substituted for an nset or elset name.

There are also pre-existing nsets and elsets for every node or element in the mesh. These sets are named respectively ALL_NODE and ALL_ELEMENT.