Merge branch 'coryab/code' into janitaws/latex

This commit is contained in:
Janita Willumsen 2023-11-17 13:20:33 +01:00
commit cc1fdf6496
103 changed files with 2030698 additions and 67 deletions

View File

@ -31,8 +31,7 @@ BreakBeforeBinaryOperators: NonAssignment
# Use a Linux style brace break.
# Break before braces on function, namespace and class definitions.
BreakBeforeBraces: Linux
BreakBeforeBraces: Stroustrup
# If true, spaces will be inserted after ( and before ).
SpacesInParentheses: false
@ -42,3 +41,6 @@ SpacesInSquareBrackets: false
# Separate definition blocks (classes, functions, structs, enums)
SeparateDefinitionBlocks: Always
# Sort includes by type
IncludeBlocks: Regroup

View File

@ -1,2 +1,2 @@
CompileFlags:
Add: [-I../include, -I/usr/include/openmpi-x86_64]
Add: [-I../include]

View File

@ -1 +1 @@
# Project-4
# Ising model

View File

@ -0,0 +1,22 @@
name: publish
on:
release:
types: [published]
jobs:
deploy:
runs-on: ubuntu-20.04
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: set version
run: echo "PROJECT_NUMBER = `git describe --tags`" >> Doxyfile
- name: Generate Documentation
uses: mattnotmitt/doxygen-action@edge
- name: Publish generated content to GitHub Pages
uses: tsunematsu21/actions-publish-gh-pages@v1.0.2
with:
dir: docs/html
branch: gh-pages
token: ${{ secrets.ACCESS_TOKEN }}

6
doxygen-awesome/.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
docs/html
.DS_Store
.idea
node_modules
*.tgz

View File

@ -0,0 +1,3 @@
*
!doxygen-awesome*

2793
doxygen-awesome/Doxyfile Normal file

File diff suppressed because it is too large Load Diff

21
doxygen-awesome/LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2021 - 2023 jothepro
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.

38
doxygen-awesome/Makefile Normal file
View File

@ -0,0 +1,38 @@
# SPDX-FileCopyrightText: 2022 Andrea Pappacoda <andrea@pappacoda.it>
# SPDX-License-Identifier: MIT
.POSIX:
PROJECT = doxygen-awesome-css
# Paths
PREFIX = /usr/local
DATADIR = share
INSTALLDIR = $(DESTDIR)$(PREFIX)/$(DATADIR)/$(PROJECT)
# Utilities
INSTALL = install -m 644
MKDIR = mkdir -p
RM = rm -f
# Files to be installed
FILES = doxygen-awesome-darkmode-toggle.js \
doxygen-awesome-fragment-copy-button.js \
doxygen-awesome-interactive-toc.js \
doxygen-awesome-paragraph-link.js \
doxygen-awesome-sidebar-only-darkmode-toggle.css \
doxygen-awesome-sidebar-only.css \
doxygen-awesome.css
# Empty targets so that `make` and `make clean` do not cause errors
all:
clean:
install:
$(MKDIR) $(INSTALLDIR)
$(INSTALL) $(FILES) $(INSTALLDIR)/
uninstall:
$(RM) -r $(INSTALLDIR)/
.PHONY: all clean install uninstall

166
doxygen-awesome/README.md Normal file
View File

@ -0,0 +1,166 @@
# Doxygen Awesome
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/jothepro/doxygen-awesome-css)](https://github.com/jothepro/doxygen-awesome-css/releases/latest)
[![GitHub](https://img.shields.io/github/license/jothepro/doxygen-awesome-css)](https://github.com/jothepro/doxygen-awesome-css/blob/main/LICENSE)
![GitHub Repo stars](https://img.shields.io/github/stars/jothepro/doxygen-awesome-css)
<div class="title_screenshot">
![Screenshot of Doxygen Awesome CSS](img/screenshot.png)
</div>
**Doxygen Awesome** is a custom **CSS theme for Doxygen HTML-documentation** with lots of customization parameters.
## Motivation
I really like how the Doxygen HTML-documentation is structured! But IMHO it looks a bit outdated.
This theme is an attempt to update the visuals of Doxygen without changing its overall layout too much.
## Features
- 🌈 Clean, modern design
- 🚀 Heavily customizable by adjusting CSS-variables
- 🧩 No changes to the HTML structure of Doxygen required
- 📱 Improved mobile usability
- 🌘 Dark mode support!
- 🥇 Works best with **doxygen 1.9.1** - **1.9.4** and **1.9.6** - **1.9.7**
## Examples
Some websites using this theme:
- [Documentation of this repository](https://jothepro.github.io/doxygen-awesome-css/)
- [wxWidgets](https://docs.wxwidgets.org/3.2/)
- [OpenCV 5.x](https://docs.opencv.org/5.x/)
- [Zephyr](https://docs.zephyrproject.org/latest/doxygen/html/index.html)
- [FELTOR](https://mwiesenberger.github.io/feltor/dg/html/modules.html)
- [Spatial Audio Framework (SAF)](https://leomccormack.github.io/Spatial_Audio_Framework/index.html)
- [libCloudSync](https://jothepro.github.io/libCloudSync/)
- [libsl3](https://a4z.github.io/libsl3/)
## Installation
To use the theme when generating your documentation, bring the required CSS and JS files from this repository into your project.
This can be done in several ways:
- manually copying the files
- adding the project as a Git submodule
- adding the project as a npm/xpm dependency
- installing the theme system wide
All theme files are located in the root of this repository and start with the prefix `doxygen-awesome-`. You may not need all of them. Follow the install instructions to figure out what files are required for your setup.
### Git submodule
For projects which use git, add the repository as a submodule and check out the desired release:
```sh
git submodule add https://github.com/jothepro/doxygen-awesome-css.git
cd doxygen-awesome-css
git checkout v2.2.1
```
### npm/xpm dependency
In the npm ecosystem, this project can be added as a development dependency
to your project:
```sh
cd your-project
npm install https://github.com/jothepro/doxygen-awesome-css#v2.2.1 --save-dev
ls -l node_module/@jothepro/doxygen-awesome-css
```
Similarly, in the [xPack](https://xpack.github.io) ecosystem, this project can be added
as a development dependency to an [`xpm`](https://xpack.github.io/xpm/)
managed project.
### System-wide
You can even install the theme system-wide by running `make install`. The files will be installed to `/usr/local/share/` by default, but you can customize the install location with `make PREFIX=/my/custom/path install`.
### Choosing a layout
There is two layout options. Choose one of them and configure Doxygen accordingly:
<div class="darkmode_inverted_image">
![Available theme variants](img/theme-variants.drawio.svg)
</div>
<div class="tabbed">
- <b class="tab-title">1⃣ Base Theme </b>
Comes with the typical Doxygen titlebar. Optionally the treeview in the sidebar can be enabled.
Required files: `doxygen-awesome.css`
Required `Doxyfile` configuration:
```
GENERATE_TREEVIEW = YES # optional. Also works without treeview
DISABLE_INDEX = NO
FULL_SIDEBAR = NO
HTML_EXTRA_STYLESHEET = doxygen-awesome-css/doxygen-awesome.css
HTML_COLORSTYLE = LIGHT # required with Doxygen >= 1.9.5
```
- <b class="tab-title">2⃣ Sidebar-Only Theme </b>
Hides the top titlebar to give more space to the content. The treeview must be enabled in order for this theme to work.
Required files: `doxygen-awesome.css`, `doxygen-awesome-sidebar-only.css`
Required `Doxyfile` configuration:
```
GENERATE_TREEVIEW = YES # required!
DISABLE_INDEX = NO
FULL_SIDEBAR = NO
HTML_EXTRA_STYLESHEET = doxygen-awesome-css/doxygen-awesome.css \
doxygen-awesome-css/doxygen-awesome-sidebar-only.css
HTML_COLORSTYLE = LIGHT # required with Doxygen >= 1.9.5
```
</div>
**Caution**:
- This theme is not compatible with the `FULL_SIDEBAR = YES` option provided by Doxygen!
- `HTML_COLORSTYLE` must be set to `LIGHT` since Doxygen 1.9.5!
### Further installation instructions:
- [Installing extensions](docs/extensions.md)
- [Customizing the theme (colors, spacing, border-radius, ...)](docs/customization.md)
- [Tips and Tricks for further configuration](docs/tricks.md)
## Browser support
Tested with
- Chrome 110, Chrome 109 for Android, Chrome 110 for iOS
- Safari 16, Safari for iOS 16
- Firefox 110, Firefox 110 for Android, Firefox 109 for iOS
- Edge 110
The theme does not strive to be backwards compatible to (significantly) older browser versions.
## Credits
Thanks for all the bug reports and inspiring feedback on github!
Special thanks to all the contributors:
<br><br>
<a href="https://github.com/jothepro/doxygen-awesome-css/graphs/contributors">
<img src="https://contrib.rocks/image?repo=jothepro/doxygen-awesome-css" />
</a>
<span class="next_section_button">
Read Next: [Extensions](docs/extensions.md)
</span>

View File

@ -0,0 +1,115 @@
# Customization
[TOC]
## CSS-Variables
This theme is highly customizable because a lot of things are parameterized with CSS variables.
Just to give you an idea on how flexible the styling is, click this button:
<div class="alter-theme-button" onclick="toggle_alternative_theme()" onkeypress="if (event.keyCode == 13) toggle_alternative_theme()" tabindex=0>Alter theme</div>
### Setup
It is recommended to add your own `custom.css` and overwrite the variables there:
```
HTML_EXTRA_STYLESHEET = doxygen-awesome.css custom.css
```
Make sure to override the variables in the correct spot. All variables should be customized where they have been defined, in the `html` tag selector:
```css
html {
/* override light-mode variables here */
}
```
For dark-mode overrides you have to choose where to put them, depending on whether the dark-mode toggle extension is installed or not:
<div class="tabbed">
- <b class="tab-title">dark-mode toggle is installed</b>
```css
html.dark-mode {
/* define dark-mode variable overrides here if you DO use doxygen-awesome-darkmode-toggle.js */
}
```
- <b class="tab-title">dark-mode toggle is **NOT** installed</b>
The dark-mode is enabled automatically depending on the system preference:
```css
@media (prefers-color-scheme: dark) {
html:not(.light-mode) {
/* define dark-mode variable overrides here if you DON'T use doxygen-awesome-darkmode-toggle.js */
}
}
```
</div>
### Available variables
The following list gives an overview of the variables defined in [`doxygen-awesome.css`](https://github.com/jothepro/doxygen-awesome-css/blob/main/doxygen-awesome.css).
The list is not complete. To explore all available variables, have a look at the CSS starting from [here](https://github.com/jothepro/doxygen-awesome-css/blob/main/doxygen-awesome.css#L30).
All variables are defined at the beginning of the stylesheet.
| Parameter | Default (Light) | Default (Dark) |
| :---------------------------------- | :---------------------------------------------------------- | :---------------------------------------------------------- |
| **Color Scheme**:<br>primary theme colors. This will affect the entire websites color scheme: links, arrows, labels, ... |||
| `--primary-color` | <code style="background:#1779c4;color:white">#1779c4</code> | <code style="background:#1982d2;color:white">#1982d2</code> |
| `--primary-dark-color` | <code style="background:#335c80;color:white">#335c80</code> | <code style="background:#5ca8e2;color:black">#5ca8e2</code> |
| `--primary-light-color` | <code style="background:#70b1e9;color:black">#70b1e9</code> | <code style="background:#4779ac;color:white">#4779ac</code> |
| **Page Colors**:<br>background and foreground (text-color) of the documentation. |||
| `--page-background-color` | <code style="background:#ffffff;color:black">#ffffff</code> | <code style="background:#1C1D1F;color:white">#1C1D1F</code> |
| `--page-foreground-color` | <code style="background:#2f4153;color:white">#2f4153</code> | <code style="background:#d2dbde;color:black">#d2dbde</code> |
| `--page-secondary-foreground-color` | <code style="background:#6f7e8e;color:white">#6f7e8e</code> | <code style="background:#859399;color:white">#859399</code> |
| **Spacing:**<br>default spacings. Most ui components reference these values for spacing, to provide uniform spacing on the page. |||
| `--spacing-small` | `5px` | |
| `--spacing-medium` | `10px` | |
| `--spacing-large` | `16px` | |
| **Border Radius**:<br>border radius for all rounded ui components. Will affect many components, like dropdowns, memitems, codeblocks, ... |||
| `--border-radius-small` | `4px` | |
| `--border-radius-medium` | `6px` | |
| `--border-radius-large` | `8px` | |
| **Content Width**:<br>The content is centered and constrained in its width. To make the content fill the whole page, set the following variable to `auto`. |||
| `--content-maxwidth` | `1000px` | |
| **Code Fragment Colors**:<br>Color-Scheme of multiline codeblocks |||
| `--fragment-background` | <code style="background:#F8F9FA;color:black">#F8F9FA</code> | <code style="background:#282c34;color:white">#282c34</code> |
| `--fragment-foreground` | <code style="background:#37474F;color:white">#37474F</code> | <code style="background:#dbe4eb;color:black">#dbe4eb</code> |
| **Arrow Opacity**:<br>By default the arrows in the sidebar are only visible on hover. You can override this behavior so they are visible all the time. |||
| `--side-nav-arrow-opacity` | `0` | |
| `--side-nav-arrow-hover-opacity` | `0.9` | |
| ...and many more |||
If you miss a configuration option or find a bug, please consider [opening an issue](https://github.com/jothepro/doxygen-awesome-css/issues)!
## Doxygen generator
The theme overrides most colors with the `--primary-color-*` variables.
But there is a few small images and graphics that the theme cannot adjust or replace. To make these blend in better with
the rest, it is recommended to adjust the [doxygen color settings](https://www.doxygen.nl/manual/customize.html#minor_tweaks_colors)
to something that matches the chosen color-scheme.
For the default color-scheme, these values work out quite well:
```
# Doxyfile
HTML_COLORSTYLE_HUE = 209
HTML_COLORSTYLE_SAT = 255
HTML_COLORSTYLE_GAMMA = 113
```
## Share your customizations
If you customized the theme with custom colors, spacings, font-sizes, etc. and you want to share your creation with others, you can to this [here](https://github.com/jothepro/doxygen-awesome-css/discussions/13).
I am always curious to learn about how you made the theme look even better!
<span class="next_section_button">
Read Next: [Tips & Tricks](tricks.md)
</span>

View File

@ -0,0 +1,236 @@
# Extensions
[TOC]
On top of the base theme provided by `doxygen-awesome.css`, this repository comes with Javascript extensions that require additional setup steps to get them running.
The extensions require customizations in the header HTML-template.
This is how you can create the default template with Doxygen:
1. Create default header template:
```sh
doxygen -w html header.html delete_me.html delete_me.css
```
2. Reference the template in your `Doxyfile`:
```
HTML_HEADER = header.html
```
[More details on header customization](https://www.doxygen.nl/manual/customize.html#minor_tweaks_header_css)
## Dark Mode Toggle {#extension-dark-mode-toggle}
Adds a button next to the search bar to enable and disable the dark theme variant manually:
<div class="darkmode_inverted_image bordered_image">
<img width=250 src="darkmode_toggle.png" />
</div>
### Installation
1. Add the required resources in your `Doxyfile`:
- **HTML_EXTRA_FILES:** `doxygen-awesome-darkmode-toggle.js`
- **HTML_EXTRA_STYLESHEET:** `doxygen-awesome-sidebar-only-darkmode-toggle.css`
<em>(ONLY required for the sidebar-only theme variant!)</em>
2. In the `header.html` template, include `doxygen-awesome-darkmode-toggle.js` at the end of the `<head>` and then initialize it:
```html
<html>
<head>
<!-- ... other metadata & script includes ... -->
<script type="text/javascript" src="$relpath^doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript">
DoxygenAwesomeDarkModeToggle.init()
</script>
</head>
<body>
```
### Customizing
Changing the tooltip of the button:
```js
DoxygenAwesomeDarkModeToggle.title = "Zwischen hellem/dunklem Modus wechseln"
```
Changing Icons. Both Emoji or SVG icons are supported:
```js
DoxygenAwesomeDarkModeToggle.lightModeIcon = '🌞'
// icon from https://fonts.google.com/icons
DoxygenAwesomeDarkModeToggle.darkModeIcon = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#009793"><g><rect fill="none" height="24" width="24"/></g><g><g><path d="M8.1,14.15C9.77,14.63,11,16.17,11,18c0,0.68-0.19,1.31-0.48,1.87c0.48,0.09,0.97,0.14,1.48,0.14 c1.48,0,2.9-0.41,4.13-1.15c-2.62-0.92-5.23-2.82-6.8-5.86C7.74,9.94,7.78,7.09,8.29,4.9c-2.57,1.33-4.3,4.01-4.3,7.1c0,0,0,0,0,0 c0.01,0,0.01,0,0.02,0C5.66,12,7.18,12.83,8.1,14.15z" opacity=".3"/><path d="M19.78,17.51c-2.47,0-6.57-1.33-8.68-5.43C8.77,7.57,10.6,3.6,11.63,2.01C6.27,2.2,1.98,6.59,1.98,12 c0,0.14,0.02,0.28,0.02,0.42C2.61,12.16,3.28,12,3.98,12c0,0,0,0,0,0c0-3.09,1.73-5.77,4.3-7.1C7.78,7.09,7.74,9.94,9.32,13 c1.57,3.04,4.18,4.95,6.8,5.86c-1.23,0.74-2.65,1.15-4.13,1.15c-0.5,0-1-0.05-1.48-0.14c-0.37,0.7-0.94,1.27-1.64,1.64 c0.98,0.32,2.03,0.5,3.11,0.5c3.5,0,6.58-1.8,8.37-4.52C20.18,17.5,19.98,17.51,19.78,17.51z"/><path d="M7,16l-0.18,0C6.4,14.84,5.3,14,4,14c-1.66,0-3,1.34-3,3s1.34,3,3,3c0.62,0,2.49,0,3,0c1.1,0,2-0.9,2-2 C9,16.9,8.1,16,7,16z"/></g></g></svg>`
```
All customizations must be applied before calling `DoxygenAwesomeDarkModeToggle.init()`!
## Fragment Copy Button {#extension-copy-button}
Shows a copy button when the user hovers over a code fragment:
<div class="darkmode_inverted_image bordered_image">
<img width=490 src="fragment_copy_button.png"/>
</div>
### Installation
1. Add the required resources in your `Doxyfile`:
- **HTML_EXTRA_FILES:** `doxygen-awesome-fragment-copy-button.js`
2. In the `header.html` template, include `doxygen-awesome-fragment-copy-button.js` at the end of the `<head>` and then initialize it:
```html
<html>
<head>
<!-- ... other metadata & script includes ... -->
<script type="text/javascript" src="$relpath^doxygen-awesome-fragment-copy-button.js"></script>
<script type="text/javascript">
DoxygenAwesomeFragmentCopyButton.init()
</script>
</head>
<body>
```
### Customizing
The tooltip of the button can be changed:
```js
DoxygenAwesomeFragmentCopyButton.title = "In die Zwischenablage kopieren"
```
The icon can be changed. It must be an SVG:
```js
DoxygenAwesomeFragmentCopyButton.copyIcon = `<svg ...>`
DoxygenAwesomeFragmentCopyButton.successIcon = `<svg ...>`
```
All customizations must be applied before calling `DoxygenAwesomeDarkModeToggle.init()`!
## Paragraph Linking {#extension-para}
Provides a button on hover behind every headline to allow easy creation of a permanent link to the headline:
<div class="darkmode_inverted_image bordered_image">
<img width=220 src="paragraph_link.png"/>
</div>
Works for all headlines and for many documentation section titles.
### Installation
1. Add the required resources in your `Doxyfile`:
- **HTML_EXTRA_FILES:** `doxygen-awesome-paragraph-link.js`
2. In the `header.html` template, include `doxygen-awesome-paragraph-link.js` at the end of the `<head>` and then initialize it:
```html
<html>
<head>
<!-- ... other metadata & script includes ... -->
<script type="text/javascript" src="$relpath^doxygen-awesome-paragraph-link.js"></script>
<script type="text/javascript">
DoxygenAwesomeParagraphLink.init()
</script>
</head>
<body>
```
### Customizing
The button tooltip can be changed:
```js
DoxygenAwesomeParagraphLink.title = "Abschnitt verknüpfen"
```
The icon of the button can be changed. Both plain characters or SVG icons are supported:
```js
DoxygenAwesomeParagraphLink.icon = "¶"
```
All customizations must be applied before calling `DoxygenAwesomeParagraphLink.init()`!
## Interactive TOC {#extension-toc}
On large screens the Table of Contents (TOC) is anchored on the top right of the page. This extension visualizes the reading progress by dynamically highlighting the currently active section.
On small screens the extension hides the TOC by default. The user can open it manually when needed:
<div class="darkmode_inverted_image bordered_image">
<img width=380 src="interactive_toc_mobile.png" />
</div>
### Installation
1. Add the required resources in your `Doxyfile`:
- **HTML_EXTRA_FILES:** `doxygen-awesome-interactive-toc.js`
2. In the `header.html` template, include `doxygen-awesome-interactive-toc.js` at the end of the `<head>` and then initialize it:
```html
<html>
<head>
<!-- ... other metadata & script includes ... -->
<script type="text/javascript" src="$relpath^doxygen-awesome-interactive-toc.js"></script>
<script type="text/javascript">
DoxygenAwesomeInteractiveToc.init()
</script>
</head>
<body>
```
### Customizing
The offset for when a headline is considered active can be changed. A smaller value means that the headline of the section must be closer to the top of the viewport before it is highlighted in the TOC:
```js
DoxygenAwesomeInteractiveToc.topOffset = 45
```
Hiding the TOC on small screens can be disabled. It is still interactive and can be hidden by the user but will now be open by default:
```js
DoxygenAwesomeInteractiveToc.hideMobileMenu = false
```
## Tabs {#extension-tabs}
@note Experimental feature! Please report bugs [here](https://github.com/jothepro/doxygen-awesome-css/issues).
This extension allows to arrange list content in tabs:
<div class="tabbed">
- <span class="tab-title">Tab 1</span> This is the content of tab 1
- <span class="tab-title">Tab 2</span> This is the content of tab 2
</div>
### Installation
1. Add the required resources in your `Doxyfile`:
- **HTML_EXTRA_FILES:** `doxygen-awesome-tabs.js`
2. In the `header.html` template, include `doxygen-awesome-tabs.js` at the end of the `<head>` and then initialize it:
```html
<html>
<head>
<!-- ... other metadata & script includes ... -->
<script type="text/javascript" src="$relpath^doxygen-awesome-tabs.js"></script>
<script type="text/javascript">
DoxygenAwesomeTabs.init()
</script>
</head>
<body>
```
### Usage
Each list that is supposed to be displayed as tabs has to be wrapped with the `tabbed` CSS class.
Each item in the list must start with an element that has the class `tab-title`. It will then be used as tab title.
```md
<div class="tabbed">
- <span class="tab-title">Tab 1</span> This is the content of tab 1
- <span class="tab-title">Tab 2</span> This is the content of tab 2
</div>
```
<span class="next_section_button">
Read Next: [Customization](customization.md)
</span>

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,124 @@
# Tips & Tricks
[TOC]
## Diagrams with Graphviz {#tricks-graphviz}
To get the best looking class diagrams for your documentation, generate them with Graphviz as vector graphics with transparent background:
```
# Doxyfile
HAVE_DOT = YES
DOT_IMAGE_FORMAT = svg
DOT_TRANSPARENT = YES
```
In case `INTERACTIVE_SVG = YES` is set in the Doxyfile, all user-defined dotgraphs must be wrapped with the `interactive_dotgraph` CSS class in order for them to be rendered correctly:
```md
<div class="interactive_dotgraph">
\dotfile graph.dot
</div>
```
@note Both the default overflow scrolling behavior in this theme and the interactive editor enabled by `INTERACTIVE_SVG` are unsatisfying workarounds IMHO. Consider designing your graphs to be narrow enough to fit the page to avoid scrolling.
## Disable Dark Mode {#tricks-darkmode}
If you don't want the theme to automatically switch to dark mode depending on the browser preference,
you can disable dark mode by adding the `light-mode` class to the html-tag in the header template:
```html
<html xmlns="http://www.w3.org/1999/xhtml" class="light-mode">
```
The same can be done to always enable dark-mode:
```html
<html xmlns="http://www.w3.org/1999/xhtml" class="dark-mode">
```
@warning This only works if you don't use the dark-mode toggle extension.
## Choosing Sidebar Width {#tricks-sidebar}
If you have enabled the sidebar-only theme variant, make sure to carefully choose a proper width for your sidebar.
It should be wide enough to hold the icon, project title and version number. If the content is too wide, it will be
cut off.
```css
html {
/* Make sure sidebar is wide enough to contain the page title (logo + title + version) */
--side-nav-fixed-width: 335px;
}
```
The chosen width should also be set in the Doxyfile:
```
# Doxyfile
TREEVIEW_WIDTH = 335
```
## Formatting Tables {#tricks-tables}
By default tables in this theme are left-aligned and as wide as required to fit their content.
Those properties can be changed for individual tables.
### Centering
Tables can be centered by wrapping them in the `<center>` HTML-tag.
<div class="tabbed">
- <span class="tab-title">Code</span>
```md
<center>
| This table | is centered |
|------------|----------------------|
| test 1 | test 2 |
</center>
```
- <span class="tab-title">Result</span>
<center>
| This table | is centered |
|------------|----------------------|
| test 1 | test 2 |
</center>
</div>
### Full Width
To make tables span the full width of the page, no matter how wide the content is, wrap the table in the `full_width_table` CSS class.
@warning Apply with caution! This breaks the overflow scrolling of the table. Content might be cut of on small screens!
<div class="tabbed">
- <span class="tab-title">Code</span>
```md
<div class="full_width_table">
| This table | spans the full width |
|------------|----------------------|
| test 1 | test 2 |
</div>
```
- <span class="tab-title">Result</span>
<div class="full_width_table">
| This table | spans the full width |
|------------|----------------------|
| test 1 | test 2 |
</div>
</div>
<span class="next_section_button">
Read Next: [Example](https://jothepro.github.io/doxygen-awesome-css/class_my_library_1_1_example.html)
</span>

View File

@ -0,0 +1,157 @@
/**
Doxygen Awesome
https://github.com/jothepro/doxygen-awesome-css
MIT License
Copyright (c) 2021 - 2023 jothepro
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.
*/
class DoxygenAwesomeDarkModeToggle extends HTMLElement {
// SVG icons from https://fonts.google.com/icons
// Licensed under the Apache 2.0 license:
// https://www.apache.org/licenses/LICENSE-2.0.html
static lightModeIcon = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#FCBF00"><rect fill="none" height="24" width="24"/><circle cx="12" cy="12" opacity=".3" r="3"/><path d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"/></svg>`
static darkModeIcon = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#FE9700"><rect fill="none" height="24" width="24"/><path d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27 C17.45,17.19,14.93,19,12,19c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z" opacity=".3"/><path d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"/></svg>`
static title = "Toggle Light/Dark Mode"
static prefersLightModeInDarkModeKey = "prefers-light-mode-in-dark-mode"
static prefersDarkModeInLightModeKey = "prefers-dark-mode-in-light-mode"
static _staticConstructor = function() {
DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.userPreference)
// Update the color scheme when the browsers preference changes
// without user interaction on the website.
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged()
})
// Update the color scheme when the tab is made visible again.
// It is possible that the appearance was changed in another tab
// while this tab was in the background.
document.addEventListener("visibilitychange", visibilityState => {
if (document.visibilityState === 'visible') {
DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged()
}
});
}()
static init() {
$(function() {
$(document).ready(function() {
const toggleButton = document.createElement('doxygen-awesome-dark-mode-toggle')
toggleButton.title = DoxygenAwesomeDarkModeToggle.title
toggleButton.updateIcon()
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
toggleButton.updateIcon()
})
document.addEventListener("visibilitychange", visibilityState => {
if (document.visibilityState === 'visible') {
toggleButton.updateIcon()
}
});
$(document).ready(function(){
document.getElementById("MSearchBox").parentNode.appendChild(toggleButton)
})
$(window).resize(function(){
document.getElementById("MSearchBox").parentNode.appendChild(toggleButton)
})
})
})
}
constructor() {
super();
this.onclick=this.toggleDarkMode
}
/**
* @returns `true` for dark-mode, `false` for light-mode system preference
*/
static get systemPreference() {
return window.matchMedia('(prefers-color-scheme: dark)').matches
}
/**
* @returns `true` for dark-mode, `false` for light-mode user preference
*/
static get userPreference() {
return (!DoxygenAwesomeDarkModeToggle.systemPreference && localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey)) ||
(DoxygenAwesomeDarkModeToggle.systemPreference && !localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey))
}
static set userPreference(userPreference) {
DoxygenAwesomeDarkModeToggle.darkModeEnabled = userPreference
if(!userPreference) {
if(DoxygenAwesomeDarkModeToggle.systemPreference) {
localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey, true)
} else {
localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey)
}
} else {
if(!DoxygenAwesomeDarkModeToggle.systemPreference) {
localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey, true)
} else {
localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey)
}
}
DoxygenAwesomeDarkModeToggle.onUserPreferenceChanged()
}
static enableDarkMode(enable) {
if(enable) {
DoxygenAwesomeDarkModeToggle.darkModeEnabled = true
document.documentElement.classList.add("dark-mode")
document.documentElement.classList.remove("light-mode")
} else {
DoxygenAwesomeDarkModeToggle.darkModeEnabled = false
document.documentElement.classList.remove("dark-mode")
document.documentElement.classList.add("light-mode")
}
}
static onSystemPreferenceChanged() {
DoxygenAwesomeDarkModeToggle.darkModeEnabled = DoxygenAwesomeDarkModeToggle.userPreference
DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled)
}
static onUserPreferenceChanged() {
DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled)
}
toggleDarkMode() {
DoxygenAwesomeDarkModeToggle.userPreference = !DoxygenAwesomeDarkModeToggle.userPreference
this.updateIcon()
}
updateIcon() {
if(DoxygenAwesomeDarkModeToggle.darkModeEnabled) {
this.innerHTML = DoxygenAwesomeDarkModeToggle.darkModeIcon
} else {
this.innerHTML = DoxygenAwesomeDarkModeToggle.lightModeIcon
}
}
}
customElements.define("doxygen-awesome-dark-mode-toggle", DoxygenAwesomeDarkModeToggle);

View File

@ -0,0 +1,85 @@
/**
Doxygen Awesome
https://github.com/jothepro/doxygen-awesome-css
MIT License
Copyright (c) 2022 - 2023 jothepro
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.
*/
class DoxygenAwesomeFragmentCopyButton extends HTMLElement {
constructor() {
super();
this.onclick=this.copyContent
}
static title = "Copy to clipboard"
static copyIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg>`
static successIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z"/></svg>`
static successDuration = 980
static init() {
$(function() {
$(document).ready(function() {
if(navigator.clipboard) {
const fragments = document.getElementsByClassName("fragment")
for(const fragment of fragments) {
const fragmentWrapper = document.createElement("div")
fragmentWrapper.className = "doxygen-awesome-fragment-wrapper"
const fragmentCopyButton = document.createElement("doxygen-awesome-fragment-copy-button")
fragmentCopyButton.innerHTML = DoxygenAwesomeFragmentCopyButton.copyIcon
fragmentCopyButton.title = DoxygenAwesomeFragmentCopyButton.title
fragment.parentNode.replaceChild(fragmentWrapper, fragment)
fragmentWrapper.appendChild(fragment)
fragmentWrapper.appendChild(fragmentCopyButton)
}
}
})
})
}
copyContent() {
const content = this.previousSibling.cloneNode(true)
// filter out line number from file listings
content.querySelectorAll(".lineno, .ttc").forEach((node) => {
node.remove()
})
let textContent = content.textContent
// remove trailing newlines that appear in file listings
let numberOfTrailingNewlines = 0
while(textContent.charAt(textContent.length - (numberOfTrailingNewlines + 1)) == '\n') {
numberOfTrailingNewlines++;
}
textContent = textContent.substring(0, textContent.length - numberOfTrailingNewlines)
navigator.clipboard.writeText(textContent);
this.classList.add("success")
this.innerHTML = DoxygenAwesomeFragmentCopyButton.successIcon
window.setTimeout(() => {
this.classList.remove("success")
this.innerHTML = DoxygenAwesomeFragmentCopyButton.copyIcon
}, DoxygenAwesomeFragmentCopyButton.successDuration);
}
}
customElements.define("doxygen-awesome-fragment-copy-button", DoxygenAwesomeFragmentCopyButton)

View File

@ -0,0 +1,81 @@
/**
Doxygen Awesome
https://github.com/jothepro/doxygen-awesome-css
MIT License
Copyright (c) 2022 - 2023 jothepro
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.
*/
class DoxygenAwesomeInteractiveToc {
static topOffset = 38
static hideMobileMenu = true
static headers = []
static init() {
window.addEventListener("load", () => {
let toc = document.querySelector(".contents > .toc")
if(toc) {
toc.classList.add("interactive")
if(!DoxygenAwesomeInteractiveToc.hideMobileMenu) {
toc.classList.add("open")
}
document.querySelector(".contents > .toc > h3")?.addEventListener("click", () => {
if(toc.classList.contains("open")) {
toc.classList.remove("open")
} else {
toc.classList.add("open")
}
})
document.querySelectorAll(".contents > .toc > ul a").forEach((node) => {
let id = node.getAttribute("href").substring(1)
DoxygenAwesomeInteractiveToc.headers.push({
node: node,
headerNode: document.getElementById(id)
})
document.getElementById("doc-content")?.addEventListener("scroll", () => {
DoxygenAwesomeInteractiveToc.update()
})
})
DoxygenAwesomeInteractiveToc.update()
}
})
}
static update() {
let active = DoxygenAwesomeInteractiveToc.headers[0]?.node
DoxygenAwesomeInteractiveToc.headers.forEach((header) => {
let position = header.headerNode.getBoundingClientRect().top
header.node.classList.remove("active")
header.node.classList.remove("aboveActive")
if(position < DoxygenAwesomeInteractiveToc.topOffset) {
active = header.node
active?.classList.add("aboveActive")
}
})
active?.classList.add("active")
active?.classList.remove("aboveActive")
}
}

View File

@ -0,0 +1,51 @@
/**
Doxygen Awesome
https://github.com/jothepro/doxygen-awesome-css
MIT License
Copyright (c) 2022 - 2023 jothepro
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.
*/
class DoxygenAwesomeParagraphLink {
// Icon from https://fonts.google.com/icons
// Licensed under the Apache 2.0 license:
// https://www.apache.org/licenses/LICENSE-2.0.html
static icon = `<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M17 7h-4v2h4c1.65 0 3 1.35 3 3s-1.35 3-3 3h-4v2h4c2.76 0 5-2.24 5-5s-2.24-5-5-5zm-6 8H7c-1.65 0-3-1.35-3-3s1.35-3 3-3h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-2zm-3-4h8v2H8z"/></svg>`
static title = "Permanent Link"
static init() {
$(function() {
$(document).ready(function() {
document.querySelectorAll(".contents a.anchor[id], .contents .groupheader > a[id]").forEach((node) => {
let anchorlink = document.createElement("a")
anchorlink.setAttribute("href", `#${node.getAttribute("id")}`)
anchorlink.setAttribute("title", DoxygenAwesomeParagraphLink.title)
anchorlink.classList.add("anchorlink")
node.classList.add("anchor")
anchorlink.innerHTML = DoxygenAwesomeParagraphLink.icon
node.parentElement.appendChild(anchorlink)
})
})
})
}
}

View File

@ -0,0 +1,40 @@
/**
Doxygen Awesome
https://github.com/jothepro/doxygen-awesome-css
MIT License
Copyright (c) 2021 - 2023 jothepro
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.
*/
@media screen and (min-width: 768px) {
#MSearchBox {
width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - var(--searchbar-height) - 1px);
}
#MSearchField {
width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - 66px - var(--searchbar-height));
}
}

View File

@ -0,0 +1,116 @@
/**
Doxygen Awesome
https://github.com/jothepro/doxygen-awesome-css
MIT License
Copyright (c) 2021 - 2023 jothepro
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.
*/
html {
/* side nav width. MUST be = `TREEVIEW_WIDTH`.
* Make sure it is wide enough to contain the page title (logo + title + version)
*/
--side-nav-fixed-width: 335px;
--menu-display: none;
--top-height: 120px;
--toc-sticky-top: -25px;
--toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 25px);
}
#projectname {
white-space: nowrap;
}
@media screen and (min-width: 768px) {
html {
--searchbar-background: var(--page-background-color);
}
#side-nav {
min-width: var(--side-nav-fixed-width);
max-width: var(--side-nav-fixed-width);
top: var(--top-height);
overflow: visible;
}
#nav-tree, #side-nav {
height: calc(100vh - var(--top-height)) !important;
}
#nav-tree {
padding: 0;
}
#top {
display: block;
border-bottom: none;
height: var(--top-height);
margin-bottom: calc(0px - var(--top-height));
max-width: var(--side-nav-fixed-width);
overflow: hidden;
background: var(--side-nav-background);
}
#main-nav {
float: left;
padding-right: 0;
}
.ui-resizable-handle {
cursor: default;
width: 1px !important;
background: var(--separator-color);
box-shadow: 0 calc(-2 * var(--top-height)) 0 0 var(--separator-color);
}
#nav-path {
position: fixed;
right: 0;
left: var(--side-nav-fixed-width);
bottom: 0;
width: auto;
}
#doc-content {
height: calc(100vh - 31px) !important;
padding-bottom: calc(3 * var(--spacing-large));
padding-top: calc(var(--top-height) - 80px);
box-sizing: border-box;
margin-left: var(--side-nav-fixed-width) !important;
}
#MSearchBox {
width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)));
}
#MSearchField {
width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - 65px);
}
#MSearchResultsWindow {
left: var(--spacing-medium) !important;
right: auto;
}
}

