Physics

General methods and abstract types

Cthonios.AbstractPhysicsType
abstract type AbstractPhysics{NF, NP, NS}

NF - Number of fields in this physics

NP - Number of properties in this physics

NS - Number of states in this physics

source

Lagrangian Solid Mechanics

Cthonios.SolidMechanicsType
struct SolidMechanics{NF, NP, NS, Mat, Form, P<:Cthonios.StressDivergence{NF, NP, NS, Mat, Form}} <: Cthonios.AbstractPhysics{NF, NP, NS}
  • material_model::Any

  • formulation::Any

  • stress_divergence::Cthonios.StressDivergence{NF, NP, NS, Mat, Form} where {NF, NP, NS, Mat, Form}

source
Cthonios.energyMethod
energy(
    physics::SolidMechanics,
    u::AbstractArray,
    ∇u,
    X,
    t,
    Z,
    props
) -> Any

Energy method at the quadrature level for Lagrangian solid mechanics. This equivalent to the quadrature point calculation needed for the following integral $\Pi = \int_\Omega\psi\left(\mathbf{F}\right)d\Omega$

source
Cthonios.gradientMethod
gradient(
    physics::SolidMechanics,
    u,
    ∇u,
    v,
    ∇v,
    X,
    t,
    Z,
    props
) -> Any

Gradient method at the quadrature level for Lagrangian solid mechanics. This equivalent to the quadrature point calculation needed for the following integral $\mathbf{f} = \int_\Omega\mathbf{P}:\delta\mathbf{F}d\Omega$

source

Poisson

Cthonios.PoissonType
struct Poisson{Form, S} <: Cthonios.AbstractPhysics{1, 0, 0}
  • formulation::Any

  • laplacian::Cthonios.Laplacian{1}

  • source::Any

TODO create source term kernel

source
Cthonios.energyMethod
energy(
    physics::Poisson,
    u::AbstractArray,
    ∇u,
    X,
    t,
    Z,
    props
) -> Any

Energy method for Poisson equation at a quadrature point $\Pi\left[u\right] = \int_\Omega \left[\frac{1}{2}\|\nabla u\|^2 - fu\right]d\Omega$

source
Cthonios.gradientMethod
gradient(
    physics::Poisson,
    u,
    ∇u,
    v,
    ∇v,
    X,
    t,
    Z,
    props
) -> Any

Gradient method for Poisson equation at a quadrature point $g\left(u, v\right) = \int_\Omega \left[\nabla u\cdot\nabla v - fv\right]d\Omega$

source
Cthonios.hessianMethod
hessian(
    physics::Poisson,
    u,
    ∇u,
    v,
    ∇v,
    X,
    t,
    Z,
    props
) -> Any

Hessian method for Poisson equation at a quadrature point $H\left(u, v\right) = \int_\Omega \left[\nabla v\cdot\nabla v\right]d\Omega$

source