***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
**
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 |
---|---|
|
used to directly impose any DOF value which is located at a node (impose_nodal_dof) |
|
used to impose any DOF value in a rate form (impose_nodal_dof_rate) |
|
sets a node’s associated force (impose_nodal_dof_rate) |
|
rate of the nodes reaction (impose_nodal_reaction_rate) |
|
Fix DOFs which exist at element Gauss points (impose_element_dof) |
|
Set DOF reactions which exist at element Gauss points (impose_element_dof_reaction) |
|
for DOFs defined over an element set (impose_elset_dof ) |
|
reactions associated to DOFs defined over an element set (impose_elset_dof_reaction ) |
|
Density of a nodal dual force over element faces or edges (impose_nodal_dof_density) |
|
Fix DOF until a specified energy is reached |
|
|
|
Time based release of fixed DOFs (can be used for crack growth) (release_nodal_dof ) |
|
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 |
---|---|
|
used to impose displacements with an intermediate (strain) tensor |
|
imposes a “Cosserat” type strain |
|
displacements as |
|
propagate crack (releasing nodes) according to a material variable criterion |
|
submit all or part of a structure to a radial expansion |
|
enforces “rolling” part of a structure on a radius (for example holding the radius of a joint) |
|
impose a surface pressure on a liset or a faset |
|
impose a shear pressure on a liset (only valid in 2D) |
|
impose an impedance boundary condition (only valid in dynamics) |
|
mpose a surface pressure on the deformed geometry; this simulates a fluid pressure |
|
Curvature on a boundary |
|
centrifugal loading for all the elements of a structure due to a rotational frequency |
|
applies a uniform acceleration force to the entire structure |
|
rotate nodes about a given axis |
|
Rotation about an axis with one direction free |
|
Rotation with small angle ( |
|
Free rotation with linear approx |
|
Impose the linear elastic crack tip solution to a node set |
|
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 |
---|---|
|
applies a constant heat flux on a liset or a faset |
|
convective flux on a liset or a faset |
|
imposes an inter-facial thermal resistance between two lisets or fasets |
|
applies a volumetric heat flux on all the elements of a structure |
|
applies a volumetric heat flux on all the elements of a structure. The values come from a parameter field |
|
Import an internal heat generation from a mechanical problem (coupled) |
|
heat flux by radiation on a liset or faset |
Some of these keywords replace deprecated keywords as follows :
|
by |
|
|
by |
|
|
by |
|
|
by |
|
|
by |
|
Mass Diffusion BCs
CODE |
DESCRIPTION |
---|---|
|
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
.