View File

@ -0,0 +1,70 @@
/**
Doxygen Awesome
https://github.com/jothepro/doxygen-awesome-css
MIT License
Copyright (c) 2023 jothepro
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.
*/
class DoxygenAwesomeTabs {
static init() {
window.addEventListener("load", () => {
document.querySelectorAll(".tabbed:not(:empty)").forEach((tabbed, tabbedIndex) => {
let tabLinkList = []
tabbed.querySelectorAll("li").forEach((tab, tabIndex) => {
tab.id = "tab_" + tabbedIndex + "_" + tabIndex
let header = tab.querySelector(".tab-title")
let tabLink = document.createElement("button")
tabLink.classList.add("tab-button")
tabLink.appendChild(header)
tabLink.addEventListener("click", () => {
tabbed.querySelectorAll("li").forEach((tab) => {
tab.classList.remove("selected")
})
tabLinkList.forEach((tabLink) => {
tabLink.classList.remove("active")
})
tab.classList.add("selected")
tabLink.classList.add("active")
})
tabLinkList.push(tabLink)
if(tabIndex == 0) {
tab.classList.add("selected")
tabLink.classList.add("active")
}
})
let tabsOverview = document.createElement("div")
tabsOverview.classList.add("tabs-overview")
let tabsOverviewContainer = document.createElement("div")
tabsOverviewContainer.classList.add("tabs-overview-container")
tabLinkList.forEach((tabLink) => {
tabsOverview.appendChild(tabLink)
})
tabsOverviewContainer.appendChild(tabsOverview)
tabbed.before(tabsOverviewContainer)
})
})
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,54 @@
html.alternative {
/* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */
--primary-color: #AF7FE4;
--primary-dark-color: #9270E4;
--primary-light-color: #7aabd6;
--primary-lighter-color: #cae1f1;
--primary-lightest-color: #e9f1f8;
/* page base colors */
--page-background-color: white;
--page-foreground-color: #2c3e50;
--page-secondary-foreground-color: #67727e;
--border-radius-large: 22px;
--border-radius-small: 9px;
--border-radius-medium: 14px;
--spacing-small: 8px;
--spacing-medium: 14px;
--spacing-large: 19px;
--top-height: 125px;
--side-nav-background: #324067;
--side-nav-foreground: #F1FDFF;
--header-foreground: var(--side-nav-foreground);
--searchbar-background: var(--side-nav-foreground);
--searchbar-border-radius: var(--border-radius-medium);
--header-background: var(--side-nav-background);
--header-foreground: var(--side-nav-foreground);
--toc-background: rgb(243, 240, 252);
--toc-foreground: var(--page-foreground-color);
}
html.alternative.dark-mode {
color-scheme: dark;
--primary-color: #AF7FE4;
--primary-dark-color: #9270E4;
--primary-light-color: #4779ac;
--primary-lighter-color: #191e21;
--primary-lightest-color: #191a1c;
--page-background-color: #1C1D1F;
--page-foreground-color: #d2dbde;
--page-secondary-foreground-color: #859399;
--separator-color: #3a3246;
--side-nav-background: #171D32;
--side-nav-foreground: #F1FDFF;
--toc-background: #20142C;
--searchbar-background: var(--page-background-color);
}

View File

@ -0,0 +1,101 @@
.github-corner svg {
fill: var(--primary-light-color);
color: var(--page-background-color);
width: 72px;
height: 72px;
}
@media screen and (max-width: 767px) {
.github-corner svg {
width: 50px;
height: 50px;
}
#projectnumber {
margin-right: 22px;
}
}
.alter-theme-button {
display: inline-block;
cursor: pointer;
background: var(--primary-color);
color: var(--page-background-color) !important;
border-radius: var(--border-radius-medium);
padding: var(--spacing-small) var(--spacing-medium);
text-decoration: none;
}
.next_section_button {
display: block;
padding: var(--spacing-large) 0 var(--spacing-small) 0;
color: var(--page-background-color);
user-select: none;
}
.next_section_button::after {
/* clearfix */
content: "";
clear: both;
display: table;
}
.next_section_button a {
overflow: hidden;
float: right;
border: 1px solid var(--separator-color);
padding: var(--spacing-medium) calc(var(--spacing-large) / 2) var(--spacing-medium) var(--spacing-large);
border-radius: var(--border-radius-medium);
color: var(--page-secondary-foreground-color) !important;
text-decoration: none;
background-color: var(--page-background-color);
transition: color .08s ease-in-out, background-color .1s ease-in-out;
}
.next_section_button a:hover {
color: var(--page-foreground-color) !important;
background-color: var(--odd-color);
}
.next_section_button a::after {
content: '〉';
color: var(--page-secondary-foreground-color) !important;
padding-left: var(--spacing-large);
display: inline-block;
transition: color .08s ease-in-out, transform .09s ease-in-out;
}
.next_section_button a:hover::after {
color: var(--page-foreground-color) !important;
transform: translateX(3px);
}
.alter-theme-button:hover {
background: var(--primary-dark-color);
}
html.dark-mode .darkmode_inverted_image img, /* < doxygen 1.9.3 */
html.dark-mode .darkmode_inverted_image object[type="image/svg+xml"] /* doxygen 1.9.3 */ {
filter: brightness(89%) hue-rotate(180deg) invert();
}
.bordered_image {
border-radius: var(--border-radius-small);
border: 1px solid var(--separator-color);
display: inline-block;
overflow: hidden;
}
html.dark-mode .bordered_image img, /* < doxygen 1.9.3 */
html.dark-mode .bordered_image object[type="image/svg+xml"] /* doxygen 1.9.3 */ {
border-radius: var(--border-radius-small);
}
.title_screenshot {
filter: drop-shadow(0px 3px 10px rgba(0,0,0,0.22));
max-width: 500px;
margin: var(--spacing-large) 0;
}
.title_screenshot .caption {
display: none;
}

View File

@ -0,0 +1,90 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen $doxygenversion"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<!-- BEGIN opengraph metadata -->
<meta property="og:title" content="Doxygen Awesome" />
<meta property="og:image" content="https://repository-images.githubusercontent.com/348492097/4f16df80-88fb-11eb-9d31-4015ff22c452" />
<meta property="og:description" content="Custom CSS theme for doxygen html-documentation with lots of customization parameters." />
<meta property="og:url" content="https://jothepro.github.io/doxygen-awesome-css/" />
<!-- END opengraph metadata -->
<!-- BEGIN twitter metadata -->
<meta name="twitter:image:src" content="https://repository-images.githubusercontent.com/348492097/4f16df80-88fb-11eb-9d31-4015ff22c452" />
<meta name="twitter:title" content="Doxygen Awesome" />
<meta name="twitter:description" content="Custom CSS theme for doxygen html-documentation with lots of customization parameters." />
<!-- END twitter metadata -->
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
<link rel="icon" type="image/svg+xml" href="logo.drawio.svg"/>
<script type="text/javascript" src="$relpath^jquery.js"></script>
<script type="text/javascript" src="$relpath^dynsections.js"></script>
<script type="text/javascript" src="$relpath^doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript" src="$relpath^doxygen-awesome-fragment-copy-button.js"></script>
<script type="text/javascript" src="$relpath^doxygen-awesome-paragraph-link.js"></script>
<script type="text/javascript" src="$relpath^doxygen-awesome-interactive-toc.js"></script>
<script type="text/javascript" src="$relpath^doxygen-awesome-tabs.js"></script>
<script type="text/javascript" src="$relpath^toggle-alternative-theme.js"></script>
<script type="text/javascript">
DoxygenAwesomeFragmentCopyButton.init()
DoxygenAwesomeDarkModeToggle.init()
DoxygenAwesomeParagraphLink.init()
DoxygenAwesomeInteractiveToc.init()
DoxygenAwesomeTabs.init()
</script>
$treeview
$search
$mathjax
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
$extrastylesheet
</head>
<body>
<!-- https://tholman.com/github-corners/ -->
<a href="https://github.com/jothepro/doxygen-awesome-css" class="github-corner" title="View source on GitHub" target="_blank">
<svg viewBox="0 0 250 250" width="40" height="40" style="position: absolute; top: 0; border: 0; right: 0; z-index: 99;" aria-hidden="true">
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<!--BEGIN TITLEAREA-->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<!--BEGIN PROJECT_LOGO-->
<td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"/></td>
<!--END PROJECT_LOGO-->
<!--BEGIN PROJECT_NAME-->
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">$projectname
<!--BEGIN PROJECT_NUMBER-->&#160;<span id="projectnumber">$projectnumber</span><!--END PROJECT_NUMBER-->
</div>
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
</td>
<!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME-->
<!--BEGIN PROJECT_BRIEF-->
<td style="padding-left: 0.5em;">
<div id="projectbrief">$projectbrief</div>
</td>
<!--END PROJECT_BRIEF-->
<!--END !PROJECT_NAME-->
<!--BEGIN DISABLE_INDEX-->
<!--BEGIN SEARCHENGINE-->
<td>$searchbox</td>
<!--END SEARCHENGINE-->
<!--END DISABLE_INDEX-->
</tr>
</tbody>
</table>
</div>
<!--END TITLEAREA-->
<!-- end header part -->

View File

@ -0,0 +1,12 @@
let original_theme_active = true;
function toggle_alternative_theme() {
if(original_theme_active) {
document.documentElement.classList.add("alternative")
original_theme_active = false;
} else {
document.documentElement.classList.remove("alternative")
original_theme_active = true;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -0,0 +1,250 @@
<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1001px" height="312px" viewBox="-0.5 -0.5 1001 312" content="&lt;mxfile&gt;&lt;diagram id=&quot;6E4AiNPWWr3a8GvC3Ypl&quot; name=&quot;Page-1&quot;&gt;7VnLkps6EP0aqiaLUEgCGZbjV+4muYtJVdYakA11BfKV8diTr48E4imY2GPszCJQZUM3ep0+3TrYFlqkpy+C7OKvPKLMgk50stDSgtDFSH4qw6s2QLc0bEUSlSbQGJ6Sn1QbHW09JBHddx7MOWd5susaQ55lNMw7NiIEP3Yf23DWHXVHttQwPIWEmdYfSZTHpdX3nMb+D022cTUycLQnJdXD2rCPScSPLRNaWWghOM/Lq/S0oExhV+FStluPeOuJCZrlZzXwyhYvhB304iyImWw73+9IpmaYv+pl4/8PalrzDc/yzxuSJkyG71E+8pVmjFtwoS55RkJ9LVuQdCcb6HYLfhAJFdLzjR77zrJJyjMuxw1pYXGKkY4aSTVSxkVKWOHEdUO81d+smt34tPcFl1RXAO9Ogx0Ba7W25r7lr60VtHxkPaKqb4lj2X13SGkuwarN5dKy5736mpM9lQN+j2lKddTrycGcnlSbOE/lspZAXhKWbDN5HcoQSrTQ/IWKPJHke9SONIki1Xx+jJOcPpVwLY8y06RN8EMW0Uj3pWar00dGWt/rwQt/wtiCMy6KyaCNp079XMteHooTueD/0cqT8UxNg4hQj4Fgsfw+BTUr1TroqWXSlPxCeUpz8SofqbxYp4euD9DX98cm20CVbXEr05C2EZ3g27rrJgfkhU6DkZTw/6ZEryM4dUo8yfr9TMTnfzP2ekFqDNPvnvkykhdjedRKDTRNamDv96kBnVulRjCQGr2obSWiu/MXWm/S5LnqwXkTAA+YC3aDgQVDPMGKz1hwwyBnhGOjDJZUwSt1DnMjGMHMxOYuWFTAt8BYyHxQ850Wk1VxXotJ5Q1824NBc8w6+QOwjWdmBoHAxngAR4RshCaAEhhQ6pJYbhJFDX0WVfl8+J7kjBYutQd8Iy/JluQJzz5dh3yvbK1n6rwLSwHE9gzeiqjQQHctFXWxzz7MBSVRKA7pbn8lejdC6dRGyAVoFiDgINdD3bov3bhzGCRGGNlw5vkYOtgPsOcNbAqKzu0DT4A+MrlN5UYYv4E2uAbt3qYMsToni4IsD60o+N3q4YJuEMxKAhxgV41dX4YjMKMA+qH0J4iCO7BzdeRgWEPWyL0KPEMB6gI0ovneJ9za1aen5Rjd5O9Xck5XyUHnPmQAYDiM7ZREdpsLPh7IyVuwAZpbtxG1Urj1cWwUrH+RgD1f191Fu+Dfr3+i2r9lZL/XnUgIcpJk6q1kOUzCOjAfROOZVePuEu8CSNoSr7s9uq7tny/rgO/ZYAJZZ+qOom6Wsu6hkW21kis3xmlV3HK1Wq7XF+qTCXlYQA9mgVt9Xo/rgKKo1fLDh1LDF+D4JlML9Ydux1TzZ98/rZAvR86QwIEB4yBBbyF6ZyZDP4jmvbycohnovnl0VU4/vaFJ3j+kecd/uP0red+7tWK7eHUEFSHgpWS4k+SVt82/ZoWv9dcjWv0C&lt;/diagram&gt;&lt;/mxfile&gt;">
<defs/>
<g>
<rect x="160" y="280" width="150" height="30" rx="9.6" ry="9.6" fill="#f5f5f5" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)scale(0.9999999999999999)">
<switch>
<foreignObject pointer-events="none" width="101%" height="101%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 148px; height: 1px; padding-top: 295px; margin-left: 161px;">
<div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">
<span style="font-family: Menlo, Monaco, &quot;Courier New&quot;, monospace; font-weight: normal;">
<font style="font-size: 16px;">
1
</font>
</span>
Base Theme
</div>
</div>
</div>
</foreignObject>
<text x="235" y="300" fill="#333333" font-family="Helvetica" font-size="15px" text-anchor="middle" font-weight="bold">
1 Base Theme
</text>
</switch>
</g>
<rect x="650" y="280" width="200" height="30" rx="9.9" ry="9.9" fill="#f5f5f5" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)scale(0.9999999999999999)">
<switch>
<foreignObject pointer-events="none" width="101%" height="101%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 295px; margin-left: 651px;">
<div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">
<span style="font-family: Menlo, Monaco, &quot;Courier New&quot;, monospace; font-weight: normal;">
<font style="font-size: 16px;">
2
</font>
</span>
Sidebar-Only Theme
</div>
</div>
</div>
</foreignObject>
<text x="750" y="300" fill="#333333" font-family="Helvetica" font-size="15px" text-anchor="middle" font-weight="bold">
2 Sidebar-Only Theme
</text>
</switch>
</g>
<rect x="510" y="0" width="490" height="260" fill="rgb(255, 255, 255)" stroke="#6e6e6e" pointer-events="none"/>
<rect x="708.53" y="16.67" width="219.66" height="233.33" fill="rgb(255, 255, 255)" stroke="#e3e3e3" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)scale(0.9999999999999999)">
<switch>
<foreignObject pointer-events="none" width="101%" height="101%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 218px; height: 1px; padding-top: 133px; margin-left: 710px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
Content
</div>
</div>
</div>
</foreignObject>
<text x="818" y="137" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
Content
</text>
</switch>
</g>
<rect x="510" y="0" width="126.72" height="260" fill="#f7f7f7" stroke="#6e6e6e" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)scale(0.9999999999999999)">
<switch>
<foreignObject pointer-events="none" width="101%" height="101%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 125px; height: 1px; padding-top: 130px; margin-left: 511px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
Sidebar
<br/>
(Title + Navigation)
</div>
</div>
</div>
</foreignObject>
<text x="573" y="134" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
Sidebar...
</text>
</switch>
</g>
<rect x="636.72" y="226.67" width="363.28" height="33.33" fill="rgb(255, 255, 255)" stroke="#6e6e6e" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)scale(0.9999999999999999)">
<switch>
<foreignObject pointer-events="none" width="101%" height="101%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 361px; height: 1px; padding-top: 243px; margin-left: 638px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
Footer (Breadcrumps)
</div>
</div>
</div>
</foreignObject>
<text x="818" y="247" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
Footer (Breadcrumps)
</text>
</switch>
</g>
<rect x="522.67" y="41.67" width="101.38" height="16.67" rx="2.5" ry="2.5" fill="rgb(255, 255, 255)" stroke="#6e6e6e" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)scale(0.9999999999999999)">
<switch>
<foreignObject pointer-events="none" width="101%" height="101%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 99px; height: 1px; padding-top: 50px; margin-left: 524px;">
<div data-drawio-colors="color: #262626; " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(38, 38, 38); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
Search
</div>
</div>
</div>
</foreignObject>
<text x="573" y="54" fill="#262626" font-family="Helvetica" font-size="12px" text-anchor="middle">
Search
</text>
</switch>
</g>
<g transform="translate(-0.5 -0.5)scale(0.9999999999999999)">
<switch>
<foreignObject pointer-events="none" width="101%" height="101%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 32px; height: 1px; padding-top: 20px; margin-left: 525px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;">
<div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
<font color="#262626">
Title
</font>
</div>
</div>
</div>
</foreignObject>
<text x="525" y="26" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="20px">
Tit...
</text>
</switch>
</g>
<rect x="0" y="0" width="490" height="260" fill="rgb(255, 255, 255)" stroke="#6e6e6e" pointer-events="none"/>
<rect x="198.53" y="44.87" width="219.66" height="185.13" fill="rgb(255, 255, 255)" stroke="#e3e3e3" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)scale(0.9999999999999999)">
<switch>
<foreignObject pointer-events="none" width="101%" height="101%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 218px; height: 1px; padding-top: 137px; margin-left: 200px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
Content
</div>
</div>
</div>
</foreignObject>
<text x="308" y="141" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
Content
</text>
</switch>
</g>
<rect x="0" y="0" width="490" height="44.87" fill="#deedff" stroke="#6e6e6e" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)scale(0.9999999999999999)">
<switch>
<foreignObject pointer-events="none" width="101%" height="101%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 488px; height: 1px; padding-top: 22px; margin-left: 1px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
Titlebar (Navigation + Search)
</div>
</div>
</div>
</foreignObject>
<text x="245" y="26" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
Titlebar (Navigation + Search)
</text>
</switch>
</g>
<rect x="0" y="44.87" width="126.73" height="185.13" fill="#f7f7f7" stroke="#6e6e6e" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)scale(0.9999999999999999)">
<switch>
<foreignObject pointer-events="none" width="101%" height="101%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 125px; height: 1px; padding-top: 137px; margin-left: 1px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
Sidebar (Navigation)
</div>
</div>
</div>
</foreignObject>
<text x="63" y="141" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
Sidebar (Navigation)
</text>
</switch>
</g>
<rect x="0" y="226.67" width="490" height="33.33" fill="rgb(255, 255, 255)" stroke="#6e6e6e" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)scale(0.9999999999999999)">
<switch>
<foreignObject pointer-events="none" width="101%" height="101%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 488px; height: 1px; padding-top: 243px; margin-left: 1px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
Footer (Breadcrumps)
</div>
</div>
</div>
</foreignObject>
<text x="245" y="247" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
Footer (Breadcrumps)
</text>
</switch>
</g>
<rect x="371.72" y="14.87" width="101.38" height="16.67" rx="2.5" ry="2.5" fill="rgb(255, 255, 255)" stroke="#6e6e6e" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)scale(0.9999999999999999)">
<switch>
<foreignObject pointer-events="none" width="101%" height="101%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 99px; height: 1px; padding-top: 23px; margin-left: 373px;">
<div data-drawio-colors="color: #262626; " style="box-sizing: border-box; font-size: 0px; text-align: center;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(38, 38, 38); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
Search
</div>
</div>
</div>
</foreignObject>
<text x="422" y="27" fill="#262626" font-family="Helvetica" font-size="12px" text-anchor="middle">
Search
</text>
</switch>
</g>
<g transform="translate(-0.5 -0.5)scale(0.9999999999999999)">
<switch>
<foreignObject pointer-events="none" width="101%" height="101%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 32px; height: 1px; padding-top: 23px; margin-left: 19px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;">
<div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
<font color="#262626">
Title
</font>
</div>
</div>
</div>
</foreignObject>
<text x="19" y="29" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="20px">
Tit...
</text>
</switch>
</g>
</g>
<switch>
<g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/>
<a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank">
<text text-anchor="middle" font-size="10px" x="50%" y="100%">
Text is not SVG - cannot display
</text>
</a>
</switch>
</svg>

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,156 @@
#pragma once
#include <string>
namespace MyLibrary {
enum Color { red, green, blue };
/**
* @brief Example class to demonstrate the features of the custom CSS.
*
* @author jothepro
*
*/
class Example {
public:
/**
* @brief brief summary
*
* doxygen test documentation
*
* @param test this is the only parameter of this test function. It does nothing!
*
* # Supported elements
*
* These elements have been tested with the custom CSS.
*
* ## Tables
*
* The table content is scrollable if the table gets too wide.
*
* | first_column | second_column | third_column | fourth_column | fifth_column | sixth_column | seventh_column | eighth_column | ninth_column |
* |--------------|---------------|--------------|---------------|--------------|--------------|----------------|---------------|--------------|
* | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
*
* A table can contain images:
*
* | Column 1 | Column 2 |
* |---------------------------|-------------------------------------------------|
* | ![doxygen](testimage.png) | the image should not be inverted in dark-mode |
*
* Complex [Doxygen tables](https://www.doxygen.nl/manual/tables.html) are also supported as seen in @ref multi_row "this example":
*
* <table>
* <caption id="multi_row">Complex table</caption>
* <tr><th>Column 1 <th>Column 2 <th>Column 3
* <tr><td rowspan="2">cell row=1+2,col=1<td>cell row=1,col=2<td>cell row=1,col=3
* <tr><td rowspan="2">cell row=2+3,col=2 <td>cell row=2,col=3
* <tr><td>cell row=3,col=1 <td rowspan="2">cell row=3+4,col=3
* <tr><td colspan="2">cell row=4,col=1+2
* <tr><td>cell row=5,col=1 <td colspan="2">cell row=5,col=2+3
* <tr><td colspan="2" rowspan="2">cell row=6+7,col=1+2 <td>cell row=6,col=3
* <tr> <td>cell row=7,col=3
* <tr><td>cell row=8,col=1 <td>cell row=8,col=2\n
* <table>
* <tr><td>Inner cell row=1,col=1<td>Inner cell row=1,col=2
* <tr><td>Inner cell row=2,col=1<td>Inner cell row=2,col=2
* </table>
* <td>cell row=8,col=3
* <ul>
* <li>Item 1
* <li>Item 2
* </ul>
* </table>
*
* A table can be centered with the `<center>` html tag:
* <center>
* | Foo | Bar | Baz | FooBar |
* |-------------|----------------|---------------------------|-------------|
* | Lorem imsum | dolor sit amet | cenectetur adipisici elit | At vero eos |
* </center>
*
* Embedded Graphviz graphs support dark mode and can be scrolled once they get too wide:
* \dot Graphviz with a caption
* digraph example {
* node [fontsize="12"];
* rankdir="LR"
* a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k;
* }
* \enddot
*
* ## Lists
*
* - element 1
* - element 2
*
* 1. element 1
* ```
* code in lists
* ```
* 2. element 2
*
* ## Quotes
*
* > Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt
* > ut labore et dolore magna aliqua. Vitae proin sagittis nisl rhoncus mattis rhoncus urna neque viverra.
* > Velit sed ullamcorper morbi tincidunt ornare.
* >
* > Lorem ipsum dolor sit amet consectetur adipiscing elit duis.
* *- jothepro*
*
* ## Code block
*
* ```cpp
* auto x = "code within md fences";
* ```
*
* @code{.cpp}
* // code within @code block
* while(true) {
* auto example = std::make_shared<Example>(5);
* example->test("test");
* }
* @endcode
*
* // code within indented code block
* auto test = std::shared_ptr<Example(5);
*
*
* Inline `code` elements in a text. *Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.* This also works within multiline text and does not break the `layout`.
*
*
* ## Special hints
*
* @warning this is a warning only for demonstration purposes
*
* @note this is a note to show that notes work. They can also include `code`:
* @code{.c}
* void this_looks_awesome();
* @endcode
*
* @bug example bug
*
* @deprecated None of this will be deprecated, because it's beautiful!
*
* @invariant This is an invariant
*
* @pre This is a precondition
*
* @post This is a postcondition
*
* @todo This theme is never finished!
*
* @remark This is awesome!
*
*/
std::string test(const std::string& test);
virtual int virtualfunc() = 0;
static bool staticfunc();
};
}

