Commit 7d1b7ca9 authored by Shriwise, Patrick's avatar Shriwise, Patrick
Browse files

Merge branch 'initial_input' into 'main'

Initial input

See merge request nstauff/PyGriffin!3
parents 818db069 1f699532
Loading
Loading
Loading
Loading
+314 −0
Original line number Diff line number Diff line
ChildExactlyOne=[ griffin ]
griffin{
    Description = "[optional] for Griffin calculations"
    MinOccurs=0
    MaxOccurs=1
    InputTmpl="griffin"
    macro_isotxs{
        Description = "Link to file containing multi-group macro cross-section data - if (previous), generated from MCC3 input"
        InputTmpl="flagtypes"
        MinOccurs=0
        MaxOccurs=1
        ValType=String
        InputDefault="link_to_file"
    }
    ChildExactlyOne = [ isoxml macro_isotxs shift_input ]
    isoxml{
        Description = "Link to file containing pre-generated ISOXML with multi-group cross-sections"
        InputTmpl="flagtypes"
        MinOccurs=0
        MaxOccurs=1
        ValType=String
        InputDefault="link_to_file"
    }
    ChildExactlyOne = [ mesh_input mesh_exodus shift_input ]
    mesh_input{
        Description = "Link to mesh input file - if (previous), generated from geometry input"
        InputTmpl="flagtypes"
        MinOccurs=0
        MaxOccurs=1
        ValType=String
        InputDefault="link_to_file"
    }
    shift_input{
        Description = "Link to Shift input file - if provided, Shift will be executed for XS tallying and to generate ISOXML, and Mesh will be generated"
        InputTmpl="flagtypes"
        MinOccurs=0
        MaxOccurs=1
        ValType=String
        InputDefault="link_to_file"
    }
    mesh_exodus{
         Description = "Link to mesh exodus file - if (previous), generated from geometry input"
         InputTmpl="flagtypes"
         MinOccurs=0
         MaxOccurs=1
         ValType=String
         InputDefault="link_to_file"
     }
    num_cpu_max_shift{
        Description = "Maximum number of CPUs used for parallelized Shift calculations"
        InputTmpl="flagtypes"
        ChildExactlyOne = [ "../shift_input_file" ]
        MinOccurs=0
        MaxOccurs=1
        ValType=Int
        MinValInc=1
        MaxValExc=NoLimit
        InputDefault=1
    }
    num_cpu_max_griffin{
        Description = "Maximum number of CPUs used for parallelized Griffin calculations"
        InputTmpl="flagtypes"
        MinOccurs=0
        MaxOccurs=1
        ValType=Int
        MinValInc=1
        MaxValExc=NoLimit
        InputDefault=1
    }
    mesh_options{
        Description = "Mesh options"
        InputTmpl="mesh_options"
        MinOccurs=0
        MaxOccurs=1

        ChildExactlyOne = [ "../shift_input" ]

        max_axial_mesh_size{
            Description = "Maximum axial mesh size"
            InputTmpl="flagtypes"
            MinOccurs=1
            MaxOccurs=1
            ValType=Real
            MinValExc=0
            MaxValExc=NoLimit
            InputDefault=0.05
        }
        max_radial_mesh_size{
            Description = "Maximum radial mesh size"
            InputTmpl="flagtypes"
            MinOccurs=1
            MaxOccurs=1
            ValType=Real
            MinValExc=0
            MaxValExc=NoLimit
            InputDefault=0.05
        }
    }
    ChildExactlyOne = [ griffin_input griffin_solver_options ]
    griffin_input{
        Description = "Link griffin input file"
        InputTmpl="flagtypes"
        MinOccurs=0
        MaxOccurs=1
        ValType=String
        InputDefault="link_to_file"
    }
    griffin_solver_options{
        Description = "Griffin solver options"
        InputTmpl="griffin_solver_options"
        MinOccurs=0
        MaxOccurs=1
        particle{
            Description = "TODO"
            InputTmpl="flagtypes"
            MinOccurs=1
            MaxOccurs=1
            ValType=String
            InputDefault= neutron
            ValEnums=[ "neutron" "gamma" ] # TODO 
        }
        equation_type{
            Description = "TODO"
            InputTmpl="flagtypes"
            MinOccurs=1
            MaxOccurs=1
            ValType=String
            InputDefault= eigenvalue
            ValEnums=[ "eigenvalue" "transient" ] # TODO 
        }
        scattering_order{
            Description = "TODO"
            InputTmpl="flagtypes"
            MinOccurs=1
            MaxOccurs=1
            ValType=Int
            MinValInc=0
            MaxValExc=NoLimit
        }
        use_array_variable{
            Description = "TODO"
            InputTmpl="flagtypes"
            MinOccurs=0
            MaxOccurs=1
            ValType=String
            InputDefault= true
            ValEnums=[ "true" "false" ]
        }
        ChildExactlyOne=[ dfem_sn cfem_diffusion saaf_sn ]
        dfem_sn{
            Description = "[optional] DFEM-SN option"
            InputTmpl="griffin_dfem_sn"
            MinOccurs=0
            MaxOccurs=1
            element{
                Description = "[optional] DFEM-SN option"
                InputTmpl="TODO"
                MinOccurs=1
                MaxOccurs=1
                family{
                    Description = "TODO"
                    InputTmpl="flagtypes"
                    MinOccurs=1
                    MaxOccurs=1
                    ValType=String
                    InputDefault= L2_LAGRANGE
                    ValEnums=[ "L2_LAGRANGE" ] # TODO 
                }
                order{
                    Description = "TODO"
                    InputTmpl="flagtypes"
                    MinOccurs=1
                    MaxOccurs=1
                    ValType=String
                    InputDefault= FIRST
                    ValEnums=[ "FIRST" ] # TODO 
                }
            }
            ChildExactlyOne=[ GaussChebyshev LevelSymmetrinc ]
            GaussChebyshev{
                Description = "[optional] Quadrature"
                InputTmpl="TODO"
                MinOccurs=0
                MaxOccurs=1
                NPolar{
                    Description = "Polar"
                    MinOccurs=1
                    MaxOccurs=1
                    ValType=Int
                    MinValInc=0
                    MaxValExc=NoLimit
                }
                NAzymuthal{
                    Description = "Azymuthal"
                    MinOccurs=1
                    MaxOccurs=1
                    ValType=Int
                    MinValInc=0
                    MaxValExc=NoLimit
                }
            }
            LevelSymmetrinc{
                Description = "[optional] Quadrature"
                InputTmpl="TODO"
                MinOccurs=0
                MaxOccurs=1
                order{
                    Description = "Polar"
                    MinOccurs=1
                    MaxOccurs=1
                    ValType=Int
                    MinValInc=0
                    MaxValExc=NoLimit
                }
            }
        }
        cfem_diffusion{
            Description = "[optional] CFEM-Diffusion option"
            InputTmpl="TODO"
            MinOccurs=0
            MaxOccurs=1
        }
        saaf_sn{
            Description = "[optional] SAAF-SN option"
            InputTmpl="TODO"
            MinOccurs=0
            MaxOccurs=1
        }
        executioner{
            Description = "[required] executioner"
            InputTmpl="griffin_executioner"
            MinOccurs=0
            MaxOccurs=1
            convergence_tolerance{
                Description = "[optional] convergence tolerance"
                InputTmpl="TODO"
                MinOccurs=0
                MaxOccurs=1
                nl_abs{
                    Description = "non-linear absolute convergence"
                    InputTmpl="flagtypes"
                    MinOccurs=0
                    MaxOccurs=1
                    ValType=Real
                    MinValExc=0
                    MaxValExc=NoLimit
                    InputDefault=1e-6
                }
                nl_rel{
                    Description = "TODO"
                    InputTmpl="flagtypes"
                    MinOccurs=0
                    MaxOccurs=1
                    ValType=Real
                    MinValExc=0
                    MaxValExc=NoLimit
                    InputDefault=1e-6
                }
                l_abs{
                    Description = "TODO"
                    InputTmpl="flagtypes"
                    MinOccurs=0
                    MaxOccurs=1
                    ValType=Real
                    MinValExc=0
                    MaxValExc=NoLimit
                    InputDefault=1e-6
                }
            }
            iteration{
                Description = "[optional] iteration"
                InputTmpl="TODO"
                MinOccurs=0
                MaxOccurs=1
                nl_max{
                    Description = "TODO"
                    InputTmpl="flagtypes"
                    MinOccurs=0
                    MaxOccurs=1
                    ValType=Int
                    MinValExc=0
                    MaxValExc=NoLimit
                    InputDefault=100
                }
                l_max{
                    Description = "TODO"
                    InputTmpl="flagtypes"
                    MinOccurs=0
                    MaxOccurs=1
                    ValType=Int
                    MinValExc=0
                    MaxValExc=NoLimit
                    InputDefault=100
                }
                free_power{
                    Description = "TODO"
                    InputTmpl="flagtypes"
                    MinOccurs=0
                    MaxOccurs=1
                    ValType=Int
                    MinValExc=0
                    MaxValExc=NoLimit
                    InputDefault=100
                }
            }
            petsc_option{
                Description = "[optional] PETSC options"
                InputTmpl="TODO"
                MinOccurs=0
                MaxOccurs=1
            }
        }
    }
}
+0 −0

