Skip to content

Problems

Each problem has a specific set of optional problem_params described here.

Generic

GenericScalar

  • Has exact solution: false
  • Time-dependent: false
  • Form: scalar
  • Description: solves for generic scalar problem with specified rhs
  • Options:
    "rhs": 3                            // Rhs of the problem
    "dirichlet_boundary": [             // List of Dirichlet boundaries
    {
        "id": 1,                        // Boundary id
        "value": 0                      // Boundary value
    },
    {
        "id": 2,                        // Boundary id
        "value": "sin(x)+y"             // Formulas are supported
    }],
    "neumann_boundary": [               // List of Neumann boundaries
    {
        "id": 3,                        // Boundary id
        "value": 1,                     // Boundary value
    },
    {
        "id": 4,                        // Boundary id
        "value": "x^2"                  // Formulas are supported
    }]
    

GenericTensor

  • Has exact solution: false
  • Time-dependent: user-selected
  • Form: tensor
  • Description: solves for generic tensor problem with specified body forces
  • Options:
    "rhs": [1, 2, 3]                    // Rhs of the problem
    "dirichlet_boundary": [             // List of Dirichelt boundaries
    {
        "id": 1,                        // Boundary id
        "value": [0, 0, 0],             // Boundary vector value
        "dimension": [                  // Which dimension are Dirichelt
                true,
                true,
                false                   // In this case z is free
            ]
    },
    {
        "id": 2,                        // Boundary id
        "value": ["sin(x)+y", "z^2", 0] // Formulas are supported
    }],
    "neumann_boundary": [               // List of Neumann boundaries
    {
        "id": 3,                        // Boundary id
        "value": [0, 0, 0]              // Boundary vector value
    },
    {
        "id": 4,                        // Boundary id
        "value": ["sin(z)+y", "z^2", 0] // Formulas are supported
    }],
    "is_time_dependent": false,
    "initial_solution": [0, 0, 0],
    "initial_velocity": [0, 0, 0],
    "initial_acceleration": [0, 0, 0]
    

Specific

CompressionElasticExact

  • Has exact solution: true
  • Time-dependent: false
  • Form: tensor
  • Description: solve for
f2D(x,y)=[(y3+x2+xy)/20(3x4+xy2+x)/20]f3D(x,y,z)=[(xy+x2+y3+6z)/14(zxz3+xy2+3x4)/14(xyz+y2z22x)/14]

Cubic

  • Has exact solution: true
  • Time-dependent: false
  • Form: scalar
  • Description: solve for f(x,y,z)=(2y0.9)4+0.1

DrivenCavity

  • Has exact solution: false
  • Time-dependent: false
  • Form: tensor
  • Description: solve for zero right-hand side, and 0.25 for boundary id 1

Elastic

  • Has exact solution: false
  • Time-dependent: false
  • Form: tensor
  • Description: solve for zero right-hand side, -0.25 for boundary id ⅕, 0.25 for id 3/6

ElasticExact

  • Has exact solution: true
  • Time-dependent: false
  • Form: tensor
  • Description: solve for
f2D(x,y)=[(y3+x2+xy)/50(3x4+xy2+x)/50]f3D(x,y,z)=[(xy+x2+y3+6z)/80(xzz3+xy2+3x4)/80(xyz+y2z22x)/80]

ElasticZeroBC

  • Has exact solution: false
  • Time-dependent: false
  • Form: tensor
  • Description: solve for [0, 0.5, 0] right-hand side and zero boundary condition

Flow

  • Has exact solution: false
  • Time-dependent: false
  • Form: tensor
  • Description: solve for zero right-hand side, [0.25, 0, 0] for boundary id ⅓, [0, 0, 0] for 7

Franke

  • Has exact solution: true
  • Time-dependent: false
  • Form: scalar
  • Description: solves for the 2D and 3D Franke function

Gravity

  • Has exact solution: false
  • Time-dependent: true
  • Form: tensor
  • Description: solves for 0.1 body force in y direction and zero for boundary 4

