JavedA commited on
Commit
d4f9f0d
1 Parent(s): a00251d

working v_2

Browse files
Data/12_Each_Page/right_Nav.qmd CHANGED
@@ -51,6 +51,11 @@ const aElement = document.createElement('a');
51
  // Set the href attribute of the <a> element
52
  aElement.href = 'https://discord.gg/EEsXp39DaA';
53
  aElement.id = 'feedback_A';
 
 
 
 
 
54
  button_Elem.id = 'feedback_Button';
55
 
56
  // button_Elem.setAttribute("aria-describedby","popper_Tooltip_Gen");
 
51
  // Set the href attribute of the <a> element
52
  aElement.href = 'https://discord.gg/EEsXp39DaA';
53
  aElement.id = 'feedback_A';
54
+
55
+ // open link in a new tab
56
+ aElement.setAttribute("target","_blank");
57
+ aElement.setAttribute("rel", "noopener noreferrer");
58
+
59
  button_Elem.id = 'feedback_Button';
60
 
61
  // button_Elem.setAttribute("aria-describedby","popper_Tooltip_Gen");
README.md DELETED
@@ -1,23 +0,0 @@
1
- # Overview
2
- This is the web verison of my master thesis - the title of the master thesis is: Flow predictions using control-oriented cluster-based network modeling.
3
- The used license is: [![Hippocratic License HL3-BDS-CL-ECO-EXTR-MEDIA-MIL-SV-XUAR](https://img.shields.io/static/v1?label=Hippocratic%20License&message=HL3-BDS-CL-ECO-EXTR-MEDIA-MIL-SV-XUAR&labelColor=5e2751&color=bc8c3d)](https://firstdonoharm.dev/version/3/0/bds-cl-eco-extr-media-mil-sv-xuar.html)
4
-
5
-
6
- # Abstract
7
-
8
- In this master thesis, a data-driven modeling technique is proposed.
9
- It enables making predictions for general dynamic systems for unknown model parameter values or operating conditions.
10
- The tool is denoted as \gls{cnmc}.
11
- The most recent developed version delivered promising results for the chaotic Lorenz system [@lorenz1963deterministic].
12
- Since, the earlier work was restricted to the application of only one dynamical system, with this contribution the first major improvement was to allow \gls{cnmc} to be utilized for any general dynamical system.
13
- For this, \gls{cnmc} was written from scratch in a modular manner.
14
- The limitation of the number of the dimension and the shape of the trajectory of the dynamical systems are removed.
15
- Adding a new dynamic system was designed such that it should be as straightforward as possible.
16
- To affirm this point, 10 dynamic systems, most of which are chaotic systems, are included by default.
17
- To be able to run \gls{cnmc} on arbitrary dynamic systems in an automated way, a parameter study for the modal decomposition method \gls{nmf} was implemented.
18
- However, since a single \gls{nmf} solution took up to hours, a second option was added, i.e., \gls{svd}.
19
- With \gls{svd} the most time-consuming task could be brought to a level of seconds.
20
- The improvements introduced, allow \gls{cnmc} to be executed on a general dynamic system on a normal computer in a reasonable time.
21
- Furthermore, \gls{cnmc} comes with its integrated post-processor in form of HTML files to inspect the generated plots in detail.
22
- All the parameters used in \gls{cnmc} some additional beneficial features can be controlled via one settings file.
23
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Web_Code/Js/lotti_Sidebar_Anim.js CHANGED
@@ -3,74 +3,76 @@
3
  /* ========================================================================== */
4
  function complete_Check(second_Anim){
5
 
6
- console.log("I was found complete_Check ")
7
 
8
- var rocket_Name = "rocket_Orange.lottie";
9
- var aircraft_Name = "airplane.lottie";
10
 
11
- player.addEventListener('complete',()=> {
12
 
13
- // first animation has completed
14
- if(!second_Anim){
15
 
16
- console.log("first animation has completed");
17
 
18
- // the animation must be stopped, such that it can be played again
19
- //player.currentState = playing --> stop it, to rerun it
20
- player.stop();
21
-
22
- // load the second animation -> can be played when eventListender('ready') is called
23
 
24
- var path_0 = `../../../7_Animation/${rocket_Name}`;
25
- var path_1 = `../../7_Animation/${rocket_Name}`;
26
- var path_2 = `/Data/7_Animation/${rocket_Name}`;
 
27
 
28
- // check which file path is valid, use the valid one and load the player
29
- loadFileWithFallback(path_0, path_1, path_2, player);
30
 
31
- // let the system know second anim is loaded
32
- second_Anim = true;
33
 
34
- // playing the second animation directy does not make sense, since it takes some time to fetch the data from the net, then it must be loaded (postprocessed) --> it takes some time till the animation ready to be played --> use ready ewventListener
35
- // play the second anim
36
- // player.play();
37
- // console.log(`the current state is: ${player.currentState}`)
38
- }
39
 
40
- // second animation has completed
41
- else {
42
-
43
- console.log("second animation completed");
44
 
45
- // load back the first animation
46
- var path_0 = `../../../7_Animation/${aircraft_Name}`;
47
- var path_1 = `../../7_Animation/${aircraft_Name}`;
48
- var path_2 = `/Data/7_Animation/${aircraft_Name}`;
 
49
 
50
- // check which file path is valid, use the valid one and load the player
51
- loadFileWithFallback(path_0, path_1, path_2, player);
52
 
53
- // let the system know first anim is loaded
54
- second_Anim = false;
55
 
56
- // stop the animation, such that the first animation can be played again if anim is clicked on
57
- player.stop();
58
 
59
- }
60
- });
61
 
62
 
63
 
64
- // Add an event listener for the 'ready' event --> is executed when player.load(.lotti or .json-file) compledted and ready for beeing played
65
- player.addEventListener('ready', () => {
66
 
67
- // play the second animation when it's loaded and ready for it
68
- if (second_Anim){
69
-
70
- player.play();
71
-
72
- }
73
- });
74
  }
75
 
76
 
@@ -78,63 +80,76 @@ function complete_Check(second_Anim){
78
  /* ========================== loadFileWithFallback ========================== */
79
  /* ========================================================================== */
80
  function loadFileWithFallback( primaryPath,
81
- fallbackPath,
82
- path_2,
83
- player) {
84
-
85
-
86
- // gets two paths --> check which one is valid. Use the valid one to load the player
87
- fetch(primaryPath)
88
- .then((response) => {
89
-
90
- // no reading here, only checking metadta
91
- if (response.ok) {
92
-
93
- // If the primary file is found, use it
94
- console.log("returning: ", primaryPath);
95
- player.load(primaryPath);
96
-
97
- // also possible to read the content directy
98
- // return response.text();
99
- }
100
-
101
- else {
102
- // If the primary file is not found, try the fallback path
103
- return fetch(fallbackPath).then((fallbackResponse) => {
104
- if (fallbackResponse.ok) {
105
-
106
- console.log("returning: ", fallbackPath);
107
- player.load(fallbackPath);
108
-
109
- }
110
-
111
- else {
 
 
 
 
 
 
 
 
 
 
 
 
112
  // If both primary and fallback files not found, try path_2
113
- return fetch(path_2).then((path2Response) => {
114
- if (path2Response.ok) {
115
 
116
- console.log("returning: ", path_2);
117
- player.load(path_2);
118
 
119
  }
120
 
121
- else {
122
- throw new Error('Primary, fallback, and path_2 files not found');
123
  }
124
-
125
  });
126
- }
 
127
 
128
 
129
  });
130
 
131
 
 
132
 
 
 
133
 
 
 
134
 
135
- }
136
- })
137
-
138
- }
139
 
140
-
 
3
  /* ========================================================================== */
4
  function complete_Check(second_Anim){
5
 
6
+ console.log("I was found complete_Check ")
7
 
8
+ var rocket_Name = "rocket_Orange.lottie";
9
+ var aircraft_Name = "airplane.lottie";
10
 
11
+ player.addEventListener('complete',()=> {
12
 
13
+ // first animation has completed
14
+ if(!second_Anim){
15
 
16
+ console.log("first animation has completed");
17
 
18
+ // the animation must be stopped, such that it can be played again
19
+ //player.currentState = playing --> stop it, to rerun it
20
+ player.stop();
21
+
22
+ // load the second animation -> can be played when eventListender('ready') is called
23
 
24
+ var path_0 = `../../../7_Animation/${rocket_Name}`;
25
+ var path_1 = `../../7_Animation/${rocket_Name}`;
26
+ var path_2 = `../7_Animation/${rocket_Name}`;
27
+ var path_3 = `Data/7_Animation/${rocket_Name}`;
28
 
29
+ // check which file path is valid, use the valid one and load the player
30
+ loadFileWithFallback(path_0, path_1, path_2, path_3, player);
31
 
32
+ // let the system know second anim is loaded
33
+ second_Anim = true;
34
 
35
+ // playing the second animation directy does not make sense, since it takes some time to fetch the data from the net, then it must be loaded (postprocessed) --> it takes some time till the animation ready to be played --> use ready ewventListener
36
+ // play the second anim
37
+ // player.play();
38
+ // console.log(`the current state is: ${player.currentState}`)
39
+ }
40
 
41
+ // second animation has completed
42
+ else {
43
+
44
+ console.log("second animation completed");
45
 
46
+ // load back the first animation
47
+ var path_0 = `../../../7_Animation/${aircraft_Name}`;
48
+ var path_1 = `../../7_Animation/${aircraft_Name}`;
49
+ var path_2 = `../7_Animation/${aircraft_Name}`;
50
+ var path_3 = `Data/7_Animation/${aircraft_Name}`;
51
 
52
+ // check which file path is valid, use the valid one and load the player
53
+ loadFileWithFallback(path_0, path_1, path_2, path_3, player);
54
 
55
+ // let the system know first anim is loaded
56
+ second_Anim = false;
57
 
58
+ // stop the animation, such that the first animation can be played again if anim is clicked on
59
+ player.stop();
60
 
61
+ }
62
+ });
63
 
64
 
65
 
66
+ // Add an event listener for the 'ready' event --> is executed when player.load(.lotti or .json-file) compledted and ready for beeing played
67
+ player.addEventListener('ready', () => {
68
 
69
+ // play the second animation when it's loaded and ready for it
70
+ if (second_Anim){
71
+
72
+ player.play();
73
+
74
+ }
75
+ });
76
  }
77
 
78
 
 
80
  /* ========================== loadFileWithFallback ========================== */
81
  /* ========================================================================== */
82
  function loadFileWithFallback( primaryPath,
83
+ fallbackPath,
84
+ path_2,
85
+ path_3,
86
+ player) {
87
+
88
+
89
+ // gets two paths --> check which one is valid. Use the valid one to load the player
90
+ fetch(primaryPath)
91
+ .then((response) => {
92
+
93
+ // no reading here, only checking metadta
94
+ if (response.ok) {
95
+
96
+ // If the primary file is found, use it
97
+ console.log("returning: ", primaryPath);
98
+ player.load(primaryPath);
99
+
100
+ // also possible to read the content directy
101
+ // return response.text();
102
+ }
103
+
104
+ else {
105
+ // If the primary file is not found, try the fallback path
106
+ return fetch(fallbackPath).then((fallbackResponse) => {
107
+ if (fallbackResponse.ok) {
108
+
109
+ console.log("returning: ", fallbackPath);
110
+ player.load(fallbackPath);
111
+
112
+ }
113
+
114
+ else {
115
+ // If both primary and fallback files not found, try path_2
116
+ return fetch(path_2).then((path2Response) => {
117
+ if (path2Response.ok) {
118
+
119
+ console.log("returning: ", path_2);
120
+ player.load(path_2);
121
+
122
+ }
123
+
124
+ else {
125
+
126
  // If both primary and fallback files not found, try path_2
127
+ return fetch(path_3).then((path3Response) => {
128
+ if (path3Response.ok) {
129
 
130
+ console.log("returning: ", path_3);
131
+ player.load(path_3);
132
 
133
  }
134
 
135
+ else{
136
+ throw new Error('Primary, fallback, path_2 and path_3 files not found');
137
  }
138
+
139
  });
140
+
141
+ }
142
 
143
 
144
  });
145
 
146
 
147
+ }
148
 
149
+ });
150
+ }
151
 
152
+ });
153
+ }
154
 
 
 
 
 
155