Empty file added.

+11 −0
Original line number Diff line number Diff line
commentDelimiter = "%"
enabled = true
extensions = [son]
highlighter = "pygriffin.wbh"
maxDepth = 4
name = PyGriffin
nav = PyGriffin % indicates navigation logic for PyGriffin documents
parser = waspson
schema = "pygriffin.sch"
templates = "templates"
validator = wasp
+70 −0
Original line number Diff line number Diff line
rule("Comment") {
    foreground {
        red = 0
        green = 128
        blue = 0
    }
    italic = true
    pattern = "(^'|%|//).*"
}
rule("Double-quoted string") {
    foreground {
        red = 128
        green = 0
        blue = 0
    }
    pattern = '"[^"]*"'
}
rule("Single-quoted string") {
    foreground {
        red = 128
        green = 0
        blue = 0
    }
    pattern = "'[^']*'"
}
rule("Sequence") {
    bold = true
    foreground {
        red = 0
        green = 0
        blue = 0
    }
    pattern = "^(=\S+|end\s*$)"
}
%rule("Keyword") {
%    bold = true
%    foreground {
%        red = 0
%        green = 0
%        blue = 128
%    }
%    pattern = "\s*((read|end)\s+\S+|end\s*$)"
%}
rule("Number") {
    bold = true
    foreground {
        red = 128
        green = 0
        blue = 0
    }
    pattern = "\b[-+]?(\d+\.?\d*|\.\d+)([eE][-+]?\d+)?\b"
}
rule("Keyword") {
    bold = true
    foreground {
        red = 0
        green = 0
        blue = 128
    }
    pattern = "\([^)]+\)"
}
rule("List Elements") {
    bold = true
    foreground {
        red = 0
        green = 128
        blue = 128
    }
    pattern = "\[[^]]+\]"
}
+6 −0
Original line number Diff line number Diff line
griffin{
    macro_isotxs = previous
    mesh_input   = previous

    griffin_solver_options{}
}
Loading