Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
R
RBComb simulation
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Pascal Engeler
RBComb simulation
Commits
5e9f22e7
Commit
5e9f22e7
authored
5 years ago
by
Pascal Engeler
Browse files
Options
Downloads
Patches
Plain Diff
TOC update
parent
42d9685b
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
README.md
+20
-0
20 additions, 0 deletions
README.md
with
20 additions
and
0 deletions
README.md
+
20
−
0
View file @
5e9f22e7
1.
[
RBComb Simulation Framework.
](
#RSF
)
1.
[
RBComb Simulation Framework.
](
#RSF
)
2.
[
Classes.
](
#Classes
)
2.
[
Classes.
](
#Classes
)
-
[
Vec2.
](
#vec2
)
-
[
Vec2.
](
#vec2
)
-
[
Diagonalizer.
](
#diagonalizer
)
-
[
Drum.
](
#drum
)
-
[
Force.
](
#force
)
-
[
Driver.
](
#driver
)
-
[
Coupler.
](
#coupler
)
-
[
LatticeGenerator.
](
#latticegenerator
)
-
[
Neighbour Ordering Convention.
](
#noc
)
-
[
Inexistent Neighbour Convention.
](
#inc
)
-
[
MatrixElementCalculator.
](
#mec
)
-
[
Rk4Stepper
](
#rk4s
)
...
@@ -55,6 +65,7 @@ where it improves legibility. Consult the source files for more information.
...
@@ -55,6 +65,7 @@ where it improves legibility. Consult the source files for more information.
-
`[]`
with
`std::size_t`
-
`[]`
with
`std::size_t`
-
`<<`
with
`std::ostream`
-
`<<`
with
`std::ostream`
<a
name=
"diagonalizer"
></a>
### Type `Diagonalizer` (diagonalizer.hpp), class to diagonalize symmetric Matrices
### Type `Diagonalizer` (diagonalizer.hpp), class to diagonalize symmetric Matrices
1.
Member functions
1.
Member functions
-
`std::vector<double> ev(std::vector<double> mat, size_t N)`
-
`std::vector<double> ev(std::vector<double> mat, size_t N)`
...
@@ -66,6 +77,7 @@ where it improves legibility. Consult the source files for more information.
...
@@ -66,6 +77,7 @@ where it improves legibility. Consult the source files for more information.
2.
Further developments
2.
Further developments
-
Only finding eigenvectors and -values in a certain range may be added later on
-
Only finding eigenvectors and -values in a certain range may be added later on
<a
name=
"drum"
></a>
### Template Type `Drum` (drum.hpp), represents a single drum top resonator
### Template Type `Drum` (drum.hpp), represents a single drum top resonator
1.
Template arguments
1.
Template arguments
-
`value_t`
: Scalar type
-
`value_t`
: Scalar type
...
@@ -101,6 +113,7 @@ this class is `delete`'d. It should be constructed from an object of type `param
...
@@ -101,6 +113,7 @@ this class is `delete`'d. It should be constructed from an object of type `param
Abstract interfaces for
`params_t`
and
`vars_t`
could be added, but they would
Abstract interfaces for
`params_t`
and
`vars_t`
could be added, but they would
be trivial.
be trivial.
<a
name=
"force"
></a>
### Interface template type `Force` (force.hpp), force functional
### Interface template type `Force` (force.hpp), force functional
1.
Template arguments
1.
Template arguments
-
`value_t`
: Scalar type
-
`value_t`
: Scalar type
...
@@ -121,6 +134,7 @@ access members `get_parameters()` and `get_variables()`. The `time` argument of
...
@@ -121,6 +134,7 @@ access members `get_parameters()` and `get_variables()`. The `time` argument of
functional exists to fit special cases as well. The file
`include/force_simple.hpp`
functional exists to fit special cases as well. The file
`include/force_simple.hpp`
showcases how a real force functional could be written.
showcases how a real force functional could be written.
<a
name=
"driver"
></a>
### Interface template type `Driver` (driver.hpp), calculate drive of drums
### Interface template type `Driver` (driver.hpp), calculate drive of drums
1.
Template arguments
1.
Template arguments
-
`value_t`
: Scalar type
-
`value_t`
: Scalar type
...
@@ -150,6 +164,7 @@ The functional should return the current drive on the drum with index passed as
...
@@ -150,6 +164,7 @@ The functional should return the current drive on the drum with index passed as
An example implementation of a
`Driver`
is shown in
`include/driver_simple.hpp`
.
An example implementation of a
`Driver`
is shown in
`include/driver_simple.hpp`
.
<a
name=
"coupler"
></a>
### Interface template type `Coupler` (coupler.hpp), calculate couplings between drums
### Interface template type `Coupler` (coupler.hpp), calculate couplings between drums
1.
Template arguments
1.
Template arguments
-
`value_t`
: Scalar type
-
`value_t`
: Scalar type
...
@@ -179,6 +194,7 @@ The functional should return the current coupling between the two drums with ind
...
@@ -179,6 +194,7 @@ The functional should return the current coupling between the two drums with ind
An example implementation of a
`Coupler`
is shown in
`include/coupler_simple.hpp`
.
An example implementation of a
`Coupler`
is shown in
`include/coupler_simple.hpp`
.
<a
name=
"latticegenerator"
></a>
### Interface template type `LatticeGenerator` (lattice_generator.hpp), generates drum lattices
### Interface template type `LatticeGenerator` (lattice_generator.hpp), generates drum lattices
1.
Template arguments
1.
Template arguments
-
`value_t`
: Scalar type
-
`value_t`
: Scalar type
...
@@ -206,6 +222,7 @@ differently.
...
@@ -206,6 +222,7 @@ differently.
-
`params_t`
-
`params_t`
-
Existence of
`position`
member
-
Existence of
`position`
member
<a
name=
"noc"
></a>
#### Neighbour ordering convention
#### Neighbour ordering convention
An important note is the __convention of neighbour ordering__. Each drum has neighbours 0 thru 3.
An important note is the __convention of neighbour ordering__. Each drum has neighbours 0 thru 3.
For drums in different sublattices, these neighbours are:
For drums in different sublattices, these neighbours are:
...
@@ -224,6 +241,7 @@ are assumed to respect the above convention. Note that with this convention,
...
@@ -224,6 +241,7 @@ are assumed to respect the above convention. Note that with this convention,
neighbours see each other as the same neighbour index (the i-th neighbour of j
neighbours see each other as the same neighbour index (the i-th neighbour of j
sees j as its i-th neighbour). __Never violate this convention__.
sees j as its i-th neighbour). __Never violate this convention__.
<a
name=
"inc"
></a>
#### Inexistent neighbour convention
#### Inexistent neighbour convention
Another __convention__ concerns __inexistent neighbours__. For that purpose, this class should append
Another __convention__ concerns __inexistent neighbours__. For that purpose, this class should append
an auxiliary drum to the end of the drum vector. If neighbour i of a drum does not exist
an auxiliary drum to the end of the drum vector. If neighbour i of a drum does not exist
...
@@ -232,6 +250,7 @@ auxiliary drum, i.e. it will show an index `drum_vec.size()`. All couplings of t
...
@@ -232,6 +250,7 @@ auxiliary drum, i.e. it will show an index `drum_vec.size()`. All couplings of t
drum are to be kept at 0. This condition can then be applied in force calculation to avoid branching,
drum are to be kept at 0. This condition can then be applied in force calculation to avoid branching,
if one uses the couplings of the neighbours instead of the considered drum.
if one uses the couplings of the neighbours instead of the considered drum.
<a
name=
"mec"
></a>
### Interface template `MatrixElementCalculator` (matrix_element_calculator.hpp), calculates matrix elements
### Interface template `MatrixElementCalculator` (matrix_element_calculator.hpp), calculates matrix elements
1.
Template arguments
1.
Template arguments
-
`value_t`
: Scalar type
-
`value_t`
: Scalar type
...
@@ -264,6 +283,7 @@ the individual functions correctly to accomodate the correct neighbours.
...
@@ -264,6 +283,7 @@ the individual functions correctly to accomodate the correct neighbours.
-
`get_parameters()`
-
`get_parameters()`
-
`get_variables()`
-
`get_variables()`
<a
name=
"rk4s"
></a>
### Template Type `Rk4Stepper` (rk4_stepper.hpp), performs timesteps using rk4 scheme
### Template Type `Rk4Stepper` (rk4_stepper.hpp), performs timesteps using rk4 scheme
1.
Template arguments
1.
Template arguments
-
`value_t`
: Scalar type
-
`value_t`
: Scalar type
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment