Problem#

Full name

pylith.problems.Problem

Journal name

problem

Abstract base class for a problem.

The default formulation, solution field, and scales for nondimensionalization are appropriate for solving the quasi-static elasticity equation.

By default, we use the nonlinear solver. This facilitates verifying that the residual and Jacobian are consistent. If the nonlinear (SNES) solver requires multiple iterations to converge for these linear problems, then we know there is an error in the problem setup.

Pyre Facilities#

  • bc: Boundary conditions.

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

    • configurable as: emptybin, bc

  • defaults: Default options for problem.

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

    • configurable as: problem_defaults, defaults

  • gravity_field: Database used for gravity field.

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

    • configurable as: nullcomponent, gravity_field

  • interfaces: Interior surfaces with constraints or constitutive models.

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

    • configurable as: emptybin, interfaces

  • materials: Materials in problem.

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

    • configurable as: homogeneous, materials

  • normalizer: Nondimensionalizer for problem.

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

    • configurable as: nondimelasticquasistatic, normalizer

  • petsc_defaults: Flags controlling which default PETSc options to use.

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

    • configurable as: petscdefaults, petsc_defaults

  • solution: Solution field for problem.

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

    • configurable as: solution

  • solution_observers: Observers (e.g., output) for solution.

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

    • configurable as: singlesolnobserver, solution_observers

Pyre Properties#

  • formulation=<str>: Formulation for equations.

    • default value: ‘quasistatic’

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

    • validator: (in [‘quasistatic’, ‘dynamic’, ‘dynamic_imex’])

  • solver=<str>: Type of solver to use [‘linear’, ‘nonlinear’].

    • default value: ‘nonlinear’

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

    • validator: (in [‘linear’, ‘nonlinear’])