|
606 | 606 | # 6. Function to display all known literature models |
607 | 607 | ####################################################### |
608 | 608 |
|
609 | | -function display_all_literature_models() |
| 609 | +@doc raw""" |
| 610 | + display_all_literature_models(model_fields::Dict{String,<:Any} = Dict{String,Any}()) |
| 611 | +
|
| 612 | +Displays all literature models that satisfy the model_fields criteria. The fields currently supported are those occuring in index.json. |
| 613 | +
|
| 614 | +```jldoctest |
| 615 | +julia> display_all_literature_models(Dict("gauge_algebra" => ["u(1)", "su(2)", "su(3)"])) |
| 616 | +Model 33: |
| 617 | +Dict{String, Any}("journal_section" => "3", "arxiv_page" => "67", "arxiv_id" => "1408.4808", "gauge_algebra" => Any["su(3)", "su(2)", "u(1)"], "arxiv_version" => "2", "journal_equation" => "3.141", "journal_page" => "67", "arxiv_equation" => "3.142", "journal_doi" => "10.1007/JHEP01(2015)142", "arxiv_section" => "3", "journal" => "JHEP", "file" => "model1408_4808-11-WSF.json", "arxiv_doi" => "10.48550/arXiv.1408.4808", "model_index" => "33", "type" => "weierstrass") |
| 618 | +
|
| 619 | +Model 34: |
| 620 | +Dict{String, Any}("journal_section" => "3", "arxiv_page" => "67", "arxiv_id" => "1408.4808", "gauge_algebra" => Any["su(3)", "su(2)", "u(1)"], "arxiv_version" => "2", "journal_equation" => "3.141", "journal_page" => "67", "arxiv_equation" => "3.142", "journal_doi" => "10.1007/JHEP01(2015)142", "arxiv_section" => "3", "journal" => "JHEP", "file" => "model1408_4808-11.json", "arxiv_doi" => "10.48550/arXiv.1408.4808", "model_index" => "34", "type" => "hypersurface") |
| 621 | +
|
| 622 | +Model 39: |
| 623 | +Dict{String, Any}("journal_section" => "3", "arxiv_page" => "75", "arxiv_id" => "1408.4808", "gauge_algebra" => Any["su(3)", "su(2)", "su(2)", "u(1)"], "arxiv_version" => "2", "journal_equation" => "3.167", "journal_page" => "75", "arxiv_equation" => "3.168", "journal_doi" => "10.1007/JHEP01(2015)142", "arxiv_section" => "3", "journal" => "JHEP", "file" => "model1408_4808-14-WSF.json", "arxiv_doi" => "10.48550/arXiv.1408.4808", "model_index" => "39", "type" => "weierstrass") |
| 624 | +
|
| 625 | +Model 40: |
| 626 | +Dict{String, Any}("journal_section" => "3", "arxiv_page" => "75", "arxiv_id" => "1408.4808", "gauge_algebra" => Any["su(3)", "su(2)", "su(2)", "u(1)"], "arxiv_version" => "2", "journal_equation" => "3.167", "journal_page" => "75", "arxiv_equation" => "3.168", "journal_doi" => "10.1007/JHEP01(2015)142", "arxiv_section" => "3", "journal" => "JHEP", "file" => "model1408_4808-14.json", "arxiv_doi" => "10.48550/arXiv.1408.4808", "model_index" => "40", "type" => "hypersurface") |
| 627 | +
|
| 628 | +Model 45: |
| 629 | +Dict{String, Any}("journal_section" => "", "arxiv_page" => "2", "arxiv_id" => "1903.00009", "gauge_algebra" => Any["su(3)", "su(2)", "u(1)"], "arxiv_version" => "3", "journal_equation" => "2", "journal_page" => "2", "arxiv_equation" => "2", "journal_doi" => "10.1103/PhysRevLett.123.101601", "arxiv_section" => "II", "journal" => "Physical Review Letters", "file" => "model1903.00009.json", "arxiv_doi" => "10.48550/arXiv.1903.00009", "model_index" => "45", "type" => "hypersurface") |
| 630 | +
|
| 631 | +julia> display_all_literature_models(Dict("gauge_algebra" => "e")) |
| 632 | +Model 8: |
| 633 | +Dict{String, Any}("journal_section" => "", "arxiv_page" => "49", "arxiv_id" => "1212.2949", "gauge_algebra" => Any["e(6)"], "arxiv_version" => "2", "journal_equation" => "", "journal_page" => "", "arxiv_equation" => "5.1", "journal_doi" => "10.1007/JHEP04(2013)061", "arxiv_section" => "5.1", "journal" => "JHEP", "file" => "model1212_2949-5.json", "arxiv_doi" => "10.48550/arXiv.1212.2949", "model_index" => "8", "type" => "tate") |
| 634 | +
|
| 635 | +Model 9: |
| 636 | +Dict{String, Any}("journal_section" => "", "arxiv_page" => "49", "arxiv_id" => "1212.2949", "gauge_algebra" => Any["e(7)"], "arxiv_version" => "2", "journal_equation" => "", "journal_page" => "", "arxiv_equation" => "5.7", "journal_doi" => "10.1007/JHEP04(2013)061", "arxiv_section" => "5.1", "journal" => "JHEP", "file" => "model1212_2949-6.json", "arxiv_doi" => "10.48550/arXiv.1212.2949", "model_index" => "9", "type" => "tate") |
| 637 | +
|
| 638 | +Model 10: |
| 639 | +Dict{String, Any}("journal_section" => "", "arxiv_page" => "49", "arxiv_id" => "1212.2949", "gauge_algebra" => Any["e(8)"], "arxiv_version" => "2", "journal_equation" => "", "journal_page" => "", "arxiv_equation" => "5.13", "journal_doi" => "10.1007/JHEP04(2013)061", "arxiv_section" => "5.1", "journal" => "JHEP", "file" => "model1212_2949-7.json", "arxiv_doi" => "10.48550/arXiv.1212.2949", "model_index" => "10", "type" => "tate") |
| 640 | +``` |
| 641 | +""" |
| 642 | +function display_all_literature_models(model_fields::Dict{String,<:Any} = Dict{String,Any}()) |
610 | 643 | file_index = JSON.parsefile(joinpath(@__DIR__, "index.json")) |
| 644 | + @req issubset(keys(model_fields), keys(file_index[1])) "The inputted criteria aren't supported" |
| 645 | + for field in keys(model_fields) |
| 646 | + if field == "gauge_algebra" |
| 647 | + for s in model_fields["gauge_algebra"] |
| 648 | + filter!(x -> occursin(s, join(x["gauge_algebra"])), file_index) |
| 649 | + end |
| 650 | + else |
| 651 | + filter!(x -> x[field] == model_fields[field], file_index) |
| 652 | + end |
| 653 | + end |
| 654 | + if length(file_index) == 0 |
| 655 | + println("No such models found in database") |
| 656 | + end |
611 | 657 | sorted_dicts = sort(file_index, by = x -> parse(Int, x["model_index"])) |
612 | 658 | for dict in sorted_dicts |
613 | 659 | print("Model $(dict["model_index"]):\n") |
|
0 commit comments