View File

@ -0,0 +1,46 @@
#pragma once
#include <string>
#include "example.hpp"
#include <iostream>
namespace MyLibrary {
/**
* @brief some subclass
*/
template<typename TemplatedClass>
class SubclassExample : public Example {
public:
/**
* @bug second bug
* @return
*/
int virtualfunc() override;
/**
* @brief Template function function
*/
template <typename T>
std::shared_ptr<std::string> function_template_test(std::shared_ptr<T>& param);
/**
* @brief Extra long function with lots of parameters and many template types.
*
* Also has a long return type.
*
* @param param1 first parameter
* @param param2 second parameter
* @param parameter3 third parameter
*/
template <typename T, typename Foo, typename Bar, typename Alice, typename Bob, typename Charlie, typename Hello, typename World>
std::pair<std::string, std::string> long_function_with_many_parameters(std::shared_ptr<T>& param1, std::shared_ptr<std::string>& param2, bool parameter3, Alice paramater4 Bob parameter 5) {
if(true) {
std::cout << "this even has some code." << std::endl;
}
}
};
}

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="61px" height="74px" viewBox="-0.5 -0.5 61 74" content="&lt;mxfile host=&quot;drawio-plugin&quot; modified=&quot;2021-03-16T23:58:23.462Z&quot; agent=&quot;5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36&quot; version=&quot;13.7.9&quot; etag=&quot;JoeaGLJ54FcERO7YrWLQ&quot; type=&quot;embed&quot;&gt;&lt;diagram id=&quot;JMB9aH8b_oZ7EWDuqJgx&quot; name=&quot;Page-1&quot;&gt;7VdNc5swEP01HDsjkGPDsSVJe+lMZnzoWYENaAwsI8ux6a+vCCtA4KSu62kmSS+M9LT7tB9P0uDxuDx8VaLOv2MKhRew9ODxay8Igigy3xZoCOC8AzIl0w7yB2AtfwKBjNCdTGHrGGrEQsvaBROsKki0gwmlcO+aPWDh7lqLDGbAOhHFHP0hU513aHjFBvwbyCy3O/uMVkphjQnY5iLF/QjiNx6PFaLuRuUhhqKtna1L53f7zGofmIJKn+RAcTyKYkfJUWC6sdlmCnc1mYHScDhWY3Fvzdk8Br/PzCgCsAStGmNCRJy2JDH4pIV8VMG+edS4rCcZcjMDSu+ZVP3fpwpV+rnVh5ndF5hsPP4l16VhvPbN8AErTWI0re7mMRaonpw5Y8tlHBvcsNzKwnpttVDaslZYgcXIhj3NFW56LS1bbrM44l6m4Wq5MLhxzEDfgZKmAKDWtUhklRFNgqVM7LYb0Enu8I9j9dkVC80KtgS6Lb3fGnYVgXSm/1Ez2fFu7oeTYA/CuIUWU1AILR9d/mN9pR3uUJqde7F88leOWhYLl2GLO5UAOY2FP+GxMm3c6CwNlXlKY9oompFZ3Rps59EOkuw8BoH2BTtNs8EfaZbUdYZkXQGuXhDgR9DYRBycXURj00D+UmMT2ktJLnr9B8HG0IzFcPkHYfUe3oPZqfOjMEiDs1+KEw5n9P/+/1f3f/gq1394lt7erqQ+0HVvpsPPRWc+/KHxm18=&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><path d="M 13 57 L 13.01 57.01 L 15.87 50.14 L 18.37 43.14 L 20.91 36.15 L 23.67 29.25 L 26.4 22.33 Q 30 13 33.71 22.28 L 33.55 22.22 L 35.48 26.91 L 37.49 31.64 L 39.48 36.36 L 41.2 40.97 L 43.05 45.63" fill="none" stroke="#010508" stroke-opacity="0.1" stroke-width="6" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 47.51 56.77 L 47.65 56.93 L 45.43 54.91 L 43.41 53.11 L 41.43 51.35 L 39.63 49.8 L 37.48 47.86 L 37.39 47.64 L 39.79 47.17 L 41.9 45.98 L 44.24 45.37 L 46.48 44.52 L 48.62 43.4 L 48.54 43.39 L 48.58 46.09 L 48.04 48.74 L 48.04 51.43 L 47.8 54.1 L 47.51 56.77 Z Z" fill-opacity="0.1" fill="#010508" stroke="#010508" stroke-opacity="0.1" stroke-width="6" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="all"/><path d="M 10 43 L 9.94 42.88 L 12.16 41.98 L 14.31 40.96 L 16.51 40.01 L 18.62 38.89 L 20.88 38.1 Q 30 34 40 34 L 40 33.75 L 42 33.83 L 44 33.8 L 46 33.79 L 48 34.05 L 50 34" fill="none" stroke="#010508" stroke-opacity="0.1" stroke-width="7" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 10 54 L 9.97 53.99 L 12.69 47.07 L 15.43 40.16 L 18.07 33.21 L 20.65 26.24 L 23.4 19.33 Q 27 10 30.71 19.28 L 30.66 19.26 L 32.46 23.91 L 34.55 28.66 L 36.26 33.27 L 38.35 38.03 L 40.05 42.63" fill="none" stroke="#1982d2" stroke-width="6" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 44.51 53.77 L 44.56 53.83 L 42.48 51.97 L 40.5 50.21 L 38.48 48.41 L 36.41 46.56 L 34.48 44.86 L 34.55 45.02 L 36.72 44 L 39 43.24 L 41.21 42.28 L 43.48 41.51 L 45.62 40.4 L 45.78 40.42 L 45.51 43.09 L 45.01 45.74 L 44.87 48.42 L 44.94 51.12 L 44.51 53.77 Z Z" fill="#1982d2" stroke="#1982d2" stroke-width="6" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="all"/><path d="M 7 40 L 7.02 40.05 L 9.28 39.25 L 11.33 38 L 13.48 36.96 L 15.73 36.14 L 17.88 35.1 Q 27 31 37 31 L 37 30.79 L 39 31.11 L 41 30.85 L 43 30.78 L 45 30.89 L 47 31" fill="none" stroke="#1982d2" stroke-width="8" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="stroke"/></g></svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -0,0 +1,34 @@
{
"name": "@jothepro/doxygen-awesome-css",
"version": "2.2.1",
"description": "Custom CSS theme for doxygen html-documentation with lots of customization parameters.",
"main": "",
"scripts": {
"npm-pack": "npm pack",
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "https://github.com/jothepro/doxygen-awesome-css.git"
},
"homepage": "https://jothepro.github.io/doxygen-awesome-css/",
"bugs": {
"url": "https://github.com/jothepro/doxygen-awesome-css/issues"
},
"keywords": [
"doxygen",
"css",
"theme",
"awesome"
],
"author": {
"name": "jothepro",
"url": "https://github.com/jothepro",
"git": "https://github.com/jothepro/doxygen-awesome-css"
},
"license": "MIT",
"config": {},
"dependencies": {},
"devDependencies": {},
"xpack": {}
}

133
include/IsingModel.hpp Normal file
View File

@ -0,0 +1,133 @@
/** @file IsingModel.hpp
*
* @author Cory Alexander Balaton (coryab)
* @author Janita Ovidie Sandtrøen Willumsen (janitaws)
*
* @version 0.1
*
* @brief The definition of the Ising model.
*
* @bug No known bugs
* */
#ifndef __ISING_MODEL__
#define __ISING_MODEL__
#include "constants.hpp"
#include "data_type.hpp"
#include "typedefs.hpp"
#include "utils.hpp"
#include <armadillo>
#include <random>
#include <unordered_map>
// Faster modulo
#define INDEX(I, N) (I + N) % N
// Indeces for the neighbor matrix.
#define UP 0
#define LEFT 0
#define DOWN 1
#define RIGHT 1
/** @brief The Ising model in 2 dimensions.
*
* @details None of the methods are parallelized, as there is very little
* benefit in doing so.
* */
class IsingModel {
private:
friend class IsingModelTest;
/** @brief \f$ L \times L \f$ matrix where element \f$ x \in {-1, 1}\f$.
* */
arma::Mat<int> lattice;
/** @brief \f$ L \times 2 \f$ matrix with the neighbors of each element
* \f$ x_i \f$.
*
* @details The reason why it's \f$ L \times 2 \f$ instead of
* \f$ L \times 2 \f$, is that we can see that we can use the same column
* for the left and upper neighbor, and we can use the same column for the
* right and lower neighbor.
* */
arma::Mat<uint> neighbors;
/** @brief A hash map containing all possible energy changes.
* */
std::unordered_map<int, double> energy_diff;
/** @brief The temperature of the model.
* */
double T;
/** @brief Size of the lattice.
* */
uint L;
/** @brief The current energy state. unit: \f$ J \f$.
* */
double E;
/** @brief The current magnetic strength. unit: Unitless.
* */
double M;
/** @brief Initialize the lattice with a random distribution of 1s and
* -1s.
* */
void initialize_lattice();
/** @brief initialize the neighbors matrix.
* */
void initialize_neighbors();
/** @brief Initialize the hashmap with the correct values.
* */
void initialize_energy_diff();
/** @brief Initialize the magnetization.
* */
void initialize_magnetization();
/** @brief Initialize the energy.
* */
void initialize_energy();
/** @brief Constructor used for testing.
* */
IsingModel();
public:
/** @brief Constructor for the Ising model.
*
* @param L The size of the lattice.
* @param T The temperature for the system.
* */
IsingModel(uint L, double T);
/** @brief Constructor for the Ising model.
*
* @param L The size of the lattice.
* @param T The temperature for the system.
* @param val The value to set for all spins.
* */
IsingModel(uint L, double T, int val);
/** @brief The Metropolis algorithm.
* */
data_t Metropolis(std::mt19937 &engine);
/** @brief Get the current energy.
*
* @return double
* */
double get_E();
/** @brief Get the current magnetization.
*
* @return double
* */
double get_M();
};
#endif

View File

@ -12,4 +12,8 @@
#ifndef __CONST__
#define __CONST__
/** @brief Boltzmann constant. unit \f$ \frac{J}{K} \f$.
* */
#define k_B 1.380649e-23
#endif

78
include/data_type.hpp Normal file
View File

@ -0,0 +1,78 @@
/** @file data_type.hpp
*
* @author Cory Alexander Balaton (coryab)
* @author Janita Ovidie Sandtrøen Willumsen (janitaws)
*
* @version 1.0
*
* @brief Header for the data_t type.
*
* @bug No known bugs
* */
#ifndef __DATA_TYPE__
#define __DATA_TYPE__
#include <sys/types.h>
#include <type_traits>
/** @brief Data structure that contains the data needed for the project*/
struct data_t {
double E = 0.; ///< The expected energy
double M = 0.; ///< The expected magnetization
double E2 = 0.; ///< The expected variance of the energy
double M2 = 0.; ///< The expected variance of magnetization
double M_abs = 0.; ///< The expected absolute magnetization
};
/** @brief Define dividing data_t by a number
*
* @param data The data to divide
* @param num The number to divide data by
*
* @return data_t
* */
template <class T>
data_t operator/(const data_t &data, T num);
// Explicit instantiation
extern template data_t operator/(const data_t &, uint);
extern template data_t operator/(const data_t &, ulong);
extern template data_t operator/(const data_t &,int);
extern template data_t operator/(const data_t &,double);
/** @brief Define /= on data_t by a number.
*
* @param data The data to divide
* @param num The number to divide data by
*
* @return data_t
* */
template <class T>
data_t& operator/=(data_t &data, T num);
// Explicit instantiation
extern template data_t& operator/=(data_t &, uint);
extern template data_t& operator/=(data_t &, ulong);
extern template data_t& operator/=(data_t &,int);
extern template data_t& operator/=(data_t &,double);
/** @brief Define + on data_t by a data_t.
*
* @param a The left side
* @param b The right side
*
* @return data_t
* */
data_t operator+(const data_t &a, const data_t &b);
/** @brief Define += on data_t by a data_t.
*
* @param a The left side
* @param b The right side
*
* @return data_t
* */
data_t& operator+=(data_t &a, const data_t &b);
#endif

99
include/monte_carlo.hpp Normal file
View File

