Skip to content

Commit 4bcf932

Browse files
authored
Merge pull request #10 from GPUE-group/development
Merging development branch to master
2 parents 690aed2 + b5415c5 commit 4bcf932

45 files changed

Lines changed: 1766 additions & 4077 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 24 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,23 @@
1-
[![DOI](https://zenodo.org/badge/23153/mlxd/GPUE.svg)](https://zenodo.org/badge/latestdoi/23153/mlxd/GPUE)
2-
[![Code Climate](https://codeclimate.com/github/mlxd/GPUE/badges/gpa.svg)](https://codeclimate.com/github/mlxd/GPUE)
3-
![GPUE version](https://img.shields.io/badge/v-0.abs(exp(1i*pi))-blue.svg)
41
---
5-
[logo]: https://github.com/mlxd/GPUE/blob/master/logo.png "GPUE"
2+
[logo]: https://github.com/gpue-group/GPUE/blob/master/logo.png "GPUE"
63
![GPUE - GPU Gross-Pitaevskii Equation solver][logo]
74

85
***
96

10-
[bb]: https://bitbucket.org/loriordan/gpue "Bitbucket"
11-
[gh]: https://github.com/mlxd/gpue "GitHub"
12-
13-
## 0. Introduction
7+
[gh]: https://github.com/gpue-group/gpue "GitHub"
148

159
Welcome to GPUE, the [fastest zero temperature BEC routines in the land](http://peterwittek.com/gpe-comparison.html) (the last time we checked).
16-
17-
Runs on CUDA 7.0 (C++11 functionality needed) on both Linux and Mac OS X
18-
(Nvidia GPU only). We have not tested on Windows. Other requirements are Python
19-
2.6+ (though PyPy is MUCH faster), Numpy, Scipy, Matplotlib, Mencoder.
20-
21-
To build, first check the predefined paths in the Makefile (CUDA lib/lib64,
22-
bin, include, etc).
23-
24-
Configuring the simulation parameters is as easy as editing the
25-
bin/run_params.conf file, and entering them as specified. Each new line will
26-
represent another simulation, with the maximum number of simultaneous
27-
simulations to be given in run.sh.
28-
29-
To run the simulations:
30-
chmod +x ./run.sh; ./run.sh
31-
32-
If the image generation fails, this can be rectified manually by editing the
33-
file py/vis.py, and selecting the appropriate operation. Not all Python code
34-
may currently not behave as expected, due to the switch over to vortex tracking
35-
entirely in C++.
36-
37-
Many routines are also being converted from C host-code to C++11 host-code,
38-
so if there is any strange behaviour then please let me know. Bug reports are
39-
always welcome, as well as comments, improvements, cake, free-dinners and cold
40-
weather.
41-
42-
If you enjoy/use/learn from this code, please give me a citation, as it took a
43-
long time to develop, and I'd appreciate it greatly! A nice email would suffice
44-
too :)
10+
All documentation is available at [https://gpue-group.github.io](https://gpue-group.github.io).
4511

4612
## 1. What does this software do?
4713

4814
This software is a CUDA-enabled non-linear Schrodinger (Gross-Pitaevskii)
49-
equation solver. The primary use of this code was for my research on
50-
rapidly rotating Bose-Einstein condensates. Due to the complexity and
15+
equation solver. The primary use of this code was for research on
16+
Bose-Einstein condensates. Due to the complexity and
5117
timescales needed to simulate such system, it was essential to write some
52-
accelerated code to understand the behaviour of such systems. If you would like
53-
to know more, check my Google scholar profile
54-
<https://scholar.google.com/citations?user=s-6jND0AAAAJ&hl=en>
55-
which will update as we finish some papers.
18+
accelerated code to understand the behaviour of such systems.
5619

57-
The premise is the following:
20+
As a short introduction of the use-case:
5821
We want to simulate how a Bose-Einstein condensate (BEC) behaves in a trap.
5922
The trap is parabolic (harmonic), and for the lowest energy state of the
6023
system (ground-state) the BEC will want to sit about the centre. Due to the
@@ -73,52 +36,33 @@ to enter with a singular unit of angular momentum (think 100x 1 unit vortices
7336
instead of 1x 100 unit vortex). This gives us a nice well arranged lattice if
7437
performed correctly. It is this lattice that we have been researching (read as:
7538
playing with). However, this code can be used in any trapping geometry,
76-
rotation, etc. that you wish to use. Bear in mind, we have developed this for
77-
a 2D system only. Extensions to 3D are currently in the works, and are in the
78-
beta branch lead by the amazing James Schloss (leois). When completed, these
79-
will be merged into master.
39+
rotation, etc. that you wish to use.
8040

8141
## 2. Great! How do I make a BEC?
82-
83-
Well, first you need to look at the run_params.conf file, and give it some
84-
necessary parameters to generate your favourite condensate.
85-
86-
As an example
87-
./gpue -x 256 -y 256 -T 1e-3 -t 1e-3 -n 1e5 -g 1e3 -e 1e3 -p 1 -r 0 -w 0.3 -o 10 -d 0 -l 1 -s 1 -i 1.0 -P 0.0 -G 1.0 -L 0 -X 1 -Y 1 -k 0 -O 0.0 -W 1 -U 0 -V 0 -S 0.0
42+
See the [Building GPUE](https://gpue-group.github.io/build/) and [GPUE functionality](https://gpue-group.github.io/functionality/)
43+
sections of the documentation.
8844

8945
As an example, here are some simulations performed with the code:
9046
https://www.youtube.com/playlist?list=PLiRboSbbz10s6cXxvYLFOn3QbmQpdtQVd
9147

92-
The above parameters will be better explained when the papers have been
93-
published (which is only fair). Comments will be added for relevant sections
94-
too to allow for their use.
95-
96-
## 3. What do you see as the future of this?
97-
I would like this tool to be a suite for 1D, 2D and 3D simulations of both
98-
Schrodinger and non-linear Schrodinger systems.
99-
100-
## 4. I have used your program and/or learned from the source. What now?
101-
A citation would be nice :) Feel free to cite as:
102-
103-
Lee James O'Riordan et al., GPUE: Phasegineering release, Zenodo. (2016)
104-
\url{https://github.com/mlxd/GPUE} DOI:10.5281/zenodo.57968
105-
106-
Otherwise, an email with a message, comments, or anything is appreciated. I'm
107-
curious as to who is using this, so regardless of what you do with it, feel
108-
free to get in touch.
48+
## 3. Specific use-cases
49+
We would like this tool to be a suite for 1D, 2D and 3D simulations of both
50+
Schrodinger and non-linear Schrodinger (Gross--Pitaevskii) systems.
10951

110-
If you would like to help, I am always looking for some additional improvements.
111-
There is a lot remaining to be done, but many hands make light work, after all.
52+
## 4. Works using GPUE
53+
If you have used GPUE, or any of the works using GPUE, please consider giving us a citation.
54+
Previous versions of this code/works are citable as follows:
11255

56+
- Lee James O'Riordan et al., GPUE: Phasegineering release, Zenodo. (2016), \url{https://github.com/mlxd/GPUE} DOI:10.5281/zenodo.57968
11357

58+
More recent versions will be citable under the [GPUE Group](https://github.com/gpue-group/GPUE) repository.
59+
Works which have used GPUE include (to-date):
60+
- [Moiré superlattice structures in kicked Bose-Einstein condensates](https://journals.aps.org/pra/abstract/10.1103/PhysRevA.93.023609)
61+
- [Topological defect dynamics of vortex lattices in Bose-Einstein condensates](https://journals.aps.org/pra/abstract/10.1103/PhysRevA.94.053603)
62+
- [Non-equilibrium vortex dynamics in rapidly rotating Bose-Einstein condensates](https://ci.nii.ac.jp/naid/500001054902/)
11463

11564
## 5. Acknowledgements
11665
We are greatly thankful to the support provided by Okinawa Institute of Science
11766
and Technology Graduate University, without whom this research code would be a
118-
fraction of what it currently has become. To the various people who have
119-
contributed in ideas and parts to this project, in no particular order:
120-
Albert Benseney Cases, who assisted with the multivortex vortex tracking and
121-
various discussions; Angela White, who assisted with calculating the spectra
122-
and with a variety of physics discussions; Tadhg Morgan, for initial
123-
discussions and works with simulating cold atoms; Thomas Busch, for guidance
124-
over the many areas of physics this code has touched upon.
67+
fraction of what it currently has become. A list of acknowledgements is given in [acknowledgements.md](https://github.com/GPUE-group/GPUE/blob/master/acknowledgements.md).
68+

acknowledgements.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
For their various contributions and discussions which made this work possible, the authors wish to thank (in no particular order):
2+
3+
- Albert Benseney Cases, who assisted with the multivortex vortex tracking and various physics discussions.
4+
- Angela White, who assisted with calculating the spectra and with a variety of physics discussions.
5+
- Tadhg Morgan and Neil Crowley, for initial discussions and codes for simulating cold atoms.
6+
- Thomas Busch, for guidance over the many areas of physics this code has touched upon.
7+

bin/RunTime.dat

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
╚═════╝ ╚═╝ ╚═════╝ ╚══════╝
1515

1616
GPUE - GPU Gross-Pitaevskii Equation solver
17-
Version 0.abs(exp(i*pi))
17+
Version abs(exp(i*pi))
1818

19-
http:://bitbucket.org/loriordan/gpue
19+
http:://github.com/gpue-group/gpue
2020

2121
#################################################
2222
#################################################

bin/batch_run.sh

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,3 @@
1-
#GPUE: Split Operator based GPU solver for Nonlinear
2-
#Schrodinger Equation, Copyright (C) 2011-2015, Lee J. O'Riordan
3-
#<loriordan@gmail.com>, Tadhg Morgan, Neil Crowley. All rights reserved.
4-
#Redistribution and use in source and binary forms, with or without
5-
#modification, are permitted provided that the following conditions are
6-
#met:
7-
#
8-
#1. Redistributions of source code must retain the above copyright
9-
#notice, this list of conditions and the following disclaimer.
10-
#
11-
#2. Redistributions in binary form must reproduce the above copyright
12-
#notice, this list of conditions and the following disclaimer in the
13-
#documentation and/or other materials provided with the distribution.
14-
#
15-
#3. Neither the name of the copyright holder nor the names of its
16-
#contributors may be used to endorse or promote products derived from
17-
#this software without specific prior written permission.
18-
#
19-
#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20-
#"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21-
#LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22-
#PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23-
#HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24-
#SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
25-
#TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26-
#PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27-
#LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28-
#NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29-
#SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
301
#!/bin/bash
312

323
#SBATCH --job-name=

bin/path.sh

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,2 @@
1-
#GPUE: Split Operator based GPU solver for Nonlinear
2-
#Schrodinger Equation, Copyright (C) 2011-2015, Lee J. O'Riordan
3-
#<loriordan@gmail.com>, Tadhg Morgan, Neil Crowley. All rights reserved.
4-
#Redistribution and use in source and binary forms, with or without
5-
#modification, are permitted provided that the following conditions are
6-
#met:
7-
#
8-
#1. Redistributions of source code must retain the above copyright
9-
#notice, this list of conditions and the following disclaimer.
10-
#
11-
#2. Redistributions in binary form must reproduce the above copyright
12-
#notice, this list of conditions and the following disclaimer in the
13-
#documentation and/or other materials provided with the distribution.
14-
#
15-
#3. Neither the name of the copyright holder nor the names of its
16-
#contributors may be used to endorse or promote products derived from
17-
#this software without specific prior written permission.
18-
#
19-
#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20-
#"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21-
#LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22-
#PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23-
#HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24-
#SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
25-
#TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26-
#PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27-
#LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28-
#NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29-
#SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30-
#!/bin/bash
311
export PATH=$PATH:/usr/local/cuda/bin:/usr/local/cuda/open64/bin
322
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64

bin/run.sh

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,3 @@
1-
#GPUE: Split Operator based GPU solver for Nonlinear
2-
#Schrodinger Equation, Copyright (C) 2011-2015, Lee J. O'Riordan
3-
#<loriordan@gmail.com>, Tadhg Morgan, Neil Crowley. All rights reserved.
4-
#Redistribution and use in source and binary forms, with or without
5-
#modification, are permitted provided that the following conditions are
6-
#met:
7-
#
8-
#1. Redistributions of source code must retain the above copyright
9-
#notice, this list of conditions and the following disclaimer.
10-
#
11-
#2. Redistributions in binary form must reproduce the above copyright
12-
#notice, this list of conditions and the following disclaimer in the
13-
#documentation and/or other materials provided with the distribution.
14-
#
15-
#3. Neither the name of the copyright holder nor the names of its
16-
#contributors may be used to endorse or promote products derived from
17-
#this software without specific prior written permission.
18-
#
19-
#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20-
#"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21-
#LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22-
#PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23-
#HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24-
#SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
25-
#TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26-
#PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27-
#LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28-
#NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29-
#SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
301
#!/bin/bash
312
i=0
323
EMAIL=$1

bin/run_params.conf

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,3 @@
1-
#GPUE: Split Operator based GPU solver for Nonlinear
2-
#Schrodinger Equation, Copyright (C) 2011-2015, Lee J. O'Riordan
3-
#<loriordan@gmail.com>, Tadhg Morgan, Neil Crowley. All rights reserved.
4-
#Redistribution and use in source and binary forms, with or without
5-
#modification, are permitted provided that the following conditions are
6-
#met:
7-
#
8-
#1. Redistributions of source code must retain the above copyright
9-
#notice, this list of conditions and the following disclaimer.
10-
#
11-
#2. Redistributions in binary form must reproduce the above copyright
12-
#notice, this list of conditions and the following disclaimer in the
13-
#documentation and/or other materials provided with the distribution.
14-
#
15-
#3. Neither the name of the copyright holder nor the names of its
16-
#contributors may be used to endorse or promote products derived from
17-
#this software without specific prior written permission.
18-
#
19-
#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20-
#"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21-
#LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22-
#PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23-
#HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24-
#SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
25-
#TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26-
#PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27-
#LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28-
#NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29-
#SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30-
#
311
# This files specifies the run-time parameters of the simulation(s).
322
# Each new line represents a new simulation. The file run.sh reads each
333
# line and creates a job until the maximum job number is reached.

bin/sanity_test.sh

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,3 @@
1-
#GPUE: Split Operator based GPU solver for Nonlinear
2-
#Schrodinger Equation, Copyright (C) 2011-2015, Lee J. O'Riordan
3-
#<loriordan@gmail.com>, Tadhg Morgan, Neil Crowley. All rights reserved.
4-
#Redistribution and use in source and binary forms, with or without
5-
#modification, are permitted provided that the following conditions are
6-
#met:
7-
#
8-
#1. Redistributions of source code must retain the above copyright
9-
#notice, this list of conditions and the following disclaimer.
10-
#
11-
#2. Redistributions in binary form must reproduce the above copyright
12-
#notice, this list of conditions and the following disclaimer in the
13-
#documentation and/or other materials provided with the distribution.
14-
#
15-
#3. Neither the name of the copyright holder nor the names of its
16-
#contributors may be used to endorse or promote products derived from
17-
#this software without specific prior written permission.
18-
#
19-
#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20-
#"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21-
#LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22-
#PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23-
#HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24-
#SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
25-
#TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26-
#PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27-
#LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28-
#NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29-
#SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30-
311
#!/bin/bash
322
FILE=$1
333
COUNTER=0

bin/upload_vids.sh

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,3 @@
1-
#GPUE: Split Operator based GPU solver for Nonlinear
2-
#Schrodinger Equation, Copyright (C) 2011-2015, Lee J. O'Riordan
3-
#<loriordan@gmail.com>, Tadhg Morgan, Neil Crowley. All rights reserved.
4-
#Redistribution and use in source and binary forms, with or without
5-
#modification, are permitted provided that the following conditions are
6-
#met:
7-
#
8-
#1. Redistributions of source code must retain the above copyright
9-
#notice, this list of conditions and the following disclaimer.
10-
#
11-
#2. Redistributions in binary form must reproduce the above copyright
12-
#notice, this list of conditions and the following disclaimer in the
13-
#documentation and/or other materials provided with the distribution.
14-
#
15-
#3. Neither the name of the copyright holder nor the names of its
16-
#contributors may be used to endorse or promote products derived from
17-
#this software without specific prior written permission.
18-
#
19-
#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20-
#"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21-
#LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22-
#PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23-
#HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24-
#SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
25-
#TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26-
#PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27-
#LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28-
#NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29-
#SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
301
#!/bin/bash
312
OLDPWD=$(pwd)
323
for i in $(cat ./ogg.txt | grep wfc);

0 commit comments

Comments
 (0)