Authors
This package is maintained by the authors of Trixi.jl. For a full list of authors, see AUTHORS.md in the Trixi.jl repository. These authors form "The Trixi.jl Authors", as mentioned under License.
diff --git a/previews/PR35/.documenter-siteinfo.json b/previews/PR35/.documenter-siteinfo.json index 3c37e2d..a0846d2 100644 --- a/previews/PR35/.documenter-siteinfo.json +++ b/previews/PR35/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.11.2","generation_timestamp":"2025-01-09T10:01:09","documenter_version":"1.8.0"}} \ No newline at end of file +{"documenter":{"julia_version":"1.11.2","generation_timestamp":"2025-01-14T10:09:10","documenter_version":"1.8.0"}} \ No newline at end of file diff --git a/previews/PR35/authors/index.html b/previews/PR35/authors/index.html index a550154..5aabfb4 100644 --- a/previews/PR35/authors/index.html +++ b/previews/PR35/authors/index.html @@ -1,2 +1,2 @@ -
This package is maintained by the authors of Trixi.jl. For a full list of authors, see AUTHORS.md in the Trixi.jl repository. These authors form "The Trixi.jl Authors", as mentioned under License.
Settings
This document was generated with Documenter.jl version 1.8.0 on Thursday 9 January 2025. Using Julia version 1.11.2.
This package is maintained by the authors of Trixi.jl. For a full list of authors, see AUTHORS.md in the Trixi.jl repository. These authors form "The Trixi.jl Authors", as mentioned under License.
Settings
This document was generated with Documenter.jl version 1.8.0 on Tuesday 14 January 2025. Using Julia version 1.11.2.
TrixiBase.jl provides common functionality used by multiple Julia packages in the Trixi Framework.
Settings
This document was generated with Documenter.jl version 1.8.0 on Thursday 9 January 2025. Using Julia version 1.11.2.
TrixiBase.jl provides common functionality used by multiple Julia packages in the Trixi Framework.
Settings
This document was generated with Documenter.jl version 1.8.0 on Tuesday 14 January 2025. Using Julia version 1.11.2.
MIT License
Copyright (c) 2020-present The Trixi.jl Authors (see Authors)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Settings
This document was generated with Documenter.jl version 1.8.0 on Thursday 9 January 2025. Using Julia version 1.11.2.
MIT License
Copyright (c) 2020-present The Trixi.jl Authors (see Authors)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Settings
This document was generated with Documenter.jl version 1.8.0 on Tuesday 14 January 2025. Using Julia version 1.11.2.
TrixiBase.disable_debug_timings
— Methoddisable_debug_timings()
Disable all @trixi_timeit
timings. The timings should be optimized away, allowing for truly zero-overhead. Enable timings again with enable_debug_timings
.
See also enable_debug_timings
, @trixi_timeit
.
TrixiBase.enable_debug_timings
— Methodenable_debug_timings()
Enable all @trixi_timeit
timings (default behavior).
See also disable_debug_timings
, @trixi_timeit
.
TrixiBase.timer
— Methodtimer()
Main timer for global timing, e.g., to be used with @trixi_timeit
.
TrixiBase.trixi_include
— Methodtrixi_include([mapexpr::Function,] [mod::Module=Main,] elixir::AbstractString; kwargs...)
include
the file elixir
and evaluate its content in the global scope of module mod
. You can override specific assignments in elixir
by supplying keyword arguments. Its basic purpose is to make it easier to modify some parameters while running simulations from the REPL. Additionally, this is used in tests to reduce the computational burden for CI while still providing examples with sensible default values for users.
Before replacing assignments in elixir
, the keyword argument maxiters
is inserted into calls to solve
with it's default value used in the SciML ecosystem for ODEs, see the "Miscellaneous" section of the documentation.
The optional first argument mapexpr
can be used to transform the included code before it is evaluated: for each parsed expression expr
in elixir
, the include
function actually evaluates mapexpr(expr)
. If it is omitted, mapexpr
defaults to identity
.
Examples
julia> using TrixiBase, Trixi
+API reference · TrixiBase.jl API reference
TrixiBase.disable_debug_timings
— Methoddisable_debug_timings()
Disable all @trixi_timeit
timings. The timings should be optimized away, allowing for truly zero-overhead. Enable timings again with enable_debug_timings
.
See also enable_debug_timings
, @trixi_timeit
.
sourceTrixiBase.enable_debug_timings
— Methodenable_debug_timings()
Enable all @trixi_timeit
timings (default behavior).
See also disable_debug_timings
, @trixi_timeit
.
sourceTrixiBase.timer
— Methodtimer()
Main timer for global timing, e.g., to be used with @trixi_timeit
.
sourceTrixiBase.trixi_include
— Methodtrixi_include([mapexpr::Function,] [mod::Module=Main,] elixir::AbstractString; kwargs...)
include
the file elixir
and evaluate its content in the global scope of module mod
. You can override specific assignments in elixir
by supplying keyword arguments. Its basic purpose is to make it easier to modify some parameters while running simulations from the REPL. Additionally, this is used in tests to reduce the computational burden for CI while still providing examples with sensible default values for users.
Before replacing assignments in elixir
, the keyword argument maxiters
is inserted into calls to solve
with it's default value used in the SciML ecosystem for ODEs, see the "Miscellaneous" section of the documentation.
The optional first argument mapexpr
can be used to transform the included code before it is evaluated: for each parsed expression expr
in elixir
, the include
function actually evaluates mapexpr(expr)
. If it is omitted, mapexpr
defaults to identity
.
Examples
julia> using TrixiBase, Trixi
julia> redirect_stdout(devnull) do
trixi_include(@__MODULE__, joinpath(examples_dir(), "tree_1d_dgsem", "elixir_advection_extended.jl"),
@@ -7,4 +7,4 @@
sol.t[end]
end
[ Info: You just called `trixi_include`. Julia may now compile the code, please be patient.
-0.1
sourceTrixiBase.@trixi_timeit
— Macro@trixi_timeit timer() "some label" expression
Basically the same as a special case of @timeit_debug
from TimerOutputs.jl, but without try ... finally ... end
block. Thus, it's not exception-safe, but it also avoids some related performance problems. Since we do not use exception handling in Trixi.jl, that's not really an issue.
All @trixi_timeit
timings can be disabled with disable_debug_timings
. The timings should then be optimized away, allowing for truly zero-overhead.
See also disable_debug_timings
, enable_debug_timings
.
sourceSettings
This document was generated with Documenter.jl version 1.8.0 on Thursday 9 January 2025. Using Julia version 1.11.2.
+0.1
TrixiBase.trixi_include_changeprecision
— Methodtrixi_include_changeprecision(T, [mod::Module=Main,] elixir::AbstractString; kwargs...)
include
the elixir elixir
and evaluate its content in the global scope of module mod
. You can override specific assignments in elixir
by supplying keyword arguments, similar to trixi_include
.
The only difference to trixi_include
is that the precision of floating-point numbers in the included elixir is changed to T
. More precisely, the package ChangePrecision.jl is used to convert all Float64
literals, operations like /
that produce Float64
results, and functions like ones
that return Float64
arrays by default, to the desired type T
. See the documentation of ChangePrecision.jl for more details.
The purpose of this function is to conveniently run a full simulation with Float32
, which is orders of magnitude faster on most GPUs than Float64
, by just including the elixir with trixi_include_changeprecision(Float32, elixir)
. Most code in the Trixi framework is written in a way that changing all floating-point numbers in the elixir to Float32
manually will run the full simulation with single precision.
TrixiBase.@trixi_timeit
— Macro@trixi_timeit timer() "some label" expression
Basically the same as a special case of @timeit_debug
from TimerOutputs.jl, but without try ... finally ... end
block. Thus, it's not exception-safe, but it also avoids some related performance problems. Since we do not use exception handling in Trixi.jl, that's not really an issue.
All @trixi_timeit
timings can be disabled with disable_debug_timings
. The timings should then be optimized away, allowing for truly zero-overhead.
See also disable_debug_timings
, enable_debug_timings
.
Settings
This document was generated with Documenter.jl version 1.8.0 on Tuesday 14 January 2025. Using Julia version 1.11.2.