bc
Although called boundary condition, here we only deal with trivial Dirichlet boundary condition.
Syntax
There are currently several commands to define boundary conditions.
Text Only | |
---|---|
To apply BCs to node groups, it is possible to use the following commands.
Text Only | |
---|---|
Remark
- Both
fix
andfix2
serve the same purpose but with different approaches. Thefix
command modifies the corresponding main diagonal term by multiplying a large number, for example \(10^8\). Thefix2
command erase the column and row of target DoF and set the main diagonal to unity. In both case, the corresponding right hand side entry is erased. - The
fix
andpenaltybc
commands is computationally efficient but leads to an ill-conditioned matrix. This may not be a problem for direct solvers but will greatly affect the performance of iterative solvers. The penalty number can be controlled byset
command viaconstraint_multiplier
option. - The
fix2
andmultiplierbc
commands requires more operations but the final matrix is well conditioned. - The performance difference is almost negligible. Either one can be used with direct solvers. The error won't accumulate as there is a special mechanism to prevent it.
- The DoF identifier
(2)
takes the following string input:1
,2
,3
,4
,5
,6
,pinned
,encastre
,xsymm
,ysymm
,zsymm
and the corresponding initialsp
,e
,x
,y
,z
. The names do not actually reflect their meaning, instead, following DoFs would be restrained when string input is given.pinned
: 1 2 3encastre
: 1 2 3 4 5 6xsymm
: 1 5 6ysymm
: 2 4 6zsymm
: 3 4 5
- The nontrivial Dirichlet boundary condition is treated as displacement load.