Commit 10482fe1 authored by Cianciosa, Mark's avatar Cianciosa, Mark
Browse files

Merge add_option_values with add_option. Add mutex to so only write the help...

Merge add_option_values with add_option. Add mutex to so only write the help from one thread. Add a test for the xrays driver.
parent e48c1be7
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -282,6 +282,11 @@ target_link_libraries (llvm_dep

add_subdirectory (graph_framework)

#-------------------------------------------------------------------------------
#  Setup testing
#-------------------------------------------------------------------------------
enable_testing ()

#-------------------------------------------------------------------------------
#  Tool setup
#-------------------------------------------------------------------------------
@@ -308,11 +313,6 @@ endmacro ()
add_subdirectory (graph_driver)
add_subdirectory (graph_benchmark)

#-------------------------------------------------------------------------------
#  Setup testing
#-------------------------------------------------------------------------------
enable_testing ()

#-------------------------------------------------------------------------------
#  Define macro function to register tests.
#-------------------------------------------------------------------------------
+31 −0
Original line number Diff line number Diff line
add_tool_target (xrays)

add_test (
    NAME xrays_test
    COMMAND $<TARGET_PROPERTY:xrays,BINARY_DIR>/xrays --absorption_model=weak_damping
                                                      --dispersion=ordinary_wave
                                                      --endtime=2.0
                                                      --equilibrium=efit
                                                      --equilibrium_file=${CMAKE_CURRENT_SOURCE_DIR}/../graph_tests/efit.nc
                                                      --init_kx_mean=-700.0
                                                      --init_ky_dist=normal
                                                      --init_ky_mean=-100.0
                                                      --init_ky_sigma=10.0
                                                      --init_kz_dist=normal
                                                      --init_kz_mean=0.0
                                                      --init_kz_sigma=10.0
                                                      --init_w_dist=normal
                                                      --init_w_mean=700
                                                      --init_w_sigma=10.0
                                                      --init_x_mean=1.0
                                                      --init_y_dist=normal
                                                      --init_y_mean=0.0
                                                      --init_y_sigma=0.05
                                                      --init_z_dist=normal
                                                      --init_z_mean=0.0
                                                      --init_z_sigma=0.05
                                                      --num_rays=1
                                                      --num_times=100000
                                                      --solver=rk4
                                                      --sub_steps=100
                                                      --use_cyl_xy
)
+1 −1
Original line number Diff line number Diff line
./graph_driver/xrays --absorption_model=weak_damping --dispersion=ordinary_wave --endtime=2.0 --equilibrium=efit --equilibrium_file=../graph_tests/efit.nc --init_kx_mean=-700.0 --init_ky_dist=normal --init_ky_mean=-100.0 --init_ky_sigma=10.0 --init_kz_dist=normal --init_kz_mean=0.0 --init_kz_sigma=10.0 --init_w_dist=normal --init_w_mean=700 --init_w_sigma=10.0 --init_x_mean=1.0 --init_y_dist=normal --init_y_mean=0.0 --init_y_sigma=0.05 --init_z_dist=normal --init_z_mean=0.0 --init_z_sigma=0.05 --num_rays=100000 --num_times=100000 --solver=rk4 --sub_steps=100 --use_cyl_xy
./graph_driver/xrays --absorption_model=weak_damping --dispersion=ordinary_wave --endtime=2.0 --equilibrium=efit --equilibrium_file=../graph_tests/efit.nc --init_kx_mean=-700.0 --init_ky_dist=normal --init_ky_mean=-100.0 --init_ky_sigma=10.0 --init_kz_dist=normal --init_kz_mean=0.0 --init_kz_sigma=10.0 --init_w_dist=normal --init_w_mean=700 --init_w_sigma=10.0 --init_x_mean=1.0 --init_y_dist=normal --init_y_mean=0.0 --init_y_sigma=0.05 --init_z_dist=normal --init_z_mean=0.0 --init_z_sigma=0.05 --num_rays=100000 --num_times=100000 --solver=rk4 --sub_steps=100 --use_cyl_xy --verbose
+11 −22
Original line number Diff line number Diff line
@@ -780,79 +780,68 @@ commandline::parser parse_commandline(int argc, const char * argv[]) {
    cl.add_option("endtime",           true,  "End time.");
    cl.add_option("print_expressions", false, "Print out rays expressions.");
    cl.add_option("print",             false, "Print sample rays to screen.");
    cl.add_option("solver",            true,  "Solver method.");
    cl.add_option_values("solver", {
    cl.add_option("solver",            true,  "Solver method.", {
        "split_simplextic",
        "rk2",
        "rk4",
        "adaptive_rk4"
    });
    cl.add_option("dispersion",        true,  "Disperison method.");
    cl.add_option_values("dispersion", {
    cl.add_option("dispersion",        true,  "Disperison method.", {
        "simple",
        "bohm_gross",
        "ordinary_wave",
        "extra_ordinary_wave",
        "cold_plasma"
    });
    cl.add_option("equilibrium",       true,  "Equilibrium to use.");
    cl.add_option_values("equilibrium", {
    cl.add_option("equilibrium",       true,  "Equilibrium to use.", {
        "efit",
        "vmec"
    });
    cl.add_option("equilibrium_file",  true,  "File to read the equilibrum from.");
    cl.add_option("init_w_dist",       true,  "Inital omega distribution.");
    cl.add_option_values("init_w_dist", {
    cl.add_option("init_w_dist",       true,  "Inital omega distribution.", {
        "uniform",
        "normal"
    });
    cl.add_option("init_w_mean",       true,  "Inital omega mean");
    cl.add_option("init_w_sigma",      true,  "Inital omega sigma");
    cl.add_option("init_kx_dist",      true,  "Inital kx distribution.");
    cl.add_option_values("init_kx_dist", {
    cl.add_option("init_kx_dist",      true,  "Inital kx distribution.", {
        "uniform",
        "normal"
    });
    cl.add_option("init_kx_mean",      true,  "Inital kx mean");
    cl.add_option("init_kx_sigma",     true,  "Inital kx sigma");
    cl.add_option("init_ky_dist",      true,  "Inital ky distribution.");
    cl.add_option_values("init_ky_dist", {
    cl.add_option("init_ky_dist",      true,  "Inital ky distribution.", {
        "uniform",
        "normal"
    });
    cl.add_option("init_ky_mean",      true,  "Inital ky mean");
    cl.add_option("init_ky_sigma",     true,  "Inital ky sigma");
    cl.add_option("init_kz_dist",      true,  "Inital kz distribution.");
    cl.add_option_values("init_kz_dist", {
    cl.add_option("init_kz_dist",      true,  "Inital kz distribution.", {
        "uniform",
        "normal"
    });
    cl.add_option("init_kz_mean",      true,  "Inital kz mean");
    cl.add_option("init_kz_sigma",     true,  "Inital kz sigma");
    cl.add_option("init_x_dist",       true,  "Inital x distribution.");
    cl.add_option_values("init_x_dist", {
    cl.add_option("init_x_dist",       true,  "Inital x distribution.", {
        "uniform",
        "normal"
    });
    cl.add_option("init_x_mean",       true,  "Inital x mean");
    cl.add_option("init_x_sigma",      true,  "Inital x sigma");
    cl.add_option("init_y_dist",       true,  "Inital y distribution.");
    cl.add_option_values("init_y_dist", {
    cl.add_option("init_y_dist",       true,  "Inital y distribution.", {
        "uniform",
        "normal"
    });
    cl.add_option("init_y_mean",       true,  "Inital y mean");
    cl.add_option("init_y_sigma",      true,  "Inital y sigma");
    cl.add_option("init_z_dist",       true,  "Inital z distribution.");
    cl.add_option_values("init_z_dist", {
    cl.add_option("init_z_dist",       true,  "Inital z distribution.", {
        "uniform",
        "normal"
    });
    cl.add_option("init_z_mean",       true,  "Inital z mean");
    cl.add_option("init_z_sigma",      true,  "Inital z sigma");
    cl.add_option("use_cyl_xy",        false, "Use cylindical coordinates for x and y.");
    cl.add_option("absorption_model",  true,  "Power absoption model to use.");
    cl.add_option_values("absorption_model", {
    cl.add_option("absorption_model",  true,  "Power absoption model to use.", {
        "root_find",
        "weak_damping"
    });
+2 −0
Original line number Diff line number Diff line
@@ -275,6 +275,7 @@
		C70AA9792AB48FE2002DAF1C /* absorption.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = absorption.hpp; sourceTree = "<group>"; };
		C70B705629F4F86A00098AA0 /* piecewise.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = piecewise.hpp; sourceTree = "<group>"; };
		C70D93132A30FF4E006A4227 /* special_functions.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = special_functions.hpp; sourceTree = "<group>"; };
		C7107DBE2C489FE500C6C10F /* efit_example.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = efit_example.sh; sourceTree = "<group>"; };
		C713425B29413F0500672AD4 /* jit.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = jit.hpp; sourceTree = "<group>"; };
		C713425C2942665300672AD4 /* register.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = register.hpp; sourceTree = "<group>"; };
		C71342652947D57900672AD4 /* metal_context.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = metal_context.hpp; sourceTree = "<group>"; };
@@ -557,6 +558,7 @@
			children = (
				C7931E7128073BF30033B488 /* CMakeLists.txt */,
				C79141B522DAAD0C00E0BA0D /* xrays.cpp */,
				C7107DBE2C489FE500C6C10F /* efit_example.sh */,
			);
			path = graph_driver;
			sourceTree = "<group>";
Loading