Type object
File match *.hecate.yml *.hecate.yaml *.hecate *.hecate.json
Schema URL https://catalog.lintel.tools/schemas/schemastore/hecate-input-schema/latest.json
Source https://raw.githubusercontent.com/ShaitanLyss/these/main/hecate/hecate-json-schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

The input schema for Hecate.

Properties

equations Map%3Cstring,%20Equation%3E required

The available equations.

functions Map%3Cstring,%20FunctionDef%3E required

The available functions. They can either be simple function expression, or a list of function expression with conditions.

meshes Map%3Cstring,%20MeshEnum%3E required

The available meshes.

parameters Map%3Cstring,%20QuantityEnum%3E required

The available parameters.

solve object required

The equation(s) to solve and the mesh to use.

6 nested properties
element string required

The finite element to use for the mesh.

Values: "Q1" "Q2" "Q3"
equations string[] required

The equation(s) to solve

mesh string required

The mesh to use

time_step string | number required

A time.

dimension integer

The dimension of the problem Possible values: 1, 2, 3

Default: 2
format=uintmin=0
time string

The time range to solve.

Default: "0 .. 5s"
pattern=^\s*([+-]?[0-9_ ]*\.?[0-9_ ]+?(?:e(?:\+|-)?[.0-9]+)?)[ \t]*([^0-9\s.](?:.*?[^.])?)?\s*\s*..\s*\s*([+-]?[0-9_ ]*\.?[0-9_ ]+?(?:e(?:\+|-)?[.0-9]+)?)[ \t]*([^0-9\s.](?:.*?[^.])?)?\s*$
unknowns Map%3Cstring,%20Unknown%3E required

The available unknowns.

generation object

The configuration for the generation of the code.

3 nested properties
debug boolean

Whether to generate debug code.

Default: false
matrix_free boolean

Whether to generate matrix free code.

Default: false
mpi boolean

Whether to generate MPI code.

Default: false

Definitions

Condition time | string
Condition2 length | string
ConditionedFunctionExpression object
expr string | number required

A function expression. Available variables are : t, x, y, z. Math functions such as cosinus or exponentials are available. They can be called through their cpp names like log for the logarithm.

t Condition | null

The time condition for which the function expression is valid. It can be none, a value or a range.

x Condition2 | null

The x condition for which the function expression is valid. It can be none, a value or a range.

y Condition2 | null

The y condition for which the function expression is valid. It can be none, a value or a range.

z Condition2 | null

The z condition for which the function expression is valid. It can be none, a value or a range.

CustomQuantity object

This allows defining custom quantities based on the seven base quantities of the international system.

amount integer
Default: 0
format=int
current integer
Default: 0
format=int
length integer
Default: 0
format=int
luminous_intensity integer
Default: 0
format=int
mass integer
Default: 0
format=int
temperature integer
Default: 0
format=int
time integer
Default: 0
format=int
value number
Default: 0.0
format=double
FiniteElement string

The finite element to use for the mesh.

FunctionDef FunctionExpression | ConditionedFunctionExpression[]

The definition of a function. This can be an expression or a conditioned function.

FunctionExpression string | number

A function expression. Available variables are : t, x, y, z. Math functions such as cosinus or exponentials are available. They can be called through their cpp names like log for the logarithm.

GenConfig object

The configuration for the generation of the code.

debug boolean

Whether to generate debug code.

Default: false
matrix_free boolean

Whether to generate matrix free code.

Default: false
mpi boolean

Whether to generate MPI code.

Default: false
HyperCubeMesh object
range string
Default: "0 m .. 1 m"
pattern=^\s*([+-]?[0-9_ ]*\.?[0-9_ ]+?(?:e(?:\+|-)?[.0-9]+)?)[ \t]*([^0-9\s.](?:.*?[^.])?)?\s*\s*..\s*\s*([+-]?[0-9_ ]*\.?[0-9_ ]+?(?:e(?:\+|-)?[.0-9]+)?)[ \t]*([^0-9\s.](?:.*?[^.])?)?\s*$
resolution string | number

A length.

show_info boolean
Default: false
Map<string, Equation> Record<string, string>
Map<string, FunctionDef> Record<string, FunctionExpression | ConditionedFunctionExpression[]>
Map<string, MeshEnum> Record<string, object>
Map<string, Unknown> Record<string, object>
MeshEnum object
QuantityEnum object | object | object | object | object | object | object | object
Solve object

The equation(s) to solve and the mesh to use.

element string required

The finite element to use for the mesh.

Values: "Q1" "Q2" "Q3"
equations string[] required

The equation(s) to solve

mesh string required

The mesh to use

time_step string | number required

A time.

dimension integer

The dimension of the problem Possible values: 1, 2, 3

Default: 2
format=uintmin=0
time string

The time range to solve.

Default: "0 .. 5s"
pattern=^\s*([+-]?[0-9_ ]*\.?[0-9_ ]+?(?:e(?:\+|-)?[.0-9]+)?)[ \t]*([^0-9\s.](?:.*?[^.])?)?\s*\s*..\s*\s*([+-]?[0-9_ ]*\.?[0-9_ ]+?(?:e(?:\+|-)?[.0-9]+)?)[ \t]*([^0-9\s.](?:.*?[^.])?)?\s*$
Unknown object

Represents an unknown to be solved in the PDE.

boundary integer | number | string
derivative Unknown | null

The time derivative's conditions of the unknown. The number of derivative specified should match the max time order of the equations - 1. (ie. an equation of order 2 in time needs one derivative specified)

initial integer | number | string
UnknownProperty integer | number | string
area string | number

A area.

diffusion_coefficient string | number

A diffusion coefficient.

length string | number

A length.

mass string | number

A mass.

speed string | number

A speed.

temperature string | number

A temperature.

time string | number

A time.

volume string | number

A volume.