Kernel

  • Has exact solution: true
  • Time-dependent: false
  • Form: scalar/tensor
  • Description: solves the omogenous PDE with n_kernels kernels placed on the bounding box at kernel_distance
  • Options: n_kernels sets the number of kernels, kernel_distance sets the distance from the bounding box

Linear

  • Has exact solution: true
  • Time-dependent: false
  • Form: scalar
  • Description: solve for f(x,y,z)=x

LinearElasticExact

  • Has exact solution: true
  • Time-dependent: false
  • Form: tensor
  • Description: solve for
f2D(x,y)=[(y+x)/50(3x+y)/50]f3D(x,y,z)=[(y+x+z)/50(3x+yz)/50(x+y2z)/50]

MinSurf

  • Has exact solution: false
  • Time-dependent: false
  • Form: scalar
  • Description: solve for -10 for rhs, and zero Dirichelt boundary condition

PointBasedTensor

  • Has exact solution: false
  • Time-dependent: false
  • Form: tensor
  • Description: solves for point-based boudary conditions
  • Options:
    "scaling": 1,               // Scaling factor
    "rhs": 0,                   // Right-hand side
    "translation": [0, 0, 0]    // Translation
    "boundary_ids": [           // List of Dirichelt boundaries
    {
        "id": 1,                // Boundary id
        "value": [0, 0, 0]      // Boundary vector value
    },
    {
        "id": 2,
        "value": {              // Rbf interpolated value
            "function": "",     // Function file
            "points": "",       // Points file
            "rbf": "gaussian",  // Rbf kernel
            "epsilon": 1.5,     // Rbf epsilon
            "coordinate": 2,    // Coordinate to ignore
    
            "dimension": [      // Which dimension are Dirichlet
                true,
                true,
                false           // In this case z is free
            ]
        }
    },
    {
        "id": 2,
        "value": {              // Rbf interpolated value
            "function": "",     // Function file
            "points": "",       // Points file
            "triangles": "",    // Triangles file
            "coordinate": 2,    // Coordinate to ignore
        }
    }]
    

Quadratic

  • Has exact solution: true
  • Time-dependent: false
  • Form: scalar
  • Description: solve for f(x,y,z)=x2

QuadraticElasticExact

  • Has exact solution: true
  • Time-dependent: false
  • Form: tensor
  • Description: solve for
f2D(x,y)=[(y2+x2+xy)/50(3x2+y)/50]f3D(x,y,z)=[(y2+x2+xy+yz)/50(3x2+y+z2)/50(xz+y22z)/50]

Sine

  • Has exact solution: true
  • Time-dependent: false
  • Form: scalar
  • Description: solve for
f(x,y)=sin(10x)sin(10y)f(x,y,z)=sin(10x)sin(10y)sin(10z)

TestProblem

  • Has exact solution: true
  • Time-dependent: false
  • Form: scalar
  • Description: solve for extreme problem to test errors for high order discretizations

TimeDependentFlow

  • Has exact solution: false
  • Time-dependent: true
  • Form: tensor
  • Description: solve for zero right-hand side, [0.25, 0, 0] for boundary id ⅓, [0, 0, 0] for 7, and zero inital velocity

TimeDependentScalar

  • Has exact solution: false
  • Time-dependent: true
  • Form: scalar
  • Description: solve for one right-hand side, zero boundary condition, and zero time boundary

TorsionElastic

  • Has exact solution: false
  • Time-dependent: false
  • Form: tensor
  • Description: solve for zero body forces, fixed_boundary fixed (zero displacement), turning_boundary rotating around axis_coordiante for n_turns
  • Options: fixed_boundary id of the fixed boundary, turning_boundary id of the moving boundary, axis_coordiante coordinate of the rotating axis, n_turns number of turns

Zero_BC

  • Has exact solution: true
  • Time-dependent: false
  • Form: tensor
  • Description: solve for
f2D(x,y)=(1x)x2y(1y)2f3D(x,y,z)=(1x)x2y(1y)2z(1z)

Last update: 2023-10-03