@ -0,0 +1,99 @@
/** @file monte_carlo.hpp
*
* @author Cory Alexander Balaton (coryab)
* @author Janita Ovidie Sandtrøen Willumsen (janitaws)
*
* @version 1.0
*
* @brief Functions for monte carlo simulations.
*
* @bug No known bugs
* */
#ifndef __MONTE_CARLO__
#define __MONTE_CARLO__
#include "IsingModel.hpp"
#include "data_type.hpp"
#include "utils.hpp"
#include <functional>
#include <string>
#define BURN_IN_TIME 1000
#define EPS_2 (-2 * std::sinh(8.)) / (std::cosh(8.) + 3)
#define MAG_2 (std::exp(8.) + 1) / (2 * cosh(8.) + 3)
#define CV_2 \
16 \
* (3 * std::cosh(8.) + std::cosh(8.) * std::cosh(8.) \
- std::sinh(8.) * std::sinh(8.)) \
/ ((std::cosh(8.) + 3) * (std::cosh(8.) + 3))
#define X_2 \
(3 * std::exp(8.) + std::exp(-8.) + 3) \
/ ((std::cosh(8.) + 3) * (std::cosh(8.) + 3))
/** @brief Test numerical data with analytical data.
*
* @param tol The tolerance between the analytical and numerical solution.
* @param max_cycles The max number of Monte Carlo cycles.
*
* return uint
* */
uint test_2x2_lattice(double tol, uint max_cycles);
/** @brief Write the expected values for each Monte Carlo cycles to file.
*
* @param T Temperature
* @param L The size of the lattice
* @param cycles The amount of Monte Carlo cycles to do
* @param filename The file to write to
* */
void monte_carlo_progression(double T, uint L, uint cycles,
const std::string filename);
/** @brief Estimate the probability distribution for the energy.
*
* @param T The temperature of the Ising model
* @param L The size of the lattice
* @param cycles The amount of Monte Carlo cycles to do
* @param filename The file to write to
* */
void pd_estimate(double T, uint L, uint cycles, const std::string filename);
/** @brief Execute the Metropolis algorithm for a certain amount of Monte
* Carlo cycles.
*
* @param data The data to store the results
* @param L The size of the lattice
* @param T The Temperature for the Ising model
* @param cycles The amount of Monte Carlo cycles to do*/
void monte_carlo_serial(data_t &data, uint L, double T, uint cycles);
/** @brief Execute the Metropolis algorithm for a certain amount of Monte
* Carlo cycles in parallel.
*
* @param data The data to store the results
* @param L The size of the lattice
* @param T The Temperature for the Ising model
* @param cycles The amount of Monte Carlo cycles to do
* */
void monte_carlo_parallel(data_t &data, uint L, double T, uint cycles);
/** @brief Perform the MCMC algorithm using a range of temperatures.
*
* @param L The size of the lattice
* @param start_T The start temperature
* @param end_T The end temperature
* @param point_T The amount of point to measure
* @param monte_carlo Which Monte Carlo implementation to use
* @param outfile The file to write the data to
* */
void phase_transition(
uint L, double start_T, double end_T, uint points_T,
std::function<void(data_t &, uint, double, uint)> monte_carlo,
std::string outfile);
#endif

View File

