NeumannTimeDependent#

Full name:

pylith.bc.NeumannTimeDependent

Journal name:

neumanntimedependent

Neumann time-dependent boundary condition. Implements BoundaryCondition.

This boundary condition applies a Neumann boundary condition for a single solution subfield on a boundary. To apply Neumann boundary conditions for multiple solution subfields on a boundary, use multiple Neumann boundary conditions.

Important

The components are specified in the local normal-tangential coordinate system for the boundary. Ambiguities in specifying the shear (tangential) tractions in 3D problems are resolved using the ref_dir_1 and ref_dir_2 properties. The first tangential direction is \(\vec{z} \times \vec{r}_1\) unless these are colinear, then \(\vec{r}_2\) (ref_dir_2) is used. The second tangential direction is \(\vec{n} \times \vec{t}_1\).

See also

See AuxSubfieldsTimeDependent Component for the functional form of the time depenence.

Pyre Facilities#

  • auxiliary_subfields: Discretization information for auxiliary subfields.

    • current value: ‘auxiliary_subfields’, from {file=’/home/pylith-user/software/unix/py39-venv/pylith-debug/lib/python3.9/site-packages/pythia/pyre/inventory/ConfigurableClass.py’, line=26, function=’set’}

    • configurable as: auxiliary_subfields

  • db_auxiliary_field: Database for physical property parameters.

    • current value: ‘simpledb’, from {default}

    • configurable as: simpledb, db_auxiliary_field

  • derived_subfields: Discretization of derived subfields.

    • current value: ‘emptybin’, from {default}

    • configurable as: emptybin, derived_subfields

  • observers: Observers (e.g., output).

    • current value: ‘singlephysicsobserver’, from {default}

    • configurable as: singlephysicsobserver, observers

  • time_history: Time history with normalized amplitude as a function of time.

    • current value: ‘nullcomponent’, from {default}

    • configurable as: nullcomponent, time_history

Pyre Properties#

  • field=<str>: Solution subfield associated with boundary condition.

    • default value: ‘displacement’

    • current value: ‘displacement’, from {default}

  • label=<str>: Name of label identifying boundary.

    • default value: ‘’

    • current value: ‘’, from {default}

    • validator: <function validateLabel at 0x11c4858b0>

  • label_value=<int>: Value of label identifying boundary (tag of physical group in Gmsh files).

    • default value: 1

    • current value: 1, from {default}

  • ref_dir_1=<list>: First choice for reference direction to discriminate among tangential directions in 3D.

    • default value: [0.0, 0.0, 1.0]

    • current value: [0.0, 0.0, 1.0], from {default}

    • validator: <function validateDir at 0x11c485dc0>

  • ref_dir_2=<list>: Second choice for reference direction to discriminate among tangential directions in 3D.

    • default value: [0.0, 1.0, 0.0]

    • current value: [0.0, 1.0, 0.0], from {default}

    • validator: <function validateDir at 0x11c485dc0>

  • scale_name=<str>: Type of scale for nondimensionalizing Neumann boundary condition (‘pressure’ for elasticity).

    • default value: ‘pressure’

    • current value: ‘pressure’, from {default}

    • validator: (in [‘length’, ‘time’, ‘pressure’, ‘density’, ‘velocity’])

  • use_initial=<bool>: Use initial term in time-dependent expression.

    • default value: True

    • current value: True, from {default}

  • use_rate=<bool>: Use rate term in time-dependent expression.

    • default value: False

    • current value: False, from {default}

  • use_time_history=<bool>: Use time history term in time-dependent expression.

    • default value: False

    • current value: False, from {default}

Example#

Example of setting NeumannTimeDependent Pyre properties and facilities in a parameter file.

# Neumann (traction) boundary condition in 2D on -y boundary.
[pylithapp.problem.bc.bc_yneg]
label = boundary_yneg
field = displacement
scale_name = pressure

use_initial = False
use_time_history = True
db_auxiliary_field = spatialdata.spatialdb.UniformDB
db_auxiliary_field.description = Displacement Neumann BC +y boundary
db_auxiliary_field.values = [time_history_amplitude_tangential, time_history_amplitude_normal, time_history_start_time]
db_auxiliary_field.data = [2.0*MPa, -1.0*MPa, 0.0]

time_history = spatialdata.spatialdb.TimeHistory
time_history.description = Impulse time history
time_history.filename = impulse.timedb