Other Interface Functions

These miscellaneous parts are part of the interface, but don't fit in the other categories.

Main.Finch.initFinchFunction

initFinch(name = "unnamedProject", floatType::DataType=Float64)

This initializes the Finch state. The name of the project can be set here. T is the data type to be used for floating point data. T must be a subtype of AbstractFloat. Note that while this generally applies to data arrays relevant to the computation, some places may still use Float64, so the corresponding conversions should be defined.

source
Main.Finch.finalizeFinchMethod

finalizeFinch()

This closes all files and does any other finalization steps. It does not deallocate any data, so further processing can be done after calling this. However, using Finch functions may cause issues because files have been closed.

source
Main.Finch.customOperatorMethod
customOperator(name, handle)

Define a new symbolic operator to be used in PDE expressions. The name is the symbol that will be used in expressions. The function handle points to the operator's function.

source
Main.Finch.customOperatorFileMethod
customOperatorFile(filename)

Import a set of symbolic operators defined in a file. The file must contain certain elements. See an example.

source
Main.Finch.VariableTransformType
VariableTransform

Two sets of variables and a function that transforms one into the other. This is built with the variableTransform function.

source
Main.Finch.variableTransformMethod
variableTransform(var1, var2, func)

Define a function that will transform var1 into var2. var1 and var2 can be variable entities or arrays of them. The function should transform numerical values from one to the other.

source
Main.Finch.transformVariableMethod
transformVariable(xform::VariableTransform)

Perform a variable transformation using a previously defined transform. This can be done, for example, in a postStepFunction or in a callback function for boundary conditions.

source
Main.Finch.callbackFunctionMethod
callbackFunction(fun; name="", args=[], body="")

Include a callback function that can be included in expressions such as the PDE or boundary conditions. A better way to do this is with the macro @callbackFunction before the function definition, which will extract the name, arguments, and body automatically.

source
Missing docstring.

Missing docstring for assemblyLoops(indices, parallel_type=[]). Check Documenter's build log for details.

Main.Finch.exportCodeMethod
exportCode(filename)

Export all generated code including the elemental calculation and assembly loop code for all variables if available.

source
Main.Finch.importCodeMethod
importCode(filename)

Import elemental calculation and assembly loop code for all variables if possible. The "begin", "end", and "No code" comment lines must match a specific format to properly match them to the variables, so do not modify those lines from the exported code.

source
Main.Finch.cachesimMethod
cachesim(use)

Toggle the cache simulator target. Set use=true to use the cachesim target. If not using cachesim, don't use this function.

source