◆ FORGE Suite
GitHubMechanical Neuroimaging Lab · Univ. of Delaware
Skip to content

Problem Setup

Types for defining boundary conditions and problem configuration.

Boundary Condition Types

Sentinel.BCType Type
julia
BCType

Enumeration of boundary condition types.

  • BC_NONE = 0: no boundary condition (free DOF)

  • BC_DIRICHLET = 1: prescribed displacement/pressure value

  • BC_NEUMANN = 2: prescribed flux/traction (used for poroelastic pressure flow)

source
Sentinel.SingleCondition Type
julia
SingleCondition

Boundary condition at a single DOF. Corresponds to the Fortran singlecondition type.

Fields

  • bctype: type of boundary condition (BCType enum)

  • node: associated mesh node index (1-based)

  • value: complex prescribed value (displacement or pressure)

source
Sentinel.BoundaryConditions Type
julia
BoundaryConditions

Complete set of boundary conditions for the FEM problem. Corresponds to the Fortran bndrycond type.

Fields

  • dof: total number of DOFs

  • numbcsets: number of boundary condition sets (= number of displacement sets)

  • numdirchlt: number of Dirichlet (type-1) boundary conditions

  • bc: (dof, numbcsets) array of SingleCondition

  • bcind: (dof, numbcsets) logical indicator — true if a BC is applied here

Notes

For a 3D mesh with nn nodes:

  • Displacement DOFs: index 3*i-2, 3*i-1, 3*i for node i

  • Poroelastic pressure DOFs: index 3*nn + i for node i

source

Boundary Condition Operations

Sentinel.init_bcs! Function
julia
init_bcs!(bcs::BoundaryConditions, dof::Int, numbcsets::Int)

Allocate boundary condition arrays for the given DOF count and number of sets.

source
Sentinel.clear_bcs! Function
julia
clear_bcs!(bcs::BoundaryConditions)

Reset all boundary condition indicators to false (free DOFs).

source

Problem Definition

Sentinel.Problem Type
julia
Problem

Complete specification of a Sentinel forward/inverse MRE problem.

Fields

  • model: material model integer (1–7)

  • numfreq: number of frequencies

  • freq: frequency array [Hz], length numfreq

  • avgfreq: average frequency [Hz] used for reconstruction normalization

  • numdispsets: number of displacement sets (typically = numfreq × num_excitations)

  • problemtype: 0 = forward only, >0 = inverse

  • forwardtype: 0 = simulation (properties from material type table), 1 = inverse evaluation (properties from property files)

  • maxglobiter: maximum global outer iterations

  • maxzoneiter: maximum zone-level iterations

  • maxlineiter: maximum line-search iterations

  • minepsglob, minepszone, minepsline: convergence tolerances

source