Skip to content

Boundaryconditions context

Knut Morten Okstad edited this page May 24, 2019 · 3 revisions
<boundaryconditions>
  <dirichlet set="Edge1" comp="2" type="expression">sin(x)</dirichlet>
  <dirichlet set="Edge2" comp="12" type="anasol"/>
  <dirichlet set="Edge3" comp="1" type="constant" axes="local">1.0</dirichlet>
  <neumann set="Edge4" type="anasol"/>
  <neumann set="Edge4" type="constant" direction="1">10.0</neumann>
  <neumann set="Edge4" type="expression" direction="0">x*y*z</neumann>
</boundaryconditions>

The <boundaryconditions> context is for everything related to boundary conditions. It can have the following sub-contexts:

<dirichlet>

Use this to define Dirichlet-type boundary conditions.

Attributes:

  • set - the topology set to apply the boundary condition to.
  • comp - The components to apply the boundary conditions to (one-indexed, string with 1, 2, 3 or combinations).
  • type - The type of the boundary condition specification ("constant", "linear", "expression", "anasol").
  • axes - The coordinate system to use when applying the boundary condition ("global", "local", "local projected").
  • t1 - If using local axes in 3D, this is the first tangent direction ("x", "y", "z").

Value: A constant number, the slope or a function expression, in accordance with the given type. A blank value gives a homogeneous Dirichlet condition, unless the type is "anasol".

The "anasol" type only makes sense for problems where a known analytic solution is specified.

See the expression functions page for the symbolic expression syntax.

Example:

  <dirichlet set="foo" comp="1"/>
  <dirichlet set="foo" comp="123" type="anasol"/>
  <dirichlet set="foo" comp="123" type="expression">x*y*z</dirichlet>
  <dirichlet set="foo" comp="2" type="linear">2.5</dirichlet>
  <dirichlet set="foo" comp="2" type="expression">2.5*t</dirichlet>

If the type attribute is omitted, "constant" is assumed. The "linear" type is like "constant" but scaled with the current time. Thus, the two latter examples above are equivalent.

<neumann>

Use this to define Neumann-type boundary conditions involving surface tractions.

Attributes:

  • set - The topology set to apply the boundary condition to.
  • type - The type of the boundary condition specification ("constant", "linear", "expression", "anasol", "generic").
  • direction - The direction of the surface traction ("0" = along outward-directed normal vector, "1", "2" or "3" for a given global coordinate direction, "-1" for direct specification of traction components).

Value: The constant, slope or expression function in accordance with the given type.

The "anasol" type only makes sense for problems where a known analytic solution is specified.

See the expression functions page for the symbolic expression syntax.

Example:

  <neumann set="foo" type="anasol"/>
  <neumann set="foo" type="linear" direction="1">10.0</neumann>
  <neumann set="foo" type="expression" direction="0">x*y*z</neumann>
  <neumann set="foo" type="constant" direction="-1">1.0 2.0 3.0</neumann>
  <neumann set="foo" type="expression" direction="-1">x^2 | x+y | 0.0</neumann>

If the direction attribute is omitted, "0" is assumed. If the type attribute is omitted, "constant" is assumed. The "linear" type is like "constant" but scaled with the current time. Notice that for the "expression" type, a vertical bar "|" is used to separate the vector components, whereas for "constant" types a space " " is used as separator.

<robin>

Use this to define Robin-type boundary conditions involving surface tractions.

Attributes:

  • set - The topology set to apply the boundary condition to.
  • type - The type of the boundary condition specification (either "constant" or "expression").

Value: The constant or expression function vector in accordance with the given type, defining the traction vector

See the expression functions page for the symbolic expression syntax.

Example:

  <robin set="foo" type="expression">x*y|0|z</robin>
  <robin set="foo" type="constant">1.0 2.0 3.0</robin>

If the type attribute is omitted, "constant" is assumed. Notice that for the "expression" type, a vertical bar "|" is used to separate the vector components, whereas for "constant" types a space " " is used as separator.