Configuration
These functions are used at the beginning of your script to set up the configuration.
Main.Finch.domain
Main.Finch.functionSpace
Main.Finch.generateFor
Main.Finch.linAlgOptions
Main.Finch.nodeType
Main.Finch.setSteps
Main.Finch.timeInterval
Main.Finch.timeStepper
Main.Finch.useLog
Main.Finch.generateFor
— MethodgenerateFor(lang; filename=project_name, header="", params...)
Specify the generation target. Lang could be one of the included target constants: (MATLAB, DENDRO) or the filename where the target is defined. The keyword argument filename refers to the name to be applied to the generated code. The header text will be placed at the top of each generated code file. If the target requires some extra parameters, those are included in params and available to the target as a Dict{Symbol, Any}
.
Main.Finch.useLog
— FunctionuseLog(name=project_name; dir=output_dir, level=2)
Turn on logging with the given file name and optional directory. The verbosity level can be 1(basic progress info), 2(More details about each step), or 3(everything).
Main.Finch.domain
— Methoddomain(dims; shape=SQUARE, grid=UNIFORM_GRID)
Set the dimensionality of the domain. The shape(SQUARE, IRREGULAR) and grid type(UNIFORM_GRID, UNSTRUCTURED, TREE) can be set, but may be changed when building or importing the mesh.
Missing docstring for solverType(method, backend=DEFAULT_SOLVER)
. Check Documenter's build log for details.
Main.Finch.functionSpace
— MethodfunctionSpace(;space=LEGENDRE, order=0, orderMin=0, orderMax=0)
Set the polynomial order and type of polynomials for FEM. Some of these are placeholders, so only use order at this point.
Main.Finch.nodeType
— MethodnodeType(type)
For FEM, set the nodal configuration within elements. The default is LOBATTO. GAUSS and UNIFORM are available, but should be used with care.
Main.Finch.timeStepper
— MethodtimeStepper(type; cfl=0)
Set the type of time stepping method and optionally the CFL number. Options include EULER_EXPLICIT
, EULER_IMPLICIT
, CRANK_NICHOLSON
, RK4
, LSRK4
. There are some other options for specific targets, so see their documentation. If no CFL number is provided, one will be chosen based on the mesh and stepper type.
Main.Finch.timeInterval
— MethodtimeInterval(T)
Set the ending time for time stepping. This is overridden if time steps are manually specified.
Main.Finch.setSteps
— MethodsetSteps(dt, steps)
Manually set the time steps if desired.
Main.Finch.linAlgOptions
— MethodlinAlgOptions(kwargs...)
Set options for solving the linear system. Matrix-free must use an iterative method. Iterative methods include GMRES, CG, or BiCGStable provided by IterativeSolvers.jl Available preconditioners are AMG and ILU provided by AlgebraicMultigrid.jl and IncompleteLU.jl. Defaults maxiter=0, abstol=0, and gmresRestart=0 will use the corresponding defaults from IterativeSolvers.jl
Keywords
matrixFree=false
iterative=false
method="GMRES"
or"CG"
or"BCGS"
pc="ILU"
or"AMG"
or"NONE"
maxiter::Int=0
0 will result insize(A, 2)
abstol=0
reltol=1e-8
gmresRestart=0
0 will result inmin(20, size(A, 2))
verbose::Bool=false
Print convergence info for each iteration.