@ -5,19 +5,21 @@
*
* @version 1.0
*
* @brief Function prototypes and macros that are useful.
* @brief A small test library.
*
* This a small testing library that is tailored for the needs of the project.
* @details This a small testing library that is tailored for the needs of the
* project.
*
* @bug No known bugs
* */
#ifndef __TESTLIB__
#define __TESTLIB__
#include "utils.hpp"
#include <armadillo>
#include <string>
#include "utils.hpp"
#include <type_traits>
/** @def ASSERT(expr)
* @brief A prettier assertion function.
@ -26,8 +28,9 @@
* assertion function than the regular assert function from cassert.
* */
#define ASSERT(expr, msg) \
m_assert(expr, #expr, __METHOD_NAME__, __FILE__, __LINE__, msg)
details::m_assert(expr, #expr, __METHOD_NAME__, __FILE__, __LINE__, msg)
namespace details {
/** @brief Test an expression, confirm that test is ok, or abort execution.
*
* @details This function takes in an expression and prints an OK message if
@ -42,17 +45,93 @@
* */
void m_assert(bool expr, std::string expr_str, std::string func,
std::string file, int line, std::string msg);
} // namespace details
/** @brief Test if two armadillo vectors are close to each other.
namespace testlib {
/** @brief Test if two armadillo matrices/vectors are close to each other.
*
* @details This function takes in 2 vectors and checks if they are
* @details This function takes in 2 matrices/vectors and checks if they are
* approximately equal to each other given a tolerance.
*
* @param a Vector a
* @param b Vector b
* @param a Matrix/vector a
* @param b Matrix/vector b
* @param tol The tolerance
*
* @return bool
* */
bool close_to(arma::vec &a, arma::vec &b, double tol = 1e-8);
template <class T,
class = typename std::enable_if<std::is_arithmetic<T>::value>::type>
static bool close_to(arma::Mat<T> &a, arma::Mat<T> &b, double tol = 1e-8)
{
if (a.n_elem != b.n_elem) {
return false;
}
for (size_t i = 0; i < a.n_elem; i++) {
if (!close_to(a(i), b(i))) {
return false;
}
}
return true;
}
/** @brief Test if two numbers are close to each other.
*
* @details This function takes in 2 matrices/vectors and checks if they are
* approximately equal to each other given a tolerance.
*
* @param a Matrix/vector a
* @param b Matrix/vector b
* @param tol The tolerance
*
* @return bool
* */
template <class T,
class = typename std::enable_if<std::is_arithmetic<T>::value>::type>
static bool close_to(T a, T b, double tol = 1e-8)
{
return std::abs(a - b) < tol;
}
/** @brief Test if two armadillo matrices/vectors are equal.
*
* @details This function takes in 2 matrices/vectors and checks if they are
* equal to each other. This should only be used for integral types.
*
* @param a Matrix/vector a
* @param b Matrix/vector b
*
* @return bool
* */
template <class T,
class = typename std::enable_if<std::is_integral<T>::value>::type>
static bool is_equal(arma::Mat<T> &a, arma::Mat<T> &b)
{
for (size_t i = 0; i < a.n_elem; i++) {
if (!(a(i) == b(i))) {
return false;
}
}
return true;
}
/** @brief Test that all elements fulfill the condition.
*
* @param expr The boolean expression to apply to each element
* @param M The matrix/vector to iterate over
*
* @return bool
* */
template <class T,
class = typename std::enable_if<std::is_arithmetic<T>::value>::type>
static bool assert_each(std::function<bool(T)> expr, arma::Mat<T> &M)
{
for (size_t i = 0; i < M.n_elem; i++) {
if (!expr(M(i))) {
return false;
}
}
return true;
}
} // namespace testlib
#endif

View File

@ -40,7 +40,31 @@
/** @def __METHOD_NAME__
* @brief Get the name of the current method/function without the return type.
* */
#define __METHOD_NAME__ methodName(__PRETTY_FUNCTION__)
#define __METHOD_NAME__ details::methodName(__PRETTY_FUNCTION__)
namespace details {
/** @brief Takes in the __PRETTY_FUNCTION__ string and removes the return type.
*
* @details This function should only be used for the __METHOD_NAME__ macro,
* since it takes the output from __PRETTY_FUNCTION__ and strips the return
* type.
*
* @param pretty_function The string from __PRETTY_FUNCTION__
*
* @return std::string
* */
inline std::string methodName(const std::string &pretty_function)
{
size_t colons = pretty_function.find("::");
size_t begin = pretty_function.substr(0, colons).rfind(" ") + 1;
size_t end = pretty_function.rfind("(") - begin;
return pretty_function.substr(begin, end) + "()";
}
} // namespace details
namespace utils {
/** @brief Turns a double into a string written in scientific format.
*
@ -68,26 +92,6 @@ std::string scientific_format(double d, int width = 20, int prec = 10);
std::string scientific_format(const std::vector<double> &v, int width = 20,
int prec = 10);
/** @brief Takes in the __PRETTY_FUNCTION__ string and removes the return type.
*
* @details This function should only be used for the __METHOD_NAME__ macro,
* since it takes the output from __PRETTY_FUNCTION__ and strips the return
* type.
*
* @param pretty_function The string from __PRETTY_FUNCTION__
*
* @return std::string
* */
static inline std::string methodName(const std::string &pretty_function)
{
size_t colons = pretty_function.find("::");
size_t begin = pretty_function.substr(0, colons).rfind(" ") + 1;
size_t end = pretty_function.rfind("(") - begin;
return pretty_function.substr(begin, end) + "()";
}
/** @brief Make path given.
*
* @details This tries to be the equivalent to "mkdir -p" and creates a new
@ -100,4 +104,14 @@ static inline std::string methodName(const std::string &pretty_function)
* */
bool mkpath(std::string path, int mode = 0777);
/** @brief Get the directory name of the path
*
* @param path The path to use.
*
* @return string
* */
std::string dirname(const std::string &path);
} // namespace utils
#endif

Binary file not shown.

BIN
latex/images/2x2_energy.pdf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

142
src/IsingModel.cpp Normal file
View File

@ -0,0 +1,142 @@
/** @file IsingModel.cpp
*
* @author Cory Alexander Balaton (coryab)
* @author Janita Ovidie Sandtrøen Willumsen (janitaws)
*
* @version 0.1
*
* @brief The implementation of the Ising model
*
* @bug No known bugs
* */
#include "IsingModel.hpp"
IsingModel::IsingModel()
{
}
IsingModel::IsingModel(uint L, double T)
{
this->L = L;
this->T = T;
this->initialize_lattice();
this->initialize_neighbors();
this->initialize_energy_diff();
this->initialize_magnetization();
this->initialize_energy();
}
IsingModel::IsingModel(uint L, double T, int val)
{
this->L = L;
this->T = T;
this->lattice.set_size(this->L, this->L);
this->lattice.fill(val);
this->initialize_neighbors();
this->initialize_energy_diff();
this->initialize_magnetization();
this->initialize_energy();
}
void IsingModel::initialize_lattice()
{
this->lattice.set_size(this->L, this->L);
std::random_device rd;
std::mt19937 engine(rd());
std::uniform_int_distribution<int> coin_flip(0, 1);
for (size_t i = 0; i < this->lattice.n_elem; i++)
this->lattice(i) = coin_flip(engine) == 1 ? 1 : -1;
}
void IsingModel::initialize_neighbors()
{
this->neighbors.set_size(this->L, 2);
// Having i as a signed integer is necessary in this case.
for (int i = 0; i < (int)this->L; i++) {
this->neighbors(i, UP) = INDEX(i - 1, this->L);
this->neighbors(i, DOWN) = INDEX(i + 1, this->L);
}
}
void IsingModel::initialize_energy_diff()
{
for (int i = -8; i <= 8; i += 4) {
this->energy_diff.insert({i, std::exp(-((double)i / this->T))});
}
}
void IsingModel::initialize_magnetization()
{
this->M = 0.;
for (size_t i = 0; i < this->lattice.n_elem; i++) {
this->M += (double)this->lattice(i);
}
}
void IsingModel::initialize_energy()
{
this->E = 0.;
// Loop through the matrix
for (size_t j = 0; j < this->L; j++) {
for (size_t i = 0; i < this->L; i++) {
this->E -= (double)this->lattice(i, j)
* (this->lattice(i, this->neighbors(j, RIGHT))
+ this->lattice(this->neighbors(i, DOWN), j));
}
}
}
data_t IsingModel::Metropolis(std::mt19937 &engine)
{
uint ri, rj;
int dE;
data_t res;
// Create random distribution for indeces
std::uniform_int_distribution<uint> random_index(0, this->L - 1);
// Create random distribution for acceptance
std::uniform_real_distribution<> random_number(0., 1.);
// Loop over the number of spins
for (size_t i = 0; i < this->lattice.n_elem; i++) {
// Get random indeces
ri = random_index(engine);
rj = random_index(engine);
// Calculate the difference in energy
dE = 2 * this->lattice(ri, rj)
* (this->lattice(ri, this->neighbors(rj, LEFT))
+ this->lattice(ri, this->neighbors(rj, RIGHT))
+ this->lattice(this->neighbors(ri, UP), rj)
+ this->lattice(this->neighbors(ri, DOWN), rj));
// Choose whether or not to accept the new configuration
if (random_number(engine) <= this->energy_diff[dE]) {
// Update if the configuration is accepted
this->lattice(ri, rj) *= -1;
this->M += 2. * (double)this->lattice(ri, rj);
this->E += (double)dE;
}
}
res.E = this->E;
res.E2 = this->E * this->E;
res.M = this->M;
res.M2 = this->M * this->M;
res.M_abs = std::abs(this->M);
return res;
}
double IsingModel::get_E()
{
return this->E;
}
double IsingModel::get_M()
{
return this->M;
}

View File

@ -1,9 +1,10 @@
CC=g++
#CC=g++
CC=mpic++
LIBSRCS=utils.cpp
LIBSRCS=utils.cpp testlib.cpp data_type.cpp
LIBOBJS=$(LIBSRCS:.cpp=.o)
CLASSSRCS=PenningTrap.cpp Particle.cpp
CLASSSRCS=IsingModel.cpp monte_carlo.cpp
CLASSOBJS=$(CLASSSRCS:.cpp=.o)
INCLUDE=../include
@ -30,7 +31,8 @@ endif
.PHONY: clean
all: test_suite main frequency_narrow_sweeps_long
all: main phase_transition_mpi test_suite
#all: main
# Instrumentation using scorep for parallel analysis
instrument:
@ -42,6 +44,9 @@ instrument:
main: main.o $(LIBOBJS) $(CLASSOBJS)
$(CC) $^ -o $@ $(CFLAGS) $(DBGFLAG) $(PROFFLAG) -I$(INCLUDE) $(OPENMP)
phase_transition_mpi: phase_transition_mpi.o $(LIBOBJS) $(CLASSOBJS)
$(CC) $^ -o $@ $(CFLAGS) $(DBGFLAG) $(PROFFLAG) -I$(INCLUDE) $(OPENMP)
test_suite: test_suite.o $(LIBOBJS) $(CLASSOBJS)
$(CC) $^ -o $@ $(CFLAGS) $(DBGFLAG) $(PROFFLAG) -I$(INCLUDE) $(OPENMP)

72
src/data_type.cpp Normal file
View File

@ -0,0 +1,72 @@
/** @file data_type.cpp
*
* @author Cory Alexander Balaton (coryab)
* @author Janita Ovidie Sandtrøen Willumsen (janitaws)
*
* @version 1.0
*
* @brief Implementation for the data_t type.
*
* @bug No known bugs
* */
#include "data_type.hpp"
template <class T>
data_t operator/(const data_t &data, T num)
{
data_t res = data;
res.E /= num;
res.E2 /= num;
res.M /= num;
res.M2 /= num;
res.M_abs /= num;
return res;
}
// Explicit instantiation
template data_t operator/(const data_t &, uint);
template data_t operator/(const data_t &, ulong);
template data_t operator/(const data_t &,int);
template data_t operator/(const data_t &,double);
template <class T>
data_t& operator/=(data_t &data, T num)
{
data.E /= num;
data.E2 /= num;
data.M /= num;
data.M2 /= num;
data.M_abs /= num;
return data;
}
// Explicit instantiation
template data_t& operator/=(data_t &, uint);
template data_t& operator/=(data_t &, ulong);
template data_t& operator/=(data_t &,int);
template data_t& operator/=(data_t &,double);
data_t operator+(const data_t &a, const data_t &b)
{
data_t res = a;
res.E += b.E;
res.E2 += b.E2;
res.M += b.M;
res.M2 += b.M2;
res.M_abs += b.M_abs;
return res;
}
data_t& operator+=(data_t &a, const data_t &b)
{
a.E += b.E;
a.E2 += b.E2;
a.M += b.M;
a.M2 += b.M2;
a.M_abs += b.M_abs;
return a;
}

View File

@ -0,0 +1,40 @@
2.1000000000e+00, -1.6620153162e+00, 8.6825921642e-01, 9.7151756678e-01, 2.4628207208e+00
2.1075000000e+00, -1.6547871402e+00, 8.6452546472e-01, 9.8586055596e-01, 1.0371424746e+00
2.1150000000e+00, -1.6470173946e+00, 8.5757567470e-01, 1.0527091921e+00, 9.2735057990e+00
2.1225000000e+00, -1.6395359027e+00, 8.5477023382e-01, 1.0458114211e+00, 2.8269978139e+00
2.1300000000e+00, -1.6317611242e+00, 8.5029719252e-01, 1.0648418813e+00, 1.5413540397e+00
2.1375000000e+00, -1.6235958872e+00, 8.4427437198e-01, 1.1067537915e+00, 4.1393110834e+00
2.1450000000e+00, -1.6154378059e+00, 8.3939453442e-01, 1.1249379789e+00, 2.4765189498e+00
2.1525000000e+00, -1.6068788967e+00, 8.3370064048e-01, 1.1529855330e+00, 1.9209173052e+00
2.1600000000e+00, -1.5981243397e+00, 8.2742933888e-01, 1.1832514097e+00, 2.1549193408e+00
2.1675000000e+00, -1.5891135955e+00, 8.2073828886e-01, 1.2185666891e+00, 2.4512526099e+00
2.1750000000e+00, -1.5799324034e+00, 8.1374150226e-01, 1.2592266595e+00, 2.7899402229e+00
2.1825000000e+00, -1.5701165092e+00, 8.0492814328e-01, 1.3164080508e+00, 5.6569919297e+00
2.1900000000e+00, -1.5603238432e+00, 7.9743303536e-01, 1.3446888670e+00, 3.8003080360e+00
2.1975000000e+00, -1.5498866007e+00, 7.8783085350e-01, 1.4001363797e+00, 4.9784343082e+00
2.2050000000e+00, -1.5392398990e+00, 7.7702621460e-01, 1.4673061547e+00, 7.9625339130e+00
2.2125000000e+00, -1.5281262918e+00, 7.6584789506e-01, 1.5232488352e+00, 8.4644768325e+00
2.2200000000e+00, -1.5165880163e+00, 7.5355556686e-01, 1.5748237550e+00, 8.7046281768e+00
2.2275000000e+00, -1.5043489448e+00, 7.3824513410e-01, 1.6730531386e+00, 1.3329874777e+01
2.2350000000e+00, -1.4919062936e+00, 7.2266862052e-01, 1.7605738773e+00, 1.5774847194e+01
2.2425000000e+00, -1.4779197153e+00, 6.9984947662e-01, 1.8842107989e+00, 2.5222532538e+01
2.2500000000e+00, -1.4630838121e+00, 6.7200043076e-01, 2.0414383332e+00, 4.0176409902e+01
2.2575000000e+00, -1.4466727990e+00, 6.3374453586e-01, 2.2394490921e+00, 6.5386553201e+01
2.2650000000e+00, -1.4302620022e+00, 5.9545725882e-01, 2.3367695957e+00, 8.4146921469e+01
2.2725000000e+00, -1.4129940982e+00, 5.4893978964e-01, 2.4264999588e+00, 1.0572940572e+02
2.2800000000e+00, -1.3938477486e+00, 4.8383973028e-01, 2.4843359422e+00, 1.4080896856e+02
2.2875000000e+00, -1.3755483071e+00, 4.2131611852e-01, 2.3668657423e+00, 1.5146279797e+02
2.2950000000e+00, -1.3587650193e+00, 3.6670820910e-01, 2.2238630418e+00, 1.4922116201e+02
2.3025000000e+00, -1.3424890747e+00, 3.1314528658e-01, 2.0388866034e+00, 1.3710935397e+02
2.3100000000e+00, -1.3278909358e+00, 2.6988360328e-01, 1.8428420582e+00, 1.1799184878e+02
2.3175000000e+00, -1.3146870617e+00, 2.3717208746e-01, 1.7132885225e+00, 1.0132633890e+02
2.3250000000e+00, -1.3022142125e+00, 2.0584315460e-01, 1.5883836563e+00, 8.4059694596e+01
2.3325000000e+00, -1.2906006156e+00, 1.8736295758e-01, 1.5132478295e+00, 7.2347213446e+01
2.3400000000e+00, -1.2797137160e+00, 1.7238447366e-01, 1.4469027063e+00, 6.2533751699e+01
2.3475000000e+00, -1.2689956506e+00, 1.5705407798e-01, 1.3862572655e+00, 5.3347428555e+01
2.3550000000e+00, -1.2590990874e+00, 1.4659499200e-01, 1.3372004012e+00, 4.7210919387e+01
2.3625000000e+00, -1.2489784134e+00, 1.3360769622e-01, 1.2889592617e+00, 3.9916238102e+01
2.3700000000e+00, -1.2394002512e+00, 1.2499840328e-01, 1.2447122211e+00, 3.5011112489e+01
2.3775000000e+00, -1.2301743490e+00, 1.1724050656e-01, 1.2126831520e+00, 3.1619751217e+01
2.3850000000e+00, -1.2212667213e+00, 1.1158216368e-01, 1.1817854995e+00, 2.8398360387e+01
2.3925000000e+00, -1.2125286096e+00, 1.0569096110e-01, 1.1511183772e+00, 2.5508811996e+01

View File

@ -0,0 +1,40 @@
2.1000000000e+00, -1.6619125180e+00, 8.6839291850e-01, 9.6555027618e-01, 9.7850361363e-01
2.1075000000e+00, -1.6549793570e+00, 8.6471839850e-01, 9.8240289303e-01, 1.0129724485e+00
2.1150000000e+00, -1.6468503490e+00, 8.5960125050e-01, 1.0138192976e+00, 1.1321474962e+00
2.1225000000e+00, -1.6395326080e+00, 8.5511700950e-01, 1.0365371568e+00, 1.2364229543e+00
2.1300000000e+00, -1.6317730720e+00, 8.5044005850e-01, 1.0587209589e+00, 1.3211835025e+00
2.1375000000e+00, -1.6234235200e+00, 8.4479707150e-01, 1.0873989398e+00, 1.4801573993e+00
2.1450000000e+00, -1.6159038850e+00, 8.4040335200e-01, 1.1054118047e+00, 1.5387845869e+00
2.1525000000e+00, -1.6068533790e+00, 8.3360464950e-01, 1.1465611095e+00, 1.7801980041e+00
2.1600000000e+00, -1.5982328140e+00, 8.2758169400e-01, 1.1760701126e+00, 1.9407916428e+00
2.1675000000e+00, -1.5893305490e+00, 8.2146220800e-01, 1.2027020856e+00, 2.0857388287e+00
2.1750000000e+00, -1.5800474730e+00, 8.1475079550e-01, 1.2322647833e+00, 2.2571138933e+00
2.1825000000e+00, -1.5712991630e+00, 8.0836790150e-01, 1.2576266534e+00, 2.4328877997e+00
2.1900000000e+00, -1.5610119330e+00, 7.9991190450e-01, 1.2986390210e+00, 2.7318627483e+00
2.1975000000e+00, -1.5512947190e+00, 7.9200833000e-01, 1.3324471512e+00, 2.9999142363e+00
2.2050000000e+00, -1.5412811640e+00, 7.8410793550e-01, 1.3603249592e+00, 3.2210726936e+00
2.2125000000e+00, -1.5312122480e+00, 7.7582262450e-01, 1.3914119268e+00, 3.4663325824e+00
2.2200000000e+00, -1.5202567750e+00, 7.6603557500e-01, 1.4290506271e+00, 3.7902650810e+00
2.2275000000e+00, -1.5101140570e+00, 7.5720912050e-01, 1.4571094065e+00, 4.0922499338e+00
2.2350000000e+00, -1.4983236510e+00, 7.4583789950e-01, 1.4940343199e+00, 4.4949431726e+00
2.2425000000e+00, -1.4872285410e+00, 7.3583214850e-01, 1.5209645562e+00, 4.7834776118e+00
2.2500000000e+00, -1.4755721230e+00, 7.2430785100e-01, 1.5494637112e+00, 5.1408071955e+00
2.2575000000e+00, -1.4646817370e+00, 7.1429082850e-01, 1.5665735040e+00, 5.4168636675e+00
2.2650000000e+00, -1.4525830090e+00, 7.0183889150e-01, 1.5930316440e+00, 5.8246607718e+00
2.2725000000e+00, -1.4401881130e+00, 6.8829875200e-01, 1.6210749189e+00, 6.2825629079e+00
2.2800000000e+00, -1.4275341280e+00, 6.7503738350e-01, 1.6377412939e+00, 6.6272843184e+00
2.2875000000e+00, -1.4153101170e+00, 6.6202681500e-01, 1.6474807652e+00, 6.9374221274e+00
2.2950000000e+00, -1.4025377850e+00, 6.4792210650e-01, 1.6613566237e+00, 7.2965666268e+00
2.3025000000e+00, -1.3901966580e+00, 6.3424726400e-01, 1.6643516967e+00, 7.5997720797e+00
2.3100000000e+00, -1.3777599550e+00, 6.2029042850e-01, 1.6655967518e+00, 7.8821870275e+00
2.3175000000e+00, -1.3658680790e+00, 6.0696951250e-01, 1.6640990107e+00, 8.1240659854e+00
2.3250000000e+00, -1.3536401310e+00, 5.9312723750e-01, 1.6552818870e+00, 8.3112943885e+00
2.3325000000e+00, -1.3397610860e+00, 5.7579100100e-01, 1.6468905936e+00, 8.6230949277e+00
2.3400000000e+00, -1.3279296500e+00, 5.6190994250e-01, 1.6315188349e+00, 8.7733425063e+00
2.3475000000e+00, -1.3157471180e+00, 5.4756469250e-01, 1.6092786419e+00, 8.8885122002e+00
2.3550000000e+00, -1.3041730460e+00, 5.3377897100e-01, 1.5875278057e+00, 8.9753683844e+00
2.3625000000e+00, -1.2926410050e+00, 5.2069073550e-01, 1.5603029077e+00, 8.9820705976e+00
2.3700000000e+00, -1.2802206010e+00, 5.0476759600e-01, 1.5297678965e+00, 9.0498806419e+00
2.3775000000e+00, -1.2699025730e+00, 4.9361168400e-01, 1.5059390703e+00, 9.0215829651e+00
2.3850000000e+00, -1.2586695900e+00, 4.8012205450e-01, 1.4771256938e+00, 8.9961790709e+00
2.3925000000e+00, -1.2478550800e+00, 4.6736909300e-01, 1.4420816831e+00, 8.9036470785e+00

View File

@ -0,0 +1,40 @@
2.1000000000e+00, -1.6620241095e+00, 8.6870001213e-01, 9.6315452544e-01, 9.6226340795e-01
2.1075000000e+00, -1.6546474007e+00, 8.6435499912e-01, 9.8726491216e-01, 1.0486145186e+00
2.1150000000e+00, -1.6471901245e+00, 8.5999019563e-01, 1.0078816808e+00, 1.1309322111e+00
2.1225000000e+00, -1.6396131488e+00, 8.5534986700e-01, 1.0341186299e+00, 1.2401952685e+00
2.1300000000e+00, -1.6316233365e+00, 8.5028545800e-01, 1.0616281311e+00, 1.3647625002e+00
2.1375000000e+00, -1.6237929958e+00, 8.4533017437e-01, 1.0891759248e+00, 1.5241163310e+00
2.1450000000e+00, -1.6151386912e+00, 8.3903778937e-01, 1.1269490234e+00, 1.8646375755e+00
2.1525000000e+00, -1.6066617845e+00, 8.3330123700e-01, 1.1561499936e+00, 2.0164316252e+00
2.1600000000e+00, -1.5981390215e+00, 8.2754810150e-01, 1.1833323029e+00, 2.1355953037e+00
2.1675000000e+00, -1.5890042950e+00, 8.2053784450e-01, 1.2212535753e+00, 2.5182897415e+00
2.1750000000e+00, -1.5797295040e+00, 8.1340160300e-01, 1.2605568049e+00, 2.8268774622e+00
2.1825000000e+00, -1.5702464250e+00, 8.0565077875e-01, 1.3025929004e+00, 3.3805882500e+00
2.1900000000e+00, -1.5604939612e+00, 7.9764172887e-01, 1.3454520516e+00, 3.7938587164e+00
2.1975000000e+00, -1.5499313592e+00, 7.8792353400e-01, 1.3967813619e+00, 4.4756538550e+00
2.2050000000e+00, -1.5391499830e+00, 7.7744365112e-01, 1.4501456064e+00, 5.3798585716e+00
2.2125000000e+00, -1.5282690012e+00, 7.6690028637e-01, 1.4995460425e+00, 6.1870897661e+00
2.2200000000e+00, -1.5167300260e+00, 7.5423927662e-01, 1.5624874280e+00, 7.4548031568e+00
2.2275000000e+00, -1.5050149717e+00, 7.4142832087e-01, 1.6204433824e+00, 8.6979351346e+00
2.2350000000e+00, -1.4926378615e+00, 7.2640746162e-01, 1.6863439690e+00, 1.0422107961e+01
2.2425000000e+00, -1.4794847920e+00, 7.0900366487e-01, 1.7621420318e+00, 1.2536468715e+01
2.2500000000e+00, -1.4656867717e+00, 6.8967846612e-01, 1.8323331829e+00, 1.4893634634e+01
2.2575000000e+00, -1.4520555287e+00, 6.7119788675e-01, 1.8799168754e+00, 1.6547383769e+01
2.2650000000e+00, -1.4382698593e+00, 6.5065610625e-01, 1.9337012711e+00, 1.8914026717e+01
2.2725000000e+00, -1.4230305128e+00, 6.2540010162e-01, 1.9788823072e+00, 2.1651635903e+01
2.2800000000e+00, -1.4088086143e+00, 6.0163930987e-01, 2.0112447617e+00, 2.4199800899e+01
2.2875000000e+00, -1.3935304780e+00, 5.7577379412e-01, 2.0196168621e+00, 2.6064061662e+01
2.2950000000e+00, -1.3789640860e+00, 5.5077936987e-01, 2.0095359588e+00, 2.7512401284e+01
2.3025000000e+00, -1.3624053932e+00, 5.1785586512e-01, 1.9954287230e+00, 2.9529693197e+01
2.3100000000e+00, -1.3484675187e+00, 4.9407736975e-01, 1.9489026021e+00, 3.0040369409e+01
2.3175000000e+00, -1.3343921728e+00, 4.6778955013e-01, 1.9013520152e+00, 3.0603632810e+01
2.3250000000e+00, -1.3197310500e+00, 4.3895860962e-01, 1.8406235015e+00, 3.0679867277e+01
2.3325000000e+00, -1.3061023918e+00, 4.1355581687e-01, 1.7586976734e+00, 3.0281483045e+01
2.3400000000e+00, -1.2935458417e+00, 3.9148407650e-01, 1.6936163462e+00, 2.9309538353e+01
2.3475000000e+00, -1.2810342150e+00, 3.6986715562e-01, 1.6246099121e+00, 2.8219898740e+01
2.3550000000e+00, -1.2689798297e+00, 3.4784880125e-01, 1.5474347136e+00, 2.6988405432e+01
2.3625000000e+00, -1.2578110195e+00, 3.2940204463e-01, 1.4903891730e+00, 2.5855851530e+01
2.3700000000e+00, -1.2467082168e+00, 3.1144425187e-01, 1.4161229966e+00, 2.4265691669e+01
2.3775000000e+00, -1.2364888132e+00, 2.9590345237e-01, 1.3601555797e+00, 2.2803242240e+01
2.3850000000e+00, -1.2262656265e+00, 2.8063338050e-01, 1.3049288010e+00, 2.1507061243e+01
2.3925000000e+00, -1.2169632957e+00, 2.6823971300e-01, 1.2562566007e+00, 2.0148598349e+01

View File

@ -0,0 +1,40 @@
2.1000000000e+00, -1.6620843629e+00, 8.6872799750e-01, 9.6264519505e-01, 9.5544569044e-01
2.1075000000e+00, -1.6547580499e+00, 8.6444806406e-01, 9.8544566002e-01, 1.0407756357e+00
2.1150000000e+00, -1.6473603679e+00, 8.6015627483e-01, 1.0101358749e+00, 1.1153310968e+00
2.1225000000e+00, -1.6396375339e+00, 8.5537835589e-01, 1.0356576220e+00, 1.2426188107e+00
2.1300000000e+00, -1.6317903722e+00, 8.5046221944e-01, 1.0630158285e+00, 1.3653424965e+00
2.1375000000e+00, -1.6236858849e+00, 8.4515188072e-01, 1.0898866806e+00, 1.5272736843e+00
2.1450000000e+00, -1.6154040312e+00, 8.3963544883e-01, 1.1163642113e+00, 1.6903490533e+00
2.1525000000e+00, -1.6068627261e+00, 8.3359092411e-01, 1.1525313123e+00, 1.9475784050e+00
2.1600000000e+00, -1.5981171297e+00, 8.2743907661e-01, 1.1856925219e+00, 2.1377189985e+00
2.1675000000e+00, -1.5891169522e+00, 8.2076692411e-01, 1.2202497445e+00, 2.4484997455e+00
2.1750000000e+00, -1.5798256027e+00, 8.1368407967e-01, 1.2558053037e+00, 2.7636023484e+00
2.1825000000e+00, -1.5703361263e+00, 8.0594987944e-01, 1.2983724079e+00, 3.3113282521e+00
2.1900000000e+00, -1.5602543071e+00, 7.9732757833e-01, 1.3446361432e+00, 3.7573016387e+00
2.1975000000e+00, -1.5500343039e+00, 7.8784426106e-01, 1.3953317819e+00, 4.7951647288e+00
2.2050000000e+00, -1.5392068992e+00, 7.7743896250e-01, 1.4609661357e+00, 5.7612740711e+00
2.2125000000e+00, -1.5282624559e+00, 7.6657300889e-01, 1.5089569958e+00, 6.7976296683e+00
2.2200000000e+00, -1.5167714741e+00, 7.5381184083e-01, 1.5765989542e+00, 8.7762464988e+00
2.2275000000e+00, -1.5046375629e+00, 7.3963954711e-01, 1.6538283053e+00, 1.0539882793e+01
2.2350000000e+00, -1.4916838380e+00, 7.2188930672e-01, 1.7479448742e+00, 1.4442688054e+01
2.2425000000e+00, -1.4783546668e+00, 7.0308972833e-01, 1.8379170953e+00, 1.8151938776e+01
2.2500000000e+00, -1.4641366169e+00, 6.8038036333e-01, 1.9265609125e+00, 2.3389888284e+01
2.2575000000e+00, -1.4486397249e+00, 6.5150604822e-01, 2.0422100075e+00, 3.1244165172e+01
2.2650000000e+00, -1.4336962390e+00, 6.2459981533e-01, 2.1075014455e+00, 3.6826447778e+01
2.2725000000e+00, -1.4180692170e+00, 5.9268105344e-01, 2.1893689007e+00, 4.4273470662e+01
2.2800000000e+00, -1.4010261546e+00, 5.5387566789e-01, 2.2234627988e+00, 5.2006827283e+01
2.2875000000e+00, -1.3842963302e+00, 5.1342188850e-01, 2.2093928783e+00, 5.8110524167e+01
2.2950000000e+00, -1.3674547366e+00, 4.7283667406e-01, 2.1664555299e+00, 6.1848500693e+01
2.3025000000e+00, -1.3514448674e+00, 4.3301724944e-01, 2.0844304859e+00, 6.2928742602e+01
2.3100000000e+00, -1.3361684618e+00, 3.9658430828e-01, 1.9897540506e+00, 6.2376495709e+01
2.3175000000e+00, -1.3221636203e+00, 3.6519162828e-01, 1.8755791202e+00, 5.9468771468e+01
2.3250000000e+00, -1.3086887623e+00, 3.3479607911e-01, 1.7751338406e+00, 5.5802216522e+01
2.3325000000e+00, -1.2953904763e+00, 3.0499253439e-01, 1.6542669252e+00, 5.1362305497e+01
2.3400000000e+00, -1.2832488826e+00, 2.8106546444e-01, 1.5692606461e+00, 4.7060215979e+01
2.3475000000e+00, -1.2720185431e+00, 2.6190353806e-01, 1.4883311872e+00, 4.2947040348e+01
2.3550000000e+00, -1.2610647641e+00, 2.4192990383e-01, 1.4150400094e+00, 3.8804813518e+01
2.3625000000e+00, -1.2506554469e+00, 2.2450839061e-01, 1.3515257395e+00, 3.5046451463e+01
2.3700000000e+00, -1.2409339288e+00, 2.1300559106e-01, 1.2983897866e+00, 3.1817431753e+01
2.3775000000e+00, -1.2311690934e+00, 1.9878405622e-01, 1.2474793538e+00, 2.8725909191e+01
2.3850000000e+00, -1.2220091820e+00, 1.8858339594e-01, 1.2096871264e+00, 2.6268765485e+01
2.3925000000e+00, -1.2128942612e+00, 1.7742550372e-01, 1.1741821474e+00, 2.3917176967e+01

View File

@ -0,0 +1,40 @@
2.1000000000e+00, -1.6620756650e+00, 8.6874590631e-01, 9.6337351197e-01, 9.5351472363e-01
2.1075000000e+00, -1.6547735862e+00, 8.6447831991e-01, 9.8689361025e-01, 1.0408170215e+00
2.1150000000e+00, -1.6473087262e+00, 8.6005295253e-01, 1.0115783879e+00, 1.1325981342e+00
2.1225000000e+00, -1.6395752860e+00, 8.5529783394e-01, 1.0363020368e+00, 1.2499327245e+00
2.1300000000e+00, -1.6317063754e+00, 8.5009845187e-01, 1.0657630508e+00, 1.9312354901e+00
2.1375000000e+00, -1.6237104097e+00, 8.4518025262e-01, 1.0879722354e+00, 1.5113973758e+00
2.1450000000e+00, -1.6152916461e+00, 8.3937934853e-01, 1.1239740960e+00, 2.0178266919e+00
2.1525000000e+00, -1.6068573244e+00, 8.3364136481e-01, 1.1512040518e+00, 1.9975732782e+00
2.1600000000e+00, -1.5980690666e+00, 8.2744982978e-01, 1.1854341904e+00, 2.1241645942e+00
2.1675000000e+00, -1.5890817681e+00, 8.2076451319e-01, 1.2214163764e+00, 2.4285237978e+00
2.1750000000e+00, -1.5798129650e+00, 8.1358434325e-01, 1.2593479939e+00, 2.7739367008e+00
2.1825000000e+00, -1.5701542314e+00, 8.0558246494e-01, 1.3035816839e+00, 3.4536174390e+00
2.1900000000e+00, -1.5601962992e+00, 7.9711947519e-01, 1.3494407435e+00, 3.8450166174e+00
2.1975000000e+00, -1.5499282524e+00, 7.8789456247e-01, 1.3956130897e+00, 4.5449711982e+00
2.2050000000e+00, -1.5394033323e+00, 7.7813024216e-01, 1.4469297749e+00, 5.3965210114e+00
2.2125000000e+00, -1.5281962539e+00, 7.6650420066e-01, 1.5054808218e+00, 6.8357319764e+00
2.2200000000e+00, -1.5167144013e+00, 7.5372712081e-01, 1.5803322176e+00, 8.8529401534e+00
2.2275000000e+00, -1.5041353668e+00, 7.3701369209e-01, 1.6867391836e+00, 1.3547589490e+01
2.2350000000e+00, -1.4918010204e+00, 7.2184788872e-01, 1.7594791181e+00, 1.6421827540e+01
2.2425000000e+00, -1.4774107857e+00, 6.9811270391e-01, 1.8871499660e+00, 2.4132414777e+01
2.2500000000e+00, -1.4633492965e+00, 6.7501245453e-01, 1.9980479142e+00, 3.1832995920e+01
2.2575000000e+00, -1.4481626969e+00, 6.4464869912e-01, 2.1196194419e+00, 4.5523408624e+01
2.2650000000e+00, -1.4312964268e+00, 6.0561512331e-01, 2.2560044387e+00, 6.1067556545e+01
2.2725000000e+00, -1.4140666613e+00, 5.6202367778e-01, 2.3584586707e+00, 7.7815810663e+01
2.2800000000e+00, -1.3963192994e+00, 5.1399904344e-01, 2.3692841829e+00, 9.1735841859e+01
2.2875000000e+00, -1.3790272427e+00, 4.6401583122e-01, 2.3216706708e+00, 1.0111515817e+02
2.2950000000e+00, -1.3618707276e+00, 4.1294487594e-01, 2.2106009432e+00, 1.0439337290e+02
2.3025000000e+00, -1.3457345337e+00, 3.6521622144e-01, 2.0849681807e+00, 1.0151592962e+02
2.3100000000e+00, -1.3313221879e+00, 3.2891628841e-01, 1.9447394570e+00, 9.4585988411e+01
2.3175000000e+00, -1.3168939605e+00, 2.9075993544e-01, 1.7843051751e+00, 8.2939282435e+01
2.3250000000e+00, -1.3040026104e+00, 2.6018569022e-01, 1.6760082040e+00, 7.5314387732e+01
2.3325000000e+00, -1.2917462589e+00, 2.3482259528e-01, 1.5679147019e+00, 6.4810792954e+01
2.3400000000e+00, -1.2803463176e+00, 2.1379812091e-01, 1.4762551316e+00, 5.6581253116e+01
2.3475000000e+00, -1.2695552376e+00, 1.9517387319e-01, 1.4054334901e+00, 4.9784055131e+01
2.3550000000e+00, -1.2591213719e+00, 1.8010318962e-01, 1.3510403913e+00, 4.3679117401e+01
2.3625000000e+00, -1.2494132637e+00, 1.6935649678e-01, 1.3009501753e+00, 3.8970399523e+01
2.3700000000e+00, -1.2395117372e+00, 1.5613331394e-01, 1.2575165195e+00, 3.3873643211e+01
2.3775000000e+00, -1.2303350071e+00, 1.4791185106e-01, 1.2183135770e+00, 3.0730463637e+01
2.3850000000e+00, -1.2214079973e+00, 1.4019221863e-01, 1.1859429918e+00, 2.7883196541e+01
2.3925000000e+00, -1.2124997863e+00, 1.3183323931e-01, 1.1519411438e+00, 2.4554993354e+01

View File

@ -0,0 +1,40 @@
2.1000000000e+00, -1.6612792192e+00, 8.6256190700e-01, 1.0596726999e+00, 2.0699159730e+01
2.1075000000e+00, -1.6532154832e+00, 8.4912965540e-01, 1.2417232670e+00, 5.2009116435e+01
2.1150000000e+00, -1.6472563896e+00, 8.5913015560e-01, 1.0308365224e+00, 3.7779210599e+00
2.1225000000e+00, -1.6396845888e+00, 8.5540663260e-01, 1.0323571679e+00, 1.2382711201e+00
2.1300000000e+00, -1.6307024120e+00, 8.3981236760e-01, 1.2256061598e+00, 3.6282044911e+01
2.1375000000e+00, -1.6228404716e+00, 8.3746777060e-01, 1.2361592355e+00, 2.4737106357e+01
2.1450000000e+00, -1.6151894124e+00, 8.3877039060e-01, 1.1421629476e+00, 3.0323645843e+00
2.1525000000e+00, -1.6068043624e+00, 8.3321685040e-01, 1.1638915303e+00, 2.8048344109e+00
2.1600000000e+00, -1.5978217808e+00, 8.2557953160e-01, 1.2271432548e+00, 6.2899678078e+00
2.1675000000e+00, -1.5890927616e+00, 8.2053412660e-01, 1.2308606284e+00, 2.8553684972e+00
2.1750000000e+00, -1.5796181176e+00, 8.1283302720e-01, 1.2792013850e+00, 3.9836509613e+00
2.1825000000e+00, -1.5701404220e+00, 8.0449301820e-01, 1.3252420837e+00, 7.0344686324e+00
2.1900000000e+00, -1.5601399924e+00, 7.9685539220e-01, 1.3471601924e+00, 3.9237174947e+00
2.1975000000e+00, -1.5496621900e+00, 7.8727214460e-01, 1.4073683128e+00, 4.7225186927e+00
2.2050000000e+00, -1.5391864712e+00, 7.7669461100e-01, 1.4584663488e+00, 6.4158531378e+00
2.2125000000e+00, -1.5278245632e+00, 7.6300203680e-01, 1.5755530082e+00, 1.7288365763e+01
2.2200000000e+00, -1.5168416332e+00, 7.5472625320e-01, 1.5587276071e+00, 7.7696543289e+00
2.2275000000e+00, -1.5039672404e+00, 7.3722169740e-01, 1.6783362991e+00, 1.4058982882e+01
2.2350000000e+00, -1.4900331104e+00, 7.1081896860e-01, 1.9018868063e+00, 3.7256706578e+01
2.2425000000e+00, -1.4769756772e+00, 6.9378741340e-01, 1.9670408332e+00, 3.7020885460e+01
2.2500000000e+00, -1.4637510180e+00, 6.7620220440e-01, 1.9979200843e+00, 3.3931264905e+01
2.2575000000e+00, -1.4476422300e+00, 6.4138856980e-01, 2.1380345770e+00, 5.2021590459e+01
2.2650000000e+00, -1.4307435584e+00, 5.9851754880e-01, 2.3331535844e+00, 8.2335132366e+01
2.2725000000e+00, -1.4141791960e+00, 5.5853701300e-01, 2.3050596707e+00, 9.1406894951e+01
2.2800000000e+00, -1.3923938220e+00, 4.7488244220e-01, 2.4406522679e+00, 1.3733108164e+02
2.2875000000e+00, -1.3762977632e+00, 4.3171120960e-01, 2.3723633257e+00, 1.4169760752e+02
2.2950000000e+00, -1.3590323604e+00, 3.7291955020e-01, 2.1810791891e+00, 1.3966381627e+02
2.3025000000e+00, -1.3417246376e+00, 2.9848023220e-01, 1.9675984066e+00, 1.3674713142e+02
2.3100000000e+00, -1.3285701848e+00, 2.7804916340e-01, 1.8203992375e+00, 1.1670439695e+02
2.3175000000e+00, -1.3151839460e+00, 2.4615282040e-01, 1.7306660269e+00, 1.0191649249e+02
2.3250000000e+00, -1.3017054568e+00, 2.0573457640e-01, 1.5785878199e+00, 8.3588251789e+01
2.3325000000e+00, -1.2910242132e+00, 1.8774745000e-01, 1.5189612998e+00, 7.2830170071e+01
2.3400000000e+00, -1.2798172344e+00, 1.7481334800e-01, 1.4392725317e+00, 6.4057634925e+01
2.3475000000e+00, -1.2689864880e+00, 1.5672259460e-01, 1.3795280727e+00, 5.2809854731e+01
2.3550000000e+00, -1.2590906328e+00, 1.4302703640e-01, 1.3285933904e+00, 4.6344606435e+01
2.3625000000e+00, -1.2492913080e+00, 1.3746292460e-01, 1.3154737585e+00, 4.2854759492e+01
2.3700000000e+00, -1.2394041272e+00, 1.2602869600e-01, 1.2522961125e+00, 3.6151827925e+01
2.3775000000e+00, -1.2300210804e+00, 1.1798949900e-01, 1.2290092092e+00, 3.2614364490e+01
2.3850000000e+00, -1.2213315444e+00, 1.1081263520e-01, 1.1703344954e+00, 2.8256183604e+01
2.3925000000e+00, -1.2128333720e+00, 1.0747050640e-01, 1.1493012272e+00, 2.6548973327e+01

View File

@ -0,0 +1,40 @@
2.1000000000e+00, -1.6625690000e+00, 8.6936663000e-01, 9.5199677451e-01, 8.8569644618e-01
2.1075000000e+00, -1.6549473100e+00, 8.6473691000e-01, 9.8418368776e-01, 1.0051637644e+00
2.1150000000e+00, -1.6473698300e+00, 8.6007587500e-01, 1.0113134310e+00, 1.1196969301e+00
2.1225000000e+00, -1.6395494900e+00, 8.5548300500e-01, 1.0299964171e+00, 1.1716328445e+00
2.1300000000e+00, -1.6314012700e+00, 8.4996323500e-01, 1.0616896949e+00, 1.3405413189e+00
2.1375000000e+00, -1.6248786800e+00, 8.4645665500e-01, 1.0685391394e+00, 1.3624622748e+00
2.1450000000e+00, -1.6159789300e+00, 8.4019108500e-01, 1.1074851796e+00, 1.5778190697e+00
2.1525000000e+00, -1.6066218400e+00, 8.3310467000e-01, 1.1504972327e+00, 1.8462177141e+00
2.1600000000e+00, -1.5970234800e+00, 8.2576127500e-01, 1.1869828128e+00, 2.0943932751e+00
2.1675000000e+00, -1.5897822700e+00, 8.2258458000e-01, 1.1914918638e+00, 1.9491568159e+00
2.1750000000e+00, -1.5801827300e+00, 8.1458734500e-01, 1.2363519078e+00, 2.2920063431e+00
2.1825000000e+00, -1.5702924300e+00, 8.0774668500e-01, 1.2651687205e+00, 2.4095378779e+00
2.1900000000e+00, -1.5612255800e+00, 8.0015641500e-01, 1.2959543424e+00, 2.7257033807e+00
2.1975000000e+00, -1.5517378400e+00, 7.9245131500e-01, 1.3303052331e+00, 2.9911092386e+00
2.2050000000e+00, -1.5414217900e+00, 7.8386986500e-01, 1.3616345135e+00, 3.2709224617e+00
2.2125000000e+00, -1.5311952500e+00, 7.7542827000e-01, 1.3967503062e+00, 3.5346202097e+00
2.2200000000e+00, -1.5207608300e+00, 7.6709755000e-01, 1.4142386201e+00, 3.6842337809e+00
2.2275000000e+00, -1.5085855600e+00, 7.5403383500e-01, 1.4805730257e+00, 4.3251769608e+00
2.2350000000e+00, -1.4977753400e+00, 7.4437916000e-01, 1.5106261750e+00, 4.6648177016e+00
2.2425000000e+00, -1.4887390800e+00, 7.3872244000e-01, 1.5080687017e+00, 4.6014703216e+00
2.2500000000e+00, -1.4746719800e+00, 7.2296431000e-01, 1.5595119252e+00, 5.2158607318e+00
2.2575000000e+00, -1.4649236800e+00, 7.1438349500e-01, 1.5626649105e+00, 5.4095787458e+00
2.2650000000e+00, -1.4539727000e+00, 7.0392335500e-01, 1.5999803560e+00, 5.7811835162e+00
2.2725000000e+00, -1.4383957600e+00, 6.8648458000e-01, 1.6273389853e+00, 6.2658670226e+00
2.2800000000e+00, -1.4272485800e+00, 6.7498559500e-01, 1.6373926199e+00, 6.5424849241e+00
2.2875000000e+00, -1.4161097600e+00, 6.6328622500e-01, 1.6482649119e+00, 6.9396325071e+00
2.2950000000e+00, -1.4030803200e+00, 6.4952940000e-01, 1.6526274190e+00, 7.1626056968e+00
2.3025000000e+00, -1.3903670400e+00, 6.3425026500e-01, 1.6614736902e+00, 7.5951852895e+00
2.3100000000e+00, -1.3765267400e+00, 6.1661350500e-01, 1.6813621383e+00, 8.1293299007e+00
2.3175000000e+00, -1.3668244500e+00, 6.0868480000e-01, 1.6696332535e+00, 8.0990867312e+00
2.3250000000e+00, -1.3526192200e+00, 5.9227348500e-01, 1.6505297564e+00, 8.2942300802e+00
2.3325000000e+00, -1.3409542100e+00, 5.7865409000e-01, 1.6452483426e+00, 8.5101960774e+00
2.3400000000e+00, -1.3276466700e+00, 5.6070534000e-01, 1.6405201796e+00, 8.8590319138e+00
2.3475000000e+00, -1.3168887100e+00, 5.4946903500e-01, 1.6045170261e+00, 8.8441925199e+00
2.3550000000e+00, -1.3057160100e+00, 5.3701756500e-01, 1.5837572842e+00, 8.8493960945e+00
2.3625000000e+00, -1.2933918900e+00, 5.2257067000e-01, 1.5611608836e+00, 8.9655506973e+00
2.3700000000e+00, -1.2803815800e+00, 5.0420808000e-01, 1.5367494666e+00, 9.1530057152e+00
2.3775000000e+00, -1.2710140700e+00, 4.9720522000e-01, 1.5026191797e+00, 8.8744373257e+00
2.3850000000e+00, -1.2587865200e+00, 4.7992953500e-01, 1.4696452314e+00, 9.0276609408e+00
2.3925000000e+00, -1.2478516100e+00, 4.6678417500e-01, 1.4487901457e+00, 9.0244578382e+00

View File

@ -0,0 +1,40 @@
2.1000000000e+00, -1.6619871300e+00, 8.6870624250e-01, 9.6278777845e-01, 9.3662906498e-01
2.1075000000e+00, -1.6547203325e+00, 8.6437105750e-01, 9.8311077964e-01, 1.0346128731e+00
2.1150000000e+00, -1.6473785300e+00, 8.6017528750e-01, 1.0109861749e+00, 1.1150123281e+00
2.1225000000e+00, -1.6395897775e+00, 8.5516811625e-01, 1.0474455741e+00, 1.2971060290e+00
2.1300000000e+00, -1.6312599425e+00, 8.4947010125e-01, 1.0722753911e+00, 1.5035213400e+00
2.1375000000e+00, -1.6241147400e+00, 8.4585219625e-01, 1.0785852968e+00, 1.4006910648e+00
2.1450000000e+00, -1.6154353900e+00, 8.3964061750e-01, 1.1196777363e+00, 1.6977945481e+00
2.1525000000e+00, -1.6066602000e+00, 8.3351204375e-01, 1.1542721941e+00, 1.8895368271e+00
2.1600000000e+00, -1.5979234975e+00, 8.2748378125e-01, 1.1841299918e+00, 2.0149041234e+00
2.1675000000e+00, -1.5890679950e+00, 8.2065594000e-01, 1.2279168915e+00, 2.3928382622e+00
2.1750000000e+00, -1.5797961850e+00, 8.1368810125e-01, 1.2559737783e+00, 2.6842134240e+00
2.1825000000e+00, -1.5703906325e+00, 8.0578926750e-01, 1.3035057782e+00, 3.2167249489e+00
2.1900000000e+00, -1.5600478750e+00, 7.9750457875e-01, 1.3416942292e+00, 3.4242736182e+00
2.1975000000e+00, -1.5496240950e+00, 7.8796541000e-01, 1.3925225739e+00, 4.1589450169e+00
2.2050000000e+00, -1.5397732300e+00, 7.7816155750e-01, 1.4422836947e+00, 5.4907415132e+00
2.2125000000e+00, -1.5283743325e+00, 7.6732785125e-01, 1.4880825139e+00, 5.9318420661e+00
2.2200000000e+00, -1.5170016200e+00, 7.5565237250e-01, 1.5595766066e+00, 6.8132399420e+00
2.2275000000e+00, -1.5045914675e+00, 7.3986621875e-01, 1.6280834980e+00, 8.9798473767e+00
2.2350000000e+00, -1.4913784100e+00, 7.2382233000e-01, 1.7009293790e+00, 1.0593416364e+01
2.2425000000e+00, -1.4781115425e+00, 7.0516521750e-01, 1.8020081436e+00, 1.3620485402e+01
2.2500000000e+00, -1.4675678350e+00, 6.9745757625e-01, 1.7598437012e+00, 1.2270503961e+01
2.2575000000e+00, -1.4534174775e+00, 6.7418916000e-01, 1.8682062103e+00, 1.6229736752e+01
2.2650000000e+00, -1.4389895100e+00, 6.5277034250e-01, 1.9199774739e+00, 1.8545079735e+01
2.2725000000e+00, -1.4241354725e+00, 6.2800997875e-01, 1.9579403322e+00, 2.1378318014e+01
2.2800000000e+00, -1.4090535575e+00, 6.0315022375e-01, 2.0032088190e+00, 2.4018275994e+01
2.2875000000e+00, -1.3927315250e+00, 5.7404195500e-01, 2.0214801295e+00, 2.5782649418e+01
2.2950000000e+00, -1.3787226450e+00, 5.4834878500e-01, 2.0266913149e+00, 2.8290948302e+01
2.3025000000e+00, -1.3632748550e+00, 5.2135817250e-01, 1.9811668806e+00, 2.8714880199e+01
2.3100000000e+00, -1.3464988650e+00, 4.8466357500e-01, 1.9810374067e+00, 3.1760898790e+01
2.3175000000e+00, -1.3367379275e+00, 4.7629435000e-01, 1.9081949871e+00, 3.0196817119e+01
2.3250000000e+00, -1.3193239250e+00, 4.3652890125e-01, 1.8332484766e+00, 3.0891702871e+01
2.3325000000e+00, -1.3071566800e+00, 4.1625584750e-01, 1.7815090084e+00, 3.0666290088e+01
2.3400000000e+00, -1.2941572625e+00, 3.9459272000e-01, 1.6840398641e+00, 2.8966338994e+01
2.3475000000e+00, -1.2791096525e+00, 3.5942566625e-01, 1.6063090325e+00, 2.8297691660e+01
2.3550000000e+00, -1.2699687225e+00, 3.5410390250e-01, 1.5488284969e+00, 2.6883308021e+01
2.3625000000e+00, -1.2589335250e+00, 3.3307430750e-01, 1.4942018868e+00, 2.6036581637e+01
2.3700000000e+00, -1.2481282425e+00, 3.1721209750e-01, 1.4215856448e+00, 2.4527287084e+01
2.3775000000e+00, -1.2352952825e+00, 2.9286225500e-01, 1.3454562572e+00, 2.2568838891e+01
2.3850000000e+00, -1.2258446225e+00, 2.8075654750e-01, 1.3150251213e+00, 2.1757694808e+01
2.3925000000e+00, -1.2161956225e+00, 2.6596321875e-01, 1.2462566469e+00, 1.9885203794e+01

View File

@ -0,0 +1,40 @@
2.1000000000e+00, -1.6622080778e+00, 8.6888685056e-01, 9.6194394754e-01, 9.5119481140e-01
2.1075000000e+00, -1.6549873878e+00, 8.6473504722e-01, 9.7994266077e-01, 9.8953379786e-01
2.1150000000e+00, -1.6475207911e+00, 8.6025093389e-01, 1.0081474312e+00, 1.1194559870e+00
2.1225000000e+00, -1.6396569767e+00, 8.5545978444e-01, 1.0333044324e+00, 1.2136054089e+00
2.1300000000e+00, -1.6315560089e+00, 8.5013030556e-01, 1.0679225878e+00, 1.4175829026e+00
2.1375000000e+00, -1.6237534878e+00, 8.4521926944e-01, 1.0902339720e+00, 1.5064789046e+00
2.1450000000e+00, -1.6156567900e+00, 8.4024911278e-01, 1.1126210431e+00, 1.5751093021e+00
2.1525000000e+00, -1.6069039722e+00, 8.3401459222e-01, 1.1504921905e+00, 1.8536979986e+00
2.1600000000e+00, -1.5979708833e+00, 8.2729493611e-01, 1.1859309121e+00, 2.1365010597e+00
2.1675000000e+00, -1.5888628356e+00, 8.1998504278e-01, 1.2389330968e+00, 3.0662066078e+00
2.1750000000e+00, -1.5794593678e+00, 8.1268006056e-01, 1.2669134996e+00, 2.9580405964e+00
2.1825000000e+00, -1.5703313700e+00, 8.0580660333e-01, 1.2987511848e+00, 3.2538479975e+00
2.1900000000e+00, -1.5605616589e+00, 7.9825073389e-01, 1.3239144859e+00, 3.3816598902e+00
2.1975000000e+00, -1.5503053800e+00, 7.8854590444e-01, 1.3941392783e+00, 4.8355208524e+00
2.2050000000e+00, -1.5392911122e+00, 7.7778305833e-01, 1.4627414876e+00, 5.4704647774e+00
2.2125000000e+00, -1.5275480522e+00, 7.6369925111e-01, 1.5397805627e+00, 8.2040122202e+00
2.2200000000e+00, -1.5158014478e+00, 7.5233748833e-01, 1.5820501294e+00, 8.3633477024e+00
2.2275000000e+00, -1.5044431100e+00, 7.3805987833e-01, 1.6702105765e+00, 1.1444973767e+01
2.2350000000e+00, -1.4908134933e+00, 7.1846408611e-01, 1.7747717739e+00, 1.7025836469e+01
2.2425000000e+00, -1.4794267867e+00, 7.0642548556e-01, 1.8065580310e+00, 1.6643128591e+01
2.2500000000e+00, -1.4632736244e+00, 6.7601601611e-01, 1.9665471598e+00, 2.5780870106e+01
2.2575000000e+00, -1.4474902822e+00, 6.4792024944e-01, 2.0638894153e+00, 3.2332279841e+01
2.2650000000e+00, -1.4342776511e+00, 6.2667603278e-01, 2.1160524277e+00, 3.6569069734e+01
2.2725000000e+00, -1.4168885311e+00, 5.8519766833e-01, 2.2426448595e+00, 4.8256403563e+01
2.2800000000e+00, -1.4014866000e+00, 5.5902506222e-01, 2.1794665372e+00, 4.7820963877e+01
2.2875000000e+00, -1.3828889500e+00, 5.0619922444e-01, 2.2575163767e+00, 6.0784816323e+01
2.2950000000e+00, -1.3672035722e+00, 4.7189277611e-01, 2.1713590434e+00, 6.0308487671e+01
2.3025000000e+00, -1.3522221378e+00, 4.3997953944e-01, 2.0883776065e+00, 6.1576347491e+01
2.3100000000e+00, -1.3364808467e+00, 3.9876774722e-01, 1.9739688332e+00, 6.1903828300e+01
2.3175000000e+00, -1.3221950333e+00, 3.6735453056e-01, 1.8578001992e+00, 5.7978537200e+01
2.3250000000e+00, -1.3086082244e+00, 3.3554781833e-01, 1.7701015699e+00, 5.5854275464e+01
2.3325000000e+00, -1.2954145244e+00, 3.0691911056e-01, 1.6541848788e+00, 5.1358474505e+01
2.3400000000e+00, -1.2817812289e+00, 2.7302543333e-01, 1.5532130609e+00, 4.6243909101e+01
2.3475000000e+00, -1.2717813078e+00, 2.5766299167e-01, 1.4776751965e+00, 4.2145442090e+01
2.3550000000e+00, -1.2605244911e+00, 2.3634089833e-01, 1.3752785899e+00, 3.7570993341e+01
2.3625000000e+00, -1.2509552244e+00, 2.2662395778e-01, 1.3451900581e+00, 3.5327196969e+01
2.3700000000e+00, -1.2414042567e+00, 2.1529288222e-01, 1.2933073896e+00, 3.2094216452e+01
2.3775000000e+00, -1.2317764800e+00, 2.0266740167e-01, 1.2435481044e+00, 2.9164970244e+01
2.3850000000e+00, -1.2215126278e+00, 1.8771133444e-01, 1.2131660649e+00, 2.6453223909e+01
2.3925000000e+00, -1.2132305378e+00, 1.8020770889e-01, 1.1864433534e+00, 2.4390477910e+01

View File

@ -0,0 +1,40 @@
2.1000000000e+00, -1.6611152931e+00, 8.6340949031e-01, 1.0618085269e+00, 1.0852443221e+01
2.1075000000e+00, -1.6544204275e+00, 8.6155289688e-01, 1.0400128767e+00, 6.9729031007e+00
2.1150000000e+00, -1.6470948250e+00, 8.5867193781e-01, 1.0299036529e+00, 3.1948548627e+00
2.1225000000e+00, -1.6394780825e+00, 8.5489989063e-01, 1.0439477101e+00, 1.4796682043e+00
2.1300000000e+00, -1.6314147313e+00, 8.4997307438e-01, 1.0605627746e+00, 1.4245900259e+00
2.1375000000e+00, -1.6236637081e+00, 8.4527533875e-01, 1.0878527046e+00, 1.4851799529e+00
2.1450000000e+00, -1.6151988531e+00, 8.3900120594e-01, 1.1216531827e+00, 2.1654786567e+00
2.1525000000e+00, -1.6070250831e+00, 8.3389557844e-01, 1.1526268945e+00, 1.9005170940e+00
2.1600000000e+00, -1.5979811812e+00, 8.2628487844e-01, 1.2084423726e+00, 4.1500628183e+00
2.1675000000e+00, -1.5893568400e+00, 8.2104097906e-01, 1.2197362514e+00, 2.4855215778e+00
2.1750000000e+00, -1.5794394906e+00, 8.1176008719e-01, 1.3044598514e+00, 4.6511834081e+00
2.1825000000e+00, -1.5698832044e+00, 8.0493701562e-01, 1.3006449037e+00, 3.4793099999e+00
2.1900000000e+00, -1.5602829925e+00, 7.9736358125e-01, 1.3515457585e+00, 4.2266771835e+00
2.1975000000e+00, -1.5497925406e+00, 7.8729946469e-01, 1.4068414325e+00, 5.0638834998e+00
2.2050000000e+00, -1.5390119863e+00, 7.7730014344e-01, 1.4643494037e+00, 5.4405468776e+00
2.2125000000e+00, -1.5285699319e+00, 7.6719935906e-01, 1.5034112406e+00, 6.4625759488e+00
2.2200000000e+00, -1.5171142294e+00, 7.5523221031e-01, 1.5589756465e+00, 7.9371988287e+00
2.2275000000e+00, -1.5035502256e+00, 7.3538620594e-01, 1.7201950942e+00, 1.3498598046e+01
2.2350000000e+00, -1.4910877356e+00, 7.1870979875e-01, 1.7818562021e+00, 2.0507727756e+01
2.2425000000e+00, -1.4776374137e+00, 6.9932284188e-01, 1.9029441484e+00, 2.2569586704e+01
2.2500000000e+00, -1.4636506756e+00, 6.7520944500e-01, 1.9715358853e+00, 3.3397397123e+01
2.2575000000e+00, -1.4498004187e+00, 6.5661284406e-01, 2.0279597161e+00, 3.1129033200e+01
2.2650000000e+00, -1.4317030163e+00, 6.0636967406e-01, 2.2454520636e+00, 6.2220582560e+01
2.2725000000e+00, -1.4147509600e+00, 5.6623702656e-01, 2.3519954807e+00, 7.6723434936e+01
2.2800000000e+00, -1.3968917619e+00, 5.1493388594e-01, 2.3328505260e+00, 8.9280561280e+01
2.2875000000e+00, -1.3791728538e+00, 4.6936874656e-01, 2.2624154006e+00, 9.4482771597e+01
2.2950000000e+00, -1.3621004525e+00, 4.1199624188e-01, 2.2062854440e+00, 1.0416939932e+02
2.3025000000e+00, -1.3458815494e+00, 3.6842100406e-01, 2.0855720994e+00, 1.0027555856e+02
2.3100000000e+00, -1.3308837706e+00, 3.2742871469e-01, 1.9522472057e+00, 9.4090337065e+01
2.3175000000e+00, -1.3158857756e+00, 2.8343087094e-01, 1.7976773482e+00, 8.3386605815e+01
2.3250000000e+00, -1.3036166513e+00, 2.6015766219e-01, 1.6843061082e+00, 7.5527393718e+01
2.3325000000e+00, -1.2922514694e+00, 2.3355912187e-01, 1.5553827112e+00, 6.4357603143e+01
2.3400000000e+00, -1.2804114387e+00, 2.1177449906e-01, 1.4768744131e+00, 5.6788424831e+01
2.3475000000e+00, -1.2691234206e+00, 1.8963526813e-01, 1.3907998757e+00, 4.6811613355e+01
2.3550000000e+00, -1.2595190206e+00, 1.8371780219e-01, 1.3492275159e+00, 4.4324984005e+01
2.3625000000e+00, -1.2491626106e+00, 1.6985965719e-01, 1.3084232730e+00, 3.9259174175e+01
2.3700000000e+00, -1.2402516969e+00, 1.6480554062e-01, 1.2540739089e+00, 3.6080819148e+01
2.3775000000e+00, -1.2306922350e+00, 1.5086369813e-01, 1.2400549904e+00, 3.1139240148e+01
2.3850000000e+00, -1.2213978969e+00, 1.4087769937e-01, 1.2043695902e+00, 2.8199665682e+01
2.3925000000e+00, -1.2127243256e+00, 1.3146204156e-01, 1.1581351182e+00, 2.4633682284e+01

View File

@ -0,0 +1,40 @@
2.2500000000e+00, -1.4630702471e+00, 6.7192087056e-01, 2.0363452841e+00, 4.0211670157e+01
2.2525000000e+00, -1.4582121657e+00, 6.6326711480e-01, 2.0668726472e+00, 4.3481585217e+01
2.2550000000e+00, -1.4523887132e+00, 6.4868430028e-01, 2.1579434204e+00, 5.4610605987e+01
2.2575000000e+00, -1.4471388202e+00, 6.3669143184e-01, 2.2032922918e+00, 6.1718440315e+01
2.2600000000e+00, -1.4420030878e+00, 6.2617642594e-01, 2.2497064538e+00, 6.8087493057e+01
2.2625000000e+00, -1.4366239505e+00, 6.1368608502e-01, 2.2772236026e+00, 7.3801328327e+01
2.2650000000e+00, -1.4302142018e+00, 5.9318813548e-01, 2.3618057524e+00, 9.0807426765e+01
2.2675000000e+00, -1.4240230340e+00, 5.7522511882e-01, 2.4014389200e+00, 1.0123871530e+02
2.2700000000e+00, -1.4184015060e+00, 5.6040772050e-01, 2.4352841697e+00, 1.0856964966e+02
2.2725000000e+00, -1.4120140744e+00, 5.4080363450e-01, 2.4564787945e+00, 1.1826287788e+02
2.2750000000e+00, -1.4065071278e+00, 5.2730015894e-01, 2.4533336318e+00, 1.1971260958e+02
2.2775000000e+00, -1.3988700427e+00, 4.9598705444e-01, 2.4764057996e+00, 1.3608523420e+02
2.2800000000e+00, -1.3946380122e+00, 4.8909316544e-01, 2.4672961961e+00, 1.3572838846e+02
2.2825000000e+00, -1.3867274572e+00, 4.5356647532e-01, 2.4397368512e+00, 1.5072953783e+02
2.2850000000e+00, -1.3820433281e+00, 4.4365303836e-01, 2.4372911810e+00, 1.5176852274e+02
2.2875000000e+00, -1.3757609391e+00, 4.2027366002e-01, 2.3834954652e+00, 1.5562267089e+02
2.2900000000e+00, -1.3699932680e+00, 4.0203585544e-01, 2.3131603185e+00, 1.5162759355e+02
2.2925000000e+00, -1.3642535463e+00, 3.8349139394e-01, 2.2598826478e+00, 1.4977060911e+02
2.2950000000e+00, -1.3582063025e+00, 3.6207195596e-01, 2.2086064984e+00, 1.4944093074e+02
2.2975000000e+00, -1.3525614743e+00, 3.3910567174e-01, 2.1307108996e+00, 1.4696613518e+02
2.3000000000e+00, -1.3474292698e+00, 3.2611322354e-01, 2.0739155399e+00, 1.4165341553e+02
2.3025000000e+00, -1.3428225612e+00, 3.1598743028e-01, 2.0286183499e+00, 1.3722197296e+02
2.3050000000e+00, -1.3374535926e+00, 2.9622499528e-01, 1.9470786910e+00, 1.2980932384e+02
2.3075000000e+00, -1.3326794948e+00, 2.7983419438e-01, 1.9077124475e+00, 1.2599658825e+02
2.3100000000e+00, -1.3279307203e+00, 2.6961650340e-01, 1.8513949483e+00, 1.1892030700e+02
2.3125000000e+00, -1.3234768880e+00, 2.5783263918e-01, 1.7961238310e+00, 1.1199143115e+02
2.3150000000e+00, -1.3194755980e+00, 2.4929885364e-01, 1.7683294099e+00, 1.0913079133e+02
2.3175000000e+00, -1.3148917972e+00, 2.3723529884e-01, 1.7139318242e+00, 1.0171914684e+02
2.3200000000e+00, -1.3103352147e+00, 2.2557032790e-01, 1.6722648266e+00, 9.5982268209e+01
2.3225000000e+00, -1.3062520882e+00, 2.1723973616e-01, 1.6310340538e+00, 8.8645618691e+01
2.3250000000e+00, -1.3023325482e+00, 2.1042942716e-01, 1.6120881189e+00, 8.5718374757e+01
2.3275000000e+00, -1.2985990209e+00, 2.0417547028e-01, 1.5713255852e+00, 8.1594412195e+01
2.3300000000e+00, -1.2941950522e+00, 1.9193825140e-01, 1.5307129909e+00, 7.5355739457e+01
2.3325000000e+00, -1.2906244587e+00, 1.8697928934e-01, 1.4989932079e+00, 7.1966188460e+01
2.3350000000e+00, -1.2870125099e+00, 1.8322859546e-01, 1.4942061983e+00, 6.9279191895e+01
2.3375000000e+00, -1.2832793088e+00, 1.7663095666e-01, 1.4726315260e+00, 6.6151512652e+01
2.3400000000e+00, -1.2796276076e+00, 1.7068684940e-01, 1.4428168254e+00, 6.2106112150e+01
2.3425000000e+00, -1.2758878378e+00, 1.6461664410e-01, 1.4149951896e+00, 5.7631104090e+01
2.3450000000e+00, -1.2724819006e+00, 1.5981982290e-01, 1.4050620274e+00, 5.5437469319e+01
2.3475000000e+00, -1.2689980268e+00, 1.5625960596e-01, 1.3783018367e+00, 5.2692111669e+01

View File

@ -0,0 +1,40 @@
2.2500000000e+00, -1.4760055140e+00, 7.2509120350e-01, 1.5488864049e+00, 5.1329182443e+00
2.2525000000e+00, -1.4714172380e+00, 7.1992093450e-01, 1.5620866656e+00, 5.3254079008e+00
2.2550000000e+00, -1.4683262850e+00, 7.1763960250e-01, 1.5614286662e+00, 5.3351527904e+00
2.2575000000e+00, -1.4634208760e+00, 7.1172882350e-01, 1.5819132445e+00, 5.5963010617e+00
2.2600000000e+00, -1.4597743530e+00, 7.0854952600e-01, 1.5860176062e+00, 5.6537789257e+00
2.2625000000e+00, -1.4559113170e+00, 7.0461177500e-01, 1.5934371372e+00, 5.7754050451e+00
2.2650000000e+00, -1.4518668450e+00, 7.0028335000e-01, 1.6006376094e+00, 5.9161190495e+00
2.2675000000e+00, -1.4473010200e+00, 6.9544615500e-01, 1.6134269827e+00, 6.0761377457e+00
2.2700000000e+00, -1.4439071380e+00, 6.9236370550e-01, 1.6172840717e+00, 6.1417450729e+00
2.2725000000e+00, -1.4396082710e+00, 6.8777897750e-01, 1.6187780564e+00, 6.2676907946e+00
2.2750000000e+00, -1.4360680090e+00, 6.8424494950e-01, 1.6275143935e+00, 6.3583625760e+00
2.2775000000e+00, -1.4319873050e+00, 6.7986104750e-01, 1.6295487833e+00, 6.4862127086e+00
2.2800000000e+00, -1.4281102440e+00, 6.7589725450e-01, 1.6351555326e+00, 6.5900988837e+00
2.2825000000e+00, -1.4232270850e+00, 6.7011312200e-01, 1.6438716931e+00, 6.7743108300e+00
2.2850000000e+00, -1.4197380570e+00, 6.6712843350e-01, 1.6412693279e+00, 6.7789734675e+00
2.2875000000e+00, -1.4149463980e+00, 6.6152106250e-01, 1.6483423299e+00, 6.9431250136e+00
2.2900000000e+00, -1.4110206200e+00, 6.5735840400e-01, 1.6567205579e+00, 7.0708677835e+00
2.2925000000e+00, -1.4069719780e+00, 6.5299557050e-01, 1.6563129403e+00, 7.1616848174e+00
2.2950000000e+00, -1.4025747220e+00, 6.4768442450e-01, 1.6636147082e+00, 7.3277432074e+00
2.2975000000e+00, -1.3985642270e+00, 6.4371117050e-01, 1.6610626967e+00, 7.3876691910e+00
2.3000000000e+00, -1.3953596710e+00, 6.4089173200e-01, 1.6582176255e+00, 7.4069447390e+00
2.3025000000e+00, -1.3905320880e+00, 6.3454862100e-01, 1.6647450820e+00, 7.5918129254e+00
2.3050000000e+00, -1.3867035410e+00, 6.3112727200e-01, 1.6640124455e+00, 7.6212441610e+00
2.3075000000e+00, -1.3817220780e+00, 6.2455321800e-01, 1.6648026695e+00, 7.8134297536e+00
2.3100000000e+00, -1.3788079300e+00, 6.2225659600e-01, 1.6608575168e+00, 7.7901860597e+00
2.3125000000e+00, -1.3740464170e+00, 6.1597296050e-01, 1.6665473514e+00, 7.9850814271e+00
2.3150000000e+00, -1.3700669540e+00, 6.1178907300e-01, 1.6628870986e+00, 8.0193582217e+00
2.3175000000e+00, -1.3653584450e+00, 6.0582096650e-01, 1.6607010865e+00, 8.1687998717e+00
2.3200000000e+00, -1.3611828270e+00, 6.0166864300e-01, 1.6570463236e+00, 8.1856660044e+00
2.3225000000e+00, -1.3573465490e+00, 5.9734529100e-01, 1.6601169469e+00, 8.2565492487e+00
2.3250000000e+00, -1.3532659120e+00, 5.9198527250e-01, 1.6557913077e+00, 8.3877987967e+00
2.3275000000e+00, -1.3486450920e+00, 5.8656245700e-01, 1.6522556919e+00, 8.4544932800e+00
2.3300000000e+00, -1.3447285410e+00, 5.8244512950e-01, 1.6498722504e+00, 8.4827382110e+00
2.3325000000e+00, -1.3410320410e+00, 5.7819664450e-01, 1.6421256177e+00, 8.5480698292e+00
2.3350000000e+00, -1.3356057200e+00, 5.7078220700e-01, 1.6396138328e+00, 8.6684933417e+00
2.3375000000e+00, -1.3323923130e+00, 5.6772693400e-01, 1.6325456425e+00, 8.6744612485e+00
2.3400000000e+00, -1.3281347240e+00, 5.6281297650e-01, 1.6298283458e+00, 8.7213690745e+00
2.3425000000e+00, -1.3244445090e+00, 5.5849605250e-01, 1.6264216352e+00, 8.7734106099e+00
2.3450000000e+00, -1.3201245210e+00, 5.5326361400e-01, 1.6172302519e+00, 8.8185734718e+00
2.3475000000e+00, -1.3169210760e+00, 5.5006444500e-01, 1.6080278323e+00, 8.8098820195e+00

View File

@ -0,0 +1,40 @@
2.2500000000e+00, -1.4658665675e+00, 6.9009827750e-01, 1.8282261494e+00, 1.4789258024e+01
2.2525000000e+00, -1.4621428187e+00, 6.8663684050e-01, 1.8234154744e+00, 1.4680857592e+01
2.2550000000e+00, -1.4563235665e+00, 6.7628268338e-01, 1.8789537988e+00, 1.6321934374e+01
2.2575000000e+00, -1.4520771750e+00, 6.7086651375e-01, 1.8784664262e+00, 1.6699166991e+01
2.2600000000e+00, -1.4481605930e+00, 6.6584882412e-01, 1.8929703283e+00, 1.7234434463e+01
2.2625000000e+00, -1.4429766945e+00, 6.5744341662e-01, 1.9114068264e+00, 1.8205340062e+01
2.2650000000e+00, -1.4376813635e+00, 6.4879445062e-01, 1.9362034284e+00, 1.9265359481e+01
2.2675000000e+00, -1.4331159547e+00, 6.4256763937e-01, 1.9396101059e+00, 1.9575769593e+01
2.2700000000e+00, -1.4278603807e+00, 6.3280855525e-01, 1.9643363473e+00, 2.0980657866e+01
2.2725000000e+00, -1.4237220365e+00, 6.2745456550e-01, 1.9670480683e+00, 2.1266083547e+01
2.2750000000e+00, -1.4184446575e+00, 6.1849765112e-01, 1.9817863554e+00, 2.2128060931e+01
2.2775000000e+00, -1.4133180445e+00, 6.0966742462e-01, 1.9912466042e+00, 2.3024760890e+01
2.2800000000e+00, -1.4088706427e+00, 6.0313045737e-01, 1.9927419592e+00, 2.3460754796e+01
2.2825000000e+00, -1.4031968317e+00, 5.9183430638e-01, 2.0103485986e+00, 2.4781218311e+01
2.2850000000e+00, -1.3984974605e+00, 5.8496842712e-01, 2.0021093770e+00, 2.4989678568e+01
2.2875000000e+00, -1.3929969167e+00, 5.7439402875e-01, 2.0126501937e+00, 2.6017679338e+01
2.2900000000e+00, -1.3882590802e+00, 5.6569784362e-01, 2.0183666113e+00, 2.6806981880e+01
2.2925000000e+00, -1.3835308192e+00, 5.5851043225e-01, 2.0129906857e+00, 2.7094883127e+01
2.2950000000e+00, -1.3782046672e+00, 5.4769430612e-01, 2.0161176652e+00, 2.8132369135e+01
2.2975000000e+00, -1.3733293087e+00, 5.3922661138e-01, 2.0025440595e+00, 2.8316677686e+01
2.3000000000e+00, -1.3682134597e+00, 5.2967689825e-01, 1.9984977821e+00, 2.8928314364e+01
2.3025000000e+00, -1.3629695397e+00, 5.2046633750e-01, 1.9906389108e+00, 2.9252353990e+01
2.3050000000e+00, -1.3576109607e+00, 5.0880111587e-01, 1.9815946997e+00, 2.9924988472e+01
2.3075000000e+00, -1.3528662940e+00, 5.0069343275e-01, 1.9715398454e+00, 3.0257695374e+01
2.3100000000e+00, -1.3479972442e+00, 4.9168239337e-01, 1.9499792058e+00, 3.0301814684e+01
2.3125000000e+00, -1.3433033492e+00, 4.8366435562e-01, 1.9313170675e+00, 3.0328343860e+01
2.3150000000e+00, -1.3386833770e+00, 4.7494896562e-01, 1.9186483628e+00, 3.0614588090e+01
2.3175000000e+00, -1.3337247107e+00, 4.6585841338e-01, 1.8860457394e+00, 3.0587309382e+01
2.3200000000e+00, -1.3294610497e+00, 4.5910357150e-01, 1.8803003421e+00, 3.0443803709e+01
2.3225000000e+00, -1.3241378272e+00, 4.4769015850e-01, 1.8581981495e+00, 3.0709456585e+01
2.3250000000e+00, -1.3203120975e+00, 4.4169210625e-01, 1.8370693872e+00, 3.0533840288e+01
2.3275000000e+00, -1.3151801413e+00, 4.3053093025e-01, 1.8099161544e+00, 3.0585310804e+01
2.3300000000e+00, -1.3106553332e+00, 4.2269544125e-01, 1.7865449716e+00, 3.0233175672e+01
2.3325000000e+00, -1.3062069510e+00, 4.1444754362e-01, 1.7664171308e+00, 3.0174530157e+01
2.3350000000e+00, -1.3015074315e+00, 4.0494823625e-01, 1.7438755272e+00, 2.9965529281e+01
2.3375000000e+00, -1.2983139277e+00, 4.0227484025e-01, 1.7287481683e+00, 2.9545894598e+01
2.3400000000e+00, -1.2933758297e+00, 3.9021917612e-01, 1.6931434207e+00, 2.9468103538e+01
2.3425000000e+00, -1.2887251920e+00, 3.8213979275e-01, 1.6634708845e+00, 2.8959052031e+01
2.3450000000e+00, -1.2848995045e+00, 3.7551329362e-01, 1.6463099981e+00, 2.8680856811e+01
2.3475000000e+00, -1.2809898222e+00, 3.6910969900e-01, 1.6242627476e+00, 2.8343736797e+01

View File

@ -0,0 +1,40 @@
2.2500000000e+00, -1.4642122962e+00, 6.7994580367e-01, 1.9335707123e+00, 2.4195892448e+01
2.2525000000e+00, -1.4588191130e+00, 6.6989363667e-01, 1.9807253534e+00, 2.6957921223e+01
2.2550000000e+00, -1.4547455032e+00, 6.6414331111e-01, 1.9944127882e+00, 2.7782971173e+01
2.2575000000e+00, -1.4491231267e+00, 6.5366403422e-01, 2.0323188517e+00, 2.9924756599e+01
2.2600000000e+00, -1.4442960393e+00, 6.4578597656e-01, 2.0373247646e+00, 3.1067582765e+01
2.2625000000e+00, -1.4382781976e+00, 6.3109283283e-01, 2.1082209318e+00, 3.6567781596e+01
2.2650000000e+00, -1.4336508323e+00, 6.2323950639e-01, 2.1148708559e+00, 3.7889353519e+01
2.2675000000e+00, -1.4283239760e+00, 6.1342637917e-01, 2.1266849714e+00, 3.9037123673e+01
2.2700000000e+00, -1.4236147338e+00, 6.0508616078e-01, 2.1583202272e+00, 4.0774167180e+01
2.2725000000e+00, -1.4173105967e+00, 5.8906219606e-01, 2.1876748233e+00, 4.5479634100e+01
2.2750000000e+00, -1.4119935662e+00, 5.7853414667e-01, 2.1952381492e+00, 4.7194662621e+01
2.2775000000e+00, -1.4066663738e+00, 5.6665659378e-01, 2.2077291633e+00, 4.9384301331e+01
2.2800000000e+00, -1.4010864314e+00, 5.5433652700e-01, 2.2067872858e+00, 5.0856062627e+01
2.2825000000e+00, -1.3954072743e+00, 5.4091683089e-01, 2.2166830196e+00, 5.3886117763e+01
2.2850000000e+00, -1.3899328958e+00, 5.2855233850e-01, 2.2109157176e+00, 5.5291160779e+01
2.2875000000e+00, -1.3837404016e+00, 5.1147773006e-01, 2.2060599590e+00, 5.8408761001e+01
2.2900000000e+00, -1.3781779352e+00, 4.9739228233e-01, 2.2027462418e+00, 5.9930065470e+01
2.2925000000e+00, -1.3736503641e+00, 4.8916883578e-01, 2.1766282284e+00, 6.0261322963e+01
2.2950000000e+00, -1.3677078719e+00, 4.7330444556e-01, 2.1693963807e+00, 6.1602596036e+01
2.2975000000e+00, -1.3628985669e+00, 4.6426149572e-01, 2.1452409557e+00, 6.1464993936e+01
2.3000000000e+00, -1.3572950958e+00, 4.4965298467e-01, 2.1246189018e+00, 6.2672740860e+01
2.3025000000e+00, -1.3516640627e+00, 4.3448786589e-01, 2.0864856772e+00, 6.2919171660e+01
2.3050000000e+00, -1.3464162742e+00, 4.2218848556e-01, 2.0569484110e+00, 6.2376525051e+01
2.3075000000e+00, -1.3417831320e+00, 4.1229483900e-01, 2.0193740991e+00, 6.1622409737e+01
2.3100000000e+00, -1.3362589748e+00, 3.9662230433e-01, 1.9882937826e+00, 6.2021272068e+01
2.3125000000e+00, -1.3319032623e+00, 3.8857178539e-01, 1.9495480437e+00, 6.0884525815e+01
2.3150000000e+00, -1.3266427903e+00, 3.7574982106e-01, 1.9127757171e+00, 6.0188079919e+01
2.3175000000e+00, -1.3225805261e+00, 3.6817130944e-01, 1.8856939938e+00, 5.9104598205e+01
2.3200000000e+00, -1.3175313667e+00, 3.5494466689e-01, 1.8487808089e+00, 5.8401929288e+01
2.3225000000e+00, -1.3127606597e+00, 3.4192928189e-01, 1.8057779680e+00, 5.7378930979e+01
2.3250000000e+00, -1.3080522071e+00, 3.3208573139e-01, 1.7641198391e+00, 5.5629081184e+01
2.3275000000e+00, -1.3037944498e+00, 3.2255109967e-01, 1.7338444351e+00, 5.4587605817e+01
2.3300000000e+00, -1.2992621244e+00, 3.1258479567e-01, 1.6932086611e+00, 5.2751776087e+01
2.3325000000e+00, -1.2955636976e+00, 3.0652652594e-01, 1.6635455939e+00, 5.1682828184e+01
2.3350000000e+00, -1.2910547050e+00, 2.9543416611e-01, 1.6227840705e+00, 4.9636089234e+01
2.3375000000e+00, -1.2877701480e+00, 2.9247670172e-01, 1.6066422830e+00, 4.8910602467e+01
2.3400000000e+00, -1.2834463977e+00, 2.8332831728e-01, 1.5748113907e+00, 4.7252385941e+01
2.3425000000e+00, -1.2795578357e+00, 2.7449714039e-01, 1.5407943555e+00, 4.5834386692e+01
2.3450000000e+00, -1.2754067316e+00, 2.6571358072e-01, 1.5132503455e+00, 4.4201008724e+01
2.3475000000e+00, -1.2720557306e+00, 2.6089525606e-01, 1.4886165165e+00, 4.2996278036e+01

View File

@ -0,0 +1,40 @@
2.2500000000e+00, -1.4631811785e+00, 6.7398407534e-01, 2.0096491323e+00, 3.2923111764e+01
2.2525000000e+00, -1.4585874794e+00, 6.6613729503e-01, 2.0338508471e+00, 3.5718745197e+01
2.2550000000e+00, -1.4538329174e+00, 6.5819939150e-01, 2.0536049316e+00, 3.7496823262e+01
2.2575000000e+00, -1.4479207612e+00, 6.4446161062e-01, 2.1116907388e+00, 4.3164593615e+01
2.2600000000e+00, -1.4422029162e+00, 6.2990890313e-01, 2.1905541146e+00, 5.2676717813e+01
2.2625000000e+00, -1.4363526062e+00, 6.1564587419e-01, 2.2365605276e+00, 5.8775246745e+01
2.2650000000e+00, -1.4317779706e+00, 6.0741634762e-01, 2.2490609596e+00, 6.0297189148e+01
2.2675000000e+00, -1.4260911044e+00, 5.9480573522e-01, 2.2596678581e+00, 6.4467098827e+01
2.2700000000e+00, -1.4206095042e+00, 5.8201793950e-01, 2.2864923912e+00, 6.8497706170e+01
2.2725000000e+00, -1.4140089323e+00, 5.6265936150e-01, 2.3279169527e+00, 7.6977731449e+01
2.2750000000e+00, -1.4079992252e+00, 5.4524403075e-01, 2.3703005464e+00, 8.4185914361e+01
2.2775000000e+00, -1.4017046041e+00, 5.2568029716e-01, 2.3732372275e+00, 9.1024691361e+01
2.2800000000e+00, -1.3975350481e+00, 5.2113203306e-01, 2.3543987425e+00, 8.7330915293e+01
2.2825000000e+00, -1.3910354120e+00, 5.0042143784e-01, 2.3579342756e+00, 9.3965131923e+01
2.2850000000e+00, -1.3846384367e+00, 4.7965986969e-01, 2.3511051154e+00, 9.9030416283e+01
2.2875000000e+00, -1.3786805619e+00, 4.6288075194e-01, 2.3214343427e+00, 1.0015455240e+02
2.2900000000e+00, -1.3728631380e+00, 4.4354797547e-01, 2.2977622632e+00, 1.0441100615e+02
2.2925000000e+00, -1.3681270040e+00, 4.3523919316e-01, 2.2585729849e+00, 1.0107312359e+02
2.2950000000e+00, -1.3624504602e+00, 4.1673254603e-01, 2.2389047831e+00, 1.0403363863e+02
2.2975000000e+00, -1.3565953786e+00, 3.9838756094e-01, 2.1824829900e+00, 1.0383821824e+02
2.3000000000e+00, -1.3511819856e+00, 3.8332719588e-01, 2.1263252655e+00, 1.0201495996e+02
2.3025000000e+00, -1.3459750036e+00, 3.6852182503e-01, 2.0584668387e+00, 9.9043185844e+01
2.3050000000e+00, -1.3410449433e+00, 3.5529420228e-01, 2.0233641780e+00, 9.8051738051e+01
2.3075000000e+00, -1.3356380574e+00, 3.3821511019e-01, 1.9765817132e+00, 9.6610908663e+01
2.3100000000e+00, -1.3312335792e+00, 3.2791911334e-01, 1.9482717900e+00, 9.3938812725e+01
2.3125000000e+00, -1.3265281407e+00, 3.1650024103e-01, 1.8866108078e+00, 9.0745642785e+01
2.3150000000e+00, -1.3213570816e+00, 3.0165088591e-01, 1.8328587933e+00, 8.6773821212e+01
2.3175000000e+00, -1.3169661819e+00, 2.9025108787e-01, 1.7849045063e+00, 8.3756495749e+01
2.3200000000e+00, -1.3123531422e+00, 2.7861143534e-01, 1.7532314462e+00, 8.0700260422e+01
2.3225000000e+00, -1.3081331530e+00, 2.6924682031e-01, 1.6993863803e+00, 7.7356207676e+01
2.3250000000e+00, -1.3039487514e+00, 2.6017408491e-01, 1.6719621986e+00, 7.4762050132e+01
2.3275000000e+00, -1.3001743636e+00, 2.5394626256e-01, 1.6411234741e+00, 7.1864351455e+01
2.3300000000e+00, -1.2954729226e+00, 2.4022551831e-01, 1.5937347320e+00, 6.7652303476e+01
2.3325000000e+00, -1.2918274963e+00, 2.3413760969e-01, 1.5608875327e+00, 6.4537229062e+01
2.3350000000e+00, -1.2883449654e+00, 2.2984127650e-01, 1.5380256275e+00, 6.3247579985e+01
2.3375000000e+00, -1.2842525830e+00, 2.2127140538e-01, 1.5096960822e+00, 6.0113946712e+01
2.3400000000e+00, -1.2803538262e+00, 2.1303147959e-01, 1.4843229112e+00, 5.7133039949e+01
2.3425000000e+00, -1.2767572134e+00, 2.0771398800e-01, 1.4554302732e+00, 5.4780330832e+01
2.3450000000e+00, -1.2730700894e+00, 2.0096379172e-01, 1.4347401282e+00, 5.1677318731e+01
2.3475000000e+00, -1.2695535104e+00, 1.9664818894e-01, 1.4155735395e+00, 5.0309401513e+01

43
src/main.cpp Normal file
View File

@ -0,0 +1,43 @@
/** @file main.cpp
*
* @author Cory Alexander Balaton (coryab)
* @author Janita Ovidie Sandtrøen Willumsen (janitaws)
*
* @version 0.1
*
* @brief The main program
*
* @bug No known bugs
* */
#include "monte_carlo.hpp"
#include "utils.hpp"
#include <iostream>
#include <omp.h>
/** @brief The main function.*/
int main()
{
// uint test_cycles = test_2x2_lattice(1e-7, 10000);
// monte_carlo(1.0, 2, 10000, "output/2_lattice_test.txt");
// Test burn-in time
monte_carlo_progression(1.0, 20, 10000, "output/burn_in_time_1_0.txt");
monte_carlo_progression(2.4, 20, 10000, "output/burn_in_time_2_4.txt");
// Test the openmp speedup
double t0, t1, t2;
t0 = omp_get_wtime();
phase_transition(20, 2.1, 2.4, 1000, monte_carlo_serial,
"output/phase_transition/size_20.txt");
t1 = omp_get_wtime();
phase_transition(20, 2.1, 2.4, 1000, monte_carlo_parallel,
"output/phase_transition/size_20.txt");
t2 = omp_get_wtime();
std::cout << "Time serial : " << t1 - t0 << " seconds" << '\n';
std::cout << "Time parallel : " << t2 - t1 << " seconds" << '\n';
std::cout << "Speedup parallel: " << (t1 - t0) / (t2 - t1) << '\n';
return 0;
}

195
src/monte_carlo.cpp Normal file
View File

@ -0,0 +1,195 @@
/** @file monte_carlo.cpp
*
* @author Cory Alexander Balaton (coryab)
* @author Janita Ovidie Sandtrøen Willumsen (janitaws)
*
* @version 1.0
*
* @brief Implementation of the monte carlo functions
*
* @bug No known bugs
* */
#include "monte_carlo.hpp"
uint test_2x2_lattice(double tol, uint max_cycles)
{
data_t data, tmp;
size_t L = 2;
size_t n_spins = L * L;
double T = 1.;
size_t cycles = 0;
// Create random engine using the mersenne twister
std::random_device rd;
std::mt19937 engine(rd());
IsingModel test(L, T);
double E, M;
std::function<bool(double, double)> is_close = [tol](double a, double b) {
return std::abs(a - b) < tol;
};
// Loop through cycles
while (cycles++ < max_cycles) {
data += test.Metropolis(engine);
tmp = data / (cycles * n_spins);
// if (close(EPS_2, tmp.E)
//&& close(MAG_2, tmp.M)
//&& close(CV_2, (tmp.E2 - tmp.E * tmp.E) / (T * T))
//&& close(X_2, (tmp.M2 - tmp.M_abs * tmp.M_abs) / T)) {
// return cycles;
//}
if (is_close(EPS_2, tmp.E) && is_close(MAG_2, tmp.M)) {
return cycles;
}
}
std::cout << "hello" << std::endl;
return 0;
}
void monte_carlo_progression(double T, uint L, uint cycles,
const std::string filename)
{
// Set some variables
data_t data, tmp;
uint n_spins = L * L;
// File stuff
std::string directory = utils::dirname(filename);
std::ofstream ofile;
// Create random engine using the mersenne twister
std::random_device rd;
std::mt19937 engine(rd());
IsingModel ising(L, T);
// Create path and open file
utils::mkpath(directory);
ofile.open(filename);
// Loop through cycles
for (size_t i = 1; i <= cycles; i++) {
data += ising.Metropolis(engine);
tmp = data / (i * n_spins);
ofile << i << ',' << tmp.E << ',' << tmp.E2 << ',' << tmp.M << ','
<< tmp.M2 << ',' << tmp.M_abs << '\n';
}
ofile.close();
}
void pd_estimate(double T, uint L, uint cycles, const std::string filename)
{
// Set some variables
data_t data;
uint n_spins = L * L;
// File stuff
std::string directory = utils::dirname(filename);
std::ofstream ofile;
// Create random engine using the mersenne twister
std::random_device rd;
std::mt19937 engine(rd());
IsingModel ising(L, T);
// Create path and open file
utils::mkpath(directory);
ofile.open(filename);
double E, M;
// Figure out bin widths and such
}
// Code for seeing phase transitions.
void monte_carlo_serial(data_t &data, uint L, double T, uint cycles)
{
IsingModel model(L, T);
// Create random engine using the mersenne twister
std::random_device rd;
std::mt19937 engine(rd());
for (size_t i = 0; i < BURN_IN_TIME; i++) {
model.Metropolis(engine);
}
for (size_t i = 0; i < cycles; i++) {
data += model.Metropolis(engine);
}
data /= cycles;
}
void monte_carlo_parallel(data_t &data, uint L, double T, uint cycles)
{
#pragma omp parallel
{
// Each thread creates an instance of IsingModel.
IsingModel model(L, T);
// Each thread creates an instance of the mersenne twister
std::random_device rd;
std::mt19937 engine(rd());
data_t tmp;
// Each thread runs the Metropolis algorithm before starting to collect
// samples
for (size_t i = 0; i < BURN_IN_TIME; i++) {
model.Metropolis(engine);
}
// Now each thread work on one loop together, but using their own
// instances of things, but the total of cycles add up.
// static ensure that each thread gets the same amount of iterations
#pragma omp for schedule(static)
for (size_t i = 0; i < cycles; i++) {
tmp = tmp + model.Metropolis(engine);
}
// Combine all the data.
#pragma omp critical
{
data += tmp;
}
}
data /= cycles;
}
void phase_transition(
uint L, double start_T, double end_T, uint points_T,
std::function<void(data_t &, uint, double, uint)> monte_carlo,
std::string outfile)
{
double dt_T = (end_T - start_T) / points_T;
uint cycles = 10000;
uint N = L * L;
std::ofstream ofile;
data_t data[points_T];
for (size_t i = 0; i < points_T; i++) {
monte_carlo(data[i], L, start_T + dt_T * i, cycles);
}
utils::mkpath(utils::dirname(outfile));
ofile.open(outfile);
double temp, CV, X;
using utils::scientific_format;
for (size_t i = 0; i < points_T; i++) {
temp = start_T + dt_T * i;
CV = (data[i].E2 - data[i].E * data[i].E) / (N * temp * temp);
X = (data[i].M2 - data[i].M_abs * data[i].M_abs) / (N * temp);
ofile << scientific_format(temp) << ','
<< scientific_format(data[i].E / N) << ','
<< scientific_format(data[i].M_abs / N) << ','
<< scientific_format(CV) << ',' << scientific_format(X) << '\n';
}
ofile.close();
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,20 @@
2.1000000000e+00, -1.6430520000e+00, 7.7473400000e-01, 1.6535122358e+00, 1.7265302497e+02
2.1100000000e+00, -1.6516480000e+00, 8.6467000000e-01, 8.7186742436e-01, 1.0421056872e+00
2.1200000000e+00, -1.6270200000e+00, 8.0407000000e-01, 2.7887602350e+00, 8.3555593868e+01
2.1300000000e+00, -1.5994120000e+00, 6.7194400000e-01, 4.3729133461e+00, 2.6185272143e+02
2.1400000000e+00, -1.6217640000e+00, 8.3655000000e-01, 9.9463775002e-01, 4.2131976636e+00
2.1500000000e+00, -1.5937360000e+00, 7.0996800000e-01, 2.4162040108e+00, 3.4357462593e+02
2.1600000000e+00, -1.5761360000e+00, 7.3020000000e-01, 2.6656805213e+00, 1.6620343333e+02
2.1700000000e+00, -1.5729480000e+00, 6.7936000000e-01, 1.7718118796e+00, 3.3487288848e+02
2.1800000000e+00, -1.5582320000e+00, 6.3931200000e-01, 2.2734462082e+00, 3.9228516081e+02
2.1900000000e+00, -1.5503080000e+00, 7.4721400000e-01, 2.0228292488e+00, 1.5073709317e+02
2.2000000000e+00, -1.5352080000e+00, 6.2459400000e-01, 3.3548428430e+00, 3.1016489620e+02
2.2100000000e+00, -1.5187040000e+00, 7.0442400000e-01, 2.5744935280e+00, 8.1006035403e+01
2.2200000000e+00, -1.5132120000e+00, 6.6437400000e-01, 1.4477685577e+00, 2.0499570686e+02
2.2300000000e+00, -1.4990000000e+00, 6.7951600000e-01, 2.6845824368e+00, 1.0561703383e+02
2.2400000000e+00, -1.4805520000e+00, 6.8579600000e-01, 2.8442715561e+00, 4.0452682071e+01
2.2500000000e+00, -1.4575960000e+00, 6.6534400000e-01, 1.4885641165e+00, 4.4587630507e+01
2.2600000000e+00, -1.4503840000e+00, 6.3443200000e-01, 2.5192570757e+00, 5.8918802549e+01
2.2700000000e+00, -1.4075120000e+00, 5.4128400000e-01, 3.7187701217e+00, 8.3216885216e+01
2.2800000000e+00, -1.3916480000e+00, 4.2257200000e-01, 2.0701156048e+00, 1.6466588428e+02
2.2900000000e+00, -1.3798040000e+00, 4.5941000000e-01, 1.8364165138e+00, 1.4511618297e+02

View File

@ -0,0 +1,40 @@
2.1000000000e+00, -1.6625156400e+00, 8.6910133000e-01, 9.5696304357e-01, 9.4913259852e-01
2.1075000000e+00, -1.6554401200e+00, 8.6484241000e-01, 9.8226993247e-01, 1.0178323351e+00
2.1150000000e+00, -1.6470453600e+00, 8.5922299000e-01, 1.0221041779e+00, 1.1775457977e+00
2.1225000000e+00, -1.6386650600e+00, 8.5492499000e-01, 1.0355690437e+00, 1.1699614838e+00
2.1300000000e+00, -1.6306238000e+00, 8.4866520000e-01, 1.0759872577e+00, 1.4500484899e+00
2.1375000000e+00, -1.6240600800e+00, 8.4567939000e-01, 1.0825692342e+00, 1.3974233224e+00
2.1450000000e+00, -1.6131636800e+00, 8.3678164000e-01, 1.1422199470e+00, 1.7791537825e+00
2.1525000000e+00, -1.6077274400e+00, 8.3640880000e-01, 1.1129383548e+00, 1.4676026170e+00
2.1600000000e+00, -1.6000611800e+00, 8.2985937000e-01, 1.1585460611e+00, 1.8289667728e+00
2.1675000000e+00, -1.5884657200e+00, 8.1965183000e-01, 1.2165947128e+00, 2.2642538275e+00
2.1750000000e+00, -1.5795650400e+00, 8.1403904000e-01, 1.2330982912e+00, 2.2661363229e+00
2.1825000000e+00, -1.5697331000e+00, 8.0542012000e-01, 1.2837252582e+00, 2.7128540296e+00
2.1900000000e+00, -1.5630710600e+00, 8.0289440000e-01, 1.2742009541e+00, 2.4972906573e+00
2.1975000000e+00, -1.5531626800e+00, 7.9552304000e-01, 1.3002667168e+00, 2.6933828130e+00
2.2050000000e+00, -1.5420299000e+00, 7.8440265000e-01, 1.3613775582e+00, 3.2860629339e+00
2.2125000000e+00, -1.5301128800e+00, 7.7433883000e-01, 1.3870305740e+00, 3.5248225816e+00
2.2200000000e+00, -1.5199860800e+00, 7.6495144000e-01, 1.4371483651e+00, 3.9440153589e+00
2.2275000000e+00, -1.5112876400e+00, 7.5936574000e-01, 1.4282841390e+00, 3.9059652730e+00
2.2350000000e+00, -1.4987811400e+00, 7.4736039000e-01, 1.4805200551e+00, 4.4067690933e+00
2.2425000000e+00, -1.4877502600e+00, 7.3644173000e-01, 1.5208932156e+00, 4.7639126447e+00
2.2500000000e+00, -1.4775453200e+00, 7.2605359000e-01, 1.5527163375e+00, 5.1987228619e+00
2.2575000000e+00, -1.4666540200e+00, 7.1811029000e-01, 1.5612536957e+00, 5.1929811112e+00
2.2650000000e+00, -1.4539513600e+00, 7.0484040000e-01, 1.5723571698e+00, 5.5184202610e+00
2.2725000000e+00, -1.4367662000e+00, 6.8174252000e-01, 1.6512021639e+00, 6.6492140328e+00
2.2800000000e+00, -1.4294025000e+00, 6.7859838000e-01, 1.6270371494e+00, 6.4012406073e+00
2.2875000000e+00, -1.4169279000e+00, 6.6525245000e-01, 1.6428448249e+00, 6.7543798591e+00
2.2950000000e+00, -1.3996755800e+00, 6.4290059000e-01, 1.6663740272e+00, 7.4794676998e+00
2.3025000000e+00, -1.3898972200e+00, 6.3332714000e-01, 1.6668693759e+00, 7.6239716203e+00
2.3100000000e+00, -1.3765670800e+00, 6.1751829000e-01, 1.6814152554e+00, 8.0793865048e+00
2.3175000000e+00, -1.3673885200e+00, 6.1048156000e-01, 1.6719530236e+00, 7.9834325092e+00
2.3250000000e+00, -1.3507194000e+00, 5.8849663000e-01, 1.6540478234e+00, 8.4400616479e+00
2.3325000000e+00, -1.3419322000e+00, 5.8003772000e-01, 1.6505290982e+00, 8.5347441419e+00
2.3400000000e+00, -1.3301354400e+00, 5.6658683000e-01, 1.6287723907e+00, 8.6290573881e+00
2.3475000000e+00, -1.3159556000e+00, 5.4850347000e-01, 1.6009764633e+00, 8.8155796120e+00
2.3550000000e+00, -1.3036089400e+00, 5.3375286000e-01, 1.5907684622e+00, 8.8937461302e+00
2.3625000000e+00, -1.2925638800e+00, 5.2118845000e-01, 1.5540934272e+00, 8.9793123448e+00
2.3700000000e+00, -1.2796754000e+00, 5.0464912000e-01, 1.5219544044e+00, 8.9277036259e+00
2.3775000000e+00, -1.2694211200e+00, 4.9138599000e-01, 1.4960472939e+00, 9.0412768003e+00
2.3850000000e+00, -1.2580858000e+00, 4.8003279000e-01, 1.4819905639e+00, 8.9047058742e+00
2.3925000000e+00, -1.2454207000e+00, 4.6279792000e-01, 1.4270988627e+00, 8.9721031463e+00

View File

@ -0,0 +1,40 @@
2.1000000000e+00, -1.6622797350e+00, 8.6877407250e-01, 9.5567806651e-01, 9.8147697992e-01
2.1075000000e+00, -1.6547305950e+00, 8.6450518000e-01, 9.9535412470e-01, 1.0304271388e+00
2.1150000000e+00, -1.6461610400e+00, 8.5798441750e-01, 1.0352652008e+00, 1.6124922452e+00
2.1225000000e+00, -1.6396024000e+00, 8.5557728250e-01, 1.0354923754e+00, 1.1988364979e+00
2.1300000000e+00, -1.6316293500e+00, 8.5005824750e-01, 1.0732217395e+00, 1.4119685195e+00
2.1375000000e+00, -1.6236286050e+00, 8.4517540750e-01, 1.0769820154e+00, 1.4710966393e+00
2.1450000000e+00, -1.6153820150e+00, 8.3946159500e-01, 1.1271921720e+00, 1.6687002201e+00
2.1525000000e+00, -1.6068065100e+00, 8.3363872250e-01, 1.1495976711e+00, 1.8247675553e+00
2.1600000000e+00, -1.5978354200e+00, 8.2731076750e-01, 1.1853606459e+00, 2.0545214633e+00
2.1675000000e+00, -1.5892344450e+00, 8.2106255750e-01, 1.2130300272e+00, 2.3787017160e+00
2.1750000000e+00, -1.5796918500e+00, 8.1345822000e-01, 1.2545220874e+00, 2.7583825623e+00
2.1825000000e+00, -1.5688456550e+00, 8.0330364250e-01, 1.3218301637e+00, 3.4393726593e+00
2.1900000000e+00, -1.5609628600e+00, 7.9828227000e-01, 1.3372447866e+00, 3.5269845643e+00
2.1975000000e+00, -1.5504653650e+00, 7.8927257750e-01, 1.3776628756e+00, 4.0468001481e+00
2.2050000000e+00, -1.5400715600e+00, 7.7925900250e-01, 1.4439659127e+00, 4.9865313475e+00
2.2125000000e+00, -1.5272054350e+00, 7.6240370500e-01, 1.5571481687e+00, 7.9591108355e+00
2.2200000000e+00, -1.5173578050e+00, 7.5578622500e-01, 1.5363018077e+00, 6.6462064867e+00
2.2275000000e+00, -1.5055947800e+00, 7.4214450000e-01, 1.6226908081e+00, 9.1970975406e+00
2.2350000000e+00, -1.4915661700e+00, 7.2487094000e-01, 1.6677105232e+00, 1.0608417150e+01
2.2425000000e+00, -1.4789497150e+00, 7.0510204750e-01, 1.7972172744e+00, 1.3850190623e+01
2.2500000000e+00, -1.4653741350e+00, 6.8869280000e-01, 1.8388319480e+00, 1.4921830171e+01
2.2575000000e+00, -1.4528484650e+00, 6.7231492250e-01, 1.8477513072e+00, 1.6530581320e+01
2.2650000000e+00, -1.4402261650e+00, 6.5936857000e-01, 1.8590357068e+00, 1.6063067017e+01
2.2725000000e+00, -1.4222563800e+00, 6.2293262000e-01, 1.9992421791e+00, 2.1840352266e+01
2.2800000000e+00, -1.4063347400e+00, 5.9406071750e-01, 1.9987254060e+00, 2.4950922905e+01
2.2875000000e+00, -1.3921083000e+00, 5.7001746250e-01, 1.9905529154e+00, 2.6920791872e+01
2.2950000000e+00, -1.3772602300e+00, 5.4192346250e-01, 2.0345936571e+00, 2.9461147831e+01
2.3025000000e+00, -1.3592291000e+00, 5.0487428250e-01, 2.0080249573e+00, 3.1399705871e+01
2.3100000000e+00, -1.3468006600e+00, 4.8679404500e-01, 1.9730349202e+00, 3.0775650777e+01
2.3175000000e+00, -1.3299259700e+00, 4.5233827000e-01, 1.8829556161e+00, 3.1147148449e+01
2.3250000000e+00, -1.3214973550e+00, 4.4813110500e-01, 1.8562140409e+00, 2.9824762701e+01
2.3325000000e+00, -1.3084303850e+00, 4.2212242000e-01, 1.7521801514e+00, 2.9896121339e+01
2.3400000000e+00, -1.2917741050e+00, 3.8334075250e-01, 1.6829510451e+00, 2.9354634676e+01
2.3475000000e+00, -1.2818705700e+00, 3.7399742250e-01, 1.6087852604e+00, 2.8047210836e+01
2.3550000000e+00, -1.2669429100e+00, 3.3850521000e-01, 1.5316803298e+00, 2.7053230647e+01
2.3625000000e+00, -1.2598714700e+00, 3.3718502250e-01, 1.5074030363e+00, 2.6352567952e+01
2.3700000000e+00, -1.2463587450e+00, 3.0685811250e-01, 1.4058337089e+00, 2.4345645377e+01
2.3775000000e+00, -1.2369106000e+00, 2.9851349500e-01, 1.3690730713e+00, 2.3087640376e+01
2.3850000000e+00, -1.2253778200e+00, 2.8001894250e-01, 1.3225881964e+00, 2.1903217225e+01
2.3925000000e+00, -1.2169469200e+00, 2.6822913000e-01, 1.2553704384e+00, 1.9769545898e+01

View File

@ -0,0 +1,40 @@
2.1000000000e+00, -1.6621962911e+00, 8.6890925778e-01, 9.5361152667e-01, 9.6223269193e-01
2.1075000000e+00, -1.6547459578e+00, 8.6449425444e-01, 9.8692347472e-01, 1.0104256857e+00
2.1150000000e+00, -1.6475410489e+00, 8.6023612667e-01, 1.0118054584e+00, 1.1740863563e+00
2.1225000000e+00, -1.6400448356e+00, 8.5576667556e-01, 1.0350543921e+00, 1.2036969150e+00
2.1300000000e+00, -1.6319048667e+00, 8.5070053556e-01, 1.0622139632e+00, 1.2823294407e+00
2.1375000000e+00, -1.6235323867e+00, 8.4513149333e-01, 1.0872419951e+00, 1.4795693530e+00
2.1450000000e+00, -1.6149848378e+00, 8.3908183222e-01, 1.1321425521e+00, 1.7639898731e+00
2.1525000000e+00, -1.6067640178e+00, 8.3358287667e-01, 1.1574935239e+00, 1.9329959753e+00
2.1600000000e+00, -1.5981387822e+00, 8.2712448667e-01, 1.1842116764e+00, 2.2857671701e+00
2.1675000000e+00, -1.5887297267e+00, 8.2039500778e-01, 1.2250102668e+00, 2.3216363394e+00
2.1750000000e+00, -1.5792858200e+00, 8.1215292667e-01, 1.2809102889e+00, 3.2976581364e+00
2.1825000000e+00, -1.5698999178e+00, 8.0543515444e-01, 1.2897499082e+00, 3.0689600517e+00
2.1900000000e+00, -1.5595909889e+00, 7.9334455889e-01, 1.4022144335e+00, 7.1916263997e+00
2.1975000000e+00, -1.5500973267e+00, 7.8910716778e-01, 1.3834378075e+00, 3.9131182050e+00
2.2050000000e+00, -1.5389720533e+00, 7.7785239556e-01, 1.4395003068e+00, 4.7871676535e+00
2.2125000000e+00, -1.5274289600e+00, 7.6295899222e-01, 1.5640821055e+00, 8.4400925392e+00
2.2200000000e+00, -1.5169899867e+00, 7.5402749778e-01, 1.5893465700e+00, 8.6577275955e+00
2.2275000000e+00, -1.5033868644e+00, 7.3668809111e-01, 1.6686859867e+00, 1.1255544331e+01
2.2350000000e+00, -1.4932659333e+00, 7.2855027111e-01, 1.6737154831e+00, 1.0762639719e+01
2.2425000000e+00, -1.4753668311e+00, 6.8912228778e-01, 1.9655435096e+00, 2.7405406539e+01
2.2500000000e+00, -1.4625924333e+00, 6.7169439222e-01, 1.9646823861e+00, 2.8594737606e+01
2.2575000000e+00, -1.4476503156e+00, 6.4951994444e-01, 2.0489553518e+00, 3.1319346151e+01
2.2650000000e+00, -1.4323468422e+00, 6.1730053444e-01, 2.1991556061e+00, 4.1161024971e+01
2.2725000000e+00, -1.4162150000e+00, 5.8035393778e-01, 2.2440905034e+00, 5.0193062424e+01
2.2800000000e+00, -1.3990341289e+00, 5.4783150000e-01, 2.1855676664e+00, 5.0667766539e+01
2.2875000000e+00, -1.3832335156e+00, 5.0997404889e-01, 2.1912983169e+00, 5.7571542597e+01
2.2950000000e+00, -1.3675628622e+00, 4.7549316444e-01, 2.1749166435e+00, 6.0859477858e+01
2.3025000000e+00, -1.3532294311e+00, 4.4664324778e-01, 2.0402963575e+00, 5.7174910866e+01
2.3100000000e+00, -1.3374246667e+00, 4.0357828111e-01, 1.9765530124e+00, 6.1530521314e+01
2.3175000000e+00, -1.3249220933e+00, 3.8342978556e-01, 1.9076619557e+00, 5.7044773510e+01
2.3250000000e+00, -1.3111594378e+00, 3.4732440778e-01, 1.7700432455e+00, 5.5185839387e+01
2.3325000000e+00, -1.2936005867e+00, 2.9724400889e-01, 1.6170480838e+00, 4.8715166578e+01
2.3400000000e+00, -1.2828922378e+00, 2.7810549556e-01, 1.5751237442e+00, 4.7849906011e+01
2.3475000000e+00, -1.2724545578e+00, 2.6550136111e-01, 1.4857345621e+00, 4.2928035886e+01
2.3550000000e+00, -1.2628247400e+00, 2.5449181778e-01, 1.4571388750e+00, 4.0233429281e+01
2.3625000000e+00, -1.2515646000e+00, 2.3003589778e-01, 1.3609546182e+00, 3.5246421247e+01
2.3700000000e+00, -1.2421973711e+00, 2.1779594556e-01, 1.3295975991e+00, 3.3294841600e+01
2.3775000000e+00, -1.2313705889e+00, 1.9896996444e-01, 1.2685761823e+00, 2.9499572063e+01
2.3850000000e+00, -1.2223373556e+00, 1.8700736333e-01, 1.2113320606e+00, 2.6271112534e+01
2.3925000000e+00, -1.2134457600e+00, 1.7935795333e-01, 1.1651102072e+00, 2.3971087154e+01

View File

1292
src/output/test_2x2.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,108 @@
/** @file phase_transition_mpi.cpp
*
* @author Cory Alexander Balaton (coryab)
* @author Janita Ovidie Sandtrøen Willumsen (janitaws)
*
* @version 1.0
*
* @brief Sweep over different temperatures and generate data.
*
* @bug No known bugs
* */
#include "data_type.hpp"
#include "monte_carlo.hpp"
#include "utils.hpp"
#include <algorithm>
#include <fstream>
#include <iostream>
#include <iterator>
#include <mpi.h>
/** @brief The main function*/
int main(int argc, char **argv)
{
double start = 1., end = 3.;
uint points = 1000, L = 20, N;
double dt = (end - start) / points;
uint cycles = 10000;
N = L * L;
std::ofstream ofile;
data_t data[points];
// MPI stuff
int rank, cluster_size;
// Initialize MPI
MPI_Init(&argc, &argv);
// Get the cluster size and rank
MPI_Comm_size(MPI_COMM_WORLD, &cluster_size);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
uint remainder = points % cluster_size;
double i_start;
uint i_points;
// The last
if (rank < remainder) {
i_points = points / cluster_size + 1;
i_start = start + dt * i_points * rank;
}
else {
i_points = points / cluster_size;
i_start = start + dt * (i_points * rank + remainder);
}
data_t i_data[i_points];
std::cout << "Rank " << rank << ": " << i_points << ',' << i_start << '\n';
for (size_t i = 0; i < i_points; i++) {
monte_carlo_serial(i_data[i], L, i_start + dt * i, cycles);
}
if (rank == 0) {
std::copy_n(i_data, i_points, data);
for (size_t i = 1; i < cluster_size; i++) {
if (rank < remainder) {
MPI_Recv((void *)i_data,
sizeof(data_t) * (points / cluster_size + 1), MPI_CHAR,
i, MPI_ANY_TAG, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
std::copy_n(i_data, points / cluster_size + 1,
data + (points / cluster_size) * i);
}
else {
MPI_Recv((void *)i_data,
sizeof(data_t) * (points / cluster_size), MPI_CHAR, i,
MPI_ANY_TAG, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
std::copy_n(i_data, points / cluster_size,
data + (points / cluster_size) * i + remainder);
}
}
}
else {
MPI_Send(i_data, i_points * sizeof(data_t), MPI_CHAR, 0, rank,
MPI_COMM_WORLD);
}
MPI_Finalize();
std::string outfile = "output/phase_transition/size_20.txt";
utils::mkpath(utils::dirname(outfile));
ofile.open(outfile);
double temp, CV, X;
using utils::scientific_format;
for (size_t i = 0; i < points; i++) {
temp = start + dt * i;
CV = (data[i].E2 - data[i].E * data[i].E) / (N * temp * temp);
X = (data[i].M2 - data[i].M_abs * data[i].M_abs) / (N * temp);
ofile << scientific_format(temp) << ','
<< scientific_format(data[i].E / N) << ','
<< scientific_format(data[i].M_abs / N) << ','
<< scientific_format(CV) << ',' << scientific_format(X) << '\n';
}
ofile.close();
}

View File

@ -0,0 +1,48 @@
import matplotlib.pyplot as plt
def plot_from_file():
figure1, ax1 = plt.subplots()
figure2, ax2 = plt.subplots()
figure3, ax3 = plt.subplots()
figure4, ax4 = plt.subplots()
label = "something"
with open("output/test_2x2.txt") as f:
lines = f.readlines()
t = []
energy = []
magnetization = []
CV = []
X = []
for line in lines:
items = line.strip().split(",")
t.append(int(items[0]))
energy.append(float(items[1]))
magnetization.append(float(items[2]))
CV.append(float(items[3]))
X.append(float(items[4]))
ax1.plot(t, energy, label=f"<epsilon> {label}")
ax2.plot(t, magnetization, label=f"<|m|> {label}")
ax3.plot(t, CV, label=f"CV {label}")
ax4.plot(t, X, label=f"X {label}")
# ax1.set_yscale("log")
# ax2.set_yscale("log")
figure1.legend()
figure1.savefig("../latex/images/2x2_energy.pdf")
figure2.legend()
figure2.savefig("../latex/images/2x2_magnetization.pdf")
figure3.legend()
figure3.savefig("../latex/images/2x2_heat_capacity.pdf")
figure4.legend()
figure4.savefig("../latex/images/2x2_susceptibility.pdf")
def main():
plot_from_file()
if __name__ == "__main__":
main()

View File

@ -0,0 +1,40 @@
import matplotlib.pyplot as plt
def plot_from_file():
files = [
"output/burn_in_time_1_0.txt",
"output/burn_in_time_2_4.txt",
]
labels = [
"1.0",
"2.4"
]
figure1, ax1 = plt.subplots()
figure2, ax2 = plt.subplots()
for infile, label in zip(files, labels):
with open(infile) as f:
lines = f.readlines()
t = []
energy = []
magnetization = []
for line in lines:
items = line.strip().split(",")
t.append(int(items[0]))
energy.append(float(items[1]))
magnetization.append(float(items[5]))
ax1.plot(t, energy, label=f"<epsilon> {label}")
ax2.plot(t, magnetization, label=f"<|m|> {label}")
figure1.legend()
figure1.savefig("../latex/images/burn_in_time_energy.pdf")
figure2.legend()
figure2.savefig("../latex/images/burn_in_time_magnetization.pdf")
def main():
plot_from_file()
if __name__ == "__main__":
main()

View File

@ -0,0 +1,24 @@
import matplotlib.pyplot as plt
import numpy as np
from pathlib import Path
def plot(infile, outfile):
figure1, ax1 = plt.subplots()
arr = []
with open(infile) as f:
lines = f.readlines()
for line in lines:
vals = line.strip().split(",")
arr.append(float(vals[0]))
ax1.hist(arr, np.arange(min(arr), max(arr) + .02, .02), density=True)
figure1.savefig(outfile)
if __name__ == "__main__":
plot("output/pd_estimate/estimate_1_0.txt", "../latex/images/pd_estimate_1_0.pdf")
plot("output/pd_estimate/estimate_2_4.txt", "../latex/images/pd_estimate_2_4.pdf")

View File

@ -0,0 +1,61 @@
import matplotlib.pyplot as plt
from pathlib import Path
def plot_phase_transition(indir, outdir):
files = [
"size_20.txt",
"size_40.txt",
"size_60.txt",
"size_80.txt",
"size_100.txt",
]
labels = [
"L = 20",
"L = 40",
"L = 60",
"L = 80",
"L = 100",
]
figure1, ax1 = plt.subplots()
figure2, ax2 = plt.subplots()
figure3, ax3 = plt.subplots()
figure4, ax4 = plt.subplots()
for file, label in zip(files, labels):
t = []
e = []
m = []
CV = []
X = []
with open(Path(indir, file)) as f:
lines = f.readlines()
for line in lines:
l = line.strip().split(",")
t.append(float(l[0]))
e.append(float(l[1]))
m.append(float(l[2]))
CV.append(float(l[3]))
X.append(float(l[4]))
ax1.plot(t,e,label=label)
ax2.plot(t,m,label=label)
ax3.plot(t,CV, label=label)
ax4.plot(t,X, label=label)
figure1.legend()
figure2.legend()
figure3.legend()
figure4.legend()
figure1.savefig(Path(outdir, "energy.pdf"))
figure2.savefig(Path(outdir, "magnetization.pdf"))
figure3.savefig(Path(outdir, "heat_capacity.pdf"))
figure4.savefig(Path(outdir, "susceptibility.pdf"))
if __name__ == "__main__":
plot_phase_transition("fox_output/phase_transition/10M/", "../latex/images/phase_transition/wide/10M/")
plot_phase_transition("fox_output/phase_transition/1M/", "../latex/images/phase_transition/wide/1M/")
plot_phase_transition("fox_output/phase_transition/narrow/10M/", "../latex/images/phase_transition/narrow/10M/")

Some files were not shown because too many files have changed in this diff Show More