The Velocity Gradient Technique (VGT) code, as of the private repository LazTech-VGT
, merged with LazTech-VGT-new
.
Last Updated: May 4 2022 by Ka Ho Yuen ([email protected])
This is the main code for the Velocity Gradient Technique (Yuen & Lazarian 2017a,b, Lazarian et.al 2017, Lazarian & Yuen 2018ab, Yuen et.al 2018a, Lazarian et.a 2018a, Hu et.al 2018a)
The code embedded here records the development of the codes over the past few years (since 2017), which some of the codes might not be up-to-date. For each file they have their own license file. You are free to edit them as long as proper acknowledgment is given.
Either
- Julia 1.6.2 (or Julia > 1.0) is the only application you need to install now, or
- Use a Docker
Unless explicitly mentioned, the author of the module is by default Ka Ho Yuen (KH).
The minimal version of VGT are listed as follows:
startup.sh
orstartup.bat
: Quick start command for windows and linux user.LazInstaller.jl
: Install Julia packages for the project.
LazIO.jl
: deal with simple I/OLazType.jl
: define universal type alias in the project
LazCyvecd.jl
: The module supporting the three modules above in terms of vector operations.LazCore.jl
: The base module corresponding to Yuen & Lazarian 2017a,b, and Lazarian & Yuen 2018a.LazPCA.jl
: The new technique introduced from Lazarian et.al 2018a and Hu et.al 2018a, written with Yue Hu.LazCFA.jl
: The core module for computing the anisotropy, used in Yuen et. al 2018a. Written by Ka Wai Ho and KH.LazMode.jl
: The mode code. But there are some issues now. CheckLazNewCh5.jl
.
There are extra modules established due to the development of the VGT
LazThermal.jl
: The core of the thermal broadening modules for our recently submitted replyLazRHT.jl
: A simple wrapper for the RHT (rht.py attached)LazSyntheticCube.jl
: A module allowing the synthesis of numerical cubes with a correct power law and anisotropy.LazThermal_Stochastic.jl
: The stochastic thermal broadening tool
GalToEqr.jl
: Provide essential Planck supportLazAMW.jl
: The moving window algorithm and its variant
LazGAC.jl
: The gradient amplitude and curvature related modulesLazVTK.jl
: Supports VTK IOLazTsallis.jl
: Tsallis parameters.LazVCA.jl
: See Yuen et.al 2019ath2h5.jl
: Ka Wai Ho's athena -> HDF5 module.- The 3D cube rotation and geometric transformation modules ( https://github.com/doraemonho/LazRotationDev)
- Filament-related modules (In
LazGAC.jl
now)
A statement should be included in the Acknowledgment section of any peer-reviewed journal papers:
This research is performed using the code
khyuen-VGT
developed by Ka Ho Yuen et.al under the support of NSF AST 1212096
Proper citations should be made according to the papers we quoted above.
Modifications and further developement of the code is free under the GPLv3:
GPLv3: https://www.gnu.org/licenses/
##############################################################################
#
# Copyright (c) 2016-2022
# Ka Ho Yuen, Ka Wai Ho, Yue Hu, Junda Chen and Alex Lazarian
# All Rights Reserved.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
##############################################################################