From bdb3495241c0d64236ef67be8d214251a66bc292 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 7 Jan 2025 11:54:36 +0000 Subject: [PATCH 01/48] Initial files --- .clang-format | 31 ++ .gitignore | 329 ++++++++++++ LICENSE | 502 ++++++++++++++++++ Makefile | 65 +++ README.md | 6 + doc/config.yml | 20 + doc/content/index.md | 3 + doc/moosedocs.py | 29 + doc/sqa_reports.yml | 6 + include/base/IcarusApp.h | 24 + run_tests | 12 + scripts/install-format-hook.sh | 26 + src/base/IcarusApp.C | 51 ++ src/main.C | 18 + test/include/base/IcarusTestApp.h | 24 + test/src/base/IcarusTestApp.C | 63 +++ .../gold/simple_diffusion_out.e | Bin 0 -> 19804 bytes .../simple_diffusion/simple_diffusion.i | 44 ++ test/tests/kernels/simple_diffusion/tests | 10 + testroot | 4 + unit/Makefile | 70 +++ unit/include/place_holder | 0 unit/run_tests | 18 + unit/src/SampleTest.C | 32 ++ unit/src/main.C | 33 ++ 25 files changed, 1420 insertions(+) create mode 100644 .clang-format create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 README.md create mode 100644 doc/config.yml create mode 100644 doc/content/index.md create mode 100755 doc/moosedocs.py create mode 100644 doc/sqa_reports.yml create mode 100644 include/base/IcarusApp.h create mode 100755 run_tests create mode 100755 scripts/install-format-hook.sh create mode 100644 src/base/IcarusApp.C create mode 100644 src/main.C create mode 100644 test/include/base/IcarusTestApp.h create mode 100644 test/src/base/IcarusTestApp.C create mode 100644 test/tests/kernels/simple_diffusion/gold/simple_diffusion_out.e create mode 100644 test/tests/kernels/simple_diffusion/simple_diffusion.i create mode 100644 test/tests/kernels/simple_diffusion/tests create mode 100644 testroot create mode 100644 unit/Makefile create mode 100644 unit/include/place_holder create mode 100755 unit/run_tests create mode 100644 unit/src/SampleTest.C create mode 100644 unit/src/main.C diff --git a/.clang-format b/.clang-format new file mode 100644 index 00000000..165b53b5 --- /dev/null +++ b/.clang-format @@ -0,0 +1,31 @@ +BasedOnStyle: LLVM + +TabWidth: 2 +ColumnLimit: 100 +UseTab: Never + +CommentPragmas: '^/' +ReflowComments: true +AlignTrailingComments: true +SpacesBeforeTrailingComments: 1 + +SpaceBeforeParens: ControlStatements +SpacesInSquareBrackets: false +BreakBeforeBraces: Allman +PointerAlignment: Middle + +BinPackParameters: false +BinPackArguments: false +ConstructorInitializerAllOnOneLineOrOnePerLine: true +AllowShortBlocksOnASingleLine: false +AllowShortFunctionsOnASingleLine: true +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false + +SortIncludes: false +IndentCaseLabels: true +ConstructorInitializerIndentWidth: 2 +AlwaysBreakAfterDefinitionReturnType: TopLevel +AlwaysBreakTemplateDeclarations: true + +FixNamespaceComments: false diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..079dae41 --- /dev/null +++ b/.gitignore @@ -0,0 +1,329 @@ +.libs +*.la +*.lo +*.d +*.o +*.a +*-opt +*-optimized +*-dbg +*-debug +*-oprof +*-oprofile +*-pro +*-prof +*-profiling +*-devel +*.e +*.nav +*.log +*.aux +*.toc +*.snm +*.csv +*.csv.* +*.dylib +*.so +*.so.* +*.vrb +*.jou +*.pyc +*.mod +*.e.* +*.e-s* +*.cfg +*.lbd.* +*.nem +*.spd +*.pex +*.pdf +*.plist* +*.bbl +*.blg +*.spl +*.idx +traceout*.txt +temp_print_trace.* +*.xda +*.xda.* +*.xdr +*.xdr.* +*.mps +*.msmp +*.msmp-* +*.muds +# Latex garbage +*.lot +*.lof +*.poly +*.mpx +*.btr +*.tex-e +*.xml +*.xml.* +*.gmv +*.plt +*.slh +*.eps +*.dat +*.gp +*.plugin +*.outp +*.patch +*.txt +*.bib.bak +*.out +*.vtk +*.vtu +*.pvtu +*.zip +*.pt +*.net +.depend +*.png +*.svg +*.gif +*.tif +*.jpg +*.tiff +*.ps +*.bmp +*.mp4 +*.webm +*.ico +*.html +*.xyz +*Revision.h +*.json +*.json.* +*.bak +*.data +*.processor.* +.clang_complete +.failed_tests +failed-unittest +compile_commands.json +build +framework/contrib/libtorch +test.cache + +# Allow certain files in gold directories +!**/gold/*.e +!**/gold/*.e-s* +!**/gold/*.csv +!**/gold/*.csv.* +!**/gold/*.vtk +!**/gold/*.vtu +!**/gold/*.pvtu +!**/gold/*.xml* +!**/gold/*.json* + +peacock_run_tmp.i +yaml_dump* +test/tests/outputs/format/dump.i + +# Generated header file +MooseRevision.h + +# Precompiled headers +moose/include/base/Precompiled.h.gch + +# test garbagge +*.FAILED.txt + +# eclipse garbage +.project +.cproject +.metadata +.settings +.pydevproject + +# vim garbage +*~ +.*.swp +.*.swo + +framework/contrib/exodiff/exodiff + +# Mac garbage +.DS_Store +*.dSYM + +# Unit testing stuffbmoose_unit/test_results.xml +!unit/data/csv/*.csv + +# gcov code coverage files +*.gcno +*.gcda +*.gcov + +# paraview state files +*.pvsm + +#Peacock generated files +peacock_*.i +peacock_*.e + +# On linux, shared libs end in .0 sometimes +libpcre-opt* +libpcre-dbg* +libmoose-opt* +libmoose-dbg* + +#doxygen generated +*/doc/doxygen/html/* +*/doc/doxygen/**/* +moose/doc/doxygen/html/* +modules/*/doc/doxygen/html/* +tutorials/*/*/doc/doxygen/html/* +ICE/ +framework/contrib/asio/ + +# Restartable Data +*.rd +*.rd-* + +# Checkpoint Files +*.cpa.gz +*.cpr +*.cpa.gz-* +*.cpr-* + +# Ignore petsc arch +petsc/arch-*/* + +# phase_field/tests/solution_rasterizer +out.xyz + +# JIT and automatic differentiation cache files +.jitcache/ +.jitdir/ +tmp_jit_* + +# Do not store ipython notebook checkpoints +*-checkpoint.ipynb* + +# HIT +framework/contrib/hit/hit + +# MooseDocs +site +python/MooseDocs/test/output +!**/doc/content/**/*.md +!**/doc/content/**/*.jpg +!**/doc/content/**/*.jpeg +!**/doc/content/**/*.gif +!**/doc/content/**/*.png +!**/doc/content/**/*.svg +!**/doc/content/**/*.ogg +!**/doc/content/**/*.webm +!**/doc/content/**/*.mp4 +!**/doc/content/**/*.css +!**/doc/content/**/*.js +!**/doc/content/**/*.bib +!**/doc/content/**/*.woff +!**/doc/content/**/*.woff2 +!python/MooseDocs/test/gold/**/*.json +!python/MooseDocs/test/gold/**/*.html +!python/MooseDocs/test/gold/**/*.tex +.ruby-version + +# Chigger +!python/chigger/tests/**/gold/*.png +!python/chigger/tests/input/*.e* +!python/chigger/logos/*.png +!python/chigger/contrib/*.xml + +# Peacock +python/peacock/tests/exodus_tab/TestOutputPlugin_repr.py +python/peacock/tests/exodus_tab/TestExodusPluginManager_repr.py +python/peacock/tests/input_tab/InputFileEditor/fsp_test.i +python/peacock/tests/postprocessor_tab/TestPostprocessorPluginManager_test_script.py +!python/peacock/tests/**/gold/*.png +!python/peacock/icons/**/*.* +!python/peacock/tests/**/input/*.* +peacock_tmp_diff.exo +*.e.diff + +# configure +_configs.sed +autom4te.cache +config.status +*MooseConfig.h +*MooseConfig.h.tmp +conf_vars.mk + +# GPerf performance +*.prof +*.heap + +# MetaData files in Reactor Module tests +modules/reactor/test/tests/functions/multi_control_drum_function/positions_meta.data +modules/reactor/test/tests/meshgenerators/patterned_hex_mesh_generator/positions_meta.data + +# Ignore share directory +share/ + +# Ignore vscode local parameters +.vscode/* + +# App Resource file (including modules/) +/test/moose_test.yaml +/modules/functional_expansion_tools/functional_expansion_tools.yaml +/modules/solid_properties/solid_properties.yaml +/modules/electromagnetics/electromagnetics.yaml +/modules/contact/contact.yaml +/modules/external_petsc_solver/external_petsc_solver.yaml +/modules/xfem/xfem.yaml +/modules/stochastic_tools/stochastic_tools.yaml +/modules/scalar_transport/scalar_transport.yaml +/modules/navier_stokes/navier_stokes.yaml +/modules/chemical_reactions/chemical_reactions.yaml +/modules/optimization/optimization.yaml +/modules/peridynamics/peridynamics.yaml +/modules/ray_tracing/ray_tracing.yaml +/modules/phase_field/phase_field.yaml +/modules/heat_transfer/heat_transfer.yaml +/modules/tensor_mechanics/tensor_mechanics.yaml +/modules/richards/richards.yaml +/modules/solid_mechanics/solid_mechanics.yaml +/modules/level_set/level_set.yaml +/modules/combined/combined.yaml +/modules/fluid_properties/fluid_properties.yaml +/modules/porous_flow/porous_flow.yaml +/modules/geochemistry/geochemistry.yaml +/modules/thermal_hydraulics/thermal_hydraulics.yaml +/modules/reactor/reactor.yaml +/modules/rdg/rdg.yaml +/modules/fsi/fsi.yaml +/unit/moose-unit.yaml +/modules/functional_expansion_tools/unit/functional_expansion_tools-unit.yaml +/modules/solid_properties/unit/solid_properties-unit.yaml +/modules/electromagnetics/unit/electromagnetics-unit.yaml +/modules/contact/unit/contact-unit.yaml +/modules/external_petsc_solver/unit/external_petsc_solver-unit.yaml +/modules/xfem/unit/xfem-unit.yaml +/modules/stochastic_tools/unit/stochastic_tools-unit.yaml +/modules/scalar_transport/unit/scalar_transport-unit.yaml +/modules/navier_stokes/unit/navier_stokes-unit.yaml +/modules/chemical_reactions/unit/chemical_reactions-unit.yaml +/modules/optimization/unit/optimization-unit.yaml +/modules/peridynamics/unit/peridynamics-unit.yaml +/modules/ray_tracing/unit/ray_tracing-unit.yaml +/modules/phase_field/unit/phase_field-unit.yaml +/modules/heat_transfer/unit/heat_transfer-unit.yaml +/modules/tensor_mechanics/unit/tensor_mechanics-unit.yaml +/modules/richards/unit/richards-unit.yaml +/modules/level_set/unit/level_set-unit.yaml +/modules/combined/combined-unit.yaml +/modules/fluid_properties/unit/fluid_properties-unit.yaml +/modules/porous_flow/unit/porous_flow-unit.yaml +/modules/geochemistry/unit/geochemistry-unit.yaml +/modules/thermal_hydraulics/unit/thermal_hydraulics-unit.yaml +/modules/reactor/unit/reactor-unit.yaml +/modules/rdg/unit/rdg-unit.yaml +/modules/fsi/unit/fsi-unit.yaml +/modules/misc/misc.yaml +/tutorials/tutorial01_app_development/*/babbler.yaml +/tutorials/darcy_thermo_mech/*/darcy_thermo_mech.yaml +icarus.yaml diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..4362b491 --- /dev/null +++ b/LICENSE @@ -0,0 +1,502 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..9eeeb15e --- /dev/null +++ b/Makefile @@ -0,0 +1,65 @@ +############################################################################### +################### MOOSE Application Standard Makefile ####################### +############################################################################### +# +# Optional Environment variables +# MOOSE_DIR - Root directory of the MOOSE project +# +############################################################################### +# Use the MOOSE submodule if it exists and MOOSE_DIR is not set +MOOSE_SUBMODULE := $(CURDIR)/moose +ifneq ($(wildcard $(MOOSE_SUBMODULE)/framework/Makefile),) + MOOSE_DIR ?= $(MOOSE_SUBMODULE) +else + MOOSE_DIR ?= $(shell dirname `pwd`)/moose +endif + +# framework +FRAMEWORK_DIR := $(MOOSE_DIR)/framework +include $(FRAMEWORK_DIR)/build.mk +include $(FRAMEWORK_DIR)/moose.mk + +################################## MODULES #################################### +# To use certain physics included with MOOSE, set variables below to +# yes as needed. Or set ALL_MODULES to yes to turn on everything (overrides +# other set variables). + +ALL_MODULES := no + +CHEMICAL_REACTIONS := no +CONTACT := no +ELECTROMAGNETICS := no +EXTERNAL_PETSC_SOLVER := no +FLUID_PROPERTIES := no +FSI := no +FUNCTIONAL_EXPANSION_TOOLS := no +GEOCHEMISTRY := no +HEAT_TRANSFER := no +LEVEL_SET := no +MISC := no +NAVIER_STOKES := no +OPTIMIZATION := no +PERIDYNAMICS := no +PHASE_FIELD := no +POROUS_FLOW := no +RAY_TRACING := no +REACTOR := no +RDG := no +RICHARDS := no +SOLID_MECHANICS := no +STOCHASTIC_TOOLS := no +THERMAL_HYDRAULICS := no +XFEM := no + +include $(MOOSE_DIR)/modules/modules.mk +############################################################################### + +# dep apps +APPLICATION_DIR := $(CURDIR) +APPLICATION_NAME := icarus +BUILD_EXEC := yes +GEN_REVISION := no +include $(FRAMEWORK_DIR)/app.mk + +############################################################################### +# Additional special case targets should be added here diff --git a/README.md b/README.md new file mode 100644 index 00000000..56fb4dc4 --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +Icarus +===== + +Fork "Icarus" to create a new MOOSE-based application. + +For more information see: [https://mooseframework.org/getting_started/new_users.html#create-an-app](https://mooseframework.org/getting_started/new_users.html#create-an-app) diff --git a/doc/config.yml b/doc/config.yml new file mode 100644 index 00000000..5567d883 --- /dev/null +++ b/doc/config.yml @@ -0,0 +1,20 @@ +Content: + Icarus: + root_dir: ${ROOT_DIR}/doc/content + moose: + root_dir: ${MOOSE_DIR}/framework/doc/content + content: + - js/* + - css/* + - contrib/** + - media/** +Renderer: + type: MooseDocs.base.MaterializeRenderer +Extensions: + MooseDocs.extensions.navigation: + name: Icarus + MooseDocs.extensions.appsyntax: + executable: ${ROOT_DIR} + remove: !include ${MOOSE_DIR}/framework/doc/remove.yml + includes: + - include diff --git a/doc/content/index.md b/doc/content/index.md new file mode 100644 index 00000000..312c9506 --- /dev/null +++ b/doc/content/index.md @@ -0,0 +1,3 @@ +!config navigation breadcrumbs=False scrollspy=False + +# IcarusApp diff --git a/doc/moosedocs.py b/doc/moosedocs.py new file mode 100755 index 00000000..ce1a0ad7 --- /dev/null +++ b/doc/moosedocs.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 +#* This file is part of the MOOSE framework +#* https://www.mooseframework.org +#* +#* All rights reserved, see COPYRIGHT for full restrictions +#* https://github.com/idaholab/moose/blob/master/COPYRIGHT +#* +#* Licensed under LGPL 2.1, please see LICENSE for details +#* https://www.gnu.org/licenses/lgpl-2.1.html + +import sys +import os + +# Locate MOOSE directory +MOOSE_DIR = os.getenv('MOOSE_DIR', os.path.abspath(os.path.join(os.path.dirname(__name__), '..', 'moose'))) +if not os.path.exists(MOOSE_DIR): + MOOSE_DIR = os.path.abspath(os.path.join(os.path.dirname(__name__), '..', '..', 'moose')) +if not os.path.exists(MOOSE_DIR): + raise Exception('Failed to locate MOOSE, specify the MOOSE_DIR environment variable.') +os.environ['MOOSE_DIR'] = MOOSE_DIR + +# Append MOOSE python directory +MOOSE_PYTHON_DIR = os.path.join(MOOSE_DIR, 'python') +if MOOSE_PYTHON_DIR not in sys.path: + sys.path.append(MOOSE_PYTHON_DIR) + +from MooseDocs import main +if __name__ == '__main__': + sys.exit(main.run()) diff --git a/doc/sqa_reports.yml b/doc/sqa_reports.yml new file mode 100644 index 00000000..74ab6632 --- /dev/null +++ b/doc/sqa_reports.yml @@ -0,0 +1,6 @@ +Applications: + icarus: + app_types: + - IcarusApp + content_directory: ${ROOT_DIR}/doc/content + log_default: WARNING diff --git a/include/base/IcarusApp.h b/include/base/IcarusApp.h new file mode 100644 index 00000000..e1d9f3d5 --- /dev/null +++ b/include/base/IcarusApp.h @@ -0,0 +1,24 @@ +//* This file is part of the MOOSE framework +//* https://www.mooseframework.org +//* +//* All rights reserved, see COPYRIGHT for full restrictions +//* https://github.com/idaholab/moose/blob/master/COPYRIGHT +//* +//* Licensed under LGPL 2.1, please see LICENSE for details +//* https://www.gnu.org/licenses/lgpl-2.1.html + +#pragma once + +#include "MooseApp.h" + +class IcarusApp : public MooseApp +{ +public: + static InputParameters validParams(); + + IcarusApp(InputParameters parameters); + virtual ~IcarusApp(); + + static void registerApps(); + static void registerAll(Factory & f, ActionFactory & af, Syntax & s); +}; diff --git a/run_tests b/run_tests new file mode 100755 index 00000000..79f4fc56 --- /dev/null +++ b/run_tests @@ -0,0 +1,12 @@ +#!/usr/bin/env python3 +import sys, os + +MOOSE_DIR = os.path.abspath(os.environ.get('MOOSE_DIR', os.path.join(os.path.dirname(__file__), '..', 'moose'))) +if os.path.exists(os.path.abspath(os.path.join('moose', 'framework', 'Makefile'))): + MOOSE_DIR = os.path.abspath('moose') +MOOSE_DIR = os.environ.get('MOOSE_DIR', MOOSE_DIR) + +sys.path.append(os.path.join(MOOSE_DIR, 'python')) + +from TestHarness import TestHarness +TestHarness.buildAndRun(sys.argv, 'icarus', MOOSE_DIR) diff --git a/scripts/install-format-hook.sh b/scripts/install-format-hook.sh new file mode 100755 index 00000000..44a2037a --- /dev/null +++ b/scripts/install-format-hook.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +REPO_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/../" +hookfile="$REPO_DIR/.git/hooks/pre-commit" + +if [[ -f $hookfile ]]; then + echo "'$hookfile' already exists - aborting" 1>&2 + exit 1 +fi + +echo '#!/bin/bash +patch=$(git clang-format --diff -- $(git diff --staged --name-only -- src include tests unit)) +if [[ "$patch" =~ "no modified files to format" || "$patch" =~ "clang-format did not modify any files" ]]; then + echo "" > /dev/null +else + echo "" + echo "Your code is not properly formatted." >&2 + echo "Run 'git clang-format' to resolve the following issues:" >&2 + echo "" + echo "$patch" + exit 1 +fi +' > $hookfile + +chmod a+x $hookfile + diff --git a/src/base/IcarusApp.C b/src/base/IcarusApp.C new file mode 100644 index 00000000..5a60416c --- /dev/null +++ b/src/base/IcarusApp.C @@ -0,0 +1,51 @@ +#include "IcarusApp.h" +#include "Moose.h" +#include "AppFactory.h" +#include "ModulesApp.h" +#include "MooseSyntax.h" + +InputParameters +IcarusApp::validParams() +{ + InputParameters params = MooseApp::validParams(); + params.set("use_legacy_material_output") = false; + params.set("use_legacy_initial_residual_evaluation_behavior") = false; + return params; +} + +IcarusApp::IcarusApp(InputParameters parameters) : MooseApp(parameters) +{ + IcarusApp::registerAll(_factory, _action_factory, _syntax); +} + +IcarusApp::~IcarusApp() {} + +void +IcarusApp::registerAll(Factory & f, ActionFactory & af, Syntax & s) +{ + ModulesApp::registerAllObjects(f, af, s); + Registry::registerObjectsTo(f, {"IcarusApp"}); + Registry::registerActionsTo(af, {"IcarusApp"}); + + /* register custom execute flags, action syntax, etc. here */ +} + +void +IcarusApp::registerApps() +{ + registerApp(IcarusApp); +} + +/*************************************************************************************************** + *********************** Dynamic Library Entry Points - DO NOT MODIFY ****************************** + **************************************************************************************************/ +extern "C" void +IcarusApp__registerAll(Factory & f, ActionFactory & af, Syntax & s) +{ + IcarusApp::registerAll(f, af, s); +} +extern "C" void +IcarusApp__registerApps() +{ + IcarusApp::registerApps(); +} diff --git a/src/main.C b/src/main.C new file mode 100644 index 00000000..0cbd63f9 --- /dev/null +++ b/src/main.C @@ -0,0 +1,18 @@ +//* This file is part of the MOOSE framework +//* https://www.mooseframework.org +//* +//* All rights reserved, see COPYRIGHT for full restrictions +//* https://github.com/idaholab/moose/blob/master/COPYRIGHT +//* +//* Licensed under LGPL 2.1, please see LICENSE for details +//* https://www.gnu.org/licenses/lgpl-2.1.html + +#include "IcarusTestApp.h" +#include "MooseMain.h" + +// Begin the main program. +int +main(int argc, char * argv[]) +{ + return Moose::main(argc, argv); +} diff --git a/test/include/base/IcarusTestApp.h b/test/include/base/IcarusTestApp.h new file mode 100644 index 00000000..23cb1b65 --- /dev/null +++ b/test/include/base/IcarusTestApp.h @@ -0,0 +1,24 @@ +//* This file is part of the MOOSE framework +//* https://www.mooseframework.org +//* +//* All rights reserved, see COPYRIGHT for full restrictions +//* https://github.com/idaholab/moose/blob/master/COPYRIGHT +//* +//* Licensed under LGPL 2.1, please see LICENSE for details +//* https://www.gnu.org/licenses/lgpl-2.1.html + +#pragma once + +#include "MooseApp.h" + +class IcarusTestApp : public MooseApp +{ +public: + static InputParameters validParams(); + + IcarusTestApp(InputParameters parameters); + virtual ~IcarusTestApp(); + + static void registerApps(); + static void registerAll(Factory & f, ActionFactory & af, Syntax & s, bool use_test_objs = false); +}; diff --git a/test/src/base/IcarusTestApp.C b/test/src/base/IcarusTestApp.C new file mode 100644 index 00000000..eadecb0d --- /dev/null +++ b/test/src/base/IcarusTestApp.C @@ -0,0 +1,63 @@ +//* This file is part of the MOOSE framework +//* https://www.mooseframework.org +//* +//* All rights reserved, see COPYRIGHT for full restrictions +//* https://github.com/idaholab/moose/blob/master/COPYRIGHT +//* +//* Licensed under LGPL 2.1, please see LICENSE for details +//* https://www.gnu.org/licenses/lgpl-2.1.html +#include "IcarusTestApp.h" +#include "IcarusApp.h" +#include "Moose.h" +#include "AppFactory.h" +#include "MooseSyntax.h" + +InputParameters +IcarusTestApp::validParams() +{ + InputParameters params = IcarusApp::validParams(); + params.set("use_legacy_material_output") = false; + params.set("use_legacy_initial_residual_evaluation_behavior") = false; + return params; +} + +IcarusTestApp::IcarusTestApp(InputParameters parameters) : MooseApp(parameters) +{ + IcarusTestApp::registerAll( + _factory, _action_factory, _syntax, getParam("allow_test_objects")); +} + +IcarusTestApp::~IcarusTestApp() {} + +void +IcarusTestApp::registerAll(Factory & f, ActionFactory & af, Syntax & s, bool use_test_objs) +{ + IcarusApp::registerAll(f, af, s); + if (use_test_objs) + { + Registry::registerObjectsTo(f, {"IcarusTestApp"}); + Registry::registerActionsTo(af, {"IcarusTestApp"}); + } +} + +void +IcarusTestApp::registerApps() +{ + registerApp(IcarusApp); + registerApp(IcarusTestApp); +} + +/*************************************************************************************************** + *********************** Dynamic Library Entry Points - DO NOT MODIFY ****************************** + **************************************************************************************************/ +// External entry point for dynamic application loading +extern "C" void +IcarusTestApp__registerAll(Factory & f, ActionFactory & af, Syntax & s) +{ + IcarusTestApp::registerAll(f, af, s); +} +extern "C" void +IcarusTestApp__registerApps() +{ + IcarusTestApp::registerApps(); +} diff --git a/test/tests/kernels/simple_diffusion/gold/simple_diffusion_out.e b/test/tests/kernels/simple_diffusion/gold/simple_diffusion_out.e new file mode 100644 index 0000000000000000000000000000000000000000..26b05edab2e59e58b7ebd7cc86879bfaf03c1f0d GIT binary patch literal 19804 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 +#include + +GTEST_API_ int +main(int argc, char ** argv) +{ + // gtest removes (only) its args from argc and argv - so this must be before moose init + testing::InitGoogleTest(&argc, argv); + + MooseInit init(argc, argv); + registerApp(IcarusApp); + Moose::_throw_on_error = true; + Moose::_throw_on_warning = true; + + return RUN_ALL_TESTS(); +} From efdcf6e92eb2a34ad452d3a887f631e988b37886 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Wed, 15 Jan 2025 13:15:08 +0000 Subject: [PATCH 02/48] Files to simulate ground truth and generate perturbed datasets, with some results --- Makefile | 8 +- generate_2d_dataset.py | 53 ++ monoblock_3d_thermal.i | 753 ++++++++++++++++++ moose-config.json | 5 + .../bcs/sim-workdir-1/sim-1-1.i | 86 ++ .../bcs/sim-workdir-2/sim-1-2.i | 86 ++ .../bcs/sim-workdir-3/sim-1-3.i | 86 ++ .../bcs/sim-workdir-4/sim-1-4.i | 86 ++ .../geometry/sim-workdir-1/sim-1-1.i | 86 ++ .../geometry/sim-workdir-2/sim-1-2.i | 86 ++ .../geometry/sim-workdir-3/sim-1-3.i | 86 ++ .../geometry/sim-workdir-4/sim-1-4.i | 86 ++ .../sim-workdir-1/output-key-1.json | 26 + .../material_props/sim-workdir-1/sim-1-1.i | 86 ++ .../sim-workdir-1/sweep-vars-1.json | 58 ++ .../material_props/sim-workdir-2/sim-1-2.i | 86 ++ .../material_props/sim-workdir-3/sim-1-3.i | 86 ++ .../material_props/sim-workdir-4/sim-1-4.i | 86 ++ .../material_props/sim-workdir-5/sim-1-5.i | 86 ++ .../material_props/sim-workdir-6/sim-1-6.i | 86 ++ .../material_props/sim-workdir-7/sim-1-7.i | 86 ++ .../material_props/sim-workdir-8/sim-1-8.i | 86 ++ plate_2d_thermal.i | 86 ++ 23 files changed, 2361 insertions(+), 4 deletions(-) create mode 100644 generate_2d_dataset.py create mode 100644 monoblock_3d_thermal.i create mode 100644 moose-config.json create mode 100644 perturbed_datasets/bcs/sim-workdir-1/sim-1-1.i create mode 100644 perturbed_datasets/bcs/sim-workdir-2/sim-1-2.i create mode 100644 perturbed_datasets/bcs/sim-workdir-3/sim-1-3.i create mode 100644 perturbed_datasets/bcs/sim-workdir-4/sim-1-4.i create mode 100644 perturbed_datasets/geometry/sim-workdir-1/sim-1-1.i create mode 100644 perturbed_datasets/geometry/sim-workdir-2/sim-1-2.i create mode 100644 perturbed_datasets/geometry/sim-workdir-3/sim-1-3.i create mode 100644 perturbed_datasets/geometry/sim-workdir-4/sim-1-4.i create mode 100644 perturbed_datasets/material_props/sim-workdir-1/output-key-1.json create mode 100644 perturbed_datasets/material_props/sim-workdir-1/sim-1-1.i create mode 100644 perturbed_datasets/material_props/sim-workdir-1/sweep-vars-1.json create mode 100644 perturbed_datasets/material_props/sim-workdir-2/sim-1-2.i create mode 100644 perturbed_datasets/material_props/sim-workdir-3/sim-1-3.i create mode 100644 perturbed_datasets/material_props/sim-workdir-4/sim-1-4.i create mode 100644 perturbed_datasets/material_props/sim-workdir-5/sim-1-5.i create mode 100644 perturbed_datasets/material_props/sim-workdir-6/sim-1-6.i create mode 100644 perturbed_datasets/material_props/sim-workdir-7/sim-1-7.i create mode 100644 perturbed_datasets/material_props/sim-workdir-8/sim-1-8.i create mode 100644 plate_2d_thermal.i diff --git a/Makefile b/Makefile index 9eeeb15e..64d6dfb4 100644 --- a/Makefile +++ b/Makefile @@ -34,7 +34,7 @@ FLUID_PROPERTIES := no FSI := no FUNCTIONAL_EXPANSION_TOOLS := no GEOCHEMISTRY := no -HEAT_TRANSFER := no +HEAT_TRANSFER := yes LEVEL_SET := no MISC := no NAVIER_STOKES := no @@ -43,12 +43,12 @@ PERIDYNAMICS := no PHASE_FIELD := no POROUS_FLOW := no RAY_TRACING := no -REACTOR := no +REACTOR := yes RDG := no RICHARDS := no -SOLID_MECHANICS := no +SOLID_MECHANICS := yes STOCHASTIC_TOOLS := no -THERMAL_HYDRAULICS := no +THERMAL_HYDRAULICS := yes XFEM := no include $(MOOSE_DIR)/modules/modules.mk diff --git a/generate_2d_dataset.py b/generate_2d_dataset.py new file mode 100644 index 00000000..958bc4e4 --- /dev/null +++ b/generate_2d_dataset.py @@ -0,0 +1,53 @@ +from pathlib import Path +from mooseherder import (MooseHerd, + MooseRunner, + MooseConfig, + InputModifier, + DirectoryManager, + SweepReader) + +NUM_PARA_RUNS = 2 +USER_DIR = Path.home() + +def main() -> None: + print('Start minimal full functionality example') + + moose_input = Path('plate_2d_thermal.i') + moose_modifier = InputModifier(moose_input,'#','') + + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = False) + + dir_manager = DirectoryManager(n_dirs=4) + + herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) + herd.set_num_para_sims(n_para=4) + herd.set_keep_flag(False) + + dir_manager.set_base_dir(Path('perturbed_datasets/geometry')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + xmax = [5,10] + ymax = [2,4] + moose_vars = list([]) + for x in xmax: + for y in ymax: + moose_vars.append([{'xmax':x,'ymax':y}]) + + + for _ in range(NUM_PARA_RUNS): + herd.run_para(moose_vars) + + sweep_reader = SweepReader(dir_manager,num_para_read=4) + sweep_reader.read_all_output_keys() + read_all = sweep_reader.read_results_para() + + print('Finished.') + + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/monoblock_3d_thermal.i b/monoblock_3d_thermal.i new file mode 100644 index 00000000..eedb1601 --- /dev/null +++ b/monoblock_3d_thermal.i @@ -0,0 +1,753 @@ +#------------------------------------------------------------------------- +# monoblock_transient_thermal.i +# Author: Luke Humphrey, Lloyd Fletcher +# (c) Copyright UKAEA 2024. +# +#------------------------------------------------------------------------- +# DESCRIPTION +# +# Input file for a thermal simulation of a divertor monoblock. +# +# The monoblock is comprised of a copper-chromium-zirconium (CuCrZr) pipe +# surrounded by tungsten armour with an OFHC copper pipe interlayer in between. +# +# Temperature-variant material properties are implemented via linear +# interpolation from available data. Some of these material properties are not +# used for this thermal simulation, but are in place for a thermomechanical +# model including thermal expansion. +# +# Parameters describing the geometry are present at the top of the file above +# the MOOSE tree structure. These parameters can be modified to produce a +# monoblock design with the specified geometry. +# +# The mesh uses first order elements with a nominal mesh refinement of one +# division per millimetre. +# +# The incoming heat is modelled as a constant heat flux on the top surface of +# the block (i.e. the plasma-facing side). The outgoing heat is modelled as a +# convective heat flux on the internal surface of the copper pipe. Besides this +# heat flux, coolant flow is not modelled; the fluid region is treated as void. +# +# The boundary conditions are the incoming heat flux on the top surface, and +# the coolant temperature. The solve is steady state and outputs temperature. + +#------------------------------------------------------------------------- +# PARAMETER DEFINITIONS + +end_time = 30 +time_step = 0.5 + +#_* + +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Geometry +PI = 3.141592653589793 + +pipeThick = 0.0015 # m +pipeIntDiam = 0.012 # m +pipeExtDiam = ${fparse pipeIntDiam + 2*pipeThick} + +intLayerThick = 0.001 # m +intLayerIntDiam = ${pipeExtDiam} +intLayerExtDiam = ${fparse intLayerIntDiam + 2*intLayerThick} + +monoBThick = 0.003 # m +monoBWidth = ${fparse intLayerExtDiam + 2*monoBThick} +monoBArmHeight = 0.008 # m +monoBDepth = 0.012 # m + +pipeIntCirc = ${fparse PI * pipeIntDiam} + +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Mesh Sizing +meshRefFact = 1 +meshDens = 1000 # divisions per metre (nominal) + +# Mesh Order +secondOrder = false +orderString = FIRST + +# Note: some of the following values must be even integers. This is in some +# cases a requirement for the meshing functions used, else is is to ensure a +# division is present at the centreline, thus allowing zero-displacement +# boundary conditions to be applied to the centre nodes. These values are +# halved, rounded to int, then doubled to ensure the result is an even int. + +# Number of divisions along the top section of the monoblock armour. +monoBArmDivs = ${fparse int(monoBArmHeight * meshDens * meshRefFact)} + +# Number of divisions around each quadrant of the circumference of the pipe, +# interlayer, and radial section of the monoblock armour. +pipeCircSectDivs = ${fparse 2 * int(monoBWidth/2 * meshDens * meshRefFact / 2)} + +# Number of radial divisions for the pipe, interlayer, and radial section of +# the monoblock armour respectively. +pipeRadDivs = ${fparse max(int(pipeThick * meshDens * meshRefFact), 3)} +intLayerRadDivs = ${fparse max(int(intLayerThick * meshDens * meshRefFact), 5)} +monoBRadDivs = ${ + fparse max(int((monoBWidth-intLayerExtDiam)/2 * meshDens * meshRefFact), 5) +} + +# Number of divisions along monoblock depth (i.e. z-dimension). +extrudeDivs = ${fparse max(2 * int(monoBDepth * meshDens * meshRefFact / 2), 4)} + +monoBElemSize = ${fparse monoBDepth / extrudeDivs} +tol = ${fparse monoBElemSize / 10} +ctol = ${fparse pipeIntCirc / (8 * 4 * pipeCircSectDivs)} + +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Material Properties +# Mono-Block/Armour = Tungsten +# Interlayer = Oxygen-Free High-Conductivity (OFHC) Copper +# Cooling pipe = Copper Chromium Zirconium (CuCrZr) + +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Loads and BCs +stressFreeTemp = 20 # degC +coolantTemp = 500 # degC +surfHeatFlux = 100000000.0 # W/m^2 + +#** +#------------------------------------------------------------------------- + +[Mesh] + second_order = ${secondOrder} + + [mesh_monoblock] + type = PolygonConcentricCircleMeshGenerator + num_sides = 4 + polygon_size = ${fparse monoBWidth / 2} + polygon_size_style = apothem # i.e. distance from centre to edge + ring_radii = ' + ${fparse pipeIntDiam / 2} + ${fparse pipeExtDiam / 2} + ${fparse intLayerExtDiam / 2} + ' + num_sectors_per_side = ' + ${pipeCircSectDivs} + ${pipeCircSectDivs} + ${pipeCircSectDivs} + ${pipeCircSectDivs} + ' + ring_intervals = '1 ${pipeRadDivs} ${intLayerRadDivs}' + background_intervals = ${monoBRadDivs} + preserve_volumes = on + flat_side_up = true + ring_block_names = 'void pipe interlayer' + background_block_names = monoblock + interface_boundary_id_shift = 1000 + external_boundary_name = monoblock_boundary + generate_side_specific_boundaries = true + [] + + [mesh_armour] + type = GeneratedMeshGenerator + dim = 2 + xmin = ${fparse monoBWidth /-2} + xmax = ${fparse monoBWidth / 2} + ymin = ${fparse monoBWidth / 2} + ymax = ${fparse monoBWidth / 2 + monoBArmHeight} + nx = ${pipeCircSectDivs} + ny = ${monoBArmDivs} + boundary_name_prefix = armour + [] + + [combine_meshes] + type = StitchedMeshGenerator + inputs = 'mesh_monoblock mesh_armour' + stitch_boundaries_pairs = 'monoblock_boundary armour_bottom' + clear_stitched_boundary_ids = true + [] + + [delete_void] + type = BlockDeletionGenerator + input = combine_meshes + block = void + new_boundary = internal_boundary + [] + + [merge_block_names] + type = RenameBlockGenerator + input = delete_void + old_block = '4 0' + new_block = 'armour armour' + [] + + [merge_boundary_names] + type = RenameBoundaryGenerator + input = merge_block_names + old_boundary = 'armour_top + armour_left 10002 15002 + armour_right 10004 15004 + 10003 15003' + new_boundary = 'top + left left left + right right right + bottom bottom' + [] + + [extrude] + type = AdvancedExtruderGenerator + input = merge_boundary_names + direction = '0 0 1' + heights = ${monoBDepth} + num_layers = ${extrudeDivs} + [] + + [name_node_centre_x_bottom_y_back_z] + type = BoundingBoxNodeSetGenerator + input = extrude + bottom_left = '${fparse -ctol} + ${fparse (monoBWidth/-2)-ctol} + ${fparse -tol}' + top_right = '${fparse ctol} + ${fparse (monoBWidth/-2)+ctol} + ${fparse tol}' + new_boundary = centre_x_bottom_y_back_z + [] + [name_node_centre_x_bottom_y_front_z] + type = BoundingBoxNodeSetGenerator + input = name_node_centre_x_bottom_y_back_z + bottom_left = '${fparse -ctol} + ${fparse (monoBWidth/-2)-ctol} + ${fparse monoBDepth-tol}' + top_right = '${fparse ctol} + ${fparse (monoBWidth/-2)+ctol} + ${fparse monoBDepth+tol}' + new_boundary = centre_x_bottom_y_front_z + [] + [name_node_left_x_bottom_y_centre_z] + type = BoundingBoxNodeSetGenerator + input = name_node_centre_x_bottom_y_front_z + bottom_left = '${fparse (monoBWidth/-2)-ctol} + ${fparse (monoBWidth/-2)-ctol} + ${fparse (monoBDepth/2)-tol}' + top_right = '${fparse (monoBWidth/-2)+ctol} + ${fparse (monoBWidth/-2)+ctol} + ${fparse (monoBDepth/2)+tol}' + new_boundary = left_x_bottom_y_centre_z + [] + [name_node_right_x_bottom_y_centre_z] + type = BoundingBoxNodeSetGenerator + input = name_node_left_x_bottom_y_centre_z + bottom_left = '${fparse (monoBWidth/2)-ctol} + ${fparse (monoBWidth/-2)-ctol} + ${fparse (monoBDepth/2)-tol}' + top_right = '${fparse (monoBWidth/2)+ctol} + ${fparse (monoBWidth/-2)+ctol} + ${fparse (monoBDepth/2)+tol}' + new_boundary = right_x_bottom_y_centre_z + [] +[] + +[Variables] + [temperature] + family = LAGRANGE + order = ${orderString} + initial_condition = ${coolantTemp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] +[] + +[Functions] + [cucrzr_thermal_expansion] + type = PiecewiseLinear + xy_data = ' + 20 1.67e-05 + 50 1.7e-05 + 100 1.73e-05 + 150 1.75e-05 + 200 1.77e-05 + 250 1.78e-05 + 300 1.8e-05 + 350 1.8e-05 + 400 1.81e-05 + 450 1.82e-05 + 500 1.84e-05 + 550 1.85e-05 + 600 1.86e-05 + ' + [] + [copper_thermal_expansion] + type = PiecewiseLinear + xy_data = ' + 20 1.67e-05 + 50 1.7e-05 + 100 1.72e-05 + 150 1.75e-05 + 200 1.77e-05 + 250 1.78e-05 + 300 1.8e-05 + 350 1.81e-05 + 400 1.82e-05 + 450 1.84e-05 + 500 1.85e-05 + 550 1.87e-05 + 600 1.88e-05 + 650 1.9e-05 + 700 1.91e-05 + 750 1.93e-05 + 800 1.96e-05 + 850 1.98e-05 + 900 2.01e-05 + ' + [] + [tungsten_thermal_expansion] + type = PiecewiseLinear + xy_data = ' + 20 4.5e-06 + 100 4.5e-06 + 200 4.53e-06 + 300 4.58e-06 + 400 4.63e-06 + 500 4.68e-06 + 600 4.72e-06 + 700 4.76e-06 + 800 4.81e-06 + 900 4.85e-06 + 1000 4.89e-06 + 1200 4.98e-06 + 1400 5.08e-06 + 1600 5.18e-06 + 1800 5.3e-06 + 2000 5.43e-06 + 2200 5.57e-06 + 2400 5.74e-06 + 2600 5.93e-06 + 2800 6.15e-06 + 3000 6.4e-06 + 3200 6.67e-06 + ' + [] +[] + +[Materials] + [cucrzr_thermal_conductivity] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 318 + 50 324 + 100 333 + 150 339 + 200 343 + 250 345 + 300 346 + 350 347 + 400 347 + 450 346 + 500 346 + ' + variable = temperature + property = thermal_conductivity + block = 'pipe' + [] + [copper_thermal_conductivity] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 401 + 50 398 + 100 395 + 150 391 + 200 388 + 250 384 + 300 381 + 350 378 + 400 374 + 450 371 + 500 367 + 550 364 + 600 360 + 650 357 + 700 354 + 750 350 + 800 347 + 850 344 + 900 340 + 950 337 + 1000 334 + ' + variable = temperature + property = thermal_conductivity + block = 'interlayer' + [] + [tungsten_thermal_conductivity] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 173 + 50 170 + 100 165 + 150 160 + 200 156 + 250 151 + 300 147 + 350 143 + 400 140 + 450 136 + 500 133 + 550 130 + 600 127 + 650 125 + 700 122 + 750 120 + 800 118 + 850 116 + 900 114 + 950 112 + 1000 110 + 1100 108 + 1200 105 + ' + variable = temperature + property = thermal_conductivity + block = 'armour' + [] + + [cucrzr_density] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 8900 + 50 8886 + 100 8863 + 150 8840 + 200 8816 + 250 8791 + 300 8797 + 350 8742 + 400 8716 + 450 8691 + 500 8665 + ' + variable = temperature + property = density + block = 'pipe' + [] + [copper_density] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 8940 + 50 8926 + 100 8903 + 150 8879 + 200 8854 + 250 8829 + 300 8802 + 350 8774 + 400 8744 + 450 8713 + 500 8681 + 550 8647 + 600 8612 + 650 8575 + 700 8536 + 750 8495 + 800 8453 + 850 8409 + 900 8363 + ' + variable = temperature + property = density + block = 'interlayer' + [] + [tungsten_density] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 19300 + 50 19290 + 100 19280 + 150 19270 + 200 19250 + 250 19240 + 300 19230 + 350 19220 + 400 19200 + 450 19190 + 500 19180 + 550 19170 + 600 19150 + 650 19140 + 700 19130 + 750 19110 + 800 19100 + 850 19080 + 900 19070 + 950 19060 + 1000 19040 + 1100 19010 + 1200 18990 + ' + variable = temperature + property = density + block = 'armour' + [] + + [cucrzr_elastic_modulus] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 128000000000.0 + 50 127000000000.0 + 100 127000000000.0 + 150 125000000000.0 + 200 123000000000.0 + 250 121000000000.0 + 300 118000000000.0 + 350 116000000000.0 + 400 113000000000.0 + 450 110000000000.0 + 500 106000000000.0 + 550 100000000000.0 + 600 95000000000.0 + 650 90000000000.0 + 700 86000000000.0 + ' + variable = temperature + property = elastic_modulus + block = 'pipe' + [] + [copper_elastic_modulus] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 117000000000.0 + 50 116000000000.0 + 100 114000000000.0 + 150 112000000000.0 + 200 110000000000.0 + 250 108000000000.0 + 300 105000000000.0 + 350 102000000000.0 + 400 98000000000.0 + ' + variable = temperature + property = elastic_modulus + block = 'interlayer' + [] + [tungsten_elastic_modulus] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 398000000000.0 + 50 398000000000.0 + 100 397000000000.0 + 150 397000000000.0 + 200 396000000000.0 + 250 396000000000.0 + 300 395000000000.0 + 350 394000000000.0 + 400 393000000000.0 + 450 391000000000.0 + 500 390000000000.0 + 550 388000000000.0 + 600 387000000000.0 + 650 385000000000.0 + 700 383000000000.0 + 750 381000000000.0 + 800 379000000000.0 + 850 376000000000.0 + 900 374000000000.0 + 950 371000000000.0 + 1000 368000000000.0 + 1100 362000000000.0 + 1200 356000000000.0 + ' + variable = temperature + property = elastic_modulus + block = 'armour' + [] + + [cucrzr_specific_heat] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 390 + 50 393 + 100 398 + 150 402 + 200 407 + 250 412 + 300 417 + 350 422 + 400 427 + 450 432 + 500 437 + 550 442 + 600 447 + 650 452 + 700 458 + ' + variable = temperature + property = specific_heat + block = 'pipe' + [] + [copper_specific_heat] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 388 + 50 390 + 100 394 + 150 398 + 200 401 + 250 406 + 300 410 + 350 415 + 400 419 + 450 424 + 500 430 + 550 435 + 600 441 + 650 447 + 700 453 + 750 459 + 800 466 + 850 472 + 900 479 + 950 487 + 1000 494 + ' + variable = temperature + property = specific_heat + block = 'interlayer' + [] + [tungsten_specific_heat] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 129 + 50 130 + 100 132 + 150 133 + 200 135 + 250 136 + 300 138 + 350 139 + 400 141 + 450 142 + 500 144 + 550 145 + 600 147 + 650 148 + 700 150 + 750 151 + 800 152 + 850 154 + 900 155 + 950 156 + 1000 158 + 1100 160 + 1200 163 + ' + variable = temperature + property = specific_heat + block = 'armour' + [] + + [cucrzr_elasticity] + type = ComputeVariableIsotropicElasticityTensor + args = temperature + youngs_modulus = elastic_modulus + poissons_ratio = 0.33 + block = 'pipe' + [] + [copper_elasticity] + type = ComputeVariableIsotropicElasticityTensor + args = temperature + youngs_modulus = elastic_modulus + poissons_ratio = 0.33 + block = 'interlayer' + [] + [tungsten_elasticity] + type = ComputeVariableIsotropicElasticityTensor + args = temperature + youngs_modulus = elastic_modulus + poissons_ratio = 0.29 + block = 'armour' + [] + + [cucrzr_expansion] + type = ComputeInstantaneousThermalExpansionFunctionEigenstrain + temperature = temperature + stress_free_temperature = ${stressFreeTemp} + thermal_expansion_function = cucrzr_thermal_expansion + eigenstrain_name = thermal_expansion_eigenstrain + block = 'pipe' + [] + [copper_expansion] + type = ComputeInstantaneousThermalExpansionFunctionEigenstrain + temperature = temperature + stress_free_temperature = ${stressFreeTemp} + thermal_expansion_function = copper_thermal_expansion + eigenstrain_name = thermal_expansion_eigenstrain + block = 'interlayer' + [] + [tungsten_expansion] + type = ComputeInstantaneousThermalExpansionFunctionEigenstrain + temperature = temperature + stress_free_temperature = ${stressFreeTemp} + thermal_expansion_function = tungsten_thermal_expansion + eigenstrain_name = thermal_expansion_eigenstrain + block = 'armour' + [] + + [coolant_heat_transfer_coefficient] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 1 4 + 100 109.1e3 + 150 115.9e3 + 200 121.01e3 + 250 128.8e3 + 295 208.2e3 + ' + variable = temperature + property = heat_transfer_coefficient + boundary = 'internal_boundary' + [] +[] + +[BCs] + [heat_flux_in] + type = FunctionNeumannBC + variable = temperature + boundary = 'top' + function = '${fparse surfHeatFlux}*(1-exp(-t))' + [] + [heat_flux_out] + type = ConvectiveHeatFluxBC + variable = temperature + boundary = 'internal_boundary' + T_infinity = ${coolantTemp} + heat_transfer_coefficient = heat_transfer_coefficient + [] +[] + +[Preconditioning] + [smp] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = ${end_time} + dt = ${time_step} +[] + +[Postprocessors] + [max_temp] + type = ElementExtremeValue + variable = temperature + [] +[] + +[Outputs] + exodus = true +[] diff --git a/moose-config.json b/moose-config.json new file mode 100644 index 00000000..5aa6fcf4 --- /dev/null +++ b/moose-config.json @@ -0,0 +1,5 @@ +{ + "main_path": "/Users/vc6725/projects/moose", + "app_path": "/Users/vc6725/projects/icarus", + "app_name": "icarus-opt" +} \ No newline at end of file diff --git a/perturbed_datasets/bcs/sim-workdir-1/sim-1-1.i b/perturbed_datasets/bcs/sim-workdir-1/sim-1-1.i new file mode 100644 index 00000000..901a9cfa --- /dev/null +++ b/perturbed_datasets/bcs/sim-workdir-1/sim-1-1.i @@ -0,0 +1,86 @@ +#_* Variables Block +end_time = 30 +time_step = 0.5 +max_temp = 500 +init_temp = 50 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] + [heat_source] + type = HeatSource + variable = temperature + value = 1e4 + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Transient + end_time = ${end_time} + dt = ${time_step} +[] + +[Outputs] + exodus = true +[] diff --git a/perturbed_datasets/bcs/sim-workdir-2/sim-1-2.i b/perturbed_datasets/bcs/sim-workdir-2/sim-1-2.i new file mode 100644 index 00000000..80e981d1 --- /dev/null +++ b/perturbed_datasets/bcs/sim-workdir-2/sim-1-2.i @@ -0,0 +1,86 @@ +#_* Variables Block +end_time = 30 +time_step = 0.5 +max_temp = 1000 +init_temp = 25 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] + [heat_source] + type = HeatSource + variable = temperature + value = 1e4 + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Transient + end_time = ${end_time} + dt = ${time_step} +[] + +[Outputs] + exodus = true +[] diff --git a/perturbed_datasets/bcs/sim-workdir-3/sim-1-3.i b/perturbed_datasets/bcs/sim-workdir-3/sim-1-3.i new file mode 100644 index 00000000..fe0e5d6a --- /dev/null +++ b/perturbed_datasets/bcs/sim-workdir-3/sim-1-3.i @@ -0,0 +1,86 @@ +#_* Variables Block +end_time = 30 +time_step = 0.5 +max_temp = 1000 +init_temp = 50 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] + [heat_source] + type = HeatSource + variable = temperature + value = 1e4 + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Transient + end_time = ${end_time} + dt = ${time_step} +[] + +[Outputs] + exodus = true +[] diff --git a/perturbed_datasets/bcs/sim-workdir-4/sim-1-4.i b/perturbed_datasets/bcs/sim-workdir-4/sim-1-4.i new file mode 100644 index 00000000..72695044 --- /dev/null +++ b/perturbed_datasets/bcs/sim-workdir-4/sim-1-4.i @@ -0,0 +1,86 @@ +#_* Variables Block +end_time = 30 +time_step = 0.5 +max_temp = 500 +init_temp = 25 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] + [heat_source] + type = HeatSource + variable = temperature + value = 1e4 + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Transient + end_time = ${end_time} + dt = ${time_step} +[] + +[Outputs] + exodus = true +[] diff --git a/perturbed_datasets/geometry/sim-workdir-1/sim-1-1.i b/perturbed_datasets/geometry/sim-workdir-1/sim-1-1.i new file mode 100644 index 00000000..63338ecb --- /dev/null +++ b/perturbed_datasets/geometry/sim-workdir-1/sim-1-1.i @@ -0,0 +1,86 @@ +#_* Variables Block +end_time = 30 +time_step = 0.5 +max_temp = 500 +init_temp = 20 +xmax = 5 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] + [heat_source] + type = HeatSource + variable = temperature + value = 1e4 + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Transient + end_time = ${end_time} + dt = ${time_step} +[] + +[Outputs] + exodus = true +[] diff --git a/perturbed_datasets/geometry/sim-workdir-2/sim-1-2.i b/perturbed_datasets/geometry/sim-workdir-2/sim-1-2.i new file mode 100644 index 00000000..e8e82420 --- /dev/null +++ b/perturbed_datasets/geometry/sim-workdir-2/sim-1-2.i @@ -0,0 +1,86 @@ +#_* Variables Block +end_time = 30 +time_step = 0.5 +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] + [heat_source] + type = HeatSource + variable = temperature + value = 1e4 + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Transient + end_time = ${end_time} + dt = ${time_step} +[] + +[Outputs] + exodus = true +[] diff --git a/perturbed_datasets/geometry/sim-workdir-3/sim-1-3.i b/perturbed_datasets/geometry/sim-workdir-3/sim-1-3.i new file mode 100644 index 00000000..b512e423 --- /dev/null +++ b/perturbed_datasets/geometry/sim-workdir-3/sim-1-3.i @@ -0,0 +1,86 @@ +#_* Variables Block +end_time = 30 +time_step = 0.5 +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 4 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] + [heat_source] + type = HeatSource + variable = temperature + value = 1e4 + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Transient + end_time = ${end_time} + dt = ${time_step} +[] + +[Outputs] + exodus = true +[] diff --git a/perturbed_datasets/geometry/sim-workdir-4/sim-1-4.i b/perturbed_datasets/geometry/sim-workdir-4/sim-1-4.i new file mode 100644 index 00000000..06638eb7 --- /dev/null +++ b/perturbed_datasets/geometry/sim-workdir-4/sim-1-4.i @@ -0,0 +1,86 @@ +#_* Variables Block +end_time = 30 +time_step = 0.5 +max_temp = 500 +init_temp = 20 +xmax = 5 +ymax = 4 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] + [heat_source] + type = HeatSource + variable = temperature + value = 1e4 + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Transient + end_time = ${end_time} + dt = ${time_step} +[] + +[Outputs] + exodus = true +[] diff --git a/perturbed_datasets/material_props/sim-workdir-1/output-key-1.json b/perturbed_datasets/material_props/sim-workdir-1/output-key-1.json new file mode 100644 index 00000000..3756841b --- /dev/null +++ b/perturbed_datasets/material_props/sim-workdir-1/output-key-1.json @@ -0,0 +1,26 @@ +[ + [ + "perturbed_datasets/material_props/sim-workdir-2/sim-1-2_out.e" + ], + [ + "perturbed_datasets/material_props/sim-workdir-4/sim-1-4_out.e" + ], + [ + "perturbed_datasets/material_props/sim-workdir-5/sim-1-5_out.e" + ], + [ + "perturbed_datasets/material_props/sim-workdir-3/sim-1-3_out.e" + ], + [ + "perturbed_datasets/material_props/sim-workdir-6/sim-1-6_out.e" + ], + [ + "perturbed_datasets/material_props/sim-workdir-8/sim-1-8_out.e" + ], + [ + "perturbed_datasets/material_props/sim-workdir-7/sim-1-7_out.e" + ], + [ + "perturbed_datasets/material_props/sim-workdir-1/sim-1-1_out.e" + ] +] \ No newline at end of file diff --git a/perturbed_datasets/material_props/sim-workdir-1/sim-1-1.i b/perturbed_datasets/material_props/sim-workdir-1/sim-1-1.i new file mode 100644 index 00000000..d7c2d616 --- /dev/null +++ b/perturbed_datasets/material_props/sim-workdir-1/sim-1-1.i @@ -0,0 +1,86 @@ +#_* Variables Block +end_time = 30 +time_step = 0.5 +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000.0 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] + [heat_source] + type = HeatSource + variable = temperature + value = 1e4 + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Transient + end_time = ${end_time} + dt = ${time_step} +[] + +[Outputs] + exodus = true +[] diff --git a/perturbed_datasets/material_props/sim-workdir-1/sweep-vars-1.json b/perturbed_datasets/material_props/sim-workdir-1/sweep-vars-1.json new file mode 100644 index 00000000..61f9135d --- /dev/null +++ b/perturbed_datasets/material_props/sim-workdir-1/sweep-vars-1.json @@ -0,0 +1,58 @@ +[ + [ + { + "thermal_conductivity": 25, + "specific_heat": 0.25, + "prop_values": 4000.0 + } + ], + [ + { + "thermal_conductivity": 25, + "specific_heat": 0.25, + "prop_values": 8000.0 + } + ], + [ + { + "thermal_conductivity": 25, + "specific_heat": 0.5, + "prop_values": 4000.0 + } + ], + [ + { + "thermal_conductivity": 25, + "specific_heat": 0.5, + "prop_values": 8000.0 + } + ], + [ + { + "thermal_conductivity": 45, + "specific_heat": 0.25, + "prop_values": 4000.0 + } + ], + [ + { + "thermal_conductivity": 45, + "specific_heat": 0.25, + "prop_values": 8000.0 + } + ], + [ + { + "thermal_conductivity": 45, + "specific_heat": 0.5, + "prop_values": 4000.0 + } + ], + [ + { + "thermal_conductivity": 45, + "specific_heat": 0.5, + "prop_values": 8000.0 + } + ] +] \ No newline at end of file diff --git a/perturbed_datasets/material_props/sim-workdir-2/sim-1-2.i b/perturbed_datasets/material_props/sim-workdir-2/sim-1-2.i new file mode 100644 index 00000000..0250573d --- /dev/null +++ b/perturbed_datasets/material_props/sim-workdir-2/sim-1-2.i @@ -0,0 +1,86 @@ +#_* Variables Block +end_time = 30 +time_step = 0.5 +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 25 +specific_heat = 0.25 +prop_values = 4000.0 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] + [heat_source] + type = HeatSource + variable = temperature + value = 1e4 + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Transient + end_time = ${end_time} + dt = ${time_step} +[] + +[Outputs] + exodus = true +[] diff --git a/perturbed_datasets/material_props/sim-workdir-3/sim-1-3.i b/perturbed_datasets/material_props/sim-workdir-3/sim-1-3.i new file mode 100644 index 00000000..72ccde9e --- /dev/null +++ b/perturbed_datasets/material_props/sim-workdir-3/sim-1-3.i @@ -0,0 +1,86 @@ +#_* Variables Block +end_time = 30 +time_step = 0.5 +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 25 +specific_heat = 0.5 +prop_values = 8000.0 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] + [heat_source] + type = HeatSource + variable = temperature + value = 1e4 + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Transient + end_time = ${end_time} + dt = ${time_step} +[] + +[Outputs] + exodus = true +[] diff --git a/perturbed_datasets/material_props/sim-workdir-4/sim-1-4.i b/perturbed_datasets/material_props/sim-workdir-4/sim-1-4.i new file mode 100644 index 00000000..9c8ed9af --- /dev/null +++ b/perturbed_datasets/material_props/sim-workdir-4/sim-1-4.i @@ -0,0 +1,86 @@ +#_* Variables Block +end_time = 30 +time_step = 0.5 +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 25 +specific_heat = 0.25 +prop_values = 8000.0 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] + [heat_source] + type = HeatSource + variable = temperature + value = 1e4 + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Transient + end_time = ${end_time} + dt = ${time_step} +[] + +[Outputs] + exodus = true +[] diff --git a/perturbed_datasets/material_props/sim-workdir-5/sim-1-5.i b/perturbed_datasets/material_props/sim-workdir-5/sim-1-5.i new file mode 100644 index 00000000..586a9b3e --- /dev/null +++ b/perturbed_datasets/material_props/sim-workdir-5/sim-1-5.i @@ -0,0 +1,86 @@ +#_* Variables Block +end_time = 30 +time_step = 0.5 +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 25 +specific_heat = 0.5 +prop_values = 4000.0 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] + [heat_source] + type = HeatSource + variable = temperature + value = 1e4 + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Transient + end_time = ${end_time} + dt = ${time_step} +[] + +[Outputs] + exodus = true +[] diff --git a/perturbed_datasets/material_props/sim-workdir-6/sim-1-6.i b/perturbed_datasets/material_props/sim-workdir-6/sim-1-6.i new file mode 100644 index 00000000..ddad92da --- /dev/null +++ b/perturbed_datasets/material_props/sim-workdir-6/sim-1-6.i @@ -0,0 +1,86 @@ +#_* Variables Block +end_time = 30 +time_step = 0.5 +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.25 +prop_values = 4000.0 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] + [heat_source] + type = HeatSource + variable = temperature + value = 1e4 + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Transient + end_time = ${end_time} + dt = ${time_step} +[] + +[Outputs] + exodus = true +[] diff --git a/perturbed_datasets/material_props/sim-workdir-7/sim-1-7.i b/perturbed_datasets/material_props/sim-workdir-7/sim-1-7.i new file mode 100644 index 00000000..4b18117f --- /dev/null +++ b/perturbed_datasets/material_props/sim-workdir-7/sim-1-7.i @@ -0,0 +1,86 @@ +#_* Variables Block +end_time = 30 +time_step = 0.5 +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 4000.0 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] + [heat_source] + type = HeatSource + variable = temperature + value = 1e4 + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Transient + end_time = ${end_time} + dt = ${time_step} +[] + +[Outputs] + exodus = true +[] diff --git a/perturbed_datasets/material_props/sim-workdir-8/sim-1-8.i b/perturbed_datasets/material_props/sim-workdir-8/sim-1-8.i new file mode 100644 index 00000000..d90e02d4 --- /dev/null +++ b/perturbed_datasets/material_props/sim-workdir-8/sim-1-8.i @@ -0,0 +1,86 @@ +#_* Variables Block +end_time = 30 +time_step = 0.5 +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.25 +prop_values = 8000.0 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] + [heat_source] + type = HeatSource + variable = temperature + value = 1e4 + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Transient + end_time = ${end_time} + dt = ${time_step} +[] + +[Outputs] + exodus = true +[] diff --git a/plate_2d_thermal.i b/plate_2d_thermal.i new file mode 100644 index 00000000..e8e82420 --- /dev/null +++ b/plate_2d_thermal.i @@ -0,0 +1,86 @@ +#_* Variables Block +end_time = 30 +time_step = 0.5 +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] + [heat_source] + type = HeatSource + variable = temperature + value = 1e4 + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Transient + end_time = ${end_time} + dt = ${time_step} +[] + +[Outputs] + exodus = true +[] From e05fc3586da004f00f24a5eba53944b162338092 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Wed, 15 Jan 2025 13:20:43 +0000 Subject: [PATCH 03/48] Upload .json files for perturbed geometry and boundary conditions datasets --- .../bcs/sim-workdir-1/output-key-1.json | 14 ++++++++++ .../bcs/sim-workdir-1/sweep-vars-1.json | 26 +++++++++++++++++++ .../geometry/sim-workdir-1/output-key-1.json | 14 ++++++++++ .../geometry/sim-workdir-1/sweep-vars-1.json | 26 +++++++++++++++++++ 4 files changed, 80 insertions(+) create mode 100644 perturbed_datasets/bcs/sim-workdir-1/output-key-1.json create mode 100644 perturbed_datasets/bcs/sim-workdir-1/sweep-vars-1.json create mode 100644 perturbed_datasets/geometry/sim-workdir-1/output-key-1.json create mode 100644 perturbed_datasets/geometry/sim-workdir-1/sweep-vars-1.json diff --git a/perturbed_datasets/bcs/sim-workdir-1/output-key-1.json b/perturbed_datasets/bcs/sim-workdir-1/output-key-1.json new file mode 100644 index 00000000..4d80f673 --- /dev/null +++ b/perturbed_datasets/bcs/sim-workdir-1/output-key-1.json @@ -0,0 +1,14 @@ +[ + [ + "perturbed_datasets/bcs/sim-workdir-4/sim-1-4_out.e" + ], + [ + "perturbed_datasets/bcs/sim-workdir-2/sim-1-2_out.e" + ], + [ + "perturbed_datasets/bcs/sim-workdir-1/sim-1-1_out.e" + ], + [ + "perturbed_datasets/bcs/sim-workdir-3/sim-1-3_out.e" + ] +] \ No newline at end of file diff --git a/perturbed_datasets/bcs/sim-workdir-1/sweep-vars-1.json b/perturbed_datasets/bcs/sim-workdir-1/sweep-vars-1.json new file mode 100644 index 00000000..d0ff21c5 --- /dev/null +++ b/perturbed_datasets/bcs/sim-workdir-1/sweep-vars-1.json @@ -0,0 +1,26 @@ +[ + [ + { + "init_temp": 25, + "max_temp": 500 + } + ], + [ + { + "init_temp": 25, + "max_temp": 1000 + } + ], + [ + { + "init_temp": 50, + "max_temp": 500 + } + ], + [ + { + "init_temp": 50, + "max_temp": 1000 + } + ] +] \ No newline at end of file diff --git a/perturbed_datasets/geometry/sim-workdir-1/output-key-1.json b/perturbed_datasets/geometry/sim-workdir-1/output-key-1.json new file mode 100644 index 00000000..5cc0560e --- /dev/null +++ b/perturbed_datasets/geometry/sim-workdir-1/output-key-1.json @@ -0,0 +1,14 @@ +[ + [ + "perturbed_datasets/geometry/sim-workdir-1/sim-1-1_out.e" + ], + [ + "perturbed_datasets/geometry/sim-workdir-4/sim-1-4_out.e" + ], + [ + "perturbed_datasets/geometry/sim-workdir-2/sim-1-2_out.e" + ], + [ + "perturbed_datasets/geometry/sim-workdir-3/sim-1-3_out.e" + ] +] \ No newline at end of file diff --git a/perturbed_datasets/geometry/sim-workdir-1/sweep-vars-1.json b/perturbed_datasets/geometry/sim-workdir-1/sweep-vars-1.json new file mode 100644 index 00000000..e5c9d9e1 --- /dev/null +++ b/perturbed_datasets/geometry/sim-workdir-1/sweep-vars-1.json @@ -0,0 +1,26 @@ +[ + [ + { + "xmax": 5, + "ymax": 2 + } + ], + [ + { + "xmax": 5, + "ymax": 4 + } + ], + [ + { + "xmax": 10, + "ymax": 2 + } + ], + [ + { + "xmax": 10, + "ymax": 4 + } + ] +] \ No newline at end of file From f4aa1d10cd4152746f6ab85a7b7833da205f7928 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 21 Jan 2025 14:45:12 +0000 Subject: [PATCH 04/48] Restructured to separate 2D and 3D sims --- .../generate_2d_dataset.py | 0 .../bcs/sim-workdir-1/sim-1-1.i | 0 .../bcs/sim-workdir-2/sim-1-2.i | 0 .../bcs/sim-workdir-3/sim-1-3.i | 0 .../bcs/sim-workdir-4/sim-1-4.i | 0 .../geometry/sim-workdir-1/sim-1-1.i | 0 .../geometry/sim-workdir-2/sim-1-2.i | 0 .../geometry/sim-workdir-3/sim-1-3.i | 0 .../geometry/sim-workdir-4/sim-1-4.i | 0 .../material_props/sim-workdir-1/sim-1-1.i | 0 .../material_props/sim-workdir-2/sim-1-2.i | 0 .../material_props/sim-workdir-3/sim-1-3.i | 0 .../material_props/sim-workdir-4/sim-1-4.i | 0 .../material_props/sim-workdir-5/sim-1-5.i | 0 .../material_props/sim-workdir-6/sim-1-6.i | 0 .../material_props/sim-workdir-7/sim-1-7.i | 0 .../material_props/sim-workdir-8/sim-1-8.i | 0 .../plate_2d_thermal.i | 0 3d_monoblock/generate_3d_dataset.py | 53 +++++++++++++++++ .../monoblock_3d_thermal.i | 0 .../bcs/sim-workdir-1/output-key-1.json | 14 ----- .../bcs/sim-workdir-1/sweep-vars-1.json | 26 --------- .../geometry/sim-workdir-1/output-key-1.json | 14 ----- .../geometry/sim-workdir-1/sweep-vars-1.json | 26 --------- .../sim-workdir-1/output-key-1.json | 26 --------- .../sim-workdir-1/sweep-vars-1.json | 58 ------------------- 26 files changed, 53 insertions(+), 164 deletions(-) rename generate_2d_dataset.py => 2d_plate/generate_2d_dataset.py (100%) rename {perturbed_datasets => 2d_plate/perturbed_datasets}/bcs/sim-workdir-1/sim-1-1.i (100%) rename {perturbed_datasets => 2d_plate/perturbed_datasets}/bcs/sim-workdir-2/sim-1-2.i (100%) rename {perturbed_datasets => 2d_plate/perturbed_datasets}/bcs/sim-workdir-3/sim-1-3.i (100%) rename {perturbed_datasets => 2d_plate/perturbed_datasets}/bcs/sim-workdir-4/sim-1-4.i (100%) rename {perturbed_datasets => 2d_plate/perturbed_datasets}/geometry/sim-workdir-1/sim-1-1.i (100%) rename {perturbed_datasets => 2d_plate/perturbed_datasets}/geometry/sim-workdir-2/sim-1-2.i (100%) rename {perturbed_datasets => 2d_plate/perturbed_datasets}/geometry/sim-workdir-3/sim-1-3.i (100%) rename {perturbed_datasets => 2d_plate/perturbed_datasets}/geometry/sim-workdir-4/sim-1-4.i (100%) rename {perturbed_datasets => 2d_plate/perturbed_datasets}/material_props/sim-workdir-1/sim-1-1.i (100%) rename {perturbed_datasets => 2d_plate/perturbed_datasets}/material_props/sim-workdir-2/sim-1-2.i (100%) rename {perturbed_datasets => 2d_plate/perturbed_datasets}/material_props/sim-workdir-3/sim-1-3.i (100%) rename {perturbed_datasets => 2d_plate/perturbed_datasets}/material_props/sim-workdir-4/sim-1-4.i (100%) rename {perturbed_datasets => 2d_plate/perturbed_datasets}/material_props/sim-workdir-5/sim-1-5.i (100%) rename {perturbed_datasets => 2d_plate/perturbed_datasets}/material_props/sim-workdir-6/sim-1-6.i (100%) rename {perturbed_datasets => 2d_plate/perturbed_datasets}/material_props/sim-workdir-7/sim-1-7.i (100%) rename {perturbed_datasets => 2d_plate/perturbed_datasets}/material_props/sim-workdir-8/sim-1-8.i (100%) rename plate_2d_thermal.i => 2d_plate/plate_2d_thermal.i (100%) create mode 100644 3d_monoblock/generate_3d_dataset.py rename monoblock_3d_thermal.i => 3d_monoblock/monoblock_3d_thermal.i (100%) delete mode 100644 perturbed_datasets/bcs/sim-workdir-1/output-key-1.json delete mode 100644 perturbed_datasets/bcs/sim-workdir-1/sweep-vars-1.json delete mode 100644 perturbed_datasets/geometry/sim-workdir-1/output-key-1.json delete mode 100644 perturbed_datasets/geometry/sim-workdir-1/sweep-vars-1.json delete mode 100644 perturbed_datasets/material_props/sim-workdir-1/output-key-1.json delete mode 100644 perturbed_datasets/material_props/sim-workdir-1/sweep-vars-1.json diff --git a/generate_2d_dataset.py b/2d_plate/generate_2d_dataset.py similarity index 100% rename from generate_2d_dataset.py rename to 2d_plate/generate_2d_dataset.py diff --git a/perturbed_datasets/bcs/sim-workdir-1/sim-1-1.i b/2d_plate/perturbed_datasets/bcs/sim-workdir-1/sim-1-1.i similarity index 100% rename from perturbed_datasets/bcs/sim-workdir-1/sim-1-1.i rename to 2d_plate/perturbed_datasets/bcs/sim-workdir-1/sim-1-1.i diff --git a/perturbed_datasets/bcs/sim-workdir-2/sim-1-2.i b/2d_plate/perturbed_datasets/bcs/sim-workdir-2/sim-1-2.i similarity index 100% rename from perturbed_datasets/bcs/sim-workdir-2/sim-1-2.i rename to 2d_plate/perturbed_datasets/bcs/sim-workdir-2/sim-1-2.i diff --git a/perturbed_datasets/bcs/sim-workdir-3/sim-1-3.i b/2d_plate/perturbed_datasets/bcs/sim-workdir-3/sim-1-3.i similarity index 100% rename from perturbed_datasets/bcs/sim-workdir-3/sim-1-3.i rename to 2d_plate/perturbed_datasets/bcs/sim-workdir-3/sim-1-3.i diff --git a/perturbed_datasets/bcs/sim-workdir-4/sim-1-4.i b/2d_plate/perturbed_datasets/bcs/sim-workdir-4/sim-1-4.i similarity index 100% rename from perturbed_datasets/bcs/sim-workdir-4/sim-1-4.i rename to 2d_plate/perturbed_datasets/bcs/sim-workdir-4/sim-1-4.i diff --git a/perturbed_datasets/geometry/sim-workdir-1/sim-1-1.i b/2d_plate/perturbed_datasets/geometry/sim-workdir-1/sim-1-1.i similarity index 100% rename from perturbed_datasets/geometry/sim-workdir-1/sim-1-1.i rename to 2d_plate/perturbed_datasets/geometry/sim-workdir-1/sim-1-1.i diff --git a/perturbed_datasets/geometry/sim-workdir-2/sim-1-2.i b/2d_plate/perturbed_datasets/geometry/sim-workdir-2/sim-1-2.i similarity index 100% rename from perturbed_datasets/geometry/sim-workdir-2/sim-1-2.i rename to 2d_plate/perturbed_datasets/geometry/sim-workdir-2/sim-1-2.i diff --git a/perturbed_datasets/geometry/sim-workdir-3/sim-1-3.i b/2d_plate/perturbed_datasets/geometry/sim-workdir-3/sim-1-3.i similarity index 100% rename from perturbed_datasets/geometry/sim-workdir-3/sim-1-3.i rename to 2d_plate/perturbed_datasets/geometry/sim-workdir-3/sim-1-3.i diff --git a/perturbed_datasets/geometry/sim-workdir-4/sim-1-4.i b/2d_plate/perturbed_datasets/geometry/sim-workdir-4/sim-1-4.i similarity index 100% rename from perturbed_datasets/geometry/sim-workdir-4/sim-1-4.i rename to 2d_plate/perturbed_datasets/geometry/sim-workdir-4/sim-1-4.i diff --git a/perturbed_datasets/material_props/sim-workdir-1/sim-1-1.i b/2d_plate/perturbed_datasets/material_props/sim-workdir-1/sim-1-1.i similarity index 100% rename from perturbed_datasets/material_props/sim-workdir-1/sim-1-1.i rename to 2d_plate/perturbed_datasets/material_props/sim-workdir-1/sim-1-1.i diff --git a/perturbed_datasets/material_props/sim-workdir-2/sim-1-2.i b/2d_plate/perturbed_datasets/material_props/sim-workdir-2/sim-1-2.i similarity index 100% rename from perturbed_datasets/material_props/sim-workdir-2/sim-1-2.i rename to 2d_plate/perturbed_datasets/material_props/sim-workdir-2/sim-1-2.i diff --git a/perturbed_datasets/material_props/sim-workdir-3/sim-1-3.i b/2d_plate/perturbed_datasets/material_props/sim-workdir-3/sim-1-3.i similarity index 100% rename from perturbed_datasets/material_props/sim-workdir-3/sim-1-3.i rename to 2d_plate/perturbed_datasets/material_props/sim-workdir-3/sim-1-3.i diff --git a/perturbed_datasets/material_props/sim-workdir-4/sim-1-4.i b/2d_plate/perturbed_datasets/material_props/sim-workdir-4/sim-1-4.i similarity index 100% rename from perturbed_datasets/material_props/sim-workdir-4/sim-1-4.i rename to 2d_plate/perturbed_datasets/material_props/sim-workdir-4/sim-1-4.i diff --git a/perturbed_datasets/material_props/sim-workdir-5/sim-1-5.i b/2d_plate/perturbed_datasets/material_props/sim-workdir-5/sim-1-5.i similarity index 100% rename from perturbed_datasets/material_props/sim-workdir-5/sim-1-5.i rename to 2d_plate/perturbed_datasets/material_props/sim-workdir-5/sim-1-5.i diff --git a/perturbed_datasets/material_props/sim-workdir-6/sim-1-6.i b/2d_plate/perturbed_datasets/material_props/sim-workdir-6/sim-1-6.i similarity index 100% rename from perturbed_datasets/material_props/sim-workdir-6/sim-1-6.i rename to 2d_plate/perturbed_datasets/material_props/sim-workdir-6/sim-1-6.i diff --git a/perturbed_datasets/material_props/sim-workdir-7/sim-1-7.i b/2d_plate/perturbed_datasets/material_props/sim-workdir-7/sim-1-7.i similarity index 100% rename from perturbed_datasets/material_props/sim-workdir-7/sim-1-7.i rename to 2d_plate/perturbed_datasets/material_props/sim-workdir-7/sim-1-7.i diff --git a/perturbed_datasets/material_props/sim-workdir-8/sim-1-8.i b/2d_plate/perturbed_datasets/material_props/sim-workdir-8/sim-1-8.i similarity index 100% rename from perturbed_datasets/material_props/sim-workdir-8/sim-1-8.i rename to 2d_plate/perturbed_datasets/material_props/sim-workdir-8/sim-1-8.i diff --git a/plate_2d_thermal.i b/2d_plate/plate_2d_thermal.i similarity index 100% rename from plate_2d_thermal.i rename to 2d_plate/plate_2d_thermal.i diff --git a/3d_monoblock/generate_3d_dataset.py b/3d_monoblock/generate_3d_dataset.py new file mode 100644 index 00000000..78961074 --- /dev/null +++ b/3d_monoblock/generate_3d_dataset.py @@ -0,0 +1,53 @@ +from pathlib import Path +from mooseherder import (MooseHerd, + MooseRunner, + MooseConfig, + InputModifier, + DirectoryManager, + SweepReader) + +NUM_PARA_RUNS = 2 +USER_DIR = Path.home() + +def main() -> None: + print('Start minimal full functionality example') + + moose_input = Path('monoblock_3d_thermal.i') + moose_modifier = InputModifier(moose_input,'#','') + + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = False) + + dir_manager = DirectoryManager(n_dirs=4) + + herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) + herd.set_num_para_sims(n_para=4) + herd.set_keep_flag(False) + + dir_manager.set_base_dir(Path('perturbed_datasets/geometry')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + xmax = [5,10] + ymax = [2,4] + moose_vars = list([]) + for x in xmax: + for y in ymax: + moose_vars.append([{'xmax':x,'ymax':y}]) + + + for _ in range(NUM_PARA_RUNS): + herd.run_para(moose_vars) + + sweep_reader = SweepReader(dir_manager,num_para_read=4) + sweep_reader.read_all_output_keys() + read_all = sweep_reader.read_results_para() + + print('Finished.') + + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/monoblock_3d_thermal.i b/3d_monoblock/monoblock_3d_thermal.i similarity index 100% rename from monoblock_3d_thermal.i rename to 3d_monoblock/monoblock_3d_thermal.i diff --git a/perturbed_datasets/bcs/sim-workdir-1/output-key-1.json b/perturbed_datasets/bcs/sim-workdir-1/output-key-1.json deleted file mode 100644 index 4d80f673..00000000 --- a/perturbed_datasets/bcs/sim-workdir-1/output-key-1.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - [ - "perturbed_datasets/bcs/sim-workdir-4/sim-1-4_out.e" - ], - [ - "perturbed_datasets/bcs/sim-workdir-2/sim-1-2_out.e" - ], - [ - "perturbed_datasets/bcs/sim-workdir-1/sim-1-1_out.e" - ], - [ - "perturbed_datasets/bcs/sim-workdir-3/sim-1-3_out.e" - ] -] \ No newline at end of file diff --git a/perturbed_datasets/bcs/sim-workdir-1/sweep-vars-1.json b/perturbed_datasets/bcs/sim-workdir-1/sweep-vars-1.json deleted file mode 100644 index d0ff21c5..00000000 --- a/perturbed_datasets/bcs/sim-workdir-1/sweep-vars-1.json +++ /dev/null @@ -1,26 +0,0 @@ -[ - [ - { - "init_temp": 25, - "max_temp": 500 - } - ], - [ - { - "init_temp": 25, - "max_temp": 1000 - } - ], - [ - { - "init_temp": 50, - "max_temp": 500 - } - ], - [ - { - "init_temp": 50, - "max_temp": 1000 - } - ] -] \ No newline at end of file diff --git a/perturbed_datasets/geometry/sim-workdir-1/output-key-1.json b/perturbed_datasets/geometry/sim-workdir-1/output-key-1.json deleted file mode 100644 index 5cc0560e..00000000 --- a/perturbed_datasets/geometry/sim-workdir-1/output-key-1.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - [ - "perturbed_datasets/geometry/sim-workdir-1/sim-1-1_out.e" - ], - [ - "perturbed_datasets/geometry/sim-workdir-4/sim-1-4_out.e" - ], - [ - "perturbed_datasets/geometry/sim-workdir-2/sim-1-2_out.e" - ], - [ - "perturbed_datasets/geometry/sim-workdir-3/sim-1-3_out.e" - ] -] \ No newline at end of file diff --git a/perturbed_datasets/geometry/sim-workdir-1/sweep-vars-1.json b/perturbed_datasets/geometry/sim-workdir-1/sweep-vars-1.json deleted file mode 100644 index e5c9d9e1..00000000 --- a/perturbed_datasets/geometry/sim-workdir-1/sweep-vars-1.json +++ /dev/null @@ -1,26 +0,0 @@ -[ - [ - { - "xmax": 5, - "ymax": 2 - } - ], - [ - { - "xmax": 5, - "ymax": 4 - } - ], - [ - { - "xmax": 10, - "ymax": 2 - } - ], - [ - { - "xmax": 10, - "ymax": 4 - } - ] -] \ No newline at end of file diff --git a/perturbed_datasets/material_props/sim-workdir-1/output-key-1.json b/perturbed_datasets/material_props/sim-workdir-1/output-key-1.json deleted file mode 100644 index 3756841b..00000000 --- a/perturbed_datasets/material_props/sim-workdir-1/output-key-1.json +++ /dev/null @@ -1,26 +0,0 @@ -[ - [ - "perturbed_datasets/material_props/sim-workdir-2/sim-1-2_out.e" - ], - [ - "perturbed_datasets/material_props/sim-workdir-4/sim-1-4_out.e" - ], - [ - "perturbed_datasets/material_props/sim-workdir-5/sim-1-5_out.e" - ], - [ - "perturbed_datasets/material_props/sim-workdir-3/sim-1-3_out.e" - ], - [ - "perturbed_datasets/material_props/sim-workdir-6/sim-1-6_out.e" - ], - [ - "perturbed_datasets/material_props/sim-workdir-8/sim-1-8_out.e" - ], - [ - "perturbed_datasets/material_props/sim-workdir-7/sim-1-7_out.e" - ], - [ - "perturbed_datasets/material_props/sim-workdir-1/sim-1-1_out.e" - ] -] \ No newline at end of file diff --git a/perturbed_datasets/material_props/sim-workdir-1/sweep-vars-1.json b/perturbed_datasets/material_props/sim-workdir-1/sweep-vars-1.json deleted file mode 100644 index 61f9135d..00000000 --- a/perturbed_datasets/material_props/sim-workdir-1/sweep-vars-1.json +++ /dev/null @@ -1,58 +0,0 @@ -[ - [ - { - "thermal_conductivity": 25, - "specific_heat": 0.25, - "prop_values": 4000.0 - } - ], - [ - { - "thermal_conductivity": 25, - "specific_heat": 0.25, - "prop_values": 8000.0 - } - ], - [ - { - "thermal_conductivity": 25, - "specific_heat": 0.5, - "prop_values": 4000.0 - } - ], - [ - { - "thermal_conductivity": 25, - "specific_heat": 0.5, - "prop_values": 8000.0 - } - ], - [ - { - "thermal_conductivity": 45, - "specific_heat": 0.25, - "prop_values": 4000.0 - } - ], - [ - { - "thermal_conductivity": 45, - "specific_heat": 0.25, - "prop_values": 8000.0 - } - ], - [ - { - "thermal_conductivity": 45, - "specific_heat": 0.5, - "prop_values": 4000.0 - } - ], - [ - { - "thermal_conductivity": 45, - "specific_heat": 0.5, - "prop_values": 8000.0 - } - ] -] \ No newline at end of file From bc43e54bd92e55622bf2f2381b539577e82a0433 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 28 Jan 2025 12:11:59 +0000 Subject: [PATCH 05/48] Generating datasets for training and validation and starting to build ML model --- 2d_plate/dataset_analysis_model.py | 91 +++++++++++++++++++ 2d_plate/generate_2d_dataset.py | 48 +++++++--- .../bcs/sim-workdir-2/sim-1-2.i | 86 ------------------ .../perturbed_datasets/init_temp-1/sim-1-1.i | 73 +++++++++++++++ .../perturbed_datasets/init_temp-2/sim-1-2.i | 73 +++++++++++++++ .../perturbed_datasets/init_temp-3/sim-1-3.i | 73 +++++++++++++++ .../sim-1-1.i => init_temp-4/sim-1-4.i} | 17 +--- .../perturbed_datasets/init_temp-5/sim-1-5.i | 73 +++++++++++++++ .../material_props/sim-workdir-2/sim-1-2.i | 86 ------------------ .../material_props/sim-workdir-3/sim-1-3.i | 86 ------------------ .../material_props/sim-workdir-4/sim-1-4.i | 86 ------------------ .../material_props/sim-workdir-6/sim-1-6.i | 86 ------------------ .../material_props/sim-workdir-8/sim-1-8.i | 86 ------------------ .../perturbed_datasets/max_temp-1/sim-1-1.i | 73 +++++++++++++++ .../perturbed_datasets/max_temp-2/sim-1-2.i | 73 +++++++++++++++ .../sim-workdir-3 => max_temp-3}/sim-1-3.i | 19 +--- .../perturbed_datasets/max_temp-4/sim-1-4.i | 73 +++++++++++++++ .../perturbed_datasets/max_temp-5/sim-1-5.i | 73 +++++++++++++++ .../sim-workdir-1 => prop_values-1}/sim-1-1.i | 19 +--- .../sim-1-7.i => prop_values-2/sim-1-2.i} | 19 +--- .../prop_values-3/sim-1-3.i | 73 +++++++++++++++ .../prop_values-4/sim-1-4.i | 73 +++++++++++++++ .../prop_values-5/sim-1-5.i | 73 +++++++++++++++ .../specific_heat-1/sim-1-1.i | 73 +++++++++++++++ .../specific_heat-2/sim-1-2.i | 73 +++++++++++++++ .../specific_heat-3/sim-1-3.i | 73 +++++++++++++++ .../specific_heat-4/sim-1-4.i | 73 +++++++++++++++ .../specific_heat-5/sim-1-5.i | 73 +++++++++++++++ .../thermal_conductivity-1/sim-1-1.i | 73 +++++++++++++++ .../thermal_conductivity-2/sim-1-2.i | 73 +++++++++++++++ .../thermal_conductivity-3/sim-1-3.i | 73 +++++++++++++++ .../thermal_conductivity-4/sim-1-4.i | 73 +++++++++++++++ .../sim-1-5.i | 19 +--- 2d_plate/perturbed_datasets/xmax-1/sim-1-1.i | 73 +++++++++++++++ 2d_plate/perturbed_datasets/xmax-2/sim-1-2.i | 73 +++++++++++++++ .../sim-1-1.i => xmax-3/sim-1-3.i} | 17 +--- .../sim-workdir-4 => xmax-4}/sim-1-4.i | 21 +---- 2d_plate/perturbed_datasets/xmax-5/sim-1-5.i | 73 +++++++++++++++ 2d_plate/perturbed_datasets/ymax-1/sim-1-1.i | 73 +++++++++++++++ .../sim-workdir-2 => ymax-2}/sim-1-2.i | 19 +--- .../sim-workdir-3 => ymax-3}/sim-1-3.i | 17 +--- 2d_plate/perturbed_datasets/ymax-4/sim-1-4.i | 73 +++++++++++++++ 2d_plate/perturbed_datasets/ymax-5/sim-1-5.i | 73 +++++++++++++++ 2d_plate/plate_2d_thermal.i | 17 +--- .../validation_datasets/init_temp-1/sim-1-1.i | 73 +++++++++++++++ .../init_temp-2/sim-1-2.i} | 17 +--- .../validation_datasets/max_temp-1/sim-1-1.i | 73 +++++++++++++++ .../validation_datasets/max_temp-2/sim-1-2.i | 73 +++++++++++++++ .../prop_values-1/sim-1-1.i | 73 +++++++++++++++ .../prop_values-2/sim-1-2.i | 73 +++++++++++++++ .../specific_heat-1/sim-1-1.i | 73 +++++++++++++++ .../specific_heat-2/sim-1-2.i | 73 +++++++++++++++ .../thermal_conductivity-1/sim-1-1.i | 73 +++++++++++++++ .../thermal_conductivity-2/sim-1-2.i | 73 +++++++++++++++ 2d_plate/validation_datasets/xmax-1/sim-1-1.i | 73 +++++++++++++++ 2d_plate/validation_datasets/xmax-2/sim-1-2.i | 73 +++++++++++++++ 2d_plate/validation_datasets/ymax-1/sim-1-1.i | 73 +++++++++++++++ 2d_plate/validation_datasets/ymax-2/sim-1-2.i | 73 +++++++++++++++ 58 files changed, 3002 insertions(+), 701 deletions(-) create mode 100644 2d_plate/dataset_analysis_model.py delete mode 100644 2d_plate/perturbed_datasets/bcs/sim-workdir-2/sim-1-2.i create mode 100644 2d_plate/perturbed_datasets/init_temp-1/sim-1-1.i create mode 100644 2d_plate/perturbed_datasets/init_temp-2/sim-1-2.i create mode 100644 2d_plate/perturbed_datasets/init_temp-3/sim-1-3.i rename 2d_plate/perturbed_datasets/{bcs/sim-workdir-1/sim-1-1.i => init_temp-4/sim-1-4.i} (77%) create mode 100644 2d_plate/perturbed_datasets/init_temp-5/sim-1-5.i delete mode 100644 2d_plate/perturbed_datasets/material_props/sim-workdir-2/sim-1-2.i delete mode 100644 2d_plate/perturbed_datasets/material_props/sim-workdir-3/sim-1-3.i delete mode 100644 2d_plate/perturbed_datasets/material_props/sim-workdir-4/sim-1-4.i delete mode 100644 2d_plate/perturbed_datasets/material_props/sim-workdir-6/sim-1-6.i delete mode 100644 2d_plate/perturbed_datasets/material_props/sim-workdir-8/sim-1-8.i create mode 100644 2d_plate/perturbed_datasets/max_temp-1/sim-1-1.i create mode 100644 2d_plate/perturbed_datasets/max_temp-2/sim-1-2.i rename 2d_plate/perturbed_datasets/{bcs/sim-workdir-3 => max_temp-3}/sim-1-3.i (76%) create mode 100644 2d_plate/perturbed_datasets/max_temp-4/sim-1-4.i create mode 100644 2d_plate/perturbed_datasets/max_temp-5/sim-1-5.i rename 2d_plate/perturbed_datasets/{material_props/sim-workdir-1 => prop_values-1}/sim-1-1.i (76%) rename 2d_plate/perturbed_datasets/{material_props/sim-workdir-7/sim-1-7.i => prop_values-2/sim-1-2.i} (76%) create mode 100644 2d_plate/perturbed_datasets/prop_values-3/sim-1-3.i create mode 100644 2d_plate/perturbed_datasets/prop_values-4/sim-1-4.i create mode 100644 2d_plate/perturbed_datasets/prop_values-5/sim-1-5.i create mode 100644 2d_plate/perturbed_datasets/specific_heat-1/sim-1-1.i create mode 100644 2d_plate/perturbed_datasets/specific_heat-2/sim-1-2.i create mode 100644 2d_plate/perturbed_datasets/specific_heat-3/sim-1-3.i create mode 100644 2d_plate/perturbed_datasets/specific_heat-4/sim-1-4.i create mode 100644 2d_plate/perturbed_datasets/specific_heat-5/sim-1-5.i create mode 100644 2d_plate/perturbed_datasets/thermal_conductivity-1/sim-1-1.i create mode 100644 2d_plate/perturbed_datasets/thermal_conductivity-2/sim-1-2.i create mode 100644 2d_plate/perturbed_datasets/thermal_conductivity-3/sim-1-3.i create mode 100644 2d_plate/perturbed_datasets/thermal_conductivity-4/sim-1-4.i rename 2d_plate/perturbed_datasets/{material_props/sim-workdir-5 => thermal_conductivity-5}/sim-1-5.i (76%) create mode 100644 2d_plate/perturbed_datasets/xmax-1/sim-1-1.i create mode 100644 2d_plate/perturbed_datasets/xmax-2/sim-1-2.i rename 2d_plate/perturbed_datasets/{geometry/sim-workdir-1/sim-1-1.i => xmax-3/sim-1-3.i} (77%) rename 2d_plate/perturbed_datasets/{geometry/sim-workdir-4 => xmax-4}/sim-1-4.i (76%) create mode 100644 2d_plate/perturbed_datasets/xmax-5/sim-1-5.i create mode 100644 2d_plate/perturbed_datasets/ymax-1/sim-1-1.i rename 2d_plate/perturbed_datasets/{geometry/sim-workdir-2 => ymax-2}/sim-1-2.i (76%) rename 2d_plate/perturbed_datasets/{geometry/sim-workdir-3 => ymax-3}/sim-1-3.i (77%) create mode 100644 2d_plate/perturbed_datasets/ymax-4/sim-1-4.i create mode 100644 2d_plate/perturbed_datasets/ymax-5/sim-1-5.i create mode 100644 2d_plate/validation_datasets/init_temp-1/sim-1-1.i rename 2d_plate/{perturbed_datasets/bcs/sim-workdir-4/sim-1-4.i => validation_datasets/init_temp-2/sim-1-2.i} (77%) create mode 100644 2d_plate/validation_datasets/max_temp-1/sim-1-1.i create mode 100644 2d_plate/validation_datasets/max_temp-2/sim-1-2.i create mode 100644 2d_plate/validation_datasets/prop_values-1/sim-1-1.i create mode 100644 2d_plate/validation_datasets/prop_values-2/sim-1-2.i create mode 100644 2d_plate/validation_datasets/specific_heat-1/sim-1-1.i create mode 100644 2d_plate/validation_datasets/specific_heat-2/sim-1-2.i create mode 100644 2d_plate/validation_datasets/thermal_conductivity-1/sim-1-1.i create mode 100644 2d_plate/validation_datasets/thermal_conductivity-2/sim-1-2.i create mode 100644 2d_plate/validation_datasets/xmax-1/sim-1-1.i create mode 100644 2d_plate/validation_datasets/xmax-2/sim-1-2.i create mode 100644 2d_plate/validation_datasets/ymax-1/sim-1-1.i create mode 100644 2d_plate/validation_datasets/ymax-2/sim-1-2.i diff --git a/2d_plate/dataset_analysis_model.py b/2d_plate/dataset_analysis_model.py new file mode 100644 index 00000000..8ebefbb3 --- /dev/null +++ b/2d_plate/dataset_analysis_model.py @@ -0,0 +1,91 @@ +# Extract data points from generated datasets + ground truth +# Generate labelled dataset - formatted | T1 | T2 | ... | TN | label | +# where N is the number of sampled data points (6), and label is different for each perturbed parameter +# eg ground truth label = 0, perturbed xmax label = 1, perturbed ymax label = 2, etc. + +import mooseherder as mh +from pathlib import Path +import numpy as np +import pyvale +import matplotlib as plt +import tensorflow as tf +from tensorflow.keras.models import Sequential +from tensorflow.keras.layers import Dense +from sklearn.ensemble import RandomForestClassifier +from sklearn.model_selection import train_test_split + +def generate_labelled_dataset(folder_path): + labelled_dataset = np.empty((0, 7)) + parameters = ["ground_truth", "xmax", "ymax", "init_temp", "max_temp", "thermal_conductivity", "specific_heat", "prop_values"] + + for file_path in folder_path.rglob('*.e'): + for i in range(len(parameters)): + if parameters[i] in str(file_path): + label = i + sim_data = mh.ExodusReader(file_path).read_all_sim_data() + field_key = "temperature" + + sim_data.coords = sim_data.coords*1000.0 # type: ignore + + xmax = np.max(sim_data.coords[:, 0]) + ymax = np.max(sim_data.coords[:, 1]) + + n_sens = (3,2,1) + x_lims = (0.0,xmax) + y_lims = (0.0,ymax) + z_lims = (0.0,0.0) + sens_pos = pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) + sens_data = pyvale.SensorData(positions=sens_pos) + + tc_array = pyvale.SensorArrayFactory \ + .thermocouples_basic_errs(sim_data, + sens_data, + field_key, + spat_dims=2) + + measurements = tc_array.get_measurements()[:, 0, 1] + + measurements = np.append(measurements, label) # add label to measurements + labelled_dataset = np.vstack([labelled_dataset, measurements]) # add to labelled dataset + + return labelled_dataset + +training_folder_path = Path('2d_plate/perturbed_datasets') +training_dataset = generate_labelled_dataset(training_folder_path) +validation_folder_path = Path('2d_plate/validation_datasets') +validation_dataset = generate_labelled_dataset(validation_folder_path) + +# Split the dataset into training and validation sets +X_train = training_dataset[:, :-1] +y_train = training_dataset[:, -1] +X_val = validation_dataset[:, :-1] +y_val = validation_dataset[:, -1] + +# Define the neural network model +model = Sequential([ + Dense(64, activation='relu', input_shape=(6,)), # Input layer (6 features) + Dense(32, activation='relu'), # Hidden layer + Dense(8, activation='softmax') # Output layer (one neuron per class) +]) + +# Compile the model +model.compile(optimizer='adam', + loss='sparse_categorical_crossentropy', # Use sparse_categorical_crossentropy for integer labels + metrics=['accuracy']) + +# Train the model +history = model.fit(X_train, y_train, epochs=10, validation_data=(X_val, y_val)) + +# Generate predictions for the validation set +y_pred = model.predict(X_val) + +# Convert predictions from probabilities to class labels +y_pred_labels = np.argmax(y_pred, axis=1) + +# Compare predicted labels with true labels +for i in range(len(X_val)): + print(f"Row {i+1}: Actual Label = {y_val[i]}, Predicted Label = {y_pred_labels[i]}") + +# Check the model's accuracy on the validation set +val_loss, val_accuracy = model.evaluate(X_val, y_val) +print(f"NN validation Accuracy: {val_accuracy * 100:.2f}%") \ No newline at end of file diff --git a/2d_plate/generate_2d_dataset.py b/2d_plate/generate_2d_dataset.py index 958bc4e4..c4cf0ae6 100644 --- a/2d_plate/generate_2d_dataset.py +++ b/2d_plate/generate_2d_dataset.py @@ -1,4 +1,5 @@ from pathlib import Path +from itertools import product from mooseherder import (MooseHerd, MooseRunner, MooseConfig, @@ -9,10 +10,12 @@ NUM_PARA_RUNS = 2 USER_DIR = Path.home() -def main() -> None: - print('Start minimal full functionality example') +def main(param_names, param_values) -> None: + print('Start minimal full functionality example') + print(param_values) - moose_input = Path('plate_2d_thermal.i') + + moose_input = Path('2d_plate/plate_2d_thermal.i') moose_modifier = InputModifier(moose_input,'#','') moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') @@ -21,23 +24,31 @@ def main() -> None: n_threads = 2, redirect_out = False) - dir_manager = DirectoryManager(n_dirs=4) + n_dirs = 1 + for i in range(len(param_names)): + n_dirs *= len(param_values[i]) + dir_manager = DirectoryManager(n_dirs=n_dirs) herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) - herd.set_num_para_sims(n_para=4) + herd.set_num_para_sims(n_para=n_dirs) herd.set_keep_flag(False) - dir_manager.set_base_dir(Path('perturbed_datasets/geometry')) + dir_manager.set_base_dir(Path('2d_plate/validation_datasets/')) + dir_manager.set_sub_dir_name(str(param_names[0])) dir_manager.clear_dirs() dir_manager.create_dirs() - xmax = [5,10] - ymax = [2,4] - moose_vars = list([]) - for x in xmax: - for y in ymax: - moose_vars.append([{'xmax':x,'ymax':y}]) + ''' + param_combinations = product(*param_values) + moose_vars = [] + for combination in param_combinations: + params = {param_names[i]: combination[i] for i in range(len(param_names))} + moose_vars.append([params]) + ''' + moose_vars = [] + for param in param_values[0]: + moose_vars.append([{str(param_names[0]):param}]) for _ in range(NUM_PARA_RUNS): herd.run_para(moose_vars) @@ -50,4 +61,15 @@ def main() -> None: if __name__ == '__main__': - main() \ No newline at end of file + param_names = [["xmax"], ["ymax"], ["init_temp"], ["max_temp"], + ["thermal_conductivity"], ["specific_heat"], ["prop_values"]] + param_values = [[[8,22]], + [[5,9]], + [[25,45]], + [[300,900]], + [[18,52]], + [[1.25,2.75]], + [[3000,11000]]] + for i in range(len(param_names)): + main(param_names[i], param_values[i]) + diff --git a/2d_plate/perturbed_datasets/bcs/sim-workdir-2/sim-1-2.i b/2d_plate/perturbed_datasets/bcs/sim-workdir-2/sim-1-2.i deleted file mode 100644 index 80e981d1..00000000 --- a/2d_plate/perturbed_datasets/bcs/sim-workdir-2/sim-1-2.i +++ /dev/null @@ -1,86 +0,0 @@ -#_* Variables Block -end_time = 30 -time_step = 0.5 -max_temp = 1000 -init_temp = 25 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] - [time_derivative] - type = HeatConductionTimeDerivative - variable = temperature - [] - [heat_source] - type = HeatSource - variable = temperature - value = 1e4 - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Transient - end_time = ${end_time} - dt = ${time_step} -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/init_temp-1/sim-1-1.i b/2d_plate/perturbed_datasets/init_temp-1/sim-1-1.i new file mode 100644 index 00000000..cb0940fd --- /dev/null +++ b/2d_plate/perturbed_datasets/init_temp-1/sim-1-1.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 40 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/init_temp-2/sim-1-2.i b/2d_plate/perturbed_datasets/init_temp-2/sim-1-2.i new file mode 100644 index 00000000..b37ecc42 --- /dev/null +++ b/2d_plate/perturbed_datasets/init_temp-2/sim-1-2.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 30 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/init_temp-3/sim-1-3.i b/2d_plate/perturbed_datasets/init_temp-3/sim-1-3.i new file mode 100644 index 00000000..1eaa6c1c --- /dev/null +++ b/2d_plate/perturbed_datasets/init_temp-3/sim-1-3.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 10 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/bcs/sim-workdir-1/sim-1-1.i b/2d_plate/perturbed_datasets/init_temp-4/sim-1-4.i similarity index 77% rename from 2d_plate/perturbed_datasets/bcs/sim-workdir-1/sim-1-1.i rename to 2d_plate/perturbed_datasets/init_temp-4/sim-1-4.i index 901a9cfa..d66abcda 100644 --- a/2d_plate/perturbed_datasets/bcs/sim-workdir-1/sim-1-1.i +++ b/2d_plate/perturbed_datasets/init_temp-4/sim-1-4.i @@ -1,6 +1,4 @@ #_* Variables Block -end_time = 30 -time_step = 0.5 max_temp = 500 init_temp = 50 xmax = 10 @@ -10,7 +8,7 @@ specific_heat = 0.5 prop_values = 8000 bc1_value = ${init_temp} bc1_boundary = left -bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_value = ${max_temp} bc2_boundary = right #** @@ -36,15 +34,6 @@ bc2_boundary = right type = HeatConduction variable = temperature [] - [time_derivative] - type = HeatConductionTimeDerivative - variable = temperature - [] - [heat_source] - type = HeatSource - variable = temperature - value = 1e4 - [] [] [Materials] @@ -76,9 +65,7 @@ bc2_boundary = right [] [Executioner] - type = Transient - end_time = ${end_time} - dt = ${time_step} + type = Steady [] [Outputs] diff --git a/2d_plate/perturbed_datasets/init_temp-5/sim-1-5.i b/2d_plate/perturbed_datasets/init_temp-5/sim-1-5.i new file mode 100644 index 00000000..50c6e916 --- /dev/null +++ b/2d_plate/perturbed_datasets/init_temp-5/sim-1-5.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 60 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/material_props/sim-workdir-2/sim-1-2.i b/2d_plate/perturbed_datasets/material_props/sim-workdir-2/sim-1-2.i deleted file mode 100644 index 0250573d..00000000 --- a/2d_plate/perturbed_datasets/material_props/sim-workdir-2/sim-1-2.i +++ /dev/null @@ -1,86 +0,0 @@ -#_* Variables Block -end_time = 30 -time_step = 0.5 -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 25 -specific_heat = 0.25 -prop_values = 4000.0 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] - [time_derivative] - type = HeatConductionTimeDerivative - variable = temperature - [] - [heat_source] - type = HeatSource - variable = temperature - value = 1e4 - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Transient - end_time = ${end_time} - dt = ${time_step} -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/material_props/sim-workdir-3/sim-1-3.i b/2d_plate/perturbed_datasets/material_props/sim-workdir-3/sim-1-3.i deleted file mode 100644 index 72ccde9e..00000000 --- a/2d_plate/perturbed_datasets/material_props/sim-workdir-3/sim-1-3.i +++ /dev/null @@ -1,86 +0,0 @@ -#_* Variables Block -end_time = 30 -time_step = 0.5 -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 25 -specific_heat = 0.5 -prop_values = 8000.0 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] - [time_derivative] - type = HeatConductionTimeDerivative - variable = temperature - [] - [heat_source] - type = HeatSource - variable = temperature - value = 1e4 - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Transient - end_time = ${end_time} - dt = ${time_step} -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/material_props/sim-workdir-4/sim-1-4.i b/2d_plate/perturbed_datasets/material_props/sim-workdir-4/sim-1-4.i deleted file mode 100644 index 9c8ed9af..00000000 --- a/2d_plate/perturbed_datasets/material_props/sim-workdir-4/sim-1-4.i +++ /dev/null @@ -1,86 +0,0 @@ -#_* Variables Block -end_time = 30 -time_step = 0.5 -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 25 -specific_heat = 0.25 -prop_values = 8000.0 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] - [time_derivative] - type = HeatConductionTimeDerivative - variable = temperature - [] - [heat_source] - type = HeatSource - variable = temperature - value = 1e4 - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Transient - end_time = ${end_time} - dt = ${time_step} -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/material_props/sim-workdir-6/sim-1-6.i b/2d_plate/perturbed_datasets/material_props/sim-workdir-6/sim-1-6.i deleted file mode 100644 index ddad92da..00000000 --- a/2d_plate/perturbed_datasets/material_props/sim-workdir-6/sim-1-6.i +++ /dev/null @@ -1,86 +0,0 @@ -#_* Variables Block -end_time = 30 -time_step = 0.5 -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.25 -prop_values = 4000.0 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] - [time_derivative] - type = HeatConductionTimeDerivative - variable = temperature - [] - [heat_source] - type = HeatSource - variable = temperature - value = 1e4 - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Transient - end_time = ${end_time} - dt = ${time_step} -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/material_props/sim-workdir-8/sim-1-8.i b/2d_plate/perturbed_datasets/material_props/sim-workdir-8/sim-1-8.i deleted file mode 100644 index d90e02d4..00000000 --- a/2d_plate/perturbed_datasets/material_props/sim-workdir-8/sim-1-8.i +++ /dev/null @@ -1,86 +0,0 @@ -#_* Variables Block -end_time = 30 -time_step = 0.5 -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.25 -prop_values = 8000.0 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] - [time_derivative] - type = HeatConductionTimeDerivative - variable = temperature - [] - [heat_source] - type = HeatSource - variable = temperature - value = 1e4 - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Transient - end_time = ${end_time} - dt = ${time_step} -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/max_temp-1/sim-1-1.i b/2d_plate/perturbed_datasets/max_temp-1/sim-1-1.i new file mode 100644 index 00000000..0e41c92e --- /dev/null +++ b/2d_plate/perturbed_datasets/max_temp-1/sim-1-1.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 600 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/max_temp-2/sim-1-2.i b/2d_plate/perturbed_datasets/max_temp-2/sim-1-2.i new file mode 100644 index 00000000..7de2b0b4 --- /dev/null +++ b/2d_plate/perturbed_datasets/max_temp-2/sim-1-2.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 800 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/bcs/sim-workdir-3/sim-1-3.i b/2d_plate/perturbed_datasets/max_temp-3/sim-1-3.i similarity index 76% rename from 2d_plate/perturbed_datasets/bcs/sim-workdir-3/sim-1-3.i rename to 2d_plate/perturbed_datasets/max_temp-3/sim-1-3.i index fe0e5d6a..d1991a36 100644 --- a/2d_plate/perturbed_datasets/bcs/sim-workdir-3/sim-1-3.i +++ b/2d_plate/perturbed_datasets/max_temp-3/sim-1-3.i @@ -1,8 +1,6 @@ #_* Variables Block -end_time = 30 -time_step = 0.5 max_temp = 1000 -init_temp = 50 +init_temp = 20 xmax = 10 ymax = 2 thermal_conductivity = 45 @@ -10,7 +8,7 @@ specific_heat = 0.5 prop_values = 8000 bc1_value = ${init_temp} bc1_boundary = left -bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_value = ${max_temp} bc2_boundary = right #** @@ -36,15 +34,6 @@ bc2_boundary = right type = HeatConduction variable = temperature [] - [time_derivative] - type = HeatConductionTimeDerivative - variable = temperature - [] - [heat_source] - type = HeatSource - variable = temperature - value = 1e4 - [] [] [Materials] @@ -76,9 +65,7 @@ bc2_boundary = right [] [Executioner] - type = Transient - end_time = ${end_time} - dt = ${time_step} + type = Steady [] [Outputs] diff --git a/2d_plate/perturbed_datasets/max_temp-4/sim-1-4.i b/2d_plate/perturbed_datasets/max_temp-4/sim-1-4.i new file mode 100644 index 00000000..570d8d06 --- /dev/null +++ b/2d_plate/perturbed_datasets/max_temp-4/sim-1-4.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 400 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/max_temp-5/sim-1-5.i b/2d_plate/perturbed_datasets/max_temp-5/sim-1-5.i new file mode 100644 index 00000000..ada80826 --- /dev/null +++ b/2d_plate/perturbed_datasets/max_temp-5/sim-1-5.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 200 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/material_props/sim-workdir-1/sim-1-1.i b/2d_plate/perturbed_datasets/prop_values-1/sim-1-1.i similarity index 76% rename from 2d_plate/perturbed_datasets/material_props/sim-workdir-1/sim-1-1.i rename to 2d_plate/perturbed_datasets/prop_values-1/sim-1-1.i index d7c2d616..3773d225 100644 --- a/2d_plate/perturbed_datasets/material_props/sim-workdir-1/sim-1-1.i +++ b/2d_plate/perturbed_datasets/prop_values-1/sim-1-1.i @@ -1,16 +1,14 @@ #_* Variables Block -end_time = 30 -time_step = 0.5 max_temp = 500 init_temp = 20 xmax = 10 ymax = 2 thermal_conductivity = 45 specific_heat = 0.5 -prop_values = 8000.0 +prop_values = 4000 bc1_value = ${init_temp} bc1_boundary = left -bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_value = ${max_temp} bc2_boundary = right #** @@ -36,15 +34,6 @@ bc2_boundary = right type = HeatConduction variable = temperature [] - [time_derivative] - type = HeatConductionTimeDerivative - variable = temperature - [] - [heat_source] - type = HeatSource - variable = temperature - value = 1e4 - [] [] [Materials] @@ -76,9 +65,7 @@ bc2_boundary = right [] [Executioner] - type = Transient - end_time = ${end_time} - dt = ${time_step} + type = Steady [] [Outputs] diff --git a/2d_plate/perturbed_datasets/material_props/sim-workdir-7/sim-1-7.i b/2d_plate/perturbed_datasets/prop_values-2/sim-1-2.i similarity index 76% rename from 2d_plate/perturbed_datasets/material_props/sim-workdir-7/sim-1-7.i rename to 2d_plate/perturbed_datasets/prop_values-2/sim-1-2.i index 4b18117f..28e69035 100644 --- a/2d_plate/perturbed_datasets/material_props/sim-workdir-7/sim-1-7.i +++ b/2d_plate/perturbed_datasets/prop_values-2/sim-1-2.i @@ -1,16 +1,14 @@ #_* Variables Block -end_time = 30 -time_step = 0.5 max_temp = 500 init_temp = 20 xmax = 10 ymax = 2 thermal_conductivity = 45 specific_heat = 0.5 -prop_values = 4000.0 +prop_values = 10000 bc1_value = ${init_temp} bc1_boundary = left -bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_value = ${max_temp} bc2_boundary = right #** @@ -36,15 +34,6 @@ bc2_boundary = right type = HeatConduction variable = temperature [] - [time_derivative] - type = HeatConductionTimeDerivative - variable = temperature - [] - [heat_source] - type = HeatSource - variable = temperature - value = 1e4 - [] [] [Materials] @@ -76,9 +65,7 @@ bc2_boundary = right [] [Executioner] - type = Transient - end_time = ${end_time} - dt = ${time_step} + type = Steady [] [Outputs] diff --git a/2d_plate/perturbed_datasets/prop_values-3/sim-1-3.i b/2d_plate/perturbed_datasets/prop_values-3/sim-1-3.i new file mode 100644 index 00000000..f7a288de --- /dev/null +++ b/2d_plate/perturbed_datasets/prop_values-3/sim-1-3.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 12000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/prop_values-4/sim-1-4.i b/2d_plate/perturbed_datasets/prop_values-4/sim-1-4.i new file mode 100644 index 00000000..24da3dd8 --- /dev/null +++ b/2d_plate/perturbed_datasets/prop_values-4/sim-1-4.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 6000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/prop_values-5/sim-1-5.i b/2d_plate/perturbed_datasets/prop_values-5/sim-1-5.i new file mode 100644 index 00000000..27f78689 --- /dev/null +++ b/2d_plate/perturbed_datasets/prop_values-5/sim-1-5.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 2000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/specific_heat-1/sim-1-1.i b/2d_plate/perturbed_datasets/specific_heat-1/sim-1-1.i new file mode 100644 index 00000000..4f27eb3d --- /dev/null +++ b/2d_plate/perturbed_datasets/specific_heat-1/sim-1-1.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 1.0 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/specific_heat-2/sim-1-2.i b/2d_plate/perturbed_datasets/specific_heat-2/sim-1-2.i new file mode 100644 index 00000000..75073975 --- /dev/null +++ b/2d_plate/perturbed_datasets/specific_heat-2/sim-1-2.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 3.0 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/specific_heat-3/sim-1-3.i b/2d_plate/perturbed_datasets/specific_heat-3/sim-1-3.i new file mode 100644 index 00000000..e72849e6 --- /dev/null +++ b/2d_plate/perturbed_datasets/specific_heat-3/sim-1-3.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 1.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/specific_heat-4/sim-1-4.i b/2d_plate/perturbed_datasets/specific_heat-4/sim-1-4.i new file mode 100644 index 00000000..42ed18f8 --- /dev/null +++ b/2d_plate/perturbed_datasets/specific_heat-4/sim-1-4.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 2.0 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/specific_heat-5/sim-1-5.i b/2d_plate/perturbed_datasets/specific_heat-5/sim-1-5.i new file mode 100644 index 00000000..22da10a7 --- /dev/null +++ b/2d_plate/perturbed_datasets/specific_heat-5/sim-1-5.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 2.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/thermal_conductivity-1/sim-1-1.i b/2d_plate/perturbed_datasets/thermal_conductivity-1/sim-1-1.i new file mode 100644 index 00000000..5b2bfca4 --- /dev/null +++ b/2d_plate/perturbed_datasets/thermal_conductivity-1/sim-1-1.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 15 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/thermal_conductivity-2/sim-1-2.i b/2d_plate/perturbed_datasets/thermal_conductivity-2/sim-1-2.i new file mode 100644 index 00000000..3955c18c --- /dev/null +++ b/2d_plate/perturbed_datasets/thermal_conductivity-2/sim-1-2.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 55 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/thermal_conductivity-3/sim-1-3.i b/2d_plate/perturbed_datasets/thermal_conductivity-3/sim-1-3.i new file mode 100644 index 00000000..dd656375 --- /dev/null +++ b/2d_plate/perturbed_datasets/thermal_conductivity-3/sim-1-3.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 65 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/thermal_conductivity-4/sim-1-4.i b/2d_plate/perturbed_datasets/thermal_conductivity-4/sim-1-4.i new file mode 100644 index 00000000..d5a1c3dd --- /dev/null +++ b/2d_plate/perturbed_datasets/thermal_conductivity-4/sim-1-4.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 35 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/material_props/sim-workdir-5/sim-1-5.i b/2d_plate/perturbed_datasets/thermal_conductivity-5/sim-1-5.i similarity index 76% rename from 2d_plate/perturbed_datasets/material_props/sim-workdir-5/sim-1-5.i rename to 2d_plate/perturbed_datasets/thermal_conductivity-5/sim-1-5.i index 586a9b3e..5d5906a5 100644 --- a/2d_plate/perturbed_datasets/material_props/sim-workdir-5/sim-1-5.i +++ b/2d_plate/perturbed_datasets/thermal_conductivity-5/sim-1-5.i @@ -1,16 +1,14 @@ #_* Variables Block -end_time = 30 -time_step = 0.5 max_temp = 500 init_temp = 20 xmax = 10 ymax = 2 thermal_conductivity = 25 specific_heat = 0.5 -prop_values = 4000.0 +prop_values = 8000 bc1_value = ${init_temp} bc1_boundary = left -bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_value = ${max_temp} bc2_boundary = right #** @@ -36,15 +34,6 @@ bc2_boundary = right type = HeatConduction variable = temperature [] - [time_derivative] - type = HeatConductionTimeDerivative - variable = temperature - [] - [heat_source] - type = HeatSource - variable = temperature - value = 1e4 - [] [] [Materials] @@ -76,9 +65,7 @@ bc2_boundary = right [] [Executioner] - type = Transient - end_time = ${end_time} - dt = ${time_step} + type = Steady [] [Outputs] diff --git a/2d_plate/perturbed_datasets/xmax-1/sim-1-1.i b/2d_plate/perturbed_datasets/xmax-1/sim-1-1.i new file mode 100644 index 00000000..5147e126 --- /dev/null +++ b/2d_plate/perturbed_datasets/xmax-1/sim-1-1.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 25 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/xmax-2/sim-1-2.i b/2d_plate/perturbed_datasets/xmax-2/sim-1-2.i new file mode 100644 index 00000000..76114050 --- /dev/null +++ b/2d_plate/perturbed_datasets/xmax-2/sim-1-2.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 20 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/geometry/sim-workdir-1/sim-1-1.i b/2d_plate/perturbed_datasets/xmax-3/sim-1-3.i similarity index 77% rename from 2d_plate/perturbed_datasets/geometry/sim-workdir-1/sim-1-1.i rename to 2d_plate/perturbed_datasets/xmax-3/sim-1-3.i index 63338ecb..6248fa71 100644 --- a/2d_plate/perturbed_datasets/geometry/sim-workdir-1/sim-1-1.i +++ b/2d_plate/perturbed_datasets/xmax-3/sim-1-3.i @@ -1,6 +1,4 @@ #_* Variables Block -end_time = 30 -time_step = 0.5 max_temp = 500 init_temp = 20 xmax = 5 @@ -10,7 +8,7 @@ specific_heat = 0.5 prop_values = 8000 bc1_value = ${init_temp} bc1_boundary = left -bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_value = ${max_temp} bc2_boundary = right #** @@ -36,15 +34,6 @@ bc2_boundary = right type = HeatConduction variable = temperature [] - [time_derivative] - type = HeatConductionTimeDerivative - variable = temperature - [] - [heat_source] - type = HeatSource - variable = temperature - value = 1e4 - [] [] [Materials] @@ -76,9 +65,7 @@ bc2_boundary = right [] [Executioner] - type = Transient - end_time = ${end_time} - dt = ${time_step} + type = Steady [] [Outputs] diff --git a/2d_plate/perturbed_datasets/geometry/sim-workdir-4/sim-1-4.i b/2d_plate/perturbed_datasets/xmax-4/sim-1-4.i similarity index 76% rename from 2d_plate/perturbed_datasets/geometry/sim-workdir-4/sim-1-4.i rename to 2d_plate/perturbed_datasets/xmax-4/sim-1-4.i index 06638eb7..00dfde7b 100644 --- a/2d_plate/perturbed_datasets/geometry/sim-workdir-4/sim-1-4.i +++ b/2d_plate/perturbed_datasets/xmax-4/sim-1-4.i @@ -1,16 +1,14 @@ #_* Variables Block -end_time = 30 -time_step = 0.5 max_temp = 500 init_temp = 20 -xmax = 5 -ymax = 4 +xmax = 15 +ymax = 2 thermal_conductivity = 45 specific_heat = 0.5 prop_values = 8000 bc1_value = ${init_temp} bc1_boundary = left -bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_value = ${max_temp} bc2_boundary = right #** @@ -36,15 +34,6 @@ bc2_boundary = right type = HeatConduction variable = temperature [] - [time_derivative] - type = HeatConductionTimeDerivative - variable = temperature - [] - [heat_source] - type = HeatSource - variable = temperature - value = 1e4 - [] [] [Materials] @@ -76,9 +65,7 @@ bc2_boundary = right [] [Executioner] - type = Transient - end_time = ${end_time} - dt = ${time_step} + type = Steady [] [Outputs] diff --git a/2d_plate/perturbed_datasets/xmax-5/sim-1-5.i b/2d_plate/perturbed_datasets/xmax-5/sim-1-5.i new file mode 100644 index 00000000..37a1cc24 --- /dev/null +++ b/2d_plate/perturbed_datasets/xmax-5/sim-1-5.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 30 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/ymax-1/sim-1-1.i b/2d_plate/perturbed_datasets/ymax-1/sim-1-1.i new file mode 100644 index 00000000..7d7d7d60 --- /dev/null +++ b/2d_plate/perturbed_datasets/ymax-1/sim-1-1.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 6 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/geometry/sim-workdir-2/sim-1-2.i b/2d_plate/perturbed_datasets/ymax-2/sim-1-2.i similarity index 76% rename from 2d_plate/perturbed_datasets/geometry/sim-workdir-2/sim-1-2.i rename to 2d_plate/perturbed_datasets/ymax-2/sim-1-2.i index e8e82420..a93325c2 100644 --- a/2d_plate/perturbed_datasets/geometry/sim-workdir-2/sim-1-2.i +++ b/2d_plate/perturbed_datasets/ymax-2/sim-1-2.i @@ -1,16 +1,14 @@ #_* Variables Block -end_time = 30 -time_step = 0.5 max_temp = 500 init_temp = 20 xmax = 10 -ymax = 2 +ymax = 8 thermal_conductivity = 45 specific_heat = 0.5 prop_values = 8000 bc1_value = ${init_temp} bc1_boundary = left -bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_value = ${max_temp} bc2_boundary = right #** @@ -36,15 +34,6 @@ bc2_boundary = right type = HeatConduction variable = temperature [] - [time_derivative] - type = HeatConductionTimeDerivative - variable = temperature - [] - [heat_source] - type = HeatSource - variable = temperature - value = 1e4 - [] [] [Materials] @@ -76,9 +65,7 @@ bc2_boundary = right [] [Executioner] - type = Transient - end_time = ${end_time} - dt = ${time_step} + type = Steady [] [Outputs] diff --git a/2d_plate/perturbed_datasets/geometry/sim-workdir-3/sim-1-3.i b/2d_plate/perturbed_datasets/ymax-3/sim-1-3.i similarity index 77% rename from 2d_plate/perturbed_datasets/geometry/sim-workdir-3/sim-1-3.i rename to 2d_plate/perturbed_datasets/ymax-3/sim-1-3.i index b512e423..9befbeb7 100644 --- a/2d_plate/perturbed_datasets/geometry/sim-workdir-3/sim-1-3.i +++ b/2d_plate/perturbed_datasets/ymax-3/sim-1-3.i @@ -1,6 +1,4 @@ #_* Variables Block -end_time = 30 -time_step = 0.5 max_temp = 500 init_temp = 20 xmax = 10 @@ -10,7 +8,7 @@ specific_heat = 0.5 prop_values = 8000 bc1_value = ${init_temp} bc1_boundary = left -bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_value = ${max_temp} bc2_boundary = right #** @@ -36,15 +34,6 @@ bc2_boundary = right type = HeatConduction variable = temperature [] - [time_derivative] - type = HeatConductionTimeDerivative - variable = temperature - [] - [heat_source] - type = HeatSource - variable = temperature - value = 1e4 - [] [] [Materials] @@ -76,9 +65,7 @@ bc2_boundary = right [] [Executioner] - type = Transient - end_time = ${end_time} - dt = ${time_step} + type = Steady [] [Outputs] diff --git a/2d_plate/perturbed_datasets/ymax-4/sim-1-4.i b/2d_plate/perturbed_datasets/ymax-4/sim-1-4.i new file mode 100644 index 00000000..6f7150f9 --- /dev/null +++ b/2d_plate/perturbed_datasets/ymax-4/sim-1-4.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 12 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/ymax-5/sim-1-5.i b/2d_plate/perturbed_datasets/ymax-5/sim-1-5.i new file mode 100644 index 00000000..952df61a --- /dev/null +++ b/2d_plate/perturbed_datasets/ymax-5/sim-1-5.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 10 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/plate_2d_thermal.i b/2d_plate/plate_2d_thermal.i index e8e82420..0c1fe703 100644 --- a/2d_plate/plate_2d_thermal.i +++ b/2d_plate/plate_2d_thermal.i @@ -1,6 +1,4 @@ #_* Variables Block -end_time = 30 -time_step = 0.5 max_temp = 500 init_temp = 20 xmax = 10 @@ -10,7 +8,7 @@ specific_heat = 0.5 prop_values = 8000 bc1_value = ${init_temp} bc1_boundary = left -bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_value = ${max_temp} bc2_boundary = right #** @@ -36,15 +34,6 @@ bc2_boundary = right type = HeatConduction variable = temperature [] - [time_derivative] - type = HeatConductionTimeDerivative - variable = temperature - [] - [heat_source] - type = HeatSource - variable = temperature - value = 1e4 - [] [] [Materials] @@ -76,9 +65,7 @@ bc2_boundary = right [] [Executioner] - type = Transient - end_time = ${end_time} - dt = ${time_step} + type = Steady [] [Outputs] diff --git a/2d_plate/validation_datasets/init_temp-1/sim-1-1.i b/2d_plate/validation_datasets/init_temp-1/sim-1-1.i new file mode 100644 index 00000000..765f8250 --- /dev/null +++ b/2d_plate/validation_datasets/init_temp-1/sim-1-1.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 45 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/perturbed_datasets/bcs/sim-workdir-4/sim-1-4.i b/2d_plate/validation_datasets/init_temp-2/sim-1-2.i similarity index 77% rename from 2d_plate/perturbed_datasets/bcs/sim-workdir-4/sim-1-4.i rename to 2d_plate/validation_datasets/init_temp-2/sim-1-2.i index 72695044..43111bd1 100644 --- a/2d_plate/perturbed_datasets/bcs/sim-workdir-4/sim-1-4.i +++ b/2d_plate/validation_datasets/init_temp-2/sim-1-2.i @@ -1,6 +1,4 @@ #_* Variables Block -end_time = 30 -time_step = 0.5 max_temp = 500 init_temp = 25 xmax = 10 @@ -10,7 +8,7 @@ specific_heat = 0.5 prop_values = 8000 bc1_value = ${init_temp} bc1_boundary = left -bc2_value = ${init_temp}+${max_temp}*(1-exp(-t)) +bc2_value = ${max_temp} bc2_boundary = right #** @@ -36,15 +34,6 @@ bc2_boundary = right type = HeatConduction variable = temperature [] - [time_derivative] - type = HeatConductionTimeDerivative - variable = temperature - [] - [heat_source] - type = HeatSource - variable = temperature - value = 1e4 - [] [] [Materials] @@ -76,9 +65,7 @@ bc2_boundary = right [] [Executioner] - type = Transient - end_time = ${end_time} - dt = ${time_step} + type = Steady [] [Outputs] diff --git a/2d_plate/validation_datasets/max_temp-1/sim-1-1.i b/2d_plate/validation_datasets/max_temp-1/sim-1-1.i new file mode 100644 index 00000000..12aa8460 --- /dev/null +++ b/2d_plate/validation_datasets/max_temp-1/sim-1-1.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 300 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/validation_datasets/max_temp-2/sim-1-2.i b/2d_plate/validation_datasets/max_temp-2/sim-1-2.i new file mode 100644 index 00000000..74252a38 --- /dev/null +++ b/2d_plate/validation_datasets/max_temp-2/sim-1-2.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 900 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/validation_datasets/prop_values-1/sim-1-1.i b/2d_plate/validation_datasets/prop_values-1/sim-1-1.i new file mode 100644 index 00000000..da7e6b79 --- /dev/null +++ b/2d_plate/validation_datasets/prop_values-1/sim-1-1.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 3000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/validation_datasets/prop_values-2/sim-1-2.i b/2d_plate/validation_datasets/prop_values-2/sim-1-2.i new file mode 100644 index 00000000..eb7f0057 --- /dev/null +++ b/2d_plate/validation_datasets/prop_values-2/sim-1-2.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 11000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/validation_datasets/specific_heat-1/sim-1-1.i b/2d_plate/validation_datasets/specific_heat-1/sim-1-1.i new file mode 100644 index 00000000..59cac883 --- /dev/null +++ b/2d_plate/validation_datasets/specific_heat-1/sim-1-1.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 2.75 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/validation_datasets/specific_heat-2/sim-1-2.i b/2d_plate/validation_datasets/specific_heat-2/sim-1-2.i new file mode 100644 index 00000000..2c93ea30 --- /dev/null +++ b/2d_plate/validation_datasets/specific_heat-2/sim-1-2.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 1.25 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/validation_datasets/thermal_conductivity-1/sim-1-1.i b/2d_plate/validation_datasets/thermal_conductivity-1/sim-1-1.i new file mode 100644 index 00000000..645a5ee2 --- /dev/null +++ b/2d_plate/validation_datasets/thermal_conductivity-1/sim-1-1.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 52 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/validation_datasets/thermal_conductivity-2/sim-1-2.i b/2d_plate/validation_datasets/thermal_conductivity-2/sim-1-2.i new file mode 100644 index 00000000..6743d61c --- /dev/null +++ b/2d_plate/validation_datasets/thermal_conductivity-2/sim-1-2.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 18 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/validation_datasets/xmax-1/sim-1-1.i b/2d_plate/validation_datasets/xmax-1/sim-1-1.i new file mode 100644 index 00000000..61eb932a --- /dev/null +++ b/2d_plate/validation_datasets/xmax-1/sim-1-1.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 8 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/validation_datasets/xmax-2/sim-1-2.i b/2d_plate/validation_datasets/xmax-2/sim-1-2.i new file mode 100644 index 00000000..bbc8a09b --- /dev/null +++ b/2d_plate/validation_datasets/xmax-2/sim-1-2.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 22 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/validation_datasets/ymax-1/sim-1-1.i b/2d_plate/validation_datasets/ymax-1/sim-1-1.i new file mode 100644 index 00000000..6bcc4c97 --- /dev/null +++ b/2d_plate/validation_datasets/ymax-1/sim-1-1.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 9 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] diff --git a/2d_plate/validation_datasets/ymax-2/sim-1-2.i b/2d_plate/validation_datasets/ymax-2/sim-1-2.i new file mode 100644 index 00000000..6d5d0134 --- /dev/null +++ b/2d_plate/validation_datasets/ymax-2/sim-1-2.i @@ -0,0 +1,73 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 5 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + exodus = true +[] From 73e519bfddb259c2eca60a7eacba68437323cfc7 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 28 Jan 2025 13:23:42 +0000 Subject: [PATCH 06/48] Removed errors from thermocouples --- 2d_plate/dataset_analysis_model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2d_plate/dataset_analysis_model.py b/2d_plate/dataset_analysis_model.py index 8ebefbb3..af1d8fb8 100644 --- a/2d_plate/dataset_analysis_model.py +++ b/2d_plate/dataset_analysis_model.py @@ -38,7 +38,7 @@ def generate_labelled_dataset(folder_path): sens_data = pyvale.SensorData(positions=sens_pos) tc_array = pyvale.SensorArrayFactory \ - .thermocouples_basic_errs(sim_data, + .thermocouples_no_errs(sim_data, sens_data, field_key, spat_dims=2) From d8fe7a45f664d6612d0018d424e221e6f81175d0 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 25 Feb 2025 13:53:07 +0000 Subject: [PATCH 07/48] Attempting to get everything together into a single script --- 2d_plate/generate_2d_dataset.py | 58 +++- full_functionality/full_functionality.py | 192 +++++++++++ .../plate_2d_thermal.i | 0 full_functionality/tkinter_attempt.py | 297 ++++++++++++++++++ 4 files changed, 537 insertions(+), 10 deletions(-) create mode 100644 full_functionality/full_functionality.py rename {2d_plate => full_functionality}/plate_2d_thermal.i (100%) create mode 100644 full_functionality/tkinter_attempt.py diff --git a/2d_plate/generate_2d_dataset.py b/2d_plate/generate_2d_dataset.py index c4cf0ae6..b374f8dd 100644 --- a/2d_plate/generate_2d_dataset.py +++ b/2d_plate/generate_2d_dataset.py @@ -1,5 +1,6 @@ from pathlib import Path from itertools import product +import random from mooseherder import (MooseHerd, MooseRunner, MooseConfig, @@ -12,10 +13,9 @@ def main(param_names, param_values) -> None: print('Start minimal full functionality example') - print(param_values) - moose_input = Path('2d_plate/plate_2d_thermal.i') + moose_modifier = InputModifier(moose_input,'#','') moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') @@ -24,6 +24,20 @@ def main(param_names, param_values) -> None: n_threads = 2, redirect_out = False) + # Generate ground truth + dir_manager = DirectoryManager(n_dirs=1) + dir_manager.set_base_dir(Path('2d_plate/perturbed_datasets/')) + dir_manager.set_sub_dir_name('ground_truth') + dir_manager.clear_dirs() + dir_manager.create_dirs() + + herd = MooseHerd([moose_runner], [moose_modifier], dir_manager) + herd.set_num_para_sims(n_para=1) + herd.set_keep_flag(False) + + herd.run_para([{}]) + + # Generate perturbed datasets n_dirs = 1 for i in range(len(param_names)): n_dirs *= len(param_values[i]) @@ -33,21 +47,45 @@ def main(param_names, param_values) -> None: herd.set_num_para_sims(n_para=n_dirs) herd.set_keep_flag(False) - dir_manager.set_base_dir(Path('2d_plate/validation_datasets/')) + dir_manager.set_base_dir(Path('2d_plate/perturbed_datasets/')) dir_manager.set_sub_dir_name(str(param_names[0])) dir_manager.clear_dirs() dir_manager.create_dirs() - ''' - param_combinations = product(*param_values) moose_vars = [] - for combination in param_combinations: - params = {param_names[i]: combination[i] for i in range(len(param_names))} - moose_vars.append([params]) - ''' + for param in param_values[0]: + moose_vars.append([{str(param_names[0]):param}]) + + for _ in range(NUM_PARA_RUNS): + herd.run_para(moose_vars) + + # Generate validation datasets + validation_values = [[]] + num_validation_values = 2 + for i in range(num_validation_values): + distinct_val = False + while not distinct_val: + validation_value = random.uniform(min([val for sublist in param_values for val in sublist]), + max([val for sublist in param_values for val in sublist])) + if validation_value not in param_values and validation_value not in validation_values: + distinct_val = True + + n_dirs = 1 + for i in range(len(param_names)): + n_dirs *= len(validation_values[i]) + dir_manager = DirectoryManager(n_dirs=n_dirs) + + herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) + herd.set_num_para_sims(n_para=n_dirs) + herd.set_keep_flag(False) + + dir_manager.set_base_dir(Path('2d_plate/validation_datasets/')) + dir_manager.set_sub_dir_name(str(param_names[0])) + dir_manager.clear_dirs() + dir_manager.create_dirs() moose_vars = [] - for param in param_values[0]: + for param in validation_values[0]: moose_vars.append([{str(param_names[0]):param}]) for _ in range(NUM_PARA_RUNS): diff --git a/full_functionality/full_functionality.py b/full_functionality/full_functionality.py new file mode 100644 index 00000000..edd0f62d --- /dev/null +++ b/full_functionality/full_functionality.py @@ -0,0 +1,192 @@ +from pathlib import Path +import random +import math +import numpy as np +import pyvale +from sklearn.ensemble import RandomForestClassifier +from sklearn.metrics import accuracy_score +from mooseherder import (MooseHerd, + MooseRunner, + MooseConfig, + InputModifier, + DirectoryManager, + SweepReader, + ExodusReader) + + +NUM_PARA_RUNS = 2 +USER_DIR = Path.home() + + +def setup_moose_runner(path, filename): + moose_input = Path(str(path + filename)) + moose_modifier = InputModifier(moose_input, '#', '') + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks=1, n_threads=2, redirect_out=False) + return moose_runner, moose_modifier + + +def setup_directory_manager(base_dir, sub_dir_name, n_dirs): + dir_manager = DirectoryManager(n_dirs=n_dirs) + dir_manager.set_base_dir(base_dir) + dir_manager.set_sub_dir_name(sub_dir_name) + dir_manager.clear_dirs() + dir_manager.create_dirs() + return dir_manager + + +def run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_para, keep_flag=False): + herd = MooseHerd([moose_runner], [moose_modifier], dir_manager) + herd.set_num_para_sims(n_para=n_para) + herd.set_keep_flag(keep_flag) + for _ in range(NUM_PARA_RUNS): + herd.run_para(moose_vars) + + sweep_reader = SweepReader(dir_manager, num_para_read=4) + sweep_reader.read_all_output_keys() + read_all = sweep_reader.read_results_para() + + +def generate_ground_truths(moose_runner, moose_modifier, base_dir, param_values): + for i in range(math.ceil(len(param_values[0]) / 5)): + dir_manager = setup_directory_manager(base_dir, 'ground_truth', 1) + run_herd(moose_runner, moose_modifier, dir_manager, [{}], 1) + + +def generate_perturbed_datasets(moose_runner, moose_modifier, base_dir, param_names, param_values): + n_dirs = 1 + for i in range(len(param_names)): + n_dirs *= len(param_values[i]) + dir_manager = setup_directory_manager(base_dir, str(param_names[0]), n_dirs) + moose_vars = [{str(param_names[0]): param} for param in param_values[0]] + run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_dirs) + + +def generate_validation_values(param_values, num_validation_values=2): + validation_values = [[]] + for i in range(num_validation_values): + distinct_val = False + while not distinct_val: + validation_value = random.uniform(min([val for sublist in param_values for val in sublist]), + max([val for sublist in param_values for val in sublist])) + if validation_value not in param_values and validation_value not in validation_values: + distinct_val = True + validation_values.append(validation_value) + + return validation_values + + +def generate_validation_datasets(moose_runner, moose_modifier, base_dir, param_names, validation_values): + n_dirs = 1 + for i in range(len(param_names)): + n_dirs *= len(validation_values[i]) + dir_manager = setup_directory_manager(base_dir, str(param_names[0]), n_dirs) + moose_vars = [{str(param_names[0]): param} for param in validation_values[0]] + run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_dirs) + + +def generate_datasets(path, filename): + moose_runner, moose_modifier = setup_moose_runner(path, filename) + + parameters = moose_modifier.get_vars() + parameter_names = [[key] for key in parameters.keys()] + default_values = [value for value in parameters.values()] + + param_names = [["max_temp"], ["init_temp"], ["xmax"], ["ymax"], ["thermal_conductivity"], + ["specific_heat"], ["prop_values"]] + param_values = [[[750,1000,1250,1500,1750]],[[30,40,50,60,70]],[[20,30,40,50,60]], + [[4,6,8,10,12]],[[55,65,75,85,95]],[[1,1.5,2,2.5,3]],[[12000,16000,20000,24000,28000]]] + + ''' + for i in range (len(parameter_names)): + parameter_name = parameter_names[i] + default_value = default_values[i] + include = input('Include '+str(parameter_name)+'? (Y/N) ') + if include.upper() == 'Y': + print('Default value:', str(default_value)) + param_names.append([parameter_name]) + parameter_values = input('Enter values for '+str(parameter_name)+' separated by commas ').split(",") + if default_value in parameter_values: + parameter_values.remove(default_value) + param_values.append([parameter_values]) + ''' + + for i in range(len(param_names)): + param_names = param_names[i] + param_values = param_values[i] + + generate_ground_truths(moose_runner, moose_modifier, Path(str(path+'perturbed_datasets/')), param_values) + generate_perturbed_datasets(moose_runner, moose_modifier, Path(str(path+'perturbed_datasets/')), param_names, param_values) + + validation_values = generate_validation_values(param_values) + generate_validation_datasets(moose_runner, moose_modifier, Path(str(path+'validation_datasets/')), param_names, validation_values) + generate_ground_truths(moose_runner, moose_modifier, Path(str(path+'validation_datasets/')), validation_values) + + +def generate_labelled_dataset(folder_path): + labelled_dataset = np.empty((0, 7)) + + for file_path in folder_path.rglob('*.e'): + if "ground_truth" in str(file_path): + label = 0 + else: + label = 1 + + sim_data = ExodusReader(file_path).read_all_sim_data() + field_key = "temperature" + + sim_data.coords = sim_data.coords*1000.0 + + xmax = np.max(sim_data.coords[:, 0]) + ymax = np.max(sim_data.coords[:, 1]) + + n_sens = (3,2,1) + x_lims = (0.0,xmax) + y_lims = (0.0,ymax) + z_lims = (0.0,0.0) + sens_pos = pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) + sens_data = pyvale.SensorData(positions=sens_pos) + + tc_array = pyvale.SensorArrayFactory \ + .thermocouples_no_errs(sim_data, + sens_data, + field_key, + spat_dims=2) + + measurements = tc_array.get_measurements()[:, 0, 1] + + measurements = np.append(measurements, label) + labelled_dataset = np.vstack([labelled_dataset, measurements]) + + return labelled_dataset + + +def model(path, filename): + generate_datasets(path, filename) + + X_train = generate_labelled_dataset(Path(str(path+'perturbed_datasets/')))[:, :-1] + y_train = generate_labelled_dataset(Path(str(path+'perturbed_datasets/')))[:, -1] + X_val = generate_labelled_dataset(Path(str(path+'validation_datasets/')))[:, :-1] + y_val = generate_labelled_dataset(Path(str(path+'validation_datasets/')))[:, -1] + + # Need to delete unlabelled datasets + + rf_classifier = RandomForestClassifier(n_estimators=100, random_state=42) + rf_classifier.fit(X_train, y_train) + + y_pred = rf_classifier.predict(X_val) + + for i in range(len(X_val)): + print(f"Row {i + 1}: Actual Label = {y_val[i]}, Predicted Label = {y_pred[i]}") + + val_accuracy = accuracy_score(y_val, y_pred) + print(f"Random Forest Validation Accuracy: {val_accuracy * 100:.2f}%") + + +#path = input('Enter the desired path ') +#filename = input('Enter the input file name ') +path = "full_functionality/" +filename = "plate_2d_thermal.i" +if __name__ == "__main__": + model(path, filename) \ No newline at end of file diff --git a/2d_plate/plate_2d_thermal.i b/full_functionality/plate_2d_thermal.i similarity index 100% rename from 2d_plate/plate_2d_thermal.i rename to full_functionality/plate_2d_thermal.i diff --git a/full_functionality/tkinter_attempt.py b/full_functionality/tkinter_attempt.py new file mode 100644 index 00000000..8f6f2311 --- /dev/null +++ b/full_functionality/tkinter_attempt.py @@ -0,0 +1,297 @@ +from pathlib import Path +import random +import math +import numpy as np +import pyvale +from sklearn.ensemble import RandomForestClassifier +from sklearn.metrics import accuracy_score +from tkinter import * +from mooseherder import (MooseHerd, + MooseRunner, + MooseConfig, + InputModifier, + DirectoryManager, + SweepReader, + ExodusReader) + + +NUM_PARA_RUNS = 2 +USER_DIR = Path.home() + + +def setup_moose_runner(path, filename): + moose_input = Path(str(path + filename)) + moose_modifier = InputModifier(moose_input, '#', '') + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks=1, n_threads=2, redirect_out=False) + return moose_runner, moose_modifier + + +def setup_directory_manager(base_dir, sub_dir_name, n_dirs): + dir_manager = DirectoryManager(n_dirs=n_dirs) + dir_manager.set_base_dir(base_dir) + dir_manager.set_sub_dir_name(sub_dir_name) + dir_manager.clear_dirs() + dir_manager.create_dirs() + return dir_manager + + +def run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_para, keep_flag=False): + herd = MooseHerd([moose_runner], [moose_modifier], dir_manager) + herd.set_num_para_sims(n_para=n_para) + herd.set_keep_flag(keep_flag) + for _ in range(NUM_PARA_RUNS): + herd.run_para(moose_vars) + + sweep_reader = SweepReader(dir_manager, num_para_read=4) + sweep_reader.read_all_output_keys() + read_all = sweep_reader.read_results_para() + + +def generate_ground_truths(moose_runner, moose_modifier, base_dir, param_values): + for i in range(math.ceil(len(param_values[0]) / 5)): + dir_manager = setup_directory_manager(base_dir, 'ground_truth', 1) + run_herd(moose_runner, moose_modifier, dir_manager, [{}], 1) + + +def generate_perturbed_datasets(moose_runner, moose_modifier, base_dir, param_names, param_values): + n_dirs = 1 + for i in range(len(param_names)): + n_dirs *= len(param_values[i]) + dir_manager = setup_directory_manager(base_dir, str(param_names[0]), n_dirs) + moose_vars = [{str(param_names[0]): param} for param in param_values[0]] + run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_dirs) + + +def generate_validation_values(param_values, num_validation_values=2): + validation_values = [[]] + for i in range(num_validation_values): + distinct_val = False + while not distinct_val: + validation_value = random.uniform(min([val for sublist in param_values for val in sublist]), + max([val for sublist in param_values for val in sublist])) + if validation_value not in param_values and validation_value not in validation_values: + distinct_val = True + validation_values.append(validation_value) + + return validation_values + + +def generate_validation_datasets(moose_runner, moose_modifier, base_dir, param_names, validation_values): + n_dirs = 1 + for i in range(len(param_names)): + n_dirs *= len(validation_values[i]) + dir_manager = setup_directory_manager(base_dir, str(param_names[0]), n_dirs) + moose_vars = [{str(param_names[0]): param} for param in validation_values[0]] + run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_dirs) + + +def generate_datasets(path, filename, parameters, moose_runner, moose_modifier): + param_names = [[key] for key in parameters.keys()] + param_values = [[value] for value in parameters.values()] + + for i in range(len(param_names)): + param_names = param_names[i] + param_values = param_values[i] + + generate_ground_truths(moose_runner, moose_modifier, Path(str(path+'perturbed_datasets/')), param_values) + generate_perturbed_datasets(moose_runner, moose_modifier, Path(str(path+'perturbed_datasets/')), param_names, param_values) + + validation_values = generate_validation_values(param_values) + generate_validation_datasets(moose_runner, moose_modifier, Path(str(path+'validation_datasets/')), param_names, validation_values) + generate_ground_truths(moose_runner, moose_modifier, Path(str(path+'validation_datasets/')), validation_values) + + +def generate_labelled_dataset(folder_path): + labelled_dataset = np.empty((0, 7)) + + for file_path in folder_path.rglob('*.e'): + if "ground_truth" in str(file_path): + label = 0 + else: + label = 1 + + sim_data = ExodusReader(file_path).read_all_sim_data() + field_key = "temperature" + + sim_data.coords = sim_data.coords*1000.0 + + xmax = np.max(sim_data.coords[:, 0]) + ymax = np.max(sim_data.coords[:, 1]) + + n_sens = (3,2,1) + x_lims = (0.0,xmax) + y_lims = (0.0,ymax) + z_lims = (0.0,0.0) + sens_pos = pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) + sens_data = pyvale.SensorData(positions=sens_pos) + + tc_array = pyvale.SensorArrayFactory \ + .thermocouples_no_errs(sim_data, + sens_data, + field_key, + spat_dims=2) + + measurements = tc_array.get_measurements()[:, 0, 1] + + measurements = np.append(measurements, label) + labelled_dataset = np.vstack([labelled_dataset, measurements]) + + return labelled_dataset + + +def accept_file(): + + def submit_file(): + nonlocal path, filename + path = str(file_path.get()) + filename = str(file_name.get()) + file_root.destroy() + + path, filename = None, None + + file_root = Tk() + + Label(file_root, text='File path:').grid(row=0) + Label(file_root, text='Input file name:').grid(row=1) + default_path = StringVar(value="full_functionality/") + file_path = Entry(file_root, textvariable=default_path) + file_path.grid(row=0, column=1) + default_file = StringVar(value="plate_2d_thermal.i") + file_name = Entry(file_root, textvariable=default_file) + file_name.grid(row=1, column=1) + + submit_button = Button(file_root, text="Submit", command=submit_file) + submit_button.grid(row=2, column=0, columnspan=2, pady=10) + + file_root.mainloop() + + return path, filename + + +def accept_parameters(parameters): + + def submit_parameters(): + nonlocal parameters + parameters = {} + + for row in rows: + if row['checkbox_var'].get(): # Check if the checkbox is ticked + param_name = row['param_name'] + default_val = float(row['default_val']) + min_val = float(row['min_val'].get()) + max_val = float(row['max_val'].get()) + interval = float(row['interval'].get()) + + param_values = [] + current_val = min_val + while current_val <= max_val: + if current_val != default_val: + param_values.append(current_val) + current_val += interval + + parameters[param_name] = param_values + + print("Destroy") + param_root.destroy() + + param_root = Tk() + + table_frame = Frame(param_root) + table_frame.grid(row=2, column=0, columnspan=2, padx=10, pady=10) + + headers = ["Select", "Param Name", "Default Value", "Min Value", "Max Value", "Interval"] + for col, header in enumerate(headers): + Label(table_frame, text=header).grid(row=0, column=col, padx=5, pady=5) + + params = [] + for parameter_name, parameter_value in parameters.items(): + try: + if float(parameter_value) <= 10: + x = parameter_value + elif float(parameter_value) > 10 and parameter_value < 100: + x = 10 + else: + x = parameter_value/2 + params.append({"param_name": parameter_name,"default_val": parameter_value,"min_val": parameter_value+x, + "max_val": parameter_value+5*x,"interval": x}) + except ValueError: + params.append({"param_name": parameter_name,"default_val": parameter_value,"min_val": "", + "max_val": "","interval": ""}) + + rows = [] + for i, param in enumerate(params): + row = {} + + row['checkbox_var'] = BooleanVar(value=True) + + checkbox = Checkbutton(table_frame, variable=row['checkbox_var']) + checkbox.grid(row=i+1, column=0, padx=5, pady=5) + + Label(table_frame, text=param['param_name']).grid(row=i+1, column=1, padx=5, pady=5) + row['param_name'] = param['param_name'] + + Label(table_frame, text=param['default_val']).grid(row=i+1, column=2, padx=5, pady=5) + row['default_val'] = param['default_val'] + + row['min_val'] = StringVar(value=param['min_val']) + min_val_entry = Entry(table_frame, textvariable=row['min_val'], width=10) + min_val_entry.grid(row=i+1, column=3, padx=5, pady=5) + + row['max_val'] = StringVar(value=param['max_val']) + max_val_entry = Entry(table_frame, textvariable=row['max_val'], width=10) + max_val_entry.grid(row=i+1, column=4, padx=5, pady=5) + + row['interval'] = StringVar(value=param['interval']) + interval_entry = Entry(table_frame, textvariable=row['interval'], width=10) + interval_entry.grid(row=i+1, column=5, padx=5, pady=5) + + rows.append(row) + + submit_button = Button(param_root, text="Submit", command=submit_parameters) + submit_button.grid(row=3, column=0, columnspan=2, pady=10) + + param_root.mainloop() + + return parameters + + +def model(): + path, filename = accept_file() + + moose_runner, moose_modifier = setup_moose_runner(path, filename) + + parameters = accept_parameters(moose_modifier.get_vars()) + + generate_datasets(path, filename, parameters, moose_runner, moose_modifier) + + X_train = generate_labelled_dataset(Path(str(path+'perturbed_datasets/')))[:, :-1] + y_train = generate_labelled_dataset(Path(str(path+'perturbed_datasets/')))[:, -1] + X_val = generate_labelled_dataset(Path(str(path+'validation_datasets/')))[:, :-1] + y_val = generate_labelled_dataset(Path(str(path+'validation_datasets/')))[:, -1] + + rf_classifier = RandomForestClassifier(n_estimators=100, random_state=42) + rf_classifier.fit(X_train, y_train) + + y_pred = rf_classifier.predict(X_val) + + for i in range(len(X_val)): + print(f"Row {i + 1}: Actual Label = {y_val[i]}, Predicted Label = {y_pred[i]}") + + val_accuracy = accuracy_score(y_val, y_pred) + print(f"Random Forest Validation Accuracy: {val_accuracy * 100:.2f}%") + + +if __name__ == "__main__": + model() + + +# Next steps: + # Debug multiprocessing error + # Delete unlabelled datasets + # Explain + enforce suitable user inputs + # Refine valid/invalid classifier model (incorporating errors, etc) + # Expand to multi-classification model + # Expand to non-thermal solves (eg mechanical) + # Testing, examples + tutorials, packaging, etc \ No newline at end of file From 5242f02f91b9655ed6094b290bbf7ab9012ee132 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Fri, 7 Mar 2025 11:55:53 +0000 Subject: [PATCH 08/48] Finished script that uses tkinter to provide a UI, and moved non-tkinter script into 2d_plate/ --- 2d_plate/dataset_analysis_model.py | 4 +- .../full_functionality.py | 28 ++-- 2d_plate/generate_2d_dataset.py | 27 ++-- 2d_plate/plate_2d_thermal.i | 74 ++++++++++ .../ground_truth-1/sim-1-1.i | 74 ++++++++++ .../perturbed_datasets/max_temp-1/sim-1-1.i | 74 ++++++++++ .../perturbed_datasets/max_temp-2/sim-1-2.i | 74 ++++++++++ .../perturbed_datasets/max_temp-3/sim-1-3.i | 74 ++++++++++ .../perturbed_datasets/max_temp-4/sim-1-4.i | 74 ++++++++++ .../perturbed_datasets/max_temp-5/sim-1-5.i | 74 ++++++++++ full_functionality/plate_2d_thermal.i | 3 +- full_functionality/tkinter_attempt.py | 130 ++++++++++-------- .../ground_truth-1/sim-1-1.i | 74 ++++++++++ .../validation_datasets/max_temp-1/sim-1-1.i | 74 ++++++++++ .../validation_datasets/max_temp-2/sim-1-2.i | 74 ++++++++++ 15 files changed, 843 insertions(+), 89 deletions(-) rename {full_functionality => 2d_plate}/full_functionality.py (91%) create mode 100644 2d_plate/plate_2d_thermal.i create mode 100644 full_functionality/perturbed_datasets/ground_truth-1/sim-1-1.i create mode 100644 full_functionality/perturbed_datasets/max_temp-1/sim-1-1.i create mode 100644 full_functionality/perturbed_datasets/max_temp-2/sim-1-2.i create mode 100644 full_functionality/perturbed_datasets/max_temp-3/sim-1-3.i create mode 100644 full_functionality/perturbed_datasets/max_temp-4/sim-1-4.i create mode 100644 full_functionality/perturbed_datasets/max_temp-5/sim-1-5.i create mode 100644 full_functionality/validation_datasets/ground_truth-1/sim-1-1.i create mode 100644 full_functionality/validation_datasets/max_temp-1/sim-1-1.i create mode 100644 full_functionality/validation_datasets/max_temp-2/sim-1-2.i diff --git a/2d_plate/dataset_analysis_model.py b/2d_plate/dataset_analysis_model.py index af1d8fb8..78ca7fe4 100644 --- a/2d_plate/dataset_analysis_model.py +++ b/2d_plate/dataset_analysis_model.py @@ -16,7 +16,7 @@ def generate_labelled_dataset(folder_path): labelled_dataset = np.empty((0, 7)) - parameters = ["ground_truth", "xmax", "ymax", "init_temp", "max_temp", "thermal_conductivity", "specific_heat", "prop_values"] + parameters = ["xmax", "ymax", "init_temp", "max_temp", "thermal_conductivity", "specific_heat", "prop_values"] for file_path in folder_path.rglob('*.e'): for i in range(len(parameters)): @@ -46,7 +46,7 @@ def generate_labelled_dataset(folder_path): measurements = tc_array.get_measurements()[:, 0, 1] measurements = np.append(measurements, label) # add label to measurements - labelled_dataset = np.vstack([labelled_dataset, measurements]) # add to labelled dataset + labelled_dataset = np.vstack([labelled_dataset, measurements]) # add to labelled dataset return labelled_dataset diff --git a/full_functionality/full_functionality.py b/2d_plate/full_functionality.py similarity index 91% rename from full_functionality/full_functionality.py rename to 2d_plate/full_functionality.py index edd0f62d..8ea7b3d7 100644 --- a/full_functionality/full_functionality.py +++ b/2d_plate/full_functionality.py @@ -5,6 +5,7 @@ import pyvale from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score + from mooseherder import (MooseHerd, MooseRunner, MooseConfig, @@ -14,7 +15,7 @@ ExodusReader) -NUM_PARA_RUNS = 2 +NUM_PARA_RUNS = 1 USER_DIR = Path.home() @@ -51,15 +52,17 @@ def run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_para, keep def generate_ground_truths(moose_runner, moose_modifier, base_dir, param_values): for i in range(math.ceil(len(param_values[0]) / 5)): dir_manager = setup_directory_manager(base_dir, 'ground_truth', 1) - run_herd(moose_runner, moose_modifier, dir_manager, [{}], 1) + run_herd(moose_runner, moose_modifier, dir_manager, [[{}]], 1) def generate_perturbed_datasets(moose_runner, moose_modifier, base_dir, param_names, param_values): + moose_vars = list([]) n_dirs = 1 for i in range(len(param_names)): n_dirs *= len(param_values[i]) dir_manager = setup_directory_manager(base_dir, str(param_names[0]), n_dirs) - moose_vars = [{str(param_names[0]): param} for param in param_values[0]] + for param in param_values[0]: + moose_vars.append([{str(param_names[0]): param}]) run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_dirs) @@ -72,17 +75,19 @@ def generate_validation_values(param_values, num_validation_values=2): max([val for sublist in param_values for val in sublist])) if validation_value not in param_values and validation_value not in validation_values: distinct_val = True - validation_values.append(validation_value) + validation_values[0].append(validation_value) return validation_values def generate_validation_datasets(moose_runner, moose_modifier, base_dir, param_names, validation_values): + moose_vars = list([]) n_dirs = 1 for i in range(len(param_names)): n_dirs *= len(validation_values[i]) dir_manager = setup_directory_manager(base_dir, str(param_names[0]), n_dirs) - moose_vars = [{str(param_names[0]): param} for param in validation_values[0]] + for param in validation_values[0]: + moose_vars.append([{str(param_names[0]): param}]) run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_dirs) @@ -113,14 +118,11 @@ def generate_datasets(path, filename): ''' for i in range(len(param_names)): - param_names = param_names[i] - param_values = param_values[i] - - generate_ground_truths(moose_runner, moose_modifier, Path(str(path+'perturbed_datasets/')), param_values) - generate_perturbed_datasets(moose_runner, moose_modifier, Path(str(path+'perturbed_datasets/')), param_names, param_values) + generate_ground_truths(moose_runner, moose_modifier, Path(str(path+'perturbed_datasets/')), param_values[i]) + generate_perturbed_datasets(moose_runner, moose_modifier, Path(str(path+'perturbed_datasets/')), param_names[i], param_values[i]) - validation_values = generate_validation_values(param_values) - generate_validation_datasets(moose_runner, moose_modifier, Path(str(path+'validation_datasets/')), param_names, validation_values) + validation_values = generate_validation_values(param_values[i]) + generate_validation_datasets(moose_runner, moose_modifier, Path(str(path+'validation_datasets/')), param_names[i], validation_values) generate_ground_truths(moose_runner, moose_modifier, Path(str(path+'validation_datasets/')), validation_values) @@ -186,7 +188,7 @@ def model(path, filename): #path = input('Enter the desired path ') #filename = input('Enter the input file name ') -path = "full_functionality/" +path = "2d_plate/" filename = "plate_2d_thermal.i" if __name__ == "__main__": model(path, filename) \ No newline at end of file diff --git a/2d_plate/generate_2d_dataset.py b/2d_plate/generate_2d_dataset.py index b374f8dd..52761c0f 100644 --- a/2d_plate/generate_2d_dataset.py +++ b/2d_plate/generate_2d_dataset.py @@ -11,7 +11,7 @@ NUM_PARA_RUNS = 2 USER_DIR = Path.home() -def main(param_names, param_values) -> None: +def generate_datasets(param_names, param_values): print('Start minimal full functionality example') moose_input = Path('2d_plate/plate_2d_thermal.i') @@ -98,16 +98,17 @@ def main(param_names, param_values) -> None: print('Finished.') -if __name__ == '__main__': - param_names = [["xmax"], ["ymax"], ["init_temp"], ["max_temp"], - ["thermal_conductivity"], ["specific_heat"], ["prop_values"]] - param_values = [[[8,22]], - [[5,9]], - [[25,45]], - [[300,900]], - [[18,52]], - [[1.25,2.75]], - [[3000,11000]]] - for i in range(len(param_names)): - main(param_names[i], param_values[i]) +param_names = [["xmax"], ["ymax"], ["init_temp"], ["max_temp"], + ["thermal_conductivity"], ["specific_heat"], ["prop_values"]] +param_values = [[[8,22]], + [[5,9]], + [[25,45]], + [[300,900]], + [[18,52]], + [[1.25,2.75]], + [[3000,11000]]] +for i in range(len(param_names)): + generate_datasets(param_names[i], param_values[i]) + + diff --git a/2d_plate/plate_2d_thermal.i b/2d_plate/plate_2d_thermal.i new file mode 100644 index 00000000..ef9d7119 --- /dev/null +++ b/2d_plate/plate_2d_thermal.i @@ -0,0 +1,74 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + console = false + exodus = true +[] diff --git a/full_functionality/perturbed_datasets/ground_truth-1/sim-1-1.i b/full_functionality/perturbed_datasets/ground_truth-1/sim-1-1.i new file mode 100644 index 00000000..ef9d7119 --- /dev/null +++ b/full_functionality/perturbed_datasets/ground_truth-1/sim-1-1.i @@ -0,0 +1,74 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + console = false + exodus = true +[] diff --git a/full_functionality/perturbed_datasets/max_temp-1/sim-1-1.i b/full_functionality/perturbed_datasets/max_temp-1/sim-1-1.i new file mode 100644 index 00000000..131f2602 --- /dev/null +++ b/full_functionality/perturbed_datasets/max_temp-1/sim-1-1.i @@ -0,0 +1,74 @@ +#_* Variables Block +max_temp = 1250.0 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + console = false + exodus = true +[] diff --git a/full_functionality/perturbed_datasets/max_temp-2/sim-1-2.i b/full_functionality/perturbed_datasets/max_temp-2/sim-1-2.i new file mode 100644 index 00000000..61b9aba0 --- /dev/null +++ b/full_functionality/perturbed_datasets/max_temp-2/sim-1-2.i @@ -0,0 +1,74 @@ +#_* Variables Block +max_temp = 1000.0 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + console = false + exodus = true +[] diff --git a/full_functionality/perturbed_datasets/max_temp-3/sim-1-3.i b/full_functionality/perturbed_datasets/max_temp-3/sim-1-3.i new file mode 100644 index 00000000..a920a54b --- /dev/null +++ b/full_functionality/perturbed_datasets/max_temp-3/sim-1-3.i @@ -0,0 +1,74 @@ +#_* Variables Block +max_temp = 1500.0 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + console = false + exodus = true +[] diff --git a/full_functionality/perturbed_datasets/max_temp-4/sim-1-4.i b/full_functionality/perturbed_datasets/max_temp-4/sim-1-4.i new file mode 100644 index 00000000..b7722f96 --- /dev/null +++ b/full_functionality/perturbed_datasets/max_temp-4/sim-1-4.i @@ -0,0 +1,74 @@ +#_* Variables Block +max_temp = 1750.0 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + console = false + exodus = true +[] diff --git a/full_functionality/perturbed_datasets/max_temp-5/sim-1-5.i b/full_functionality/perturbed_datasets/max_temp-5/sim-1-5.i new file mode 100644 index 00000000..ae4105db --- /dev/null +++ b/full_functionality/perturbed_datasets/max_temp-5/sim-1-5.i @@ -0,0 +1,74 @@ +#_* Variables Block +max_temp = 750.0 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + console = false + exodus = true +[] diff --git a/full_functionality/plate_2d_thermal.i b/full_functionality/plate_2d_thermal.i index 0c1fe703..ef9d7119 100644 --- a/full_functionality/plate_2d_thermal.i +++ b/full_functionality/plate_2d_thermal.i @@ -10,7 +10,7 @@ bc1_value = ${init_temp} bc1_boundary = left bc2_value = ${max_temp} bc2_boundary = right -#** +#** [Mesh] [generated] @@ -69,5 +69,6 @@ bc2_boundary = right [] [Outputs] + console = false exodus = true [] diff --git a/full_functionality/tkinter_attempt.py b/full_functionality/tkinter_attempt.py index 8f6f2311..784244fa 100644 --- a/full_functionality/tkinter_attempt.py +++ b/full_functionality/tkinter_attempt.py @@ -6,6 +6,7 @@ from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score from tkinter import * +import joblib from mooseherder import (MooseHerd, MooseRunner, MooseConfig, @@ -52,15 +53,17 @@ def run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_para, keep def generate_ground_truths(moose_runner, moose_modifier, base_dir, param_values): for i in range(math.ceil(len(param_values[0]) / 5)): dir_manager = setup_directory_manager(base_dir, 'ground_truth', 1) - run_herd(moose_runner, moose_modifier, dir_manager, [{}], 1) + run_herd(moose_runner, moose_modifier, dir_manager, [[{}]], 1) def generate_perturbed_datasets(moose_runner, moose_modifier, base_dir, param_names, param_values): + moose_vars = list([]) n_dirs = 1 for i in range(len(param_names)): n_dirs *= len(param_values[i]) dir_manager = setup_directory_manager(base_dir, str(param_names[0]), n_dirs) - moose_vars = [{str(param_names[0]): param} for param in param_values[0]] + for param in param_values[0]: + moose_vars.append([{str(param_names[0]): param}]) run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_dirs) @@ -73,80 +76,42 @@ def generate_validation_values(param_values, num_validation_values=2): max([val for sublist in param_values for val in sublist])) if validation_value not in param_values and validation_value not in validation_values: distinct_val = True - validation_values.append(validation_value) + validation_values[0].append(validation_value) return validation_values def generate_validation_datasets(moose_runner, moose_modifier, base_dir, param_names, validation_values): + moose_vars = list([]) n_dirs = 1 for i in range(len(param_names)): n_dirs *= len(validation_values[i]) dir_manager = setup_directory_manager(base_dir, str(param_names[0]), n_dirs) - moose_vars = [{str(param_names[0]): param} for param in validation_values[0]] + for param in validation_values[0]: + moose_vars.append([{str(param_names[0]): param}]) run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_dirs) -def generate_datasets(path, filename, parameters, moose_runner, moose_modifier): +def generate_datasets(path, parameters, moose_runner, moose_modifier): param_names = [[key] for key in parameters.keys()] param_values = [[value] for value in parameters.values()] for i in range(len(param_names)): - param_names = param_names[i] - param_values = param_values[i] + generate_ground_truths(moose_runner, moose_modifier, Path(str(path+'perturbed_datasets/')), param_values[i]) + generate_perturbed_datasets(moose_runner, moose_modifier, Path(str(path+'perturbed_datasets/')), param_names[i], param_values[i]) - generate_ground_truths(moose_runner, moose_modifier, Path(str(path+'perturbed_datasets/')), param_values) - generate_perturbed_datasets(moose_runner, moose_modifier, Path(str(path+'perturbed_datasets/')), param_names, param_values) - - validation_values = generate_validation_values(param_values) - generate_validation_datasets(moose_runner, moose_modifier, Path(str(path+'validation_datasets/')), param_names, validation_values) + validation_values = generate_validation_values(param_values[i]) + generate_validation_datasets(moose_runner, moose_modifier, Path(str(path+'validation_datasets/')), param_names[i], validation_values) generate_ground_truths(moose_runner, moose_modifier, Path(str(path+'validation_datasets/')), validation_values) -def generate_labelled_dataset(folder_path): - labelled_dataset = np.empty((0, 7)) - - for file_path in folder_path.rglob('*.e'): - if "ground_truth" in str(file_path): - label = 0 - else: - label = 1 - - sim_data = ExodusReader(file_path).read_all_sim_data() - field_key = "temperature" - - sim_data.coords = sim_data.coords*1000.0 - - xmax = np.max(sim_data.coords[:, 0]) - ymax = np.max(sim_data.coords[:, 1]) - - n_sens = (3,2,1) - x_lims = (0.0,xmax) - y_lims = (0.0,ymax) - z_lims = (0.0,0.0) - sens_pos = pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) - sens_data = pyvale.SensorData(positions=sens_pos) - - tc_array = pyvale.SensorArrayFactory \ - .thermocouples_no_errs(sim_data, - sens_data, - field_key, - spat_dims=2) - - measurements = tc_array.get_measurements()[:, 0, 1] - - measurements = np.append(measurements, label) - labelled_dataset = np.vstack([labelled_dataset, measurements]) - - return labelled_dataset - - def accept_file(): def submit_file(): nonlocal path, filename path = str(file_path.get()) filename = str(file_name.get()) + file_root.quit() file_root.destroy() path, filename = None, None @@ -193,8 +158,8 @@ def submit_parameters(): parameters[param_name] = param_values - print("Destroy") param_root.destroy() + param_root.update() param_root = Tk() @@ -224,7 +189,7 @@ def submit_parameters(): for i, param in enumerate(params): row = {} - row['checkbox_var'] = BooleanVar(value=True) + row['checkbox_var'] = BooleanVar(value=False) checkbox = Checkbutton(table_frame, variable=row['checkbox_var']) checkbox.grid(row=i+1, column=0, padx=5, pady=5) @@ -257,6 +222,46 @@ def submit_parameters(): return parameters +def generate_labelled_dataset(folder_path): + sensx, sensy, sensz = 3, 2, 1 + labelled_dataset_cols = (sensx*sensy*sensz)+1 + labelled_dataset = np.empty((0, labelled_dataset_cols)) + + for file_path in folder_path.rglob('*.e'): + if "ground_truth" in str(file_path): + label = 0 + else: + label = 1 + + sim_data = ExodusReader(file_path).read_all_sim_data() + field_key = "temperature" + + sim_data.coords = sim_data.coords*1000.0 + + xmax = np.max(sim_data.coords[:, 0]) + ymax = np.max(sim_data.coords[:, 1]) + + n_sens = (sensx,sensy,sensz) + x_lims = (0.0,xmax) + y_lims = (0.0,ymax) + z_lims = (0.0,0.0) + sens_pos = pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) + sens_data = pyvale.SensorData(positions=sens_pos) + + tc_array = pyvale.SensorArrayFactory \ + .thermocouples_no_errs(sim_data, + sens_data, + field_key, + spat_dims=2) + + measurements = tc_array.get_measurements()[:, 0, 1] + + measurements = np.append(measurements, label) + labelled_dataset = np.vstack([labelled_dataset, measurements]) + + return labelled_dataset + + def model(): path, filename = accept_file() @@ -264,7 +269,7 @@ def model(): parameters = accept_parameters(moose_modifier.get_vars()) - generate_datasets(path, filename, parameters, moose_runner, moose_modifier) + generate_datasets(path, parameters, moose_runner, moose_modifier) X_train = generate_labelled_dataset(Path(str(path+'perturbed_datasets/')))[:, :-1] y_train = generate_labelled_dataset(Path(str(path+'perturbed_datasets/')))[:, -1] @@ -282,16 +287,21 @@ def model(): val_accuracy = accuracy_score(y_val, y_pred) print(f"Random Forest Validation Accuracy: {val_accuracy * 100:.2f}%") + save_model = input("Save model? (Y/N) ") + if save_model.lower() == "y": + model_filename = str(filename).replace('.i', '') + joblib.dump(rf_classifier, str(path)+model_filename+'_model.pkl') + if __name__ == "__main__": model() -# Next steps: - # Debug multiprocessing error - # Delete unlabelled datasets +# Next steps: + # Delete unlabelled datasets(?) # Explain + enforce suitable user inputs - # Refine valid/invalid classifier model (incorporating errors, etc) - # Expand to multi-classification model - # Expand to non-thermal solves (eg mechanical) - # Testing, examples + tutorials, packaging, etc \ No newline at end of file + # Refine by incorporating errors, etc + # Allow user to define numnber of sensors + positions + # Testing, examples + tutorials, packaging, etc + # Expand to multi-classifier + # Accept various input files, starting with 3D monoblock \ No newline at end of file diff --git a/full_functionality/validation_datasets/ground_truth-1/sim-1-1.i b/full_functionality/validation_datasets/ground_truth-1/sim-1-1.i new file mode 100644 index 00000000..ef9d7119 --- /dev/null +++ b/full_functionality/validation_datasets/ground_truth-1/sim-1-1.i @@ -0,0 +1,74 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + console = false + exodus = true +[] diff --git a/full_functionality/validation_datasets/max_temp-1/sim-1-1.i b/full_functionality/validation_datasets/max_temp-1/sim-1-1.i new file mode 100644 index 00000000..e93470d9 --- /dev/null +++ b/full_functionality/validation_datasets/max_temp-1/sim-1-1.i @@ -0,0 +1,74 @@ +#_* Variables Block +max_temp = 755.7219789598058 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + console = false + exodus = true +[] diff --git a/full_functionality/validation_datasets/max_temp-2/sim-1-2.i b/full_functionality/validation_datasets/max_temp-2/sim-1-2.i new file mode 100644 index 00000000..a8c4fd2c --- /dev/null +++ b/full_functionality/validation_datasets/max_temp-2/sim-1-2.i @@ -0,0 +1,74 @@ +#_* Variables Block +max_temp = 1590.8051014378511 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + console = false + exodus = true +[] From 569a86bca8dff184e0ce00a953e956340b96ac67 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Fri, 7 Mar 2025 11:57:29 +0000 Subject: [PATCH 09/48] Deleted example datasets --- .../perturbed_datasets/init_temp-1/sim-1-1.i | 73 ------------------ .../perturbed_datasets/init_temp-2/sim-1-2.i | 73 ------------------ .../perturbed_datasets/init_temp-3/sim-1-3.i | 73 ------------------ .../perturbed_datasets/init_temp-4/sim-1-4.i | 73 ------------------ .../perturbed_datasets/init_temp-5/sim-1-5.i | 73 ------------------ .../perturbed_datasets/max_temp-1/sim-1-1.i | 73 ------------------ .../perturbed_datasets/max_temp-2/sim-1-2.i | 73 ------------------ .../perturbed_datasets/max_temp-3/sim-1-3.i | 73 ------------------ .../perturbed_datasets/max_temp-4/sim-1-4.i | 73 ------------------ .../perturbed_datasets/max_temp-5/sim-1-5.i | 73 ------------------ .../prop_values-1/sim-1-1.i | 73 ------------------ .../prop_values-2/sim-1-2.i | 73 ------------------ .../prop_values-3/sim-1-3.i | 73 ------------------ .../prop_values-4/sim-1-4.i | 73 ------------------ .../prop_values-5/sim-1-5.i | 73 ------------------ .../specific_heat-1/sim-1-1.i | 73 ------------------ .../specific_heat-2/sim-1-2.i | 73 ------------------ .../specific_heat-3/sim-1-3.i | 73 ------------------ .../specific_heat-4/sim-1-4.i | 73 ------------------ .../specific_heat-5/sim-1-5.i | 73 ------------------ .../thermal_conductivity-1/sim-1-1.i | 73 ------------------ .../thermal_conductivity-2/sim-1-2.i | 73 ------------------ .../thermal_conductivity-3/sim-1-3.i | 73 ------------------ .../thermal_conductivity-4/sim-1-4.i | 73 ------------------ .../thermal_conductivity-5/sim-1-5.i | 73 ------------------ 2d_plate/perturbed_datasets/xmax-1/sim-1-1.i | 73 ------------------ 2d_plate/perturbed_datasets/xmax-2/sim-1-2.i | 73 ------------------ 2d_plate/perturbed_datasets/xmax-3/sim-1-3.i | 73 ------------------ 2d_plate/perturbed_datasets/xmax-4/sim-1-4.i | 73 ------------------ 2d_plate/perturbed_datasets/xmax-5/sim-1-5.i | 73 ------------------ 2d_plate/perturbed_datasets/ymax-1/sim-1-1.i | 73 ------------------ 2d_plate/perturbed_datasets/ymax-2/sim-1-2.i | 73 ------------------ 2d_plate/perturbed_datasets/ymax-3/sim-1-3.i | 73 ------------------ 2d_plate/perturbed_datasets/ymax-4/sim-1-4.i | 73 ------------------ 2d_plate/perturbed_datasets/ymax-5/sim-1-5.i | 73 ------------------ .../validation_datasets/init_temp-1/sim-1-1.i | 73 ------------------ .../validation_datasets/init_temp-2/sim-1-2.i | 73 ------------------ .../validation_datasets/max_temp-1/sim-1-1.i | 73 ------------------ .../validation_datasets/max_temp-2/sim-1-2.i | 73 ------------------ .../prop_values-1/sim-1-1.i | 73 ------------------ .../prop_values-2/sim-1-2.i | 73 ------------------ .../specific_heat-1/sim-1-1.i | 73 ------------------ .../specific_heat-2/sim-1-2.i | 73 ------------------ .../thermal_conductivity-1/sim-1-1.i | 73 ------------------ .../thermal_conductivity-2/sim-1-2.i | 73 ------------------ 2d_plate/validation_datasets/xmax-1/sim-1-1.i | 73 ------------------ 2d_plate/validation_datasets/xmax-2/sim-1-2.i | 73 ------------------ 2d_plate/validation_datasets/ymax-1/sim-1-1.i | 73 ------------------ 2d_plate/validation_datasets/ymax-2/sim-1-2.i | 73 ------------------ .../ground_truth-1/sim-1-1.i | 74 ------------------- .../perturbed_datasets/max_temp-1/sim-1-1.i | 74 ------------------- .../perturbed_datasets/max_temp-2/sim-1-2.i | 74 ------------------- .../perturbed_datasets/max_temp-3/sim-1-3.i | 74 ------------------- .../perturbed_datasets/max_temp-4/sim-1-4.i | 74 ------------------- .../perturbed_datasets/max_temp-5/sim-1-5.i | 74 ------------------- .../ground_truth-1/sim-1-1.i | 74 ------------------- .../validation_datasets/max_temp-1/sim-1-1.i | 74 ------------------- .../validation_datasets/max_temp-2/sim-1-2.i | 74 ------------------- 58 files changed, 4243 deletions(-) delete mode 100644 2d_plate/perturbed_datasets/init_temp-1/sim-1-1.i delete mode 100644 2d_plate/perturbed_datasets/init_temp-2/sim-1-2.i delete mode 100644 2d_plate/perturbed_datasets/init_temp-3/sim-1-3.i delete mode 100644 2d_plate/perturbed_datasets/init_temp-4/sim-1-4.i delete mode 100644 2d_plate/perturbed_datasets/init_temp-5/sim-1-5.i delete mode 100644 2d_plate/perturbed_datasets/max_temp-1/sim-1-1.i delete mode 100644 2d_plate/perturbed_datasets/max_temp-2/sim-1-2.i delete mode 100644 2d_plate/perturbed_datasets/max_temp-3/sim-1-3.i delete mode 100644 2d_plate/perturbed_datasets/max_temp-4/sim-1-4.i delete mode 100644 2d_plate/perturbed_datasets/max_temp-5/sim-1-5.i delete mode 100644 2d_plate/perturbed_datasets/prop_values-1/sim-1-1.i delete mode 100644 2d_plate/perturbed_datasets/prop_values-2/sim-1-2.i delete mode 100644 2d_plate/perturbed_datasets/prop_values-3/sim-1-3.i delete mode 100644 2d_plate/perturbed_datasets/prop_values-4/sim-1-4.i delete mode 100644 2d_plate/perturbed_datasets/prop_values-5/sim-1-5.i delete mode 100644 2d_plate/perturbed_datasets/specific_heat-1/sim-1-1.i delete mode 100644 2d_plate/perturbed_datasets/specific_heat-2/sim-1-2.i delete mode 100644 2d_plate/perturbed_datasets/specific_heat-3/sim-1-3.i delete mode 100644 2d_plate/perturbed_datasets/specific_heat-4/sim-1-4.i delete mode 100644 2d_plate/perturbed_datasets/specific_heat-5/sim-1-5.i delete mode 100644 2d_plate/perturbed_datasets/thermal_conductivity-1/sim-1-1.i delete mode 100644 2d_plate/perturbed_datasets/thermal_conductivity-2/sim-1-2.i delete mode 100644 2d_plate/perturbed_datasets/thermal_conductivity-3/sim-1-3.i delete mode 100644 2d_plate/perturbed_datasets/thermal_conductivity-4/sim-1-4.i delete mode 100644 2d_plate/perturbed_datasets/thermal_conductivity-5/sim-1-5.i delete mode 100644 2d_plate/perturbed_datasets/xmax-1/sim-1-1.i delete mode 100644 2d_plate/perturbed_datasets/xmax-2/sim-1-2.i delete mode 100644 2d_plate/perturbed_datasets/xmax-3/sim-1-3.i delete mode 100644 2d_plate/perturbed_datasets/xmax-4/sim-1-4.i delete mode 100644 2d_plate/perturbed_datasets/xmax-5/sim-1-5.i delete mode 100644 2d_plate/perturbed_datasets/ymax-1/sim-1-1.i delete mode 100644 2d_plate/perturbed_datasets/ymax-2/sim-1-2.i delete mode 100644 2d_plate/perturbed_datasets/ymax-3/sim-1-3.i delete mode 100644 2d_plate/perturbed_datasets/ymax-4/sim-1-4.i delete mode 100644 2d_plate/perturbed_datasets/ymax-5/sim-1-5.i delete mode 100644 2d_plate/validation_datasets/init_temp-1/sim-1-1.i delete mode 100644 2d_plate/validation_datasets/init_temp-2/sim-1-2.i delete mode 100644 2d_plate/validation_datasets/max_temp-1/sim-1-1.i delete mode 100644 2d_plate/validation_datasets/max_temp-2/sim-1-2.i delete mode 100644 2d_plate/validation_datasets/prop_values-1/sim-1-1.i delete mode 100644 2d_plate/validation_datasets/prop_values-2/sim-1-2.i delete mode 100644 2d_plate/validation_datasets/specific_heat-1/sim-1-1.i delete mode 100644 2d_plate/validation_datasets/specific_heat-2/sim-1-2.i delete mode 100644 2d_plate/validation_datasets/thermal_conductivity-1/sim-1-1.i delete mode 100644 2d_plate/validation_datasets/thermal_conductivity-2/sim-1-2.i delete mode 100644 2d_plate/validation_datasets/xmax-1/sim-1-1.i delete mode 100644 2d_plate/validation_datasets/xmax-2/sim-1-2.i delete mode 100644 2d_plate/validation_datasets/ymax-1/sim-1-1.i delete mode 100644 2d_plate/validation_datasets/ymax-2/sim-1-2.i delete mode 100644 full_functionality/perturbed_datasets/ground_truth-1/sim-1-1.i delete mode 100644 full_functionality/perturbed_datasets/max_temp-1/sim-1-1.i delete mode 100644 full_functionality/perturbed_datasets/max_temp-2/sim-1-2.i delete mode 100644 full_functionality/perturbed_datasets/max_temp-3/sim-1-3.i delete mode 100644 full_functionality/perturbed_datasets/max_temp-4/sim-1-4.i delete mode 100644 full_functionality/perturbed_datasets/max_temp-5/sim-1-5.i delete mode 100644 full_functionality/validation_datasets/ground_truth-1/sim-1-1.i delete mode 100644 full_functionality/validation_datasets/max_temp-1/sim-1-1.i delete mode 100644 full_functionality/validation_datasets/max_temp-2/sim-1-2.i diff --git a/2d_plate/perturbed_datasets/init_temp-1/sim-1-1.i b/2d_plate/perturbed_datasets/init_temp-1/sim-1-1.i deleted file mode 100644 index cb0940fd..00000000 --- a/2d_plate/perturbed_datasets/init_temp-1/sim-1-1.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 40 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/init_temp-2/sim-1-2.i b/2d_plate/perturbed_datasets/init_temp-2/sim-1-2.i deleted file mode 100644 index b37ecc42..00000000 --- a/2d_plate/perturbed_datasets/init_temp-2/sim-1-2.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 30 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/init_temp-3/sim-1-3.i b/2d_plate/perturbed_datasets/init_temp-3/sim-1-3.i deleted file mode 100644 index 1eaa6c1c..00000000 --- a/2d_plate/perturbed_datasets/init_temp-3/sim-1-3.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 10 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/init_temp-4/sim-1-4.i b/2d_plate/perturbed_datasets/init_temp-4/sim-1-4.i deleted file mode 100644 index d66abcda..00000000 --- a/2d_plate/perturbed_datasets/init_temp-4/sim-1-4.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 50 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/init_temp-5/sim-1-5.i b/2d_plate/perturbed_datasets/init_temp-5/sim-1-5.i deleted file mode 100644 index 50c6e916..00000000 --- a/2d_plate/perturbed_datasets/init_temp-5/sim-1-5.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 60 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/max_temp-1/sim-1-1.i b/2d_plate/perturbed_datasets/max_temp-1/sim-1-1.i deleted file mode 100644 index 0e41c92e..00000000 --- a/2d_plate/perturbed_datasets/max_temp-1/sim-1-1.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 600 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/max_temp-2/sim-1-2.i b/2d_plate/perturbed_datasets/max_temp-2/sim-1-2.i deleted file mode 100644 index 7de2b0b4..00000000 --- a/2d_plate/perturbed_datasets/max_temp-2/sim-1-2.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 800 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/max_temp-3/sim-1-3.i b/2d_plate/perturbed_datasets/max_temp-3/sim-1-3.i deleted file mode 100644 index d1991a36..00000000 --- a/2d_plate/perturbed_datasets/max_temp-3/sim-1-3.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 1000 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/max_temp-4/sim-1-4.i b/2d_plate/perturbed_datasets/max_temp-4/sim-1-4.i deleted file mode 100644 index 570d8d06..00000000 --- a/2d_plate/perturbed_datasets/max_temp-4/sim-1-4.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 400 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/max_temp-5/sim-1-5.i b/2d_plate/perturbed_datasets/max_temp-5/sim-1-5.i deleted file mode 100644 index ada80826..00000000 --- a/2d_plate/perturbed_datasets/max_temp-5/sim-1-5.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 200 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/prop_values-1/sim-1-1.i b/2d_plate/perturbed_datasets/prop_values-1/sim-1-1.i deleted file mode 100644 index 3773d225..00000000 --- a/2d_plate/perturbed_datasets/prop_values-1/sim-1-1.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 4000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/prop_values-2/sim-1-2.i b/2d_plate/perturbed_datasets/prop_values-2/sim-1-2.i deleted file mode 100644 index 28e69035..00000000 --- a/2d_plate/perturbed_datasets/prop_values-2/sim-1-2.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 10000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/prop_values-3/sim-1-3.i b/2d_plate/perturbed_datasets/prop_values-3/sim-1-3.i deleted file mode 100644 index f7a288de..00000000 --- a/2d_plate/perturbed_datasets/prop_values-3/sim-1-3.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 12000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/prop_values-4/sim-1-4.i b/2d_plate/perturbed_datasets/prop_values-4/sim-1-4.i deleted file mode 100644 index 24da3dd8..00000000 --- a/2d_plate/perturbed_datasets/prop_values-4/sim-1-4.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 6000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/prop_values-5/sim-1-5.i b/2d_plate/perturbed_datasets/prop_values-5/sim-1-5.i deleted file mode 100644 index 27f78689..00000000 --- a/2d_plate/perturbed_datasets/prop_values-5/sim-1-5.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 2000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/specific_heat-1/sim-1-1.i b/2d_plate/perturbed_datasets/specific_heat-1/sim-1-1.i deleted file mode 100644 index 4f27eb3d..00000000 --- a/2d_plate/perturbed_datasets/specific_heat-1/sim-1-1.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 1.0 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/specific_heat-2/sim-1-2.i b/2d_plate/perturbed_datasets/specific_heat-2/sim-1-2.i deleted file mode 100644 index 75073975..00000000 --- a/2d_plate/perturbed_datasets/specific_heat-2/sim-1-2.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 3.0 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/specific_heat-3/sim-1-3.i b/2d_plate/perturbed_datasets/specific_heat-3/sim-1-3.i deleted file mode 100644 index e72849e6..00000000 --- a/2d_plate/perturbed_datasets/specific_heat-3/sim-1-3.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 1.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/specific_heat-4/sim-1-4.i b/2d_plate/perturbed_datasets/specific_heat-4/sim-1-4.i deleted file mode 100644 index 42ed18f8..00000000 --- a/2d_plate/perturbed_datasets/specific_heat-4/sim-1-4.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 2.0 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/specific_heat-5/sim-1-5.i b/2d_plate/perturbed_datasets/specific_heat-5/sim-1-5.i deleted file mode 100644 index 22da10a7..00000000 --- a/2d_plate/perturbed_datasets/specific_heat-5/sim-1-5.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 2.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/thermal_conductivity-1/sim-1-1.i b/2d_plate/perturbed_datasets/thermal_conductivity-1/sim-1-1.i deleted file mode 100644 index 5b2bfca4..00000000 --- a/2d_plate/perturbed_datasets/thermal_conductivity-1/sim-1-1.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 15 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/thermal_conductivity-2/sim-1-2.i b/2d_plate/perturbed_datasets/thermal_conductivity-2/sim-1-2.i deleted file mode 100644 index 3955c18c..00000000 --- a/2d_plate/perturbed_datasets/thermal_conductivity-2/sim-1-2.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 55 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/thermal_conductivity-3/sim-1-3.i b/2d_plate/perturbed_datasets/thermal_conductivity-3/sim-1-3.i deleted file mode 100644 index dd656375..00000000 --- a/2d_plate/perturbed_datasets/thermal_conductivity-3/sim-1-3.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 65 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/thermal_conductivity-4/sim-1-4.i b/2d_plate/perturbed_datasets/thermal_conductivity-4/sim-1-4.i deleted file mode 100644 index d5a1c3dd..00000000 --- a/2d_plate/perturbed_datasets/thermal_conductivity-4/sim-1-4.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 35 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/thermal_conductivity-5/sim-1-5.i b/2d_plate/perturbed_datasets/thermal_conductivity-5/sim-1-5.i deleted file mode 100644 index 5d5906a5..00000000 --- a/2d_plate/perturbed_datasets/thermal_conductivity-5/sim-1-5.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 25 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/xmax-1/sim-1-1.i b/2d_plate/perturbed_datasets/xmax-1/sim-1-1.i deleted file mode 100644 index 5147e126..00000000 --- a/2d_plate/perturbed_datasets/xmax-1/sim-1-1.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 25 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/xmax-2/sim-1-2.i b/2d_plate/perturbed_datasets/xmax-2/sim-1-2.i deleted file mode 100644 index 76114050..00000000 --- a/2d_plate/perturbed_datasets/xmax-2/sim-1-2.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 20 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/xmax-3/sim-1-3.i b/2d_plate/perturbed_datasets/xmax-3/sim-1-3.i deleted file mode 100644 index 6248fa71..00000000 --- a/2d_plate/perturbed_datasets/xmax-3/sim-1-3.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 5 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/xmax-4/sim-1-4.i b/2d_plate/perturbed_datasets/xmax-4/sim-1-4.i deleted file mode 100644 index 00dfde7b..00000000 --- a/2d_plate/perturbed_datasets/xmax-4/sim-1-4.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 15 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/xmax-5/sim-1-5.i b/2d_plate/perturbed_datasets/xmax-5/sim-1-5.i deleted file mode 100644 index 37a1cc24..00000000 --- a/2d_plate/perturbed_datasets/xmax-5/sim-1-5.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 30 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/ymax-1/sim-1-1.i b/2d_plate/perturbed_datasets/ymax-1/sim-1-1.i deleted file mode 100644 index 7d7d7d60..00000000 --- a/2d_plate/perturbed_datasets/ymax-1/sim-1-1.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 6 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/ymax-2/sim-1-2.i b/2d_plate/perturbed_datasets/ymax-2/sim-1-2.i deleted file mode 100644 index a93325c2..00000000 --- a/2d_plate/perturbed_datasets/ymax-2/sim-1-2.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 8 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/ymax-3/sim-1-3.i b/2d_plate/perturbed_datasets/ymax-3/sim-1-3.i deleted file mode 100644 index 9befbeb7..00000000 --- a/2d_plate/perturbed_datasets/ymax-3/sim-1-3.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 4 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/ymax-4/sim-1-4.i b/2d_plate/perturbed_datasets/ymax-4/sim-1-4.i deleted file mode 100644 index 6f7150f9..00000000 --- a/2d_plate/perturbed_datasets/ymax-4/sim-1-4.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 12 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/perturbed_datasets/ymax-5/sim-1-5.i b/2d_plate/perturbed_datasets/ymax-5/sim-1-5.i deleted file mode 100644 index 952df61a..00000000 --- a/2d_plate/perturbed_datasets/ymax-5/sim-1-5.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 10 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/validation_datasets/init_temp-1/sim-1-1.i b/2d_plate/validation_datasets/init_temp-1/sim-1-1.i deleted file mode 100644 index 765f8250..00000000 --- a/2d_plate/validation_datasets/init_temp-1/sim-1-1.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 45 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/validation_datasets/init_temp-2/sim-1-2.i b/2d_plate/validation_datasets/init_temp-2/sim-1-2.i deleted file mode 100644 index 43111bd1..00000000 --- a/2d_plate/validation_datasets/init_temp-2/sim-1-2.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 25 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/validation_datasets/max_temp-1/sim-1-1.i b/2d_plate/validation_datasets/max_temp-1/sim-1-1.i deleted file mode 100644 index 12aa8460..00000000 --- a/2d_plate/validation_datasets/max_temp-1/sim-1-1.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 300 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/validation_datasets/max_temp-2/sim-1-2.i b/2d_plate/validation_datasets/max_temp-2/sim-1-2.i deleted file mode 100644 index 74252a38..00000000 --- a/2d_plate/validation_datasets/max_temp-2/sim-1-2.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 900 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/validation_datasets/prop_values-1/sim-1-1.i b/2d_plate/validation_datasets/prop_values-1/sim-1-1.i deleted file mode 100644 index da7e6b79..00000000 --- a/2d_plate/validation_datasets/prop_values-1/sim-1-1.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 3000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/validation_datasets/prop_values-2/sim-1-2.i b/2d_plate/validation_datasets/prop_values-2/sim-1-2.i deleted file mode 100644 index eb7f0057..00000000 --- a/2d_plate/validation_datasets/prop_values-2/sim-1-2.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 11000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/validation_datasets/specific_heat-1/sim-1-1.i b/2d_plate/validation_datasets/specific_heat-1/sim-1-1.i deleted file mode 100644 index 59cac883..00000000 --- a/2d_plate/validation_datasets/specific_heat-1/sim-1-1.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 2.75 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/validation_datasets/specific_heat-2/sim-1-2.i b/2d_plate/validation_datasets/specific_heat-2/sim-1-2.i deleted file mode 100644 index 2c93ea30..00000000 --- a/2d_plate/validation_datasets/specific_heat-2/sim-1-2.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 1.25 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/validation_datasets/thermal_conductivity-1/sim-1-1.i b/2d_plate/validation_datasets/thermal_conductivity-1/sim-1-1.i deleted file mode 100644 index 645a5ee2..00000000 --- a/2d_plate/validation_datasets/thermal_conductivity-1/sim-1-1.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 52 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/validation_datasets/thermal_conductivity-2/sim-1-2.i b/2d_plate/validation_datasets/thermal_conductivity-2/sim-1-2.i deleted file mode 100644 index 6743d61c..00000000 --- a/2d_plate/validation_datasets/thermal_conductivity-2/sim-1-2.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 18 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/validation_datasets/xmax-1/sim-1-1.i b/2d_plate/validation_datasets/xmax-1/sim-1-1.i deleted file mode 100644 index 61eb932a..00000000 --- a/2d_plate/validation_datasets/xmax-1/sim-1-1.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 8 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/validation_datasets/xmax-2/sim-1-2.i b/2d_plate/validation_datasets/xmax-2/sim-1-2.i deleted file mode 100644 index bbc8a09b..00000000 --- a/2d_plate/validation_datasets/xmax-2/sim-1-2.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 22 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/validation_datasets/ymax-1/sim-1-1.i b/2d_plate/validation_datasets/ymax-1/sim-1-1.i deleted file mode 100644 index 6bcc4c97..00000000 --- a/2d_plate/validation_datasets/ymax-1/sim-1-1.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 9 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/2d_plate/validation_datasets/ymax-2/sim-1-2.i b/2d_plate/validation_datasets/ymax-2/sim-1-2.i deleted file mode 100644 index 6d5d0134..00000000 --- a/2d_plate/validation_datasets/ymax-2/sim-1-2.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 5 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - exodus = true -[] diff --git a/full_functionality/perturbed_datasets/ground_truth-1/sim-1-1.i b/full_functionality/perturbed_datasets/ground_truth-1/sim-1-1.i deleted file mode 100644 index ef9d7119..00000000 --- a/full_functionality/perturbed_datasets/ground_truth-1/sim-1-1.i +++ /dev/null @@ -1,74 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - console = false - exodus = true -[] diff --git a/full_functionality/perturbed_datasets/max_temp-1/sim-1-1.i b/full_functionality/perturbed_datasets/max_temp-1/sim-1-1.i deleted file mode 100644 index 131f2602..00000000 --- a/full_functionality/perturbed_datasets/max_temp-1/sim-1-1.i +++ /dev/null @@ -1,74 +0,0 @@ -#_* Variables Block -max_temp = 1250.0 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - console = false - exodus = true -[] diff --git a/full_functionality/perturbed_datasets/max_temp-2/sim-1-2.i b/full_functionality/perturbed_datasets/max_temp-2/sim-1-2.i deleted file mode 100644 index 61b9aba0..00000000 --- a/full_functionality/perturbed_datasets/max_temp-2/sim-1-2.i +++ /dev/null @@ -1,74 +0,0 @@ -#_* Variables Block -max_temp = 1000.0 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - console = false - exodus = true -[] diff --git a/full_functionality/perturbed_datasets/max_temp-3/sim-1-3.i b/full_functionality/perturbed_datasets/max_temp-3/sim-1-3.i deleted file mode 100644 index a920a54b..00000000 --- a/full_functionality/perturbed_datasets/max_temp-3/sim-1-3.i +++ /dev/null @@ -1,74 +0,0 @@ -#_* Variables Block -max_temp = 1500.0 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - console = false - exodus = true -[] diff --git a/full_functionality/perturbed_datasets/max_temp-4/sim-1-4.i b/full_functionality/perturbed_datasets/max_temp-4/sim-1-4.i deleted file mode 100644 index b7722f96..00000000 --- a/full_functionality/perturbed_datasets/max_temp-4/sim-1-4.i +++ /dev/null @@ -1,74 +0,0 @@ -#_* Variables Block -max_temp = 1750.0 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - console = false - exodus = true -[] diff --git a/full_functionality/perturbed_datasets/max_temp-5/sim-1-5.i b/full_functionality/perturbed_datasets/max_temp-5/sim-1-5.i deleted file mode 100644 index ae4105db..00000000 --- a/full_functionality/perturbed_datasets/max_temp-5/sim-1-5.i +++ /dev/null @@ -1,74 +0,0 @@ -#_* Variables Block -max_temp = 750.0 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - console = false - exodus = true -[] diff --git a/full_functionality/validation_datasets/ground_truth-1/sim-1-1.i b/full_functionality/validation_datasets/ground_truth-1/sim-1-1.i deleted file mode 100644 index ef9d7119..00000000 --- a/full_functionality/validation_datasets/ground_truth-1/sim-1-1.i +++ /dev/null @@ -1,74 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - console = false - exodus = true -[] diff --git a/full_functionality/validation_datasets/max_temp-1/sim-1-1.i b/full_functionality/validation_datasets/max_temp-1/sim-1-1.i deleted file mode 100644 index e93470d9..00000000 --- a/full_functionality/validation_datasets/max_temp-1/sim-1-1.i +++ /dev/null @@ -1,74 +0,0 @@ -#_* Variables Block -max_temp = 755.7219789598058 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - console = false - exodus = true -[] diff --git a/full_functionality/validation_datasets/max_temp-2/sim-1-2.i b/full_functionality/validation_datasets/max_temp-2/sim-1-2.i deleted file mode 100644 index a8c4fd2c..00000000 --- a/full_functionality/validation_datasets/max_temp-2/sim-1-2.i +++ /dev/null @@ -1,74 +0,0 @@ -#_* Variables Block -max_temp = 1590.8051014378511 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - console = false - exodus = true -[] From c0456083fb300fd6fd191696822a9d6bb9cd7db7 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Fri, 7 Mar 2025 14:44:51 +0000 Subject: [PATCH 10/48] Added docstrings --- full_functionality/tkinter_attempt.py | 242 +++++++++++++++++++++++++- 1 file changed, 238 insertions(+), 4 deletions(-) diff --git a/full_functionality/tkinter_attempt.py b/full_functionality/tkinter_attempt.py index 784244fa..be00206d 100644 --- a/full_functionality/tkinter_attempt.py +++ b/full_functionality/tkinter_attempt.py @@ -21,6 +21,29 @@ def setup_moose_runner(path, filename): + """setup_moose_runner: Constructor for MOOSE runner taking a MooseConfig object + that contains the paths to the main MOOSE install, the MOOSE app and + the MOOSE app name. Sets parallelisation options to 1 task + and 2 threads. Sets environment variables required for MPI setup. + + Parameters + ---------- + path : str + Contains the path to the folder where the input file is saved and the datasets + and model(s) will be stored + filename : str + Contains the name of the input file being used to generate the model. + + Returns + ------- + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. + Specifies the comment character. Variable definition blocks should begin + #comment character#* and end #comment character#**, e.g. #_* and #** for + moose. + """ moose_input = Path(str(path + filename)) moose_modifier = InputModifier(moose_input, '#', '') moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') @@ -29,7 +52,28 @@ def setup_moose_runner(path, filename): return moose_runner, moose_modifier -def setup_directory_manager(base_dir, sub_dir_name, n_dirs): +def setup_directory_manager(base_dir, sub_dir_name, n_dirs = 1): + """setup_directory_manager: sets up directory manager to manage directories for running + simulations in parallel with the mooseherd. Clears existing directories and creates + specified new ones with given names + + Parameters + ---------- + base_dir : Path + Sets the base directory to create sub-directories for running the simulations. + The base directory must exist. + sub_dir_name : str + String to be used at the start of the created sub-directores. + Default on creation is 'sim-workdir'. Populates the list of run directories using + the new sub directory name. + n_dirs : int, optional + Number of directories to be created., by default 1 + + Returns + ------- + dir_manager : DirectoryManager + Used to control how many and which directories are used to run the simulations. + """ dir_manager = DirectoryManager(n_dirs=n_dirs) dir_manager.set_base_dir(base_dir) dir_manager.set_sub_dir_name(sub_dir_name) @@ -38,7 +82,39 @@ def setup_directory_manager(base_dir, sub_dir_name, n_dirs): return dir_manager -def run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_para, keep_flag=False): +def run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_para=1, keep_flag=False): + """run_herd: used to run parametric sweeps of simulation chains in + parallel with configurable parallelisation options. Takes a list of + SimRunner objects and a corresponding list of InputModifiers to insert the + variables into the input scripts for the SimRunners. Will first call all InputModifiers + in the specified order and then call run on all the SimRunners in order. Uses the + DirectoryManager class to log the directories in which each parallel worker is + creating input files and running simulations. Uses the SweepReader class to read the + output from one or more calls to mooseherd.run_para(). + Has configurable options for reading in the variable sweep in parallel. + + Parameters + ---------- + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables. + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. Specifies the comment + character. Variable definition blocks should begin #comment character#* and end + #comment character#**, e.g. #_* and #** for moose. + dir_manager : DirectoryManager + Used to control how many and which directories are used to run the simulations. + moose_vars : list[InputModifier] + Used to extract and modify the variables in the input file. + Specifies the comment character. Variable definition blocks should begin + #comment character#* and end #comment character#**, e.g. #_* and #** for + moose. + n_para : int, optional + Sets the number of simulation chains to run in parallel. , by default 1 + keep_flag : bool, optional + Flag used for allowing multiple calls to run to keep everything or to + overwrite each time, by default False - overwrite inputs and outputs with multiple calls + """ + herd = MooseHerd([moose_runner], [moose_modifier], dir_manager) herd.set_num_para_sims(n_para=n_para) herd.set_keep_flag(keep_flag) @@ -51,12 +127,52 @@ def run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_para, keep def generate_ground_truths(moose_runner, moose_modifier, base_dir, param_values): + """generate_ground_truths: used to generate the ground truth by running the input file + with no modifications, and save the results to the required base_dir under the + sub_dir_name "ground_truth". Creates 1 ground_truth dataset for every 5 perturbed + datasets + + Parameters + ---------- + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables. + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. Specifies the comment + character. Variable definition blocks should begin #comment character#* and end + #comment character#**, e.g. #_* and #** for moose. + base_dir : Path + Contains the base directory to save ground_truth sub-directory for running the + simulations. + param_values : list[float] + List of values for the currently selected parameter(s). Used to determine how many + ground_truth datasets to generate. + """ for i in range(math.ceil(len(param_values[0]) / 5)): dir_manager = setup_directory_manager(base_dir, 'ground_truth', 1) run_herd(moose_runner, moose_modifier, dir_manager, [[{}]], 1) def generate_perturbed_datasets(moose_runner, moose_modifier, base_dir, param_names, param_values): + """generate_perturbed_datasets: used to generate the perturbed datasets by running the input + file with modifications to specified parameter(s), and save the results to the required + base_dir under a sub_dir_named for the perturbed parameter. + + Parameters + ---------- + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables. + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. Specifies the comment + character. Variable definition blocks should begin #comment character#* and end + #comment character#**, e.g. #_* and #** for moose. + base_dir : Path + Contains the base directory to save ground_truth sub-directory for running the + simulations. + param_names : list[string] + List of the names of the perturbed parameters. + param_values : list[float] + List of values for the currently selected parameter(s). + """ moose_vars = list([]) n_dirs = 1 for i in range(len(param_names)): @@ -68,6 +184,25 @@ def generate_perturbed_datasets(moose_runner, moose_modifier, base_dir, param_na def generate_validation_values(param_values, num_validation_values=2): + """generate_validation_values: used to generate a specified number of validation values + for the selected parameter, so that the model can be tested to see if it can correctly + determine when the parameter has been perturbed to a value that was not present in the + training dataset. + + Parameters + ---------- + param_values : list[float] + List of training values for the currently selected parameter(s). + num_validation_values : int, optional + Number of validation values to generate for each parameter, by default 2 + + Returns + ------- + validation_values : list[list[float]] + List containing a list(s) of validation values for each parameter, to be used to + determine the value of the InputModifier for that parameter for the run to be saved + under validation_datasets/param_name + """ validation_values = [[]] for i in range(num_validation_values): distinct_val = False @@ -82,6 +217,26 @@ def generate_validation_values(param_values, num_validation_values=2): def generate_validation_datasets(moose_runner, moose_modifier, base_dir, param_names, validation_values): + """generate_validation_datasets: used to generate the validation datasets by running the input + file with modifications to specified parameter(s), and save the results to the required + base_dir under a sub_dir_named for the perturbed parameter. + + Parameters + ---------- + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables. + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. Specifies the comment + character. Variable definition blocks should begin #comment character#* and end + #comment character#**, e.g. #_* and #** for moose. + base_dir : Path + Contains the base directory to save ground_truth sub-directory for running the + simulations. + param_names : list[string] + List of the names of the perturbed parameters. + validation_values : list[list[float]] + List of values for the currently selected parameter(s). + """ moose_vars = list([]) n_dirs = 1 for i in range(len(param_names)): @@ -93,6 +248,25 @@ def generate_validation_datasets(moose_runner, moose_modifier, base_dir, param_n def generate_datasets(path, parameters, moose_runner, moose_modifier): + """generate_datasets: used to generate the unlabelled ground truth, perturbed, and + validation datasets by running the required functions with the necessary parameter + names and values, and save paths. + + Parameters + ---------- + path : str + Contains the path to the folder where the input file is saved and the datasets + and model(s) will be stored. + parameters : dict{str : list[float]} + Contains the names of the parameters to be perturbed and the values they should take + for each run. + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables. + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. Specifies the comment + character. Variable definition blocks should begin #comment character#* and end + #comment character#**, e.g. #_* and #** for moose. + """ param_names = [[key] for key in parameters.keys()] param_values = [[value] for value in parameters.values()] @@ -106,8 +280,22 @@ def generate_datasets(path, parameters, moose_runner, moose_modifier): def accept_file(): + """accept_file: used to allow user to input path to input file and input file name + via a tkinter user interface + + Returns + ------- + path : str + String containing the path inputted to the user interface. + filename : str + String containing the name of the input file inputted to the user interface. + """ def submit_file(): + """submit_file: specifies what should happen when the submit button is pressed. + The values within the Entry boxes for path and filename should be saved to + their corresponding variables, and the tkinter window should close. + """ nonlocal path, filename path = str(file_path.get()) filename = str(file_name.get()) @@ -136,8 +324,28 @@ def submit_file(): def accept_parameters(parameters): + """accept_parameters: used to allow user to select which parameters to perturb and the range + and interval of values to be used for each parameter. + + Parameters + ---------- + parameters : dict{str : float} + Dictionary of parameter names and their corresponding values in the default input file. + Used to allow users to select which parameters to modify, and show them the default + values so they don't include them again. + + Returns + ---------- + parameters : dict{str : list[float]} + Dictionary of parameter names and their corresponding list of values for perturbation. + """ def submit_parameters(): + """submit_parameter: specifies what should happen when the submit button is pressed. + The values within the Entry boxes for min_val, max_val and interval for the selected + parameters should be saved to their corresponding variables to allow creation of + param_values list, and the tkinter window should close. + """ nonlocal parameters parameters = {} @@ -223,6 +431,24 @@ def submit_parameters(): def generate_labelled_dataset(folder_path): + """generate_labelled_dataset: used to create a dataset by extracting values from the outputs + of each run, using ExodusReader class to read the data and PyVale to create an array + of sensors used to extract measurements of the required field at given points. + Assigns a label to each dataset depending on which (if any) parameter has been perturbed. + + Parameters + ---------- + folder_path : Path + Specifies the location of the unlabelled datasets from which the information for the + labelled dataset should be extracted. Should be the base directory - i.e. either + perturbed_datasets/ or validation_datasets/. + + Returns + ------- + labelled_dataset: np.array[np.array[list[float], int]] + 2D array containing the list of extracted measurements for each dataset and its + corresponding label. To be used to train/validate the model. + """ sensx, sensy, sensz = 3, 2, 1 labelled_dataset_cols = (sensx*sensy*sensz)+1 labelled_dataset = np.empty((0, labelled_dataset_cols)) @@ -263,6 +489,11 @@ def generate_labelled_dataset(folder_path): def model(): + """model: the main function, used to run all other functions required to generate the + labelled training and validation datasets, then train the Random Forest model on the + training datasets, use it to make predictions for the validation dataset, and verify + the accuracy of the model. Outputs the pertinent information to the user, and then + allows them to decide whether or not to save the model as a .pkl file.""" path, filename = accept_file() moose_runner, moose_modifier = setup_moose_runner(path, filename) @@ -298,10 +529,13 @@ def model(): # Next steps: + # PyTest + # Transition to class(es) # Delete unlabelled datasets(?) + # Path management for overwriting existing data, etc # Explain + enforce suitable user inputs - # Refine by incorporating errors, etc + # Improve by incorporating errors, accepting multiple simultaneous perturbations, etc # Allow user to define numnber of sensors + positions - # Testing, examples + tutorials, packaging, etc + # Examples + tutorials, packaging, etc # Expand to multi-classifier # Accept various input files, starting with 3D monoblock \ No newline at end of file From 5b17cc649f673d4701d62a9f1fd6c32da47d46aa Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Mon, 10 Mar 2025 16:45:24 +0000 Subject: [PATCH 11/48] Exception handling and sanitising user inputs --- full_functionality/tkinter_attempt.py | 195 +++++++++++++++----------- 1 file changed, 112 insertions(+), 83 deletions(-) diff --git a/full_functionality/tkinter_attempt.py b/full_functionality/tkinter_attempt.py index be00206d..ab26a126 100644 --- a/full_functionality/tkinter_attempt.py +++ b/full_functionality/tkinter_attempt.py @@ -152,10 +152,10 @@ def generate_ground_truths(moose_runner, moose_modifier, base_dir, param_values) run_herd(moose_runner, moose_modifier, dir_manager, [[{}]], 1) -def generate_perturbed_datasets(moose_runner, moose_modifier, base_dir, param_names, param_values): - """generate_perturbed_datasets: used to generate the perturbed datasets by running the input - file with modifications to specified parameter(s), and save the results to the required - base_dir under a sub_dir_named for the perturbed parameter. +def generate_dataset(moose_runner, moose_modifier, base_dir, param_names, param_values): + """generate_dataset: used to generate the perturbed and validation datasets by running the + input file with modifications to specified parameter(s), and save the results to the + required base_dir under a sub_dir_named for the perturbed parameter. Parameters ---------- @@ -216,37 +216,6 @@ def generate_validation_values(param_values, num_validation_values=2): return validation_values -def generate_validation_datasets(moose_runner, moose_modifier, base_dir, param_names, validation_values): - """generate_validation_datasets: used to generate the validation datasets by running the input - file with modifications to specified parameter(s), and save the results to the required - base_dir under a sub_dir_named for the perturbed parameter. - - Parameters - ---------- - moose_runner : MooseRunner - Constructed MOOSE runner used to run the input file with modified variables. - moose_modifier : InputModifier - Used to extract and modify the variables in the input file. Specifies the comment - character. Variable definition blocks should begin #comment character#* and end - #comment character#**, e.g. #_* and #** for moose. - base_dir : Path - Contains the base directory to save ground_truth sub-directory for running the - simulations. - param_names : list[string] - List of the names of the perturbed parameters. - validation_values : list[list[float]] - List of values for the currently selected parameter(s). - """ - moose_vars = list([]) - n_dirs = 1 - for i in range(len(param_names)): - n_dirs *= len(validation_values[i]) - dir_manager = setup_directory_manager(base_dir, str(param_names[0]), n_dirs) - for param in validation_values[0]: - moose_vars.append([{str(param_names[0]): param}]) - run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_dirs) - - def generate_datasets(path, parameters, moose_runner, moose_modifier): """generate_datasets: used to generate the unlabelled ground truth, perturbed, and validation datasets by running the required functions with the necessary parameter @@ -271,13 +240,11 @@ def generate_datasets(path, parameters, moose_runner, moose_modifier): param_values = [[value] for value in parameters.values()] for i in range(len(param_names)): - generate_ground_truths(moose_runner, moose_modifier, Path(str(path+'perturbed_datasets/')), param_values[i]) - generate_perturbed_datasets(moose_runner, moose_modifier, Path(str(path+'perturbed_datasets/')), param_names[i], param_values[i]) - validation_values = generate_validation_values(param_values[i]) - generate_validation_datasets(moose_runner, moose_modifier, Path(str(path+'validation_datasets/')), param_names[i], validation_values) - generate_ground_truths(moose_runner, moose_modifier, Path(str(path+'validation_datasets/')), validation_values) - + paths = {Path(str(path+"perturbed_datasets/")) : param_values[i], Path(str(path+"validation_datasets/")) : validation_values} + for path, values in paths.items(): + generate_ground_truths(moose_runner, moose_modifier, path, values) + generate_dataset(moose_runner, moose_modifier, path, param_names[i], values) def accept_file(): """accept_file: used to allow user to input path to input file and input file name @@ -299,8 +266,12 @@ def submit_file(): nonlocal path, filename path = str(file_path.get()) filename = str(file_name.get()) - file_root.quit() - file_root.destroy() + + if Path(path).exists() and Path (path+filename).exists(): + file_root.quit() + file_root.destroy() + else: + error_label.config(text="Specified path and/or input file not found.", fg="red") path, filename = None, None @@ -318,6 +289,9 @@ def submit_file(): submit_button = Button(file_root, text="Submit", command=submit_file) submit_button.grid(row=2, column=0, columnspan=2, pady=10) + error_label = Label(file_root, text="", fg="red") + error_label.grid(row=3, column=0, columnspan=2) + file_root.mainloop() return path, filename @@ -345,29 +319,50 @@ def submit_parameters(): The values within the Entry boxes for min_val, max_val and interval for the selected parameters should be saved to their corresponding variables to allow creation of param_values list, and the tkinter window should close. + + Raises + ---------- + ValueError + If the range or interval specified are invalid + Value Error + If there are fewer than 2 values for perturbation """ nonlocal parameters parameters = {} - + for row in rows: - if row['checkbox_var'].get(): # Check if the checkbox is ticked + if row['checkbox_var'].get(): # Check if checkbox is ticked param_name = row['param_name'] - default_val = float(row['default_val']) - min_val = float(row['min_val'].get()) - max_val = float(row['max_val'].get()) - interval = float(row['interval'].get()) - - param_values = [] - current_val = min_val - while current_val <= max_val: - if current_val != default_val: - param_values.append(current_val) + try: + default_val = float(row['default_val']) + min_val = float(row['min_val'].get()) + max_val = float(row['max_val'].get()) + interval = float(row['interval'].get()) + + if min_val >= max_val or interval <= 0: + raise ValueError("Invalid range or interval") + + param_values = [] + current_val = min_val + while current_val <= max_val: + if current_val != default_val: + param_values.append(current_val) current_val += interval - parameters[param_name] = param_values + if len(param_values) < 2: + raise ValueError("Insufficient perturbation values") + + parameters[param_name] = param_values + + except ValueError as e: + error_label.config(text=f"Error: {str(e)}", fg="red") + return # Stop execution if an error occurs + if len(parameters) == 0: + error_label.config(text="No parameters submitted", fg="red") + return + param_root.destroy() - param_root.update() param_root = Tk() @@ -422,9 +417,14 @@ def submit_parameters(): rows.append(row) + parameters = None + submit_button = Button(param_root, text="Submit", command=submit_parameters) submit_button.grid(row=3, column=0, columnspan=2, pady=10) + error_label = Label(param_root, text="", fg="red") + error_label.grid(row=4, column=0, columnspan=2) + param_root.mainloop() return parameters @@ -488,20 +488,11 @@ def generate_labelled_dataset(folder_path): return labelled_dataset -def model(): - """model: the main function, used to run all other functions required to generate the - labelled training and validation datasets, then train the Random Forest model on the - training datasets, use it to make predictions for the validation dataset, and verify - the accuracy of the model. Outputs the pertinent information to the user, and then - allows them to decide whether or not to save the model as a .pkl file.""" - path, filename = accept_file() - - moose_runner, moose_modifier = setup_moose_runner(path, filename) - - parameters = accept_parameters(moose_modifier.get_vars()) - - generate_datasets(path, parameters, moose_runner, moose_modifier) - +def model(path, filename): + """model: used to train the Random Forest model on the training datasets, use the model + to make predictions for the validation dataset, and verify the accuracy of the model. + Outputs the pertinent information to the user, and then allows them to decide whether + or not to save the model as a .pkl file.""" X_train = generate_labelled_dataset(Path(str(path+'perturbed_datasets/')))[:, :-1] y_train = generate_labelled_dataset(Path(str(path+'perturbed_datasets/')))[:, -1] X_val = generate_labelled_dataset(Path(str(path+'validation_datasets/')))[:, :-1] @@ -517,25 +508,63 @@ def model(): val_accuracy = accuracy_score(y_val, y_pred) print(f"Random Forest Validation Accuracy: {val_accuracy * 100:.2f}%") - + save_model = input("Save model? (Y/N) ") + while save_model.lower() not in ["y", "n"]: + print("Invalid input") + save_model = input("Save model? (Y/N) ") + if save_model.lower() == "y": model_filename = str(filename).replace('.i', '') joblib.dump(rf_classifier, str(path)+model_filename+'_model.pkl') +def main(): + """main: runs all of the other functions. + + Raises + ------ + FileNotFoundError + If the file submission window is closed (instead of submitting path and filename) + ValueError + If the input file is improperly format and no parameters are found as expected + ValueError + If the parameter submission window is closed (instead of submitting parameter data) + """ + path, filename = accept_file() + + if path == None or filename == None: + raise FileNotFoundError(f"Specified path and/or input file name not found. Exiting.") + + moose_runner, moose_modifier = setup_moose_runner(path, filename) + + found_vars = moose_modifier.get_vars() + if len(found_vars) == 0: + raise ValueError(f"No parameters found in input file. Check input file and try again.") + else: + parameters = accept_parameters(found_vars) + + if parameters == None: + raise ValueError(f"Unacceptable parameters. Exiting.") + + generate_datasets(path, parameters, moose_runner, moose_modifier) + + model(path, filename) + + if __name__ == "__main__": - model() + main() # Next steps: - # PyTest - # Transition to class(es) - # Delete unlabelled datasets(?) - # Path management for overwriting existing data, etc - # Explain + enforce suitable user inputs - # Improve by incorporating errors, accepting multiple simultaneous perturbations, etc - # Allow user to define numnber of sensors + positions - # Examples + tutorials, packaging, etc - # Expand to multi-classifier - # Accept various input files, starting with 3D monoblock \ No newline at end of file + # Refactor to OOP and restructure for project layout + # Test suite using PyTest (develop as you go) + # Improve binary classifier by: + # Allow choice of modelling frameworks - modelling class + # Incorporating errors - labelled_dataset function + # Accepting multiple simultaneous perturbations - generate datasets class + # Allowing user to define number of sensors + positions - labelled dataset function + # Expand to multi-classifier + # Examples + tutorials + # Packaging for pip distribution + # Stretch goal: more complex input files, e.g. 3D monoblock \ No newline at end of file From 87692f7daa9cab44b46d1ee6df9d26a7e50e8ad8 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 11 Mar 2025 14:11:38 +0000 Subject: [PATCH 12/48] Restructured to standard Python project with classes and packaged for pip install with pyproject.toml --- .../ex1_2d_binary.py | 186 ++++--- examples/ex1_2d_binary_class.py | 55 ++ pyproject.toml | 29 + .../moose}/plate_2d_thermal.i | 0 src/icarus.egg-info/PKG-INFO | 524 ++++++++++++++++++ src/icarus/__init__.py | 14 + src/icarus/datasetgenerator.py | 184 ++++++ src/icarus/modelbuilder.py | 114 ++++ src/icarus/moosesetup.py | 69 +++ src/icarus/userinterface.py | 214 +++++++ tests/__init__.py | 0 11 files changed, 1319 insertions(+), 70 deletions(-) rename full_functionality/tkinter_attempt.py => examples/ex1_2d_binary.py (76%) create mode 100644 examples/ex1_2d_binary_class.py create mode 100644 pyproject.toml rename {full_functionality => scripts/moose}/plate_2d_thermal.i (100%) create mode 100644 src/icarus.egg-info/PKG-INFO create mode 100644 src/icarus/__init__.py create mode 100644 src/icarus/datasetgenerator.py create mode 100644 src/icarus/modelbuilder.py create mode 100644 src/icarus/moosesetup.py create mode 100644 src/icarus/userinterface.py create mode 100644 tests/__init__.py diff --git a/full_functionality/tkinter_attempt.py b/examples/ex1_2d_binary.py similarity index 76% rename from full_functionality/tkinter_attempt.py rename to examples/ex1_2d_binary.py index ab26a126..17c024e7 100644 --- a/full_functionality/tkinter_attempt.py +++ b/examples/ex1_2d_binary.py @@ -7,6 +7,7 @@ from sklearn.metrics import accuracy_score from tkinter import * import joblib +import shutil from mooseherder import (MooseHerd, MooseRunner, MooseConfig, @@ -20,7 +21,7 @@ USER_DIR = Path.home() -def setup_moose_runner(path, filename): +def setup_moose_runner(input_file_path): """setup_moose_runner: Constructor for MOOSE runner taking a MooseConfig object that contains the paths to the main MOOSE install, the MOOSE app and the MOOSE app name. Sets parallelisation options to 1 task @@ -28,11 +29,8 @@ def setup_moose_runner(path, filename): Parameters ---------- - path : str - Contains the path to the folder where the input file is saved and the datasets - and model(s) will be stored - filename : str - Contains the name of the input file being used to generate the model. + input_file_path : str + Contains the path to the input file. Returns ------- @@ -44,7 +42,7 @@ def setup_moose_runner(path, filename): #comment character#* and end #comment character#**, e.g. #_* and #** for moose. """ - moose_input = Path(str(path + filename)) + moose_input = Path(str(input_file_path)) moose_modifier = InputModifier(moose_input, '#', '') moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') moose_runner = MooseRunner(moose_config) @@ -126,7 +124,7 @@ def run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_para=1, ke read_all = sweep_reader.read_results_para() -def generate_ground_truths(moose_runner, moose_modifier, base_dir, param_values): +def generate_ground_truths(moose_runner, moose_modifier, base_dir, num_ground_truths): """generate_ground_truths: used to generate the ground truth by running the input file with no modifications, and save the results to the required base_dir under the sub_dir_name "ground_truth". Creates 1 ground_truth dataset for every 5 perturbed @@ -143,13 +141,14 @@ def generate_ground_truths(moose_runner, moose_modifier, base_dir, param_values) base_dir : Path Contains the base directory to save ground_truth sub-directory for running the simulations. - param_values : list[float] - List of values for the currently selected parameter(s). Used to determine how many - ground_truth datasets to generate. + num_ground_truth : list[float] + Number of ground_truth datasets to generate. """ - for i in range(math.ceil(len(param_values[0]) / 5)): - dir_manager = setup_directory_manager(base_dir, 'ground_truth', 1) - run_herd(moose_runner, moose_modifier, dir_manager, [[{}]], 1) + moose_vars = list([]) + dir_manager = setup_directory_manager(base_dir, 'ground_truth', num_ground_truths) + for i in range(num_ground_truths): + moose_vars.append([{}]) + run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, num_ground_truths) def generate_dataset(moose_runner, moose_modifier, base_dir, param_names, param_values): @@ -166,7 +165,7 @@ def generate_dataset(moose_runner, moose_modifier, base_dir, param_names, param_ character. Variable definition blocks should begin #comment character#* and end #comment character#**, e.g. #_* and #** for moose. base_dir : Path - Contains the base directory to save ground_truth sub-directory for running the + Contains the base directory to save perturbed_param sub-directory for running the simulations. param_names : list[string] List of the names of the perturbed parameters. @@ -216,16 +215,15 @@ def generate_validation_values(param_values, num_validation_values=2): return validation_values -def generate_datasets(path, parameters, moose_runner, moose_modifier): +def generate_datasets(output_file_path, parameters, num_validation_values, moose_runner, moose_modifier): """generate_datasets: used to generate the unlabelled ground truth, perturbed, and validation datasets by running the required functions with the necessary parameter names and values, and save paths. Parameters ---------- - path : str - Contains the path to the folder where the input file is saved and the datasets - and model(s) will be stored. + output_file_path : str + Contains the path to the folder where the datasets and model(s) will be stored. parameters : dict{str : list[float]} Contains the names of the parameters to be perturbed and the values they should take for each run. @@ -239,52 +237,72 @@ def generate_datasets(path, parameters, moose_runner, moose_modifier): param_names = [[key] for key in parameters.keys()] param_values = [[value] for value in parameters.values()] + perturbed_path, perturbed_vals = Path(str(output_file_path+"perturbed_datasets/")), None + validation_path, validation_vals = Path(str(output_file_path+"validation_datasets/")), None + paths = {perturbed_path : perturbed_vals, validation_path: validation_vals} + for i in range(len(param_names)): - validation_values = generate_validation_values(param_values[i]) - paths = {Path(str(path+"perturbed_datasets/")) : param_values[i], Path(str(path+"validation_datasets/")) : validation_values} + validation_values = generate_validation_values(param_values[i], num_validation_values[i]) + paths[perturbed_path] = param_values[i] + paths[validation_path] = validation_values for path, values in paths.items(): - generate_ground_truths(moose_runner, moose_modifier, path, values) generate_dataset(moose_runner, moose_modifier, path, param_names[i], values) + for path in paths.keys(): + num_datasets = sum(1 for d in path.iterdir() if d.is_dir()) + num_ground_truths = math.ceil(num_datasets/3) + generate_ground_truths(moose_runner, moose_modifier, path, num_ground_truths) + def accept_file(): """accept_file: used to allow user to input path to input file and input file name via a tkinter user interface Returns ------- - path : str - String containing the path inputted to the user interface. - filename : str - String containing the name of the input file inputted to the user interface. + input_file_path : str + String containing the path to the input file inputted to the user interface. + output_file_path : str + String containing the path for outputs inputted to the user interface. """ def submit_file(): """submit_file: specifies what should happen when the submit button is pressed. - The values within the Entry boxes for path and filename should be saved to - their corresponding variables, and the tkinter window should close. + The values within the Entry boxes for input and output file paths should be + saved to their corresponding variables, and the tkinter window should close. + + Raises + ---------- + FileNotFoundError + If the file paths submitted aren't acceptable """ - nonlocal path, filename - path = str(file_path.get()) - filename = str(file_name.get()) + nonlocal input_file_path, output_file_path + + try: + input_file_path = str(input_file_path_entry.get()) + output_file_path = str(output_file_path_entry.get()) - if Path(path).exists() and Path (path+filename).exists(): + if not Path(input_file_path).exists() or not Path (output_file_path).exists(): + if input_file_path[-2:] != ".i": + raise FileNotFoundError(f"Specified input and/or output file path not found.") + file_root.quit() file_root.destroy() - else: - error_label.config(text="Specified path and/or input file not found.", fg="red") + except FileNotFoundError: + error_label.config(text="Specified input and/or output file path not found.", fg="red") + return - path, filename = None, None + input_file_path, output_file_path = None, None file_root = Tk() - Label(file_root, text='File path:').grid(row=0) - Label(file_root, text='Input file name:').grid(row=1) - default_path = StringVar(value="full_functionality/") - file_path = Entry(file_root, textvariable=default_path) - file_path.grid(row=0, column=1) - default_file = StringVar(value="plate_2d_thermal.i") - file_name = Entry(file_root, textvariable=default_file) - file_name.grid(row=1, column=1) + Label(file_root, text='Input file path:').grid(row=0) + Label(file_root, text='Output file path:').grid(row=1) + default_input_path = StringVar(value="scripts/moose/plate_2d_thermal.i") + input_file_path_entry = Entry(file_root, textvariable=default_input_path, width=30) + input_file_path_entry.grid(row=0, column=1) + default_output_path = StringVar(value="examples/example_outputs/ex1_outputs/") + output_file_path_entry = Entry(file_root, textvariable=default_output_path, width=30) + output_file_path_entry.grid(row=1, column=1) submit_button = Button(file_root, text="Submit", command=submit_file) submit_button.grid(row=2, column=0, columnspan=2, pady=10) @@ -294,12 +312,12 @@ def submit_file(): file_root.mainloop() - return path, filename + return input_file_path, output_file_path def accept_parameters(parameters): - """accept_parameters: used to allow user to select which parameters to perturb and the range - and interval of values to be used for each parameter. + """accept_parameters: used to allow user to select which parameters to perturb, and the range, + interval of perturbation values, and number of validation values to be used for each parameter. Parameters ---------- @@ -326,9 +344,12 @@ def submit_parameters(): If the range or interval specified are invalid Value Error If there are fewer than 2 values for perturbation + Value Error + If there are fewer than 2 values for validation """ - nonlocal parameters + nonlocal parameters, num_val_values parameters = {} + num_val_values = [] for row in rows: if row['checkbox_var'].get(): # Check if checkbox is ticked @@ -338,6 +359,7 @@ def submit_parameters(): min_val = float(row['min_val'].get()) max_val = float(row['max_val'].get()) interval = float(row['interval'].get()) + num_validation_values = int(row['num_validation_values'].get()) if min_val >= max_val or interval <= 0: raise ValueError("Invalid range or interval") @@ -351,7 +373,11 @@ def submit_parameters(): if len(param_values) < 2: raise ValueError("Insufficient perturbation values") + + if num_validation_values < 2: + raise ValueError("Insufficient validation values") + num_val_values.append(num_validation_values) parameters[param_name] = param_values except ValueError as e: @@ -369,7 +395,7 @@ def submit_parameters(): table_frame = Frame(param_root) table_frame.grid(row=2, column=0, columnspan=2, padx=10, pady=10) - headers = ["Select", "Param Name", "Default Value", "Min Value", "Max Value", "Interval"] + headers = ["Select", "Param Name", "Default Value", "Min Value", "Max Value", "Interval", "No. Validation Values"] for col, header in enumerate(headers): Label(table_frame, text=header).grid(row=0, column=col, padx=5, pady=5) @@ -383,10 +409,10 @@ def submit_parameters(): else: x = parameter_value/2 params.append({"param_name": parameter_name,"default_val": parameter_value,"min_val": parameter_value+x, - "max_val": parameter_value+5*x,"interval": x}) + "max_val": parameter_value+5*x,"interval": x,"num_validation_values":3}) except ValueError: params.append({"param_name": parameter_name,"default_val": parameter_value,"min_val": "", - "max_val": "","interval": ""}) + "max_val": "","interval": "","num_validation_values":""}) rows = [] for i, param in enumerate(params): @@ -415,9 +441,14 @@ def submit_parameters(): interval_entry = Entry(table_frame, textvariable=row['interval'], width=10) interval_entry.grid(row=i+1, column=5, padx=5, pady=5) + row['num_validation_values'] = StringVar(value=param['num_validation_values']) + num_validation_values_entry = Entry(table_frame, textvariable=row['num_validation_values'], width=10) + num_validation_values_entry.grid(row=i+1, column=6, padx=5, pady=5) + rows.append(row) parameters = None + num_val_values = None submit_button = Button(param_root, text="Submit", command=submit_parameters) submit_button.grid(row=3, column=0, columnspan=2, pady=10) @@ -427,7 +458,7 @@ def submit_parameters(): param_root.mainloop() - return parameters + return num_val_values, parameters def generate_labelled_dataset(folder_path): @@ -488,15 +519,30 @@ def generate_labelled_dataset(folder_path): return labelled_dataset -def model(path, filename): +def model(output_file_path): """model: used to train the Random Forest model on the training datasets, use the model to make predictions for the validation dataset, and verify the accuracy of the model. Outputs the pertinent information to the user, and then allows them to decide whether - or not to save the model as a .pkl file.""" - X_train = generate_labelled_dataset(Path(str(path+'perturbed_datasets/')))[:, :-1] - y_train = generate_labelled_dataset(Path(str(path+'perturbed_datasets/')))[:, -1] - X_val = generate_labelled_dataset(Path(str(path+'validation_datasets/')))[:, :-1] - y_val = generate_labelled_dataset(Path(str(path+'validation_datasets/')))[:, -1] + or not to save the model as a .pkl file. + + Parameters + ---------- + output_file_path : str + Contains the path to the folder where the datasets and model(s) will be stored. + """ + perturbed_path, validation_path = Path(output_file_path+"perturbed_datasets/"), Path(output_file_path+"validation_datasets/") + training_dataset = generate_labelled_dataset(perturbed_path) + validation_dataset = generate_labelled_dataset(validation_path) + + paths = {perturbed_path: training_dataset, validation_path: validation_dataset} + for path in paths: + for folder in path.iterdir(): + if folder.is_dir(): + shutil.rmtree(folder) + dataset = paths[path] + np.savetxt(path/"labelled_dataset.txt", dataset, fmt="%d", delimiter=",") + + X_train, y_train, X_val, y_val = training_dataset[:, :-1], training_dataset[:, -1], validation_dataset[:, :-1], validation_dataset[:, -1] rf_classifier = RandomForestClassifier(n_estimators=100, random_state=42) rf_classifier.fit(X_train, y_train) @@ -515,8 +561,7 @@ def model(path, filename): save_model = input("Save model? (Y/N) ") if save_model.lower() == "y": - model_filename = str(filename).replace('.i', '') - joblib.dump(rf_classifier, str(path)+model_filename+'_model.pkl') + joblib.dump(rf_classifier, str(output_file_path)+'model.pkl') def main(): @@ -525,31 +570,31 @@ def main(): Raises ------ FileNotFoundError - If the file submission window is closed (instead of submitting path and filename) + If the file submission window is closed (instead of submitting file paths) ValueError - If the input file is improperly format and no parameters are found as expected + If the input file is improperly formatted and no parameters are found as expected ValueError If the parameter submission window is closed (instead of submitting parameter data) """ - path, filename = accept_file() + input_file_path, output_file_path = accept_file() - if path == None or filename == None: - raise FileNotFoundError(f"Specified path and/or input file name not found. Exiting.") + if input_file_path == None or output_file_path == None: + raise FileNotFoundError(f"Specified input and/or output file path not found. Exiting.") - moose_runner, moose_modifier = setup_moose_runner(path, filename) + moose_runner, moose_modifier = setup_moose_runner(input_file_path) found_vars = moose_modifier.get_vars() if len(found_vars) == 0: raise ValueError(f"No parameters found in input file. Check input file and try again.") else: - parameters = accept_parameters(found_vars) + num_validation_values, parameters = accept_parameters(found_vars) if parameters == None: raise ValueError(f"Unacceptable parameters. Exiting.") - generate_datasets(path, parameters, moose_runner, moose_modifier) + generate_datasets(output_file_path, parameters, num_validation_values, moose_runner, moose_modifier) - model(path, filename) + model(output_file_path) if __name__ == "__main__": @@ -557,7 +602,7 @@ def main(): # Next steps: - # Refactor to OOP and restructure for project layout + # Refactor to OOP # Test suite using PyTest (develop as you go) # Improve binary classifier by: # Allow choice of modelling frameworks - modelling class @@ -567,4 +612,5 @@ def main(): # Expand to multi-classifier # Examples + tutorials # Packaging for pip distribution - # Stretch goal: more complex input files, e.g. 3D monoblock \ No newline at end of file + # Stretch goal: more complex input files, e.g. 3D monoblock + \ No newline at end of file diff --git a/examples/ex1_2d_binary_class.py b/examples/ex1_2d_binary_class.py new file mode 100644 index 00000000..a4388596 --- /dev/null +++ b/examples/ex1_2d_binary_class.py @@ -0,0 +1,55 @@ +from icarus import (DatasetGenerator, + ModelBuilder, + MooseSetup, + UserInterface) + +def main(): + """main: runs all of the other functions. + + Raises + ------ + FileNotFoundError + If the file submission window is closed (instead of submitting file paths) + ValueError + If the input file is improperly formatted and no parameters are found as expected + ValueError + If the parameter submission window is closed (instead of submitting parameter data) + """ + input_file_path, output_file_path = UserInterface.accept_file("scripts/moose/plate_2d_thermal.i", + "examples/example_outputs/ex1_outputs") + + if input_file_path == None or output_file_path == None: + raise FileNotFoundError(f"Specified input and/or output file path not found. Exiting.") + + moose_runner, moose_modifier = MooseSetup.setup_moose_runner(input_file_path) + + found_vars = moose_modifier.get_vars() + if len(found_vars) == 0: + raise ValueError(f"No parameters found in input file. Check input file and try again.") + else: + num_validation_values, parameters = UserInterface.accept_parameters(found_vars) + + if parameters == None: + raise ValueError(f"Unacceptable parameters. Exiting.") + + DatasetGenerator.generate_datasets(output_file_path, parameters, num_validation_values, moose_runner, moose_modifier) + + ModelBuilder.model(output_file_path) + + +if __name__ == "__main__": + main() + + +# Next steps: + # Refactor to OOP + # Test suite using PyTest (develop as you go) + # Improve binary classifier by: + # Allow choice of modelling frameworks - modelling class + # Incorporating errors - labelled_dataset function + # Accepting multiple simultaneous perturbations - generate datasets class + # Allowing user to define number of sensors + positions - labelled dataset function + # Expand to multi-classifier + # Examples + tutorials + # Packaging for pip distribution + # Stretch goal: more complex input files, e.g. 3D monoblock \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..fb8011aa --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,29 @@ +[build-system] +requires = ["setuptools>=61.0"] +build-backend = "setuptools.build_meta" + +[project] +name = "icarus" +version = "0.1.0" +description = "Machine learning for fusion simulation validation" +authors = [ + { name = "iomags2211", email = "isaac.magee@ukaea.uk" }, +] +license = { file = "LICENSE" } +readme = "README.md" +classifiers = [ + "Programming Language :: Python :: 3", + "License :: GNU LGPL", + "Operating System :: OS Independent", +] +requires-python = ">=3.11" +dependencies = [ + "numpy>=1.26.0" +] + +[project.urls] +"Repository" = "https://github.com/aurora-multiphysics/icarus" +"Issue Tracker" = "https://github.com/aurora-multiphysics/icarus/issues" + +[tool.setuptools.packages.find] +where = ["src"] \ No newline at end of file diff --git a/full_functionality/plate_2d_thermal.i b/scripts/moose/plate_2d_thermal.i similarity index 100% rename from full_functionality/plate_2d_thermal.i rename to scripts/moose/plate_2d_thermal.i diff --git a/src/icarus.egg-info/PKG-INFO b/src/icarus.egg-info/PKG-INFO new file mode 100644 index 00000000..b84bc1d8 --- /dev/null +++ b/src/icarus.egg-info/PKG-INFO @@ -0,0 +1,524 @@ +Metadata-Version: 2.2 +Name: icarus +Version: 0.1.0 +Summary: Machine learning for fusion simulation validation +Author-email: iomags2211 +License: GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + [This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your + freedom to share and change it. By contrast, the GNU General Public + Licenses are intended to guarantee your freedom to share and change + free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some + specially designated software packages--typically libraries--of the + Free Software Foundation and other authors who decide to use it. You + can use it too, but we suggest you first think carefully about whether + this license or the ordinary General Public License is the better + strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, + not price. Our General Public Licenses are designed to make sure that + you have the freedom to distribute copies of free software (and charge + for this service if you wish); that you receive source code or can get + it if you want it; that you can change the software and use pieces of + it in new free programs; and that you are informed that you can do + these things. + + To protect your rights, we need to make restrictions that forbid + distributors to deny you these rights or to ask you to surrender these + rights. These restrictions translate to certain responsibilities for + you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis + or for a fee, you must give the recipients all the rights that we gave + you. You must make sure that they, too, receive or can get the source + code. If you link other code with the library, you must provide + complete object files to the recipients, so that they can relink them + with the library after making changes to the library and recompiling + it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the + library, and (2) we offer you this license, which gives you legal + permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that + there is no warranty for the free library. Also, if the library is + modified by someone else and passed on, the recipients should know + that what they have is not the original version, so that the original + author's reputation will not be affected by problems that might be + introduced by others. + + Finally, software patents pose a constant threat to the existence of + any free program. We wish to make sure that a company cannot + effectively restrict the users of a free program by obtaining a + restrictive license from a patent holder. Therefore, we insist that + any patent license obtained for a version of the library must be + consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the + ordinary GNU General Public License. This license, the GNU Lesser + General Public License, applies to certain designated libraries, and + is quite different from the ordinary General Public License. We use + this license for certain libraries in order to permit linking those + libraries into non-free programs. + + When a program is linked with a library, whether statically or using + a shared library, the combination of the two is legally speaking a + combined work, a derivative of the original library. The ordinary + General Public License therefore permits such linking only if the + entire combination fits its criteria of freedom. The Lesser General + Public License permits more lax criteria for linking other code with + the library. + + We call this license the "Lesser" General Public License because it + does Less to protect the user's freedom than the ordinary General + Public License. It also provides other free software developers Less + of an advantage over competing non-free programs. These disadvantages + are the reason we use the ordinary General Public License for many + libraries. However, the Lesser license provides advantages in certain + special circumstances. + + For example, on rare occasions, there may be a special need to + encourage the widest possible use of a certain library, so that it becomes + a de-facto standard. To achieve this, non-free programs must be + allowed to use the library. A more frequent case is that a free + library does the same job as widely used non-free libraries. In this + case, there is little to gain by limiting the free library to free + software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free + programs enables a greater number of people to use a large body of + free software. For example, permission to use the GNU C Library in + non-free programs enables many more people to use the whole GNU + operating system, as well as its variant, the GNU/Linux operating + system. + + Although the Lesser General Public License is Less protective of the + users' freedom, it does ensure that the user of a program that is + linked with the Library has the freedom and the wherewithal to run + that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and + modification follow. Pay close attention to the difference between a + "work based on the library" and a "work that uses the library". The + former contains code derived from the library, whereas the latter must + be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other + program which contains a notice placed by the copyright holder or + other authorized party saying it may be distributed under the terms of + this Lesser General Public License (also called "this License"). + Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data + prepared so as to be conveniently linked with application programs + (which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work + which has been distributed under these terms. A "work based on the + Library" means either the Library or any derivative work under + copyright law: that is to say, a work containing the Library or a + portion of it, either verbatim or with modifications and/or translated + straightforwardly into another language. (Hereinafter, translation is + included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for + making modifications to it. For a library, complete source code means + all the source code for all modules it contains, plus any associated + interface definition files, plus the scripts used to control compilation + and installation of the library. + + Activities other than copying, distribution and modification are not + covered by this License; they are outside its scope. The act of + running a program using the Library is not restricted, and output from + such a program is covered only if its contents constitute a work based + on the Library (independent of the use of the Library in a tool for + writing it). Whether that is true depends on what the Library does + and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's + complete source code as you receive it, in any medium, provided that + you conspicuously and appropriately publish on each copy an + appropriate copyright notice and disclaimer of warranty; keep intact + all the notices that refer to this License and to the absence of any + warranty; and distribute a copy of this License along with the + Library. + + You may charge a fee for the physical act of transferring a copy, + and you may at your option offer warranty protection in exchange for a + fee. + + 2. You may modify your copy or copies of the Library or any portion + of it, thus forming a work based on the Library, and copy and + distribute such modifications or work under the terms of Section 1 + above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + + These requirements apply to the modified work as a whole. If + identifiable sections of that work are not derived from the Library, + and can be reasonably considered independent and separate works in + themselves, then this License, and its terms, do not apply to those + sections when you distribute them as separate works. But when you + distribute the same sections as part of a whole which is a work based + on the Library, the distribution of the whole must be on the terms of + this License, whose permissions for other licensees extend to the + entire whole, and thus to each and every part regardless of who wrote + it. + + Thus, it is not the intent of this section to claim rights or contest + your rights to work written entirely by you; rather, the intent is to + exercise the right to control the distribution of derivative or + collective works based on the Library. + + In addition, mere aggregation of another work not based on the Library + with the Library (or with a work based on the Library) on a volume of + a storage or distribution medium does not bring the other work under + the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public + License instead of this License to a given copy of the Library. To do + this, you must alter all the notices that refer to this License, so + that they refer to the ordinary GNU General Public License, version 2, + instead of to this License. (If a newer version than version 2 of the + ordinary GNU General Public License has appeared, then you can specify + that version instead if you wish.) Do not make any other change in + these notices. + + Once this change is made in a given copy, it is irreversible for + that copy, so the ordinary GNU General Public License applies to all + subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of + the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or + derivative of it, under Section 2) in object code or executable form + under the terms of Sections 1 and 2 above provided that you accompany + it with the complete corresponding machine-readable source code, which + must be distributed under the terms of Sections 1 and 2 above on a + medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy + from a designated place, then offering equivalent access to copy the + source code from the same place satisfies the requirement to + distribute the source code, even though third parties are not + compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the + Library, but is designed to work with the Library by being compiled or + linked with it, is called a "work that uses the Library". Such a + work, in isolation, is not a derivative work of the Library, and + therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library + creates an executable that is a derivative of the Library (because it + contains portions of the Library), rather than a "work that uses the + library". The executable is therefore covered by this License. + Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file + that is part of the Library, the object code for the work may be a + derivative work of the Library even though the source code is not. + Whether this is true is especially significant if the work can be + linked without the Library, or if the work is itself a library. The + threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data + structure layouts and accessors, and small macros and small inline + functions (ten lines or less in length), then the use of the object + file is unrestricted, regardless of whether it is legally a derivative + work. (Executables containing this object code plus portions of the + Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may + distribute the object code for the work under the terms of Section 6. + Any executables containing that work also fall under Section 6, + whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or + link a "work that uses the Library" with the Library to produce a + work containing portions of the Library, and distribute that work + under terms of your choice, provided that the terms permit + modification of the work for the customer's own use and reverse + engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the + Library is used in it and that the Library and its use are covered by + this License. You must supply a copy of this License. If the work + during execution displays copyright notices, you must include the + copyright notice for the Library among them, as well as a reference + directing the user to the copy of this License. Also, you must do one + of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the + Library" must include any data and utility programs needed for + reproducing the executable from it. However, as a special exception, + the materials to be distributed need not include anything that is + normally distributed (in either source or binary form) with the major + components (compiler, kernel, and so on) of the operating system on + which the executable runs, unless that component itself accompanies + the executable. + + It may happen that this requirement contradicts the license + restrictions of other proprietary libraries that do not normally + accompany the operating system. Such a contradiction means you cannot + use both them and the Library together in an executable that you + distribute. + + 7. You may place library facilities that are a work based on the + Library side-by-side in a single library together with other library + facilities not covered by this License, and distribute such a combined + library, provided that the separate distribution of the work based on + the Library and of the other library facilities is otherwise + permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute + the Library except as expressly provided under this License. Any + attempt otherwise to copy, modify, sublicense, link with, or + distribute the Library is void, and will automatically terminate your + rights under this License. However, parties who have received copies, + or rights, from you under this License will not have their licenses + terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not + signed it. However, nothing else grants you permission to modify or + distribute the Library or its derivative works. These actions are + prohibited by law if you do not accept this License. Therefore, by + modifying or distributing the Library (or any work based on the + Library), you indicate your acceptance of this License to do so, and + all its terms and conditions for copying, distributing or modifying + the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the + Library), the recipient automatically receives a license from the + original licensor to copy, distribute, link with or modify the Library + subject to these terms and conditions. You may not impose any further + restrictions on the recipients' exercise of the rights granted herein. + You are not responsible for enforcing compliance by third parties with + this License. + + 11. If, as a consequence of a court judgment or allegation of patent + infringement or for any other reason (not limited to patent issues), + conditions are imposed on you (whether by court order, agreement or + otherwise) that contradict the conditions of this License, they do not + excuse you from the conditions of this License. If you cannot + distribute so as to satisfy simultaneously your obligations under this + License and any other pertinent obligations, then as a consequence you + may not distribute the Library at all. For example, if a patent + license would not permit royalty-free redistribution of the Library by + all those who receive copies directly or indirectly through you, then + the only way you could satisfy both it and this License would be to + refrain entirely from distribution of the Library. + + If any portion of this section is held invalid or unenforceable under any + particular circumstance, the balance of the section is intended to apply, + and the section as a whole is intended to apply in other circumstances. + + It is not the purpose of this section to induce you to infringe any + patents or other property right claims or to contest validity of any + such claims; this section has the sole purpose of protecting the + integrity of the free software distribution system which is + implemented by public license practices. Many people have made + generous contributions to the wide range of software distributed + through that system in reliance on consistent application of that + system; it is up to the author/donor to decide if he or she is willing + to distribute software through any other system and a licensee cannot + impose that choice. + + This section is intended to make thoroughly clear what is believed to + be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in + certain countries either by patents or by copyrighted interfaces, the + original copyright holder who places the Library under this License may add + an explicit geographical distribution limitation excluding those countries, + so that distribution is permitted only in or among countries not thus + excluded. In such case, this License incorporates the limitation as if + written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new + versions of the Lesser General Public License from time to time. + Such new versions will be similar in spirit to the present version, + but may differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the Library + specifies a version number of this License which applies to it and + "any later version", you have the option of following the terms and + conditions either of that version or of any later version published by + the Free Software Foundation. If the Library does not specify a + license version number, you may choose any version ever published by + the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free + programs whose distribution conditions are incompatible with these, + write to the author to ask for permission. For software which is + copyrighted by the Free Software Foundation, write to the Free + Software Foundation; we sometimes make exceptions for this. Our + decision will be guided by the two goals of preserving the free status + of all derivatives of our free software and of promoting the sharing + and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO + WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. + EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR + OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE + LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME + THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN + WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY + AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU + FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR + CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE + LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING + RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A + FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF + SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest + possible use to the public, we recommend making it free software that + everyone can redistribute and change. You can do so by permitting + redistribution under these terms (or, alternatively, under the terms of the + ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is + safest to attach them to the start of each source file to most effectively + convey the exclusion of warranty; and each file should have at least the + "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + Also add information on how to contact you by electronic and paper mail. + + You should also get your employer (if you work as a programmer) or your + school, if any, to sign a "copyright disclaimer" for the library, if + necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + + That's all there is to it! + +Project-URL: Repository, https://github.com/aurora-multiphysics/icarus +Project-URL: Issue Tracker, https://github.com/aurora-multiphysics/icarus/issues +Classifier: Programming Language :: Python :: 3 +Classifier: License :: GNU LGPL +Classifier: Operating System :: OS Independent +Requires-Python: >=3.11 +Description-Content-Type: text/markdown +License-File: LICENSE +Requires-Dist: numpy>=1.26.0 + +Icarus +===== + +Fork "Icarus" to create a new MOOSE-based application. + +For more information see: [https://mooseframework.org/getting_started/new_users.html#create-an-app](https://mooseframework.org/getting_started/new_users.html#create-an-app) diff --git a/src/icarus/__init__.py b/src/icarus/__init__.py new file mode 100644 index 00000000..2f63d5db --- /dev/null +++ b/src/icarus/__init__.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +""" +Icarus +""" + +from icarus.moosesetup import MooseSetup +from icarus.datasetgenerator import DatasetGenerator +from icarus.modelbuilder import ModelBuilder +from icarus.userinterface import UserInterface + +__all__ = ["moosesetup", + "datasetgenerator", + "modelbuilder", + "userinterface"] \ No newline at end of file diff --git a/src/icarus/datasetgenerator.py b/src/icarus/datasetgenerator.py new file mode 100644 index 00000000..c68be707 --- /dev/null +++ b/src/icarus/datasetgenerator.py @@ -0,0 +1,184 @@ +import random +import math +from pathlib import Path +from icarus import MooseSetup +from mooseherder import (MooseHerd, + SweepReader) + +class DatasetGenerator: + def __init__(self, moose_runner, moose_modifier): + self.moose_runner = moose_runner + self.moose_modifier = moose_modifier + + def generate_ground_truths(self, moose_runner, moose_modifier, base_dir, num_ground_truths): + """generate_ground_truths: used to generate the ground truth by running the input file + with no modifications, and save the results to the required base_dir under the + sub_dir_name "ground_truth". Creates 1 ground_truth dataset for every 5 perturbed + datasets + + Parameters + ---------- + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables. + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. Specifies the comment + character. Variable definition blocks should begin #comment character#* and end + #comment character#**, e.g. #_* and #** for moose. + base_dir : Path + Contains the base directory to save ground_truth sub-directory for running the + simulations. + num_ground_truth : list[float] + Number of ground_truth datasets to generate. + """ + moose_vars = list([]) + dir_manager = MooseSetup.setup_directory_manager(base_dir, 'ground_truth', num_ground_truths) + for i in range(num_ground_truths): + moose_vars.append([{}]) + self.run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, num_ground_truths) + + + def generate_dataset(self, moose_runner, moose_modifier, base_dir, param_names, param_values): + """generate_dataset: used to generate the perturbed and validation datasets by running the + input file with modifications to specified parameter(s), and save the results to the + required base_dir under a sub_dir_named for the perturbed parameter. + + Parameters + ---------- + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables. + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. Specifies the comment + character. Variable definition blocks should begin #comment character#* and end + #comment character#**, e.g. #_* and #** for moose. + base_dir : Path + Contains the base directory to save perturbed_param sub-directory for running the + simulations. + param_names : list[string] + List of the names of the perturbed parameters. + param_values : list[float] + List of values for the currently selected parameter(s). + """ + moose_vars = list([]) + n_dirs = 1 + for i in range(len(param_names)): + n_dirs *= len(param_values[i]) + dir_manager = MooseSetup.setup_directory_manager(base_dir, str(param_names[0]), n_dirs) + for param in param_values[0]: + moose_vars.append([{str(param_names[0]): param}]) + self.run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_dirs) + + + def generate_validation_values(self, param_values, num_validation_values=2): + """generate_validation_values: used to generate a specified number of validation values + for the selected parameter, so that the model can be tested to see if it can correctly + determine when the parameter has been perturbed to a value that was not present in the + training dataset. + + Parameters + ---------- + param_values : list[float] + List of training values for the currently selected parameter(s). + num_validation_values : int, optional + Number of validation values to generate for each parameter, by default 2 + + Returns + ------- + validation_values : list[list[float]] + List containing a list(s) of validation values for each parameter, to be used to + determine the value of the InputModifier for that parameter for the run to be saved + under validation_datasets/param_name + """ + validation_values = [[]] + for i in range(num_validation_values): + distinct_val = False + while not distinct_val: + validation_value = random.uniform(min([val for sublist in param_values for val in sublist]), + max([val for sublist in param_values for val in sublist])) + if validation_value not in param_values and validation_value not in validation_values: + distinct_val = True + validation_values[0].append(validation_value) + + return validation_values + + + def generate_datasets(self, output_file_path, parameters, num_validation_values, moose_runner, moose_modifier): + """generate_datasets: used to generate the unlabelled ground truth, perturbed, and + validation datasets by running the required functions with the necessary parameter + names and values, and save paths. + + Parameters + ---------- + output_file_path : str + Contains the path to the folder where the datasets and model(s) will be stored. + parameters : dict{str : list[float]} + Contains the names of the parameters to be perturbed and the values they should take + for each run. + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables. + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. Specifies the comment + character. Variable definition blocks should begin #comment character#* and end + #comment character#**, e.g. #_* and #** for moose. + """ + param_names = [[key] for key in parameters.keys()] + param_values = [[value] for value in parameters.values()] + + perturbed_path, perturbed_vals = Path(str(output_file_path+"perturbed_datasets/")), None + validation_path, validation_vals = Path(str(output_file_path+"validation_datasets/")), None + paths = {perturbed_path : perturbed_vals, validation_path: validation_vals} + + for i in range(len(param_names)): + validation_values = self.generate_validation_values(param_values[i], num_validation_values[i]) + paths[perturbed_path] = param_values[i] + paths[validation_path] = validation_values + for path, values in paths.items(): + self.generate_dataset(moose_runner, moose_modifier, path, param_names[i], values) + + for path in paths.keys(): + num_datasets = sum(1 for d in path.iterdir() if d.is_dir()) + num_ground_truths = math.ceil(num_datasets/3) + self.generate_ground_truths(moose_runner, moose_modifier, path, num_ground_truths) + + + def run_herd(self, moose_runner, moose_modifier, dir_manager, moose_vars, n_para=1, keep_flag=False): + """run_herd: used to run parametric sweeps of simulation chains in + parallel with configurable parallelisation options. Takes a list of + SimRunner objects and a corresponding list of InputModifiers to insert the + variables into the input scripts for the SimRunners. Will first call all InputModifiers + in the specified order and then call run on all the SimRunners in order. Uses the + DirectoryManager class to log the directories in which each parallel worker is + creating input files and running simulations. Uses the SweepReader class to read the + output from one or more calls to mooseherd.run_para(). + Has configurable options for reading in the variable sweep in parallel. + + Parameters + ---------- + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables. + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. Specifies the comment + character. Variable definition blocks should begin #comment character#* and end + #comment character#**, e.g. #_* and #** for moose. + dir_manager : DirectoryManager + Used to control how many and which directories are used to run the simulations. + moose_vars : list[InputModifier] + Used to extract and modify the variables in the input file. + Specifies the comment character. Variable definition blocks should begin + #comment character#* and end #comment character#**, e.g. #_* and #** for + moose. + n_para : int, optional + Sets the number of simulation chains to run in parallel. , by default 1 + keep_flag : bool, optional + Flag used for allowing multiple calls to run to keep everything or to + overwrite each time, by default False - overwrite inputs and outputs with multiple calls + """ + + herd = MooseHerd([moose_runner], [moose_modifier], dir_manager) + herd.set_num_para_sims(n_para=n_para) + herd.set_keep_flag(keep_flag) + for _ in range(NUM_PARA_RUNS=2): + herd.run_para(moose_vars) + + sweep_reader = SweepReader(dir_manager, num_para_read=4) + sweep_reader.read_all_output_keys() + read_all = sweep_reader.read_results_para() \ No newline at end of file diff --git a/src/icarus/modelbuilder.py b/src/icarus/modelbuilder.py new file mode 100644 index 00000000..e22f7436 --- /dev/null +++ b/src/icarus/modelbuilder.py @@ -0,0 +1,114 @@ +import numpy as np +import pyvale +from sklearn.ensemble import RandomForestClassifier +from sklearn.metrics import accuracy_score +import joblib +from mooseherder import ExodusReader +from pathlib import Path +import shutil + +class ModelBuilder: + def __init__(self): + pass + + def generate_labelled_dataset(self, folder_path): + """generate_labelled_dataset: used to create a dataset by extracting values from the outputs + of each run, using ExodusReader class to read the data and PyVale to create an array + of sensors used to extract measurements of the required field at given points. + Assigns a label to each dataset depending on which (if any) parameter has been perturbed. + + Parameters + ---------- + folder_path : Path + Specifies the location of the unlabelled datasets from which the information for the + labelled dataset should be extracted. Should be the base directory - i.e. either + perturbed_datasets/ or validation_datasets/. + + Returns + ------- + labelled_dataset: np.array[np.array[list[float], int]] + 2D array containing the list of extracted measurements for each dataset and its + corresponding label. To be used to train/validate the model. + """ + sensx, sensy, sensz = 3, 2, 1 + labelled_dataset_cols = (sensx*sensy*sensz)+1 + labelled_dataset = np.empty((0, labelled_dataset_cols)) + + for file_path in folder_path.rglob('*.e'): + if "ground_truth" in str(file_path): + label = 0 + else: + label = 1 + + sim_data = ExodusReader(file_path).read_all_sim_data() + field_key = "temperature" + + sim_data.coords = sim_data.coords*1000.0 + + xmax = np.max(sim_data.coords[:, 0]) + ymax = np.max(sim_data.coords[:, 1]) + + n_sens = (sensx,sensy,sensz) + x_lims = (0.0,xmax) + y_lims = (0.0,ymax) + z_lims = (0.0,0.0) + sens_pos = pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) + sens_data = pyvale.SensorData(positions=sens_pos) + + tc_array = pyvale.SensorArrayFactory \ + .thermocouples_no_errs(sim_data, + sens_data, + field_key, + spat_dims=2) + + measurements = tc_array.get_measurements()[:, 0, 1] + + measurements = np.append(measurements, label) + labelled_dataset = np.vstack([labelled_dataset, measurements]) + + return labelled_dataset + + + def model(self, output_file_path): + """model: used to train the Random Forest model on the training datasets, use the model + to make predictions for the validation dataset, and verify the accuracy of the model. + Outputs the pertinent information to the user, and then allows them to decide whether + or not to save the model as a .pkl file. + + Parameters + ---------- + output_file_path : str + Contains the path to the folder where the datasets and model(s) will be stored. + """ + perturbed_path, validation_path = Path(output_file_path+"perturbed_datasets/"), Path(output_file_path+"validation_datasets/") + training_dataset = self.generate_labelled_dataset(perturbed_path) + validation_dataset = self.generate_labelled_dataset(validation_path) + + paths = {perturbed_path: training_dataset, validation_path: validation_dataset} + for path in paths: + for folder in path.iterdir(): + if folder.is_dir(): + shutil.rmtree(folder) + dataset = paths[path] + np.savetxt(path/"labelled_dataset.txt", dataset, fmt="%d", delimiter=",") + + X_train, y_train, X_val, y_val = training_dataset[:, :-1], training_dataset[:, -1], validation_dataset[:, :-1], validation_dataset[:, -1] + + rf_classifier = RandomForestClassifier(n_estimators=100, random_state=42) + rf_classifier.fit(X_train, y_train) + + y_pred = rf_classifier.predict(X_val) + + for i in range(len(X_val)): + print(f"Row {i + 1}: Actual Label = {y_val[i]}, Predicted Label = {y_pred[i]}") + + val_accuracy = accuracy_score(y_val, y_pred) + print(f"Random Forest Validation Accuracy: {val_accuracy * 100:.2f}%") + + save_model = input("Save model? (Y/N) ") + while save_model.lower() not in ["y", "n"]: + print("Invalid input") + save_model = input("Save model? (Y/N) ") + + if save_model.lower() == "y": + joblib.dump(rf_classifier, str(output_file_path)+'model.pkl') \ No newline at end of file diff --git a/src/icarus/moosesetup.py b/src/icarus/moosesetup.py new file mode 100644 index 00000000..f699cc7c --- /dev/null +++ b/src/icarus/moosesetup.py @@ -0,0 +1,69 @@ +from pathlib import Path +from mooseherder import (MooseRunner, + MooseConfig, + InputModifier, + DirectoryManager) + +class MooseSetup: + def __init__(self, input_file_path, output_file_path): + self.input_file_path = input_file_path + self.output_file_path = output_file_path + self.moose_runner, self.moose_modifier = self.setup_moose_runner(input_file_path) + + def setup_moose_runner(self, input_file_path): + """setup_moose_runner: Constructor for MOOSE runner taking a MooseConfig object + that contains the paths to the main MOOSE install, the MOOSE app and + the MOOSE app name. Sets parallelisation options to 1 task + and 2 threads. Sets environment variables required for MPI setup. + + Parameters + ---------- + input_file_path : str + Contains the path to the input file. + + Returns + ------- + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. + Specifies the comment character. Variable definition blocks should begin + #comment character#* and end #comment character#**, e.g. #_* and #** for + moose. + """ + moose_input = Path(str(input_file_path)) + moose_modifier = InputModifier(moose_input, '#', '') + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks=1, n_threads=2, redirect_out=False) + return moose_runner, moose_modifier + + + def setup_directory_manager(self, base_dir, sub_dir_name, n_dirs = 1): + """setup_directory_manager: sets up directory manager to manage directories for running + simulations in parallel with the mooseherd. Clears existing directories and creates + specified new ones with given names + + Parameters + ---------- + base_dir : Path + Sets the base directory to create sub-directories for running the simulations. + The base directory must exist. + sub_dir_name : str + String to be used at the start of the created sub-directores. + Default on creation is 'sim-workdir'. Populates the list of run directories using + the new sub directory name. + n_dirs : int, optional + Number of directories to be created., by default 1 + + Returns + ------- + dir_manager : DirectoryManager + Used to control how many and which directories are used to run the simulations. + """ + dir_manager = DirectoryManager(n_dirs=n_dirs) + dir_manager.set_base_dir(base_dir) + dir_manager.set_sub_dir_name(sub_dir_name) + dir_manager.clear_dirs() + dir_manager.create_dirs() + return dir_manager \ No newline at end of file diff --git a/src/icarus/userinterface.py b/src/icarus/userinterface.py new file mode 100644 index 00000000..751778e2 --- /dev/null +++ b/src/icarus/userinterface.py @@ -0,0 +1,214 @@ +from tkinter import Tk, Label, Entry, Button, Frame, Checkbutton, BooleanVar, StringVar +from pathlib import Path + +class UserInterface: + def __init__(self): + pass + + + def accept_file(self, default_input_path="", default_output_path=""): + """accept_file: used to allow user to input path to input file and input file name + via a tkinter user interface + + Returns + ------- + input_file_path : str + String containing the path to the input file inputted to the user interface. + output_file_path : str + String containing the path for outputs inputted to the user interface. + """ + + def submit_file(): + """submit_file: specifies what should happen when the submit button is pressed. + The values within the Entry boxes for input and output file paths should be + saved to their corresponding variables, and the tkinter window should close. + + Raises + ---------- + FileNotFoundError + If the file paths submitted aren't acceptable + """ + nonlocal input_file_path, output_file_path + + try: + input_file_path = str(input_file_path_entry.get()) + output_file_path = str(output_file_path_entry.get()) + + if not Path(input_file_path).exists() or not Path (output_file_path).exists(): + if input_file_path[-2:] != ".i": + raise FileNotFoundError(f"Specified input and/or output file path not found.") + + file_root.quit() + file_root.destroy() + except FileNotFoundError: + error_label.config(text="Specified input and/or output file path not found.", fg="red") + return + + input_file_path, output_file_path = None, None + + file_root = Tk() + + Label(file_root, text='Input file path:').grid(row=0) + Label(file_root, text='Output file path:').grid(row=1) + default_input_path = StringVar(value=default_input_path) + input_file_path_entry = Entry(file_root, textvariable=default_input_path, width=30) + input_file_path_entry.grid(row=0, column=1) + default_output_path = StringVar(value=default_output_path) + output_file_path_entry = Entry(file_root, textvariable=default_output_path, width=30) + output_file_path_entry.grid(row=1, column=1) + + submit_button = Button(file_root, text="Submit", command=submit_file) + submit_button.grid(row=2, column=0, columnspan=2, pady=10) + + error_label = Label(file_root, text="", fg="red") + error_label.grid(row=3, column=0, columnspan=2) + + file_root.mainloop() + + return input_file_path, output_file_path + + + def accept_parameters(self, parameters): + """accept_parameters: used to allow user to select which parameters to perturb, and the range, + interval of perturbation values, and number of validation values to be used for each parameter. + + Parameters + ---------- + parameters : dict{str : float} + Dictionary of parameter names and their corresponding values in the default input file. + Used to allow users to select which parameters to modify, and show them the default + values so they don't include them again. + + Returns + ---------- + parameters : dict{str : list[float]} + Dictionary of parameter names and their corresponding list of values for perturbation. + """ + + def submit_parameters(): + """submit_parameter: specifies what should happen when the submit button is pressed. + The values within the Entry boxes for min_val, max_val and interval for the selected + parameters should be saved to their corresponding variables to allow creation of + param_values list, and the tkinter window should close. + + Raises + ---------- + ValueError + If the range or interval specified are invalid + Value Error + If there are fewer than 2 values for perturbation + Value Error + If there are fewer than 2 values for validation + """ + nonlocal parameters, num_val_values + parameters = {} + num_val_values = [] + + for row in rows: + if row['checkbox_var'].get(): # Check if checkbox is ticked + param_name = row['param_name'] + try: + default_val = float(row['default_val']) + min_val = float(row['min_val'].get()) + max_val = float(row['max_val'].get()) + interval = float(row['interval'].get()) + num_validation_values = int(row['num_validation_values'].get()) + + if min_val >= max_val or interval <= 0: + raise ValueError("Invalid range or interval") + + param_values = [] + current_val = min_val + while current_val <= max_val: + if current_val != default_val: + param_values.append(current_val) + current_val += interval + + if len(param_values) < 2: + raise ValueError("Insufficient perturbation values") + + if num_validation_values < 2: + raise ValueError("Insufficient validation values") + + num_val_values.append(num_validation_values) + parameters[param_name] = param_values + + except ValueError as e: + error_label.config(text=f"Error: {str(e)}", fg="red") + return # Stop execution if an error occurs + + if len(parameters) == 0: + error_label.config(text="No parameters submitted", fg="red") + return + + param_root.destroy() + + param_root = Tk() + + table_frame = Frame(param_root) + table_frame.grid(row=2, column=0, columnspan=2, padx=10, pady=10) + + headers = ["Select", "Param Name", "Default Value", "Min Value", "Max Value", "Interval", "No. Validation Values"] + for col, header in enumerate(headers): + Label(table_frame, text=header).grid(row=0, column=col, padx=5, pady=5) + + params = [] + for parameter_name, parameter_value in parameters.items(): + try: + if float(parameter_value) <= 10: + x = parameter_value + elif float(parameter_value) > 10 and parameter_value < 100: + x = 10 + else: + x = parameter_value/2 + params.append({"param_name": parameter_name,"default_val": parameter_value,"min_val": parameter_value+x, + "max_val": parameter_value+5*x,"interval": x,"num_validation_values":3}) + except ValueError: + params.append({"param_name": parameter_name,"default_val": parameter_value,"min_val": "", + "max_val": "","interval": "","num_validation_values":""}) + + rows = [] + for i, param in enumerate(params): + row = {} + + row['checkbox_var'] = BooleanVar(value=False) + + checkbox = Checkbutton(table_frame, variable=row['checkbox_var']) + checkbox.grid(row=i+1, column=0, padx=5, pady=5) + + Label(table_frame, text=param['param_name']).grid(row=i+1, column=1, padx=5, pady=5) + row['param_name'] = param['param_name'] + + Label(table_frame, text=param['default_val']).grid(row=i+1, column=2, padx=5, pady=5) + row['default_val'] = param['default_val'] + + row['min_val'] = StringVar(value=param['min_val']) + min_val_entry = Entry(table_frame, textvariable=row['min_val'], width=10) + min_val_entry.grid(row=i+1, column=3, padx=5, pady=5) + + row['max_val'] = StringVar(value=param['max_val']) + max_val_entry = Entry(table_frame, textvariable=row['max_val'], width=10) + max_val_entry.grid(row=i+1, column=4, padx=5, pady=5) + + row['interval'] = StringVar(value=param['interval']) + interval_entry = Entry(table_frame, textvariable=row['interval'], width=10) + interval_entry.grid(row=i+1, column=5, padx=5, pady=5) + + row['num_validation_values'] = StringVar(value=param['num_validation_values']) + num_validation_values_entry = Entry(table_frame, textvariable=row['num_validation_values'], width=10) + num_validation_values_entry.grid(row=i+1, column=6, padx=5, pady=5) + + rows.append(row) + + parameters = None + num_val_values = None + + submit_button = Button(param_root, text="Submit", command=submit_parameters) + submit_button.grid(row=3, column=0, columnspan=2, pady=10) + + error_label = Label(param_root, text="", fg="red") + error_label.grid(row=4, column=0, columnspan=2) + + param_root.mainloop() + + return num_val_values, parameters \ No newline at end of file diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 00000000..e69de29b From 36b389e0d989ead0805c4ab4ff928d205cf7072e Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 11 Mar 2025 14:15:03 +0000 Subject: [PATCH 13/48] Added monoblock script to correct folder --- scripts/moose/monoblock_3d_thermal.i | 753 +++++++++++++++++++++++++++ 1 file changed, 753 insertions(+) create mode 100644 scripts/moose/monoblock_3d_thermal.i diff --git a/scripts/moose/monoblock_3d_thermal.i b/scripts/moose/monoblock_3d_thermal.i new file mode 100644 index 00000000..eedb1601 --- /dev/null +++ b/scripts/moose/monoblock_3d_thermal.i @@ -0,0 +1,753 @@ +#------------------------------------------------------------------------- +# monoblock_transient_thermal.i +# Author: Luke Humphrey, Lloyd Fletcher +# (c) Copyright UKAEA 2024. +# +#------------------------------------------------------------------------- +# DESCRIPTION +# +# Input file for a thermal simulation of a divertor monoblock. +# +# The monoblock is comprised of a copper-chromium-zirconium (CuCrZr) pipe +# surrounded by tungsten armour with an OFHC copper pipe interlayer in between. +# +# Temperature-variant material properties are implemented via linear +# interpolation from available data. Some of these material properties are not +# used for this thermal simulation, but are in place for a thermomechanical +# model including thermal expansion. +# +# Parameters describing the geometry are present at the top of the file above +# the MOOSE tree structure. These parameters can be modified to produce a +# monoblock design with the specified geometry. +# +# The mesh uses first order elements with a nominal mesh refinement of one +# division per millimetre. +# +# The incoming heat is modelled as a constant heat flux on the top surface of +# the block (i.e. the plasma-facing side). The outgoing heat is modelled as a +# convective heat flux on the internal surface of the copper pipe. Besides this +# heat flux, coolant flow is not modelled; the fluid region is treated as void. +# +# The boundary conditions are the incoming heat flux on the top surface, and +# the coolant temperature. The solve is steady state and outputs temperature. + +#------------------------------------------------------------------------- +# PARAMETER DEFINITIONS + +end_time = 30 +time_step = 0.5 + +#_* + +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Geometry +PI = 3.141592653589793 + +pipeThick = 0.0015 # m +pipeIntDiam = 0.012 # m +pipeExtDiam = ${fparse pipeIntDiam + 2*pipeThick} + +intLayerThick = 0.001 # m +intLayerIntDiam = ${pipeExtDiam} +intLayerExtDiam = ${fparse intLayerIntDiam + 2*intLayerThick} + +monoBThick = 0.003 # m +monoBWidth = ${fparse intLayerExtDiam + 2*monoBThick} +monoBArmHeight = 0.008 # m +monoBDepth = 0.012 # m + +pipeIntCirc = ${fparse PI * pipeIntDiam} + +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Mesh Sizing +meshRefFact = 1 +meshDens = 1000 # divisions per metre (nominal) + +# Mesh Order +secondOrder = false +orderString = FIRST + +# Note: some of the following values must be even integers. This is in some +# cases a requirement for the meshing functions used, else is is to ensure a +# division is present at the centreline, thus allowing zero-displacement +# boundary conditions to be applied to the centre nodes. These values are +# halved, rounded to int, then doubled to ensure the result is an even int. + +# Number of divisions along the top section of the monoblock armour. +monoBArmDivs = ${fparse int(monoBArmHeight * meshDens * meshRefFact)} + +# Number of divisions around each quadrant of the circumference of the pipe, +# interlayer, and radial section of the monoblock armour. +pipeCircSectDivs = ${fparse 2 * int(monoBWidth/2 * meshDens * meshRefFact / 2)} + +# Number of radial divisions for the pipe, interlayer, and radial section of +# the monoblock armour respectively. +pipeRadDivs = ${fparse max(int(pipeThick * meshDens * meshRefFact), 3)} +intLayerRadDivs = ${fparse max(int(intLayerThick * meshDens * meshRefFact), 5)} +monoBRadDivs = ${ + fparse max(int((monoBWidth-intLayerExtDiam)/2 * meshDens * meshRefFact), 5) +} + +# Number of divisions along monoblock depth (i.e. z-dimension). +extrudeDivs = ${fparse max(2 * int(monoBDepth * meshDens * meshRefFact / 2), 4)} + +monoBElemSize = ${fparse monoBDepth / extrudeDivs} +tol = ${fparse monoBElemSize / 10} +ctol = ${fparse pipeIntCirc / (8 * 4 * pipeCircSectDivs)} + +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Material Properties +# Mono-Block/Armour = Tungsten +# Interlayer = Oxygen-Free High-Conductivity (OFHC) Copper +# Cooling pipe = Copper Chromium Zirconium (CuCrZr) + +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Loads and BCs +stressFreeTemp = 20 # degC +coolantTemp = 500 # degC +surfHeatFlux = 100000000.0 # W/m^2 + +#** +#------------------------------------------------------------------------- + +[Mesh] + second_order = ${secondOrder} + + [mesh_monoblock] + type = PolygonConcentricCircleMeshGenerator + num_sides = 4 + polygon_size = ${fparse monoBWidth / 2} + polygon_size_style = apothem # i.e. distance from centre to edge + ring_radii = ' + ${fparse pipeIntDiam / 2} + ${fparse pipeExtDiam / 2} + ${fparse intLayerExtDiam / 2} + ' + num_sectors_per_side = ' + ${pipeCircSectDivs} + ${pipeCircSectDivs} + ${pipeCircSectDivs} + ${pipeCircSectDivs} + ' + ring_intervals = '1 ${pipeRadDivs} ${intLayerRadDivs}' + background_intervals = ${monoBRadDivs} + preserve_volumes = on + flat_side_up = true + ring_block_names = 'void pipe interlayer' + background_block_names = monoblock + interface_boundary_id_shift = 1000 + external_boundary_name = monoblock_boundary + generate_side_specific_boundaries = true + [] + + [mesh_armour] + type = GeneratedMeshGenerator + dim = 2 + xmin = ${fparse monoBWidth /-2} + xmax = ${fparse monoBWidth / 2} + ymin = ${fparse monoBWidth / 2} + ymax = ${fparse monoBWidth / 2 + monoBArmHeight} + nx = ${pipeCircSectDivs} + ny = ${monoBArmDivs} + boundary_name_prefix = armour + [] + + [combine_meshes] + type = StitchedMeshGenerator + inputs = 'mesh_monoblock mesh_armour' + stitch_boundaries_pairs = 'monoblock_boundary armour_bottom' + clear_stitched_boundary_ids = true + [] + + [delete_void] + type = BlockDeletionGenerator + input = combine_meshes + block = void + new_boundary = internal_boundary + [] + + [merge_block_names] + type = RenameBlockGenerator + input = delete_void + old_block = '4 0' + new_block = 'armour armour' + [] + + [merge_boundary_names] + type = RenameBoundaryGenerator + input = merge_block_names + old_boundary = 'armour_top + armour_left 10002 15002 + armour_right 10004 15004 + 10003 15003' + new_boundary = 'top + left left left + right right right + bottom bottom' + [] + + [extrude] + type = AdvancedExtruderGenerator + input = merge_boundary_names + direction = '0 0 1' + heights = ${monoBDepth} + num_layers = ${extrudeDivs} + [] + + [name_node_centre_x_bottom_y_back_z] + type = BoundingBoxNodeSetGenerator + input = extrude + bottom_left = '${fparse -ctol} + ${fparse (monoBWidth/-2)-ctol} + ${fparse -tol}' + top_right = '${fparse ctol} + ${fparse (monoBWidth/-2)+ctol} + ${fparse tol}' + new_boundary = centre_x_bottom_y_back_z + [] + [name_node_centre_x_bottom_y_front_z] + type = BoundingBoxNodeSetGenerator + input = name_node_centre_x_bottom_y_back_z + bottom_left = '${fparse -ctol} + ${fparse (monoBWidth/-2)-ctol} + ${fparse monoBDepth-tol}' + top_right = '${fparse ctol} + ${fparse (monoBWidth/-2)+ctol} + ${fparse monoBDepth+tol}' + new_boundary = centre_x_bottom_y_front_z + [] + [name_node_left_x_bottom_y_centre_z] + type = BoundingBoxNodeSetGenerator + input = name_node_centre_x_bottom_y_front_z + bottom_left = '${fparse (monoBWidth/-2)-ctol} + ${fparse (monoBWidth/-2)-ctol} + ${fparse (monoBDepth/2)-tol}' + top_right = '${fparse (monoBWidth/-2)+ctol} + ${fparse (monoBWidth/-2)+ctol} + ${fparse (monoBDepth/2)+tol}' + new_boundary = left_x_bottom_y_centre_z + [] + [name_node_right_x_bottom_y_centre_z] + type = BoundingBoxNodeSetGenerator + input = name_node_left_x_bottom_y_centre_z + bottom_left = '${fparse (monoBWidth/2)-ctol} + ${fparse (monoBWidth/-2)-ctol} + ${fparse (monoBDepth/2)-tol}' + top_right = '${fparse (monoBWidth/2)+ctol} + ${fparse (monoBWidth/-2)+ctol} + ${fparse (monoBDepth/2)+tol}' + new_boundary = right_x_bottom_y_centre_z + [] +[] + +[Variables] + [temperature] + family = LAGRANGE + order = ${orderString} + initial_condition = ${coolantTemp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] +[] + +[Functions] + [cucrzr_thermal_expansion] + type = PiecewiseLinear + xy_data = ' + 20 1.67e-05 + 50 1.7e-05 + 100 1.73e-05 + 150 1.75e-05 + 200 1.77e-05 + 250 1.78e-05 + 300 1.8e-05 + 350 1.8e-05 + 400 1.81e-05 + 450 1.82e-05 + 500 1.84e-05 + 550 1.85e-05 + 600 1.86e-05 + ' + [] + [copper_thermal_expansion] + type = PiecewiseLinear + xy_data = ' + 20 1.67e-05 + 50 1.7e-05 + 100 1.72e-05 + 150 1.75e-05 + 200 1.77e-05 + 250 1.78e-05 + 300 1.8e-05 + 350 1.81e-05 + 400 1.82e-05 + 450 1.84e-05 + 500 1.85e-05 + 550 1.87e-05 + 600 1.88e-05 + 650 1.9e-05 + 700 1.91e-05 + 750 1.93e-05 + 800 1.96e-05 + 850 1.98e-05 + 900 2.01e-05 + ' + [] + [tungsten_thermal_expansion] + type = PiecewiseLinear + xy_data = ' + 20 4.5e-06 + 100 4.5e-06 + 200 4.53e-06 + 300 4.58e-06 + 400 4.63e-06 + 500 4.68e-06 + 600 4.72e-06 + 700 4.76e-06 + 800 4.81e-06 + 900 4.85e-06 + 1000 4.89e-06 + 1200 4.98e-06 + 1400 5.08e-06 + 1600 5.18e-06 + 1800 5.3e-06 + 2000 5.43e-06 + 2200 5.57e-06 + 2400 5.74e-06 + 2600 5.93e-06 + 2800 6.15e-06 + 3000 6.4e-06 + 3200 6.67e-06 + ' + [] +[] + +[Materials] + [cucrzr_thermal_conductivity] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 318 + 50 324 + 100 333 + 150 339 + 200 343 + 250 345 + 300 346 + 350 347 + 400 347 + 450 346 + 500 346 + ' + variable = temperature + property = thermal_conductivity + block = 'pipe' + [] + [copper_thermal_conductivity] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 401 + 50 398 + 100 395 + 150 391 + 200 388 + 250 384 + 300 381 + 350 378 + 400 374 + 450 371 + 500 367 + 550 364 + 600 360 + 650 357 + 700 354 + 750 350 + 800 347 + 850 344 + 900 340 + 950 337 + 1000 334 + ' + variable = temperature + property = thermal_conductivity + block = 'interlayer' + [] + [tungsten_thermal_conductivity] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 173 + 50 170 + 100 165 + 150 160 + 200 156 + 250 151 + 300 147 + 350 143 + 400 140 + 450 136 + 500 133 + 550 130 + 600 127 + 650 125 + 700 122 + 750 120 + 800 118 + 850 116 + 900 114 + 950 112 + 1000 110 + 1100 108 + 1200 105 + ' + variable = temperature + property = thermal_conductivity + block = 'armour' + [] + + [cucrzr_density] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 8900 + 50 8886 + 100 8863 + 150 8840 + 200 8816 + 250 8791 + 300 8797 + 350 8742 + 400 8716 + 450 8691 + 500 8665 + ' + variable = temperature + property = density + block = 'pipe' + [] + [copper_density] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 8940 + 50 8926 + 100 8903 + 150 8879 + 200 8854 + 250 8829 + 300 8802 + 350 8774 + 400 8744 + 450 8713 + 500 8681 + 550 8647 + 600 8612 + 650 8575 + 700 8536 + 750 8495 + 800 8453 + 850 8409 + 900 8363 + ' + variable = temperature + property = density + block = 'interlayer' + [] + [tungsten_density] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 19300 + 50 19290 + 100 19280 + 150 19270 + 200 19250 + 250 19240 + 300 19230 + 350 19220 + 400 19200 + 450 19190 + 500 19180 + 550 19170 + 600 19150 + 650 19140 + 700 19130 + 750 19110 + 800 19100 + 850 19080 + 900 19070 + 950 19060 + 1000 19040 + 1100 19010 + 1200 18990 + ' + variable = temperature + property = density + block = 'armour' + [] + + [cucrzr_elastic_modulus] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 128000000000.0 + 50 127000000000.0 + 100 127000000000.0 + 150 125000000000.0 + 200 123000000000.0 + 250 121000000000.0 + 300 118000000000.0 + 350 116000000000.0 + 400 113000000000.0 + 450 110000000000.0 + 500 106000000000.0 + 550 100000000000.0 + 600 95000000000.0 + 650 90000000000.0 + 700 86000000000.0 + ' + variable = temperature + property = elastic_modulus + block = 'pipe' + [] + [copper_elastic_modulus] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 117000000000.0 + 50 116000000000.0 + 100 114000000000.0 + 150 112000000000.0 + 200 110000000000.0 + 250 108000000000.0 + 300 105000000000.0 + 350 102000000000.0 + 400 98000000000.0 + ' + variable = temperature + property = elastic_modulus + block = 'interlayer' + [] + [tungsten_elastic_modulus] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 398000000000.0 + 50 398000000000.0 + 100 397000000000.0 + 150 397000000000.0 + 200 396000000000.0 + 250 396000000000.0 + 300 395000000000.0 + 350 394000000000.0 + 400 393000000000.0 + 450 391000000000.0 + 500 390000000000.0 + 550 388000000000.0 + 600 387000000000.0 + 650 385000000000.0 + 700 383000000000.0 + 750 381000000000.0 + 800 379000000000.0 + 850 376000000000.0 + 900 374000000000.0 + 950 371000000000.0 + 1000 368000000000.0 + 1100 362000000000.0 + 1200 356000000000.0 + ' + variable = temperature + property = elastic_modulus + block = 'armour' + [] + + [cucrzr_specific_heat] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 390 + 50 393 + 100 398 + 150 402 + 200 407 + 250 412 + 300 417 + 350 422 + 400 427 + 450 432 + 500 437 + 550 442 + 600 447 + 650 452 + 700 458 + ' + variable = temperature + property = specific_heat + block = 'pipe' + [] + [copper_specific_heat] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 388 + 50 390 + 100 394 + 150 398 + 200 401 + 250 406 + 300 410 + 350 415 + 400 419 + 450 424 + 500 430 + 550 435 + 600 441 + 650 447 + 700 453 + 750 459 + 800 466 + 850 472 + 900 479 + 950 487 + 1000 494 + ' + variable = temperature + property = specific_heat + block = 'interlayer' + [] + [tungsten_specific_heat] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 129 + 50 130 + 100 132 + 150 133 + 200 135 + 250 136 + 300 138 + 350 139 + 400 141 + 450 142 + 500 144 + 550 145 + 600 147 + 650 148 + 700 150 + 750 151 + 800 152 + 850 154 + 900 155 + 950 156 + 1000 158 + 1100 160 + 1200 163 + ' + variable = temperature + property = specific_heat + block = 'armour' + [] + + [cucrzr_elasticity] + type = ComputeVariableIsotropicElasticityTensor + args = temperature + youngs_modulus = elastic_modulus + poissons_ratio = 0.33 + block = 'pipe' + [] + [copper_elasticity] + type = ComputeVariableIsotropicElasticityTensor + args = temperature + youngs_modulus = elastic_modulus + poissons_ratio = 0.33 + block = 'interlayer' + [] + [tungsten_elasticity] + type = ComputeVariableIsotropicElasticityTensor + args = temperature + youngs_modulus = elastic_modulus + poissons_ratio = 0.29 + block = 'armour' + [] + + [cucrzr_expansion] + type = ComputeInstantaneousThermalExpansionFunctionEigenstrain + temperature = temperature + stress_free_temperature = ${stressFreeTemp} + thermal_expansion_function = cucrzr_thermal_expansion + eigenstrain_name = thermal_expansion_eigenstrain + block = 'pipe' + [] + [copper_expansion] + type = ComputeInstantaneousThermalExpansionFunctionEigenstrain + temperature = temperature + stress_free_temperature = ${stressFreeTemp} + thermal_expansion_function = copper_thermal_expansion + eigenstrain_name = thermal_expansion_eigenstrain + block = 'interlayer' + [] + [tungsten_expansion] + type = ComputeInstantaneousThermalExpansionFunctionEigenstrain + temperature = temperature + stress_free_temperature = ${stressFreeTemp} + thermal_expansion_function = tungsten_thermal_expansion + eigenstrain_name = thermal_expansion_eigenstrain + block = 'armour' + [] + + [coolant_heat_transfer_coefficient] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 1 4 + 100 109.1e3 + 150 115.9e3 + 200 121.01e3 + 250 128.8e3 + 295 208.2e3 + ' + variable = temperature + property = heat_transfer_coefficient + boundary = 'internal_boundary' + [] +[] + +[BCs] + [heat_flux_in] + type = FunctionNeumannBC + variable = temperature + boundary = 'top' + function = '${fparse surfHeatFlux}*(1-exp(-t))' + [] + [heat_flux_out] + type = ConvectiveHeatFluxBC + variable = temperature + boundary = 'internal_boundary' + T_infinity = ${coolantTemp} + heat_transfer_coefficient = heat_transfer_coefficient + [] +[] + +[Preconditioning] + [smp] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = ${end_time} + dt = ${time_step} +[] + +[Postprocessors] + [max_temp] + type = ElementExtremeValue + variable = temperature + [] +[] + +[Outputs] + exodus = true +[] From 4ff767b067b1d9d7c757958f0b2a42c83621b8d3 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 11 Mar 2025 14:16:47 +0000 Subject: [PATCH 14/48] Renamed example files --- examples/ex1_2d_binary.py | 583 +-------------------------- examples/ex1_2d_binary_class.py | 55 --- examples/ex1_2d_binary_no_class.py | 616 +++++++++++++++++++++++++++++ 3 files changed, 627 insertions(+), 627 deletions(-) delete mode 100644 examples/ex1_2d_binary_class.py create mode 100644 examples/ex1_2d_binary_no_class.py diff --git a/examples/ex1_2d_binary.py b/examples/ex1_2d_binary.py index 17c024e7..a4388596 100644 --- a/examples/ex1_2d_binary.py +++ b/examples/ex1_2d_binary.py @@ -1,568 +1,7 @@ -from pathlib import Path -import random -import math -import numpy as np -import pyvale -from sklearn.ensemble import RandomForestClassifier -from sklearn.metrics import accuracy_score -from tkinter import * -import joblib -import shutil -from mooseherder import (MooseHerd, - MooseRunner, - MooseConfig, - InputModifier, - DirectoryManager, - SweepReader, - ExodusReader) - - -NUM_PARA_RUNS = 2 -USER_DIR = Path.home() - - -def setup_moose_runner(input_file_path): - """setup_moose_runner: Constructor for MOOSE runner taking a MooseConfig object - that contains the paths to the main MOOSE install, the MOOSE app and - the MOOSE app name. Sets parallelisation options to 1 task - and 2 threads. Sets environment variables required for MPI setup. - - Parameters - ---------- - input_file_path : str - Contains the path to the input file. - - Returns - ------- - moose_runner : MooseRunner - Constructed MOOSE runner used to run the input file with modified variables - moose_modifier : InputModifier - Used to extract and modify the variables in the input file. - Specifies the comment character. Variable definition blocks should begin - #comment character#* and end #comment character#**, e.g. #_* and #** for - moose. - """ - moose_input = Path(str(input_file_path)) - moose_modifier = InputModifier(moose_input, '#', '') - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks=1, n_threads=2, redirect_out=False) - return moose_runner, moose_modifier - - -def setup_directory_manager(base_dir, sub_dir_name, n_dirs = 1): - """setup_directory_manager: sets up directory manager to manage directories for running - simulations in parallel with the mooseherd. Clears existing directories and creates - specified new ones with given names - - Parameters - ---------- - base_dir : Path - Sets the base directory to create sub-directories for running the simulations. - The base directory must exist. - sub_dir_name : str - String to be used at the start of the created sub-directores. - Default on creation is 'sim-workdir'. Populates the list of run directories using - the new sub directory name. - n_dirs : int, optional - Number of directories to be created., by default 1 - - Returns - ------- - dir_manager : DirectoryManager - Used to control how many and which directories are used to run the simulations. - """ - dir_manager = DirectoryManager(n_dirs=n_dirs) - dir_manager.set_base_dir(base_dir) - dir_manager.set_sub_dir_name(sub_dir_name) - dir_manager.clear_dirs() - dir_manager.create_dirs() - return dir_manager - - -def run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_para=1, keep_flag=False): - """run_herd: used to run parametric sweeps of simulation chains in - parallel with configurable parallelisation options. Takes a list of - SimRunner objects and a corresponding list of InputModifiers to insert the - variables into the input scripts for the SimRunners. Will first call all InputModifiers - in the specified order and then call run on all the SimRunners in order. Uses the - DirectoryManager class to log the directories in which each parallel worker is - creating input files and running simulations. Uses the SweepReader class to read the - output from one or more calls to mooseherd.run_para(). - Has configurable options for reading in the variable sweep in parallel. - - Parameters - ---------- - moose_runner : MooseRunner - Constructed MOOSE runner used to run the input file with modified variables. - moose_modifier : InputModifier - Used to extract and modify the variables in the input file. Specifies the comment - character. Variable definition blocks should begin #comment character#* and end - #comment character#**, e.g. #_* and #** for moose. - dir_manager : DirectoryManager - Used to control how many and which directories are used to run the simulations. - moose_vars : list[InputModifier] - Used to extract and modify the variables in the input file. - Specifies the comment character. Variable definition blocks should begin - #comment character#* and end #comment character#**, e.g. #_* and #** for - moose. - n_para : int, optional - Sets the number of simulation chains to run in parallel. , by default 1 - keep_flag : bool, optional - Flag used for allowing multiple calls to run to keep everything or to - overwrite each time, by default False - overwrite inputs and outputs with multiple calls - """ - - herd = MooseHerd([moose_runner], [moose_modifier], dir_manager) - herd.set_num_para_sims(n_para=n_para) - herd.set_keep_flag(keep_flag) - for _ in range(NUM_PARA_RUNS): - herd.run_para(moose_vars) - - sweep_reader = SweepReader(dir_manager, num_para_read=4) - sweep_reader.read_all_output_keys() - read_all = sweep_reader.read_results_para() - - -def generate_ground_truths(moose_runner, moose_modifier, base_dir, num_ground_truths): - """generate_ground_truths: used to generate the ground truth by running the input file - with no modifications, and save the results to the required base_dir under the - sub_dir_name "ground_truth". Creates 1 ground_truth dataset for every 5 perturbed - datasets - - Parameters - ---------- - moose_runner : MooseRunner - Constructed MOOSE runner used to run the input file with modified variables. - moose_modifier : InputModifier - Used to extract and modify the variables in the input file. Specifies the comment - character. Variable definition blocks should begin #comment character#* and end - #comment character#**, e.g. #_* and #** for moose. - base_dir : Path - Contains the base directory to save ground_truth sub-directory for running the - simulations. - num_ground_truth : list[float] - Number of ground_truth datasets to generate. - """ - moose_vars = list([]) - dir_manager = setup_directory_manager(base_dir, 'ground_truth', num_ground_truths) - for i in range(num_ground_truths): - moose_vars.append([{}]) - run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, num_ground_truths) - - -def generate_dataset(moose_runner, moose_modifier, base_dir, param_names, param_values): - """generate_dataset: used to generate the perturbed and validation datasets by running the - input file with modifications to specified parameter(s), and save the results to the - required base_dir under a sub_dir_named for the perturbed parameter. - - Parameters - ---------- - moose_runner : MooseRunner - Constructed MOOSE runner used to run the input file with modified variables. - moose_modifier : InputModifier - Used to extract and modify the variables in the input file. Specifies the comment - character. Variable definition blocks should begin #comment character#* and end - #comment character#**, e.g. #_* and #** for moose. - base_dir : Path - Contains the base directory to save perturbed_param sub-directory for running the - simulations. - param_names : list[string] - List of the names of the perturbed parameters. - param_values : list[float] - List of values for the currently selected parameter(s). - """ - moose_vars = list([]) - n_dirs = 1 - for i in range(len(param_names)): - n_dirs *= len(param_values[i]) - dir_manager = setup_directory_manager(base_dir, str(param_names[0]), n_dirs) - for param in param_values[0]: - moose_vars.append([{str(param_names[0]): param}]) - run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_dirs) - - -def generate_validation_values(param_values, num_validation_values=2): - """generate_validation_values: used to generate a specified number of validation values - for the selected parameter, so that the model can be tested to see if it can correctly - determine when the parameter has been perturbed to a value that was not present in the - training dataset. - - Parameters - ---------- - param_values : list[float] - List of training values for the currently selected parameter(s). - num_validation_values : int, optional - Number of validation values to generate for each parameter, by default 2 - - Returns - ------- - validation_values : list[list[float]] - List containing a list(s) of validation values for each parameter, to be used to - determine the value of the InputModifier for that parameter for the run to be saved - under validation_datasets/param_name - """ - validation_values = [[]] - for i in range(num_validation_values): - distinct_val = False - while not distinct_val: - validation_value = random.uniform(min([val for sublist in param_values for val in sublist]), - max([val for sublist in param_values for val in sublist])) - if validation_value not in param_values and validation_value not in validation_values: - distinct_val = True - validation_values[0].append(validation_value) - - return validation_values - - -def generate_datasets(output_file_path, parameters, num_validation_values, moose_runner, moose_modifier): - """generate_datasets: used to generate the unlabelled ground truth, perturbed, and - validation datasets by running the required functions with the necessary parameter - names and values, and save paths. - - Parameters - ---------- - output_file_path : str - Contains the path to the folder where the datasets and model(s) will be stored. - parameters : dict{str : list[float]} - Contains the names of the parameters to be perturbed and the values they should take - for each run. - moose_runner : MooseRunner - Constructed MOOSE runner used to run the input file with modified variables. - moose_modifier : InputModifier - Used to extract and modify the variables in the input file. Specifies the comment - character. Variable definition blocks should begin #comment character#* and end - #comment character#**, e.g. #_* and #** for moose. - """ - param_names = [[key] for key in parameters.keys()] - param_values = [[value] for value in parameters.values()] - - perturbed_path, perturbed_vals = Path(str(output_file_path+"perturbed_datasets/")), None - validation_path, validation_vals = Path(str(output_file_path+"validation_datasets/")), None - paths = {perturbed_path : perturbed_vals, validation_path: validation_vals} - - for i in range(len(param_names)): - validation_values = generate_validation_values(param_values[i], num_validation_values[i]) - paths[perturbed_path] = param_values[i] - paths[validation_path] = validation_values - for path, values in paths.items(): - generate_dataset(moose_runner, moose_modifier, path, param_names[i], values) - - for path in paths.keys(): - num_datasets = sum(1 for d in path.iterdir() if d.is_dir()) - num_ground_truths = math.ceil(num_datasets/3) - generate_ground_truths(moose_runner, moose_modifier, path, num_ground_truths) - -def accept_file(): - """accept_file: used to allow user to input path to input file and input file name - via a tkinter user interface - - Returns - ------- - input_file_path : str - String containing the path to the input file inputted to the user interface. - output_file_path : str - String containing the path for outputs inputted to the user interface. - """ - - def submit_file(): - """submit_file: specifies what should happen when the submit button is pressed. - The values within the Entry boxes for input and output file paths should be - saved to their corresponding variables, and the tkinter window should close. - - Raises - ---------- - FileNotFoundError - If the file paths submitted aren't acceptable - """ - nonlocal input_file_path, output_file_path - - try: - input_file_path = str(input_file_path_entry.get()) - output_file_path = str(output_file_path_entry.get()) - - if not Path(input_file_path).exists() or not Path (output_file_path).exists(): - if input_file_path[-2:] != ".i": - raise FileNotFoundError(f"Specified input and/or output file path not found.") - - file_root.quit() - file_root.destroy() - except FileNotFoundError: - error_label.config(text="Specified input and/or output file path not found.", fg="red") - return - - input_file_path, output_file_path = None, None - - file_root = Tk() - - Label(file_root, text='Input file path:').grid(row=0) - Label(file_root, text='Output file path:').grid(row=1) - default_input_path = StringVar(value="scripts/moose/plate_2d_thermal.i") - input_file_path_entry = Entry(file_root, textvariable=default_input_path, width=30) - input_file_path_entry.grid(row=0, column=1) - default_output_path = StringVar(value="examples/example_outputs/ex1_outputs/") - output_file_path_entry = Entry(file_root, textvariable=default_output_path, width=30) - output_file_path_entry.grid(row=1, column=1) - - submit_button = Button(file_root, text="Submit", command=submit_file) - submit_button.grid(row=2, column=0, columnspan=2, pady=10) - - error_label = Label(file_root, text="", fg="red") - error_label.grid(row=3, column=0, columnspan=2) - - file_root.mainloop() - - return input_file_path, output_file_path - - -def accept_parameters(parameters): - """accept_parameters: used to allow user to select which parameters to perturb, and the range, - interval of perturbation values, and number of validation values to be used for each parameter. - - Parameters - ---------- - parameters : dict{str : float} - Dictionary of parameter names and their corresponding values in the default input file. - Used to allow users to select which parameters to modify, and show them the default - values so they don't include them again. - - Returns - ---------- - parameters : dict{str : list[float]} - Dictionary of parameter names and their corresponding list of values for perturbation. - """ - - def submit_parameters(): - """submit_parameter: specifies what should happen when the submit button is pressed. - The values within the Entry boxes for min_val, max_val and interval for the selected - parameters should be saved to their corresponding variables to allow creation of - param_values list, and the tkinter window should close. - - Raises - ---------- - ValueError - If the range or interval specified are invalid - Value Error - If there are fewer than 2 values for perturbation - Value Error - If there are fewer than 2 values for validation - """ - nonlocal parameters, num_val_values - parameters = {} - num_val_values = [] - - for row in rows: - if row['checkbox_var'].get(): # Check if checkbox is ticked - param_name = row['param_name'] - try: - default_val = float(row['default_val']) - min_val = float(row['min_val'].get()) - max_val = float(row['max_val'].get()) - interval = float(row['interval'].get()) - num_validation_values = int(row['num_validation_values'].get()) - - if min_val >= max_val or interval <= 0: - raise ValueError("Invalid range or interval") - - param_values = [] - current_val = min_val - while current_val <= max_val: - if current_val != default_val: - param_values.append(current_val) - current_val += interval - - if len(param_values) < 2: - raise ValueError("Insufficient perturbation values") - - if num_validation_values < 2: - raise ValueError("Insufficient validation values") - - num_val_values.append(num_validation_values) - parameters[param_name] = param_values - - except ValueError as e: - error_label.config(text=f"Error: {str(e)}", fg="red") - return # Stop execution if an error occurs - - if len(parameters) == 0: - error_label.config(text="No parameters submitted", fg="red") - return - - param_root.destroy() - - param_root = Tk() - - table_frame = Frame(param_root) - table_frame.grid(row=2, column=0, columnspan=2, padx=10, pady=10) - - headers = ["Select", "Param Name", "Default Value", "Min Value", "Max Value", "Interval", "No. Validation Values"] - for col, header in enumerate(headers): - Label(table_frame, text=header).grid(row=0, column=col, padx=5, pady=5) - - params = [] - for parameter_name, parameter_value in parameters.items(): - try: - if float(parameter_value) <= 10: - x = parameter_value - elif float(parameter_value) > 10 and parameter_value < 100: - x = 10 - else: - x = parameter_value/2 - params.append({"param_name": parameter_name,"default_val": parameter_value,"min_val": parameter_value+x, - "max_val": parameter_value+5*x,"interval": x,"num_validation_values":3}) - except ValueError: - params.append({"param_name": parameter_name,"default_val": parameter_value,"min_val": "", - "max_val": "","interval": "","num_validation_values":""}) - - rows = [] - for i, param in enumerate(params): - row = {} - - row['checkbox_var'] = BooleanVar(value=False) - - checkbox = Checkbutton(table_frame, variable=row['checkbox_var']) - checkbox.grid(row=i+1, column=0, padx=5, pady=5) - - Label(table_frame, text=param['param_name']).grid(row=i+1, column=1, padx=5, pady=5) - row['param_name'] = param['param_name'] - - Label(table_frame, text=param['default_val']).grid(row=i+1, column=2, padx=5, pady=5) - row['default_val'] = param['default_val'] - - row['min_val'] = StringVar(value=param['min_val']) - min_val_entry = Entry(table_frame, textvariable=row['min_val'], width=10) - min_val_entry.grid(row=i+1, column=3, padx=5, pady=5) - - row['max_val'] = StringVar(value=param['max_val']) - max_val_entry = Entry(table_frame, textvariable=row['max_val'], width=10) - max_val_entry.grid(row=i+1, column=4, padx=5, pady=5) - - row['interval'] = StringVar(value=param['interval']) - interval_entry = Entry(table_frame, textvariable=row['interval'], width=10) - interval_entry.grid(row=i+1, column=5, padx=5, pady=5) - - row['num_validation_values'] = StringVar(value=param['num_validation_values']) - num_validation_values_entry = Entry(table_frame, textvariable=row['num_validation_values'], width=10) - num_validation_values_entry.grid(row=i+1, column=6, padx=5, pady=5) - - rows.append(row) - - parameters = None - num_val_values = None - - submit_button = Button(param_root, text="Submit", command=submit_parameters) - submit_button.grid(row=3, column=0, columnspan=2, pady=10) - - error_label = Label(param_root, text="", fg="red") - error_label.grid(row=4, column=0, columnspan=2) - - param_root.mainloop() - - return num_val_values, parameters - - -def generate_labelled_dataset(folder_path): - """generate_labelled_dataset: used to create a dataset by extracting values from the outputs - of each run, using ExodusReader class to read the data and PyVale to create an array - of sensors used to extract measurements of the required field at given points. - Assigns a label to each dataset depending on which (if any) parameter has been perturbed. - - Parameters - ---------- - folder_path : Path - Specifies the location of the unlabelled datasets from which the information for the - labelled dataset should be extracted. Should be the base directory - i.e. either - perturbed_datasets/ or validation_datasets/. - - Returns - ------- - labelled_dataset: np.array[np.array[list[float], int]] - 2D array containing the list of extracted measurements for each dataset and its - corresponding label. To be used to train/validate the model. - """ - sensx, sensy, sensz = 3, 2, 1 - labelled_dataset_cols = (sensx*sensy*sensz)+1 - labelled_dataset = np.empty((0, labelled_dataset_cols)) - - for file_path in folder_path.rglob('*.e'): - if "ground_truth" in str(file_path): - label = 0 - else: - label = 1 - - sim_data = ExodusReader(file_path).read_all_sim_data() - field_key = "temperature" - - sim_data.coords = sim_data.coords*1000.0 - - xmax = np.max(sim_data.coords[:, 0]) - ymax = np.max(sim_data.coords[:, 1]) - - n_sens = (sensx,sensy,sensz) - x_lims = (0.0,xmax) - y_lims = (0.0,ymax) - z_lims = (0.0,0.0) - sens_pos = pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) - sens_data = pyvale.SensorData(positions=sens_pos) - - tc_array = pyvale.SensorArrayFactory \ - .thermocouples_no_errs(sim_data, - sens_data, - field_key, - spat_dims=2) - - measurements = tc_array.get_measurements()[:, 0, 1] - - measurements = np.append(measurements, label) - labelled_dataset = np.vstack([labelled_dataset, measurements]) - - return labelled_dataset - - -def model(output_file_path): - """model: used to train the Random Forest model on the training datasets, use the model - to make predictions for the validation dataset, and verify the accuracy of the model. - Outputs the pertinent information to the user, and then allows them to decide whether - or not to save the model as a .pkl file. - - Parameters - ---------- - output_file_path : str - Contains the path to the folder where the datasets and model(s) will be stored. - """ - perturbed_path, validation_path = Path(output_file_path+"perturbed_datasets/"), Path(output_file_path+"validation_datasets/") - training_dataset = generate_labelled_dataset(perturbed_path) - validation_dataset = generate_labelled_dataset(validation_path) - - paths = {perturbed_path: training_dataset, validation_path: validation_dataset} - for path in paths: - for folder in path.iterdir(): - if folder.is_dir(): - shutil.rmtree(folder) - dataset = paths[path] - np.savetxt(path/"labelled_dataset.txt", dataset, fmt="%d", delimiter=",") - - X_train, y_train, X_val, y_val = training_dataset[:, :-1], training_dataset[:, -1], validation_dataset[:, :-1], validation_dataset[:, -1] - - rf_classifier = RandomForestClassifier(n_estimators=100, random_state=42) - rf_classifier.fit(X_train, y_train) - - y_pred = rf_classifier.predict(X_val) - - for i in range(len(X_val)): - print(f"Row {i + 1}: Actual Label = {y_val[i]}, Predicted Label = {y_pred[i]}") - - val_accuracy = accuracy_score(y_val, y_pred) - print(f"Random Forest Validation Accuracy: {val_accuracy * 100:.2f}%") - - save_model = input("Save model? (Y/N) ") - while save_model.lower() not in ["y", "n"]: - print("Invalid input") - save_model = input("Save model? (Y/N) ") - - if save_model.lower() == "y": - joblib.dump(rf_classifier, str(output_file_path)+'model.pkl') - +from icarus import (DatasetGenerator, + ModelBuilder, + MooseSetup, + UserInterface) def main(): """main: runs all of the other functions. @@ -576,25 +15,26 @@ def main(): ValueError If the parameter submission window is closed (instead of submitting parameter data) """ - input_file_path, output_file_path = accept_file() + input_file_path, output_file_path = UserInterface.accept_file("scripts/moose/plate_2d_thermal.i", + "examples/example_outputs/ex1_outputs") if input_file_path == None or output_file_path == None: raise FileNotFoundError(f"Specified input and/or output file path not found. Exiting.") - moose_runner, moose_modifier = setup_moose_runner(input_file_path) + moose_runner, moose_modifier = MooseSetup.setup_moose_runner(input_file_path) found_vars = moose_modifier.get_vars() if len(found_vars) == 0: raise ValueError(f"No parameters found in input file. Check input file and try again.") else: - num_validation_values, parameters = accept_parameters(found_vars) + num_validation_values, parameters = UserInterface.accept_parameters(found_vars) if parameters == None: raise ValueError(f"Unacceptable parameters. Exiting.") - generate_datasets(output_file_path, parameters, num_validation_values, moose_runner, moose_modifier) + DatasetGenerator.generate_datasets(output_file_path, parameters, num_validation_values, moose_runner, moose_modifier) - model(output_file_path) + ModelBuilder.model(output_file_path) if __name__ == "__main__": @@ -612,5 +52,4 @@ def main(): # Expand to multi-classifier # Examples + tutorials # Packaging for pip distribution - # Stretch goal: more complex input files, e.g. 3D monoblock - \ No newline at end of file + # Stretch goal: more complex input files, e.g. 3D monoblock \ No newline at end of file diff --git a/examples/ex1_2d_binary_class.py b/examples/ex1_2d_binary_class.py deleted file mode 100644 index a4388596..00000000 --- a/examples/ex1_2d_binary_class.py +++ /dev/null @@ -1,55 +0,0 @@ -from icarus import (DatasetGenerator, - ModelBuilder, - MooseSetup, - UserInterface) - -def main(): - """main: runs all of the other functions. - - Raises - ------ - FileNotFoundError - If the file submission window is closed (instead of submitting file paths) - ValueError - If the input file is improperly formatted and no parameters are found as expected - ValueError - If the parameter submission window is closed (instead of submitting parameter data) - """ - input_file_path, output_file_path = UserInterface.accept_file("scripts/moose/plate_2d_thermal.i", - "examples/example_outputs/ex1_outputs") - - if input_file_path == None or output_file_path == None: - raise FileNotFoundError(f"Specified input and/or output file path not found. Exiting.") - - moose_runner, moose_modifier = MooseSetup.setup_moose_runner(input_file_path) - - found_vars = moose_modifier.get_vars() - if len(found_vars) == 0: - raise ValueError(f"No parameters found in input file. Check input file and try again.") - else: - num_validation_values, parameters = UserInterface.accept_parameters(found_vars) - - if parameters == None: - raise ValueError(f"Unacceptable parameters. Exiting.") - - DatasetGenerator.generate_datasets(output_file_path, parameters, num_validation_values, moose_runner, moose_modifier) - - ModelBuilder.model(output_file_path) - - -if __name__ == "__main__": - main() - - -# Next steps: - # Refactor to OOP - # Test suite using PyTest (develop as you go) - # Improve binary classifier by: - # Allow choice of modelling frameworks - modelling class - # Incorporating errors - labelled_dataset function - # Accepting multiple simultaneous perturbations - generate datasets class - # Allowing user to define number of sensors + positions - labelled dataset function - # Expand to multi-classifier - # Examples + tutorials - # Packaging for pip distribution - # Stretch goal: more complex input files, e.g. 3D monoblock \ No newline at end of file diff --git a/examples/ex1_2d_binary_no_class.py b/examples/ex1_2d_binary_no_class.py new file mode 100644 index 00000000..17c024e7 --- /dev/null +++ b/examples/ex1_2d_binary_no_class.py @@ -0,0 +1,616 @@ +from pathlib import Path +import random +import math +import numpy as np +import pyvale +from sklearn.ensemble import RandomForestClassifier +from sklearn.metrics import accuracy_score +from tkinter import * +import joblib +import shutil +from mooseherder import (MooseHerd, + MooseRunner, + MooseConfig, + InputModifier, + DirectoryManager, + SweepReader, + ExodusReader) + + +NUM_PARA_RUNS = 2 +USER_DIR = Path.home() + + +def setup_moose_runner(input_file_path): + """setup_moose_runner: Constructor for MOOSE runner taking a MooseConfig object + that contains the paths to the main MOOSE install, the MOOSE app and + the MOOSE app name. Sets parallelisation options to 1 task + and 2 threads. Sets environment variables required for MPI setup. + + Parameters + ---------- + input_file_path : str + Contains the path to the input file. + + Returns + ------- + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. + Specifies the comment character. Variable definition blocks should begin + #comment character#* and end #comment character#**, e.g. #_* and #** for + moose. + """ + moose_input = Path(str(input_file_path)) + moose_modifier = InputModifier(moose_input, '#', '') + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks=1, n_threads=2, redirect_out=False) + return moose_runner, moose_modifier + + +def setup_directory_manager(base_dir, sub_dir_name, n_dirs = 1): + """setup_directory_manager: sets up directory manager to manage directories for running + simulations in parallel with the mooseherd. Clears existing directories and creates + specified new ones with given names + + Parameters + ---------- + base_dir : Path + Sets the base directory to create sub-directories for running the simulations. + The base directory must exist. + sub_dir_name : str + String to be used at the start of the created sub-directores. + Default on creation is 'sim-workdir'. Populates the list of run directories using + the new sub directory name. + n_dirs : int, optional + Number of directories to be created., by default 1 + + Returns + ------- + dir_manager : DirectoryManager + Used to control how many and which directories are used to run the simulations. + """ + dir_manager = DirectoryManager(n_dirs=n_dirs) + dir_manager.set_base_dir(base_dir) + dir_manager.set_sub_dir_name(sub_dir_name) + dir_manager.clear_dirs() + dir_manager.create_dirs() + return dir_manager + + +def run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_para=1, keep_flag=False): + """run_herd: used to run parametric sweeps of simulation chains in + parallel with configurable parallelisation options. Takes a list of + SimRunner objects and a corresponding list of InputModifiers to insert the + variables into the input scripts for the SimRunners. Will first call all InputModifiers + in the specified order and then call run on all the SimRunners in order. Uses the + DirectoryManager class to log the directories in which each parallel worker is + creating input files and running simulations. Uses the SweepReader class to read the + output from one or more calls to mooseherd.run_para(). + Has configurable options for reading in the variable sweep in parallel. + + Parameters + ---------- + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables. + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. Specifies the comment + character. Variable definition blocks should begin #comment character#* and end + #comment character#**, e.g. #_* and #** for moose. + dir_manager : DirectoryManager + Used to control how many and which directories are used to run the simulations. + moose_vars : list[InputModifier] + Used to extract and modify the variables in the input file. + Specifies the comment character. Variable definition blocks should begin + #comment character#* and end #comment character#**, e.g. #_* and #** for + moose. + n_para : int, optional + Sets the number of simulation chains to run in parallel. , by default 1 + keep_flag : bool, optional + Flag used for allowing multiple calls to run to keep everything or to + overwrite each time, by default False - overwrite inputs and outputs with multiple calls + """ + + herd = MooseHerd([moose_runner], [moose_modifier], dir_manager) + herd.set_num_para_sims(n_para=n_para) + herd.set_keep_flag(keep_flag) + for _ in range(NUM_PARA_RUNS): + herd.run_para(moose_vars) + + sweep_reader = SweepReader(dir_manager, num_para_read=4) + sweep_reader.read_all_output_keys() + read_all = sweep_reader.read_results_para() + + +def generate_ground_truths(moose_runner, moose_modifier, base_dir, num_ground_truths): + """generate_ground_truths: used to generate the ground truth by running the input file + with no modifications, and save the results to the required base_dir under the + sub_dir_name "ground_truth". Creates 1 ground_truth dataset for every 5 perturbed + datasets + + Parameters + ---------- + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables. + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. Specifies the comment + character. Variable definition blocks should begin #comment character#* and end + #comment character#**, e.g. #_* and #** for moose. + base_dir : Path + Contains the base directory to save ground_truth sub-directory for running the + simulations. + num_ground_truth : list[float] + Number of ground_truth datasets to generate. + """ + moose_vars = list([]) + dir_manager = setup_directory_manager(base_dir, 'ground_truth', num_ground_truths) + for i in range(num_ground_truths): + moose_vars.append([{}]) + run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, num_ground_truths) + + +def generate_dataset(moose_runner, moose_modifier, base_dir, param_names, param_values): + """generate_dataset: used to generate the perturbed and validation datasets by running the + input file with modifications to specified parameter(s), and save the results to the + required base_dir under a sub_dir_named for the perturbed parameter. + + Parameters + ---------- + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables. + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. Specifies the comment + character. Variable definition blocks should begin #comment character#* and end + #comment character#**, e.g. #_* and #** for moose. + base_dir : Path + Contains the base directory to save perturbed_param sub-directory for running the + simulations. + param_names : list[string] + List of the names of the perturbed parameters. + param_values : list[float] + List of values for the currently selected parameter(s). + """ + moose_vars = list([]) + n_dirs = 1 + for i in range(len(param_names)): + n_dirs *= len(param_values[i]) + dir_manager = setup_directory_manager(base_dir, str(param_names[0]), n_dirs) + for param in param_values[0]: + moose_vars.append([{str(param_names[0]): param}]) + run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_dirs) + + +def generate_validation_values(param_values, num_validation_values=2): + """generate_validation_values: used to generate a specified number of validation values + for the selected parameter, so that the model can be tested to see if it can correctly + determine when the parameter has been perturbed to a value that was not present in the + training dataset. + + Parameters + ---------- + param_values : list[float] + List of training values for the currently selected parameter(s). + num_validation_values : int, optional + Number of validation values to generate for each parameter, by default 2 + + Returns + ------- + validation_values : list[list[float]] + List containing a list(s) of validation values for each parameter, to be used to + determine the value of the InputModifier for that parameter for the run to be saved + under validation_datasets/param_name + """ + validation_values = [[]] + for i in range(num_validation_values): + distinct_val = False + while not distinct_val: + validation_value = random.uniform(min([val for sublist in param_values for val in sublist]), + max([val for sublist in param_values for val in sublist])) + if validation_value not in param_values and validation_value not in validation_values: + distinct_val = True + validation_values[0].append(validation_value) + + return validation_values + + +def generate_datasets(output_file_path, parameters, num_validation_values, moose_runner, moose_modifier): + """generate_datasets: used to generate the unlabelled ground truth, perturbed, and + validation datasets by running the required functions with the necessary parameter + names and values, and save paths. + + Parameters + ---------- + output_file_path : str + Contains the path to the folder where the datasets and model(s) will be stored. + parameters : dict{str : list[float]} + Contains the names of the parameters to be perturbed and the values they should take + for each run. + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables. + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. Specifies the comment + character. Variable definition blocks should begin #comment character#* and end + #comment character#**, e.g. #_* and #** for moose. + """ + param_names = [[key] for key in parameters.keys()] + param_values = [[value] for value in parameters.values()] + + perturbed_path, perturbed_vals = Path(str(output_file_path+"perturbed_datasets/")), None + validation_path, validation_vals = Path(str(output_file_path+"validation_datasets/")), None + paths = {perturbed_path : perturbed_vals, validation_path: validation_vals} + + for i in range(len(param_names)): + validation_values = generate_validation_values(param_values[i], num_validation_values[i]) + paths[perturbed_path] = param_values[i] + paths[validation_path] = validation_values + for path, values in paths.items(): + generate_dataset(moose_runner, moose_modifier, path, param_names[i], values) + + for path in paths.keys(): + num_datasets = sum(1 for d in path.iterdir() if d.is_dir()) + num_ground_truths = math.ceil(num_datasets/3) + generate_ground_truths(moose_runner, moose_modifier, path, num_ground_truths) + +def accept_file(): + """accept_file: used to allow user to input path to input file and input file name + via a tkinter user interface + + Returns + ------- + input_file_path : str + String containing the path to the input file inputted to the user interface. + output_file_path : str + String containing the path for outputs inputted to the user interface. + """ + + def submit_file(): + """submit_file: specifies what should happen when the submit button is pressed. + The values within the Entry boxes for input and output file paths should be + saved to their corresponding variables, and the tkinter window should close. + + Raises + ---------- + FileNotFoundError + If the file paths submitted aren't acceptable + """ + nonlocal input_file_path, output_file_path + + try: + input_file_path = str(input_file_path_entry.get()) + output_file_path = str(output_file_path_entry.get()) + + if not Path(input_file_path).exists() or not Path (output_file_path).exists(): + if input_file_path[-2:] != ".i": + raise FileNotFoundError(f"Specified input and/or output file path not found.") + + file_root.quit() + file_root.destroy() + except FileNotFoundError: + error_label.config(text="Specified input and/or output file path not found.", fg="red") + return + + input_file_path, output_file_path = None, None + + file_root = Tk() + + Label(file_root, text='Input file path:').grid(row=0) + Label(file_root, text='Output file path:').grid(row=1) + default_input_path = StringVar(value="scripts/moose/plate_2d_thermal.i") + input_file_path_entry = Entry(file_root, textvariable=default_input_path, width=30) + input_file_path_entry.grid(row=0, column=1) + default_output_path = StringVar(value="examples/example_outputs/ex1_outputs/") + output_file_path_entry = Entry(file_root, textvariable=default_output_path, width=30) + output_file_path_entry.grid(row=1, column=1) + + submit_button = Button(file_root, text="Submit", command=submit_file) + submit_button.grid(row=2, column=0, columnspan=2, pady=10) + + error_label = Label(file_root, text="", fg="red") + error_label.grid(row=3, column=0, columnspan=2) + + file_root.mainloop() + + return input_file_path, output_file_path + + +def accept_parameters(parameters): + """accept_parameters: used to allow user to select which parameters to perturb, and the range, + interval of perturbation values, and number of validation values to be used for each parameter. + + Parameters + ---------- + parameters : dict{str : float} + Dictionary of parameter names and their corresponding values in the default input file. + Used to allow users to select which parameters to modify, and show them the default + values so they don't include them again. + + Returns + ---------- + parameters : dict{str : list[float]} + Dictionary of parameter names and their corresponding list of values for perturbation. + """ + + def submit_parameters(): + """submit_parameter: specifies what should happen when the submit button is pressed. + The values within the Entry boxes for min_val, max_val and interval for the selected + parameters should be saved to their corresponding variables to allow creation of + param_values list, and the tkinter window should close. + + Raises + ---------- + ValueError + If the range or interval specified are invalid + Value Error + If there are fewer than 2 values for perturbation + Value Error + If there are fewer than 2 values for validation + """ + nonlocal parameters, num_val_values + parameters = {} + num_val_values = [] + + for row in rows: + if row['checkbox_var'].get(): # Check if checkbox is ticked + param_name = row['param_name'] + try: + default_val = float(row['default_val']) + min_val = float(row['min_val'].get()) + max_val = float(row['max_val'].get()) + interval = float(row['interval'].get()) + num_validation_values = int(row['num_validation_values'].get()) + + if min_val >= max_val or interval <= 0: + raise ValueError("Invalid range or interval") + + param_values = [] + current_val = min_val + while current_val <= max_val: + if current_val != default_val: + param_values.append(current_val) + current_val += interval + + if len(param_values) < 2: + raise ValueError("Insufficient perturbation values") + + if num_validation_values < 2: + raise ValueError("Insufficient validation values") + + num_val_values.append(num_validation_values) + parameters[param_name] = param_values + + except ValueError as e: + error_label.config(text=f"Error: {str(e)}", fg="red") + return # Stop execution if an error occurs + + if len(parameters) == 0: + error_label.config(text="No parameters submitted", fg="red") + return + + param_root.destroy() + + param_root = Tk() + + table_frame = Frame(param_root) + table_frame.grid(row=2, column=0, columnspan=2, padx=10, pady=10) + + headers = ["Select", "Param Name", "Default Value", "Min Value", "Max Value", "Interval", "No. Validation Values"] + for col, header in enumerate(headers): + Label(table_frame, text=header).grid(row=0, column=col, padx=5, pady=5) + + params = [] + for parameter_name, parameter_value in parameters.items(): + try: + if float(parameter_value) <= 10: + x = parameter_value + elif float(parameter_value) > 10 and parameter_value < 100: + x = 10 + else: + x = parameter_value/2 + params.append({"param_name": parameter_name,"default_val": parameter_value,"min_val": parameter_value+x, + "max_val": parameter_value+5*x,"interval": x,"num_validation_values":3}) + except ValueError: + params.append({"param_name": parameter_name,"default_val": parameter_value,"min_val": "", + "max_val": "","interval": "","num_validation_values":""}) + + rows = [] + for i, param in enumerate(params): + row = {} + + row['checkbox_var'] = BooleanVar(value=False) + + checkbox = Checkbutton(table_frame, variable=row['checkbox_var']) + checkbox.grid(row=i+1, column=0, padx=5, pady=5) + + Label(table_frame, text=param['param_name']).grid(row=i+1, column=1, padx=5, pady=5) + row['param_name'] = param['param_name'] + + Label(table_frame, text=param['default_val']).grid(row=i+1, column=2, padx=5, pady=5) + row['default_val'] = param['default_val'] + + row['min_val'] = StringVar(value=param['min_val']) + min_val_entry = Entry(table_frame, textvariable=row['min_val'], width=10) + min_val_entry.grid(row=i+1, column=3, padx=5, pady=5) + + row['max_val'] = StringVar(value=param['max_val']) + max_val_entry = Entry(table_frame, textvariable=row['max_val'], width=10) + max_val_entry.grid(row=i+1, column=4, padx=5, pady=5) + + row['interval'] = StringVar(value=param['interval']) + interval_entry = Entry(table_frame, textvariable=row['interval'], width=10) + interval_entry.grid(row=i+1, column=5, padx=5, pady=5) + + row['num_validation_values'] = StringVar(value=param['num_validation_values']) + num_validation_values_entry = Entry(table_frame, textvariable=row['num_validation_values'], width=10) + num_validation_values_entry.grid(row=i+1, column=6, padx=5, pady=5) + + rows.append(row) + + parameters = None + num_val_values = None + + submit_button = Button(param_root, text="Submit", command=submit_parameters) + submit_button.grid(row=3, column=0, columnspan=2, pady=10) + + error_label = Label(param_root, text="", fg="red") + error_label.grid(row=4, column=0, columnspan=2) + + param_root.mainloop() + + return num_val_values, parameters + + +def generate_labelled_dataset(folder_path): + """generate_labelled_dataset: used to create a dataset by extracting values from the outputs + of each run, using ExodusReader class to read the data and PyVale to create an array + of sensors used to extract measurements of the required field at given points. + Assigns a label to each dataset depending on which (if any) parameter has been perturbed. + + Parameters + ---------- + folder_path : Path + Specifies the location of the unlabelled datasets from which the information for the + labelled dataset should be extracted. Should be the base directory - i.e. either + perturbed_datasets/ or validation_datasets/. + + Returns + ------- + labelled_dataset: np.array[np.array[list[float], int]] + 2D array containing the list of extracted measurements for each dataset and its + corresponding label. To be used to train/validate the model. + """ + sensx, sensy, sensz = 3, 2, 1 + labelled_dataset_cols = (sensx*sensy*sensz)+1 + labelled_dataset = np.empty((0, labelled_dataset_cols)) + + for file_path in folder_path.rglob('*.e'): + if "ground_truth" in str(file_path): + label = 0 + else: + label = 1 + + sim_data = ExodusReader(file_path).read_all_sim_data() + field_key = "temperature" + + sim_data.coords = sim_data.coords*1000.0 + + xmax = np.max(sim_data.coords[:, 0]) + ymax = np.max(sim_data.coords[:, 1]) + + n_sens = (sensx,sensy,sensz) + x_lims = (0.0,xmax) + y_lims = (0.0,ymax) + z_lims = (0.0,0.0) + sens_pos = pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) + sens_data = pyvale.SensorData(positions=sens_pos) + + tc_array = pyvale.SensorArrayFactory \ + .thermocouples_no_errs(sim_data, + sens_data, + field_key, + spat_dims=2) + + measurements = tc_array.get_measurements()[:, 0, 1] + + measurements = np.append(measurements, label) + labelled_dataset = np.vstack([labelled_dataset, measurements]) + + return labelled_dataset + + +def model(output_file_path): + """model: used to train the Random Forest model on the training datasets, use the model + to make predictions for the validation dataset, and verify the accuracy of the model. + Outputs the pertinent information to the user, and then allows them to decide whether + or not to save the model as a .pkl file. + + Parameters + ---------- + output_file_path : str + Contains the path to the folder where the datasets and model(s) will be stored. + """ + perturbed_path, validation_path = Path(output_file_path+"perturbed_datasets/"), Path(output_file_path+"validation_datasets/") + training_dataset = generate_labelled_dataset(perturbed_path) + validation_dataset = generate_labelled_dataset(validation_path) + + paths = {perturbed_path: training_dataset, validation_path: validation_dataset} + for path in paths: + for folder in path.iterdir(): + if folder.is_dir(): + shutil.rmtree(folder) + dataset = paths[path] + np.savetxt(path/"labelled_dataset.txt", dataset, fmt="%d", delimiter=",") + + X_train, y_train, X_val, y_val = training_dataset[:, :-1], training_dataset[:, -1], validation_dataset[:, :-1], validation_dataset[:, -1] + + rf_classifier = RandomForestClassifier(n_estimators=100, random_state=42) + rf_classifier.fit(X_train, y_train) + + y_pred = rf_classifier.predict(X_val) + + for i in range(len(X_val)): + print(f"Row {i + 1}: Actual Label = {y_val[i]}, Predicted Label = {y_pred[i]}") + + val_accuracy = accuracy_score(y_val, y_pred) + print(f"Random Forest Validation Accuracy: {val_accuracy * 100:.2f}%") + + save_model = input("Save model? (Y/N) ") + while save_model.lower() not in ["y", "n"]: + print("Invalid input") + save_model = input("Save model? (Y/N) ") + + if save_model.lower() == "y": + joblib.dump(rf_classifier, str(output_file_path)+'model.pkl') + + +def main(): + """main: runs all of the other functions. + + Raises + ------ + FileNotFoundError + If the file submission window is closed (instead of submitting file paths) + ValueError + If the input file is improperly formatted and no parameters are found as expected + ValueError + If the parameter submission window is closed (instead of submitting parameter data) + """ + input_file_path, output_file_path = accept_file() + + if input_file_path == None or output_file_path == None: + raise FileNotFoundError(f"Specified input and/or output file path not found. Exiting.") + + moose_runner, moose_modifier = setup_moose_runner(input_file_path) + + found_vars = moose_modifier.get_vars() + if len(found_vars) == 0: + raise ValueError(f"No parameters found in input file. Check input file and try again.") + else: + num_validation_values, parameters = accept_parameters(found_vars) + + if parameters == None: + raise ValueError(f"Unacceptable parameters. Exiting.") + + generate_datasets(output_file_path, parameters, num_validation_values, moose_runner, moose_modifier) + + model(output_file_path) + + +if __name__ == "__main__": + main() + + +# Next steps: + # Refactor to OOP + # Test suite using PyTest (develop as you go) + # Improve binary classifier by: + # Allow choice of modelling frameworks - modelling class + # Incorporating errors - labelled_dataset function + # Accepting multiple simultaneous perturbations - generate datasets class + # Allowing user to define number of sensors + positions - labelled dataset function + # Expand to multi-classifier + # Examples + tutorials + # Packaging for pip distribution + # Stretch goal: more complex input files, e.g. 3D monoblock + \ No newline at end of file From 53b64ae484467a14ba4f94cf6475e1c494f5078b Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Fri, 28 Mar 2025 13:58:29 +0000 Subject: [PATCH 15/48] First batch of updates following code review --- examples/ex1_2d_binary.py | 13 ++++---- src/icarus/datasetgenerator.py | 56 +++++++++++++++++++--------------- src/icarus/modelbuilder.py | 6 ++-- src/icarus/moosesetup.py | 17 ++++++----- src/icarus/userinterface.py | 14 +++++---- 5 files changed, 58 insertions(+), 48 deletions(-) diff --git a/examples/ex1_2d_binary.py b/examples/ex1_2d_binary.py index a4388596..b15d577a 100644 --- a/examples/ex1_2d_binary.py +++ b/examples/ex1_2d_binary.py @@ -15,26 +15,26 @@ def main(): ValueError If the parameter submission window is closed (instead of submitting parameter data) """ - input_file_path, output_file_path = UserInterface.accept_file("scripts/moose/plate_2d_thermal.i", - "examples/example_outputs/ex1_outputs") + input_file_path, output_file_path = UserInterface.accept_file(default_input_path="scripts/moose/plate_2d_thermal.i", + default_output_path="examples/example_outputs/ex1_outputs/") if input_file_path == None or output_file_path == None: raise FileNotFoundError(f"Specified input and/or output file path not found. Exiting.") - moose_runner, moose_modifier = MooseSetup.setup_moose_runner(input_file_path) + moose_runner, moose_modifier = MooseSetup(input_file_path).setup_moose_runner() found_vars = moose_modifier.get_vars() if len(found_vars) == 0: raise ValueError(f"No parameters found in input file. Check input file and try again.") else: - num_validation_values, parameters = UserInterface.accept_parameters(found_vars) + num_validation_values, parameters = UserInterface().accept_parameters(found_vars) if parameters == None: raise ValueError(f"Unacceptable parameters. Exiting.") - DatasetGenerator.generate_datasets(output_file_path, parameters, num_validation_values, moose_runner, moose_modifier) + DatasetGenerator(moose_runner, moose_modifier, parameters).generate_datasets(output_file_path, num_validation_values) - ModelBuilder.model(output_file_path) + ModelBuilder().model(output_file_path) if __name__ == "__main__": @@ -42,7 +42,6 @@ def main(): # Next steps: - # Refactor to OOP # Test suite using PyTest (develop as you go) # Improve binary classifier by: # Allow choice of modelling frameworks - modelling class diff --git a/src/icarus/datasetgenerator.py b/src/icarus/datasetgenerator.py index c68be707..60957b60 100644 --- a/src/icarus/datasetgenerator.py +++ b/src/icarus/datasetgenerator.py @@ -3,17 +3,24 @@ from pathlib import Path from icarus import MooseSetup from mooseherder import (MooseHerd, - SweepReader) + MooseRunner, + InputModifier, + DirectoryManager, + SweepReader) class DatasetGenerator: - def __init__(self, moose_runner, moose_modifier): + def __init__(self, moose_runner, moose_modifier, parameters, num_para_runs=2): self.moose_runner = moose_runner self.moose_modifier = moose_modifier + self.parameters = parameters + self.param_names = [[key] for key in parameters.keys()] + self.param_values = [[value] for value in parameters.values()] + self.num_para_runs = num_para_runs - def generate_ground_truths(self, moose_runner, moose_modifier, base_dir, num_ground_truths): + def generate_ground_truths(self, base_dir: Path, num_ground_truths: list[int]) -> None: """generate_ground_truths: used to generate the ground truth by running the input file with no modifications, and save the results to the required base_dir under the - sub_dir_name "ground_truth". Creates 1 ground_truth dataset for every 5 perturbed + sub_dir_name "ground_truth". Creates 1 ground_truth dataset for every 3 perturbed datasets Parameters @@ -27,17 +34,17 @@ def generate_ground_truths(self, moose_runner, moose_modifier, base_dir, num_gro base_dir : Path Contains the base directory to save ground_truth sub-directory for running the simulations. - num_ground_truth : list[float] + num_ground_truth : list[int] Number of ground_truth datasets to generate. """ moose_vars = list([]) dir_manager = MooseSetup.setup_directory_manager(base_dir, 'ground_truth', num_ground_truths) for i in range(num_ground_truths): moose_vars.append([{}]) - self.run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, num_ground_truths) + self.run_herd(dir_manager, moose_vars, num_ground_truths) - def generate_dataset(self, moose_runner, moose_modifier, base_dir, param_names, param_values): + def generate_dataset(self, base_dir: Path, param_names, param_values) -> None: """generate_dataset: used to generate the perturbed and validation datasets by running the input file with modifications to specified parameter(s), and save the results to the required base_dir under a sub_dir_named for the perturbed parameter. @@ -65,10 +72,10 @@ def generate_dataset(self, moose_runner, moose_modifier, base_dir, param_names, dir_manager = MooseSetup.setup_directory_manager(base_dir, str(param_names[0]), n_dirs) for param in param_values[0]: moose_vars.append([{str(param_names[0]): param}]) - self.run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_dirs) + self.run_herd(dir_manager, moose_vars, n_dirs) - def generate_validation_values(self, param_values, num_validation_values=2): + def generate_validation_values(self, param_values, num_validation_values: int=2) -> list[list[float]]: """generate_validation_values: used to generate a specified number of validation values for the selected parameter, so that the model can be tested to see if it can correctly determine when the parameter has been perturbed to a value that was not present in the @@ -89,11 +96,14 @@ def generate_validation_values(self, param_values, num_validation_values=2): under validation_datasets/param_name """ validation_values = [[]] + + flattened = [val for sublist in param_values for val in sublist] + min_val = min(flattened) + max_val = max(flattened) for i in range(num_validation_values): distinct_val = False while not distinct_val: - validation_value = random.uniform(min([val for sublist in param_values for val in sublist]), - max([val for sublist in param_values for val in sublist])) + validation_value = random.uniform(min_val, max_val) if validation_value not in param_values and validation_value not in validation_values: distinct_val = True validation_values[0].append(validation_value) @@ -101,7 +111,7 @@ def generate_validation_values(self, param_values, num_validation_values=2): return validation_values - def generate_datasets(self, output_file_path, parameters, num_validation_values, moose_runner, moose_modifier): + def generate_datasets(self, output_file_path: str, num_validation_values: int) -> None: """generate_datasets: used to generate the unlabelled ground truth, perturbed, and validation datasets by running the required functions with the necessary parameter names and values, and save paths. @@ -120,27 +130,25 @@ def generate_datasets(self, output_file_path, parameters, num_validation_values, character. Variable definition blocks should begin #comment character#* and end #comment character#**, e.g. #_* and #** for moose. """ - param_names = [[key] for key in parameters.keys()] - param_values = [[value] for value in parameters.values()] - perturbed_path, perturbed_vals = Path(str(output_file_path+"perturbed_datasets/")), None validation_path, validation_vals = Path(str(output_file_path+"validation_datasets/")), None - paths = {perturbed_path : perturbed_vals, validation_path: validation_vals} + paths = {perturbed_path: perturbed_vals, validation_path: validation_vals} - for i in range(len(param_names)): - validation_values = self.generate_validation_values(param_values[i], num_validation_values[i]) - paths[perturbed_path] = param_values[i] + for i in range(len(self.param_names)): + validation_values = self.generate_validation_values(self.param_values[i], num_validation_values[i]) + paths[perturbed_path] = self.param_values[i] paths[validation_path] = validation_values for path, values in paths.items(): - self.generate_dataset(moose_runner, moose_modifier, path, param_names[i], values) + self.generate_dataset(path, self.param_names[i], values) for path in paths.keys(): num_datasets = sum(1 for d in path.iterdir() if d.is_dir()) num_ground_truths = math.ceil(num_datasets/3) - self.generate_ground_truths(moose_runner, moose_modifier, path, num_ground_truths) + self.generate_ground_truths(path, num_ground_truths) - def run_herd(self, moose_runner, moose_modifier, dir_manager, moose_vars, n_para=1, keep_flag=False): + def run_herd(self, dir_manager: DirectoryManager, + moose_vars: list[InputModifier], n_para: int=1, keep_flag: bool=False) -> None: """run_herd: used to run parametric sweeps of simulation chains in parallel with configurable parallelisation options. Takes a list of SimRunner objects and a corresponding list of InputModifiers to insert the @@ -173,10 +181,10 @@ def run_herd(self, moose_runner, moose_modifier, dir_manager, moose_vars, n_para overwrite each time, by default False - overwrite inputs and outputs with multiple calls """ - herd = MooseHerd([moose_runner], [moose_modifier], dir_manager) + herd = MooseHerd([self.moose_runner], [self.moose_modifier], dir_manager) herd.set_num_para_sims(n_para=n_para) herd.set_keep_flag(keep_flag) - for _ in range(NUM_PARA_RUNS=2): + for _ in range(self.num_para_runs): herd.run_para(moose_vars) sweep_reader = SweepReader(dir_manager, num_para_read=4) diff --git a/src/icarus/modelbuilder.py b/src/icarus/modelbuilder.py index e22f7436..edc85376 100644 --- a/src/icarus/modelbuilder.py +++ b/src/icarus/modelbuilder.py @@ -9,9 +9,9 @@ class ModelBuilder: def __init__(self): - pass + pass - def generate_labelled_dataset(self, folder_path): + def generate_labelled_dataset(self, folder_path: Path) -> list[list[list[float], int]]: """generate_labelled_dataset: used to create a dataset by extracting values from the outputs of each run, using ExodusReader class to read the data and PyVale to create an array of sensors used to extract measurements of the required field at given points. @@ -69,7 +69,7 @@ def generate_labelled_dataset(self, folder_path): return labelled_dataset - def model(self, output_file_path): + def model(self, output_file_path: str) -> None: """model: used to train the Random Forest model on the training datasets, use the model to make predictions for the validation dataset, and verify the accuracy of the model. Outputs the pertinent information to the user, and then allows them to decide whether diff --git a/src/icarus/moosesetup.py b/src/icarus/moosesetup.py index f699cc7c..ab58c736 100644 --- a/src/icarus/moosesetup.py +++ b/src/icarus/moosesetup.py @@ -5,12 +5,11 @@ DirectoryManager) class MooseSetup: - def __init__(self, input_file_path, output_file_path): + def __init__(self, input_file_path: str) -> None: self.input_file_path = input_file_path - self.output_file_path = output_file_path - self.moose_runner, self.moose_modifier = self.setup_moose_runner(input_file_path) + self.moose_runner, self.moose_modifier = self.setup_moose_runner() - def setup_moose_runner(self, input_file_path): + def setup_moose_runner(self) -> tuple[MooseRunner, InputModifier]: """setup_moose_runner: Constructor for MOOSE runner taking a MooseConfig object that contains the paths to the main MOOSE install, the MOOSE app and the MOOSE app name. Sets parallelisation options to 1 task @@ -19,7 +18,7 @@ def setup_moose_runner(self, input_file_path): Parameters ---------- input_file_path : str - Contains the path to the input file. + Contains the path to the input file. Returns ------- @@ -31,15 +30,16 @@ def setup_moose_runner(self, input_file_path): #comment character#* and end #comment character#**, e.g. #_* and #** for moose. """ - moose_input = Path(str(input_file_path)) + moose_input = Path(self.input_file_path) moose_modifier = InputModifier(moose_input, '#', '') moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') moose_runner = MooseRunner(moose_config) moose_runner.set_run_opts(n_tasks=1, n_threads=2, redirect_out=False) - return moose_runner, moose_modifier + return moose_runner, moose_modifier - def setup_directory_manager(self, base_dir, sub_dir_name, n_dirs = 1): + @staticmethod + def setup_directory_manager(base_dir: str, sub_dir_name: str, n_dirs: int=1) -> DirectoryManager: """setup_directory_manager: sets up directory manager to manage directories for running simulations in parallel with the mooseherd. Clears existing directories and creates specified new ones with given names @@ -66,4 +66,5 @@ def setup_directory_manager(self, base_dir, sub_dir_name, n_dirs = 1): dir_manager.set_sub_dir_name(sub_dir_name) dir_manager.clear_dirs() dir_manager.create_dirs() + return dir_manager \ No newline at end of file diff --git a/src/icarus/userinterface.py b/src/icarus/userinterface.py index 751778e2..b8c33f17 100644 --- a/src/icarus/userinterface.py +++ b/src/icarus/userinterface.py @@ -6,7 +6,7 @@ def __init__(self): pass - def accept_file(self, default_input_path="", default_output_path=""): + def accept_file(default_input_path: str="", default_output_path: str="") -> tuple[str, str]: """accept_file: used to allow user to input path to input file and input file name via a tkinter user interface @@ -34,7 +34,7 @@ def submit_file(): input_file_path = str(input_file_path_entry.get()) output_file_path = str(output_file_path_entry.get()) - if not Path(input_file_path).exists() or not Path (output_file_path).exists(): + if not Path(input_file_path).exists() or not Path(output_file_path).exists(): if input_file_path[-2:] != ".i": raise FileNotFoundError(f"Specified input and/or output file path not found.") @@ -68,20 +68,22 @@ def submit_file(): return input_file_path, output_file_path - def accept_parameters(self, parameters): + def accept_parameters(self, parameters: dict[str, float]) -> tuple[list[int], dict[str, list[float]]]: """accept_parameters: used to allow user to select which parameters to perturb, and the range, interval of perturbation values, and number of validation values to be used for each parameter. Parameters ---------- - parameters : dict{str : float} + parameters : dict[str, float] Dictionary of parameter names and their corresponding values in the default input file. Used to allow users to select which parameters to modify, and show them the default values so they don't include them again. Returns ---------- - parameters : dict{str : list[float]} + num_val_values : list[int] + Number of validation values to use for each parameter + parameters : dict[str, list[float]] Dictionary of parameter names and their corresponding list of values for perturbation. """ @@ -187,7 +189,7 @@ def submit_parameters(): min_val_entry.grid(row=i+1, column=3, padx=5, pady=5) row['max_val'] = StringVar(value=param['max_val']) - max_val_entry = Entry(table_frame, textvariable=row['max_val'], width=10) + max_val_entry = Entry(table_frame, textvariable=row['max_val'], width=10) max_val_entry.grid(row=i+1, column=4, padx=5, pady=5) row['interval'] = StringVar(value=param['interval']) From 9e15d6385402e7caeddc6825f0c451bc2fd57e38 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Mon, 7 Apr 2025 12:35:08 +0100 Subject: [PATCH 16/48] Final improvements from code review + added other frameworks + started building multi-classifier --- .clang-format | 31 - 2d_plate/dataset_analysis_model.py | 91 --- 2d_plate/full_functionality.py | 194 ----- 2d_plate/generate_2d_dataset.py | 114 --- 2d_plate/plate_2d_thermal.i | 74 -- 3d_monoblock/monoblock_3d_thermal.i | 753 ------------------ Makefile | 65 -- README.md | 58 +- dependencies/mooseherder/.gitignore | 179 +++++ dependencies/mooseherder/LICENSE | 504 ++++++++++++ dependencies/mooseherder/README.md | 44 + .../dev/dev_create_moose_config.py | 16 + .../mooseherder/dev/dev_para_multi_moose.py | 138 ++++ .../mooseherder/dev/dev_read_exodus.py | 17 + .../examples/ex0_create_moose_config.py | 27 + .../examples/ex1a_modify_moose_input.py | 46 ++ .../examples/ex1b_modify_gmsh_input.py | 46 ++ .../examples/ex2a_run_moose_once.py | 51 ++ .../examples/ex2b_run_gmsh_once.py | 63 ++ .../examples/ex2c_run_both_once .py | 86 ++ .../examples/ex3_run_moose_seq_para.py | 103 +++ .../examples/ex4_run_gmsh-moose_seq_para.py | 108 +++ .../examples/ex5_run_moose_paramulti.py | 85 ++ .../examples/ex6_read_moose_exodus.py | 127 +++ .../examples/ex7a_read_moose_herd_results.py | 119 +++ .../ex7b_read_multi_herd_results copy.py | 110 +++ .../ex7c_read_multi_gmshmoose_results.py | 110 +++ ...ex7d_readconfig_multi_gmshmoose_results.py | 140 ++++ .../ex8_read_existing_sweep_output.py | 54 ++ .../ex9_full_functionality_no_print.py | 25 +- .../example_output/sim-workdir-1/sim-1.i | 92 +++ .../example_output/sim-workdir-1/sim-12.i | 92 +++ .../example_output/sim-workdir-1/sim-12_out.e | Bin 0 -> 105844 bytes .../example_output/sim-workdir-1/sim-13.i | 92 +++ .../example_output/sim-workdir-1/sim-13_out.e | Bin 0 -> 159724 bytes .../example_output/sim-workdir-1/sim-1_out.e | Bin 0 -> 105840 bytes .../example_output/sim-workdir-1/sim-20.i | 92 +++ .../example_output/sim-workdir-1/sim-20_out.e | Bin 0 -> 105844 bytes .../example_output/sim-workdir-1/sim-23.i | 92 +++ .../example_output/sim-workdir-1/sim-23_out.e | Bin 0 -> 159724 bytes .../example_output/sim-workdir-1/sim-8.i | 92 +++ .../example_output/sim-workdir-1/sim-8_out.e | Bin 0 -> 159720 bytes .../example_output/sim-workdir-2/sim-15.i | 92 +++ .../example_output/sim-workdir-2/sim-15_out.e | Bin 0 -> 159724 bytes .../example_output/sim-workdir-2/sim-17.i | 92 +++ .../example_output/sim-workdir-2/sim-17_out.e | Bin 0 -> 105844 bytes .../example_output/sim-workdir-2/sim-2.i | 92 +++ .../example_output/sim-workdir-2/sim-22.i | 92 +++ .../example_output/sim-workdir-2/sim-22_out.e | Bin 0 -> 159724 bytes .../example_output/sim-workdir-2/sim-2_out.e | Bin 0 -> 105840 bytes .../example_output/sim-workdir-2/sim-5.i | 92 +++ .../example_output/sim-workdir-2/sim-5_out.e | Bin 0 -> 159720 bytes .../example_output/sim-workdir-2/sim-9.i | 92 +++ .../example_output/sim-workdir-2/sim-9_out.e | Bin 0 -> 105840 bytes .../example_output/sim-workdir-3/sim-10.i | 92 +++ .../example_output/sim-workdir-3/sim-10_out.e | Bin 0 -> 105844 bytes .../example_output/sim-workdir-3/sim-16.i | 92 +++ .../example_output/sim-workdir-3/sim-16_out.e | Bin 0 -> 159724 bytes .../example_output/sim-workdir-3/sim-18.i | 92 +++ .../example_output/sim-workdir-3/sim-18_out.e | Bin 0 -> 105844 bytes .../example_output/sim-workdir-3/sim-24.i | 92 +++ .../example_output/sim-workdir-3/sim-24_out.e | Bin 0 -> 159724 bytes .../example_output/sim-workdir-3/sim-3.i | 92 +++ .../example_output/sim-workdir-3/sim-3_out.e | Bin 0 -> 105840 bytes .../example_output/sim-workdir-3/sim-7.i | 92 +++ .../example_output/sim-workdir-3/sim-7_out.e | Bin 0 -> 159720 bytes .../example_output/sim-workdir-4/sim-11.i | 92 +++ .../example_output/sim-workdir-4/sim-11_out.e | Bin 0 -> 105844 bytes .../example_output/sim-workdir-4/sim-14.i | 92 +++ .../example_output/sim-workdir-4/sim-14_out.e | Bin 0 -> 159724 bytes .../example_output/sim-workdir-4/sim-19.i | 92 +++ .../example_output/sim-workdir-4/sim-19_out.e | Bin 0 -> 105844 bytes .../example_output/sim-workdir-4/sim-21.i | 92 +++ .../example_output/sim-workdir-4/sim-21_out.e | Bin 0 -> 159724 bytes .../example_output/sim-workdir-4/sim-4.i | 92 +++ .../example_output/sim-workdir-4/sim-4_out.e | Bin 0 -> 105840 bytes .../example_output/sim-workdir-4/sim-6.i | 92 +++ .../example_output/sim-workdir-4/sim-6_out.e | Bin 0 -> 159720 bytes dependencies/mooseherder/examples/run_all.py | 30 + dependencies/mooseherder/pyproject.toml | 32 + .../scripts/gmsh/gmsh_tens_spline_2d.geo | 62 ++ .../scripts/gmsh/gmsh_tens_spline_3d.geo | 89 +++ .../scripts/gmsh_tens_spline_2d-mod_vars.geo | 62 ++ .../mooseherder/scripts/moose-mech_mod-vars.i | 92 +++ .../moose-test-cases/moose-creep-gmsh.i | 182 +++++ .../moose-test-cases/moose-mech-block-2d-o1.i | 82 ++ .../moose-mech-block-2d-o2-moo0.i | 85 ++ .../moose-mech-block-2d-o2-moo1.i | 85 ++ .../moose-mech-block-2d-o2-moo2.i | 85 ++ .../moose-test-cases/moose-mech-block-2d-o2.i | 83 ++ .../moose-test-cases/moose-mech-block-3d-o1.i | 92 +++ .../moose-mech-block-3d-o2-moo2.i | 94 +++ .../moose-test-cases/moose-mech-block-3d-o2.i | 92 +++ .../moose-test-cases/moose-mech-sub-dom.i | 94 +++ .../moose-mech-subdom-2d-o1.i | 95 +++ .../moose-mech-subdom-2d-o2-moo0.i | 97 +++ .../moose-mech-subdom-2d-o2-moo1.i | 97 +++ .../moose-mech-subdom-2d-o2-moo2.i | 97 +++ .../moose-mech-subdom-2d-o2.i | 95 +++ .../moose-mech-subdom-3d-o1.i | 103 +++ .../moose-mech-subdom-3d-o2.i | 103 +++ .../moose-test-cases/moose-mech-thermal-exp.i | 119 +++ .../moose-test-cases/moose-mech-two-beams.i | 107 +++ .../scripts/moose/moose-mech-gmsh.i | 73 ++ .../scripts/moose/moose-mech-outtest.i | 115 +++ .../scripts/moose/moose-mech-simple.i | 92 +++ .../mooseherder/src/mooseherder/__init__.py | 28 + .../src/mooseherder/directorymanager.py | 302 +++++++ .../src/mooseherder/exodusreader.py | 590 ++++++++++++++ .../mooseherder/src/mooseherder/gmshrunner.py | 120 +++ .../src/mooseherder/inputmodifier.py | 197 +++++ .../src/mooseherder/mooseconfig.py | 175 ++++ .../mooseherder/src/mooseherder/mooseherd.py | 412 ++++++++++ .../src/mooseherder/mooserunner.py | 232 ++++++ .../src/mooseherder/outputreader.py | 25 + .../mooseherder/src/mooseherder/simdata.py | 93 +++ .../mooseherder/src/mooseherder/simrunner.py | 38 + .../src/mooseherder/sweepreader.py | 291 +++++++ .../mooseherder/tests/__init__.py | 0 .../tests/directorymanager_test.py | 80 ++ .../mooseherder/tests/exodusreader_test.py | 328 ++++++++ .../tests/generate_moose_output.py | 50 ++ .../mooseherder/tests/gmsh/gmsh-broken.geo | 62 ++ .../mooseherder/tests/gmsh/gmsh-test.geo | 61 ++ .../mooseherder/tests/gmshrunner_test.py | 118 +++ dependencies/mooseherder/tests/herdchecker.py | 200 +++++ .../tests/inputmodifier_gmsh_test.py | 101 +++ .../tests/inputmodifier_moose_test.py | 177 ++++ .../tests/moose/moose-test-broken.i | 94 +++ .../mooseherder/tests/moose/moose-test-gmsh.i | 73 ++ .../mooseherder/tests/moose/moose-test.i | 94 +++ .../mooseherder/tests/mooseconfig_test.py | 160 ++++ .../mooseherder/tests/mooseherd_test.py | 319 ++++++++ .../mooseherder/tests/mooserunner_test.py | 233 ++++++ .../tests/output/moose-mech-outtest.i | 136 ++++ .../tests/output/moose-mech-outtest_out.e | Bin 0 -> 336948 bytes .../tests/output/sim-workdir-1/sim-1.i | 92 +++ .../tests/output/sim-workdir-1/sim-12.i | 92 +++ .../tests/output/sim-workdir-1/sim-12_out.e | Bin 0 -> 105844 bytes .../tests/output/sim-workdir-1/sim-16.i | 92 +++ .../tests/output/sim-workdir-1/sim-16_out.e | Bin 0 -> 159724 bytes .../tests/output/sim-workdir-1/sim-1_out.e | Bin 0 -> 105840 bytes .../tests/output/sim-workdir-1/sim-20.i | 92 +++ .../tests/output/sim-workdir-1/sim-20_out.e | Bin 0 -> 105844 bytes .../tests/output/sim-workdir-1/sim-21.i | 92 +++ .../tests/output/sim-workdir-1/sim-21_out.e | Bin 0 -> 159724 bytes .../tests/output/sim-workdir-1/sim-6.i | 92 +++ .../tests/output/sim-workdir-1/sim-6_out.e | Bin 0 -> 159720 bytes .../tests/output/sim-workdir-2/sim-13.i | 92 +++ .../tests/output/sim-workdir-2/sim-13_out.e | Bin 0 -> 159724 bytes .../tests/output/sim-workdir-2/sim-17.i | 92 +++ .../tests/output/sim-workdir-2/sim-17_out.e | Bin 0 -> 105844 bytes .../tests/output/sim-workdir-2/sim-2.i | 92 +++ .../tests/output/sim-workdir-2/sim-24.i | 92 +++ .../tests/output/sim-workdir-2/sim-24_out.e | Bin 0 -> 159724 bytes .../tests/output/sim-workdir-2/sim-2_out.e | Bin 0 -> 105840 bytes .../tests/output/sim-workdir-2/sim-5.i | 92 +++ .../tests/output/sim-workdir-2/sim-5_out.e | Bin 0 -> 159720 bytes .../tests/output/sim-workdir-2/sim-9.i | 92 +++ .../tests/output/sim-workdir-2/sim-9_out.e | Bin 0 -> 105840 bytes .../tests/output/sim-workdir-3/sim-10.i | 92 +++ .../tests/output/sim-workdir-3/sim-10_out.e | Bin 0 -> 105844 bytes .../tests/output/sim-workdir-3/sim-14.i | 92 +++ .../tests/output/sim-workdir-3/sim-14_out.e | Bin 0 -> 159724 bytes .../tests/output/sim-workdir-3/sim-18.i | 92 +++ .../tests/output/sim-workdir-3/sim-18_out.e | Bin 0 -> 105844 bytes .../tests/output/sim-workdir-3/sim-22.i | 92 +++ .../tests/output/sim-workdir-3/sim-22_out.e | Bin 0 -> 159724 bytes .../tests/output/sim-workdir-3/sim-3.i | 92 +++ .../tests/output/sim-workdir-3/sim-3_out.e | Bin 0 -> 105840 bytes .../tests/output/sim-workdir-3/sim-8.i | 92 +++ .../tests/output/sim-workdir-3/sim-8_out.e | Bin 0 -> 159720 bytes .../tests/output/sim-workdir-4/sim-11.i | 92 +++ .../tests/output/sim-workdir-4/sim-11_out.e | Bin 0 -> 105844 bytes .../tests/output/sim-workdir-4/sim-15.i | 92 +++ .../tests/output/sim-workdir-4/sim-15_out.e | Bin 0 -> 159724 bytes .../tests/output/sim-workdir-4/sim-19.i | 92 +++ .../tests/output/sim-workdir-4/sim-19_out.e | Bin 0 -> 105844 bytes .../tests/output/sim-workdir-4/sim-23.i | 92 +++ .../tests/output/sim-workdir-4/sim-23_out.e | Bin 0 -> 159724 bytes .../tests/output/sim-workdir-4/sim-4.i | 92 +++ .../tests/output/sim-workdir-4/sim-4_out.e | Bin 0 -> 105840 bytes .../tests/output/sim-workdir-4/sim-7.i | 92 +++ .../tests/output/sim-workdir-4/sim-7_out.e | Bin 0 -> 159720 bytes .../mooseherder/tests/sweepreader_test.py | 34 + doc/config.yml | 20 - doc/content/index.md | 3 - doc/moosedocs.py | 29 - doc/sqa_reports.yml | 6 - examples/ex1_2d_binary.py | 75 +- examples/ex1_2d_binary_no_class.py | 616 -------------- include/base/IcarusApp.h | 24 - moose-config.json | 4 +- run_tests | 12 - scripts/install-format-hook.sh | 26 - src/icarus.egg-info/PKG-INFO | 50 +- src/icarus/datasetgenerator.py | 148 ++-- src/icarus/modelbuilder.py | 263 ++++-- src/icarus/moosesetup.py | 27 +- src/icarus/userinterface.py | 100 +-- src/main.C | 18 - test/include/base/IcarusTestApp.h | 24 - test/src/base/IcarusTestApp.C | 63 -- .../gold/simple_diffusion_out.e | Bin 19804 -> 0 bytes .../simple_diffusion/simple_diffusion.i | 44 - test/tests/kernels/simple_diffusion/tests | 10 - testroot | 4 - unit/Makefile | 70 -- unit/run_tests | 18 - unit/src/SampleTest.C | 32 - unit/src/main.C | 33 - 211 files changed, 14445 insertions(+), 2625 deletions(-) delete mode 100644 .clang-format delete mode 100644 2d_plate/dataset_analysis_model.py delete mode 100644 2d_plate/full_functionality.py delete mode 100644 2d_plate/generate_2d_dataset.py delete mode 100644 2d_plate/plate_2d_thermal.i delete mode 100644 3d_monoblock/monoblock_3d_thermal.i delete mode 100644 Makefile create mode 100644 dependencies/mooseherder/.gitignore create mode 100644 dependencies/mooseherder/LICENSE create mode 100644 dependencies/mooseherder/README.md create mode 100644 dependencies/mooseherder/dev/dev_create_moose_config.py create mode 100644 dependencies/mooseherder/dev/dev_para_multi_moose.py create mode 100644 dependencies/mooseherder/dev/dev_read_exodus.py create mode 100644 dependencies/mooseherder/examples/ex0_create_moose_config.py create mode 100644 dependencies/mooseherder/examples/ex1a_modify_moose_input.py create mode 100644 dependencies/mooseherder/examples/ex1b_modify_gmsh_input.py create mode 100644 dependencies/mooseherder/examples/ex2a_run_moose_once.py create mode 100644 dependencies/mooseherder/examples/ex2b_run_gmsh_once.py create mode 100644 dependencies/mooseherder/examples/ex2c_run_both_once .py create mode 100644 dependencies/mooseherder/examples/ex3_run_moose_seq_para.py create mode 100644 dependencies/mooseherder/examples/ex4_run_gmsh-moose_seq_para.py create mode 100644 dependencies/mooseherder/examples/ex5_run_moose_paramulti.py create mode 100644 dependencies/mooseherder/examples/ex6_read_moose_exodus.py create mode 100644 dependencies/mooseherder/examples/ex7a_read_moose_herd_results.py create mode 100644 dependencies/mooseherder/examples/ex7b_read_multi_herd_results copy.py create mode 100644 dependencies/mooseherder/examples/ex7c_read_multi_gmshmoose_results.py create mode 100644 dependencies/mooseherder/examples/ex7d_readconfig_multi_gmshmoose_results.py create mode 100644 dependencies/mooseherder/examples/ex8_read_existing_sweep_output.py rename 3d_monoblock/generate_3d_dataset.py => dependencies/mooseherder/examples/ex9_full_functionality_no_print.py (66%) create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-13.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-13_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-23.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-23_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-15.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-15_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-2.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-22.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-22_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-2_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-10.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-10_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-18.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-18_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-24.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-24_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-3.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-3_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-11.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-11_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-21.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-21_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-4.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-4_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6_out.e create mode 100644 dependencies/mooseherder/examples/run_all.py create mode 100644 dependencies/mooseherder/pyproject.toml create mode 100644 dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_2d.geo create mode 100644 dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_3d.geo create mode 100644 dependencies/mooseherder/scripts/gmsh_tens_spline_2d-mod_vars.geo create mode 100644 dependencies/mooseherder/scripts/moose-mech_mod-vars.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-creep-gmsh.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o1.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo0.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo1.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo2.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o1.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2-moo2.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-sub-dom.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o1.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo0.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo1.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo2.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o1.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o2.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-thermal-exp.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-two-beams.i create mode 100644 dependencies/mooseherder/scripts/moose/moose-mech-gmsh.i create mode 100644 dependencies/mooseherder/scripts/moose/moose-mech-outtest.i create mode 100644 dependencies/mooseherder/scripts/moose/moose-mech-simple.i create mode 100644 dependencies/mooseherder/src/mooseherder/__init__.py create mode 100644 dependencies/mooseherder/src/mooseherder/directorymanager.py create mode 100644 dependencies/mooseherder/src/mooseherder/exodusreader.py create mode 100644 dependencies/mooseherder/src/mooseherder/gmshrunner.py create mode 100644 dependencies/mooseherder/src/mooseherder/inputmodifier.py create mode 100644 dependencies/mooseherder/src/mooseherder/mooseconfig.py create mode 100644 dependencies/mooseherder/src/mooseherder/mooseherd.py create mode 100644 dependencies/mooseherder/src/mooseherder/mooserunner.py create mode 100644 dependencies/mooseherder/src/mooseherder/outputreader.py create mode 100644 dependencies/mooseherder/src/mooseherder/simdata.py create mode 100644 dependencies/mooseherder/src/mooseherder/simrunner.py create mode 100644 dependencies/mooseherder/src/mooseherder/sweepreader.py rename unit/include/place_holder => dependencies/mooseherder/tests/__init__.py (100%) create mode 100644 dependencies/mooseherder/tests/directorymanager_test.py create mode 100644 dependencies/mooseherder/tests/exodusreader_test.py create mode 100644 dependencies/mooseherder/tests/generate_moose_output.py create mode 100644 dependencies/mooseherder/tests/gmsh/gmsh-broken.geo create mode 100644 dependencies/mooseherder/tests/gmsh/gmsh-test.geo create mode 100644 dependencies/mooseherder/tests/gmshrunner_test.py create mode 100644 dependencies/mooseherder/tests/herdchecker.py create mode 100644 dependencies/mooseherder/tests/inputmodifier_gmsh_test.py create mode 100644 dependencies/mooseherder/tests/inputmodifier_moose_test.py create mode 100644 dependencies/mooseherder/tests/moose/moose-test-broken.i create mode 100644 dependencies/mooseherder/tests/moose/moose-test-gmsh.i create mode 100644 dependencies/mooseherder/tests/moose/moose-test.i create mode 100644 dependencies/mooseherder/tests/mooseconfig_test.py create mode 100644 dependencies/mooseherder/tests/mooseherd_test.py create mode 100644 dependencies/mooseherder/tests/mooserunner_test.py create mode 100644 dependencies/mooseherder/tests/output/moose-mech-outtest.i create mode 100644 dependencies/mooseherder/tests/output/moose-mech-outtest_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-1.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-12.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-12_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-16.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-16_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-1_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-20.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-20_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-21.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-21_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-6.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-6_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-13.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-13_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-17.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-17_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-2.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-24.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-24_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-2_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-5.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-5_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-9.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-9_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-10.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-10_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-14.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-14_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-18.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-18_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-22.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-22_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-3.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-3_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-8.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-8_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-11.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-11_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-15.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-15_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-19.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-19_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-23.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-23_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-4.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-4_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-7.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-7_out.e create mode 100644 dependencies/mooseherder/tests/sweepreader_test.py delete mode 100644 doc/config.yml delete mode 100644 doc/content/index.md delete mode 100755 doc/moosedocs.py delete mode 100644 doc/sqa_reports.yml delete mode 100644 examples/ex1_2d_binary_no_class.py delete mode 100644 include/base/IcarusApp.h delete mode 100755 run_tests delete mode 100755 scripts/install-format-hook.sh delete mode 100644 src/main.C delete mode 100644 test/include/base/IcarusTestApp.h delete mode 100644 test/src/base/IcarusTestApp.C delete mode 100644 test/tests/kernels/simple_diffusion/gold/simple_diffusion_out.e delete mode 100644 test/tests/kernels/simple_diffusion/simple_diffusion.i delete mode 100644 test/tests/kernels/simple_diffusion/tests delete mode 100644 testroot delete mode 100644 unit/Makefile delete mode 100755 unit/run_tests delete mode 100644 unit/src/SampleTest.C delete mode 100644 unit/src/main.C diff --git a/.clang-format b/.clang-format deleted file mode 100644 index 165b53b5..00000000 --- a/.clang-format +++ /dev/null @@ -1,31 +0,0 @@ -BasedOnStyle: LLVM - -TabWidth: 2 -ColumnLimit: 100 -UseTab: Never - -CommentPragmas: '^/' -ReflowComments: true -AlignTrailingComments: true -SpacesBeforeTrailingComments: 1 - -SpaceBeforeParens: ControlStatements -SpacesInSquareBrackets: false -BreakBeforeBraces: Allman -PointerAlignment: Middle - -BinPackParameters: false -BinPackArguments: false -ConstructorInitializerAllOnOneLineOrOnePerLine: true -AllowShortBlocksOnASingleLine: false -AllowShortFunctionsOnASingleLine: true -AllowShortIfStatementsOnASingleLine: false -AllowShortLoopsOnASingleLine: false - -SortIncludes: false -IndentCaseLabels: true -ConstructorInitializerIndentWidth: 2 -AlwaysBreakAfterDefinitionReturnType: TopLevel -AlwaysBreakTemplateDeclarations: true - -FixNamespaceComments: false diff --git a/2d_plate/dataset_analysis_model.py b/2d_plate/dataset_analysis_model.py deleted file mode 100644 index 78ca7fe4..00000000 --- a/2d_plate/dataset_analysis_model.py +++ /dev/null @@ -1,91 +0,0 @@ -# Extract data points from generated datasets + ground truth -# Generate labelled dataset - formatted | T1 | T2 | ... | TN | label | -# where N is the number of sampled data points (6), and label is different for each perturbed parameter -# eg ground truth label = 0, perturbed xmax label = 1, perturbed ymax label = 2, etc. - -import mooseherder as mh -from pathlib import Path -import numpy as np -import pyvale -import matplotlib as plt -import tensorflow as tf -from tensorflow.keras.models import Sequential -from tensorflow.keras.layers import Dense -from sklearn.ensemble import RandomForestClassifier -from sklearn.model_selection import train_test_split - -def generate_labelled_dataset(folder_path): - labelled_dataset = np.empty((0, 7)) - parameters = ["xmax", "ymax", "init_temp", "max_temp", "thermal_conductivity", "specific_heat", "prop_values"] - - for file_path in folder_path.rglob('*.e'): - for i in range(len(parameters)): - if parameters[i] in str(file_path): - label = i - sim_data = mh.ExodusReader(file_path).read_all_sim_data() - field_key = "temperature" - - sim_data.coords = sim_data.coords*1000.0 # type: ignore - - xmax = np.max(sim_data.coords[:, 0]) - ymax = np.max(sim_data.coords[:, 1]) - - n_sens = (3,2,1) - x_lims = (0.0,xmax) - y_lims = (0.0,ymax) - z_lims = (0.0,0.0) - sens_pos = pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) - sens_data = pyvale.SensorData(positions=sens_pos) - - tc_array = pyvale.SensorArrayFactory \ - .thermocouples_no_errs(sim_data, - sens_data, - field_key, - spat_dims=2) - - measurements = tc_array.get_measurements()[:, 0, 1] - - measurements = np.append(measurements, label) # add label to measurements - labelled_dataset = np.vstack([labelled_dataset, measurements]) # add to labelled dataset - - return labelled_dataset - -training_folder_path = Path('2d_plate/perturbed_datasets') -training_dataset = generate_labelled_dataset(training_folder_path) -validation_folder_path = Path('2d_plate/validation_datasets') -validation_dataset = generate_labelled_dataset(validation_folder_path) - -# Split the dataset into training and validation sets -X_train = training_dataset[:, :-1] -y_train = training_dataset[:, -1] -X_val = validation_dataset[:, :-1] -y_val = validation_dataset[:, -1] - -# Define the neural network model -model = Sequential([ - Dense(64, activation='relu', input_shape=(6,)), # Input layer (6 features) - Dense(32, activation='relu'), # Hidden layer - Dense(8, activation='softmax') # Output layer (one neuron per class) -]) - -# Compile the model -model.compile(optimizer='adam', - loss='sparse_categorical_crossentropy', # Use sparse_categorical_crossentropy for integer labels - metrics=['accuracy']) - -# Train the model -history = model.fit(X_train, y_train, epochs=10, validation_data=(X_val, y_val)) - -# Generate predictions for the validation set -y_pred = model.predict(X_val) - -# Convert predictions from probabilities to class labels -y_pred_labels = np.argmax(y_pred, axis=1) - -# Compare predicted labels with true labels -for i in range(len(X_val)): - print(f"Row {i+1}: Actual Label = {y_val[i]}, Predicted Label = {y_pred_labels[i]}") - -# Check the model's accuracy on the validation set -val_loss, val_accuracy = model.evaluate(X_val, y_val) -print(f"NN validation Accuracy: {val_accuracy * 100:.2f}%") \ No newline at end of file diff --git a/2d_plate/full_functionality.py b/2d_plate/full_functionality.py deleted file mode 100644 index 8ea7b3d7..00000000 --- a/2d_plate/full_functionality.py +++ /dev/null @@ -1,194 +0,0 @@ -from pathlib import Path -import random -import math -import numpy as np -import pyvale -from sklearn.ensemble import RandomForestClassifier -from sklearn.metrics import accuracy_score - -from mooseherder import (MooseHerd, - MooseRunner, - MooseConfig, - InputModifier, - DirectoryManager, - SweepReader, - ExodusReader) - - -NUM_PARA_RUNS = 1 -USER_DIR = Path.home() - - -def setup_moose_runner(path, filename): - moose_input = Path(str(path + filename)) - moose_modifier = InputModifier(moose_input, '#', '') - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks=1, n_threads=2, redirect_out=False) - return moose_runner, moose_modifier - - -def setup_directory_manager(base_dir, sub_dir_name, n_dirs): - dir_manager = DirectoryManager(n_dirs=n_dirs) - dir_manager.set_base_dir(base_dir) - dir_manager.set_sub_dir_name(sub_dir_name) - dir_manager.clear_dirs() - dir_manager.create_dirs() - return dir_manager - - -def run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_para, keep_flag=False): - herd = MooseHerd([moose_runner], [moose_modifier], dir_manager) - herd.set_num_para_sims(n_para=n_para) - herd.set_keep_flag(keep_flag) - for _ in range(NUM_PARA_RUNS): - herd.run_para(moose_vars) - - sweep_reader = SweepReader(dir_manager, num_para_read=4) - sweep_reader.read_all_output_keys() - read_all = sweep_reader.read_results_para() - - -def generate_ground_truths(moose_runner, moose_modifier, base_dir, param_values): - for i in range(math.ceil(len(param_values[0]) / 5)): - dir_manager = setup_directory_manager(base_dir, 'ground_truth', 1) - run_herd(moose_runner, moose_modifier, dir_manager, [[{}]], 1) - - -def generate_perturbed_datasets(moose_runner, moose_modifier, base_dir, param_names, param_values): - moose_vars = list([]) - n_dirs = 1 - for i in range(len(param_names)): - n_dirs *= len(param_values[i]) - dir_manager = setup_directory_manager(base_dir, str(param_names[0]), n_dirs) - for param in param_values[0]: - moose_vars.append([{str(param_names[0]): param}]) - run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_dirs) - - -def generate_validation_values(param_values, num_validation_values=2): - validation_values = [[]] - for i in range(num_validation_values): - distinct_val = False - while not distinct_val: - validation_value = random.uniform(min([val for sublist in param_values for val in sublist]), - max([val for sublist in param_values for val in sublist])) - if validation_value not in param_values and validation_value not in validation_values: - distinct_val = True - validation_values[0].append(validation_value) - - return validation_values - - -def generate_validation_datasets(moose_runner, moose_modifier, base_dir, param_names, validation_values): - moose_vars = list([]) - n_dirs = 1 - for i in range(len(param_names)): - n_dirs *= len(validation_values[i]) - dir_manager = setup_directory_manager(base_dir, str(param_names[0]), n_dirs) - for param in validation_values[0]: - moose_vars.append([{str(param_names[0]): param}]) - run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_dirs) - - -def generate_datasets(path, filename): - moose_runner, moose_modifier = setup_moose_runner(path, filename) - - parameters = moose_modifier.get_vars() - parameter_names = [[key] for key in parameters.keys()] - default_values = [value for value in parameters.values()] - - param_names = [["max_temp"], ["init_temp"], ["xmax"], ["ymax"], ["thermal_conductivity"], - ["specific_heat"], ["prop_values"]] - param_values = [[[750,1000,1250,1500,1750]],[[30,40,50,60,70]],[[20,30,40,50,60]], - [[4,6,8,10,12]],[[55,65,75,85,95]],[[1,1.5,2,2.5,3]],[[12000,16000,20000,24000,28000]]] - - ''' - for i in range (len(parameter_names)): - parameter_name = parameter_names[i] - default_value = default_values[i] - include = input('Include '+str(parameter_name)+'? (Y/N) ') - if include.upper() == 'Y': - print('Default value:', str(default_value)) - param_names.append([parameter_name]) - parameter_values = input('Enter values for '+str(parameter_name)+' separated by commas ').split(",") - if default_value in parameter_values: - parameter_values.remove(default_value) - param_values.append([parameter_values]) - ''' - - for i in range(len(param_names)): - generate_ground_truths(moose_runner, moose_modifier, Path(str(path+'perturbed_datasets/')), param_values[i]) - generate_perturbed_datasets(moose_runner, moose_modifier, Path(str(path+'perturbed_datasets/')), param_names[i], param_values[i]) - - validation_values = generate_validation_values(param_values[i]) - generate_validation_datasets(moose_runner, moose_modifier, Path(str(path+'validation_datasets/')), param_names[i], validation_values) - generate_ground_truths(moose_runner, moose_modifier, Path(str(path+'validation_datasets/')), validation_values) - - -def generate_labelled_dataset(folder_path): - labelled_dataset = np.empty((0, 7)) - - for file_path in folder_path.rglob('*.e'): - if "ground_truth" in str(file_path): - label = 0 - else: - label = 1 - - sim_data = ExodusReader(file_path).read_all_sim_data() - field_key = "temperature" - - sim_data.coords = sim_data.coords*1000.0 - - xmax = np.max(sim_data.coords[:, 0]) - ymax = np.max(sim_data.coords[:, 1]) - - n_sens = (3,2,1) - x_lims = (0.0,xmax) - y_lims = (0.0,ymax) - z_lims = (0.0,0.0) - sens_pos = pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) - sens_data = pyvale.SensorData(positions=sens_pos) - - tc_array = pyvale.SensorArrayFactory \ - .thermocouples_no_errs(sim_data, - sens_data, - field_key, - spat_dims=2) - - measurements = tc_array.get_measurements()[:, 0, 1] - - measurements = np.append(measurements, label) - labelled_dataset = np.vstack([labelled_dataset, measurements]) - - return labelled_dataset - - -def model(path, filename): - generate_datasets(path, filename) - - X_train = generate_labelled_dataset(Path(str(path+'perturbed_datasets/')))[:, :-1] - y_train = generate_labelled_dataset(Path(str(path+'perturbed_datasets/')))[:, -1] - X_val = generate_labelled_dataset(Path(str(path+'validation_datasets/')))[:, :-1] - y_val = generate_labelled_dataset(Path(str(path+'validation_datasets/')))[:, -1] - - # Need to delete unlabelled datasets - - rf_classifier = RandomForestClassifier(n_estimators=100, random_state=42) - rf_classifier.fit(X_train, y_train) - - y_pred = rf_classifier.predict(X_val) - - for i in range(len(X_val)): - print(f"Row {i + 1}: Actual Label = {y_val[i]}, Predicted Label = {y_pred[i]}") - - val_accuracy = accuracy_score(y_val, y_pred) - print(f"Random Forest Validation Accuracy: {val_accuracy * 100:.2f}%") - - -#path = input('Enter the desired path ') -#filename = input('Enter the input file name ') -path = "2d_plate/" -filename = "plate_2d_thermal.i" -if __name__ == "__main__": - model(path, filename) \ No newline at end of file diff --git a/2d_plate/generate_2d_dataset.py b/2d_plate/generate_2d_dataset.py deleted file mode 100644 index 52761c0f..00000000 --- a/2d_plate/generate_2d_dataset.py +++ /dev/null @@ -1,114 +0,0 @@ -from pathlib import Path -from itertools import product -import random -from mooseherder import (MooseHerd, - MooseRunner, - MooseConfig, - InputModifier, - DirectoryManager, - SweepReader) - -NUM_PARA_RUNS = 2 -USER_DIR = Path.home() - -def generate_datasets(param_names, param_values): - print('Start minimal full functionality example') - - moose_input = Path('2d_plate/plate_2d_thermal.i') - - moose_modifier = InputModifier(moose_input,'#','') - - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = False) - - # Generate ground truth - dir_manager = DirectoryManager(n_dirs=1) - dir_manager.set_base_dir(Path('2d_plate/perturbed_datasets/')) - dir_manager.set_sub_dir_name('ground_truth') - dir_manager.clear_dirs() - dir_manager.create_dirs() - - herd = MooseHerd([moose_runner], [moose_modifier], dir_manager) - herd.set_num_para_sims(n_para=1) - herd.set_keep_flag(False) - - herd.run_para([{}]) - - # Generate perturbed datasets - n_dirs = 1 - for i in range(len(param_names)): - n_dirs *= len(param_values[i]) - dir_manager = DirectoryManager(n_dirs=n_dirs) - - herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) - herd.set_num_para_sims(n_para=n_dirs) - herd.set_keep_flag(False) - - dir_manager.set_base_dir(Path('2d_plate/perturbed_datasets/')) - dir_manager.set_sub_dir_name(str(param_names[0])) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - moose_vars = [] - for param in param_values[0]: - moose_vars.append([{str(param_names[0]):param}]) - - for _ in range(NUM_PARA_RUNS): - herd.run_para(moose_vars) - - # Generate validation datasets - validation_values = [[]] - num_validation_values = 2 - for i in range(num_validation_values): - distinct_val = False - while not distinct_val: - validation_value = random.uniform(min([val for sublist in param_values for val in sublist]), - max([val for sublist in param_values for val in sublist])) - if validation_value not in param_values and validation_value not in validation_values: - distinct_val = True - - n_dirs = 1 - for i in range(len(param_names)): - n_dirs *= len(validation_values[i]) - dir_manager = DirectoryManager(n_dirs=n_dirs) - - herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) - herd.set_num_para_sims(n_para=n_dirs) - herd.set_keep_flag(False) - - dir_manager.set_base_dir(Path('2d_plate/validation_datasets/')) - dir_manager.set_sub_dir_name(str(param_names[0])) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - moose_vars = [] - for param in validation_values[0]: - moose_vars.append([{str(param_names[0]):param}]) - - for _ in range(NUM_PARA_RUNS): - herd.run_para(moose_vars) - - sweep_reader = SweepReader(dir_manager,num_para_read=4) - sweep_reader.read_all_output_keys() - read_all = sweep_reader.read_results_para() - - print('Finished.') - - -param_names = [["xmax"], ["ymax"], ["init_temp"], ["max_temp"], - ["thermal_conductivity"], ["specific_heat"], ["prop_values"]] -param_values = [[[8,22]], - [[5,9]], - [[25,45]], - [[300,900]], - [[18,52]], - [[1.25,2.75]], - [[3000,11000]]] -for i in range(len(param_names)): - generate_datasets(param_names[i], param_values[i]) - - - diff --git a/2d_plate/plate_2d_thermal.i b/2d_plate/plate_2d_thermal.i deleted file mode 100644 index ef9d7119..00000000 --- a/2d_plate/plate_2d_thermal.i +++ /dev/null @@ -1,74 +0,0 @@ -#_* Variables Block -max_temp = 500 -init_temp = 20 -xmax = 10 -ymax = 2 -thermal_conductivity = 45 -specific_heat = 0.5 -prop_values = 8000 -bc1_value = ${init_temp} -bc1_boundary = left -bc2_value = ${max_temp} -bc2_boundary = right -#** - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 20 - ny = 10 - xmax = ${xmax} - ymax = ${ymax} - [] -[] - -[Variables] - [temperature] - initial_condition = ${init_temp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] -[] - -[Materials] - [thermal] - type = HeatConductionMaterial - thermal_conductivity = ${thermal_conductivity} - specific_heat = ${specific_heat} - [] - [density] - type = GenericConstantMaterial - prop_names = 'density' - prop_values = ${prop_values} - [] -[] - -[BCs] - [t_left] - type = DirichletBC - variable = temperature - value = ${bc1_value} - boundary = ${bc1_boundary} - [] - [t_right] - type = FunctionDirichletBC - variable = temperature - function = ${bc2_value} - boundary = ${bc2_boundary} - [] -[] - -[Executioner] - type = Steady -[] - -[Outputs] - console = false - exodus = true -[] diff --git a/3d_monoblock/monoblock_3d_thermal.i b/3d_monoblock/monoblock_3d_thermal.i deleted file mode 100644 index eedb1601..00000000 --- a/3d_monoblock/monoblock_3d_thermal.i +++ /dev/null @@ -1,753 +0,0 @@ -#------------------------------------------------------------------------- -# monoblock_transient_thermal.i -# Author: Luke Humphrey, Lloyd Fletcher -# (c) Copyright UKAEA 2024. -# -#------------------------------------------------------------------------- -# DESCRIPTION -# -# Input file for a thermal simulation of a divertor monoblock. -# -# The monoblock is comprised of a copper-chromium-zirconium (CuCrZr) pipe -# surrounded by tungsten armour with an OFHC copper pipe interlayer in between. -# -# Temperature-variant material properties are implemented via linear -# interpolation from available data. Some of these material properties are not -# used for this thermal simulation, but are in place for a thermomechanical -# model including thermal expansion. -# -# Parameters describing the geometry are present at the top of the file above -# the MOOSE tree structure. These parameters can be modified to produce a -# monoblock design with the specified geometry. -# -# The mesh uses first order elements with a nominal mesh refinement of one -# division per millimetre. -# -# The incoming heat is modelled as a constant heat flux on the top surface of -# the block (i.e. the plasma-facing side). The outgoing heat is modelled as a -# convective heat flux on the internal surface of the copper pipe. Besides this -# heat flux, coolant flow is not modelled; the fluid region is treated as void. -# -# The boundary conditions are the incoming heat flux on the top surface, and -# the coolant temperature. The solve is steady state and outputs temperature. - -#------------------------------------------------------------------------- -# PARAMETER DEFINITIONS - -end_time = 30 -time_step = 0.5 - -#_* - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# Geometry -PI = 3.141592653589793 - -pipeThick = 0.0015 # m -pipeIntDiam = 0.012 # m -pipeExtDiam = ${fparse pipeIntDiam + 2*pipeThick} - -intLayerThick = 0.001 # m -intLayerIntDiam = ${pipeExtDiam} -intLayerExtDiam = ${fparse intLayerIntDiam + 2*intLayerThick} - -monoBThick = 0.003 # m -monoBWidth = ${fparse intLayerExtDiam + 2*monoBThick} -monoBArmHeight = 0.008 # m -monoBDepth = 0.012 # m - -pipeIntCirc = ${fparse PI * pipeIntDiam} - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# Mesh Sizing -meshRefFact = 1 -meshDens = 1000 # divisions per metre (nominal) - -# Mesh Order -secondOrder = false -orderString = FIRST - -# Note: some of the following values must be even integers. This is in some -# cases a requirement for the meshing functions used, else is is to ensure a -# division is present at the centreline, thus allowing zero-displacement -# boundary conditions to be applied to the centre nodes. These values are -# halved, rounded to int, then doubled to ensure the result is an even int. - -# Number of divisions along the top section of the monoblock armour. -monoBArmDivs = ${fparse int(monoBArmHeight * meshDens * meshRefFact)} - -# Number of divisions around each quadrant of the circumference of the pipe, -# interlayer, and radial section of the monoblock armour. -pipeCircSectDivs = ${fparse 2 * int(monoBWidth/2 * meshDens * meshRefFact / 2)} - -# Number of radial divisions for the pipe, interlayer, and radial section of -# the monoblock armour respectively. -pipeRadDivs = ${fparse max(int(pipeThick * meshDens * meshRefFact), 3)} -intLayerRadDivs = ${fparse max(int(intLayerThick * meshDens * meshRefFact), 5)} -monoBRadDivs = ${ - fparse max(int((monoBWidth-intLayerExtDiam)/2 * meshDens * meshRefFact), 5) -} - -# Number of divisions along monoblock depth (i.e. z-dimension). -extrudeDivs = ${fparse max(2 * int(monoBDepth * meshDens * meshRefFact / 2), 4)} - -monoBElemSize = ${fparse monoBDepth / extrudeDivs} -tol = ${fparse monoBElemSize / 10} -ctol = ${fparse pipeIntCirc / (8 * 4 * pipeCircSectDivs)} - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# Material Properties -# Mono-Block/Armour = Tungsten -# Interlayer = Oxygen-Free High-Conductivity (OFHC) Copper -# Cooling pipe = Copper Chromium Zirconium (CuCrZr) - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# Loads and BCs -stressFreeTemp = 20 # degC -coolantTemp = 500 # degC -surfHeatFlux = 100000000.0 # W/m^2 - -#** -#------------------------------------------------------------------------- - -[Mesh] - second_order = ${secondOrder} - - [mesh_monoblock] - type = PolygonConcentricCircleMeshGenerator - num_sides = 4 - polygon_size = ${fparse monoBWidth / 2} - polygon_size_style = apothem # i.e. distance from centre to edge - ring_radii = ' - ${fparse pipeIntDiam / 2} - ${fparse pipeExtDiam / 2} - ${fparse intLayerExtDiam / 2} - ' - num_sectors_per_side = ' - ${pipeCircSectDivs} - ${pipeCircSectDivs} - ${pipeCircSectDivs} - ${pipeCircSectDivs} - ' - ring_intervals = '1 ${pipeRadDivs} ${intLayerRadDivs}' - background_intervals = ${monoBRadDivs} - preserve_volumes = on - flat_side_up = true - ring_block_names = 'void pipe interlayer' - background_block_names = monoblock - interface_boundary_id_shift = 1000 - external_boundary_name = monoblock_boundary - generate_side_specific_boundaries = true - [] - - [mesh_armour] - type = GeneratedMeshGenerator - dim = 2 - xmin = ${fparse monoBWidth /-2} - xmax = ${fparse monoBWidth / 2} - ymin = ${fparse monoBWidth / 2} - ymax = ${fparse monoBWidth / 2 + monoBArmHeight} - nx = ${pipeCircSectDivs} - ny = ${monoBArmDivs} - boundary_name_prefix = armour - [] - - [combine_meshes] - type = StitchedMeshGenerator - inputs = 'mesh_monoblock mesh_armour' - stitch_boundaries_pairs = 'monoblock_boundary armour_bottom' - clear_stitched_boundary_ids = true - [] - - [delete_void] - type = BlockDeletionGenerator - input = combine_meshes - block = void - new_boundary = internal_boundary - [] - - [merge_block_names] - type = RenameBlockGenerator - input = delete_void - old_block = '4 0' - new_block = 'armour armour' - [] - - [merge_boundary_names] - type = RenameBoundaryGenerator - input = merge_block_names - old_boundary = 'armour_top - armour_left 10002 15002 - armour_right 10004 15004 - 10003 15003' - new_boundary = 'top - left left left - right right right - bottom bottom' - [] - - [extrude] - type = AdvancedExtruderGenerator - input = merge_boundary_names - direction = '0 0 1' - heights = ${monoBDepth} - num_layers = ${extrudeDivs} - [] - - [name_node_centre_x_bottom_y_back_z] - type = BoundingBoxNodeSetGenerator - input = extrude - bottom_left = '${fparse -ctol} - ${fparse (monoBWidth/-2)-ctol} - ${fparse -tol}' - top_right = '${fparse ctol} - ${fparse (monoBWidth/-2)+ctol} - ${fparse tol}' - new_boundary = centre_x_bottom_y_back_z - [] - [name_node_centre_x_bottom_y_front_z] - type = BoundingBoxNodeSetGenerator - input = name_node_centre_x_bottom_y_back_z - bottom_left = '${fparse -ctol} - ${fparse (monoBWidth/-2)-ctol} - ${fparse monoBDepth-tol}' - top_right = '${fparse ctol} - ${fparse (monoBWidth/-2)+ctol} - ${fparse monoBDepth+tol}' - new_boundary = centre_x_bottom_y_front_z - [] - [name_node_left_x_bottom_y_centre_z] - type = BoundingBoxNodeSetGenerator - input = name_node_centre_x_bottom_y_front_z - bottom_left = '${fparse (monoBWidth/-2)-ctol} - ${fparse (monoBWidth/-2)-ctol} - ${fparse (monoBDepth/2)-tol}' - top_right = '${fparse (monoBWidth/-2)+ctol} - ${fparse (monoBWidth/-2)+ctol} - ${fparse (monoBDepth/2)+tol}' - new_boundary = left_x_bottom_y_centre_z - [] - [name_node_right_x_bottom_y_centre_z] - type = BoundingBoxNodeSetGenerator - input = name_node_left_x_bottom_y_centre_z - bottom_left = '${fparse (monoBWidth/2)-ctol} - ${fparse (monoBWidth/-2)-ctol} - ${fparse (monoBDepth/2)-tol}' - top_right = '${fparse (monoBWidth/2)+ctol} - ${fparse (monoBWidth/-2)+ctol} - ${fparse (monoBDepth/2)+tol}' - new_boundary = right_x_bottom_y_centre_z - [] -[] - -[Variables] - [temperature] - family = LAGRANGE - order = ${orderString} - initial_condition = ${coolantTemp} - [] -[] - -[Kernels] - [heat_conduction] - type = HeatConduction - variable = temperature - [] - [time_derivative] - type = HeatConductionTimeDerivative - variable = temperature - [] -[] - -[Functions] - [cucrzr_thermal_expansion] - type = PiecewiseLinear - xy_data = ' - 20 1.67e-05 - 50 1.7e-05 - 100 1.73e-05 - 150 1.75e-05 - 200 1.77e-05 - 250 1.78e-05 - 300 1.8e-05 - 350 1.8e-05 - 400 1.81e-05 - 450 1.82e-05 - 500 1.84e-05 - 550 1.85e-05 - 600 1.86e-05 - ' - [] - [copper_thermal_expansion] - type = PiecewiseLinear - xy_data = ' - 20 1.67e-05 - 50 1.7e-05 - 100 1.72e-05 - 150 1.75e-05 - 200 1.77e-05 - 250 1.78e-05 - 300 1.8e-05 - 350 1.81e-05 - 400 1.82e-05 - 450 1.84e-05 - 500 1.85e-05 - 550 1.87e-05 - 600 1.88e-05 - 650 1.9e-05 - 700 1.91e-05 - 750 1.93e-05 - 800 1.96e-05 - 850 1.98e-05 - 900 2.01e-05 - ' - [] - [tungsten_thermal_expansion] - type = PiecewiseLinear - xy_data = ' - 20 4.5e-06 - 100 4.5e-06 - 200 4.53e-06 - 300 4.58e-06 - 400 4.63e-06 - 500 4.68e-06 - 600 4.72e-06 - 700 4.76e-06 - 800 4.81e-06 - 900 4.85e-06 - 1000 4.89e-06 - 1200 4.98e-06 - 1400 5.08e-06 - 1600 5.18e-06 - 1800 5.3e-06 - 2000 5.43e-06 - 2200 5.57e-06 - 2400 5.74e-06 - 2600 5.93e-06 - 2800 6.15e-06 - 3000 6.4e-06 - 3200 6.67e-06 - ' - [] -[] - -[Materials] - [cucrzr_thermal_conductivity] - type = PiecewiseLinearInterpolationMaterial - xy_data = ' - 20 318 - 50 324 - 100 333 - 150 339 - 200 343 - 250 345 - 300 346 - 350 347 - 400 347 - 450 346 - 500 346 - ' - variable = temperature - property = thermal_conductivity - block = 'pipe' - [] - [copper_thermal_conductivity] - type = PiecewiseLinearInterpolationMaterial - xy_data = ' - 20 401 - 50 398 - 100 395 - 150 391 - 200 388 - 250 384 - 300 381 - 350 378 - 400 374 - 450 371 - 500 367 - 550 364 - 600 360 - 650 357 - 700 354 - 750 350 - 800 347 - 850 344 - 900 340 - 950 337 - 1000 334 - ' - variable = temperature - property = thermal_conductivity - block = 'interlayer' - [] - [tungsten_thermal_conductivity] - type = PiecewiseLinearInterpolationMaterial - xy_data = ' - 20 173 - 50 170 - 100 165 - 150 160 - 200 156 - 250 151 - 300 147 - 350 143 - 400 140 - 450 136 - 500 133 - 550 130 - 600 127 - 650 125 - 700 122 - 750 120 - 800 118 - 850 116 - 900 114 - 950 112 - 1000 110 - 1100 108 - 1200 105 - ' - variable = temperature - property = thermal_conductivity - block = 'armour' - [] - - [cucrzr_density] - type = PiecewiseLinearInterpolationMaterial - xy_data = ' - 20 8900 - 50 8886 - 100 8863 - 150 8840 - 200 8816 - 250 8791 - 300 8797 - 350 8742 - 400 8716 - 450 8691 - 500 8665 - ' - variable = temperature - property = density - block = 'pipe' - [] - [copper_density] - type = PiecewiseLinearInterpolationMaterial - xy_data = ' - 20 8940 - 50 8926 - 100 8903 - 150 8879 - 200 8854 - 250 8829 - 300 8802 - 350 8774 - 400 8744 - 450 8713 - 500 8681 - 550 8647 - 600 8612 - 650 8575 - 700 8536 - 750 8495 - 800 8453 - 850 8409 - 900 8363 - ' - variable = temperature - property = density - block = 'interlayer' - [] - [tungsten_density] - type = PiecewiseLinearInterpolationMaterial - xy_data = ' - 20 19300 - 50 19290 - 100 19280 - 150 19270 - 200 19250 - 250 19240 - 300 19230 - 350 19220 - 400 19200 - 450 19190 - 500 19180 - 550 19170 - 600 19150 - 650 19140 - 700 19130 - 750 19110 - 800 19100 - 850 19080 - 900 19070 - 950 19060 - 1000 19040 - 1100 19010 - 1200 18990 - ' - variable = temperature - property = density - block = 'armour' - [] - - [cucrzr_elastic_modulus] - type = PiecewiseLinearInterpolationMaterial - xy_data = ' - 20 128000000000.0 - 50 127000000000.0 - 100 127000000000.0 - 150 125000000000.0 - 200 123000000000.0 - 250 121000000000.0 - 300 118000000000.0 - 350 116000000000.0 - 400 113000000000.0 - 450 110000000000.0 - 500 106000000000.0 - 550 100000000000.0 - 600 95000000000.0 - 650 90000000000.0 - 700 86000000000.0 - ' - variable = temperature - property = elastic_modulus - block = 'pipe' - [] - [copper_elastic_modulus] - type = PiecewiseLinearInterpolationMaterial - xy_data = ' - 20 117000000000.0 - 50 116000000000.0 - 100 114000000000.0 - 150 112000000000.0 - 200 110000000000.0 - 250 108000000000.0 - 300 105000000000.0 - 350 102000000000.0 - 400 98000000000.0 - ' - variable = temperature - property = elastic_modulus - block = 'interlayer' - [] - [tungsten_elastic_modulus] - type = PiecewiseLinearInterpolationMaterial - xy_data = ' - 20 398000000000.0 - 50 398000000000.0 - 100 397000000000.0 - 150 397000000000.0 - 200 396000000000.0 - 250 396000000000.0 - 300 395000000000.0 - 350 394000000000.0 - 400 393000000000.0 - 450 391000000000.0 - 500 390000000000.0 - 550 388000000000.0 - 600 387000000000.0 - 650 385000000000.0 - 700 383000000000.0 - 750 381000000000.0 - 800 379000000000.0 - 850 376000000000.0 - 900 374000000000.0 - 950 371000000000.0 - 1000 368000000000.0 - 1100 362000000000.0 - 1200 356000000000.0 - ' - variable = temperature - property = elastic_modulus - block = 'armour' - [] - - [cucrzr_specific_heat] - type = PiecewiseLinearInterpolationMaterial - xy_data = ' - 20 390 - 50 393 - 100 398 - 150 402 - 200 407 - 250 412 - 300 417 - 350 422 - 400 427 - 450 432 - 500 437 - 550 442 - 600 447 - 650 452 - 700 458 - ' - variable = temperature - property = specific_heat - block = 'pipe' - [] - [copper_specific_heat] - type = PiecewiseLinearInterpolationMaterial - xy_data = ' - 20 388 - 50 390 - 100 394 - 150 398 - 200 401 - 250 406 - 300 410 - 350 415 - 400 419 - 450 424 - 500 430 - 550 435 - 600 441 - 650 447 - 700 453 - 750 459 - 800 466 - 850 472 - 900 479 - 950 487 - 1000 494 - ' - variable = temperature - property = specific_heat - block = 'interlayer' - [] - [tungsten_specific_heat] - type = PiecewiseLinearInterpolationMaterial - xy_data = ' - 20 129 - 50 130 - 100 132 - 150 133 - 200 135 - 250 136 - 300 138 - 350 139 - 400 141 - 450 142 - 500 144 - 550 145 - 600 147 - 650 148 - 700 150 - 750 151 - 800 152 - 850 154 - 900 155 - 950 156 - 1000 158 - 1100 160 - 1200 163 - ' - variable = temperature - property = specific_heat - block = 'armour' - [] - - [cucrzr_elasticity] - type = ComputeVariableIsotropicElasticityTensor - args = temperature - youngs_modulus = elastic_modulus - poissons_ratio = 0.33 - block = 'pipe' - [] - [copper_elasticity] - type = ComputeVariableIsotropicElasticityTensor - args = temperature - youngs_modulus = elastic_modulus - poissons_ratio = 0.33 - block = 'interlayer' - [] - [tungsten_elasticity] - type = ComputeVariableIsotropicElasticityTensor - args = temperature - youngs_modulus = elastic_modulus - poissons_ratio = 0.29 - block = 'armour' - [] - - [cucrzr_expansion] - type = ComputeInstantaneousThermalExpansionFunctionEigenstrain - temperature = temperature - stress_free_temperature = ${stressFreeTemp} - thermal_expansion_function = cucrzr_thermal_expansion - eigenstrain_name = thermal_expansion_eigenstrain - block = 'pipe' - [] - [copper_expansion] - type = ComputeInstantaneousThermalExpansionFunctionEigenstrain - temperature = temperature - stress_free_temperature = ${stressFreeTemp} - thermal_expansion_function = copper_thermal_expansion - eigenstrain_name = thermal_expansion_eigenstrain - block = 'interlayer' - [] - [tungsten_expansion] - type = ComputeInstantaneousThermalExpansionFunctionEigenstrain - temperature = temperature - stress_free_temperature = ${stressFreeTemp} - thermal_expansion_function = tungsten_thermal_expansion - eigenstrain_name = thermal_expansion_eigenstrain - block = 'armour' - [] - - [coolant_heat_transfer_coefficient] - type = PiecewiseLinearInterpolationMaterial - xy_data = ' - 1 4 - 100 109.1e3 - 150 115.9e3 - 200 121.01e3 - 250 128.8e3 - 295 208.2e3 - ' - variable = temperature - property = heat_transfer_coefficient - boundary = 'internal_boundary' - [] -[] - -[BCs] - [heat_flux_in] - type = FunctionNeumannBC - variable = temperature - boundary = 'top' - function = '${fparse surfHeatFlux}*(1-exp(-t))' - [] - [heat_flux_out] - type = ConvectiveHeatFluxBC - variable = temperature - boundary = 'internal_boundary' - T_infinity = ${coolantTemp} - heat_transfer_coefficient = heat_transfer_coefficient - [] -[] - -[Preconditioning] - [smp] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = ${end_time} - dt = ${time_step} -[] - -[Postprocessors] - [max_temp] - type = ElementExtremeValue - variable = temperature - [] -[] - -[Outputs] - exodus = true -[] diff --git a/Makefile b/Makefile deleted file mode 100644 index 64d6dfb4..00000000 --- a/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -############################################################################### -################### MOOSE Application Standard Makefile ####################### -############################################################################### -# -# Optional Environment variables -# MOOSE_DIR - Root directory of the MOOSE project -# -############################################################################### -# Use the MOOSE submodule if it exists and MOOSE_DIR is not set -MOOSE_SUBMODULE := $(CURDIR)/moose -ifneq ($(wildcard $(MOOSE_SUBMODULE)/framework/Makefile),) - MOOSE_DIR ?= $(MOOSE_SUBMODULE) -else - MOOSE_DIR ?= $(shell dirname `pwd`)/moose -endif - -# framework -FRAMEWORK_DIR := $(MOOSE_DIR)/framework -include $(FRAMEWORK_DIR)/build.mk -include $(FRAMEWORK_DIR)/moose.mk - -################################## MODULES #################################### -# To use certain physics included with MOOSE, set variables below to -# yes as needed. Or set ALL_MODULES to yes to turn on everything (overrides -# other set variables). - -ALL_MODULES := no - -CHEMICAL_REACTIONS := no -CONTACT := no -ELECTROMAGNETICS := no -EXTERNAL_PETSC_SOLVER := no -FLUID_PROPERTIES := no -FSI := no -FUNCTIONAL_EXPANSION_TOOLS := no -GEOCHEMISTRY := no -HEAT_TRANSFER := yes -LEVEL_SET := no -MISC := no -NAVIER_STOKES := no -OPTIMIZATION := no -PERIDYNAMICS := no -PHASE_FIELD := no -POROUS_FLOW := no -RAY_TRACING := no -REACTOR := yes -RDG := no -RICHARDS := no -SOLID_MECHANICS := yes -STOCHASTIC_TOOLS := no -THERMAL_HYDRAULICS := yes -XFEM := no - -include $(MOOSE_DIR)/modules/modules.mk -############################################################################### - -# dep apps -APPLICATION_DIR := $(CURDIR) -APPLICATION_NAME := icarus -BUILD_EXEC := yes -GEN_REVISION := no -include $(FRAMEWORK_DIR)/app.mk - -############################################################################### -# Additional special case targets should be added here diff --git a/README.md b/README.md index 56fb4dc4..35b6be9c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,56 @@ -Icarus -===== +# Icarus -Fork "Icarus" to create a new MOOSE-based application. +A set of machine learning tools that engineers can use to assess the agreement between an experiment and simulation; that is, to validate the simulation with experimental data and provide the engineer with a probable reason for any mismatches to allow further investigation and diagnosis. + +Works by generating a valid and invalid simulation results from a given MOOSE input file and training a machine learning classifier to recognise when a result is invalid and what the most probable issue is. Invalid results are generated by running the simulation with user-defined perturbations of parameters from the input file. The user can also control the parallelisation options, the sensors used to extract data from the simulation results, the modelling framework used, the ratio of valid:invalid datasets present in the training and validation data, and more. + +## Installation +### Standard & Developer Installation + +Clone `icarus` to your local system along with submodules using + +``` +git clone --recurse-submodules git@github.com:aurora-multiphysics/icarus.git +``` + +`cd` to the root directory of `icarus` and run the following commmand: + +``` +pip install . +pip install ./dependencies/mooseherder +``` + +`cd` to the dependencies directory of `icarus` and clone `pyvale` using + +``` +git clone --recurse-submodules git@github.com:Computer-Aided-Validation-Laboratory/pyvale.git +``` + +`cd` to `dependencies/pyvale/` and run the following commmand: + +``` +pip install . +``` + +To create an editable/developer installation of `icarus`, `pyvale` and `mooseherder` - follow the instructions for a standard installation but run: + +``` +pip install -e . +pip install -e ./dependencies/pyvale +pip install -e ./dependencies/mooseherder +``` + +### MOOSE App + +`icarus` has been developed and tested using the `proteus` MOOSE app which can be found here: https://github.com/aurora-multiphysics/proteus. Follow the build instructions found on this page to install `proteus`. + +## Getting Started + +The examples folder shows how to use `icarus` for different input files and with different levels of user control. Make sure to include a moose_config.json file wherever you run it, and change the values contained to match your system, and ensure that your project space has an folder for the outputs which is correctly structured (ie contains a folder called perturbed_datasets and a folder called validation_datasets). + +## Contributors + +- Isaac Magee, UK Atomic Energy Authority, (iomags2211) +- Lloyd Fletcher, UK Atomic Energy Authority, (TheScepticalRabbit) +- Luke Humphrey, UK Atomic Energy Authority, (lukethehuman) -For more information see: [https://mooseframework.org/getting_started/new_users.html#create-an-app](https://mooseframework.org/getting_started/new_users.html#create-an-app) diff --git a/dependencies/mooseherder/.gitignore b/dependencies/mooseherder/.gitignore new file mode 100644 index 00000000..59a08138 --- /dev/null +++ b/dependencies/mooseherder/.gitignore @@ -0,0 +1,179 @@ +# MOOSE config/output files +*.e +examples/sim-workdir-* +examples/*.csv +scripts/sim-workdir-* +scripts/*.csv +tests/sim-workdir-* +*.processor.* +# Keep MOOSE output files used for pytest +!examples/example_output/sim-workdir-*/*.e +!tests/output/*.e +!tests/output/sim-workdir-*/*.e + +# Gmsh output files +*.msh + +# VS Code +.vscode/ + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ diff --git a/dependencies/mooseherder/LICENSE b/dependencies/mooseherder/LICENSE new file mode 100644 index 00000000..8000a6fa --- /dev/null +++ b/dependencies/mooseherder/LICENSE @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random + Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/dependencies/mooseherder/README.md b/dependencies/mooseherder/README.md new file mode 100644 index 00000000..9da4ef53 --- /dev/null +++ b/dependencies/mooseherder/README.md @@ -0,0 +1,44 @@ +# MOOSEHerder +A `mooseherder` for calling multiple MOOSE simulations in parallel from python with configurable parallelisation options. Includes functionality to read and edit MOOSE/gmsh input scripts as well as reading the associated output of the simulation in parallel. + +The main use cases for `mooseherder` include running parametric sweeps of small to medium size simulations for mesh convergence analysis; fitting surrogate/reduced order models; and optimisation problems. + +## Installation +### Virtual Environment + +We recommend installing `mooseherder` in a virtual environment using `venv` or `mooseherder` can be installed into an existing environment of your choice. To create a specific virtual environment for `mooseherder` use: + +``` +python3 -m venv herder-env +source herder-env/bin/activate +``` + +### Standard Installation from PyPI + +You can install from PyPI: + +``` +pip install mooseherder +``` + +### Developer Installation + +Clone `mooseherder` to your local system and `cd` to the root directory of `mooseherder`. Ensure you virtual environment is activated and run from the `mooseherder` root directory: + +``` +pip install -e . +``` + +### MOOSE App + +`mooseherder` has been developed and tested using the `proteus` MOOSE app which can be found here: https://github.com/aurora-multiphysics/proteus. Follow the build instructions found on this page to install `proteus`. + +## Getting Started + +The examples folder includes a sequence of examples using `mooseherder` to run the MOOSE tensor mechanics module with and without coupling to gmsh. + +## Contributors + +- Lloyd Fletcher, UK Atomic Energy Authority, (TheScepticalRabbit) +- Rory Spencer, UK Atomic Energy Authority, (fusmatrs) +- Luke Humphrey, UK Atomic Energy Authority, (lukethehuman) \ No newline at end of file diff --git a/dependencies/mooseherder/dev/dev_create_moose_config.py b/dependencies/mooseherder/dev/dev_create_moose_config.py new file mode 100644 index 00000000..4400726e --- /dev/null +++ b/dependencies/mooseherder/dev/dev_create_moose_config.py @@ -0,0 +1,16 @@ +from pathlib import Path +from mooseherder.mooseconfig import MooseConfig + +USER_DIR = Path.home() + +config = {'main_path': USER_DIR / 'moose', + 'app_path': USER_DIR / 'proteus', + 'app_name': 'proteus-opt'} + +moose_config = MooseConfig(config) + +save_path = Path.cwd() / 'moose-config.json' +moose_config.save_config(save_path) + +save_path = Path.home() / 'py-workdir' / 'pycave' / 'scripts' / 'moose-config.json' +moose_config.save_config diff --git a/dependencies/mooseherder/dev/dev_para_multi_moose.py b/dependencies/mooseherder/dev/dev_para_multi_moose.py new file mode 100644 index 00000000..9a2e0809 --- /dev/null +++ b/dependencies/mooseherder/dev/dev_para_multi_moose.py @@ -0,0 +1,138 @@ +''' +============================================================================== +EXAMPLE: Run MOOSE in sequential then parallel mode then read sweep results + +Author: Lloyd Fletcher, Rory Spencer +============================================================================== +''' +import time +from pathlib import Path +from pprint import pprint +import numpy as np +from mooseherder import MooseHerd +from mooseherder import MooseRunner +from mooseherder import MooseConfig +from mooseherder import GmshRunner +from mooseherder import InputModifier +from mooseherder import DirectoryManager +from mooseherder import SweepReader +from mooseherder import ExodusReader + +USER_DIR = Path.home() + +def main() -> None: + """main: parallel herd run multiple times and read + """ + print("-"*80) + print('EXAMPLE: Parallel Herd Setup & Run') + print("-"*80) + # Setup the MOOSE input modifier and runner + moose_input = Path('scripts/moose/moose-mech-simple.i') + moose_modifier = InputModifier(moose_input,'#','') + + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = True) + + # Setup Gmsh + gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') + gmsh_modifier = InputModifier(gmsh_input,'//',';') + + gmsh_path = USER_DIR / 'gmsh/bin/gmsh' + gmsh_runner = GmshRunner(gmsh_path) + gmsh_runner.set_input_file(gmsh_input) + + # Setup herd composition + sim_runners = [gmsh_runner,moose_runner] + input_modifiers = [gmsh_modifier,moose_modifier] + dir_manager = DirectoryManager(n_dirs=4) + + # Start the herd and create working directories + herd = MooseHerd(sim_runners,input_modifiers,dir_manager) + # Set the parallelisation options, we have 8 combinations of variables and + # 4 MOOSE intances running, so 2 runs will be saved in each working directory + herd.set_num_para_sims(n_para=4) + + # Send all the output to the examples directory and clear out old output + dir_manager.set_base_dir(Path('examples/')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + # Create variables to sweep in a list of dictionaries, 8 combinations possible. + p0 = [1E-3,2E-3] + p1 = [1.5E-3,2E-3] + p2 = [1E-3,3E-3] + var_sweep = list([]) + for nn in p0: + for ee in p1: + for pp in p2: + var_sweep.append([{'p0':nn,'p1':ee,'p2':pp},None]) + + print('Herd sweep variables:') + pprint(var_sweep) + print() + + print() + print('Running MOOSE in parallel.') + herd.run_para(var_sweep) + + print(f'Run time (parallel) = {herd.get_sweep_time():.3f} seconds') + print("-"*80) + print() + + print("-"*80) + print('EXAMPLE: Read Herd Output') + print("-"*80) + sweep_reader = SweepReader(dir_manager,num_para_read=4) + output_files = sweep_reader.read_all_output_keys() + + read_config = ExodusReader(output_files[0][1]).get_read_config() # type: ignore + read_config.time_inds = np.array([0,2]) + + print('Herd output files (from output_keys.json):') + pprint(output_files) + print() + + print("-"*80) + print('Reading the first output file, no SimReadConfig = read all.') + print('Returns the first sim chain as list of SimData objects.') + print() + sim_data_chain = sweep_reader.read_results_once(output_files[1]) + print(sim_data_chain[0]) + print() + + print("-"*80) + print('Reading all output files sequentially as a list(SimData).') + print('All function parameters blank to read everything.') + print() + start_time = time.perf_counter() + sweep_results_seq = sweep_reader.read_results_sequential(read_config=read_config) + read_time_seq = time.perf_counter() - start_time + + print(f'Number of simulations read: {len(sweep_results_seq):d}') + + print("-"*80) + print('Reading all output files in parallel as list(SimData).') + print('All function parameters blank to read everything.') + print() + + start_time = time.perf_counter() + sweep_results_para = sweep_reader.read_results_para(read_config=read_config) + read_time_para = time.perf_counter() - start_time + + print(f'Number of simulations outputs: {len(sweep_results_para):d}') + + print() + print("="*80) + print(f'Read time sequential = {read_time_seq:.6f} seconds') + print(f'Read time parallel = {read_time_para:.6f} seconds') + print("="*80) + print() + + print(sweep_results_para[0][1].node_vars['disp_x'].shape) # type: ignore + + +if __name__ == '__main__': + main() diff --git a/dependencies/mooseherder/dev/dev_read_exodus.py b/dependencies/mooseherder/dev/dev_read_exodus.py new file mode 100644 index 00000000..d66ef61a --- /dev/null +++ b/dependencies/mooseherder/dev/dev_read_exodus.py @@ -0,0 +1,17 @@ +from pathlib import Path +from mooseherder import ExodusReader + +def main() -> None: + output_file = Path.home()/'moose-workdir'/'dice_output'/'DICe_solution.e' + exodus_reader = ExodusReader(output_file) + + sim_data = exodus_reader.read_all_sim_data() + + print() + print(sim_data.time) + print(sim_data.coords) + print(sim_data.node_vars) + print() + +if __name__ == '__main__': + main() diff --git a/dependencies/mooseherder/examples/ex0_create_moose_config.py b/dependencies/mooseherder/examples/ex0_create_moose_config.py new file mode 100644 index 00000000..751cb182 --- /dev/null +++ b/dependencies/mooseherder/examples/ex0_create_moose_config.py @@ -0,0 +1,27 @@ +""" +============================================================================== +EXAMPLE: Create moose-config.json + +Author: Lloyd Fletcher +============================================================================== +""" +from pathlib import Path +from mooseherder import MooseConfig + + +def main() -> None: + """main: create moose config json + """ + config = {'main_path': Path.home()/ 'moose', + 'app_path': Path.home() / 'proteus', + 'app_name': 'proteus-opt'} + + moose_config = MooseConfig(config) + + save_path = Path.cwd() / 'moose-config.json' + moose_config.save_config(save_path) + + +if __name__ == "__main__": + main() + diff --git a/dependencies/mooseherder/examples/ex1a_modify_moose_input.py b/dependencies/mooseherder/examples/ex1a_modify_moose_input.py new file mode 100644 index 00000000..6eaeb580 --- /dev/null +++ b/dependencies/mooseherder/examples/ex1a_modify_moose_input.py @@ -0,0 +1,46 @@ +""" +============================================================================== +EXAMPLE: Modify input script for MOOSE with mooseherder + +Author: Lloyd Fletcher +============================================================================== +""" +from pathlib import Path +from mooseherder import InputModifier + +MOOSE_INPUT = Path("scripts/moose/moose-mech-simple.i") + + +def main() -> None: + """main: modify moose input script and write modified file. + """ + print("-"*80) + print("EXAMPLE: Modify MOOSE input script") + print("-"*80) + moose_mod = InputModifier(MOOSE_INPUT, comment_char="#", end_char="") + + print("Variables found the top of the MOOSE input file:") + print(moose_mod.get_vars()) + print() + + new_vars = {"n_elem_y": 40, "e_modulus": 3.3e9} + moose_mod.update_vars(new_vars) + + print("New variables inserted:") + print(moose_mod.get_vars()) + print() + + moose_save = Path("scripts/moose-mech_mod-vars.i") + moose_mod.write_file(moose_save) + + print("Modified input script written to:") + print(moose_save) + print() + + print("Example complete.") + print("-"*80) + print() + + +if __name__ == "__main__": + main() diff --git a/dependencies/mooseherder/examples/ex1b_modify_gmsh_input.py b/dependencies/mooseherder/examples/ex1b_modify_gmsh_input.py new file mode 100644 index 00000000..d7c95506 --- /dev/null +++ b/dependencies/mooseherder/examples/ex1b_modify_gmsh_input.py @@ -0,0 +1,46 @@ +""" +============================================================================== +EXAMPLE: Modify input script for gmsh with mooseherder + +Author: Lloyd Fletcher +============================================================================== +""" +from pathlib import Path +from mooseherder import InputModifier + +GMSH_INPUT = Path("scripts/gmsh/gmsh_tens_spline_2d.geo") + + +def main() -> None: + """main: modify gmsh input and save to file + """ + print("-"*80) + print("EXAMPLE: Modify gmsh input script") + print("-"*80) + gmsh_mod = InputModifier(GMSH_INPUT, "//", ";") + + print("Variables found the top of the gmsh input file:") + print(gmsh_mod.get_vars()) + print() + + new_vars = {"p0": 0.0018, "p1": 0.0012, "p2": 0.001} + gmsh_mod.update_vars(new_vars) + + print("New variables inserted:") + print(gmsh_mod.get_vars()) + print() + + gmsh_save = Path("scripts/gmsh_tens_spline_2d-mod_vars.geo") + gmsh_mod.write_file(gmsh_save) + + print("Modified input script written to:") + print(gmsh_save) + print() + + print("Example complete.") + print("-"*80) + print() + + +if __name__ == "__main__": + main() diff --git a/dependencies/mooseherder/examples/ex2a_run_moose_once.py b/dependencies/mooseherder/examples/ex2a_run_moose_once.py new file mode 100644 index 00000000..bad367d9 --- /dev/null +++ b/dependencies/mooseherder/examples/ex2a_run_moose_once.py @@ -0,0 +1,51 @@ +""" +============================================================================== +EXAMPLE: Run MOOSE using mooseherder once + +Author: Lloyd Fletcher +============================================================================== +""" +import time +from pathlib import Path +from mooseherder import (MooseConfig, + MooseRunner) + +def main() -> None: + """main: run moose once with runner class + """ + print("-"*80) + print('EXAMPLE: Run MOOSE once') + print("-"*80) + + config_path = Path.cwd() / 'moose-config.json' + moose_config = MooseConfig().read_config(config_path) + print(f'Reading MOOSE config from: \n{str(config_path)}\n') + + print('Creating the MooseRunner with the specified config.\n') + moose_runner = MooseRunner(moose_config) + + print('Setting the input file and run parallelisation options.\n') + + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 8, + redirect_out = False) + + input_file = Path('scripts/moose/moose-mech-simple.i') + moose_runner.set_input_file(input_file) + + # Run the MOOSE! + print('Running moose with:') + print(moose_runner.get_arg_list()) + + start_time = time.perf_counter() + moose_runner.run() + run_time = time.perf_counter() - start_time + + print() + print(f'MOOSE run time = {run_time:.3f} seconds') + print("-"*80) + print() + +if __name__ == '__main__': + main() + diff --git a/dependencies/mooseherder/examples/ex2b_run_gmsh_once.py b/dependencies/mooseherder/examples/ex2b_run_gmsh_once.py new file mode 100644 index 00000000..22d4ba90 --- /dev/null +++ b/dependencies/mooseherder/examples/ex2b_run_gmsh_once.py @@ -0,0 +1,63 @@ +""" +============================================================================== +EXAMPLE: Run gmsh with mooseherder once + +Author: Lloyd Fletcher +============================================================================== +""" +import time +from pathlib import Path +from mooseherder import GmshRunner + +USER_DIR = Path.home() + +def main(): + """main: create mesh with gmsh in 2D then 3D + """ + print("-"*80) + print('EXAMPLE: Run Gmsh 2D once') + print("-"*80) + gmsh_path = USER_DIR / 'gmsh/bin/gmsh' + gmsh_runner = GmshRunner(gmsh_path) + + gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') + gmsh_runner.set_input_file(gmsh_input) + + print('Gmsh path:' + str(gmsh_path)) + print('Gmsh input:' + str(gmsh_input)) + + print('Running gmsh...') + start_time = time.perf_counter() + gmsh_runner.run(gmsh_input,parse_only=True) + run_time = time.perf_counter() - start_time + + print() + print(f'Gmsh 2D run time = {run_time :.3f} seconds') + print("-"*80) + print() + + print("-"*80) + print('EXAMPLE: Run Gmsh 3D once') + print("-"*80) + gmsh_path = USER_DIR / 'gmsh/bin/gmsh' + gmsh_runner = GmshRunner(gmsh_path) + + gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_3d.geo') + gmsh_runner.set_input_file(gmsh_input) + + print('Gmsh path:' + str(gmsh_path)) + print('Gmsh input:' + str(gmsh_input)) + + print('Running gmsh...') + start_time = time.perf_counter() + gmsh_runner.run(gmsh_input,parse_only=True) + run_time = time.perf_counter() - start_time + + print() + print(f'Gmsh 3D run time = {run_time :.3f} seconds') + print("-"*80) + print() + + +if __name__ == '__main__': + main() diff --git a/dependencies/mooseherder/examples/ex2c_run_both_once .py b/dependencies/mooseherder/examples/ex2c_run_both_once .py new file mode 100644 index 00000000..a8334caf --- /dev/null +++ b/dependencies/mooseherder/examples/ex2c_run_both_once .py @@ -0,0 +1,86 @@ +""" +============================================================================== +EXAMPLE: Run gmsh+MOOSE once with mooseherder with MOOSE reading the gmsh +generated mesh. + +Author: Lloyd Fletcher +============================================================================== +""" +import time +import os +import shutil +from pathlib import Path +from mooseherder import (MooseConfig, + GmshRunner, + MooseRunner) + +USER_DIR = Path.home() + +def main(): + """main: run gmsh and moose once + """ + print("-"*80) + print('EXAMPLE: Run Gmsh+MOOSE once') + print("-"*80) + + gmsh_path = USER_DIR / 'gmsh/bin/gmsh' + gmsh_runner = GmshRunner(gmsh_path) + + gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') + gmsh_runner.set_input_file(gmsh_input) + + print('Gmsh path:' + str(gmsh_path)) + print('Gmsh input:' + str(gmsh_input)) + print() + + print('Running gmsh...') + print() + + gmsh_start = time.perf_counter() + gmsh_runner.run() + gmsh_run_time = time.perf_counter()-gmsh_start + + config_path = Path.cwd() / 'moose-config.json' + + print(f'Reading MOOSE config from: \n{str(config_path)}\n') + + moose_config = MooseConfig() + moose_config.read_config(config_path) + + print('Creating the MooseRunner with the specified config.\n') + + moose_runner = MooseRunner(moose_config) + + + print('Setting the input file and run parallelisation options.\n') + + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 4, + redirect_out = True) + input_file = Path('scripts/moose/moose-mech-gmsh.i') + moose_runner.set_input_file(input_file) + + # Copy mesh file into the directory + moose_mesh_file = os.path.split(input_file)[0]+'/mesh_tens_spline_2d.msh' + moose_mesh_file = input_file.parent / 'mesh_tens_spline_2d.msh' + msh_file = Path('scripts/gmsh/mesh_tens_spline_2d.msh') + shutil.copyfile(msh_file,moose_mesh_file) + + # Run the MOOSE! + print('Running moose with:') + print(moose_runner.get_arg_list()) + print() + + moose_start = time.perf_counter() + moose_runner.run() + moose_run_time = time.perf_counter() - moose_start + + print(f'Gmsh run time = {gmsh_run_time:.2f} seconds') + print(f'MOOOSE run time = {moose_run_time:.2f} seconds') + print("-"*80) + print() + +if __name__ == '__main__': + main() + + diff --git a/dependencies/mooseherder/examples/ex3_run_moose_seq_para.py b/dependencies/mooseherder/examples/ex3_run_moose_seq_para.py new file mode 100644 index 00000000..9f6fd697 --- /dev/null +++ b/dependencies/mooseherder/examples/ex3_run_moose_seq_para.py @@ -0,0 +1,103 @@ +''' +============================================================================== +EXAMPLE: Run MOOSE in sequential then parallel mode with mooseherder + +Author: Lloyd Fletcher, Rory Spencer +============================================================================== +''' +from pathlib import Path +from mooseherder import (MooseHerd, + MooseRunner, + InputModifier, + DirectoryManager, + MooseConfig) + +USER_DIR = Path.home() + +def main(): + """main: run moose once, sequential then parallel. + """ + print("-"*80) + print('EXAMPLE: Herd Setup') + print("-"*80) + + config_path = Path.cwd() / 'moose-config.json' + moose_config = MooseConfig().read_config(config_path) + moose_input = Path('scripts/moose/moose-mech-simple.i') + + moose_modifier = InputModifier(moose_input,'#','') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = True) + + dir_manager = DirectoryManager(n_dirs=4) + + # Start the herd and create working directories + herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) + + # Set the parallelisation options, we have 8 combinations of variables and + # 4 MOOSE intances running, so 2 runs will be saved in each working directory + herd.set_num_para_sims(n_para=4) + + # Send all the output to the examples directory and clear out old output + dir_manager.set_base_dir(Path('examples/')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + # Create variables to sweep in a list of dictionaries, 8 combinations possible. + n_elem_y = [10,20] + e_mod = [1e9,2e9] + p_rat = [0.3,0.35] + moose_vars = list([]) + for nn in n_elem_y: + for ee in e_mod: + for pp in p_rat: + # Needs to be list[list[dict]] - outer list is simulation iteration, + # inner list is what is passed to each runner/inputmodifier + moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) + + print('Herd sweep variables:') + for vv in moose_vars: + print(vv) + + print() + print("-"*80) + print('EXAMPLE: Run MOOSE once') + print("-"*80) + + # Single run saved in sim-workdir-1 + herd.run_once(0,moose_vars[0]) + + print(f'Run time (once) = {herd.get_iter_time():.3f} seconds') + print("-"*80) + print() + + print("-"*80) + print('EXAMPLE: Run MOOSE sequentially') + print("-"*80) + + # Run all variable combinations (8) sequentially in sim-workdir-1 + herd.run_sequential(moose_vars) + + print(f'Run time (seq) = {herd.get_sweep_time():.3f} seconds') + print("-"*80) + print() + + print("-"*80) + print('EXAMPLE: Run MOOSE in parallel') + print("-"*80) + + # Run all variable combinations across 4 MOOSE instances with two runs saved in + # each sim-workdir + herd.run_para(moose_vars) + + print(f'Run time (para) = {herd.get_sweep_time():.3f} seconds') + print("-"*80) + print() + + +if __name__ == '__main__': + main() + + diff --git a/dependencies/mooseherder/examples/ex4_run_gmsh-moose_seq_para.py b/dependencies/mooseherder/examples/ex4_run_gmsh-moose_seq_para.py new file mode 100644 index 00000000..cca44c16 --- /dev/null +++ b/dependencies/mooseherder/examples/ex4_run_gmsh-moose_seq_para.py @@ -0,0 +1,108 @@ +''' +============================================================================== +EXAMPLE: Run parallel gmsh+MOOSE simulation editing the gmsh parameters only + +Author: Lloyd Fletcher, Rory Spencer +============================================================================== +''' +from pathlib import Path +from mooseherder import (MooseHerd, + MooseRunner, + MooseConfig, + GmshRunner, + InputModifier, + DirectoryManager) + +USER_DIR = Path.home() + +def main(): + """main _summary_ + """ + print("-"*80) + print('EXAMPLE: Herd Setup') + print("-"*80) + + # Setup MOOSE runner and input modifier + moose_input = Path('scripts/moose/moose-mech-gmsh.i') + moose_modifier = InputModifier(moose_input,'#','') + + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = True) + + # Setup Gmsh + gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') + gmsh_modifier = InputModifier(gmsh_input,'//',';') + + gmsh_path = USER_DIR / 'gmsh/bin/gmsh' + gmsh_runner = GmshRunner(gmsh_path) + gmsh_runner.set_input_file(gmsh_input) + + # Setup herd composition + sim_runners = [gmsh_runner,moose_runner] + input_modifiers = [gmsh_modifier,moose_modifier] + dir_manager = DirectoryManager(n_dirs=4) + + # Start the herd and create working directories + herd = MooseHerd(sim_runners,input_modifiers,dir_manager) + herd.set_num_para_sims(n_para=4) + # Don't have to clear directories on creation of the herd but we do so here + # so that directory creation doesn't raise errors + dir_manager.set_base_dir(Path('examples/')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + # Create variables to sweep in a list of dictionaries for mesh parameters + # 2^3=8 combinations possible + p0 = [1E-3,2E-3] + p1 = [1.5E-3,2E-3] + p2 = [1E-3,3E-3] + var_sweep = list([]) + for nn in p0: + for ee in p1: + for pp in p2: + var_sweep.append([{'p0':nn,'p1':ee,'p2':pp},None]) + + print('Herd sweep variables:') + for vv in var_sweep: + print(vv) + + print() + print("-"*80) + print('EXAMPLE: Run Gmsh+MOOSE once, modify gmsh only') + print("-"*80) + + # Single run saved in sim-workdir-1 + herd.run_once(0,var_sweep[0]) + + print(f'Run time (once) = {herd.get_iter_time():.3f}) seconds') + print("-"*80) + print() + + print("-"*80) + print('EXAMPLE 4b: Run MOOSE sequentially, modify gmsh only') + print("-"*80) + + # Run all variable combinations (8) sequentially in sim-workdir-1 + herd.run_sequential(var_sweep) + + print(f'Run time (sequential) = {herd.get_sweep_time():.3f} seconds') + print("-"*80) + print() + print("-"*80) + print('EXAMPLE: Run MOOSE in parallel, modify gmsh only') + print("-"*80) + + # Run all variable combinations across 4 MOOSE instances with two runs saved in + # each sim-workdir + herd.run_para(var_sweep) + + print(f'Run time (parallel) = {herd.get_sweep_time():.3f} seconds') + print("-"*80) + print() + +if __name__ == '__main__': + main() + diff --git a/dependencies/mooseherder/examples/ex5_run_moose_paramulti.py b/dependencies/mooseherder/examples/ex5_run_moose_paramulti.py new file mode 100644 index 00000000..e0801911 --- /dev/null +++ b/dependencies/mooseherder/examples/ex5_run_moose_paramulti.py @@ -0,0 +1,85 @@ +''' +============================================================================== +EXMAPLE: Run MOOSE in sequential then parallel mode with mooseherder + +Author: Lloyd Fletcher, Rory Spencer +============================================================================== +''' +from pathlib import Path +from mooseherder import (MooseHerd, + MooseRunner, + MooseConfig, + InputModifier, + DirectoryManager) + +NUM_PARA_RUNS = 3 +USER_DIR = Path.home() + +def main(): + """main: run moose once, sequential then parallel. + """ + print("-"*80) + print('EXMAPLE: Herd Setup') + print("-"*80) + + # Setup the MOOSE input modifier and runner + moose_input = Path('scripts/moose/moose-mech-simple.i') + moose_modifier = InputModifier(moose_input,'#','') + + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = True) + + dir_manager = DirectoryManager(n_dirs=4) + + # Start the herd and create working directories + herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) + + # Set the parallelisation options, we have 8 combinations of variables and + # 4 MOOSE intances running, so 2 runs will be saved in each working directory + herd.set_num_para_sims(n_para=4) + + # Send all the output to the examples directory and clear out old output + dir_manager.set_base_dir(Path('examples/')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + # Create variables to sweep in a list of dictionaries, 8 combinations possible. + n_elem_y = [10,20] + e_mod = [1e9,2e9] + p_rat = [0.3,0.35] + moose_vars = list([]) + for nn in n_elem_y: + for ee in e_mod: + for pp in p_rat: + # Needs to be list[list[dict]] - outer list is simulation iteration, + # inner list is what is passed to each runner/inputmodifier + moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) + + print('Herd sweep variables:') + for vv in moose_vars: + print(vv) + + + print() + print("-"*80) + print('EXMAPLE: Run MOOSE in parallel x3') + print("-"*80) + + # Run all variable combinations across 4 MOOSE instances with two runs saved in + # each sim-workdir + for rr in range(NUM_PARA_RUNS): + herd.run_para(moose_vars) + + print(f'Run time (para {rr+1}) = {herd.get_sweep_time():.3f} seconds') + print("-"*80) + + print() + + +if __name__ == '__main__': + main() + + diff --git a/dependencies/mooseherder/examples/ex6_read_moose_exodus.py b/dependencies/mooseherder/examples/ex6_read_moose_exodus.py new file mode 100644 index 00000000..8ee74433 --- /dev/null +++ b/dependencies/mooseherder/examples/ex6_read_moose_exodus.py @@ -0,0 +1,127 @@ +""" +============================================================================== +EXMAPLE: Run MOOSE once with mooseherder and read the exodus output + +Author: Lloyd Fletcher +============================================================================== +""" +import time +from pprint import pprint +from pathlib import Path +from typing import Any +import numpy as np +from mooseherder import (MooseRunner, + MooseConfig, + ExodusReader) + +USER_DIR = Path.home() + + +def print_attrs(in_obj: Any) -> None: + _ = [print(aa) for aa in dir(in_obj) if '__' not in aa] + + +def main() -> None: + """main: run moose once and read the exodus output + """ + print('='*80) + print('EXAMPLE: Run MOOSE once, read exodus.') + print('='*80) + print('Generating exodus output to read by running MOOSE once.') + + # Create the moose runner with correct paths to moose and apps + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + + # Set input and parallelisation options + moose_runner.set_run_opts(n_tasks = 1, n_threads = 4,redirect_out = True) + input_file = Path('scripts/moose/moose-mech-simple.i') + moose_runner.set_input_file(input_file) + + # Run the MOOSE! + print('Running moose with:') + print(moose_runner.get_arg_list()) + + start_time = time.perf_counter() + moose_runner.run() + run_time = time.perf_counter() - start_time + + print() + print(f'MOOSE run time = {run_time:.3f} seconds') + print('='*80) + print() + + output_file = Path('scripts/moose/moose-mech-simple_out.e') + print('Reading exodus file with ExodusReader:') + print(output_file) + print() + + exodus_reader = ExodusReader(output_file) + + print('Read all data in the exodus file returning a SimData object with everything.') + all_sim_data = exodus_reader.read_all_sim_data() + pprint(type(all_sim_data)) + print() + print('Attributes of SimData:') + print_attrs(all_sim_data) + print() + + print('Read only specific node/element/global variables using SimReadConfig.') + print('Use ExodusReader to get SimReadConfig with all variables then edit it.') + read_config = exodus_reader.get_read_config() + pprint(type(read_config)) + print() + print('Attributes of SimReadConfig:') + print_attrs(read_config) + print() + + print('Set any attribute of SimReadConfig to None to not read data.') + print('This example sets elem_vars to None and reads the exodus:') + read_config.elem_vars = None + sim_data = exodus_reader.read_sim_data(read_config) + print(f'sim_data.elem_vars = {sim_data.elem_vars}') + print() + + print('The attributes of SimReadConfig for time, coords and connect ') + print('can be set to None or False to not be read or True to be read.') + print('Here we turn off reading for time, coords and connect:') + read_config.time = False + read_config.coords = False + read_config.connect = False + sim_data = exodus_reader.read_sim_data(read_config) + print(f'sim_data.time = {sim_data.time}') + print(f'sim_data.coords = {sim_data.coords}') + print(f'sim_data.connect = {sim_data.connect}') + print() + print('Turning back on reading for time, coords and connect.') + read_config.time = True + read_config.coords = True + read_config.connect = True + sim_data = exodus_reader.read_sim_data(read_config) + print(f'sim_data.time = {sim_data.time}') + print(f'sim_data.coords = {sim_data.coords}') + print(f'sim_data.connect = {sim_data.connect}') + print() + + print('Set attributes of SimReadConfig to a list of names as np.array') + print('This example only reads disp_x from the nodal variables:') + read_config.node_vars = np.array(['disp_x']) + sim_data = exodus_reader.read_sim_data(read_config) + print('sim_data.node_vars =') + pprint(sim_data.node_vars) + print() + + print('Element variables are an exception as they also need a block.') + read_config.elem_vars = [('strain_xx',1),('strain_yy',1)] + sim_data = exodus_reader.read_sim_data(read_config) + print("sim_data.elem_vars[('strain_xx',1)] = ") + pprint(sim_data.elem_vars[('strain_xx',1)]) # type: ignore + print() + + print('NOTE: depending on output settings element variables may appear as nodal.') + print('-'*80) + print() + + +if __name__ == '__main__': + main() diff --git a/dependencies/mooseherder/examples/ex7a_read_moose_herd_results.py b/dependencies/mooseherder/examples/ex7a_read_moose_herd_results.py new file mode 100644 index 00000000..9deaebde --- /dev/null +++ b/dependencies/mooseherder/examples/ex7a_read_moose_herd_results.py @@ -0,0 +1,119 @@ +''' +============================================================================== +EXAMPLE: Run MOOSE in sequential then parallel mode then read sweep results + +Author: Lloyd Fletcher, Rory Spencer +============================================================================== +''' +import time +from pathlib import Path +from pprint import pprint +from mooseherder import (MooseHerd, + MooseRunner, + MooseConfig, + InputModifier, + DirectoryManager, + SweepReader) + +USER_DIR = Path.home() + +def main() -> None: + """main: parallel herd run once and read + """ + print("-"*80) + print('EXAMPLE: Parallel Herd Setup & Run') + print("-"*80) + # Setup the MOOSE input modifier and runner + moose_input = Path('scripts/moose/moose-mech-simple.i') + moose_modifier = InputModifier(moose_input,'#','') + + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = True) + + dir_manager = DirectoryManager(n_dirs=4) + + # Start the herd and create working directories + herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) + + # Set the parallelisation options, we have 8 combinations of variables and + # 4 MOOSE intances running, so 2 runs will be saved in each working directory + herd.set_num_para_sims(n_para=4) + + # Send all the output to the examples directory and clear out old output + dir_manager.set_base_dir(Path('examples/')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + # Create variables to sweep in a list of dictionaries, 8 combinations possible. + n_elem_y = [10,20] + e_mod = [1e9,2e9] + p_rat = [0.3,0.35] + moose_vars = list([]) + for nn in n_elem_y: + for ee in e_mod: + for pp in p_rat: + # Needs to be list[list[dict]] - outer list is simulation iteration, + # inner list is what is passed to each runner/inputmodifier + moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) + + print('Herd sweep variables:') + pprint(moose_vars) + + print() + print('Running MOOSE in parallel.') + herd.run_para(moose_vars) + + print(f'Run time (parallel) = {herd.get_sweep_time():.3f} seconds') + print("-"*80) + print() + + print("-"*80) + print('EXAMPLE: Read Herd Output') + print("-"*80) + sweep_reader = SweepReader(dir_manager,num_para_read=4) + output_files = sweep_reader.read_all_output_keys() + + print('Herd output files (from output_keys.json):') + pprint(output_files) + print() + + print("-"*80) + print('Reading the first output file, no SimReadConfig = read all.') + print('Returns as SimData object.') + single_sim_data = sweep_reader.read_results_once(output_files[0]) + print(type(single_sim_data)) + print() + + print("-"*80) + print('Reading all output files sequentially as a list(SimData).') + print('All function parameters blank to read everything.') + print() + start_time = time.perf_counter() + sweep_results_seq = sweep_reader.read_results_sequential() + read_time_seq = time.perf_counter() - start_time + + print(f'Number of simulations read: {len(sweep_results_seq ):d}') + + print("-"*80) + print('Reading all output files in parallel as list(SimData).') + print('All function parameters blank to read everything.') + print() + start_time = time.perf_counter() + sweep_results_para = sweep_reader.read_results_para() + read_time_para = time.perf_counter() - start_time + + print(f'Number of simulations outputs: {len(sweep_results_para):d}') + + print() + print("="*80) + print(f'Read time sequential = {read_time_seq:.6f} seconds') + print(f'Read time parallel = {read_time_para:.6f} seconds') + print("="*80) + print() + + +if __name__ == '__main__': + main() diff --git a/dependencies/mooseherder/examples/ex7b_read_multi_herd_results copy.py b/dependencies/mooseherder/examples/ex7b_read_multi_herd_results copy.py new file mode 100644 index 00000000..2ae353b5 --- /dev/null +++ b/dependencies/mooseherder/examples/ex7b_read_multi_herd_results copy.py @@ -0,0 +1,110 @@ +''' +============================================================================== +EXAMPLE: Run MOOSE in parallel multiple times then read sweep results + +Author: Lloyd Fletcher, Rory Spencer +============================================================================== +''' +import time +from pathlib import Path +from pprint import pprint +from mooseherder import (MooseHerd, + MooseRunner, + MooseConfig, + InputModifier, + DirectoryManager, + SweepReader) + +NUM_PARA_RUNS = 3 +USER_DIR = Path.home() + +def main() -> None: + """main: parallel herd run multiple times and read + """ + print("-"*80) + print('EXAMPLE: Parallel Herd Setup & Run') + print("-"*80) + # Setup the MOOSE input modifier and runner + moose_input = Path('scripts/moose/moose-mech-simple.i') + moose_modifier = InputModifier(moose_input,'#','') + + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = True) + + dir_manager = DirectoryManager(n_dirs=4) + + # Start the herd and create working directories + herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) + + # Set the parallelisation options, we have 8 combinations of variables and + # 4 MOOSE intances running, so 2 runs will be saved in each working directory + herd.set_num_para_sims(n_para=4) + + # Send all the output to the examples directory and clear out old output + dir_manager.set_base_dir(Path('examples/')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + # Create variables to sweep in a list of dictionaries, 8 combinations possible. + n_elem_y = [10,20] + e_mod = [1e9,2e9] + p_rat = [0.3,0.35] + moose_vars = list([]) + for nn in n_elem_y: + for ee in e_mod: + for pp in p_rat: + # Needs to be list[list[dict]] - outer list is simulation iteration, + # inner list is what is passed to each runner/inputmodifier + moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) + + print('Herd sweep variables:') + pprint(moose_vars) + print() + + # Run all variable combinations across 4 MOOSE instances with two runs saved in + # each sim-workdir + for rr in range(NUM_PARA_RUNS): + herd.run_para(moose_vars) + + print(f'Run time (para {rr+1}) = {herd.get_sweep_time():.3f} seconds') + print('------------------------------------------') + + print("-"*80) + print('EXAMPLE: Read Herd Sweep Output') + print("-"*80) + sweep_reader = SweepReader(dir_manager,num_para_read=4) + output_files = sweep_reader.read_all_output_keys() + + print('Herd output files (from output_keys.json):') + pprint(output_files) + print() + + print("-"*80) + print('Reading all output files sequentially as a list(SimData).') + print() + start_time = time.perf_counter() + read_all = sweep_reader.read_results_sequential() + read_time_seq = time.perf_counter() - start_time + + print(f'Number of simulations outputs: {len(read_all):d}') + + print("-"*80) + print('Reading all output files in parallel as list(SimData).') + print() + start_time = time.perf_counter() + read_all = sweep_reader.read_results_para() + read_time_para = time.perf_counter() - start_time + + print(f'Number of simulations outputs: {len(read_all):d}') + print() + print("="*80) + print(f'Read time sequential = {read_time_seq:.6f} seconds') + print(f'Read time parallel = {read_time_para:.6f} seconds') + print("="*80) + print() + +if __name__ == '__main__': + main() diff --git a/dependencies/mooseherder/examples/ex7c_read_multi_gmshmoose_results.py b/dependencies/mooseherder/examples/ex7c_read_multi_gmshmoose_results.py new file mode 100644 index 00000000..fcb16248 --- /dev/null +++ b/dependencies/mooseherder/examples/ex7c_read_multi_gmshmoose_results.py @@ -0,0 +1,110 @@ +''' +============================================================================== +EXAMPLE: Run Gmsh+MOOSE in parallel multiple times then read sweep results + +Author: Lloyd Fletcher, Rory Spencer +============================================================================== +''' +import time +from pathlib import Path +from pprint import pprint +from mooseherder import (MooseHerd, + MooseRunner, + GmshRunner, + MooseConfig, + InputModifier, + DirectoryManager, + SweepReader) + +NUM_PARA_RUNS = 3 +USER_DIR = Path.home() + +def main() -> None: + """main: parallel herd run multiple times and read + """ + print("-"*80) + print('EXAMPLE: Parallel Herd Setup & Run') + print("-"*80) + # Setup the MOOSE input modifier and runner + moose_input = Path('scripts/moose/moose-mech-simple.i') + moose_modifier = InputModifier(moose_input,'#','') + + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = True) + + # Setup Gmsh + gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') + gmsh_modifier = InputModifier(gmsh_input,'//',';') + + gmsh_path = USER_DIR / 'gmsh/bin/gmsh' + gmsh_runner = GmshRunner(gmsh_path) + gmsh_runner.set_input_file(gmsh_input) + + # Setup herd composition + sim_runners = [gmsh_runner,moose_runner] + input_modifiers = [gmsh_modifier,moose_modifier] + dir_manager = DirectoryManager(n_dirs=4) + + # Start the herd and create working directories + herd = MooseHerd(sim_runners,input_modifiers,dir_manager) + # Set the parallelisation options, we have 8 combinations of variables and + # 4 MOOSE intances running, so 2 runs will be saved in each working directory + herd.set_num_para_sims(n_para=4) + + # Send all the output to the examples directory and clear out old output + dir_manager.set_base_dir(Path('examples/')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + # Create variables to sweep in a list of dictionaries, 8 combinations possible. + p0 = [1E-3,2E-3] + p1 = [1.5E-3,2E-3] + p2 = [1E-3,3E-3] + var_sweep = list([]) + for nn in p0: + for ee in p1: + for pp in p2: + var_sweep.append([{'p0':nn,'p1':ee,'p2':pp},None]) + + print('Herd sweep variables:') + pprint(var_sweep) + print() + + # Run all variable combinations across 4 MOOSE instances with two runs saved in + # each sim-workdir + for rr in range(NUM_PARA_RUNS): + herd.run_para(var_sweep) + + print(f'Run time (para {rr+1}) = {herd.get_sweep_time():.3f} seconds') + print('------------------------------------------') + + print("-"*80) + print('EXAMPLE: Read Herd Sweep Output') + print("-"*80) + sweep_reader = SweepReader(dir_manager,num_para_read=4) + output_files = sweep_reader.read_all_output_keys() + + print('Herd output files (from output_keys.json):') + pprint(output_files) + print() + + print("-"*80) + print('Reading all output files in parallel as list(SimData).') + print() + start_time = time.perf_counter() + read_all = sweep_reader.read_results_para() + read_time_para = time.perf_counter() - start_time + + print(f'Number of simulations outputs: {len(read_all):d}') + print() + print("="*80) + print(f'Read time parallel = {read_time_para:.6f} seconds') + print("="*80) + print() + + +if __name__ == '__main__': + main() diff --git a/dependencies/mooseherder/examples/ex7d_readconfig_multi_gmshmoose_results.py b/dependencies/mooseherder/examples/ex7d_readconfig_multi_gmshmoose_results.py new file mode 100644 index 00000000..685a76c7 --- /dev/null +++ b/dependencies/mooseherder/examples/ex7d_readconfig_multi_gmshmoose_results.py @@ -0,0 +1,140 @@ +''' +============================================================================== +EXAMPLE: Run Gmsh+MOOSE in parallel multiple times then read sweep results +with a specific read config to extract certain time steps. + +Author: Lloyd Fletcher, Rory Spencer +============================================================================== +''' +import time +from pathlib import Path +from pprint import pprint +import numpy as np + +from mooseherder import (MooseHerd, + MooseRunner, + MooseConfig, + InputModifier, + GmshRunner, + DirectoryManager, + ExodusReader, + SweepReader) + +NUM_PARA_RUNS = 3 +USER_DIR = Path.home() + +def main() -> None: + """main: parallel herd run multiple times and read + """ + print("-"*80) + print('EXAMPLE: Parallel Herd Setup & Run') + print("-"*80) + + # Setup the MOOSE input modifier and runner + moose_input = Path('scripts/moose/moose-mech-simple.i') + moose_modifier = InputModifier(moose_input,'#','') + + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = True) + + # Setup Gmsh + gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') + gmsh_modifier = InputModifier(gmsh_input,'//',';') + + gmsh_path = USER_DIR / 'gmsh/bin/gmsh' + gmsh_runner = GmshRunner(gmsh_path) + gmsh_runner.set_input_file(gmsh_input) + + # Setup herd composition + sim_runners = [gmsh_runner,moose_runner] + input_modifiers = [gmsh_modifier,moose_modifier] + dir_manager = DirectoryManager(n_dirs=4) + + # Start the herd and create working directories + herd = MooseHerd(sim_runners,input_modifiers,dir_manager) + # Set the parallelisation options, we have 8 combinations of variables and + # 4 MOOSE intances running, so 2 runs will be saved in each working directory + herd.set_num_para_sims(n_para=4) + + # Send all the output to the examples directory and clear out old output + dir_manager.set_base_dir(Path('examples/')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + # Create variables to sweep in a list of dictionaries, 8 combinations possible. + p0 = [1E-3,2E-3] + p1 = [1.5E-3,2E-3] + p2 = [1E-3,3E-3] + var_sweep = list([]) + for nn in p0: + for ee in p1: + for pp in p2: + var_sweep.append([{'p0':nn,'p1':ee,'p2':pp},None]) + + print('Herd sweep variables:') + pprint(var_sweep) + print() + + # Run all variable combinations across 4 MOOSE instances with two runs saved in + # each sim-workdir + for rr in range(NUM_PARA_RUNS): + herd.run_para(var_sweep) + + print(f'Run time (para {rr+1}) = {herd.get_sweep_time():.3f} seconds') + print('------------------------------------------') + + print("-"*80) + print('EXAMPLE: Read Herd Sweep Output') + print("-"*80) + + sweep_reader = SweepReader(dir_manager,num_para_read=4) + output_files = sweep_reader.read_all_output_keys() + + print('Herd output files (from output_keys.json):') + pprint(output_files) + print() + + print('Extracting SimReadConfig from the first moose run at:') + print(output_files[0][1]) + print() + + exodus_reader = ExodusReader(output_files[0][1]) # type: ignore + read_config = exodus_reader.get_read_config() + + sim_time = exodus_reader.get_time() + read_config.time_inds = np.arange(0,sim_time.shape[0],2) # type: ignore + + print('Simulation time steps from the first MOOSE run:') + print('sim_time=') + print(sim_time) + print() + + print('Indices of the time steps that will be extracted from the sims.') + print('read_config.time_inds=') + print(read_config.time_inds) + print() + + print("-"*80) + print('Reading all output files in parallel as list(SimData).') + print() + + start_time = time.perf_counter() + read_all = sweep_reader.read_results_para(read_config=read_config) + read_time_para = time.perf_counter() - start_time + + print(f'Number of simulations outputs: {len(read_all):d}') + print('Time steps extracted from the first MOOSE simulation:') + print(read_all[0][1].time) + print() + + print("="*80) + print(f'Read time parallel = {read_time_para:.6f} seconds') + print("="*80) + print() + + +if __name__ == '__main__': + main() diff --git a/dependencies/mooseherder/examples/ex8_read_existing_sweep_output.py b/dependencies/mooseherder/examples/ex8_read_existing_sweep_output.py new file mode 100644 index 00000000..f62f0208 --- /dev/null +++ b/dependencies/mooseherder/examples/ex8_read_existing_sweep_output.py @@ -0,0 +1,54 @@ +''' +============================================================================== +EXAMPLE: Read existing sweep results + +Author: Lloyd Fletcher +============================================================================== +''' +import time +from pprint import pprint +from pathlib import Path +from mooseherder import DirectoryManager +from mooseherder import SweepReader + + +def main() -> None: + """main: + """ + print("-"*80) + print('EXAMPLE: Read Existing Sweep Results') + print("-"*80) + + base_dir = Path('examples/example_output/') + print(f'Reading from sub directories in:\n{base_dir}\n') + + dir_manager = DirectoryManager(n_dirs=4) + dir_manager.set_base_dir(base_dir) + + sweep_reader = SweepReader(dir_manager,num_para_read=4) + output_files = sweep_reader.read_all_output_keys() + sweep_variables = sweep_reader.read_all_sweep_var_files() + + print('Output files in json keys:') + pprint(output_files) + print() + + print('Sweep variables:') + pprint(sweep_variables) + print() + + print("-"*80) + print('Reading all output files in parallel as list(SimData).') + start_time = time.perf_counter() + sweep_data = sweep_reader.read_results_para() + read_time_para = time.perf_counter() - start_time + + print(f'Number of simulations outputs read: {len(sweep_data):d}') + print() + print("="*80) + print(f'Read time parallel = {read_time_para:.6f} seconds') + print("="*80) + + +if __name__ == '__main__': + main() diff --git a/3d_monoblock/generate_3d_dataset.py b/dependencies/mooseherder/examples/ex9_full_functionality_no_print.py similarity index 66% rename from 3d_monoblock/generate_3d_dataset.py rename to dependencies/mooseherder/examples/ex9_full_functionality_no_print.py index 78961074..656bec24 100644 --- a/3d_monoblock/generate_3d_dataset.py +++ b/dependencies/mooseherder/examples/ex9_full_functionality_no_print.py @@ -1,3 +1,10 @@ +""" +============================================================================== +EXAMPLE: Full functionality, code only, only print at start and end + +Author: Lloyd Fletcher +============================================================================== +""" from pathlib import Path from mooseherder import (MooseHerd, MooseRunner, @@ -6,13 +13,13 @@ DirectoryManager, SweepReader) -NUM_PARA_RUNS = 2 +NUM_PARA_RUNS = 3 USER_DIR = Path.home() def main() -> None: print('Start minimal full functionality example') - moose_input = Path('monoblock_3d_thermal.i') + moose_input = Path('scripts/moose/moose-mech-simple.i') moose_modifier = InputModifier(moose_input,'#','') moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') @@ -27,16 +34,18 @@ def main() -> None: herd.set_num_para_sims(n_para=4) herd.set_keep_flag(False) - dir_manager.set_base_dir(Path('perturbed_datasets/geometry')) + dir_manager.set_base_dir(Path('examples/')) dir_manager.clear_dirs() dir_manager.create_dirs() - xmax = [5,10] - ymax = [2,4] + n_elem_y = [10,20] + e_mod = [1e9,2e9] + p_rat = [0.3,0.35] moose_vars = list([]) - for x in xmax: - for y in ymax: - moose_vars.append([{'xmax':x,'ymax':y}]) + for nn in n_elem_y: + for ee in e_mod: + for pp in p_rat: + moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) for _ in range(NUM_PARA_RUNS): diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1.i b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1.i new file mode 100644 index 00000000..719299b7 --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12.i b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12.i new file mode 100644 index 00000000..8fe88ffa --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12_out.e new file mode 100644 index 0000000000000000000000000000000000000000..900e8d63f88a776f2ddb4e6c5e3a3653f1c09533 GIT binary patch literal 105844 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

=%# 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1_out.e new file mode 100644 index 0000000000000000000000000000000000000000..1c6160b238716cb89913a8385e93829a06ed51f6 GIT binary patch literal 105840 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20.i b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20.i new file mode 100644 index 00000000..8fe88ffa --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20_out.e new file mode 100644 index 0000000000000000000000000000000000000000..783b70226621d91a3506d28d1922fa455903ad3e GIT binary patch literal 105844 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

Wg7>tBG*_in0;vGDH}7x%r>$ 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 z%0D`s?hW)ggudgDqXoIlLHs4C@`3wrSdn&4uc^Hf#4oL8PEpeYaj(Y=bUuQVSw->h zHRz-wIvi09|W`pB6=%Hin9 zamp%?qP;?Eb(aK^FaAEZxoHn1i*_9`Q4NOVnbuZU!(KtMk+sHl_a6U6Hs6SKuGqH~ zb?EbGR<}R;7^Ck^(qmFkP_o;zu1r-52gG*$_`f{`9}5w@s(Cc-u3F1P^<&VsarO?SnbDn?7uu)_X7Ja zqD~>|-b0_c=v#>#pO9+?h)0L$zaBMz^V@p3M z@1g5EY_PY2=rp7}S~xRch8p!tuPI-p3@J-9@2Q8rgp|O+nQ9w`V>H10Tdpqc2lh#$ zP8#a&M;{tl-xTC%L#`4KtB$R&%q8@A-nlo+dVEJ>@$ynl!r%xjegVn*SRO_Vjej`%KnAxs?UGHNRKOMdWc^`p|V?eK#P-VC1R=v1!`3=-3+|-YPTHP?w&UWmR_+XVag9*ZQZM7aRfc z@tt)SGEab5yth8D$PdJ>;G3dmDRi1PmcB3Kn&tzkDIiv8wlLX8&j&W$?&;z982>Af5-|U$&2++#8pC9vlSX(vN-eomD`5{e+gj zE$u7Jch_;J>$yF$@v5Oah?lelxoe*WvB#a?CT(*-Y;$H!^TbFHTg;VYD$;&7I%0kS z*3tU}+qWBa=AkatXMHFy>r0Od%i(}rJwY6FZHBZsmag|Uqm}3QwC-NVfDC$nzN!3G zlYahFT(YOk=5ir@y(brmH}(c`mduN#>*#$bvGsPI;0lPNwyhaxtPJAdExRrjJi*wA zc^RxbfPHk_t+Roif2{5<^r3yMFFj5y$4um+$1AC%Z}Z`D5FZ|1x#%Bzy3U?!)6D4c zs(PFHATEQR7dvH3Yr8;vsl3cY@g4m+`7`{$Me3I`LoYJrJoV*8Y;e2>;tj#$$9vHG zJ{#%r`8WS>9ot9OozA z@xAH+4?VYm`2PEX^SSi8s4t&U&+mNuGRIr= zx?^J=<}YBK4fYkGPA2M(L7%Vh|9{*dkkD~;-81bd%Gr=B z99u!p=NBU?O?uM%>5HgkJ0k5t+?3~7@{cWu>s;5*O-={#gEYbK=k)mBExLR2488u? zxD@mB__1|~*hkle)tQdEo#<1BzLcBg2t+Px5TE@XTKyw{-iKz(=L;yu!^+(fviA5gC6&GhkO2~C}$^s7UN`0qf~jq^=}~lUOr`BpC$C?(oi$ar&b{TTvL;lM%Rsv zl$XtWV_h2dy+9p${;;}d(dQKU(&Nl>JU}j&e?J%UH~w9Lzbo)}1^%wU-xc_~0)JQF z?+W}~fxj#8cLn~hSAba}n>YQA+G<8HWsvC_&Ff6q`foYr--a_G)9oW8-rZ$_Dr+iA zUS=_Y*8-EKUA1BYm2_9cO$8<(^TZ&RZ+)4784ByCzx>4nXleUTK0XMe3g$bpP7eD{ zp^gRW=Alm$`i?}7tH`yMSu|tSNljrs6YXKFG`L8}L}Y42?&_Swg#H?P*)mMPgiKy8 znsC;L3GV&nd(bwjJ3)HmWS<-+FlWMPeZyuZaC+6kLGGKFK(&hv%-R1ZviXfz_Xhhm zqs~Os{nuv^`p!ZQ5poqVF)RBg=qHMp=uiDKUVV;W1pkbC5b9gWgl~rIawRz?bnmv~ zJ6=v;LTv1^N9yS_!7kf_wU!@ag7SyxJw5c637VtXw83u*6Erw%w(6Au7zbkB1nU~G zF9&r7qplVDD4_3k$b_cM7_xs>I1>`LYW0FX-R^JMUo5F>m1TmpLqaMZ9R4q|d3mh+ zf_-06#{+fC(Z>RPZy?7qK7q)>M~`Z%Jm3Ua(gE^j8e1gHKH9_x&po!^I!=#?nlPesp>P5d zN%CfHh#Sg;mmKSCUNV*mI~>oive?IjJ}a1c?aCM?H1LV!j&mXtYG7k#H!~Gu0_GQE zogVgWL7gF}tBF2F=&Ow!o001rBfM9;yy=b>6YWyuu&f{DySx3%I`3;t)N{$pE&jI{ z!Kh0iYkaMlh~n`xoSlv_;fF0_3qPncVb4^CRa*3A!u;=DiH?qD!bZ+qHo?C?#(tRh zOLSyx5SsRfMCByEhE zU?n4X7j|81;wC0CdrtD_WN#*7b6wq`k;P2--Q4BU%1@Z^h59$hE_Eh+h*rJD#041r zFt3Vr*RU@Kbta*%7=6~G??U7liCo@{Fn&#wen|xrEnoe^#JHXjHZSz~G<7f|49Z+E z&hHZwweGl}Kr@9A_<98@tkh*9!&^t1+izzg3Ir1#l{zvJ7MJceoIlA#^fqcPTVoqnpSJX{JpHB2uMUHCZDq@5Y$KRxxj$njeJJucjBEtwjw7cy+_Jt9y zlbA1T+RF(0_Kn(~MwqDn^Cs-xqss`4{NqKv<}s0JNf($8*-Ydhb4buKW+ECz6%ztS zVVsP4dj7I?bk|O{Z#bv3y9IS8pwB+^t>ZY_z9N?_BMi-evdBzE_}W`=x|AN@mayrg zUG*5@vF%oG?M^d7%jGYdbcQlf`|4-d?g?cCPt@bJ@){U{b>Y#@JbfmzN%mc|jF5>u zv48)uG8K%2F(1R#o$kQCLev?By1mfnAo?mHhc0r_<1bW{k@-TeizinU1CBT|!nWa$ zqWgO=!pmjXJn!{ogi%WG8bb%t`_s0a?#j+gRD8aE@|;zS;9G&qsb4=C!7kGd9lJ6{ z5UKj}^4{kdYcYQa>z-g=IO@zo-5#9J-B0K{134xk*D^+!a7=3(FN6^`e4YI5AU#jN z{ZM{Yw2=`$w5VMB<0>QE+ITzvhyf#Cn8>qH(>5hR+(DsXmcO;uKLFQqyMQb&gAcfhb=C$4!^|`$NH^kBP z`cs$Ni9C~#cOvSXLtPR22uEM^I?Z<2`P_6U!)tqDAxh0;c)hDt=O|Y)ytk?LtFz@9 z-o*>|>TO>!yqIlO%X)4wJd^ny&X?%=kG(Sao~b(%^ybY#znJSx(2d8#TpbT%OvHRL z;;gYw9eExg?^D#F>&WV!MjwfsFO%O4uh4S#m&Ho-xTi*#hNm#W{dY+!_E4Wa4FyNv zy=QohjPBJ18Vv8)Ve|d90SqtpdCZvoTN$47uk_9&V0dKk#dna-@MbA09sGx0Pi&;? z&*p;=cLD1tj^*(}-l?c_A9W+qM=1J|V0fjk<^_CP!tg#T7Ov+d(CfRc+CQh8#<@>E zh0I`ho#GSJ!~4_YurK`O7W(?m<*W+GqQ`4TrR?(?^!}doP-@Q7YKA9#^Jc`2r5MdI zPmcqO%fmYAhvg~ac*8!Tjt1(sp$|XwrN{8f;9E%h2J;@ycbT~@pW)rOEdMOQfZ>%zE_8WD zuOl|fVV)pv2Uqt(40+ZdZvg6yS1{A6`%YgMn88Aej6EnpB~?-yN~JV zbTGl%Vk^7bs88*^`+{G6qwk02o9k>mDW9QZ@XDJ^@Q5vuuf-{TU>37+?I?!V7v8Ef zhx%n>BA55?MO-%4T}GZ&$omy_X8xzk`rx6j+0?IK_3?FsnBZ~dL0KJ@Oz@l?&L_6h zx+OnUx3oQ^?}zEl*R?M)!A|1OKkmzAf^B0?*K|?;i#t+fsuwW9OwSM31$|8LLW_Ma zZuB^@aXjWfA#NeowIa_3hq6|27P_3ZWH=&M_=O%CI8=l;eb(z+B%KdOTo@@jeSy1 z#lI+6*dq{6yIK8rth3>v*_;LI{*Gs#+}eIL@Y>(;4A*VdA1lrOj#VPo&9C_UU;i$J zC6VJ29shn017mgLFKhQN{fi&)$$e+@iB12GuZT}w^La~e!M|g|&9C@7=IS&5jyZnj z@0iu^_^(ei=da)2dCvdMzhmz83I2|`*Z=JAm|G{8zhiE_TEKpaf!N|CWpJJN>-w)$ z`g`|n`E9AYzJb|KZQqSL_h8YtL9di)f2M_{Ee%_{qF~;olUplo%Rno#`>wYw?YGPi z@3i{z1jcG?935jVd->aB69YTNG{TL=2{&I(IQ%uj)n^fo&xvsS5rorgBCLMC6ybc$ zC!DWlSbZgMjdsrk@N|kj*8ZFJ*_wX2aptvKU^}+U?@U4?SnQc~*pU8C%QW;&X%9ah z7`2;{-jyw&`_gDY)#qH$(z$mcaG3&3?rZg`I&n#_ug)xCU{oC8#@7fpKZbC4A>rz) z2*(#nIR0|N={+T!{$s-VqR;KJzGj0*=YPi<7)HJIv~GU9Z~S^X*6 zn+Ex}o+aG4k#O@@35VApT>W^$@$m@9-$gjR)r8Z(KsaC7g!Oe^47@u^_V&{ehqYyL z#gi7igEf)yYqna(!Kxj~Qkk_^z;SQl<`nCbV7qVhQvDP+u-MdN9g7*&FY`BRJTVJ4WJnCH7MQA7NI7*Xn^D794 zw9Bp3> z9>;DB(srE>uAiRiy3XW*bHH9-ZIc0Dmw)4A#iAy#*mqSBd`|$2E(MRzeUSmPle(pP zI`s9I?v#k?`DY#B#zlmiKTbIOX2R9KCLG@g!ttjNPH!>c^aX_T0`Fek zGx7Uv2);OJYxVcX;IEi`!BD{lyehK1MjLGc_i72j+!amW5@jCOeW?apVg zR;f{NIddLN)aCTlYZ742mt$5nSxx%3NrNQhS7{P`XsaG!C5HTKjHQe*l|jTNha0_zq@~j+0d*+CgX0t3CM^TlF0uwC|8hk0$Kc z(uuJ1d_%(GZ;m5uea$e!@#zwdznu0hpn9Ie>GSP>^zRVPR|MgFDM7I5(80Ny`Vg9< zv$e;03ao3C8(B2X1pF39z4ddf1J7U6Dr4Tnf?Mx5*AdlkVMX$K)5d@Dz%H?0>a6~S zu=ubZ^E@XI=7;84R32HOzp6a$s^qRZ!j6y9KJV=O1H$1S5U#$8uzWTB2*Y{4Z#-psPZ66__F1$i>hVCgxh>?xmDgI?13b-dRd`tJVgpKl+&n6TqForIfj zA}n53o^bUUv~R{AzA(b^8xl_M8sYTS3FoVhaK6?<$kjKePum`a@Nv&RL=`;&o{#dq zB(EtDpmbB?Y{w0H{N*}wBtC%0(sw6EB+0;PXWcJLhS9#;p)wzCJg5N6{aY2blzf4O zVV&WIar^Z>ZdDzY(ugJOIKGLn^XCMF#n(#`wto0j!tpJl$D8s?(&yhiq$`2#x+3jUd_iP;V&RC z_HFm8FTUV+FJZIuHWlz%6fb-C@mX-Y*CXA+qx&25?>|qP{*Kc+dtYvj%6Kr0-C@9M zU8L_5STa=G$cnJzwgH5j4x1aQq&G)5|BUeuNm|eC;NjuOASWUD-PO z?rwm46^K|lifLSKCC3laczORzngu=b5gc~;#c7C@n;qX5QS5Nz=vwY=*r{70dU&lug&Q}bC?|JTIbMP?;`nR9+ zxsU*%b5&g&(#(N(J!qWVb^!z&7N0onTnPBwu^+#1axkp}fo?f@*RWg15BkJ9%Kba-SdJ%zC21CfNCpQuGx{9W3Ihpq1>9N#&@@zdwrS-qWv z(+?!9uR<}x`8o;_Qx%t(AFc+0DEPv>!7UJa?nBM+R}&$aNteAgu?E&{$oL>npBwef zArZ&dp9GIRRmH0e*1)P&mmO;cyal`T{M%c<6@pPhO>kkij<1q%{GSM?w}5c^hY05@ zm2keU1Am@)b>vZ55bhoweMX=JVb_Z{EuT>bAx51Q(-+Ww=AL)+LuB*7U*r2LnUIIz z`M$F^EjCyiFf-K;Z8$k3tk96KWAg~Y&i`XTSiDyd z;p#sSmM@g{(_r~O6Hf0e;q-qI&X*D4d|CYacgVjHjEfH}x4Jo*o_F!y@sX;3^G4P# zTkYlk+s|i_mPv3y%#XkG%+Upd?cL}7H(vI3W^`)Hf8$XO#hUx1{*Db_4|#n#F#Esp z?J3_L?E1T34;Wqyl+c*j{NMbU?*lKL3;S=(&bR(IX6sA-8?*d>`(6XX>i;_}M(0fJ&PxBNuoY~jX>alz9k4k#d{SZ>?XT=|ZPpDHDX>vLtebc62-plZ8}f0723Y?X zu2L{F60F;=Kdl@chT|xlpN05SSU-s4OIJbu6{y$8>2HunUt#F$8o1xQ{w!nUL+~l7 zd^LA8?Vn%cY+4l70WMV;t@_TYu=3b${eA}{Va1O!skd{RV8wcp-)LA4E2dWNeY5>5 zIDZ_sx^UVtaK4*icJz`PI9I$4wd)DN@fw^zjrd-yFXQ;;jY0lnsOP}xhtvMTtgkNg z#RuO(x_Rr>9AMqqmonlzXdh#_H_pXtl)0vF21GSUd2|oVNnnkGLuCyH(d|@UN~j zs#1RScg)Sxe*G+d3Dy@O-!J5+eTZ4TZ>WEe^QAYK^R;a>guOl|*;a5I__F`3bx_<0 zp^HWqr0pCIA(QBnp%XtrutT8DMMo>(-MN@8*KZ#1{2ul^Jmv|!srH+;m2^Q+`>s9v z-n&E4B0 z9v%QfusG17X$uikzD#+&+Z)0P)Iea%5% z2@tu7-|vE2Iz+80RX7uy1VV9VgTTZOz`x!VFBn<_5e-)MKQA7qp99J(tJ5w)_yLdJ zv|QS6*L3!SVa0PGTq39EN~#-#J&%bo-%oWLPWz<)ru~0$%+0$ZUKi{4Am2meuSUIZ zoPN>-^mPS&U4Uqpk)0~HXy4L7^0$o_>B9QQ1)DS%v_a&~lcuwcMIhX}v`RaM_TO#I zbDr?Z76i-ecxs+nz<<@HaxuXe_Y#7!C5vas$Q#OhfcPWHD>LF=+Z8wDfGF^=tYeyhdvkrQJiF#Y=foG`xC`e$Azq5B&zD9%K>mlQ_Y3t)(HDKbfb|tbpC9nH zHXdFEiSa`e+&9wa0@Qct_#USHTC=owwS4NN{ZlVjHl3ocD<|c{mZ0qrM<(UU>^MvN zz+T#-F`hnOy6@TpHL{oXr=9UOd;B$sUHRNn;>T(AOjMbsUm(e<>VWuBrq^R`=Ry2n<*{Hln@<`XcB{0Li=N&psb)0V(sY?;oVE4@o_T%Vrn7fF!rGN36V! zA+cd~K~BU5Nc31HTwu`-iGyTKf5*`0Eg*FKxZ*(iT#V^!x!z}x5WMQV`^ByFIiC6& zlW1)m)8|RpdHP%rix0*6Mvl*NAoA}1*={~2Q0;C+-#ZRgTgOoYJg}w)$K=K2|^myWaNY2=|WxDrR zNOqK{lmTf-*4=0}E$b*GYsNT9&Nj#KF`TE*L9=)ntUrc)Uywf)_2!`d8T7RmeF-7` zPV<6Xmzj{^qMT`!HXqWpBL~YLdGc$Kc<4QXo8*B{y1LfR0+i23)-A+_(V!6c1B99!VL1L8}telha( zAip!}WuX2G^tB9q#erz2)}FJ<<&dSe<7Lm`KoAX*O_}7s05U^!PUomsLdJ(QiK#}} zkP*@GKEt90GR8@Vn^r!euXmj0zNfvAo-=l!pF<0zN92?oiE@MV0F`Sm9e6ligY(Z2 z{|oD%BVP;h7oy%H)L)Lin$cGp?Q_{rdijEZ#BBS4NfHu2h@tctoBQs;MAy-@<_ zGN=ES=_%I~$t=^CA?q?iiDna=oG;!;G<+sa+%(;es6Ss~Grd@usH^q#yZ=}bqZpSz z@da`2T%Fh%epxC9Y;Jn*Bv`PWf5@= zuAb>vYe$^-cKjacCrj*qS&bKLzDDeJBrFzO987E_9(S}penMW13A#nB?7%cAXU@;Oh87 z&v|mht8w^P+b7eA`KgAFp}PZF8K?S|^wNFymiKgq7N`-Yek4&fe-v?a zUz}&Kgzm@2#yT#)>m!Fd@CEDm$die@0@N`_U32u2hQ4BmK(Ew|_hKOlzZ~>b|MF=P zJYVxu-i`BQt-~psle=i2xl_9TT-cLMJPONq-ks-4+;`=|B(qP%&FEXn?t%+s^)m~z z=Y@3Nwei=*8bh{YOvL;u#O=nq=g1R{yd|h}0d*VEM+^E2Bm4)w-S29}NkpD(t@VkA zBy^5Mh*OV%1U=n6ApOKEvUXs|Z@C#A#ODBLi(jPwH?`6FxPH%U;&Jti<_@cNvZhwq zckk*6WX+0%!kuH^VQl2`t9~NxA=asJJha~o%d0tx(3N0zpK1B&n`>$R-n%gmtYhYpwH8Gxh*Ym?WRgkJ->*!u(XxriHvb-$6P8F`&hCk1uipbu~KwTX5jSH@fCO$2T0K|Fg9HrUY-2NV z5AnB5TNv+4`yS7JGa~0?AMrhM(|J|9JjQXDZ$Vrj)*V2ewa8nGI>%Ah1AYADd>t82 z_*%D&=lj$DyL#{}hkflP5z40>W;vc9VNA;Bno&PVh|9?I{L2jCRoMJc-KtH3hK^o& zq`Hr+Tm0(t?WQLrKx4Gr^T5Sq?Y{N({e3$ye!#p6;!3!>nt{lpgS-x$&giMAdyVt) zjrw7I%^>_KT}rPSZxVjQt>Ks5?vjX|b?;hqzmRbGAqgKnVo7MU{qMKC`bfy&GfcSU zdcte_Ug*C>jqoJPzw0f3MFM-gy*52`CxIa&wp{LM!dQ=a+Lx5YJ;1sd$dkzN=1)YO zgQ!c7BkSV{`g%`!&+zouBadkOqnPwyDH!!&DM}`$yS>16xU0P^qDnjTZ@3 z3njO%)Bh{VWqtmdqDz8p=eP)Gq!C`t^7&)7(|)X3zUo?&B)BO58}kZ?i^e*_@!S}I zym6>gfVwj1V-EUyMEG-NOtWvYCH$OUuJ5bt34eh_bei&Y65&`E+Hij@3D+<2lYA6U z!c=B_?JaL0p}Go-jk7#SNCH3G)Ri8m!DWYbIzA`C)%B(g!Gkf1VZPxnj;jkpo{z}8 z8Fd0s_bU1@Ltj>ezjVp*_{L#`fB1D`nsqDThZW!b8TWuhRIgATs8&hBKU}t1^lS_X zAK0j4EYc%k3+&a81o27e&K(zZ_KYB*TAO6c&o3b%Kg9=FEc%M^CFbdM#^PkKE)98H zkarU5l%Z||`gn@I1`@vCl>3%D>3Lah?p@<%PUnYw`&ySt_}W_8J1lOHh*YE22k-Jo zc#Y5ErBCunxQcVXrxCkI*j`(IUWEn;GZu{~J=ILY#%V{KD73@41oICOr-O9|kq40X z80wrx-FWn|3VmH9{LI{vpTV_+|2S6v6cbJOO^Whe?=BPmM(1hyX9@{_RExvQIvo;` zeBepa+&~f`cEDujubU)%%N-S)*9Iiq?AabY(`h7JQDKTnyC=qA%+EmFQmmujBe6Ui zk=F!uvQYOD`p83HcM1RG?gL9bRS3UpL;XPE9U_p<|1HySl<;3&QY=*0C;V-~me8La zgg;B4-#a{&9*+jIjZ=n`2qCYqD zdFXwY<^6#=W~h4@eY{3rvkCv9*pTQ7b0QeuUgZ<3M+A#>whqq@CxV3{xRogpqVIC3apLXu=O+R-DGvDspzk>+2_tY0Z5D`Jn zyJIgjeiK2|p`*8EAEBSi6syuL!iYd^+4Mdwdm_uJrxr+7Sj=reg=!QF|>gea072Uyi>h2T48Qp}v%XSmN&o#dlG^P`w zQv1$?d%i@dHlUx9p%@X$NZBY19!ms022#>>tB9a=TJb-$f1jXs+U6hc`(f;lc~!(E zVVwfUL*5~;8|rAH?jiK?8hxb_fy{0h_0Jwe;I&~Ek9V60I-W>=Q4A%*pf^&r0g^;m zai`pB;R+&rZr@P$sUH!xg}fPFtxANqSIaF6r}0$qP1z_JBHULy&VO+yMyk)|XClrW z>nu5*kL}1iA9V(xZaVt7g}$61RD;Pbm{$;_2EP~U+<|O!R85ybYC!0sKON= zy05J5#W;y`72q%b=$ZPhS>Rc$AEY8}32ribgtPKG!AVAm45`Qf>nk~ZCq@khql>Wv zB#Y*N`iQQDHGS&|7tIKlpGa8T$hU;6J4!g7bi(njBAkv6;dHAA=Y#fbXMNG{86Lk} znNe{Ig2kj0&08WMsGr%rwI9vEPkw85vDS6)R6F|c#*kg$njv*{!1ijoZ~V8&MXj^I zI;MV@{6qyX;tMmRoOz&D`n!HksSn}ePQvBA35S!S`@#RITSr(P`m+a)_X6Q`Xy15N z*OYKRVhHD}85}CDnJcdRntoly-M5`Y- zyP5VIbf_C&aAMt7SoYe*+{4WZ7PXrH_I#uZ(|Ro*TWqo;Tx=p-K7epIQ^M6X5|$@B znsB^kgwqibPWL3?d^8ZwmpNGIhY$4ZYNGp463wqhFTs0|N0GO`6?kT+%NTa;0(bg% z+z@4RaFK6`sct(3_A!%pO>rs$E5ljq)~j9v=10if_tkNrdhhnjpmce{#V*3-+X#oN zAzWPxVR>2;3CFvFa5^^$r>jm_AI1`d^Hl~+q5H?2=`Uf0WAg>+XS5%=&((7+rX#>T z{L%euE3U!nkC~E9pYMWms*UNZiS=N2`-_!R&ULVu@Tt!#vk44uc<(BXQU(=Emzgo& zGYK0ztqGUUBrHxOMYuZpd$d11a+QST{X+NKW_3OiR@dY`;e6~NoUd${dtlS+Yu(vk z>vpSi#?uwB;!v8q(HUQG*_Y{JGs_oNWL+J9IXVy=Hp<-3ou~^o)$i|hduzku>^)^q zl}3WWg>@Z9I!T}$HB{S4vgL%$>zWV_=S{dedYu38$c-T!?^eR;coA0j^k>5P zuppeTT$on>cBOgmNub}X7Dv&(?RI5bQ=c{kfWw)W&VvSh00)`p%i8JrY3Jc}xTX6U zEL$||-6Ab5FaPy)eKjBT>;6=`7s#?v%cCZ0frZqUT)2M?Y*r1+p5WU8 zHg^<?xKgPtscC1t1j8D75)MmHx}Ui*3nbZ0%3UOt@mzc!Kg(u}kqY^3{O zu=$Z8gu}feSVveM`u_lqm+o8jN5^j>;dJK^)`y%mVSU{%FZ(_=wRnT77|e>)o^;Xs z5&fOx+)NAO0$A*OrZ>G)2ut_xj84e7083^sRqD7B2Bt>dPbclG0>hg#4L4fm!knu| z3k2FDVB(lFY2s~T2piu75jH>9oNzc(!qx33EYGD!gyqeYCag}^aQgenKf3ya_2Ff1 z!1_{(C1M-zebP!22f6CJ6Q42+VP5E#Vf~a8fQi)FX4V}5#>w|CEYTbQ#-aSigp4j= zdS2bNaa{v?7v^{GWv;<2&vhTSRa=3~agFMNU&qLwcyORMVe_?{2#Yh!BW&I3AB5#e z7Z8p&oNzkLgw<6P5Y|VMA+WyU;>ak~@AI7ah6WvDc?LtB`(WzCTE!h6tuVJ@amD-w zUC=){_wF(ESTM*wxmjuzAM~Xa@&roD{y;Y9l{|M3+TN5-qY8LzQ6j>zSt zoz7@5Ec>qVWRT@!F;E#h$K&Dje_-~aQ;8w_a$)X9=?#`Qd|^)Smv0_};$RjzI(_ES zIiM0%p!D)YE(}*!y_Ry)m$32nCBo)U%^)mp$r!@c4OmK8o{A#E@*WsLIGxD`tS*QF z>*I+bu)e&-i2Sutsj5}wL`5HSi8plD!vZZzHhS911mcWXIC!p4REgw3CjB`hvcjj(mY zDhSK7WCUS(X}@e%M^+qI-Dz>a`JjEX|MZ5L|2b> zBho2daw#$KAX%m?8gMlZCc9P3{0xbODTkK49C@SzlomTlZT7B$@u4z1oD_qhpUS1# zvR}o>pE!QhQNrd`rV$pmri-w3MZSdPS$&eQyf5N_)yXsjR(Fgcus%NS1=g3b0#TTE zA!XR>IHEbMQ{#f+WHNpH%56_4w-SX>3AXFB#0+}vUT;wi5Qo8f=>aCo3_)g|LwveS z9LRdS_}pmso9)66${e&UDEy4CWFL=f;;l+Ze^c~$Bsyz(PqF#>mP*8 z>tz!br$qZp|EW7{SoVh}fnJ9!@9S1zb!eY-R@ZGWus+)M0_$seIhi0)<@j#BA(_76 zGE*V0Ks0{+T=jmeAyHYNqq@e|os17@{nYpZi1-M`tHDpK>}Afo&PgBo%6|P!9^(GK zyzJ-N=DOQ;G@m$Oq-4Cf0UHZL4gTcsh#4BNxR3D$Y+XPfusoaT`TvKvo?eH4biC?- z)s+zg)<-{gV13bjq(-Pey^V<+O-FRSqbX5TB%TJ69DKIHmC>2j8UVquWtKN{v z_f(6$7H5cTO}4|#HDYAs8P`>iT22P3PFgZyS-C;i*zK$0%i|1QNsWAY|FW1tUH@@U zE0x6!j``9i_`O5R{zT@Wd>NaUjw@qv>*LDUx({){^0+7f$EyIWj(a(kWuAnC=bHzSsP!T1&P&4?R;b$~pFkhcwW7NIWf z2hIBUfWFSaCi>uckJ393**4CQ(HskDr6Wb-7pp_6NOPEs5B;94^3gw~^~)i}xNW{x zybdIPTzjMN>@!F{J#$F5St2BhI^x1FbwYCFhc!Wo7cid3d=KJM|JHFlmdG2&>G-On zF8%(9^Onlc2kXUn)|8h(VV{mELIO5Y%3nTl)L`FoI-KlYHEx)!7!^Gtp@eI}$z z&G|g8n|@EYr)RLx+5l1<_P>`@S_moAo{a2J><=lUZn%;fcZ{x>r{5d0I76&6MV^hw zYmGXNobClN&c~FQoG)e=Y}oP5h^FxcB`SUm5}9d(_-9=O^|imexl)=3J{G*?=O+m0U7*Jrn)oqA>Ddy z(NV8)kd~}8=62h6NbSs7?r>2EsoRYV9*F4ox+_Ns=3B`^s=;uBM|7VHE;e9(JmS)^ zj(!jQhv%sj^3FmXH%>QM9)0{mUw1*o=c^g~%!Mp_`Bj%r6oJT7E7K+R1Z0l=r7m~n zFr@cxI%J&G3F*_l?zPOhQa=tbDl>Txsny#zXdR^A_p;Fv z^DhxM4eKnB$Bg4m9)&tJsQVm!w4$$C$ZXrSbwHgwh`JS1ihk#UC@DK3r=lG)lLz>` z*R6t#^pHnJ8@54unVOyc{BMx1V!MB%VLqf?PS-WHUIS_TbM8^hKuB}AGk@%Y&i^8t zr+wpDoIBQ?;CL2DBJUp5dCTcm{_CR&eOW~|6eryOBbOtgG-mL%7JrpwJQsxC|D?@t8h@e|_zK|ZGp=q(x4$^H*a+goM zhOr9sR*0k5C)RO1qmlOx>TE{c4)n1SeVvEQsqe=2w$tOU9qaMBL;^%>hljhLpzAq4 zW7NeTBOr5ww)&0}){xQraaLhXf5?bUZH*ki5;7*g+U56j7Noa@HRSaQAiccrMS3Rv zT>%?qF;9K5IQqK>wvLZHV~}?Z>dZmiZRkS}ef@+?`L4%LF8o8UpGBu-yH!Et)NSVN z)CnTBkSpVod5~H9+w$@idc7ER8R(oafQaka zHi%|5Kc2Q2AoJa$AB;B%MUX3qz>xeyaAb?OgyJ5dxJ>dfAiaA z1t6Ly-#YA21!Vq&X{Mw5L*_9H@hhp7khuz0H!c1FnGOu5JlEt}M?R!E8~@W`bu-XM1m|m-7-X(rcr4J{1Tx!&IcN4ofN16= z)6!MdAX@NfgPOlBh!hrWDcZCaGQWKEI(V4gk17?d-zd}Ly}c%7vEw<&6h;+g*-@W< z_dd@g|6qK8`B{j&h;?**SRSgw@`_N0ULUM(75WH9UyC4fpQKc?xejD@HQD7Y?4!8+ zc~U;FL1du$)VZ`2M4G4a=XKAguXo|sfHBnH`<*XuC{bT`?kR1)w-++c7LaF+0gzdg zxi#|uz24cVg!wIq+l_S_kjD~v>GjL%+(BJ>9RK(*P)1)2WZw81bfMUk{yt{R)zddE z=<&4)7=DpnS4MGhA5HFqXyGuA*Xu^n>+DqZ{B4FH8d=lSszrVLOw}6savx;AyZ`?D zKm&Tdcl+PJK+hL8(sf|-%Mq83b@Y5=c{DlRfL_#jin?{^!x??qQy!Uii5as%Gkc1d;sY z{zc1vfoR;1=`AOUF_v?AYwCl=ox?hMKC?XS$Qy(@O{hz+6V?ZPe_(y-gGfR~Om7{% z?i7(nD+;CSXNJwM!=JxpOMh+O&~SLlBUM0R(=ev8r9 zW#QYEF{y>#ACwLqzBv}72A7{q*Ner4U>#i_mWTRedF4>&3hGiE>*F)}qU$PqJ9^8R zHhMnnt`xsc->0oSU(4R7_nEargWgs@15vbz`|_`k>HGJAh6D?GUM4>M=rV@h&tskr zJ-=c(h=is;M%?oUQTX*TO;dV3vhfDyT@bev>uQka3G&kQ_@h%pU&p_?tPgr#vA*v7 z`y9ys;{R6Qe=G3675Lu@{BH&Rw*voLf&Z<*|5o6CEAYP+`2W2EOuXf%x~Nx9OvKrw zFX!z2nb2<$k>Tg0nGk(@pQdInCU{DC<@M8_7@jNdT-H?DC-s4KP9(gq?@s`dDDqsMC$Q&72Rz0h}+FF-)}e zM=RINMkexeQ>#6B$?#>AXg{{OOxVTHe$TITGoeOb8;;yfWkL+seA?nk`v7M4rfc;6 zru_)dXC2x-nc-c{FlpMjjN$FJSX*$1_K{@cK+IbqPJyfYH2`@C@)mG9rLw5&!1*v7 z&G{0IVAdDeN-A{kXCgo81^JbkG6EGTdG%K-neci?LH-vPCd???anZm5OsIy{p$S$7 zOo)$n_Iv%~OmN%bp2F8%Ot46{df+D7-_OJ7_t*g1H;|24n5X>&S=mkD%4EWt zbDn2ZbTDCqA1?azdpr{w;qdj<(&tR5?A3$-`4ddYdxv^!_>A!#<_{t61=dYLo?pmY zfI4?j_W=43qOZ%0(DbIl{ug;nz{b){9n2v(e0yrg3X!`FXi zxbo00CW5&#vNM^_gs+btzlT@MguQo6$$I;a3CsE|bN{v<6XrJWyU%4ujCPp!K-_Dr zJC8i;k@r06RG{t~^ijh3iW|-dDl%GQYqv1MU0JRkW+xe;zsOdr>Kh|CSRZlKC5+*h zyf5$hY|2E`?@GwuIgE*r-zHA2!|qJ>Wg0uoDmLf zJ(f9P5+hhAV~~}i$MA1td!4OIXZYHMZKG7(`49$EDGMp!1ts?+}N zT#Um!eLXC08`iBwp3TVXggVnW-KXEthZXvgWdtV_)fz;v8KKkp3Ab%i86p34WS;8@ zMyNGBagTXABRG9WbU^hXBbYXH#5(7_4F7O^@$F$<4Bz?4GJwJ*sH1du`oq4D`9eq4PUsS)v=a#=Mj}fkj@qhDs1tUyef8Ts1 zJ-&XmTeg8cBUBoBO=+qlBe*p>Y`F1OMi5e5azo6M5lmOSC3*V|!|&>uRO9uT;kQ~x z2brf~jK};t#L?@Gt&2t;dL6R7Yfy)tSATR@{6ZgY=qrK|^!ep)e9}&j`~Kb+-gb;I zn~XhSNbfg^o^|5SqZpy}^?N~no{UgBLa=RF5#?_&tUUOI5o90i6Mm#)pKsFYYkC-g z?bq6%w=*zmWBwQ7j$vIV^4vz=7}Rk`-4^uWjJ`h5*U^_Nijkz}=e+$%Zw4^J{Pz)) zB8};F-sF=dOV5X>T;9~s$BfXTufq$p=zacEuK4HojG)~#vflx^9<_Pexe*^20gUh) zU095NCO&B6TA-krDc;lyv=6qWAkda^-tAFv3|(q4W;=I+QP- z?iC!vco*~M5f_Vf3dj?Jy!5(dbrz%UZ}f2neW@`*pBo|VOEMW@Zn*T)cl16~QBv4& zlAfmzde6OD=gbJ}wPHf9ThsT$f%=h0O&Q^t4}}%tp^R|%ui`IhUl`#A4GFzN^uC$& z;`YVm8!_(3{8_~HVjVrtSsuE6EUzx=_@XX7KCBOVy|TXOeLG?6+A9y~>pS9|eAjR) zBYap{(wPY(BDBE_x`oS40q5q{k?rcq?W2w!{D z&$c2mwd?Vsgu`UXEmLu;R)X7KPH|RqXeMKzF6z+rVRgTu4+r#R{(t(pqwW9z literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8.i b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8.i new file mode 100644 index 00000000..e6aa08ad --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8_out.e new file mode 100644 index 0000000000000000000000000000000000000000..98b389f6093951c0fb07cb0f628a312a18b8bbaa GIT binary patch literal 159720 zcmeF42Xxd%_x25;_ufKTdIy8)*bL2p0aIMSU|_x8UE7P-USqGp^b&e6A@mv`gp!03 zLJLDl2!v2V?oQ0StDa3v<6cIjnVSiX*|+mFvf`K z8Ma}NjeJJ45i@0&j`19FTpMf-mowpiZrgI&7^77#D{>M37?T0zCh_M{F-(yZrVhms zvGb}p+9+c*$`li5opO<1#)%O#wAXpv#>Gz_z*;x86rw&<*;$WU#R#T04P4zNTUpxGdbO&U@qpfa=MbcSgX;a%`!*t1PHCfG6ApV2~F{X%` zjkK0nYc1i;34djfL)66qVHPzrl`SeMhV+*OP_FQ19gqLnjll^8k{6IBwm-^&z+X-c z{$<1bQPGwtsw=j6Nn5fr$$diP_kmYyc;vFScOFZDTT7@=~7w5f?kPZ*|fDYR&|P%gS3l}CfAeJgZ|zzo^AHp6fYMYZ?$wl ziqJ)2Jh{eLkt{bTxQk02u`YT`WTa7VrMgXlvVrWtR(5uA%&`uPk`jw~vUK%t(OMj> zL|reA+3By*Mf}Sp=1*F_O+1>3%5P2v4pB6JHZgyUIB-&~biT3u(Q;knNI*#pvn4ua zr!}vc=2da&;7jw;vBLJ3IPOk3ZE@c+Zx7PM7MBj-6qkIqzeI6+^n%kC_igj8qj^=n zBrC{qIqrk=1*nbx$x(r9g7+b>O4nvvVfYOv=-Yv?fu@iKLp;#{JHz<%-CCH zJgVgQqZuep%Eze;S*K%KlI2Jc{Jmwl!U32kx5!^?Om+5_%M}z6685XN9J_3Xy56)7 z`NcZeV%9MRCtDBNXKjBtuH_mbMlzJwV3>5-y6?Jd?WJ!l>-Mh8y1!X&y?0%<-J9js zf7fOGsa$#df%ICdE*Rsq%}7j}{xC(oFGPlmOEBq+Hb{s?8*S9%EEa=tT85@mJI?k8 z--_{aL{9^%KlDe##MpckgX&k}X^EGyO{e)?*tU7}H{UiCPVygAe%tVboA_h4;W;(k zHoPjAWVYdTHNS0mGerC`+whKB-Zs4d6a5`#wju55_+z%=V>Q2R_*BKW4S!e5+lGIr z@@zvo<4`=?@J|)bHvC(~vkhOWc(&nd6;BPDi)bz`wqdIJoltSlsq(JM1zB=klIxIs zy_2tJ^7Tr-9?9}{=Bac~UVoC;m*n*$d3{K>{hixg)oW+{Bq8R%aeQ>{?@|}%ek9L- z&f~n$!FfJ%o{#8wDOE_+-gLH?{0ZTpXH$UdjjE!rV!nB4Ci zmkOk&kF7ob-VgVwdhxyw532h3z7LP7dhxywZRf}LeRx{+m%Q)8bE2X!4|94A|BuSZ)y;23JtUVH&J3)BX#fF6yc$2HwRJy0Js01ZJS&=@oUO@TY`0L=gc%|Q#$ z60`#J?5Zbd1KNUizzeho9Y9Cm4LX6&pbO{wL9sI?vmEPxts{XjIJ=NPFi6ASu-0U!80pEbF zU>n#Dc7UDWTd)goup8_Fd%-^N9rzyX2S0!V;2`)B90EUq!{7)w3XXxF!EtZ`oCK%9 zX>bOd1?RwdZ~_H3Nnj!3Q7{$PBW8tRNf64sw8;AQ#9D@_@V` zAIJ|1fP$b9C=7~#qM#Tk4oZLzK}k>wlm=yh29yQmKzUFBR0NekWl#lF1=T=xPy^Hi zwLop)3hIEmzzx&`^+5yB5HtdfK@-pvxC0N+3^33fv;ZwZE6^Hvf;ONnXa~GNd(Z)N z1m2(%=nT4muD}QQ0zcpnx`FN>0Q3MoK_KV_dV@Yd3xa?S1Oq)V03!$ip&$&HKwl6J z%pd|p0t<)&{XjH`0ag$T`hx)=4h#f?z+f;030gz}O7 zAty2?j3Y3HVVWRrIFl#guEuDhRR1aY1c^k$R?c{D<9b!&;*c=Y|^PIARpPJlRF?E*`$*PARpPJQ!_w5 zvPnAz$VZxycFjQxWs`O-L32PhY1aynk8IMeH6S0^q@5=qAK9c`8$dp?NxQayd}Nb$ z?Ev}6Chfcc`N$^i+5_^DP1j=n4HfiS#$VWEm)CrJ}Y|^PSARpPJQx`x! zvPq||fP7?=PCkHqWRp(5fP7?=c7A|-q*-&|54tIvbn32rWRp$-%11Wo)I<5mCY^dJ zAK9c+pz@JTI`vXMvPq}j%11Wo)JOTqCY`j(M>gpc1jt7=>7)Ze$|jwH0r|)#o%Dcw zWRp$?Kt8fbCnF#q*`!klARpPJQz#%G*`!k#ARpPJoe7YSG$ZZ$f^cP%c4p-xo3x8i zKC(%>NaZ7&w6iE5*`!^R@{vv2^;15wNxNv}Bb&5~Q9iOsC#&+29Ry+l`N$@n`UCQj zO*#z#H0puf_beamtM>gp+4Ums)(rG#%AK9eS z3_w1zNvD~Bd}Nb$vjF)<0MhAWFk9KA(a zP79QeY|?3=@{vtCEmA(RNvFliM>grSMES@jot6Ufkxe=+151@nIxPp}Bb#*k6p)W> z(rE=CAK9eSNynzj zKC(%>FO-jL((X&;Bb&7QO8Lkp?KUVM*`(b@Kt8fbyKe#cNHfxI7vRb! z?REq5kxkm|0lSq=+U*78Bb&6_2gpY@Y4;r2ws3k8INE7$6_n zq|?uUd}Nb$#{v0BGt%h2wB=k8INEEFd4*q|-S-KC(%t z^MHJ0lTH@^`N$@nE&}qAO*&ly2wp2k8INJ79byKMmpUFca%*!-BmuaNvC_tM>gqn zU-`%;ogOG3*`(8N%11Wo^icW8CY>HBAK9eSW91{8bb6wEWRp%$m5*%F>38KL`zm+_ z$VWEm^amgx*`(8RKt8fbrx$>HWRp&R0`iefI{gL6M>gs7Hy|I`q}@wEKGKY|dj(!A zo3#5!`N)QL888q&(h=HafJ695M`)KJqx9MOP(+^xe763S44E+f1B{c7&`$J)z-Q}c z$&f|*Y<(`Gj|4tj|4W8!n4T5mq$6|^eJAkQ`ej5vN_LEsX3$CWspOD0=_LABa$=k` zgHEEaC6}~GC(-Yc8{?!IbP|0qd8AD`iT;?p7$?o3o#>m%2b(m5cD8;Rp(C^t{WS$J zjcg1=-%TN9lXgXvk8IMesPd5wokaf*`N$^iiYp)4nL!EVBb&7QQ2EG)P8munAK9c` zDdi&@I%O!Wd}Ko>(PucfIP#%zvZ0MAs0w5pR z&?!SjKt8hbgGzvW1p#!*P#IKFHtAGV`N%E|swp4Yq+NC8Bb#)pp?qW)12vV8Y|^fl z@{vv2)mA>TNjq2NBb&6VqkLqOc6F7HY|_b1`N%E<>M0-Dq*Hz6Bb#(;0LVu+>C_OA zk8IMZ5g;Ggq*G%+KC(%tCV+folXgu3`A9R;&K-Cto3v}Dd}Nb$O!>$r?V2ke*`!?y zlXk6?k8IMewepco+IcD;*`!??Zp8VlTO~sM>gryN%_boojNNY*`!?;Bb&6-D<9dUok97?Chd&MN1Bm#As|%Qq+OWu zkxkl}l#guEuCMZuP1=PkAK9dxS^3B&?IM(qY|<`L`N$^iEXqeVX&0q@WRrINl#guE zE?W7>ChcOBk8IM;s(fUVcCpGwHfh&i`N$^i1}Godq+OiykxkkSR6epvyFtoFnvr&c z!4PGWc0-kqY|?I+@{vv24Oc$0NxKosM>c6UQu)Xx?M5jd*`(b^%11V7H(L3~Chf*3 zAK9ecSmh&|v>T^Nyc6UTlvT)?LJXHvPru+%11V7H&^+{ zChg`aAK9eceB~pXv|FHjWRrFam5*%FZjthlP1-G1KC(%>CCW!OX}47Q$R_QUDIeLS z-E!q4o3#5>`N$^iRwy57M%t|etCUUJeWrY5lXk0>k8INJbLAtOv|FQmWRrGlm5*%F zZk_UxP1>zjKC(%>FO-jL((X&;Bb&7QO8Lkp?KUVM*`(b@k2Bg9e}>XapLACZH*B2OgjqV4yi@0a}7qpf&IWZ9rSl4tRm~ zpabX#yg?_>8FT?%fe-Kne!w4e1KmLY=mC0yK+p^H27Q1Q1OXig26|usMi2r*K^QQB zz91Z!K?H~d77zvcfoKo|tRNQj2LnJH7zhS|!C(j&3WkB?YY zFab;ilfYy!1xy9gz;rMJ%mlN*$6z-21k3?*!8|Y@EC36^BCr@N0ZYL$upE2}R)CdY z75EIS2A_j9U@ce&)`Ks=m*6X~0c-@Dz-I6@*aE%*TfsK49qa%*!M9)+;9xh{1NMS_ z;5+a=*bjaH2f#t_BRB+p0*Ap7a1it8TbP{2QR>%;4knucnMyC z*We%Q{}_nt;EWi405XBhAPdL}vVrU%2gnI>f!rVu$P4m;{Gb3R2nvD1pa>`mih<&w z1o#k?1f@V}PzGo~Sx^p?2Ngg?Pzh89RX|lx4O9m;Kuu5!)CR7g4yX&wL9B0watfGE%pM1vS$1+kz% z7y#nHKrjdl21CG5FboU_Bfv;73VZ}cgE3$%7zf6K31A|a1SW$iU@Djfrn}%D$Ot|F znLuWc1!M);Kz5J=6p|LnFVqIL8g3aIn zxCkDhXsm;%w>2nnD+7{TS#d#R}jyT^LF+{x*=YnMz zehm(SOW-kdLLCtMeN7Bo0NN+09;5DwIzsg%y`cPPdr-ZjI!E=5>KfHEs$*2YaBLFm zfMb$qkKkA&+95awiS|c%3@d`lpsJ!8hB!uub2@St=ge6ct_I(Nq!%fEc3vxdy|vU>#Twz5ri>ufPVd5o`jeqoTdH1;cN^R)Cmd zKOr4aS4BGp#~sm57=htzfcWA(cM`)p;58P37UH;yZ7Gghp%_x#o&i=FOfgYf95w!{ ze`5WqX8%Y3Vyw|Ryf{7Xzgh)s>;GS^0&4vS{>RsU5E@MX$-n-V$Ou!6k=_^|ZH$Te zFKR&Ti6oRy;qPAwQ(n_5+NiS{4VvJA8t=}XeLXeQ0CD^;g#`a~Kus%4M1(HVpy`ND zNN8F_hsH)2BdswSl;uF88hlZ}YK)DkX^FCGYSxUbX$^w}h8T~!nwln!_>w~{6DC9( z4JN#L*;+HkYQUErP?)Bh{8WX;3$JBPD7{TI-VBbkNl)Y$5^jUeO>aXT|E7K^>2pLXxwVm zXEUmd;lY12h?ahG%XAUAER09 zMDbTppS#kru7N7@~_cTj>h&Eq@fyWHsr`+K^~VgjReuhrU}wpHLD-cxXDd@bmOV z=fk`Gr4$hFy-!HjkyVx%8nBzC@MnKOvt%pPR9zlfuwL)3$}bukSmrbGjeC z-nry=oiVUwtC;jY#=dLW?>3)C6IiQu7rH`-jW(u7sVLBN*`G3a(ic^#>dSLQs z828YmuwKd6GtsyVkw#4v_3&-A`Hg_oPifZa#knBadBsChS@z;;WM?MzX{YrkGc?Ab z=P${&h+lcfGz>v|$&#r35g(2;wD-JB3x~u;ik&}EAe)JR#)j3bX{}|FX>z%+Fsn9| zs^g(?O|rn-Mr6P=4iEMo9Av;49a=T$j#b;!wz@QQY@;Lzn6!GQL%>0a6Lc`c*ce;| z#G(;~CY>HD9ui`tOG=Yy`Xi;*26+1f`8jkM$<;-*TeIwO-3s@`R!@7_`B9I^ElHcw-$XU>b*4$M%#o_GAiZ z@3kIU4l$jB`{G0=SBr8^^yf%DOtVq!p=oW3HtEC6Mr+GfZz%SrgK|mZtn8SEX`DnU zpnY!_qYMouU8q(a!Du|mpCgAa+hIX=Y$gdu8QOmuHAafAs$`MWs3Tiho|SPdj5fu+ z(U;-KDyMOpcWf)0BBIPDJ^Dsd`g3HJQ(0LV9vdZQAo@rmG}Kx0ww8@-!A9XS#h7w_ zw9583MN+GRB1K0wN{kV=0#f_4>y(FGo8qK#&ZAYf;~c62ik5nMW{9pSQ>y!lhitjN z^F3%vEb&#u8;N>oPzOwgSe^OJV_!<1|E=@#!1v(1{O0{)+6d0`a?+~kJTIrTwb4by?1;x8s~XAxrU-6;>}}yl07(KgqD84&&&S<_X6ZCaNHF& zMyJPl-sLTq-_$;oPp2d*SYEXzawKeHYH(72jTX&pobC;{WoU^sMTXM0SAX`mvD0if zIC7nm=Jh-UwD*cW&FgszXzyi3n%DCb&@WmS8Dm0MSYqu{wds1^5{=u0ky>=NqZctm zXENJ12o3GO3ef5G#wZanLKlZS)^SFIHp*hcy-1VQ7;Sg|95PH2Fv_IYMH?K8C1gTC0VI_MTJpVMcv8`ZwbeZ;Axl{*8hMlklhrbrQ>a z^|tFAZLl%K5^bct5*NSdLyLK*Ely2#8Bnb-Do_$F?XTFhFXL8#7V;UjF-BdqJ`BC? z^eBKqYt}^s8+2Mc;zQ}B{1{cTDlRW7k_R+fEwDnlnQmKzp3!5IY(?&(fdvFP%q-B3S zM8kkC=aU>3;_G6hB|1VYs{T7wLL@G(0YpG`SojyQgboOpS{IOQmF+!Z8>~1ECRZ+D zoHj~zH+!lL0-7Qd0wlM@R<83-JBeE5G`k}mIY}8K4O;4WOP-n<_t4n)5TZt7jE=^w zU!0^;UU&PCHi=J5DeTZfL%a6nBmvE#mS~eTEFxk3Jv6d{roOW!or2q#iB6n2MC*-O z+CAd$;o86JB@ReuW>dlgP?YDt(-1W>eFLU&3=Y zWS|dLKFpYOxm3rJ1k^_9^x=3wGf_O$!ziOQMxSbc`gGT>?X#KFk+ z(A2BjxL)H14eK_3r}aj_kPsZdQhl1tLo*;Mc@}AnYc!E!D@R%)Nlaa|HVRF|C`pP&+nCOJXsugy(bm`~42@Co2L;=z+kbF~lr`I6>Yrl$p=wjzuH&H!Na>{%(cuhJ ztKFhv+nZr(t1GJwR=JKnyB=0q9H{By4`nX z4gpc)Q4h^pI#8$UR!-r_Z>!g|%67J3>7&IZ_DwF9Twg@tdFcIwLkp%_zM%q9@sysg7vm zImnjbn-@PG8gp!_OQ$da0cE#EYRw1x4__)^YS)ksXecvGp{*&Tw7=S@3{z|1*t6S_ zr12W2c7U+|;DAWFIME}8ey=wlL$p6b5fB{~@h#58wUG7{d;1S%w@j+nr1ozVae=Ju zAEWK7(`#*=H&HtLO3uNp9Dl`)-vCljORz~7iBo>4(HdrqcHn4(fYi2;zjX=L#U$C2 z9n+AWb4c9pjJy*59MSO2fZ|N8ns;=5MK{$uwKhe?wrz*dXbYNjZ&V)p_vIM$q9i>8 zCafglvLeP33DO1|Y z_MS#%_jRhRb_X=X14~xx8=bkfm3AOtjMOcq_ORF}_O@+e&=HwNSC9i6MeKN~_S`rU z5I^1>NEa*Udo~!Y=uAZQu}SE_!2u1Wgn;rmkvQFdnISGNaEBssPqzK%6iP=MWsEji z3|jPqC2!u?Uu_Zx6l(`0wmLqLJAG->X5`w3?lJr0kyxxR~MUM z|5g?O(XxpU_o8B~_?5XHKT5Kw-`d%KUQQhFjpMZ=Cn?!?A^S0OR?&MZBn>u(QfIII zt4zn$2>i&@q(krhn+*v21NJvY2V0V#jcuF6{tW*IZmG95TY`1wF4Q|i)^H~i0uk|#VR2!RA z8Xk|4x5&L>EO^BLE`~khH=&;~66c@dI_a_?!P73P?Z7 zPx%**4rUl@4%bFl46)|eHya}!nwoZ92GBaH2NT|0UGg}xl~J+L?4qC2Cp28+qkCvN zb?)SubW5f+MhhB@db19}bc|-b~p5&?fEmzCba*#iTXszD1V(1cW!Begg>e3nMBy9t{UtjeWmh_4F>|!TXkY$gAI7e5TD&q^{;bRv$TqY;!(gLTmwG&CXz!zLY4*T6a&QQaHJJ_c%P4g`q<5tz>dLUc z+UW6H!Dx#KKhm@9#Mpu54}a)hz5T14aKw&3M9U*~`~e(6-~D7yjU~J$RK9H0wq+9! z9m$Xarn*OaXaaiROHA+lN54W!^jnX_xk=le)umF=rJL4;nIoqF9FNgR3N_;A!MYUQ zw`aeGp*pO?GI=+Muu9$sCOyFpLE$Dke*~T8+9RX z1s~8%67#=wZSfoBLn^XFU4Ok;JqTAZCdzueAl-{i-7XP zp5&3a_$2NB^+(DZH&MWPcC9mINVP>hK7kHF+|3P5^u|K;v>Wl{f*t#E^dPM~;OOE~ z+B6=T9`78CX4Gin1B!FO8(Z7{dKe!t{wSR!=)VYvpRM6>lO)lwY3vUu9v762K<$7q zW281|+r<9kAs&m2U)lJ|l3>`IpU1k>d=+)8HXh?_72U@px=om+Pv#srzp3vJ+ zJ3fEs|hh33YgGIpv8|%lD;L+{st#j*%pv`GQ`d5MEAk%-Ir%}kdHbVqVt3l_;Mv-r5w7upZuh%f*Ll?Fqw<8*c>SFQ4B|Y+H z#cNvVCr*^N`g3F}r`fu3C}3*49VLmaY-h^>KfOwAw{tjPYP+2b`0f`yRHbMc*(FI< z3V)7hC|*iA06$Jose{h`UJ>-%gyGW~=}}MC=^{<~_bgjFnIlJUJSCq#FF+KngS0Ne z#Zy%gmdIqXsHzEs?1Nvbj~j z)V~%<9M(-wW#L-2w?LrTe9LtbyJ;ui0qn0wL|Io0rUyF`5 ziQYPti`lxIv~OOrIF@0k`1KWjJ4!2^BtZvPIgOWlI&$GdkI3kw#g~67-<}!RbN(!Usq)~cC7!c2pVU?3?Y$c_G0aG|`Np-P>eZ5bym?Za4bW*CzJ5z+I0Ga7Vb0SHNW(QTY9#|_C651Ds@6VOyeiV zjva0K;~h|FFW{R;^weNDozLvn=m~TBZ+BJjRoM^-14sJT!K(g)2Y1~G_ ziC+9%EWSyfV%t?V$*2XZk5O$`O3|)$OJ!zT4aQrM(&tN$@c~n76g$$>PC?Pi7Ol;M zXDE!ehK_wZU!n|c0c}VAWM}<%jQb7&70g8l1_P+?2^5?}d>}!`hj@IkO9XpR783{ zLB3hNj-#glT%4sCu&(0)Q@uEI?9z`<7&^* z3{(A_o1+0!Y8nb99lLnMQ`zc9yzQtOzgeJRe@kS9DaMF5!ib-&X=J-h8y9D@1`d=K zouneQacV45J800`KmBGqsH8fyWs>UksG}ODdOhmc)o2>mqmE{n%9+XWJtcX-`0G(e zGfee*)UGoWw!LjDC%FJfe57#fYE<08O}N0dT?bKVj;?Z&3~d1&xgJe%mE!~2HkBPs z_Y?yrz8-aSl~cVQb?j<1jq6cIGfee*)Zu{XbvNUNi8K&Dcy=~Pf zV7gq>+XAL~P4DOtJKe77Wrpc^kC_6dV>o#mE*(EB?&9)4@MGT2^5xU%(j!7`yfpel zWCgI@*OLXyE)kVPifu%64n#%K7f(|9_yC2pzhWl}C^}(vNq@j#|G`1Luhn*ZmaCcg zzx^5NEx5^+I7Cw0{%#h!^v2salZHtcb0}cSm)bQY5!L4i}zk7j*!f@zhdLzLsJAkXGeBDT;<`L3tCf%sNJ|rfv@8w`ely&6&v@CLhw|#E-EaUdUDkMRZa+qU*Y$E zqe|Mpm6HY3M&J>Avnj&%>pcXt^D8;Y1B$Jk5YaC&4t zObD24t?dg(%{duRY-_V6@%LmMuGrC*P`Y28;(p@DzD$qErxJ|Z_V3H_pRx(V>n|+P z$$!OQ|5lC}7>Vzr;LYVJueANA0KDlveb0LRttsB=vB_%xD#sagwuMs~IubCA2C*a6 zCN3hiGpI<|-VFZ-uJyVk{Wf&EUGt@Q-R6i>JY(wX-6h>Jqb>QCpLzNk@twEC${3^N zMQLImo@A(vyy$qC<^z|G9Btn6E-3pC4hR_2Ik+#Lx{xbEIVbwF{}k}nS1}7|-g$#l zE_!^4#f-D3_#{j6qoVysY+U-J_YVL=V$G=^9~{vzJSIwf7A?`HNH9I{z8c&c!0BH; z2w^m&EhjCR=64kB|B52+rKm5Pq3wm|c#>TbII>aV14gHChIS+%J~KvdIZ4nhv1R|; z641J#k73$AM3y)h*$!oxI3OB_Nj{bK?*rnpFE-KYI}$L>FZnnU&>D>oZEGV2qS|1m zPWIX%drzb3+@<@!&uuxRKTf#Qvs&}P6eC_I2CXz z;8eh=fKvgd0!{^-3OE&TD&SPWsen@frvgp|oC-Juux zRKTf#Qvs&}P6eC_I2CXz;8eh=fKvgd0!{^-3OE&TD&SPWsen@frvgp|oC-J<_|Gc9 z9;LkM-1VasmB-xN%bWMTJho%hINMyj%D(JlTjleNA1`nCuugcr74hSx*B;)#E@o@| zc(EK^tM*#fKYqMGK)DA$jY^1@W7?L8rl)JfPtVZieuGk1X4=MgJ)axW~F?V!}CY?F=y7S@R$Ktm0#vK=r{C!OZ?zXE>iQE-m^4ewU{H*`_ zB(KuTFV~4l4|utcCtur^u_!Nbb4SliGmi88!yjDCc>F%kz&3mr-g29Jn~JSFPUel6 z827Bo#Pk!Jn4JGFCYH}|iphA3nT)@d$?~2vS$;7l^SaAKUIVLhFZ0PvC38;YT@ID= z{4IAm-m1cIpAmVha*rS8Zhp2ufHxemK2PpfoYxJ>(X7;zYP?3FDh2<(Rh(Dwzf+ul z@SK+zu=1Msz|uTNvFhulFKOi7B{avZ;B4)f7+-#eiRpt3Ow6CD5fjVb{FBLeIhl;V ziOKRpm@MCu$-GW5nO9%lCG+VO%~o2t@5^&7R@a=zy^6GGdFcKY-fG|K9__X_;j9BY z9@+Ct-e`(%T*h2|c-_4NKWx|_TIWpnl& z%NP^mGrwVCdVx_)&VPu>0)_c>kv&xr6lyxXRj z=>fNY;hlmt>%I=U!`u0E?U{8N^3{*%I$^(=Hyiisn)SX<4Z0vFY~yWi z7x|-YmMXkund#Y2ye!3=p3Qpvhfzy;y%vwmJt}44)uJ_dMtymZmna=~vf!@0u@9yWB;ffQjiFb}=#k^C3(wf0T)MYuhmy{}7YqeZyq=eVNGX9Ah%C z<-F(i9p_i?^5A{KtL)ho@&oVoZtCN+9yjEo8ea002{?gPbTvzJI zmn;5S&3k^c?W?e<2Y9zfgJunFdX)QmmZ)8IYYyId#PQ7CkG1CQewbb6&kr;4mj1=h z=l^v$Z{#**txrsOUL{Z1%HjDQyZ0YErt;oxjhGlOGM$O(vA-}e|IH&zEMKx26Y+iy zV>13iCdzZ~#YFkj3{2!T&5Mb={w~I~Q!^b|S8*lRt*m5KlaxL@5oZaYmkc$Zo8FGOYfg}1Nv#i!cSzw=gMml{TXyq`B-yJhq7%jbC2Ns+nz zvS)H1_&nn$FIz5VVmz-e6VtEVU}FAHIxw;PStAqiGEZV6e&1#Jl*5YH{>&xC{T6TTP1J1VJ-EQF~?w?z?wKBWIyLP|1 z^V(8x-l4zeh|qIIc+VOe}wX7ZdT8a&%5-b=bGZYPsH(R?fggco@4usEjT?t z@3v&=rT%?(a-ZET*Zq2N9QQu!y7Azi&Ad&!OqnNbaOEEJzwCN>@IGF1VurfE7m08m z9$a_B_U5^n7%$z0iRr`FF){z9a!f40Zv_+aE=^z}zV-kU<;|$dMETv;Gm%%D04DP~ z#C5X^mah281Fj$W{j9wEl|oMEL{CGm+PvRZQgdLo*(nNt3tHp5|Qt^yN1LT9@TP zd9uCgwJ`_pRd)8;D*IpafRf*@$XjO$_bc%21osk|d6#UBzy17S7TzvHhGSop=*!vD zCu6_v70zqlJypv+x}*E>1`Th08+D0^@j-2wm>%>A6Z4n+jEUtR)np>xhm48%bssTN z-huv1mVbhYy!IAhGOvGlaO}Dv`GZDqL+DyfgKU#{(2#wXMvb`6d;LD}(u7Li^MFgY zU!Hrpll$!$ROaC`5A642&a|1HhqpVO&tuL4J#Ri?-jo{Mu5;Hhr-wvY`?(M4(RJsP za+{bKk8@{YdcaF2=3lfC`#F}M;mbt4KbA8Q|FstrCpYle_Gq+%O z*T?%SWxQ6?FjW&jULjJWzw~)j{CN4TOBZ`ijK418%f~Xy|w81X)|v#@B1N_@@L}> zGq(t6u&f}juU*PcEt=2k_5EaEyP2Nc?dPTI3(@sm=r`V-{T^_)Qja$5$^9{}d;gO~ zg^ph0b&r*}So7R7UU&cggKM9CsK$R))Ay?RFID~mnb(;*Dz8=C z^Y;cXGoG2mJ2$DBqtAg~cuN*?`0Vw`y!n@_rVeOWowE)81+#_fc(cWRd%6wUz&);a z`Z#uJ7Ve=Nz{+GOz&&!-zVXY_0^I%F)XT*SZs+a?yWPL^!)7(UL{49FP0sIfRW85e zo{TrRriy<{m1kAuKbLu(ttj(4_%rwZb8d-_=NR`LxOnU6AELOI{^{=i3v=ZY4bZ{N= zg11`Gu;iD$52*1QYI;XCe_gfwT^X-gITb%lm3KpxzeMJBzNpOWKo0J6{ij*?dYIMd;Hj*-*B&$ z7cTEDdXal|s4;7E`CZ(rXrnSKn|9@1S=uZp^01GMIP!a#3vOS0{PT@zKNTY%0k8^6dQcZr2UmN4I6v?BI#KtM`=9 z#g8xZE+03%)Vu30-lgD*@4x%z6z^$(3uH=kJJcJ8z2)@pPpkP$tK|=>cvDsUE3&+h3bOnPO;ldD zWM0{O@;=%2)!bhDQy#Q9=;J?XeaQnYa{_1mG==vVULYu@M*t5f+CHZH=0VW^t7fr% zJb1T&O`RJBzU2NV2cIgjWC`~lQsZ=c>lyCvWh!^4Woz!===7d*CVw?vT}}T?&2Lr9 zUsLh=tN15WdB6$7t1hX*Wd{_$UxH9SC9#O;Hk z3weMyztN?4gc=_yr&qe8<_}iO?@;mj$@nYks`7To^0S7^yk_K;d1cPbgXdf{mEAjr z>mL;|Z=BYE>-zjyw`ccuJgDcYbq#8t#B$pj+$#S&?|sQI!)xiUyw{^@eFv5JhWBb6 zT|Mtr4G%o#Wpyp*&I6|uzJ0#absjjNsN3D=qty5zIlb(ka{eo~)$-G2yk(VT{0jcE zJlA5X{4FxCeFaorkGY|D+3-`-UUB1sj(`33>N~El^}_du(1AR->Wl%W>Ym~{-}xPV z+xFo>YYsmfq{Fc4&9AzSs?N1@G99d4|0vfMi7vJ$R}}Aa=ttw~5@z0KQ`dm*?q}6_ zH#NPgnt!ZXzJ!W5M#Y~j%X2HC%6};Hn!Z5h^?E7~DcdP*ae*Q{)azj2?oPY8;nl1R zx@$jh{fn>GJ=pVt>r4J|;+C%$4-WroTh}?CaosPadRHp+CD#pUKh0(SAg*gLG;@JQ zBe*X2QR~|14qWGA?cDqD2{qnIP4A)R@2Zxcui_n5@vXAFz0G9#zj&#l_~T(&y*Fk3QldhswQL-(eRw{&3-}wb&GHxZS45_ZKg5gKNLIkx{d_e#!nH za{HX*dbcn3ziKv(2j3~TW@Rpa9{la3a#bGv%7eeGZ(eXTNR6LY(`%~vgVpjoRJ_eH z{-tcHypyv0j%{RKH~nN@kHfiXP2EDd@-*aqH-)WiI4v&^n_F#vou0dR=$xW0!#e)X zL%uE@S!3mLZhT=}w))izZVWE_U9Kl?-0oS(l)BV zyuQ4zv22fl4fAqS$mmtuV)OH`kJ?pzdFy8$y01j7*M6uURTh06Rd^f^*%Y1U_?MwP zM0ciH_1Rl^NS!l3o?3sOhm_0Iu1!I2HGW1-AFJkXtd{Si;#E-b|54@XRQW4pUgt8% zyynO7h=xaI*Ub^YBWvHDaJA+nZmt`(Gc@~N9^RlwNb_f-d0(F`bFy0xa?|uq;~zwR z$-|zUo3i}doIGsMcLgR5UckdD9V@Ztqw75MS(lgNPPy~Y8-LXwG=!;f9Nbn9t8urX;)+s zW67!9wEmk@pFcaV#`~-3<<$K7g~sd)2L{2QvgOS1ffF*2`@`pUe%j^{d;`er6s~x607{tUhRSjaO9D_sjVo9F@yw{Y}NYt>Ujx z<&Br+pB*UkTGLAAb-Xq2*Ktw#omc1be&20g`O*AaJnHCyK_j>M@+kk&S5D`d$t^#2 zEAx8Ix7?DoqqWVo1w1k|@8nM_mg5ok^n;AGck_skOCPAX|2~fh>R$5u;q`b#=Q>p` z9REy>mr>KdR`XAg%U8Iq;_X!NU#jxG zc)zWkk7izanD=7`GV^=)dDO8zi{>q_!=s{HvYM8a;!&E4{1N^N&%>a}^J9MSMS5-u=?D{AJZ;UeTRo zUdLmYU&xZu-M3z0_0}wW_Uv3qR_**}s~fhj$||(YJT~mtTTCDvv!fuWc4)n47y%=(IJg>-g%sN|`FK*7MsxIJR&;W4U{6dwJKJ zHLjDzHCOG~tp3dETN(^+!Q3i$UcE0@D^_R9KkWD0yO`_D2A3A?@5@|EWGUJx(n}5_ zo=X4s6XkrjCd%b<{H)@Xl5t&Is&e+Ia-XO?mdL!Odtx}z=ic{=Sg!&B?kn$HU|nZT zd+?j@2dsUiCM7@HP>p#usNpfi8(mywmd3f(=*F5C_1gZ`M@Hr`a%<~m*EFo@<*9A5 zJU+#m7P%X;$kIm+Bd<#Tqj_?^D>}K{s4*%|c^S7;O;yeURj#kh%4) zPg%FtZdvMY-O7BU=2WSDs0HgfwDIb)`Sh$ytyVLi9~{6s@m>#J952AU|H`(ibj(^c z443|&tIGKfT#?J=eIVofcwfccBg=W5LzdfFC-cBvHIY}Hye#-=n>;VtRbauJM@*cw zX)6mlzT9Qpia^%8$}g*`?#|14_(TuvTelqR7S2cKy552Lb-&;3c&UfX=l<7abfFuW zPmUS7plY};wzx>+QHNit;Z@}yujVVNmW!2fez~vWx~g&lRk_P$9-CXKywLADZ%WL~ z?(JFd$*~pBE(l_}agDEq8b>j0aL!K;`fwI_Yh+WmdaYTHB0p`cz7gBwRbk^(UZ44o z86GgqV*vA;dw!Ygwvx=R(i)HFUwp2H6QzIa&vHKZn{v5b3ss!Sn%Kt58JGZWx>BJ>-BT^RTiA_<$Z3^v7pHwQDd6?%=+Xl(qY=53M{Z+zpE=^ zr?Vbmw|lVBpRn$~H?F!;`-FARQhv<10&`fmnbw|tep#c2iahBh#Ln8of`~ zfb|}6t?u(8wOHT+-B)2_Tv*QrPde=#zMJ*ve9FId{uwOb^4d}Nhs;;Q&y>H1nyP%wzH-nb(eL=)YXmI!C6>Eci*!LmR5BX2J7!9P_tMXS$vF zvi`oqj|HvE`m9fr-c0NL(X~tiC$Zjh#>7?jEx>wp%5-v$^*IZSE%|Kcf!8cBN6x|l z&Aw2>Z8H1+h)Oy}M0z{C-Mv!JM@t6~;iLVX$J^6@?^>(g}WN14MXvflmo zb^0(o3+r8I$CP0&a;RZW>F;|-%~wnyvBk@4eeR;ZdIl`bD_hZqjBG=e7)yImKS6}Bej=1&0fla zGTbeG&~pycc6->a@0J!!>r$!qzTY#-;Zv-K@E2C|ja19^lW~@vRB_v=aw^MmKd2=0 z$bkKq@)}r*1@D@fVLK>+GQB3_uUTGv!h(PHdHU7(uUT-{6UQFpoXB+h zW*#dr;ttcXqlMh>%wa*N=5?%JYA5P<&nd-50!tlns2vSZm^28 zSj8Qo%DJw}JumYpiS0^x1^N=d4T@)NDiN5gD1T#lai;dN}@z;TGv1 zep}5Krj|qf5^?INxWi;QeaowI*Q-1>$-FuRGJV#i7YgXTnZA>D)S6rQnBH=s&53Lm znO@sFIN(()rmt%0nBAO}1z*#I4 zxp7C-@PPCWf34<=QOgZfaoknhlByi!N#$m*rSkYe<#mPWYy5C>=k;AoZ`S76ar`%? zUvRMYmGEUuzp7A{4;#K@`sr(Ww0Js}=|fL;y13&B(>J`a#iv()rq5Zu+;?|zyt>n_ zfZJhz7JQ~+;E|$*)UcTHV>^iXwy5QBKBYK2tE#xzo>WdF=tJe23(7oBSY=)}DBnXf z4h_*T{p4}=CeFotho<)O%(9i~9~X%BsoRq2|Mo3+JM0wGKiu?p){TtmPyh9_;LDy& zzkRXx^JPCW{qmzHHx13f^s__f`)$H{i{TmNca!ri&#sn3dql*UBIBBnhbRa4yQti( z%~T%SRbE4w-qddB!_y0ye$DIXB5R=c>vK^{YBXVn*3qqEFMr7lma5?ahi5Uvuo`tg zzTJ-*;>HJ$DuMewVcOiadR=9P?vZCL^R6(1ceZtnYyB*TwKGZo{8nfw_}C|MGw8Y)RP%j#kowIvYHv5 z_N#RGdL3pg-ZR@w^Dt)A{CN9X@IYoPa%J7cx=WccTkFvKL)S6G>jB+o1?*PCm(oAX zSI+0=Etk{xmvJJn{vz&ovYe@5vfRrxRUQXqUWc>uzSsI3sWQ1B*X^5-_lE+nd0_Fs zHXYx$fcp=gpluvDk#~9Q`t9O*b$I)>+YVoSI-9pz^kYts6=A$--E(UvJ*&@MUG~O> zXRgl+m)#$Q>%0*YoHLAKc*WWBZg3neqdk z6C3FL)s<(wY50gQ8^o^Vt`%I{2IW7*3;SfO^`viYCWigmG2t)h&cuBEyW@E;TJAX$ zaVB48GVU=Z%ZX&NTpX809^07A>r39nbykJUxh%X_`==3KTj%l~hklCuE2t6oJCUJN zo@_IDm(RXgwt`u?*Q=~0JpJbKRzs?tTNYNIH!b!sL+wxI^V(1S#{codC0@AH*2RAg zxy;0H^kXLchdMJc-<+?QTrPr%IKGpZjQbIj<$TU$xpkS$V=?XC{WbG=-9-txe9k6)|@coUC> zt2a;X&TD5rly^qV1zu=eP+YNdZJ8MUvWy9TTp$zkP1(l8a!S>EvA%xOKcXn3cO%o|_lZNz;l>F%5Ie#5)G_-wIH^-jFw!5v<8 ztCZ$#YgFvNx&xlK-0+v~;)!2)qw6`14<4Vxa{$_VkGB@$1!u47(eIxojE2!U!|*%+ z{NGMuV!o$ZCYC$dmWep+2QeAf%w##yOqRQXi9GT|Gm%%OLcC__hmX2v%FjJlmalR< zb2r{`{BnK76)W$!{^W!H1M%FaW!mLi3+X=A_{Nn@LA-ezgJJE*{cytA1YmKwu^KgxxP`3|3Fa=C>}#0fpkWLyK2I0+;&Xlk;#Km zUfuo~%*%SdJ~pn&ecY#;{frH)&pkI9cD1U2=Z~~A*KNt4m3!`tyfd_#mbV<{t97qB zgL~AU*VWYS6JGDn1HY}h)QVTF-)E%vxoSM$(XJIUy?DZCm>K6O;lKKViTSQHWn#JZ zrI?6QB{P$8KV!0-3QU%pnTb65|G-3E^|$c?8!MIhapNQI_Crk9&gAd6U)#dOeC@_Dv7BcyCgS+6VKVMLCdz4AiHUOi++!k-v#XfM>$8Ae zuW!WutZg`)S83g7Wz}8*yg_Tz_dYByZ+fn9KxErh++$#%yn6kk|7^*)lWQ*hd2i>aCOpf@ zCS9L@T91k0kJFj(PdUfLd|4kbvE0NECgMyu%S7BoU70ASpev(tcfG#NL>_*YU6hxH z<#Dq=J_{@}`KZgTfBZVTx}A67nn}eoy;^dXS9^U}GdN%*cdd5yNP}7XxNC=EE!`rb zd5!bc+SFavkyq;Wa(}C1H+abpC#-IyUB^GDyuHGYL$)$8Tvd_@|ByUP%y(uv6U(h= z%0!&7MNGtUQKUrRkSLzU3tX8)5yzIf#-qW9F;zfRJl(|8h zc38j02JQ1Ih~L-{)Zud`{J4%5^ZnD3iRE%mW+KifFPVs2JRcL~+ z4BPYN!qJ6xl#onF0euOCbomjTi5(K({F=xfqZeq$zT{F z8}(Z<^G$tEgM(`4-eS&ReC20|NWRt{k-8f$i1gX$p+TLyUn)67*F*@2k6$GaU)xF` z9Oxqut{Lq}#zMX>})TYrRQQuJi;hgiY zRq4rzH~fiFrF~V;0)%s*?&N!?otCH zeM@9HgE}j(snrwRT5BLack_YxmNfw37%K;aYjhQosx0I5XdpDEKI_uczydTTHAS>K zxE(2&JYsH-J%ohMFI&}|p3k|ySlco$!Az|2J03`RdPt*#_{!oIw3r~orAhr)23A*3)Rx9wX^0~&I^#Z{sYak|ac8BE)rkB`gy zW8Sw4)xW)}F0nwlq5gH$(A37B#`+fbAws&*BW`&y_TANL@%CKF;os`QY@Y zeo#lpKM#oRr*}rD+JN{jaRI^+Us+GM zW(#rN+{u-6yvUmKtAC1AyIuq5^MRLbcUD{Dg(nR>!?SP0UdF57o%!AXce;=jySH)>?e%H$ zrNcuZT6Ow6QCoa}T;#~x)@QXe*3f(kTX*Oo+xO-j)j3ObUs0c>tZ$DY<=D$|okWoG zWk!tlO)KDU+`BEcVmc(sts!=Ekb#XxJ;c24oU_9T zK}_b(YiYIHAjUv$>*TpP5F;z58}2-x#%P+y`-jxU(mo}s^Ni}^`*y_V3hVntfpYAi zT%8~|AoEK9M;Y+@VoJyF!uQ8Mb^J8#T>yz+?9Kd79f5>NW+OS8VBbJN@3%!D zF~NQG$Inra!27AQCrARJH2L}|}V%P8PGsmQ-r`5pKZdzZgjVhp@RiHnb! z`r-S>h8xAlNJ8>-W|er!3P=jKo%V8H9wZ);wh~Geg+xn>=0yBnPon5?&5Ze@XdF)S z(QI7`zTZvyCQzMBsyl)DtfaoBEXS%Wmdk1w@MeA&EG!xYe2qrSSdr;&aOPhT;3v;|%K~PfdWNB9A3In3<3?>Vo8lnn{rO?ETL> zAM|O|Wb-?IvUS$IY+v11s)O&76WtK%V?lj`DMu0IIt)C+kI(WC;qzMf!pAQvtMUA~ zbKrsRr{9-;D9;N6UXV}f6+;n7?$A!-e)osu^uQ zj*c@Mb%(~sG=HA0JN$$8;pYj6ju+L{pg#GmujgczLsgD))dJ5z(0X{y4 zz#o@gWf}Ylcs&k@^EdSYZxyF?Suoz7iB*?Nl*=Lc@}l0_aw|yAX`OVk;us{))w&aZ z$s3XlJ=V%=Ytx92TatI7b=kB}lj_`{x|^sEK2HaIxf3bJHOh4wcveoW!fHI=J$>c= z{=GEtM^+`|O*aExf9%2Fq4V%@YB_(jqZIH0^9=oZh5}Ez-^lP$DkR^qJh*7SBP3V6 z*4&?R50aOzoIm|lGK~vp{tm6f#~JCvdV@OMU#PAa^}+jv_~uX!%st4Zj;}ke`g2w} zI05g0YgeElK7V9)ULJk!81RQgqFApI0C->Y`gdI`#^>8b$4xe+ zz&o23vUK|!;O#M=9UaF9Uggxy`M2lLh<^?tc^6u@hxXy^AUe5J_aybf*EQnXPC4-B zJjm6KkNYdeb}jui!0Y?4Va15Az#qLLf5t<1;7>|=6nyj`KJT@EZ#jkgM@;Nmf5#K} zLaMW0q~hz=d$r5?Yw`DW`=aso`oHk!GIJZcfOSa3JS2aY)@`7DCR7JMheLGn_7k6% z)EDpPL5`6Qlu6n7ItO1*m2dQhY{TObZ?A?s)&PI_?-t!fO*A&p{CZl~LHov2oj0s*I6iL& zeXb}{Uq0p7M!E3$)URjrTgVvra`%hBX-@;buHE_X))K(C?MRXH2?f6Mvz7OBlY#H9 zl5wQ+3GiLqN56i!4fqaqhuq8X@iWtGOwI&6&-A?8cY;SF{=Opl5?bd=`xdb}Rl}(+ z<|aOs)YpS@;OD~#*D~OXZ7bVy8*k^>+6{}3_X6MI&6PQaW&z)?Ky=Cue0(H@t+?>Q z4fykSSFX?N0e;q=UgZaPe`kDaYWeL2{8SSt5}W`9Lja+zxP1?#eaL?-yZn42mbAWe|zBH9{9Hh{_TN(d*I(5 z__qiCulE2Gt$Z(Q>BSf(@c3k#)K@8t&zpEzr$gC{=lgNB@4m+|?jPLsQ#0CgkJVgHcA$nZSo%-hrwZZYpY-RIVPifsH z+NVl&VyUhZ^(mmfi7dwqE6TNn33bwIKWC-GgtSiot{m>i1cxe0$DPV%{5OBw;wC(c z@%h+bwkRr<@s?R*JFIjp<9T$Bc&Mlf<8j_=X6l^PjK|c_@y~mvG49XHt?rv_rm=|4 zcMs4y7q(C21Jx0tx)-R=KI;36ax_w|^GrxWa7$2S6BDwo%vY-RF2hxOA-8AuLncu8 z?Ppz0cg8QOh8OWdkMYSYi@ak~$as%j(ZSeAGG1ftmoyhhGM-tpVjFn{jHk{=iO;8n z*m$a&=3Usj{3~o9bD!#jQr-E~=Q``VXCljS%$nt@3TL?YulJ%TH73OMn*EQy9)=ru z%iGb`mT-+crfZoHC4DEk ziX#j+@AX~Jx0OuLtE9TlW1E{0sht_CkM zF|=Wxr8ed`Y4N~1ek6_mey1CtJ*V};6Hz6Y8|g0gC|A~@_wXOr> z_l>t*r|=Ks$1PeW{U(U?jYNzgSU53C#0Y1s#Bjg)b}FG;S$Gk z?Ha>y#g`7~|5(6q_aBxVse*5HL-WzJE}ixTQXNEfGpWxv)^~_L z%c07!T>WY|-o4(I_kiJ6lo*P=GGMrSw*EATEoQi0*A_^=Sj+_PFS2>FT#^Z@$V(j4 zw1x>hxag17&wEV3=YT0QXU}B<1W)2$R(UZ2hPSJ#oU3WvOY^R5-Kv(2mpZ?D~P zvz@s~Oi+5@h?&znn7}(ibxwOeFoB_Z^K%DYGJ#Xn+G=m>(&#|*?X<3j_N}2h)>PMu z`lwUi6_jHW%jLI{;Z72ISQqh$;clL>zc>qXovbP|aS6l6>syrohg^m`^NHOuF&`%Q z-usOo;_8^-sXf=#g3FnpO82DcY3WQ5np@bka~%^T({`tPizSUJG@nE3=FvW1s)MMm zCH2XnzL9-9_sb(LNKZ zqeyk}ej`5ka~kyZo&kKPrv!|Qk z^J@Nz^aEZDH%27!b$~d-HGIBmxw|AjJ}R0TRce{w8*5TtULIhA_m0|R?zEi7Y?^PO zb!BXy+izCK{}k2LrasZsH;d)Crb)RDGTh9DH}yXbG29bROXFTIX1I@KO~y8kV7O1p z@>XhLzKia=zaH7aaI0dj#N}8p+$`Z&d&2SO?`x2F(lD9fS{I%$Gro%bOQz-)y3vTQ zXC!}=*4fcMN2-IbYect{`rzY`_*%0ZZ^T%xetiCHEc?Vre`dIskM+Gc9KvwB?T^gD zKL>KZ>bTk^aTxA9rQbL1;Opjt;HqJJ_Ay*Yvi}sao#E~hbI%^Nkm0VkycSt4!*Ev| zLwUL9X}rwlx8v&usf(a}`1mI}6;$^l^+}_?mng?smP-b2&(TdvJN>cmgBMQ?%JB8@ zw@{Dnw{j*#A<$;R9sKjys9)pjCOa`9a!i%fHT?Z8YPilLau&nw+aXb1+KaFErDkfQ zoEh%(*8G}b__!evZx6}4(z@TY4^bU+s=J%|^ibbtlmqJ#E__|NvPUgm=rO~68?4|t zRRq`HXHLFZ%7hq-9pAbR$C<4&JI&;o5XUReYSe_85c|~KcOI``LabNp&A2<32{Fx1 zzskdXhU?nBEuPW%ljaR+ojvWt-}6Lg7S&xzeOjn5{vIJ5i7c1!B!=5!xp67yC&T^x zChwlxMkZv+;U3@O*-VIk=&4`I%bAdzh~LMr7BV5LCjV46tYbpfBp-S)Wib=7QmWtU zE9O~TGLQGxp9v{6zq%#Xn?}4{Bwx?gebb_Sove=02&&skeR`-bJ|74N-k*b9Xqxr^ z=NBBXUX{Ji_4h|`Nzqst1OHkhECzcdVtc z(%!;U{qI;KuCOk&M&$2!?7rQSNdmFIV|hRI^PfFa|Bi*nnuZxVE&OkMM#s5HMgbQ8 zH%4TB-v7p=-{aBWd7{sE{W~W9JN~XyjR>E~k-zgS|NrL6_Fb0#JI`+a{J&$epZ<*d zJ7)LS4RGE5#MfmPg+=f~mmO)!4%U z3~HVg{qpIBsUk8?tszb@zC_aG%8GQ5cdc{mJeYUJWayaC{E}is#s>}|GQa!>BK6!O zi0#Mga}qsa#OfC#)^9T+{+go@%Z1<5C0wt-H%HmA?dL<_whr_KI$Z;I1Nk>193z*|M3BV|3O8Ss=E6`q}-nVm@4UE-aRE-YE zoUsU+XJp`$g2))ZKTGDNjv!K>_6D*2GKkg7M6CXIMEs7+Al5$^5w2gFh;TVe0$27= z?5i${Z9QTNHZ9xVUW=e-bHkJm3I{SAoKQ%9`6 zE@J(rBi7#>v0V7QEW*_dq0hgY)&(4c$cEiNi?wwjC@tme2K?NUPuT9KVR{DO&L44q zV(TMts<_;D;>A~(owCI1b*mRJLqD!Em^~JZjTR4_vj~QXUAp1RKAkzE`}Ey z6lI?u+71E5Q*Jb8tAf|};8*gA+rVwwgZ@m}Rp8k3Y~*FGKiIiC1_wFb1M|f$cT`t9 zfVM$a;-$Kir=O*s^E<2|gxGN-V(0A+sg|$hsW$V!i)r6ufF)73$!gwM@P5UEv!WBcr#+>y%1ZUhDd+i5X9;= zA)85tXjw=y6zZbFf4-wnH1hIM-5Yd-2My%g5#QMi0mg@o{T!m^7d(}KUe|0D%X5QGB z-v1FI|6JW(w5S}ye9OM237R3etL4Z{?G*4mGBIgxuO_(v2re6civ#oKMm^oX$_i}F ziZl(}lEHA8vCi|G#+IJZ60f~~j74PJB#PMiSBR}Yj@bTe#Og&NR{sVfekr1e_3uC| z*C|A}27(}7Z@=}AV7%_i^DA$+B}zba#Ir3$ef1E2SSDFbX(NP87awv-E*bn=Mhk`K zJAvm3;dEE;KydCI9nqs@1T%%M4TLXS21c!Bt?fQjEkh>k-YxX#Cn96tNJQqB8zZ*9 z1F`+Jh}GMNSp7YS^}CCR|Cb?%aB=Ms%ax6vo17N!gV%jbF5%QKw^o3d>Kc)$dqW}O z<$+`T*gX*H(Bov!Jph3hjP<;>%m#0FS0|^y-QYSySvqCF0cP!eDq5?o3C4v%hvvXW z%NSvPE;q^yk#VCtBJ(P8h^;?^NPo~c#OmSqk%>NjAC&m@Bi8>kB3#Y05zB?wJt`5~ zXnVL7c$(MujT=85V$YB0o1W7Gk^RC?j&wIc*xV+o{SSvj@QMfXOHRB2pXN zH~(yzy`v|By~V*Q1A!-)j&iCGR&cRQPH}3Mu4zYPJhB9l`IH5St*=FFKVC0jQ19d_ z#OlW*;)mBiA^y3Rh;SX5i&(BSNZNGd@`S{9z}vfU;(>|v5O=vyVfy|6i254-tqNX3 zxM_8#cMSvFjoVwMi{1r4gOR9Cd@{Hv3LVV59t3laXg#`bY7S;=DnrVP-dm=bEa?^z zUxmncc>^NzW|fH4-x!YA{%45j4Z-it68&04{2Kfa>;C`|uB0?XxF$(M@@y$#wfV)s zpQ60UKrtWUPh7wIy`%)9+lKVbHT8lBg~e6j+b=+f|DhVMk>%i@RaJ3xb1irzNd$~r zX%3F^uiH<~84l)OE4-G8pRvpi{w=;WJr9ww)D%SK9kwGQx2B)()J47{g(Ng)(L7`W+5{E z(2WM?4+*CrQg1gAk^YAJh}G*utbQ+I{ca=HzXuVnW=F(wode#KDc{m>9Rh*Exsrt| z@w#HX0!cV*3b94?+m3a)KxE~U#tGxgA+(`k2D*0z0v}jET58w~UbDB&I_oM5^ERD( zX@2MdSQWLd_*8bza=}z3ExWKYh>W+HBQk%a9g%uByq?5hzfm_{M*!>H4@X2_!yXa8 z?jeZv??HsCSq`yW^}t&%K2pj5BM27QAL!HxhoqTe>!cPMN&GkioYUu&*9|CJF8t^|=k!B4G&n95 z8imOGPZ31wP3jTpAL@YLC&zj&5s2ugZbiiJ`bb3l7l|Rl72t(fu4dqi%B~VGFb2Wr z1syF{EFoDsa)ie46o^+jF~L@`528mmKHNAw7Q%;jwKcuQ>k|%n(kU6|3*G}|pSU5@ zz_};cXa9p@Krb|wl}uV@x!B;|#} zx`|l-*NElXg;=g5_<62LF2-HvkP=>>ymT6V&N-uZUU!={#P_^itkaeO(f4jkRh5)O z_%ZDv8tW{9yUP4_o@hAu+yXMXEE83a__)Q0^PqNGFAvfWPa0VMCzB}^_T|xC9M$A8|#FKezO`Pe)xSy z)_)@+TsG2(aLtqZ@Ar`ZBAE2fDcScfjD2$KBCp|66C-p!VE-`FF?v)*Gx){Wa`>*Z;;T zMUq>xj{a{Pf9sR<9?O6I?>yPQVRnDV z?Dqd}d&z#9EdF<%>@P=ro!(#LBg{yHSM?u@T}^#3Tkh0s&&Fn$8CMbTyYvy*rAKz< z>a76VwpmfpTlRo$+K84813j>v_V{enIVG?e=xo-+>oMB2?U3(2;{i7J!ueB|9;0JF zI)9GVYtw#PRu8Y2%+~+|{#>d;yaUY$RW9#ilv;BARdcuQxx|yv0Tn*N5qc-b5LYi{bvs^a{A!w*o zMEkuL5LUS5N4ocS@J%k*W^TV3yeBy|E#K4yp3jcB>J_QANjionbP+ zfvvZYqy1*A-tN&+pdbWgX8_RW11S0F|tWVcIfY`Oo$-jF7AbfPyx$k#F z@H(#jO;2AGLx@k*hhZD}z^&Nz`JI9taMjk`&*m9J@XC1-rp5~)SShnrsa6hx?hK4r zbfyD>&VJv&`UIDbyXm|-t*@c|PE>Cx)o-AFZ>axymg|@YBMTv+&#W%I z_X$MZxMqFnjt@k9OP!{onvSpUeJjUqvw^UCezxt2;SgrJ?!Yad3lMru$L`#`#Sof* zqb1g%2tvJ%eLp)h1w!oy{BG`eNypiAzJ%6qrTs6d9$qJw=vPp`cIw~6aw(2rxjy6d zCKc~mY)@{63NYa_LdYFtCBz$_YHa@ln62yWtG&<}d-fz;4uC@5RzE>{8 zuhuz1-1a%^D-X0l+)7`aoA2>^cVvv;k0kS9v_72nGmRf%1c@)bJr0zoLE`luDbsr$bX-j5ooM|Y+CP@+;rCdG zz8&kABToGvuw2hVS*~s+NYh@{l&X0Y(p}sA%%%Mxb?Do}w+G%sis-kfR;w@&X!TE7 z_6R@EpMiEE>j&}=wA0(^(ob@;0+1@Sih{W$TjI*rnYsT-v$-I6ocNM=U zL&o;(d=!2!W3ZkPr~RL(o;TI6rGAH4|DRqg*Tkum>jk8La4J{coDTDc)CFyBLPbGQTe zy`USTYKE-BzrUQlwD)-MPIkOnn$EY<`T^R%l+{bqp!y4`AAXOQ_;*pR@06#)jB1bZZ-<|O^y-xCBXboX?Yy@~@2+@A8)~$2+SKKc%5#f(>~RHB zh5R2)3?2h1M?_M3jf5d(p_D@B_j*W4c{NH%V+I{J(|KuHuTA^AsNMsre}ejju>P{s zDA!lY)ec!%Sg2K)8C&78!J#c>^(A4cmvX#anD zkEwn(^;^sOOG#0#I?8nsa%`JZcN;H)Tr>S2&nDl5Z0q?eAI@3}Su@WMNLO$nGfZl+ zZ+<7tuQKVIk)wk@2bD(>wXKk`!on8t-*GccxyMI5dk-1nJsuC`sv-UB#=u?9o^-sI z&VQx#8f^bDA*xrz>f_&gSif4)Xv`xbOOjLwgu_3E_$DXUkgO!e{SN&G6Pe-F#GOoDR7 zL4kYQq#trkP;m8&wxiuk$bT^Hz1J#P$Pe1omWJPB%zGM~f9u*-$Q%3Qnj`qK&uA zAwP4xUaN8vovXjUD<8xl2NkYpL+70v3MDC?*q48^JOr?25 z>$b6dWh+>n$40EKWCZou%KC<>upB;NlxrPIsY;m>%RPZYR!eoH7wkeF+ox|Y5+8w_ zRg2b`xJ^fMY_iq{s)?YP+j}OfOclm|7gkKYxFQHK6`SoX0~R9d?VHz}*S&*le2%X_I#9ILA?Pkla8U%YPRAV=X)mMcU9$C!cu&7~+_b*5|UmAQBw z$x`zdGcs$(o5trF=9#SzU_G3gu|)J{E!0_cP@vrCckKV6*;? z!v~%q-u;Az#adrb{DK!NMAB!Y$bHv2SGqz`=oSA`Ee#pOHSO1u`m_%P3XNK8F+vCV zot)Nl=Sn|bpIFst^zI4BXXi5a^~1N)xPj(nXx&rV$DulSePE&+O?_Ta-v=zm6n~cM zpgR(1%@>+;?hE1zdPN@XvO-DaR_gYa5-8R?sX1MIIEr+$@B6HY*DcK*Q!VW{+X)OlJy%<@?+^}y*t}bf|-N1v-V3A6FT{r>CuTOGV@r@ z?IygwWTaMDceXML?Vnd&Cy|Lll@6}In`eYV_Vo7c7ac|8SenP{l#)8UjwR{SraB9# z?n2gQY6SKD%yMiPO1YjQe#Pmg$*V6Q{*xWoCiN^wykg0@M*~$*lA!X+di?kKxbLy% zrgtBpm`P0=mq~S?C~55*pQZ_+h_x5R@1-5W>q;)ZX`Nq;!i~g)5;t6-v5Dpn(z+vT z-_&2M&ajcJ?mc7bvz7X$QjUI>tJnhZ3yQgi*DOQ)u48v4npYvd^f0NC1FKMSX`DrP z;1`sre&I)y%2X6rD3>1~VvAxjBL6HbdyJw*PMtO9=%J_)-5IWz_o2v&M_JOhjA)!g z^Z0%asWYa1&!|o$)ulc`n$)+A<+v?Gxq1;l?MT@gJzd1_Ek7fs>52GZ8Do##jX*rK zezYFP7bSJC+8N@e$1*pmhqg4<9!~=P=dHp+4Qz_YUPKX1Si=^J2M)l$7lB$X%ieCE801rvI`)35BB3Uk_=b z1hx2xDGOa`TtxG3v~CRTJ4-Gw(}zr z2&euU%c;ZjAr>>=e?z>sZ%5Rd?jWAF)7yJORw#K%j`Mi8yC`|6QTc~8S}2L@J6WbQ z4kbx^5&SMJqH#CP7t%U>{U?3hR41O*y(P~2e2}HScUg{C_`De8TBC;e=Z~E0HXMZn z6Lk&cJst6Nr|#>Tqqd0uaLdo1hJ}dlJ7)XRfp>^^_29iBeKLq=_dw#}W-pZdu;C$I zF&8DT{=xdZ5yY}sh{m*H9K=b!#9lrlT`UF(Rj@A7+jrvqmUth|RN4e4v|Mgt! z@fOdKz+%r$hu}UWaCXYdT6P-=)ce0G+KD0lr8|>P%3@xBo_avOC*t)DkClkuhIr+I z)fP%q5HB<^TyH%7ylhLW*2rM~!6^Nn<`Zb$1lo6l>fq}z(M_X1`qa0B<>0EYT$Tn% zAl>CG`Z5&>yu`MYFh7tW-PXQyY%UT+2p%=g!uL^hMb}(^nSuYl?(%cYD}Th_q&R$z z3BF(D6dq^PVXA<$O18?WEf{*6+@bx}vWWPMVK9Pv8XC%Lw*1cf++7wwGA5&I$BaXyp z8TB1YIq>%z;c7$zkCFo-nL$WU()OUaz848@)p3V+Ovd+hls?Bq^O0a+yW(Sn$M3hT zKKVrj30hmeD37v0f)l&K-k!2Sf(p0gX%byXux4k9rKJ&#_=(y$?!x*EaCT zW;se#IQU}H$d@Q}OlY=OVLwWh6&<^?AX2q z4u5t2(`9`QQQ!A0N8Vh@wG}cyF z>3c-#-pxRyZ+RJFb;J;>y9=>CUlHqzzfTB?=Y zM!Vc^%=myvOdpBZ{4m7U$s@MUAF(<^5vz;W=_Wq25bOH^u^b-}%M}P*OP>FkYmyKj z{Qluo>F*HJE-~?QO$UU(OsV&9!~a+AICqH1VOQ`Qd3=I%(Ft&0_`0h~+3lELS;C0CBp6)gsdL06)eq2iw z`2Ycz)Spa#jQ_9WLS~dYUa!kjwr63q34n{+x}P?jr!ZT)PhZGuJXq|g|Ll>q3N*MA zs`s>U5sB?<5y@vSLu{P~B7JB$B09!th}Dfi#OKLqM0`cX5zB%9uhAeE{=1ug&`-}b zT`Rz8$c*9>yT^m)r5{-iFvo_Apbt zb5q%+Rxq>kkk@;m1L_ZlxP`5`j!0a)9Fcsd5+Ze%oe|sDiipn6F2w5oL9EYD#QM%f zgkzTjB3y4)fW|{dew}AK*ghBDGh0ciN!$%-eXC8@2UjZKx zo%USB>TX4>&q>7k4j{szt%V4eTNKEKJgksjkO!u5n|G&F9D-Q^AofjaEI59Y%Tfx; zhPgL>H`auzfP+(0m)e47F!SnjHE~%ESWnRE%+K-x!*e5QUM2sAv86tjO@G}$gV9V> z0+GDn7$SAqF^KfZX(6IhAdFbu(}?xChlsDF6CxaCNr-Uqtn1gVA2GzzAa^1sD$ z^1w<>U3&BNH(;kR$N#5+1k6(1USMo~1ZIv!JsrIlz(z!SpOwsdurRK)H`5yddQU^+ z-aecQqgoD`TshH)NUWcVNdBoPB6S8Y5a}DvLqzApW<+!?suAmR1rgsXE{JfL7jOo- z5LXO|d!2$yZyG@MeYE-8mqMVoHOY0$J9V&-sA_7vj<3H{OZXdvEWz5oK)y8J0W5Fl zhi)}B1Y@V+oaEEDL4>2b0SH%j0~%o*_ftXM8V$KMVg;vI2*&<-9{crEKIn}sayWB) zBN)pDKiT2=224IVoq*;H{9NwoFZ1?mg8uR9gn{$nFzL|oSys=QK~`_^+=H9b5s6#Z zA(HPlLZt4pHGWzermpxx={^w#$f=w;b`dlb?DdftsKd#-T3kZNF0A`JL!fzBJt)@yk0fV_wGle&K0juPWtfQ69;wtHX@=M*@lSEQla`m z-%tL3faRzF!X+1sl&wr|KijN^CZ-SU(Ghn>W9nX;79|ANKN_!5IX&tRjQLV2FIX%D znhU$nPkLDZlWMpN7*T7O@cQemuE{Ylw!3oQU2&Z z(kI-2h)!!5BD&?k8T8Rxf_(;kGoAzC7MQo>PD{mp=bk z=h}c2vc8S0)2^)VHGgtdOjQUJXP9<*7&U=to{HaRu#2RtK!!G zl$VOSsa(Y&anfx>@@KaqQnyJ0k-p+Ti0BO8#UZ+-`9OTev;*<==Kkh}qB}Jo zh|iL8Aigq{Ksb29K)7zJqj6%fx)+!Rq|M(qu_I6pY0vksH?b~26I||Wch7D|BObd1 zJ>6N!=_$6EVYyGJen2m6)8@cGAf~oKpg52R!i76}KJ2Wl@7n!DGWMu7XE4TTOhzPs zwH*!CjgrXckiIEG^@BQAzw&_SF6097;Z*|hwRHi)5#a)a%cT*G;;mk4sVIadFBQJL z^D7r=eMy}mnKB+t$hSUpzv=^0GEdO%oT7$=+xf@p>V)dAth~CtyLo7RU!CR26HglI z`&D%X0$03fJG$T4!0ZWJvw<1%9g8BZcdmnrw#qeH7vh#=u!`IV5lXhePTX z{;41A3ycv0qO-Rhi0(DK4*#G}svHpCs5L-1$|`_xx#uC_?fO55yvaw3;uB}c|HkWU zr`i1($S*(&i@vPYyU>6n-&_+E)--Vbs8;X4uU5eMVCEL4jMt-npth~3^^h><1T!%z z&f+&GXZr2MFB??q2V;Y?ZavA5`B_iucKoR)ef#q3iO!B(AiA-CfcTtl1me4(0R}k~ z#H@jE^$Ee^HyyhguU&@h23^l>%WNQX-Q@}RixlQho}&L@!FtGua!WpF`V`V%h}XFY znL+xJrt6!14nw;AO3jjjB1l({4%f<@1?kdv?g_-BX^f?LH(FOt`z}(QY*yFIi}hJ3 z#rm3MQjR+;*L7o9eE6kLi%Q(_@gOnk=SS6NOi)f z?sMwX$@X5Z3 z2L(S^2bueGs*KJVL#D{pKNtB|Vg71m|2R1Y=FfV*!7d%&&(sthqPY7rjbCWKn$|he zzSmS|F{}Gfj{59oeXZhIj^L3jmx=-`I6lX(HGdrx{<0~mob(Lx`%gW%w5S*IhOQ9( za$gB@%wpAj50ygpu#HVSUCuz3W!sV8`s$E*c)gF(JbB3UJGSIV*b>OpYu6ef)lTCJ znqNWd#?d~8)p32o&OD@55t1DC`s2H+rWP6l|Hi!)}`r zVq*Qis(*(pv#tFD zuO$B$2lL}aY2945PZr4hwR4(^D1_lKz5SJfg%%p z-`@PLm*C@U8Xai<9If-9eJNBYg4I=5pg!@`H0G*%G` z)s!Yw4WAALv(}{8?!5{5{LOd7em{h~RjC((@z2}2t17=eEx??Q-rrQxc?LPruZ_;k zD1jXPQY3`$d$Vx@&ExZp)P1LYfmG)btNUj(>$7hh^(~?t*_7)J6bL%6&)lpDgh`T9cc<;`Dyl>dfY z_m66-F4>SfF4O;aTq=!tO!6Dqx(fU`kiIOc)5+={*P}kc)b|L>5$r~}ilM+U-=Zb; zArxwtgxFo>K%stE>axmf_vwE#exeO|-+D@iHE)8vb1BiL7gK30rg?mPkU9?S!}sHfP9xQIrasZscQxg>O}PLH zOqM1T9PPlzr?mX1<&U6n;v{+76|zw9P2rGE#7ZdGRGHf;VFCsE4i8Ux-+}x)_6^DS z`QH4co6(PBaggubHPL<{&LjCkT@_;*?P>nMx-_=$mK3YwGnDE^QXhQ25?@P}W5rmO ztJW3@Y?!$UQfr`~^RVitefT(3^%NAy;O7#=Ob5!|r$9md29x#vL3n!=l+JeH?H#?b zeDad9kbl4Bu~ExM$lsfsy=B=8$S)o4^w4h|jr(XGAGf5gi}p>SI(bw#oBAxJzO9r4 zKbJtbKH%>YIZai&9Z=A&E!btU5emmdXI{2_3Wc(|s)x!Hq2O`x=}Q;ep#P|4LXy}1|izp1`kSyhdn583i$*=`jY^=Td-$E5BA?K@3%UbDKF#Hi0y z>f28_o>Hz~P>^gfgvURCj{}*TXLI@Qv%-Joyyk3 z{h?r~{L1qNSD?WEyvp@!`24ZB&~K%Uw_|FM;r*w_Y23!Usqh)2V&TGlx$_n3b-Q{kB^)vAP&TeNU@cBMeQTll|-e2vz zRL7X%&*#L-^!(rWdwlKN$|p(>p&-+Dhpvbj6eNt-ZTa|$M$AF-n48pHqJ8*$BRcr| zis-(iJ~yZ@ehy}kV}uIJHGCEn9I(H=Sw$2IK6V*8kHN>mxcpr<<8z>JQt_&VEmQD* z&wA(dsu>FYgerbVI(Yl8Tn*dt5ehCl)HaFW>-*6+U1ryxK*8>d1v8?j(Kw9e@#jkF z*0X&zi(oYcGS0savY*u22gPG%z^`W9pHjr>$dtx?1MrL{lHwSPf)1G`Pp_I zZ`ah9QxyKJheG8ewxUt8`20^DV%Ow~&pTU_o34IP@HYSTNFLt59aGpMdm{Q0O_2mSG;(Uj)pXx(hu zcZ=%$rn-Bnj{)`7rX2Wq802!o{lYp)ll-pX{armu)b$(`8sC>$UtJ4@bM*ybfVa>4 zo4@U;9w_wt)oni(KY!%?E0!CAx5I75v5?c#aNXKU^{jd*oHOI|`n0t)rqTRLS~rpH z3l*h02dM5B>eEhr@#pm)2jRlcImuK8E@;?__isZ-y!0_Bw2k`_I;k8AL#`=ayBrCH zX}o)vH1PSAzhGSDuwp1I^jk@;qxa;uw(igd>&?iR$omWUsXP2xY{ahinsB4ZzSS%BT4=dt-C?{ ztf|f{svF1p_~=ky50*p5fO1`8QakJl+qHKxyzJ@#8@%3JT#RLc{@P+DdRW(jQ5q+h zh+5;j-3=$1@KK3l62ISNLf>!Letq5;CRAfuvRNozC$O?(Ug<{_CL~nPU2I_`jTJPn zM(ZZfJ{79-k=1RKVSOeHqrM+0habx|bp#{WXQTeYp@-r9__jVq*^x=;j<8Ujw}gp# zfAUF7=r|@S+AZ$>^j%CuxqhjU;vOd4x6hzPA8-HsJk3J8olI!=4wv6&)0ohj+hy9u zBL9mdpF-<)(LQ&obA{E_8%li^Qr`i}v4!Pw^k(>;14B0K*J5~2$G*$XDPWQWH|PCo zkYVEX&Ef~97ceox51R#Z44Ej^H6g7R%9w}?CT;Di)0yyAlLIZOJD6}wv-}r_&oN=W z$&=-lasNg(e}UHF?IV45RHuRJmQkNC)OQ)>xJ$Y4IK??)X4?pcSEgjsG&G4x*187kWJl4lShx(RMj;oX_g-L!k=Cp_pKK^`P8eOV# zXObfiitZ6AViG4G7~{rS!Ni?6TbZfl!NjybtkQpXhl!q_`Xuf27bYspNOtDq5+?FN z8QS@vk%?UDv|wmg6OGL@e~H#rvwdeqQ=Jb~_ay6s#!}xF%5i|@@*Tk>X9YT1l%HmJ zs=p*vg?}>1MQ5*U%=yJ6{t%fSv`C7He^N8|#LsRfZq)u+dKDT>%*its=bn~jqR;&9 zJQ1AAM33F-A9*){iMlSodBde4G~)e4@`bbxAJ3!@Q5`Q<_m?mADQ10h9a#<$UzV#v znMt+^zj@lKpGp4kWb{nUT}<*8K~InBLMCaW{j(pt7BdM~W5%X6>oW0EcXeE`J`EVxrM(ZY}fF(?FjlRS0{j->4$<)hpOPZO))rBbmo;FN^y0=8b z&Ff6uhgC`M@O3gy>e4RtJHwe+K||qVyzX_ZR`=&4$Ij4rm*#=iY0$oQs`HNOma#r- zMgCuVUm90q_l4bH$P_{pN+OSlND66pr%9SclV;7+Y3?*@u471L$e1Bzhzy0Km4u2W zq$s442&FP5d3X2Tf6x2j{rY};KCRzg`&!p^oqZ4I)H!?IRQCY&@sawv!*C|}S(HX^ zVmQ}&awc8lFq}Mt!}s2~F`PAfr?&pHl<`rtHZkD8!+3oc7|`QwU_9ThlssR4pYfa~ zz&RgwkMT(G5_ojw4CA4;srTp#2^!bYd?UrR(YgW3<3)G{K4!bB|8|7o%XzKNg9mL9lkxqVdEL^D<1`_&Au~UW%)<0_J%QD zW7h9aavx$m6XI@0zdXx$YFRmy-6*H=9nHTbIFE_6?hxTI*QC6TRL7j^=1?C^#8>eQ zh9lao?HY%#+Po1RYw@cD`3TmpGn1x*V;i{v!_)w;@83E+bB+v))`TrZpw?-iPgc!k=4cP z#QL~SeN{6Y*@SsTt0yp=6AoXyv$Pq`ovm9`b8a)7BkR6zIf2*HkjWaFmdNn=K}JTYWA!eX9nAC5CV&G%waFXorVe!)J!;uEeeIa3`f#Sc^cl|4a~^wD#xtB+llBb{${0@n#(?3s_r3@%j!dSo=ie6MnyG_pAx`VmSB08~cyob;v86womsNzOPF0yDF}^d-?euin%=ii|$_QM5uk)X3)5d1v*Y$DWeQrNKE}f#M z-ww#pIEm)*y0W;@v@VVE?54c?iH^=xs>`E3CR1PdJg9ltpyW7);q+SACLNc=_zwRA z>+$C>U^fUTk0|HKG6aUpS!i zb|Cr+-v41nw4$dGmku*IGJHXhF}w-}#kG1|Dv7 zIQMtFq-6HIcvFMF;{`LvHUGT!`R`a<`u;!}*X{3k+})aY+Ef4bomQEUKH+h}>Wcr( zBX(Y7{@*dF|J(ly5&qJ@^Q`{nzx~k=@yGc)uf+QQ@^?&L-}k>`^7=RY9kc5cD)o0v z)~gmQ6YgHlmB)Q-_9eXR9dB0F^JFbkr(-#uOeeHx$z&)C`87e5ShpQmRbB-MCwx! z;X8mRKO%Y|i0HQ?*4K*hi1-QxM_Iws@ebnPW}w3VBX%Bad+p%!d!rw04Y6(6a&ZY5 z-~N{IUE>05s;tfsuAT>)inSY_%YOvbBCi8ssa2rx=c&c3hANQ0F?MzBvwRiB$cLE) z6$yxpe;_jd7!mwMMCvOM;TwYp|7Aq_01%_(~Z5UjnUEIR*@ z1IRjdx+W@xs4%x5ta3bMj>vczk@-YK@M?(EXCcD(4YB-xgb~qufr$PKM0}+o;wuL{ zx9{3ge$N?v#ho-16SskL*SH+XbUSb`yV^Z@XD(Q)wK~nm{p8HX<*t0a_ZJvvdlfl- zwuFsYXPK`G&Y)Hxa_hnH9gvS$?RMhhF%|v7vB{Q(s)!wbnvBT&dqnV&h}7F7mM?7- zBK$uP(JMzpe>Wn&&LQG!7jOiI91ZSxf?tbiy?Ue{xO-?uRmxR>Q|PJS=EgN(ujQLq z`XUvq%;wCqca4HA{Hq45G}eJZ>Z`a-89!h{e{Ghe$!SoyR;|PNU8J(b@7aVCxz30k z58EL!{|>SEeYjr&TW^X8-w{Ok&mp2`i&*_-f{6Iqhxdt(___eT>EHaSicUj-sn{^9dJ<$7B6fVY0+IO#h~VQ9sc%JuPa6^b$B5PIor+lfU-F3f zdV=={j`%tOe!cPa1%?F>crzil#jY4QVtX^LcvgaYL*7`OnR~(M+nCn0+*x3sA+|@= z`x#g%DJlwAx^De5m^H&S@$hR zUF=kGOP&pNojE6hwT5K;Uw< z+k28yAb6nr=MQ5;@Z0ibUV{HS@DXeGJG?_0+@6jyici6Pg1gM^ZaozQJLC92lkvVp zbN+-Fll`e+n0mqH!821p`Y9W3eu-A$1Tk|2<31yH+^^rVNmNT)VwtNvr2%x-6H)C zYs8M{u1944GGg&T`w*#5M})5)vHVq|5YaneMgUma9=g&`3)8#R!>_P zvHAv@i1l@85n_G0Ooia$89NMfdm%LCRgO?X7zDgjQ)&0n1K&T>XT8S#FTHI(S8p}k z3a%dyh|Tq6!14Uj>(3LvgZ0w->O~WF!)Dz?>mAB6uwliQbX$!BDiM1cbw0SaA$F|g zgV^~s_&z>@pBRqV`Xmk_e5Hu+cOjy84H5kli1l^W01;mu5aK7TS$7TpK3hx3QsA)| z1g5U9EIFnCei!U^-s(&OpHn9aB9FZQ_sOQ+`ChuPJ?q)yA=%Ghb76+gB!zk~HL7k| z%sB@dDl+q)j!sb7q1I?~#zGpg8b^ODtjgNS|_ zVto~8A>u0uxO4sI`;OsWx1F(~^9yXznQ}rQryDetoYF3wZ&itDiuf6!kc-&yMRml^pPhqP z{5#x_ex!bR7-IP*sw2W5hgiMcQxMT_L&TR4BEBx*^RhA^{_sB#eu96`wrd3t)HL=* z?%Mg_-{r1qyZjY!@UwlEl^THO{K>P9eD?%r2PgB6G()f}*j+cqxCpkctkkZs7YD6{ zos4M5E0ws^Q@`#@dLefFE(Wpl4jjbdOBmW0&aIxw4NJEKM%KzrQ%75bq;D)E(Wd;^`Q5Ic@AL+t#VwTQ*1 z?M0-%6%oERMEE};R!?>wV)gyB5b@Q5h_90nCb&WDSV|^Dd~BAzeH!mKnBsUgR$x5@ zPRn$Bg!_g0O)hp9UX=^pQ$8=MJ>Ctj0$gE%SF6GP$J1`;=m4|sF1ydcZ$Z1G;?bdN ziYf_j0u?si;2?HMD*}^$?8`i))#LP zBED`z*qKdAM#%;cnLgKK&LlMm$>*Q{r6>jhFKA|`$Tx%E5xyoRQ8DltbGTGfrwv@I zb3PSG;{K=^Ua7agNr3t7_FCsY6VSOa@zM0FxaPAiANvRQ z)zfP#hvEg`FBjYQ?f7-z@OjkBYl(r|!5YbZW(nXZ7rDLX!z{2!ey967eiCeqy}^mj z(o{*&_o|h6`W3O`Q^|;(PpCpHzI!HO>&u<&sw{`d9}30x;%mjsN)fc{rf* zyLztdik*MwRU#`yKMiF4J6=$#^r8Q6Uusy_Wye(uR{1->?w*-cZ9~YvBeXaD9 z&oftp-t)cAh8h8&mwIh+JMOQb=X`GNJmpl-Gk@DAhx@nw9kcTu6dywC@jh*qFNE;V z6sLNcR6m&dilDx#!7f4HF41ikxWtHYe9visRpZtFI$uHY zKwz)R!gobq1XGT$SIV9|>N@9QC~PTyUIQmn@$g3ii$}u{VE= z0Xtt!>m0EUV0-STsv*A!*gSh3^>*D0u+fO?lt0*y`y?N{!kaiBtS<<(KKcCttTSJw zb9z?M@q0QiLGc5${te{|ApGKUsGcg-FQvYo6JHsNz|#je)?O!s`?We{Ic?>D>&g5t z3*2{ubFkUe+~VEfv}6MJE++=IZ_bxa&iVNqynx6o|Zwno!2W z{cSzVZ9hE)Z-x3CZ-rFwxNNgwj`tXFpWfVg(4`vO_%bb);dOUq6b%)}m4ZvL^@9B? zO~7Tlow!LM?vuRY`}^6}W#A%}v?_nhN;<|kcK#*B~8rw+?Te^@po0XC2(RYx|S`@1fK=wi+9)@1h0lq1JV|K z;Q3)@Uh%_o;HfD-cK;7^@M!e^FiB1xJPz)Ty^xXw9&zIh`uuU9V0N59=jA9KKUapW zFCu)Fi1L4L6m6Ge$K>8$uU7&+2rLg^*LbziwHL_iJ(v%v5Ok3_)?X4S1H5An?iS*amH52;BTQ z*TrW50)ESNmf4SifQREZoPEa!0YzESS5?~n9n*P&|3T|*DW3-6f4Q9MRNs&IS{+S&;e9}7UI#b|$H0!*WQ(@mX7*OY*&0}v_t;@Rby_aVI2 zPx98890+?LrE`-{D=4Q7I1NY~}FPwY0FLH6$lInGXz|HN8QOT2~ z7yXp)#hZAkR?RLmTc|5i1*R?UTV54G3T9IZI0K6&>UKjqJQP#p8XbY<&skbD;bWsa_)0$NP3hd@T_n zzOHLRtl{p0H0KzIn|5ix^y;$^6X)RHv-%+HxM$^YN3H?yUy_;Np)wz$Q@KT%9K7FY zo>}Qk++Wqp1E1>Z^|UQWAi;Y>97A8aF|_{kW{YjDH~Zb##%e6c=LWhvq$ZmxLIu zU7GS6yie;AP(It94whtCV^p${_J744d zgzWgAzw-o-_eZkzxSuY|hxb*C@V5z5JtL}LLVX>jz7in**GD^7$pO4S`Fk^Ghdact z?UcU^@(>r*8m^~U53$dpXF>00h}GPaRXVi^Vrqv^T8$UO`!&`KUEhKC#VNVwe{IZ% z7!eDNUKP9#X3QK*%g{Ohj{i5$;3TJFK@(o<+(!qs?-w=4*MYPGI zy6{IW8KMxI>U#NtIzCSB@%MRe@$0evlb)QdM8`dJ{yD{q)A}CDr$hPgQ@x`^KYKCt zHAsE^fTX;NW;OeM$aSUTQA=f6_?4O+jB@`Vz9 z@hL=4U!LmgQC|+kSN#M?5i08#CvXl@3cnrQ?sEf@jb3MsH#dc(!}01z-yMR)fsIz} ziJKtNq4HP0M;s({kL&%Q*Z>K;!-}_s2S9?pShW5ZtS6&o0B_nLLCno|)%tp8OH3VM~E*$A>xZ81HA42ZCCbeg`HDxIVi@MLdwPZb&G^V2%pGO%AZa3J`(+LW2mod)K@w3F0A^pZ}v81IQ@LZRhA3x>LDP>Sh^Q!`CFgvCJPSM#n9ZI+ThOq|Ps~7WPLgcE0Zay>u6nPcyT3 zz7UV(#qEuDdKl5DM)MjJr$g!{9iTjS3Gdw~qEobp>N*e~8||sDIuylc+MFa>iQMga zuZUbUM79EQJejaKWafBphnYw-G8ulSS$?Mh8R^Ig%i!l->Gg_nt~QTCy2;1fDtoKY z#>tyLNQ*@w9n1YPCgb~PY@m60iZdj2FJvjt8p2!VLUg9Bq`E!SM=9|&Qwv4@3D>i> z%0+>a`8^vR>_F~;zBzw%J|f2}4owOcJ;-*5Pu@PK3|U!@ebj#ZJ2Kao6nn5-8Ew^l zR{s6~AMV4|F#b_O9x~-#XSC~jXl$bSAcEVUL+X~*6P_#?!kg?~fY*NUuI9gXtc`gxNd|ZhR z?%&DkZlFH=h_Ct>6ybLxOt|1G3axpyp->2~qu16eMtRqe?*!2%`P<)d|GWK5e;r(f zT%EhC^TgbdQ{B+eZlhkbU3`!C{;M{~aZ*-btIjv%uq#yHQlLMLt~CFI;#SbQCzL0Q z@}?4DY+m5t>V?9J#yMT8zlnm&JluY|DIxzyXBI}y{)RXe zs_%;z97kTprW5csU*ztPH)&CvAaZrDDerk&fLs)sPVL)_`&=JaH{A3X_orjyJ(^!Y zaeGN!Y#-%$LV0n2(-ECH4AtF5d^}d5zJ8)`-TWz=rq!VEMJpr}6EYEZi{f*!0o>2= zJG0T<8TV72v8|^y?`_P zC5?}1zJlU%X&pm(UQyo1ROda_wI@CjrxIV&Jy6(>L5WS*8&J5}YKax|5>cp=j(BSH z5fpr?z5ZkT1r#{uYpQO`ALRF5WOT5o<+(( zkuU$pv(4>uXq-*+xc@YZyG-lSD9=U88%}f%%%i$rhz~~-;>&kDKHdjRMaHg2;UQzL z9Jg{rVJClgy*s)NaXK-?Q0v_i5NOR~${v}7+cD`{$ z{!;|b3ZI&R{EE0MHlJ9W=u z6doIQ@59D7C|vMC-t(CsQD~ulO!T!gh&!h}P{J)41*cWYyzP#3< zu%>3k^|O>vc-l|vxcl8G-0;k^`L~v%FtZ<($3DJ5p_7J6-QRpgA*E(ljd|JyEK;3{1C;BqjgG@$B*(JqdM29 z?q%wuj{5RL;c_lg``_aAy_;PYycZw;s%38_3!bBJla~YE*2tE^a>%a-ZvAEq2(y#rPcL7jms$HbWL5>Wc>emHYU*gS&Gx7b<-$M4dv~n zI(S`1bPMr)h4s--e045G;SR5yJ~vK7;cs;Y)p94I2tkwiKX00$@Zy8}RhP)1aD@m9 zkM1*=FUs9V{|*Z6zpno7*ftdE+qcrZ-5!OCzIqhf^8#_Zl#Jv#S~RNDd=tg_&^kZL z^Of@A`w6S#M0Mk-4_)fZ2ZbMwNL*B2gd!&H+p}hNIf_u7_QztYA&QXl6lR<_DEyJo z`;GStQMi>S@8{{$D6FeqI&aGc6qcZFQ6FQ6!jRfal`GF>;90ag705!zJ=np z(>iy`(?WP3;Pqg2E>T@y;$zNC;_Kcl6#nG(@aI=vC_>re?%eYOC?Z_(!@I*jP(*@` zk7~p<6k#v>D>qLGMM&nxWbC?u!k=m$er&J+h3`(VaXB^?glyraJvZ_lOwrabW}Xbq__1g_^Ced{BflU!N)GG>Ryhv38uz z0Tj{m-Db4)3luT9cK%p>yuKZ$+aCn3KoP~-hYeUyBaSM-f}Z zY%WWDAW>3+=1nOsiPX(eq&#>%MtBYQiH^-os{4TYsHMJ2QG~om^S)`3C}LObe#fho zC{o}^ZN?cD6uCXO-8}skiah>2QD*sl6nQ1Vp!uOZip*K6I=4{|MeghztbJ92BK_9X z&bc0mA{|D18BCr_qbbclptu2Amq~g239mdK(a9J?b-k&NuhdrwideJ7@RdzGiZ~MW zcDwyK6sh}un)M@X6#1EN_O59kP}H{XJ2ZdTp{O+O7PAkBP}E_Ib<=*Pp(x&z(Uynx zP*i|Jp17$qigL12xLsCB;|rRIF?)$z8mjBw6ap`h1V&fHrNPaCMI6p+{ToB=j!OuS(;a!7>P8}k; zlM(UJgNQHue?FDsf$4!8AWSwksp|el2#C#jGWpgs;28P!-PvpmZe`gS#tO5*aX5JA zN1h;9w;n*}YJ*pMLNUmN+09c?x_u*J6)M@dLL-uEVEi z-vGxG%Pf*M*Xq`p6JQ$h`3bl# z)^Le6c+JuX`{Q5+E_a!xC*mgHP!Y3XJ-;(-v;MQTHrN_A*Lm-HbKxUsdp_8m86pGA z`H}=qd(TH~?3AM0gVs(TPAr*9{RL1&H`c0OKD;k_GuY z!DU>putE#||G&$^@0QN;;C9^14jt15r&}{th4prTeZ-lYb4>PwWxi1^S( z#24`{(KfKnw{S6g)&u6d zXO!%kDGJ7(7rmc$Dg$m~p7v*jEG#)Co2Yt43bC;;7qR)3x`^P8AyOBGSRVY`5tjFu z6e2pfKRK%_jfjuci1n3z7S<|+irB7qgRO_HO>zeI;OB}a{L0qS1^etPnl>3X!Oppl zueT=+tlpj)x1xUx{(Vlx#i*piSvudl=p&3s>Z_H}v?@FzpHW>ZJWq}*W z+*;9_*Ea{T@h9#JJd&3&KrC*J2x99*^%2XHeE|{PBt&%D5z)PkSReRv<%qAnLvLW_ zTN~+VnQuVd>*h7*LkGdAF;#T@Q3=>GT2e5x?Md*<^Lfh>w+zs5tDHT_zz^1J3jICm79U8>6%oH}$wh2*OhRlP zbPAD=$-Nd^u5k|~ap;y_0|@l@H7hoIxOF!I}_IiR_}KUr#H2&i3?N;%uA1B(2? zpRTwJz?|bJWQSFv5gQFZBR22ZhFIL2pNQ1;AeQI+62$Tz`-NDY$$E&@^=L(`k9BIm z`treiXSyd2jw?mN^|r&ImQk=k?IpKOq8F5>NGz}UC=Y6p%2W39Zv&<8qLx|-S z>_Du}XGz5BilzeV!#x^UUz4KI{KW0oj26v9GFtC_z6Z3be$C_FKY5i87P@sLJZZ@S zg+9lCgLV0!9Ns)ipspU2Hx(<-?dF43a@kRQs}_K4V9D9JnMNSufJ!%5PC;z+j6-Zb z#}lzQr2$0h3=zw7{~yHiHkcz;r?s?XME4XQAFw{ScEI|QnTHlGjrLUkIS#UIyuo zrace8Cc(tFM8^Kzu~1WrAoLjs#uch`mzVOfAaPVqjaa?zSXC) zzE9j|r^?3Gw}{RE+DcGrw@OuZS} zT99fe|6Q;Yt+IMH*jEsRRvliiaImfyEjw5ynB8cP=J}4lly=b$@vTU1H*)7I`E!4% zNTF{OOf=gel)n-{Nb%0s>&3PueMcN*Cj{H5vhlncV)O5(AQq?3r^?oCiw2hG^*msC zkGBG=Q~L*4-KX`y`nahEtS=!oBxPSL`Hy-QTIrE15ol_J6s|6*<`$%)<^6ad|rtAnvd{qx&*Awat2u48*0G%FvtDaM|^FxLt+&Y zFGPd^$z9JLOd5W^pYZ8r+Y>`&X)ol!tx_vd!E8Y%?+&*^PadoNcVEQeO?GAh; z{^<#`6ZrO(wCWiIdVS|Bsq?zmtvk%8%EsOqsv~*t&S=#U9Iw=`gsltV2bRY@A6VYt zKfvl3WdW<3A`c@zl1E7b>q`{S)Nyg?U(ET?{F5(pA3o+o(&r=crL@)1ytw;(&7Syv zIknY&b^-2hEna_j)yF@GzjpJ~tPXzFFO{3uiC&IYeVM=frN$MF*(rYkk`a>PuCvGBL6%S5o_+vhB8-Y49TQ2gMj3K!TBC$40@ z7xzugHcwS=l>hoJnl2e;&8uCw$6$0?8N*mZ#31}Omz*Zk4Eb2H0+(^ z?f51}6HWc?^c;#iCuf>7)$E@NO-Y1hdnD+kX!vhfCUH-zf{tCoZ2VW6B^bz8wxRzb8yo-7J zo*ziXaqS_GBc53hJL-xX)MNb*7k0*HYk%MK2l%9uydXH@!zT4uro~NpZ#%ZkP?*GS$Iqcl0xq zXjLQ+;_V)W-S~x%%lq$Fr{H}(amOF*&FocxxNxD#4P%XHG@$wA6o>tc)D4ZHJm)EI zHPIk`T&xDDkV8D?1H4? z@v`TIq#*HDvd;~{PmnMqEZwmAB_sqUmpm11f`oap<8IF^g!pf_%clwm{EZ}ki{f6< zx*ozaN|^H65FHtHqT8^T_}I3P_vxkECcwafy#j zU;Pe}&0f3zxcv;0+$P4acQ=N_ixclCrS5{nMVp@VT&{tHx*Ywtw)lJMGnQ9Yrr)En z{BNG%?$f$d$`eF*OQsSXC0VNbn)={TUwg3s9F+;WTYZ6O!wX&iZv4pC`W_UfS?A9Fp{ehSm(bLt^DU^DL_?kQh*8BG-d|=b+nZ`urpQ z{+f+RG~Y;Z<+RR&@?;R+Y(c7Xmg+vIJ}y#Um5}_h#YB1DKH!OOyzZ4?1U%z$4qIy^ zA*Jn_!o92(NLe1b?0j1*BnK^ieA$g3lAgJ~@I34UN!xbcl{vcyk|tc1x>+p)iS7GK zm9DR&aXrn?r?_-l$E7?ngtr~X5uFnvR5z6RXd=F(#zS(muvXqULrD3tS#Y<(WZ-Ej z^*3tG0-ivr;dW&SNC^%yox83E<81Du**hWGU`P1qbRb zpjh@D@Ma093rk|(7hmbFw3dgIW$!&dbxnrkLJjk86JsHH%jEORVmlyN#BD=^Y9}Q1 zR&p=-;`4xwFKGTV#o_aqt;?W1SdZm(raDPPcga%fBar&a!M~f}P2DFg3MnljT!Ho` z;H@g&cP<;Br!wzVy9FOX%8R8YpS}n{N`Oj>*h|bi`PawAjVB@b_Co1xZ}IsX8~pqF z(_4`2EG7E7zMsZ#G+#z>iL?&izgQk4%Bx6q{t(?Wqlk|V3F^xap9c@0J}@~1DKFFC zcHYFl>sVpUguOTbyp^X9UUmUU`7K(bD2=c4i!Umtl=lYJNujzgsE;?q*W|g7vdh%9aQ1vi z`8sq*^v^BeDfM2ikeCO&jf%!)ylCJlo?mhLsRrf<-{g*T*IT&sP3s(j6b*MLwPJ!6*}Wsf&%vOpAb*VRhFwb2jkyB+3c%83HdM zV}`Na9pFWL+Vs0<5AZ_n)$M(iPvaw+$M5GX?k26vCscty+kxhN!>vUe` z$tvY4;Hg>impI_a*;(FNDG0oy#Wj8vD}h&RsWQP4>phh8-~1h4FV*{vBF5wMv{G{A z#8VrASJrX2a(*4~O752Vy{V<~H_1znqBst%drx`reUIgBraHD%cRuw|PJOlhZy(5i z@xK-LZw3Baf&W(EzZLjz1^!!s|5o6?75Hxj{#$|n-z&hxES9|>TvoyaIVx4gDXwDt z?%$nqJ^m)cNiKWeF-VbSV-aD$mWkz+yh!?LU|@r-h8TKNOjw(4=?KLCll@a>|=qI0u#D1l5YVd zG69FV3c_LajNkNLlif=XGaQpgKXyI9{VLW*YFdiG7gyOt$zt%*} zZT-xA#(lBW@Z_vm8lz}_HpT6tb%B(Jp}fOXr-JB)kD)%EQ(t~e#GdYut%e;;*yxG8 z{^ysOpok+LhF%94|EL|mT7IQ7zJ~(u_Q|_29QA_8+OtiJ_p!!j_f%#xUi!nORc`8x zCwKPNEn2S_(E`+V-wSW5FxDNcdbiBX=Hl=mRjsiL|K#K(*A#FvpR6SlK(;jQt$ zOz3mrYl`*jnBdd%OSG0=V*+XxFBp@O#`x7NdFwkD_W^V~{-($g_iePTSsdp18uvGi zABa2|%y|2UWExqAGv1@_^qI=%(RhL8abHgshx^pBb#Ew70^yYqqB^xycZm8pNPTrN zp~^k>8~Bzpp&|CW^i;f=5ZxWRN(UvGz?NmNRW~Ov{#{NTI|j!xenF`#=j-79gl^w? zLjAiK&PC<$?=!g!XZ5F<+)4??=V!I4aEvyM`1rATaf%C|b?KBRit?_dIyF?+gZg+v zedRLTtrtC9#5I}FX=8#9SS?~ga<+Q5uI*=n&ikzOdltw9v@SCb{>Cu=L9V6O>eeuR zuFu~W`5t6^&&^MeI6a5)m0$9u=-mt42Q#lQ&?$k&7@EiH&f@0Mx*W>GP~H%#Q$lpt z=}{khsIPJ+)*C6fHOz!vxMbF}?q%7ZY%GYSxyT7A7Fl;tbv;*iGr`kuxO6Q%#RS<|Uafg?j0t>PGu2HF`}AuX{$q@foBApJO3o)5`)Ph5 z#YNG&Ldx@u@;;g!<9bYW|^~<38{Hl zkNz|;ATA#A5~#0XCPeG1%CC$}CS>Ss&V^~V40rjIT=iiI zCgg`vkK*OAOi0{7ltFbD6Fl^!e9K{3COE7%yfajV2^MiKJZ+WD1Xa#Ht*%nd1f43M zef!>R8iD2?Q`|{fr%icO32)8+bkfNt)rR{Mc0R zP?q7&y&~hiZU+-mk#_sM)XI+Gj_#Em-)F^y6wZo!8Zw^=aZX!k$Lf|*ANYNY^%cN`+)o@*Q*L0mvQCS;9s3!s zeYLYvI>tG^Un7(Aj^U!RK9Q7EhAR}RRUP+&38_w#80EVkBCn0c&dxnbHvAXe19A9wMKyn8CXC0;CWGo zs~&iscSVHZhWs3;yky02lce}Iu2#U~7umIH&ls+`+!6V!rVMw5{jbnZD;e&jB^9|x zelsCoN{!V+lbDe9>4h8C@Y6Vf=Hn@DfYw=39$(7)jq2dz%Ib2d4`u2L<0ZuVK7G8) zaJP+G?a_Xg;ikQp89Y|Na4&i9I@5_?=e5w6yheQA%)K!b;Xj(;rkB;47Irb*@YhfH zH5M~m_vuEix5F8(ZD#Iu@2NE6#-9t;6T}2+wwL%8S>F)zP84nZyUb z6!nE)pTQ^REkpVYH{P{ljQVkPo*tPh`ovrwDud+dlQZ|hhG|wZr{IRqykn%`V-akag1Rs|X O-Sf+-kL%Qz_xG_k>?L;B-WBYqa6z%4q9C9s=(4~9tH2^f!CqpCCHBM`yRmER#&V4& zMiXmHG?v8Pdo0n|-tW2hE=@pp!~1{yJz1XT!<;!YbMBe%+?ly^XLhEwYul_gHa6Ko zUQhz$4%bI&BXtpa8=EW`waF7}h|p_eV)aopCjW9p#zkm@4G}a(%jco-NMo=*MoiDL z1B2Y;(}(LZQzJ_V|8Yy2sQ#p|$oK11~lldrIY9ED5?W1rh zef@ROu26Ov7% z=|v-S@rDSh1E@DzBo`VR26y7}8rZf7-lP#Kk}fumHnk}>Oq(3BhS+c_5PzgW{uo0< zUHisbV_a-K<+jNOe|3;o)W-o~MzsKyFDfdA^p_J*zVPOni2r%?fk}mu7mzNdKgxr^ zU%o2%mmBj(MH{22zL@4EeaX%)_Y09@HaAyzq+ZDe;*jnG<$uDXG_Oi zEgh61baZ%5tua<4=T!=BV`DGYCCC^VsSk>!x=n#-Kgk13W#yY}O!LyQ!t|Fs?p`=eao;m<58B5}ap@pVaY-lBU$VG80^l^oec!wr zXkMiQ$x3na1Jhr!xIM{diu=BKNxR&#J|yZ}z!Vfiit8=MdoIM#G_OgAf^wSppM2gY z$>ue!8);+uOE#}xdpJ#TP5Bl!&4^+0dFNr=mUb*^IH+?S)wd#Qep8)%&wg*(AN(F- zx%~Zg;n-VcJgVgQqZvr!w2xC+a?QZB6w8qy_RO>UG_kn)>` zCmV`CW*VMR(@n#Ra!FyNBuT2r~^y9sDuV@R6F|G<>Y$ zn}$!+@}}W4Ri0`1T*WgDU#NJd;Y$_IG<>DvnTBsvJT-Kd;cQI9boD!_;+|3EU6c#5 z)VieBA@zEvUeDC)m3lo=7Kg&q^>Wi>qqMPkZSu|x4Wv>*7`|8%z5YdXx-nX zF4p}>p8u@Jd7*>#d}KWz(eYBMkgUCFZ7<2=gtZ+as)n_ltgau@Y0sPXAJdSnq|+_h zA!?Y~ZylEkq^FOmJ^#@U_p5sGu@4Wa`uMRAkE?p|u@6n>$B%t@O7)j~?87svetzu3 z^Qu4UV;^2r`_acfyrj1K$38Um6MpQ&tEzr}?8EEoxb(3PZ>s(1V;|m9`_acfyrbGn zAN%mG+K)c=;eE9qee6TieUy)UDEIdN?*BkzY^+f{!uQ|QAleWb7W>~^b+Oj5#;E`B z+S}NK>qGv_o8QK||6BL}|MCIgzrO$fm$$uj-Gu`5jGF1$Gx+<=}9 zre}2Nd0KiNlb%zhXG-Z=(L#Wp?WE^5>3KWTGj#MDl21TMKo1L-24z55P!5y_6@Ug* z1eHK#K+p441=T=xPy^HiwLoo92h;`iKz(2b=+Q`eT(co)1R8@Tpebku96)o>0<;8< zzzHzm3|v4f&>FacHlQtN2igNS&;fJ=oq#*&47vah;0d|{FW?P)KsV4G_<|mQ9^&-_ z^t@;<&>Lt$0MLOz5CnpO9)y5U5C#mO59kZR0kzg6fe}#StsjU6^c*9#W#T}8FaX4Z z1TYW`0)xR2Fcb^}!@&qJ5{v?$g3(|M7z@UM&%k&v0Zaswz~^8xm;$DPX<#~-0cL_P zz?Wbam<{HDxnLfc5558mz(TMHECx%!Qm_mx2Va8~U?o@uR)aNQEm#NEgAL#tun}wm zo52>a6>J0B!4B{(*a>!l-Cz&kU@!O%>;wD3_uvO`0Q?9JfXY?ErBC&0t`3<7tji{2CkqDXbakb z_P`Bv03AUm;0`*2F2DnLg08>|cmp5M4Ri;-paV z3c`Q^^Z|WAIEVm|zzCv1KM)OKKrDy@{lNeb4-&vYFbE6=L%>il3=9V&z(_C(dkh2R;Mi!2~c7Oah;S$zTeY3Z{YSUSztDp1LlHxU_ST?EC36^BCr@N z0ZYL$upE31R)CdY6<7_{fVE&9SPwRUZ@@;d32X*iz*evgYzI4R@DF4K*+6z>=fE(h z@{yej@{wH_6j461i-KaxM|N>gLix!41e8=h zvP*%|%13q?P*(ZKE(gjhAK4Xv29S^Jil7qED7!L-RRHY#WRrGHm5*%Fu9@3NjnC}N1Bm#&cH?4q+KiE49F(!S_ATtP1?Bv@{vv2wE^TKo3v{S$VWD5 z*A9@6Y|^ehARpPJof{w@*`!?uKt8fbyN-Z-WRrHC0Qtx!?c4$R$R?dS1M-ngI&}f$ zBb#*c0OTW^bn*n`Bb#*U3dlz`>Es2-M>c8a4ai5DIRhWiP1&SVcjY6Sbn;a`vPq{N z%11Wo)KmG$CY}70k8IM(U-`%;oq8!B*`!l%q*DMOAK9dn4g@HhbP5FI zBb#&z0^}o`bP5LKBb#*61M-ngI)wo8kxe><0`iefI)wr9kxkke0QpEW(ykBat8CIP zT=~c*?IM(qY|<`L`N$^ijLJtgX&0q@WRrINl#guEE?W7>ChcOBk8IK@R{6*d0C9kP zWRp()0r|)#ody8%kxe?q1M-ngIwb(|kxe=c1mq)|bQ%Q6M>gp+7?6)_(rE}FAK9ec zP(VJ?jIMd+KmO| zBb&4v2gpY@>GT;OAK9eSctAd~Nv8>bd}NbO69M_iCY>e$@{vtCeGbS+Ht94OkdJKA zX$l}8*`(7{Kt8fbr)hwEWRrH&0r`dl(rE^msch2e3*{r5box^H$R?d;DIeLS(`@A< zn{=9^d}NbObCr*5(rKRZkxe?yS3a^yr>~TcY|?3g@{vtCEd=Bvn{-+P7Al)`S`5fX zHtDnkkdJKAX(=Ed*`(7lKt8fbr{#crWRp%`1M-ng+N}WOBh5&=m0*>!NxRj`M>c7< zM)}Al?ba$E*`(b%6kS2k(47m$x^((XI3SJ|Z9K0rRQNxS`kd}Nb$-vjcIP1^kc$VWD5cL0!&Y|`#W zKt8fbyMusyWRp&Z0Qtx!oqhu3Bb#*k8IX@`(&;cDAK9eS5kNk&NvETLd}NbO#{l`r zCY_E0@{vtCodDz`o3#4{kdHJYolb&ZmAx0k-vIf@CY??J@{vtCod)D1n{@gekdJKA z=?owr*`(81Kt8fbr*nXOWRp(k0r|)#o&EsiBb#*k6OfN=(&+*qAK9eSML<5XNvBKT zqOwV+%Yb}jlTKFv`N$@nt^)FrO*&lz)kHfeVQkdHJYoo<3#$|jv|D<9dU z(;ej_n{>LXd}NbO_mq!p(&@hPkxe>1P(HFrr-#Z%HtF<8`N$@n{!%`&NvFrkM>gs7 zMES_R2%ZA+kxe>11LPx{bov{Rk8INEIUpa|q|*yPKC(%te*pQ&CY@da@{vv2y#nMT z%}Be~;El3LySK_mHnhuvf$))z&@Kxc!bdtnyDV9y&(wz^`aIw>^`~UXj_KJjPC7z6 z(H8=rsh=fFPU$oCxrjaz_)PsTS#o1~E{v0o&`I>2z-Q{05&bB6Fix65C();pSK6eL z=wHc)ancMriM|$FX_HQ(-z7iBNi*mq`d|u3n{*QWF$FPBnn63!H&X~UX$I{~{WL;H zXeat>ieMVq7>K@`V#+4%N+=)Mq}?aVM>cd4{X66%o3tyXd}QYUrIn9t(yom1kqw=) zlvO^mNxO2&M>cfIQeOGUhEAf-hKC(%>+R8^Z=~PGg$Sw)$ zDj(UTT|MO^o3yL1d}Nb$cFIRKX=kr|WRrFcl#guEsiE?bT>&&wKC(%t#>z)F>C^;} zk8IMZDIg!&q*F6MKC($C2S7fuNvGz3d}Nb$EdcpQGt#ala8x#F=cIgOlXgt`$R_Qa zm5*%F&PDmiChb}&AK9c`Yvm)Gv~yKHvPru(%11V7*H-z+ChgiOAK9c`d*vgWv~yEF zvPq{7%11Wo)KU4!CY?GdAK9dnyYi7uI(1e)vPq{d%11V7=b?P08ENMUx+ zUdl%{Y1do%$R_Qy%11V77odD(lXg1gBb&4fR6epvyCCHwo3sm7KC($Wz4DP}q+JLI zRW@lCrhH_Rb_V4mo3!hrd}Nb$eU*=F(k@*2$R_O~l#guEE>ii(Chd&MM>c5}rF>+Q zcKwu(Y|<`T`N$^iVw8_;(k@o{$R_RLl#guEuD|k;P1+4mKC(%>c;zFTv`bJvvPrvv z%14@!c7woRWs`P8l#guEZm9B+P1+4pKC(%>;mSugX*WXo$R_PZDj(UT-6-WFo3#5> z`N$^iMk^oLq}>?hBb&4vt9)dWcH@+fY|`#Cg~~@Z zX}3uE$R_O;D<9dU-4f*^o3vZ1e54s^w+t*-Hfi^@@{vv2tx!I)NxPNGM>c7 z&B{kMX}3lB$R_Q!Dj(UT-8SVTo3z`md}Nb$JEYGhi;ayhIpa3Wc3W36)2q+4Qf#RS9_ym*$r9f#=29yQmKzUFBXh20!2~-AEKvhr;R0lOc zO;8Ke26aGPP!H4xcEBDq01ZJS&=@oUO+ho@0Gfjqpe1kwPJjVt-~w8K*1#3C0c}A$ z&>pyf4xl6G1l&Pq&;@t^PtX;30dL>~x`FP%7xVx zC15F729|@b!3wYvtOBdS8n70u1M9&C@D11qHi6Ax3)l*_f$d-i_!jI0yTER+2XL?# zd12_PF1P8$(@DunM90o_gQE&_#2PeQU;3W7J{02^e)8Kb-2Al=wzf!rVu$P4lTTaX_V00luIP#6>eML{u89Fzc` zfRdmTC=JShvY;F&4=Ml+s0b>7%Ag9U3aWwXpa!T3YJu9I4yX(2f%?D>*ni@K9-t@i1OA{F=nb?W0O&v<2m--C4?;jF2m=Pt2lNHuAOb`JBZvb1Ks1N} zu^9>f_%Uhr3mJiDdfrpzV;E(6+!nEzZN(cf|Qlk0I)n zI2SC!a0@sD{s51l6Y7B2@9Sdd0%)J0dW^a!>Il`7%!2Zx?Lqa9>KxTKs%uowsE$$n z!m&xL1CB|eJ%VGAXouh!B-$U9F{}!zgPMw37~&Wq&gsZqoHM6mxB~13zknOy71j%7 zh+`HVV>|%#No?aUg}nnT1IxkJ05L@Sa}|cG!5Xj@tOM)82Jj8o2sQ!KQPJMpis3e} z9U!LIPe@19Rnd;YaYwWhhGRGrAig-y{fgl&@CJ)O3vpbp57QA zt&fTMFKR&Ti4;^$T)vHG}}y2hwjP2IYYbz{RIL2!&?15I6nMt;qq zo&i&$^}z)KNX!czXrC z8&0EXSkK;}Uc=P0zkl4TQyY);1KPhoKlj6o*%LhwDX5d>bSpN(AN+U$0C~Mx)WjMH>3W>9x8b+Kt5rFp_pajmA;q z5**xBA1-$Cm@q?>yDm}}sz7>5Ul6H{f zUX8{ONxAjcrxA=?j+z>gMs2V@L>CtxOIMKZ`J;e_Sc5KH8xn1d(27sz(06O-GfJWe zM@=Ue?>1iOeE6`xv;yM2_etqmvdS{UVC-gT{Fxsx+&BQAUkWtF;jEIzpZNiG;RvaX z)Q6&C^w(?q4bamo8xl9TqsF{r7^+QN3|@JGZ$}w}`X+`+O4a^F;RhneQw5-P8vf;O*8A7zNmg4ecW#uh;;6fnch z;;1pzfp@nH<&k=IWI$bDj4?beR*!G`;9Fhz99>W>K6)k2)aD-#DWonuDoiJ1r~YqQ zKyixFMJJ?=hH*zt8tavMJ(G>g5E;}&Q4il&o8JjY{gmOlAaO28bzX7QRF}QD8rhji zecBoQ$qe=J==n>rEfQDWG7Uq}UNReZ{C zNrzWDz-DT=_tjDhri(L*d=Zp3J~P&v#DC9;9@l!UTFVoPE;v{l7(}OgQx5N}0|m_B z@M_tflEI!#0nNSEL(3tiOJEyv*dj( z8`*-5!exp+?fht!&2NgNR|Q3imTZ(5J#Gc0_h;5A54$$S$>5wvt8B(OR0R|*^~}r= zT~mg1_Z3Ika{b_Y(3Dv6tB7|Jb=05^7=q(;;qM;%((?RootG0ng7fmb_ls#GSkKET ztD^P1oYvl!!bgHx&&w%qT3B*Uv7VPx?|SCm@zH3k=jGHIijIhPkM$|`;G_{+`r|$? z{}0>?khj2bS5zOJ8RvPM_gsEc`%pfelB{5P)tbzaw2i63N&PiiG_!HK55_G+W27N6 zl(xP4Grx_UVY|VS>y!+y=P97MSM(WP&r?8iFDo*VJYoD%7*Yn0` z+$N0FqO%>nh#@*dxM_pX(EO_aT~LrdN<@s%#p8~3ygpbPWi;Skq#;%xZFc`0GE5OL z$`GWB4z?_okU`Z$U2uP0WKdc+49!1{CUr!{1nI(4)@q@lx#yIiFnv&8^l!!|-xNu< z`5OffCgD*L>Lix;>P^=<+CY7XF!~v>&5NRmJ5+Me2azu|`wvHh(Ltd-Ui4 z(8C2>WQ;$oxd>)JI-rBwQ()WW7` z?6gr)@*Z4LC~28r57987%lQI@ zHSVY}?;%8uMjsuGTfaC-rM>RvA8nGKmeSavg@$JB%P9hehZ>^|v0)KO>+h(M6*T>w zE#(y4#!PnN#34FJuch51@gA=EyI%5ubY?arJpe^{{yPm(BQrN(8pklPQOr7g8A72M zJwG5j5o5FvQrtB(ou%#->OS&<=ko>qZ7+lwn#&{=|q< z!^RneNI3}slg`J9QIZ+xgOv|6rd%%Fu@nKdQM#bMctA5*Jk-M|eQZonx&cy8&}c}( z_z-=BHZCd{Ps=9{Mz*7-Q3HoY4o#XiaQLA0M!=8|9KX_in#@r%AS!hh8I5Z+kzy-H z8Y4+eU9>g|O~fc;;>8a(iW%FO&U$FA$LgYE|jIxH0uvl zo7!d_4^==)FRh3cXP92?78Tpv4AWa(S#7Y&_U7z*SY>gbri+tzHi;!yQV2+On;vLM zBOV>G%{(}$fN7>D_7pP&M2$y14A;_uI#aiD8b^Lpy{1(*vjs~hOV9~omKoyrHMn?8XN9R^n|paHj__Li#0Q%rjj;bRAXXW_`AMuZ zVx!cJ3KB>36dN<$5sf?tnKFF$;>S@F9+&RYX-q&s*=>f^cpzk>~)po?&CgH-M2AIUi!*sGq&>yl z{zKU?$!XW>>(yyC`h04b<3(4dRNDL+&n8>Wx8 z;An$@)V7hobqUnPq}Y=!(~zEXNZ#*^ypsMb(eT}X;!LfYcXWP5H`NEVHbuoYZHLfk zBbs#YR37v9uU42}5`oE7d9m#NutFIwStBWLF<8}OlvEfdm5G9*Xg#}Ezl4TEXBsY)0t~pX$u0zNZrzE4~varZrdgX z9g!Jy1zE6B#EzG4&y6Jk@#EbDx>!NqbFe-Zor$PECJ8M#IG~}F6i^-~lBfGGGsMLO z?ocG}$u|F-Lg{Fu^w9=muonGbshc0IBq&kU~SV zIwbKEgGjtuKNE)aQrOsaSSDB8h5%`g*L5JS^cN-Aq2kftp4m74d8=E$X`5FEX+){5B zZVc3gdr;#jQ+{Xn0k_nX7b)+iC-<1n$EM+Xo}9C!9%lGV6$Lc!Y3Kiet?Z6-6Z(h4 zGi4K-woGOY#cwNcr4oZ*x)@?J;VDkqY2W|b3X?9f8k)vp>L+EAxRMkw!)GzfKc{5! zk0>d_44=g?|5{I@Nw={{rQz`yd5hdF#)wx8;9|H<;wJRgN8;R*D4#HB8EOZ=^HKwv zK!28KD1M+W7k~G^MFHtY`Dy>+(ZUSl!ux6?jKOi?aql)p95r>#x(uLoR1YS+ySn7D zWGka$quE72rB7B>g2eMLLPw&#E2bmF}DSXvzOzQ{=zca>(o- zqGtMu{(s=S{E?qVGx^m4{|i_2czHwSoSx*V`#q;9YB|WCLb$58tps~S8}XEDgt~M_ zIw{)#?>R+LKyz;tnp!n!{zjbwn%8ghp384bGR&~;MFGvd3NSnELUC#1t(EsIKSJNz(j! zXnLDNI^7uN2Najz(Q$YRUA!|nmGKR>PP-4@Vzfm&msIp{Fi4i}!O7C5OX6Z)?5Io3n*ghIIEq%{=yNw6sZFbH{wYAbmP?CQM$4a-nF5)H=4TkFkJY6g4;q^Ls9T0Tu$CMg0^r5F^ZBdU;phFOMb3>E8u@F7& zdOW#c#=aaqP%95Oy7;s<1!W^pJ0MISsZH57G5>go$08F~HnFlK8Rlka))xGbnZ-SNb#&DSXF}%# zt=k9OqepwQo#~jK)Z0)$F_Wa+DWJ7uoK#5q!z;n1c=}*!xhE=_q*_Xgmc--DG1}C3 zZA~G~uh=SJvLlu$mKa(bFy%W|lVVyFFsYM3iyxPyd`q7B4Nk1GDIoP^h?~{P?t`1V zFVnhZ*#7#!HwGkbY6?iN&rjzhO2S+bQgY~5HCFumQ5lEhXvv*m!FUZuC&SsXCE z-A)Gl@QWU*QnZZhk|ZmQKT9+eFQpuSAE&3)L1%ui2zqY9@M#V7cNx=25F5p;ZDK<) zGU#!zq$#4&#G~DwR&v5;$-yB$gNN=dTIGa{Gc>>2BxH7m12a3rftj13^(NQ*PD20Z z)Bis-iLG1t|9mUHuR!ZoexE|`pYG>Q&%f$F+6U07DS{8i$fuUw^+92}NJG#^mMxvk zk)u1FlFytMAd1#OMwj5?sj3KLWGY$IRk+-uCe7;At7l`%Ru9iHq)?^@`U<}trIk*RpoOcP!OJ}@x$vP! zWP+l_mz8v;mkK7PY1t~{n+D>iNJ>Mzlpw+oF0WBDCt$MA?O7HuQa?bezO0bAuFA0N zXoK2S7Cfxw~{S_W+Bpnc$}>y4b|(tfFCHS%!2^Ch5(!ne+)Q+-JsXe(4Lh z^lXdieIRC4>ZE#@!B37YJKFTeJD|{Bz&DTRslmQ@0tNT_@GWZjS^{%pzW2;%)(moU zq792XxS4PR$+RzLa2p9Hdhv6y#3p^3ZCBYOqZVvXjB2}5ie{}_Iy0MUFy4xkIbV8A z447V{*pi-h3W`>?Xl*7vL!mb{bj;iNl4WQLXgczzI_rO6+z$vS&-x!2&n7Wo;@9=w zZG4)wrEv^1c6atX~%ynq1@P$V_7|3$#GKQEr{g-<$H zho-d)O29jYf^qypMWp8woVk8zUnOF?zfa zM*L(=Bim)#_;{0*kRUBONkwYo)mWr<;K28P`ptAuNq1<Gco5Y^&<>0L2fcD;-z31oliyX{U(GsNrh@Vrd`v^3^VZ_GX>1VaPl@>CVp1j#^!(E z$GlzS%cnD?M}*pV8T5z93ShdgCkvKcA}WbA+lc5Kh>D^wo}~5h0Sak;#ZDGbbi(RV z{(!;!gM)ZqtLgYGS2Ov4^D_)G;wD@25Gif*yIJVc8*krC8767WqJU{%ddr~Zx3Sg3 z(`g+2MMMiUjOm}Wg6~@92MjibMCj7_m=xlhA5b5!$2Ygo)0OJ}n@Sd!W^SF`yxm+n zX}sOs+jx1m@zA#E?3(U17cOk$abG+=1t~*wA9V}Ck1o@AeXvPQ^Y@g{h)munp^ z;l`9Zuqi!@HcFTwINjYu1T^<2is@d5$~4X2Q|MvjXnYDh*=i;?&ELv>@ZPKB5mMRa zS8P0dXo$dv9K^eI-%Z#2fEhmPY{{;Nt2}&jL2C#RwHtRS@O8XozsxbeV&mRX2%hTJ zMTMnOPmY?u%1Ht7EByZNR7vx77AE!scf9KX9$*k@DNnnRd;W=5?DTPVtPXm%B%%Wky@_ zJwNmG(&IaC$(7MZ%Zt+FK0L`#A9>O7FvABfEjik}=Uq_d9~=-crb}QSJar*ggmO;y zXZ|VRy{}>x(tPj+r(A;YC6;iUJ;f(kQXdt~KVsw3C$oP57!ntr{_(*Q4g1DKiO-@X z+Z0KrBi>hodjmNA%LgI!!5Pa*OJ?{TMf1O+hi#$k$2rTzPWxa^Bdw)&O?%s(@7is{&R9tO{5a zuqt3xz^Z^%0jmO51*{5K6|gE`Rlur%RROC4Rt2mISQW4;U{%1XfK>sj0#*gA3Ro4e zDqvN>s(@7is{&R9tO{5auqt3xz^Z^%0jmO51*{5K6|gE`Rlur%RROC4Rt2mISQW4; zU{%1XfK>sj0#*gA3Ro4eDqvN>s(@7is{&R9tO{5auqt3xz^Z^%0jmO51*{5K6|gE` zRlur%RROC4Rt5gE3b2Q1uR5<)OJCf3Q+w{PG5>12)@@94@yb^!eEN5}sfptiTF##I zyKT=x7bo>wJT=gm5A zXyW*tttG2{QRa?md{>hys~U`Klo;PhOfNCoG~G!oKRa=)n229yooPA~<(G~~9GCg^ zOdOZ_?@SyQ>zD6M;<#M@g^A-*r^I}j)N2`US-5eL<2%0KuB&=9X!-mtZ`9GDew+Ja zc>SY~JJj=O!)t0TObE8W#Vc=_^}v|BBQIaRaGSo9JbCfo2CT|aq!PC^UJboklkItB z+iB>Sl`gwl+d0%(uRG)<#+S}vVtVzWOw3={j)~bqTN`o8TQNLS8;oI@u9oVSAWo*=V%o3tZn7ZyWGmX@flRG0Tbhzy-ZBM z_ms)`%P_Hg{Wna+t9*#b`0bc1?-i5fzhE-2DNN)wwk&u1?UQ@<0iC!Apo z%U{f7UK5ziYY6W=V3xzAS%-Poh>&eFM=j&+$33`RYruNmdg<#oEgrVx%&%HRp4_&) z+4eg1oCDkQ22ZlT{C;?8UVGx+^V!$=@QN?8P5-W)6ED2y^7k(%+3o7^)vBL$0kKSs zPxy?9>20H!n1Ag8CYB#|jLCTAn24Y2EtBPWGgZ)Y zH)txaI&een&m3cT@n(Nb@t-$qms`Egd5(NPiiz>LS(upKawC)TH)mq`eA}6fH-pLe z?o5{F#zgr&axj_K6ejZ;$-6%3)_d*Od3m?OrEb=Z^XFZ5U*7!Y{BOKNMW>Zjf1SqL zG<>z?+&*XSd?}*bG~YYCxotr8d3XBohFRx5oF6`x*Z6bI&oR55c*!q+DDdFo>Rs*q zW@Rlf|4SyuFSKJ~`mSkA&d-=!z9y6L&M+C@mC5opGg1B@Wthy%fyunS;@Fy86<0~g)HjCgVL~ zGXAGbmiLy)@}Z;1t3Q)@4dXtC_HQk+r7-vX)BVcw{n>ceHI+`*I9QQ)399;u-<3Dq z?P9+cJ+}?uuD`8VurzEkcW&tWQ&`h>yy*`|e%POJ)1SD#Fdr2 zXWls@^UNyFy-pqK(_q_N?s4?jPCRBT?|36d|4WHhyzLjk9eTz6!d({EoII^&UheSM z(SGM#c5wSb<8Hh-Gn#AemHw>d#frO1_pe%ab z$?^{{nO7K-d2Qf5etkY-@2XPV|6x>k*}$i~+d7*+uKoBI_nMgh+Vk=@++*l5mQ2KFHJB`~1ry~TWK8B2!9-p`U3kwWyAD!y`cYW^LtYzta`v-HM+!HE3>#>k~UbyjX z{Y}%k`?$5)dXAdM+eLkGImh^KxJ&;D_2On0dIW08&zjvsL>moIN0y7KKZtPwNc!|IJ8$tmgl^K!_G{MznIU&^z)6Fm_K`c zCYB%lClm2Tpk9jjtC=isDU;=oU?Q)}xtYxCE7Ns}X~=62yD{mHd)K%_-Wd_WLw`;5 z*IZrD>D!jJiQ_eDUXP#HKWV&r|Knb3W=AJZul6#kO1H7e#=m~xyzkQy^SUHWub<;iuucA?@#@ox+is|kG%luBP8t`>CnSxF_(|81)kOJ6lctOO z9wm;;{BI?W%k@i&C)a;+;&h?Y{Q-&NLa$*RxKoeX^WXM$;cdUG=5};>8{WL<3HLVF z7Vu{0a~~U1Zvt=n;_<=>1Do=u;h~;k9#eVKymRaScxM4`a$w`^fE>$sli6WIDz(ne zn+)r^^X=!2d6WJ>m1xxRni}tortfmsMU{dAlX$ zf4Ifx@-Cmw%6Sv*dDr+&cQuC!@YdzmRv)pg4{sGv-Sj1BYyO-^X1VRG6`*X*KRrwnWsve%-iBv8zRQzNxClL)7$kYW@dm`O_-i5f%R* zRo-q@euB(vZ&{VsP2S~U`zNQb*X3TkW?jD%6M3fs)jvJlzZUOM=7%qyt?Ip9lwjWJNDD5OaBbw?FN?ipBXihw{!77;ZfuvZ>Ra~uj~D?^L8a1ike*<4&uIr zcNiUCPvhNlR&Z&tv@h@0@#nUKe0Fl5gH_7-9vsMh`abfm@g>@;^}e==JAIh@&Z-vHgEvB$V?hfT{uHe^xb*VXicYJN|({5TbFh>U-^i7M}~ zDu2Jq>w(JaDA%prc7FKKJ3R2>=lA-x-pd2#zus|p@^_f8!{RT)zvI1qY}&lNw}STy z8D42yzoy)OTc~cr<9a=4Qns+a;?ULK7CXop~+(&ytvH$CH4N{fg_hC zJg7C3>(;E<_FMRPuFH0Ham<#*JYZzp%81ypJfPyZ0#DxL=i063vd;eE8rS+3?BBiU zQ?9Mpl2uweoofqrZ1OOwvl`zerxz(a9%6}yDYT8ZaRbS8b zz4rgQz|M|`=nH>6+^!D~*5|m>$8j1APvDQL}0ruDg4{ z=lhUxT({tP9p|o>xvuY~Pp%DF$#w3%a{PVgG1s;3d%)r96*+!4yPE#3n*WVje!Ge{ zLdI`iPnGvVm48>|HACg~8xL*lAF`}%O&(Uu7+2uuuXsqCrB5364d(i&e4C3LEXjj+ ztsPytSaTj+r|X0P-5cO41X59`b$bYP$-EBd;Rf4ulN8rq>SDd+iN|t6(#}c@{nehi(=h8g*Rk>38 z3RUF6zyI;|{*^vF_(;2f?lsz|@m^|rT{V9*wfqJZZ;Fb4PnNgbNtJ&{<#k==btW(G zbJelnU+B;1yXWzh*){s}KG~McdwstdH`wneanA1>9+t3su6My89(r+rPw~;Yd1%Nw z_pXx=H($x}i>r*~AwRF3kZp1?9 zsrcW?^88Dy@)ydy{wSgH`jdz6TK(zOOBZ>>=SR1dw0Xw+Ub<Pw zpB~Mc&6quv8+JPk+ITT1H#nEP@84$?54+U6-lQAHdDw!%J2zI2=V9>&zN`4C0S^n$ z{>#0*SJik!HGR06|B+fAI*E9C75{Hl-lwwsa#dwsmpjV5vS@ka7mjN?&c4izfy3Oc z7=wAlUi*z-H{Zd-{~Em1efKmT?$By}uU+eT-?;hb?pbt*FYnXE<>JGun|YsBC40=-HD8VIRMP|0{1epjKdE@*Wc=MFWqEtD$?{v& zk$KJOs`5I*qnb^%$<}BokD7Pg{nVLV-1yarh>K^9Jo02N!`5OQd1R@-oIBP&&m#s^ zW&ac^&cpxtWYa$@XYlYZ`>p@HRbw9BHK5k^-Q{_B&9C-!y#56bFI&??-`1$cSE%Wg z)cl@m`Kv14U>U!TyDD$5D*v*|>ra)}Bi^stW}8#aO?bcYrPh|eT9ileY@@O)8^)u0 z+O)iCzmFSV#vd$qxEDA2_k5MDRyH1acF2}9Xa44q{V!CXU2G_iw0lte`jIs}GS?SB z&G4Olz)uUeaV)Pi-NKCyYhqk1n{sylp_N7b2O z+_LfwkIK{S?ucm_!TVLP*ER1nnMb|+?%oW~F+A$}_ULZId-13Xd-aE>daLn3 zHGRCAf4*8iNX9#Z?MU&9msjO2ljT1tsq)&b@|w@OjH`U2^TFb*ez4z(lXs`Gs=np6 zHjO*PG_~t^Z?1fsm7dZmF5ff8O59vHYPLghR;=IAsmoqBWJQh@{~^n#)mY&pIXCO0 zYqP?h$4ZtvwoMIxQvP0QzWs8!SJzaW?K1A)=Vdun>dJEaSCV<$)2X~Rv4A>F+x3cT z%R08VUEAf^&&;_?NV}{*)?v*K{y5gFPfym!uJw}Y*XA<&o>MMviS}pp?uWX2HJHZg z^z;2}LyJ?a*6nX>U+z24YT141SGiC%HFTE#{k7zLEeEURW~n$QW!&onR5@Ig`>D+1 z?>Lp$d=@aJ>x;2HU$br;k^J4*_D=JMITNM3uhVv(96lGrJ_WZau=RoG3bLoxUT^_S` zKh~OW%=$ZXjS6iSYP+AcYI&!0k1}tW^Uq^08oin^_UqEJk(=)^r#Ii;@A26SIUMgK z{afm*`8?%vW&LEF{HrPjU2A5qzW>y5*16($0}nJU#X1zvnWd5EI@Ydtc5R_qf3P;w7smuV8_Zk>_1D(e zaGJG#*7m7)kvwWxLHQr6`IgA#X1A7cy0%ks7t3-^SC-|*)mC{tQh6O^+D&c${;e+h zY4U3v>~CykJx2do<*T)0nNQt8)4D}yndc)-8-INv)sNx$jk+`zmfvRnAFS?z##xkDK8# zuX?S~Us!ZehlOug?3zAbXCLN%3oj3cdUq7uDy!$or*hA zmXrSzS?)tGmB(V4*P^9No88sZJtm6vepqZn`A(tCf6DL7&-ZKABi8#+O-&Wn?aM)z z^Y+d0#XEIDNSvpC4vjw-=roStx;Z_4gdp z?b-%4{8RbIsrh!R<-%l~-bH2Hr$$-M<=(Q~$8A&|{xYwPHmvtgyVflF`8TF*Xjd-h z;AgD2?VRV!M-{+*jJ97lc+rXVxHi}APB(wn{dv!@B0FocZpN&0!;7|NJ{~(f*In7p zyl0g-Hv6Fcn&c}Km zb@*-Z!U;^z-$IfaBk#SvS9g3wzy0vTixP&)wcoRu04dQGSD*@7ZIy+^3aQ9MmC-n`ON$ zCuf8z_bZjhOO@AZ*87sS$J$@EGi~pLti7&pW4$l7pHM1q1naf&>GF2By_kQCm*bx9 zxyyR~e4ti4FJIPUYRsusrBU9Z<3HMdg6))b?S+{xYgzYAyZOR~57cnI^7mEqWs}R5 zDWc;1F5~hIvYb0vRJqSp9;Z}ZmzdUO%*E;6GnjV3)s00q-DcW)zb`M|zbEVMS!w+R zxAm-7jT64NJo+=g=U)$BaB4K`d3SHsg#KGu&ocMlth{-R^_bjf;i7^qSdaEc?@imZ zP7S9^e}RW;zT;}SKV+QKC1hOB+OnJuF0$MK*<>D@ORKyNGHs1dZHMmsm1)1Q`RVAu zE=(Kuhd#dS=cu1{V{>la%zC}Jf3?786Zv>y%Di^vV%lzl zD%3tUoN0H2%`F$0hiSi^Za8tiEYtSr**@==(0O~KMt*zOu--Nk4u`tBuwGt`j}85) z67&DTp>OtOuFOBM*6G=|P+#lM%$LJvni@`({+llo=ab7hsW@k4-0!-}a%MGG<&IN% zEKqsjI5>9g@e^*Sf0ujyT_*A=3$TgyD);9PO#4e;kFsy8Fm2zpbqYRQ%X;7bXQ_Lh zm8^H4&%3X^{s-&zy3VZCSG%xY>-HZVYHP!KjVWx{_tIGn4ayJQ#eCW1ayL-VC{EtC zGVY^Ns+|3*Tx?Iu!?<4Mbqe{`>oE0YC=1B#KBn@W4J@GQacBP@SF?a>)!n;#HD&eBSns<7)>U4AkM%yhv}p|gMh^EP5AtuQ zB^(=c<+kbgq8q_(>ZU z5TY-C{Ku>;AnZVg+Hr+hK#%Q#)r<#Ofb;ATMNWT;c;VB_{N~023Rc}v^Xmu}kacH| z&yGBi!=w3?e~g;1ty*q~igQ-Qt)a?6d{J%*mB(zA7s|`=W6OCxFx{czW1pWG3rHBf zq3QSiSisuBWzIDIng#syQwuFkKT-OR%1$>~z=0oM&M5d33)sBr#ete3EMSR`ZHGFC zS-`AU-CK=&riRaz|FW8ImRb(&VG-wd6}Pe~XS6CeOyv=y@~XuG@?Njnvo~h}?YcH_ zI_=5=R;E7b@iJ*XMPQ)^W1vef6q9kYrX4n=TeoJ zuHkU+4i4v;u4ePkAGMsWhW(ZQftqiMT5g(*Gw+a!TTPYINR_)(<$-aL*G3+^rSZKb zH|BEx#t+(UZvKS(Y#;Mz*b0B{*?!c>@t=RfJ9f`rde>J6r7IKu;bBb7XMDxPa?_?T5$DMzCgN_~ z$YeRTOqT1%L>?_lGMU#o?z8)OA@*<%_n$rI`s-gua-Zdwjtp;qi+g%htv9akN#457&ykaI0tMgAdGRVz}3b z3BOByCgywM%j9xZnTT_6CX;cqFj>w~Cd<9dWF8xs%;ktYA}Zl7;2TmKV1 z_nundmtl|nxX1EqM;onm;vK%-b-lLcd+vJu?4w`rOyW#`V-vr6oHst-Y{DbALA>VS z5@iQo8O{qA7(AianFUM?f7LMIzj%#_`Pz48a=8E|;@lp@R9q&@@nW)EXD0KAWHPUp z+^OF1N_U#|;~pmqC9JzQhkG8a{bcj)4!rZ(Nk_Cd_1w)lEPt=TfAQ9DV_DQ+q1?&o z?suC4{^pIV`Bs~~*T`$;*tLB8n613flmVT57r$m=_*Gpd{GT3RVm{u7$>nx35$BPf z$+&NsEN3N?<(6PFk7Z2e)qpqHeChO0ciZyz11kPnt@u~my^&*&A6#Gaj;@DS^&Gr} zx2yPILy*5KZ?*K~>!KaT@RlPMRl2Ml${Q7OUDa*S9bWxc&$VTW_vHoWmUN#|t`ZZ& zVm?gxi~h*Od;?!Hxm+_Q;Mb$%wwIa`H^ za(9epG7l{ic`dBT%TBMbapC0LyqQ;(LpGt;xXX%G5k6rTd8>b>9Xej233r(nJ^aSR zg52?8fqZ;QAaA;)=Zf1o9J$>;d2CiRYs;&I{xCP+q^vw&Q(gV)9>bUzw)bYjKVb$F z^EI8!#B$j;F%jqU2qxpUWwM;oOqQFC$vl=Zk=MkjypT`nB6otExn0j=w^r3U%$ry3 z_i*d?2f0(JavM6Vv*nH+m-EKoKf)dMT(kXUqb+arz1DBuvwggtHh_t8(GMZ>D8xiw zx_~`z^Iht`_rP9WWm%ote$IGKb4oM2+}|efra3>maIVZQ-gM!Vp9{nn;*CEw9{nP$ z0Js0CP1&<=*6>>1Ic{HEdx&ew27bA`z!yBnnz|S6yLd1$bePSAzo0J@^Q~#lq zal7;DV+T%+3y931?orx9`o;m-6x29us$*?zw^2 z$m`#yY{RR((uB=D`!(9fKWYEnFTa1&e$U&@BLl12e&=Ai28{zbP-tm|Pv-dik9(?iJdcAG9ZMjne z4ux`FuHvv=FFskoD?70PO`=!uDr1VRTUlT)uXH9pxaP&Wyxg_JL9-t`;YEvIn)27_ zLVNzPKNnEhSi?ySgIY4_zsD+_~{g#K{-VMBFG}Cd*mGM7be0dqf@$Z1#w} zJ|E6(ZVk?VKQMr0)&1C}^QgUhE(DD`INLr8FJQm^qz3nSOP>7I_KQ|FyqxoesMQI1 zc-h!0%RV_5z(3L6yZXxtdtP9`F*oD#MSGr>oe~!Dyrz>F{xzHl|B8i7%(vtf6U!af zG7-mEoQb$DS|-Z*@=nKREMzgWLyn-k{?}d)Ij3`FbHQHlj(VVvT3abJNA39yaVrUZhnY4J@|5Ix7Iep_dJ<%?5gJ*8=mu= zeYfQU3-Nq^e0}wbmj}Zl1iNIR-s7-zoq{?}jY+H0@%{eI5A2g7~NK5U(<4q^MufUr8Aw!Cg#$9_$c zZXc_!Qo#C_)r?n+t*8*$LgFJFJX0Wb^+_-r30+5z#dqRUzWgfowOu9&$K7h-C~IH5B<6? z<>QI6weqFP%Oym1@7B{}F7D;EoouyIotrGV+j2I~VTzQbEvwWjz%5zQKI5O`qEStf z)+gt~XRBmL9;e(29Qi1j*B$kx8hC8pMvBMQsb%okKD88Hw~l=n)#=t{=zYE0=du*A zzE_?A%W;(fmg|Zyk>V|onLb~ND3yiZa-PX217>DtrFcq_zVUC;hRn(3b=Zdd&T>iS z-TCV3R{l{+^7M;pgIi9L{XX?d2BrWipS;;X7Jd$ z*1f#$KG)|`l5U-A0`U(sUr^i~7 ze(^P3b=pm&m-cey@8>Of-=_^*E_orvYf9-6d%ZJRa(TPahj%W&C3PVO=en3BOCFgH z)^srHl3cmf9=vLGGLMaG`tZ8*j-zyVY~AP*UU%PH6=_Mg&J8Uc39Ear1X!Q5$-w%K zVu0mXp(A0re3E(37jD??@I{K(F|w(qVv;nkQ*mU}kDL_VH`xOYE9{ba@5*A+nyjUH zkN16a(@c=!72S9>dSg`&$?*$;L!OoOkQC~VJ9%wqmt_C)agjqNOY_(`r=HiHuUM7H zW9tt8l63cN?)6K;>ePdT)g6~CVSOx1B&_doO9{*2kSt-j3Z-BvZ;Q@3gWVw99jX0k zy#_>$7@WDz$Q~lgL}dTbQxMrFWRCQgjS!Khk)vas2N7dO*jX0`L-?ngsn07FA^dt* z%!tw=2rtx@vKG+ijBFf*`KMSn2mAJNIyQqi-LLdHS+~!zY3TbLIifkP(JHWH^p@ZA zZcGQ!U8OdSt0E9a{gZw%whf|e`py-FT7h87YJb7?5A?a{VX>#odWckC{=sm95ky>f zaUlvDy=A_ilf#|r_-fK70=WMRm>+<5=AWE=B@%HZPAlRl=A$pe!f?l@k$493_ z$+p`-G}%aQ)U}@w-RoXOUeCuMoMqrDb8ag{?Jy`FHfSse zKHQxmJH`V9aihvA<6S^7p}oHCz!4BAPPEnXqt83LqrW`n?_*sC_LZW}LDX&Jd}Qcz zxNhI;P8`Q9IgV>;48({d2Ru4+3}P%ev;GT50x1I$?JIo*E>IU`3zB<&Q z=NYSOfj+h98^m!426J5bLqYU$_3fqu`4E%j?sRcde-Je&+#J&Q9io5r&dHae&nqo` zet9>>fbiVF&!b1v=f?Aw)o3WSf>3Tyoy|K2qKaQve3?20qB1YN9M>}&<95tDVjX>+ z+1)o_80ySI-M#1&&-p%aL5{^7*Fg;sttnl8*Jv@sSOvIFlzI!I&#Q;TC2Rzd^_j~d zYZD-P_tWOHlU-`dmQYHynqw6LM98XtwJ5L6_qpMxJlIc)oxc)9OSb7a zW%@$&>qGAjWQRj^=p=>j@18<*@40pBe_W-{zvYLmtftTDH(6+H-b?-Cnhsg@J%zCt z^ZT)`3;UjMI`5@X_YnHzqc7!SIUXX{OArlnc)E9RB8ZwYzkmHsU(bggt(nC#AljN1 z{v9_rHd>GqjL&$DjdE%Z4*%drNzQb8owyg=dQLJ%G9 z`Z&U30Eq6}IgITU4WhHzuiK_w15sFYWUXv7h}0iQpHHOgQ1$*o)#*&?r!dk#cmqTW z2F~AiVhTjN?{K~`D-L4_=0{;2ea_GJWuwkCPPeZC=VMO!SlKI zzAxd}#=5IZ==%zG$W>fQyM}QS=1s8fGxn`R9SQ0l;CzB9C+oWjIVdm7^$tW@1trFt zPJ(C?Z-lLb4v7Bgs#?=ZUvJjPHolt*h`etGtb3>kqR|VA#xVqG5UrSFkP|`$AENMpicveOftR#Zk!d0J$!K$awns zUPfvl+Nib2A?7=Xisxic^QGtGrL!BHYNvo`@6+((G4ypTy)oS5sR@Yej*oH~NBs;n zzL~T<2a$6B!0Cy7K-A03;?M`G%SQV8y7LLYv91>TR-(>QPB+#Hedzs;^nAl1k zdVV{GP48Lg2_l~N^cl0hg2<#-=loYYF(zQ1^0IZ_*f$b&=<)5=jnm|O^yu}<`kq3L z-N>~8M1J!Qca%`SZF6iUjHC4z&G&053F&%E4Xro$1fuid?h}u9f@ojz=h^nOe@$yv z=yrDyE$aLd!_V=IQ#ebw1cf>$`OvC{MTUi8-9l=)vf_ z9XaT_vRw4{s<`i_JA5fmPS(tFLwf!Eb8m$~%@`1s5AS=TfgX?2+j~p3Z-S^`AdG)J zp8lK+tvnqxk>0oNmpqVEgJ|vh&C<3DK$JFO_&-JKF_vIH2J7hg&Gz}CjxFlmMjv{g zV12ETV?T0<>3aH0lL1|zmo19@l~oEt&%QI!^7oZ@(r7M8^*O2#HL`xCHb2u+9+s{7~mG>W)UAeDtNq ziRCClE=v&Y*GdSnVEC^vm-Nh-!-3bzji?^$Vra>N_Vu)RLt0bgMjwzMh7n z{bn>qJ$}Egkp4WM-_P;IDEfQG1zBfHa}d3ct-exA&!g`6uo3grpRF5?eRZfqe~z)b z^n77`=zWm&rRNRH(Scmo|NR`u-}rY0{;t5^75KXXe^=n|3jAGxzbo)}1^%wU-xc`3 zUI8ZPcje*7ngbZ`(YlMq7$`CB$-9bOTkkNgrh0BGxAtdTAg3TE;Uwc+r1!Ik=rPVc zZWI_!T*Ek}THZ`Jwvur&%{o(1xSMfO+FcQH>Kn#im_Lhkhp_Je>Ns(_iSpVST;y1VT;CZ#|F8okebpJ?mj@#5^r~d|a%VM!Ug?bI@893gRX%3iU)6tn z+v_^xChFI-^zv!OHGD|FvvLW{!t)04OD}0K3$3S0t?9LeS*UnsO}}Oa;{wbVU>(7} zO4RA#bbC+bd~VsG?{$u&_c-KAWPA@PT^TTI4dZ)Zcl?v_VGKXUEjgwKT}Kl+-nb*O zjHebeYVPhGjQg&~PxYnFFm9{nR$ELS$+%v(I@0cOf^nVyhVkz0z__ZO2T%h{E}e|$@q_1dKSwhjTh|+Zlzqmy-=2N5{NO3ZeSuVRW6nFqT{WU< zZR8$|2Qc4>b(gumzAC6w!s#xw=X_@K(Dw*(Bp}xkhQIyH4%O)WjPJ;-kQL{?GW@#T z{t~i^;g87>d?NapbmyFQ2p5rL6=D0*s41cNSU1KF_#<%zG{tDIR z4F6fjqeCa(FnsR}apavm#wWg?-Nd7l7;pRJE2~G1W4t_i2d%s;&v+h4pZzM{l<^$% zbV`qegN#S(17pPz129g+yaekeVV?!+M4|3!&gX7#&i9lla>ODR*{RKzEvqnwU|yN4bNhyUpHOEt>bh}0Q|NWT`eq`>436t*4~8Ex zWcKp5c!vMz(xQ1i+8F-3+hfk!tTJF8;oq@rgL5DjVU& zc)$9%rnkXv#(VAl?47j&#@lO;S7T`!#xa=J!n!oFK$fwkx6^--%?EOI3BR##AL=aRbY*&>&m;6L<~WR0 zkZT*mUzcEZUYg!l9$!|B+1SePzbYU9a-MQMy&sembD81i%V$W6r5XMbjVpVeQErRQ zH*>cM8NNb6+tjt{j8C26^WMFLjL$`zr*rPUz*vX*`B>K<`{+8bI>%9$o?om_C;DFH zI5ISlOP?P9uyv^h^te8C{9(8yg5h`ise6{`G5ogBhd#yh=g#e4YyCQb;U7Geea?v9 zN0*rx_7Ija`~@5M7nh%<=h1b4FYDn9e{}nbgJY*-oPhbhSXY33*HPyZr~69=eU_rH zCvs39maBu|UwpCj@}B(+zq#7YzO$O~?NxnnyIl^AMr|?m84SN=w(WpJlc=7}{OP;b zGW@*EbB&)EhM(1I%J#-)hEMkf()&G<;m0nKfs>Snjr4qC^X6E07yIb>$LhRC-DT)= z8GVa5j$ib?$8t$%{gekc$}1TDw`6&z-a3r$0CBp3;XTGzUH_5Jupf-CLVD}YV1I`H zGw0|71A5)P+%s-$|8Cw{TlS|_GyKwDRd0*uQoRRh6;+S9SltKnAy{_;`&?1yAnFP@ zpW#!`mvXZl^ydl7)kyCA(@eHq`L8>YHxS~0%baT>px>3wo+(2+r>DCfA;m?{XO z_x0>qEt2ny@8Fg-HR8#Pul$VIp>F4zIq%2Ud#o- zSm%A@=I#HEB|obp;*6)+|2sC9`{LR<#z^VkF^`+i`*%#Z{_}svoPOt@G3PJ$XUy{1 zzWy`j_=SJQ-0S;qUuo|3|JlEcaO-6Er=D9cA_*F9-PjN3mxrS2s0L@YA+t( z3gm_RVn_GIFm|uPX7eq{6vKFcOe{CE#bH>f|IDt zQYs@BJO*A|Fe2h4*xfZQRn9F3TLrDTD_@4d^gbU}n4B2^7LN~Fr+HO_>FrIwzVOmu z{5rqPEz$KbVxyyQeDPFJo$+qLj@Sw2!+b)$d(V(3+&GnR^KOKzZzNp*GQ#OyCY(O~ zJT~hWKsf&r!f}ZR$8{Rqo(U$`j#B}?@zcQ39&f*!2&XrLaQYt!=f@+Q|2@KSDU*M>ywkp=AAOz=ev4J+O_enS*R6&; zm567sAkQM>$YyoA|LTv!tFrRJ_S(u$U7bdlE+tp`c~Cq|+aof#q}>U|GPy-3PjrHA zg>T30FVD;;yRP*-+xUgBEz(|vx1Jjq($dKr9f#X4ARdIj#|l9u(f z-3QLR4sl+_Xs~a#cIjg`5@rt>;J>c&H%yn$dTjE_0;aq>GF>_7J&ZcA;Z$*bh`E{R zxm#-|KOo$=p0M-5>V&JeC0ze^!s!hqoW2g>{B{w}|2g5fHV}?W0s%<^VMC221aHew zYRfPNU;lzQ)6bbl4h)~}xv-<9hxyc&4PS*xE`%GeBiwu;;p&wM*RM%9y(+@#%M;Eol5qYv2*+hc zI4-)6(w(Z6+m*^7ec{6pw)u$1z zenxHdvimt%Fo#TgK$GGuRs`~mQ9j9f8#U=QHm=NXSV z;R+tDcMF}a)q=~Ogm?3f4+4iH(=MiXxx=iV0r1Eq3mDa|JxgWXVf^Rd8u!r)%`IVp z?l8k>!i^6RZa#r<^|^%WcO#shJmK_f2-Av-tv8 z#dZdNIHwE73y$4pMjkVtsa2VE(#@1`;|{{j^9Wa8PPqONgwvy+(`NN+3Fr5MaQ=RT z<1!{3R|$mtdfn@@tR_SZS~6jDpUDtdo8z_ZTLbtNS5Ii#ECoJ`PMeIXngwp>$~9H5 zcY@PopB=qtu7P=PXXXU#&w}X^57_>=A56?0k#v55ySYvC?U^%la|k!iBiy_i;p(#q z*Pl)}J^HzOR^OViewp71=U+=WE+xWo89-=Vzvh+{D~M<}8@*~yGz6XPweI_KeemD- zLD}6&0r*KvR+(ws0T1O-2es;K!P(R1t@pMTn16bL`1)N-n9&xyX3)dMU{c%So%W*0 zd`?bH{nx|Agd2AdZhkr8>dgt)|Bi5aHU#wv=hvHX{@R4&G9?^W0E8WGR@=PW4!tGRAiz=byyrf;58R}{+i`N{;OSB?yqs(dE|C?cRizuj{zP!=@(Opb z9yG>jm+wQE)OE^q`Tm>cGa^SXGg>;5u;T*?gqyD+T>V1A^{*qG-UNdBg!S9oNjU$z zgyV7{EZ33W5FYZzw%-Ru5NxnfNR{n^kg2t;w{tE-U|*9|X+^qk-jmw1efGTpuT=;0 ze<~=#!l+@qAATm_ut+7m)3ga}MqO!2xnT#B2f3ZQldNJsW!c7!s_wFc8&4zL{9MA- z(|v&1{t1NB8$eK>aDEcP`49;WAg-$UQ0 z+%tU0p|FP#niJeh#!&}?__i7eQe(ki+faJJKhwddbl~U{VTIsk*JN}>Q3Q_7NfVCl z)qz?1edqQ$eIDWbMiI_m zop4;TgyX7#$aOm#(v0c8TYT-fIW78hU$yLmh5XSFESvV&PvI^27p)#|X`2H4(4x|G z=mG8%s~-E9M8kqzll12v=`R zxc&gb>Pb2Yryox^zc+;Q*CQO)Gs1D{fnbK(sCCLlE#ILXl@T6nqnm?`-0gfX7!~#omS&!0A(>!vHxA znA51$-}tL5OuHXzG-tDEvFEerz8;JWVaJ(Cgqt5nxcUKv>n|dlUNPbHRSD;}hj9LB zgyR}ZIIf-l{vGmfglTKM^eyrWVV26*zI*0h_>-SnP^N!&R_LGclu5%hPKN(^KO9UJ zze#QxD*iJ+S=Qa6&%6Kr?lUde7_jN|pTCR1bh+)p9e!4S>P?+I{Eof)^559v;kU=T zi~bv%E;Wlv@%eAe&R_g*{J;BI{Tctwv;OP#O-Q=3amFpE0*i z|M79_1z;CYI6WYJ54cp!Jl{K79cBj>9=EOk47RT~E-Ez)1KZvXqGJmNfz7g={Y-T# zz(###Pw-z?cmlWE-`p68o7!O;p-Vmm7p8nlro%&THB&xEYMGr_c^+b?&q5; zQrFoOE!|-*#`K-3f5eiFweT6Y}5q z-+8va9s7+?FCF#y=(hp=b&=~WaqZg(=oms^#G7wqbZjRTC_1oO1fTv;r(#t-L|s&=wZj7o_(vmxG1lgD0Q27z7JP z)PM4w_8rIS|IM@YGq`@KU#Ry5_3xvfI{NdF>mG8Qgn+)0p@GI(S+`7dOkmYu)pjBOQ9+ z#cx>I^I{+Haui=PyDzPcy|c5m$GFirZo&DLT)q5n?2q8|%IH3`to~T^Tgv$d$sm^) zxs)ON{!)dzD(WC8^}6GITM9z=wZ6%@r~@IIPeu<`=0UKs?4k>spF)sphZ7@N7X&JdH5je{90 zzN=41uUu<48$xYTwscH(hmgmO`B_0vAtckD|Is1{LPB<#B+&0S2yy>adhb9Uj%{(? z2kReTza8q?p}s8o$)LX&xk{0Xe%>NaN^|J4dmwt1(yzgoeje#Sx#1fJKZx4@eV~Vf zHwXfX3R=%TgUBV?vr_l>pr13$(T!_SfQUH_J2q~41>xWOXXbWVLHM;|`}hzk2tVI? zTSF-V$31a=GS=5}{hxlL9^HSG)qjP4^z&n^f6)KpqWfH~tuCL?D-~jo1RY$XMn501 zW@4W$bbr|BbFW|AyI2L$@)w`08`OYs?e#aoJ?Q7F45#HhNxuhC6_qk3vz;I+!eh*@ zD-wvBRP;J_W=DZk?R0* zJ%c3{zN9Bub{E>|s&dz_Q=g!y)$Cq8({dw?ORV6BliX6vSM& z9)I>&EyOHpK6tV)7Gf-twiQm%f*8$xj@y>`K+J&Jr4QvUl4aj)N7mn?!Mo-%#qN34X!hjvW# zx!MVf2NZw)^}rJrWncRmeKidh%}mm%NX&voeccWjDi%WQE8~>RPI-uZy#Mo{@v=CU z!}+6FzY_bGqMkGAe?z|%^cNtP9CE2b+=p<}+QKogygY300}&tM6zqfL?|p`47Mm{2 z(*6uf(_(Y{hN;4m54Yx~-Kc;ivC&zz?cT6tu-?mgr>tP{qvvJs-qpk6b2XFv7Yv8R zM|LF?mRsXk3+HJcTW^B>4ybn(_2tp;J^D8z*Kp)=g!uB<6)r1WAz|yPJ;O%J!SWCO zl_MSmrKk4o%(fZ@ zOVg!Koyw*8<<_IqPkqC2KF+IPeJ1vwM7@)!Z-st6(0?Ct&E~iaenMjIQSs8BHINh* zw=6ht1|(D_n>SyGg9ItPc%R7=A>QV}laby|u>9DmWfs@6VY%U!C;q8s5La=d{(}`j z+^X^4n)Zx`I3I68pMs$f=V-RZN%9TH$~doy^(U}@9O`AFKILKkMxuWdashHpgk;{( zA3rY~f#kh?ri@5G0!hce>aVD}4~b9LH8uUPg+znkpVcYrAz`h#p>FjxNRZp=bZPJd zh(9v!c}he*#QT$WBmF%PZ?)3w_^)8^k82zT8e;IP+ zB3CY?jLGRcQ+OFtHU!9Ry4noMSG$;?ig-x&J(=ftO%0NJJ&lnL`~^vo({G-r-3E#8 zDt2V3jfBMXpuE?zDUfKj<@&+k-jFzW4mif#g2a9YO)uRK!!dC4L9JLHf&H4Ow;J`^ z(N78eMaXplxt@VoqcYVy+5*J!p9Z(sT0%;pyX4{9&yeEy#^^<*KP0#B4(z{S10)|= z;oRex7?OjJWVg4zfaFQ%8eE>&L$Y#eWX9$%ko0rmH}j@gNcymLw2|8Y9Q)z?Tdco> z{SBx`*MrqxgMOaq{|dQGkZTI8=oj#0SAGbrh|sIBxoZaEL!DjA<}C*CjKjv}x3wXq z*|4nEdLpFkN*JziJ{?lrF9>Syo`IB62es$>eS?% zKD~9+w4-EnuEElMMo-De?;ZK0BAUr?v043jr=LXc$%4{_`9O3VdU+UZjwHIi`zw6{ zO)wf@-W}_1VV@!DeB^Y;??az`=(_|t=)SEi*HI!gHdw6PW<@;gkEjeZt04BylchRF zk0G}A%$N4v@{r7!_Ty7-$V0*eE#9$mPbwk3wHVVaiP(HxiF# zg+{#%=ZVw%_w%ms9uWumxbNG}-Y4^TZ}ft1uOPD(mn8N-7f)=yJI|XpV=}Qmb4bJ0 zw2=NE&R%KDlD-(}_Xe{0BUmSmeTJyB5_Nx}&vo=Yh#WhRE072yb?5h`pVkdK@$Bo- z!cyWtVp?IE=}+RNBDX#KW+7R4Z;1OC_0_~FpChjT7|biWwC31Opd?VL@#Clo!XiKY9X4iEUY$<}}@jHp zX|<_G#wEJXZO`(g$pdF$w8FeB*12HcZPXcsx+l=b7Jbc;;}qezzLTip_l4D3kwl=@ za&u0^Q4*SAyKj8J1QIye`h-zt6Y=c`@>hKsO?+bFs#JKn#M9%z;l+xo#C`UX8KsBx zh+8k|v%iPTBd($MzI|Fb8{=fmkKpPK{^0r)>QIM1pJH_*(C0P!PC~jSJb$^#xle+fBb7d=N??7*EgG=@B-^}v9B0){89H9`VjPOMUFz`qEY@; z{Y$lcBKSFYeAree5|O=ES8mlR5}MR9G&Fr63EH=8!s3E)B*6Wq@{p8)#P9g=GcsY$ z#5dW=VW?#_;g^LiyIRpm_@N)i&(Wd#fU>b4=I>)2J&tT2>Lh*+V-9ld zA%f@p+SI)-NYrq%Wm*Y~NMxKrrsw-q68246cSx%n35g0H)*`1sg68IbQFk0m0*>q{ zUi++t_$Nwl-(Rmt{7RIx<&)KjpZ_mqkzfnPBbZm`>gsB-uM%}+QCA9m;?Q?7a`+%u z6%pLYxs$j;kwo#-M{XIilnB%x={?`QoJ0&+p|v)5Jqc}tmY^lYkkW?j5HFVAR3Dp7dx)nX-2~C9UVDwz$+5E z{f66^OG8M=;m1y21_qLlJ~w~gQaDS3FZdbn8a5T~Q@g*=^U>J!%E~WeNQ9K}&_2Q+ zB<%D0y6MgaBuvMC!*0_j$%kK8Vz|L2xD_`||@4hg&FKU87$MU>L#O)H|MMN5;=;I>o(O9WVcM-ON3?>sad53M7Y#@$BA#Ri11j@u58x< zL|AU|v;QPBBD@*pxhRP0l+01o7ukI{G>q2GoFDMaoc=y|AoAnmRyiW%x_Jd3ck+OI*W~Sz$5a) zv(3y6a9$ut_8mpP$MDrTy3^DkupXIAzqYLk%+wm*hc7t~y5?84Y#xpxTs%Rz{7b^s zJtJJ-D8lLJ6Hd2+a6X3#`qKM$H%9{bmn-nbuh#`ehalqEawogFIuKYeU)4)76?{D} z1#Y;$06dZ=U34xU1kV1)+;_Zm1^XVxvZK;ofi+KM=CTFTz|1u8=X1kE&~;HHv3)Lkn9g0inRT27(g zKey-jw-cB406#x(+SIn<|leuly9tonID3euYallQ=6iX z_-%CsU5#&N`e*$lY}}GcxIEoQo2@e@Y+r^o;dI6lPS>4qJ`IHPrSDT>IUESb6$y6J zS0DcHSqAux9xHbCT>`$3?WWIn84cbojKKI&2e>(IRn(Uo2~PdHZi}1GgPqgoM+)kT zVdkV$4~NXOgsEy3q^u$gbh7z#`v)lzE|wB5UqiS$A>sOd5?1GJ7vXffzXyc+JRU(f zU;29^%dw2GT&)dYRVMYUM@1pHt{#!xr*#u}%^DWrmt6)Pu49%i4k?F)#^&i;>3%GZ zXG$IozFq-yv%WQita=7BhGte9#s>(Cd^)Nro->*Yp^<#>vrtqWiWM^G*C)2ABG99a{b!V5>2l{@g2~pQ4E&#h8BaHSRng}*|_HSOtMFP_!<3{7l zGBAnu4BxrQ4>YD1+||Fjhp_S53Bu(Y==UGdx>t^b>q{f7&H*ufA62(*0AYQ!r3mM% zLO6~Ogyqsd0y?7M*%v>&ib6uFs9I zI#+B6tE;a=IG>+{^<8tDa2&%4%k^FN;9r;D(@js=9}D5@bWS3s$x`Ps}LUIHo5*R6OS z^)UseG)?aJX7((we0A{E+IuU(DoDjGFu|JcTVA`?r1ULVoP6EGx>pLA^84Ssa#bA+ z^9xTNz8nF{|BUY|zxz62Ca;Ya1+2CE{&eN}bekDlO(BCZuntB)S-<{?I zV+X9xSP>l!6ODR`>SbNQB&O#l>*?uWTt052z9ZdV`|7w&n(K97n3Rce|BvfHZs3Xr zlb|z%jlMO6&3_w8xVi$u_St_XtPXR4u)4i>5Y|V;C#>((ClZ!pyA-foGw6P|4{b8+ z)pUrm-=He#mpYOUw}NF`_2@p(HC>gj`sl!@Ems$q=?;J~UF!X1#*BwClRd)|72H7I z$oN%CU=(Og`S#<;&Ki(uHJbkEpX-E+0|}cyoI|*}wS?{Kmq%Egk)4Fq)pgw^fX$YXt)x`6eqq5F=r9DHE8qI8IAsMfuVewIXUXx0?jI3dyC4evZq zmrJBecLdP?7DJD8J?QIa393yUpKtUV02+Np$iFPggTXx>bQP~rf&re^88785CEqVe zzkg#%_wntH?#_hGs~#Y1-HIr}_Fd$YZk_ADR})q@+6OqFBw&3XSpv(kG#6MdSt+8r ze6nYgtR)$C_Mg0Kt1XFc%A*@S%TtJo)|sbiHYvP!Hg@BKc1b}`)BP)>Z?NQ3+U$AR$mey(S5m2@JHJmMnXq*|lL^~5tc0*SMR^id z_k=XCKDH&m`E~)zkqW?a^?pJI{w!@t@h>66#Lsk(&l*pLDIRz~OjU^tS*SP0IN68v z{#+cqKh;uFbEeg93f(tcdcrG_`TAt&m3Z!#WS}lcU7tN-#T23Bt?ZT|PHv4nHtxJc z*!l0rBoNqF)9Q3&Y%N0nkkIJ9#XWx(_x|`P> z53Z~xdh?B&3>z|tMwZRkeMQnlK`*A^%>7bc%P0r&@PWyaw}brdsc0uk+TV>>)%3nZ z^5xVb-Qaayk|%F11KwP;?r)$h3!ky%3*-F>Rzza^~Brd(ik3rm3Yd8z}fuW2%{98a2n9U4{UpGpTep>@t#K|S3$CZnDmY0F|b&<^X#XqHZ&!Y|M&p%A&m9MXKX_b|h1l^mf zc`>P3via?5jky^Lyzc05;Q_BZ|BsY|gsq#`CF$~KQrOQ)CpS%Lg>-cJIqW7@;dcIcG0wKl-%)i6B%h;!jI_0Rl z5q%ob*A_W$A=epLHBnTVdsG#~kC&ZDQObkl#m_fxm)`|RE)Grm-zMVvaJ;q-P$=3kMSI{hXjC2fgNUA`9* zk1DqmZ8e8P^&Yo+r#yy)f@2+Kno^Lk)cT2CsTCx+9~$Pfd?rTvJeSS$xH^q5*mo0k z%ux3<`rJa_9mvrSxyoRr&#uNtjeB9mv(|k}v%5e{R6@26-3TcP!+YE37D2K@hn|eu zCi-0TLdM}U##@H{K7OdklQbHMqQn{)E$bIYe{H}=-7f+W6SdEEP@kfgXPmOnrf65o`&d%vHLaR%mlVx156 zt^A|I>E1w}L+CpWIa-j*9K>IODj&H2h81b&^qSf$LHyEc<`gwe5chh_K<6V!nN<}3 zUXwnbyi{MXKC%#!-L?*JUPgUXA}4CC?u4Y<^-H89mq60tdj6No!147}D=fOvj>tdE>2q#TZp z9H*=TDcUQvR(DAt`Qq zQHMT{W_A0ck1_h*M2?rhafQ?QY0`uA>|n(}zp(t2PrYm_KOYa@leX|qwH`Ml5b=`5MOD9P?mhIGi@ue}@d>$RfOwS2z&lA-K>RvZ`R0gzApUAM=#;M>h;uHR_4is2;?es3 z12S77<>JX36Zd99ikFSnq$>*`Mg4(A{vCS#yf?gT_N@()ADFx!qpye20P~-)ZXfnB zsI&Z!F6XloeRVmG;T_182V#{qj+c#xfw+8JcG*J#h~NH`IZ~7b;{4DSpBG<2?DW3l zHho`5N?XzHC$nBdN=}Q5wVEoV@CV7SD5!*#Ns{H`F0O_YozgVxy~{DCVty6Y9q0N6 z{YIT?)HOh#7W7?)9A3yJ1!Bd}NVnQ55TClFpTFuih#L-`D_Fb<#KqrZ3diPyIJWeI z@*cXr!v=dRh)zSwqlGgAW~foW^qTTj%8;@&^PYO>OGpVEoT;{9I7S1^zvb%Eeqf(8 z>ZGCWe)OS{^-V#JHsmS+vFh0R%3MN^=bd}AOum8m&ijYvo{vC$d3^$Dybt1a9_N=e zoCEQ!4Qt{9slHrn$v*QKNO^c9*yuOCf1P`>F6NOFr0id~uKN5JjP$s&d26g&gMI#- zP5||1b@!l80s2xOmZJu_hJje`chi_Ttsvgsr#+_cBoJ4KbGJKh0r6FT=hPwedfwAh z_hvr5{zD#pw~C|hXE2E()&k1echu=xtt?1+H*n&F?(?y(V%7*7dfu~f59Upkh}J25PRJDZPGRe#5QNvG*65KvBg|TrXuZUqa)@Q zU>&_ruzkBxXCCTOeb$HavcB}VupAD^)f2=)*JenIW9fQtGg^6$PwVb=49KAO=bOr3 zHRnY%Ukl*L!l2cw=u6XUV)+x{lt55?gQQ39f)RYTKHD#>yZL-m>dr!4r&) zn3uu21K3B$-8viS`N!(+LLb`4`qJaXa?C_7dc2ZK`Zgaf2l3(Im5ctdr|aywHqDG4 zud27H58^WDd9hQrw6+Vxm&(gb6yMRGlRv``T%>+EGxQ=;&Qo7r#0JNEAl?u>e!K_0 z@3WB}pMUfJ*0Ftb-C3P_)TLakPdxg{B8Mq*QQfV_Zfk7W3gRSUts81&hTzI4oT&~;(C;y`?KlIXZ5_5a5W0tp>g*FDpYqMQx6 z!m$l2*@8whG^;trHE)6x)d};;a&own^X>{G# zNO{@3H`b+L-wV{C=MSrU7JW{kFFnpI#{=YY`S)`nf8*a3_`3psSK#jo{9S>+EAV#( z{;t5^75KXXe^=oDdIgvzvU$_*sI6uMQwEu?(Y(%tt^bx|{%trDGTlBh;@w>)sIsP_ zSn4z$K`paKTfR?uZ*TQS z6zW)@ZXWtHq3=lKxQbkBnME^JozxWOGtnN#N`s4pOhl$enBd-Dz6Wiix)Y=~PWH)R0&^yu);DZs0;g9k9OS-<2~@k-z?}VmBAefcb#Jh5 zGwMu4-G6-+q30-nEO&k2CFhPUEW~*KqfN>z^O|Y&3 z`*KicFzQ;Nj{^E$M-CBkEoDTZl}+YP1Wfe%7k3owM2t|mul3WPl}u!RaP_X6%7lG= z@a~_5g-mG5j3N7Hg)<>>t5z@Q^Nk5Eztnr|tqvyG`NfjDR#_%kJ0zsy!QuZRo0rGB zFWC1Lbv#hF9DOX%_Xct-L#}8h`gm<&*&RL;4O>5N9{ZdT#+CdQSgA3B>1OjajO>_* zv6AZfhq9Qkg5Vs0kxF7YZjZ zktA>ChPa_jc*(KO<|Sj9u*32EDvNzg=(B>E*RG6VLIa;j?l>nhp$0Z)b~95kCSZOs z*6Cs27StJnx|--?gudFyu^G9}F~WPb%bV_KG0`qX4$JyczPsDMtn{4gKhiKJXOk9A` z5A&*6cMbb;P-hbAiqU61`YuF{k;vuE2;6cV6(el+lOpNOpVe>+tPg4go!l29r zX@rUDKX1bBJ-Up*$Uk1xYaSDsmUMynkj+F6GKT~$V8|X|M8)UpC(l{M2)-4#oci^X5$rPU(6K9H z1d*ygFYkShu@>`(u_a)a}9f-2H^UGmv8vaxG(o3CFay@j@73!`I2*4$|}V z+YjYeMH?C6LyO9_Kdv&ut&O+yj~Fn*Ib~upZutMS_oeYvcHjFnQPEtK6cUl7R213n zj1@9uDuv7v$9T?>c^;0^Bq@!OMopSoXwqPKDoKRqIT{TqzukSWr{~T8?f>2P)%xtU zuXSD5+4pb`=iF;Eyn$*vm+lzI1Z}@~ct^4+6J#DHTeMb_2~wC{YF_J&QJ>5Ee?uHy zuRnFUoyao@c_*UIIn))Qk8t!wuhVRYozG2&GQ74Y7NXQlhS$4Vb&hf+!+V=*zdBo< z;a$9Nuio|*!;9HgwXEj`!!w!R;e3g%|JW;&@0q$YL2up+^ozO91l@Q%%+>KQ#zf2~ zBhDJ@)RE@_@;*f!x{j>wY4nlE`7-&<@Cq$we_5T5s{M1iX`K7y zQ^*X4*C{?hJ-k0X4*SAiZlSO5T+XV1EPA|lRLVZTLGSNL52fZTt!8+_H*ZGVSc=gc z^Yl2dxIC<*epsF&jyLQh>S&;D8~X4=UwRC$K4P;d{wrPIH)oVP>X=|z!wln4B_?>% zwk=Ed(D$1$X|4CxrZU0eb9eRZUPtd!4Zel6Z!quSe3zNq@)_QZ%ks|>3>aQne*6XF(PT`TfzK;A~wd4alZ=;I9f8pi|=s5Cv8smKJ&2QfV=PE4@LoC@Pe z%Ht<@&uGRdCOFPaZ1&TQ^mE0lq5WGkX|yQ0TThQm;*zWWS96%)C|>NcSdcl0&RQ1bu%7Y-PesIAkOy%g*m*VrfJ zRQ!vAg*^iCw42p`$2uDxn$20T?(cZ^$*t{21F!uZ&v4yV{jt*g?^q>b-TaEr|Ml-u zSQ0rd(edy1Ffdj({<3!e(!cltpWJsgpV;*8_=@<{HJ`Wi7W_LV-295aW3E2)@0jCf z{*GDwj{o{ZbN>4Mo#*`D{5$4epWyG9d;QP;j=6Pm`8(#;s|D<*7>F%SQU=$FzpnpE zrN4LImfx1T>l>K;)b`z|a}O4M8}v$<_GemH+S0JKD+=aaI=QvdwhXi)yYG72(tgYQ z@J_2QPhhOZ#?dj>vX{S2HZibMOe5S_oN)8ygu`DWTzwYd_?!sGA3-?1Cc^6HOA*f3 ze8Tx^hSgUB*J$@#08gjbW9`3bpRMVa8)sg-1-4_m{LUmag2kR$hYjiPv`j0Q|Zx-X3eRDI3`EuDKO0+%VkuWZ6gx(&x-8Bk)9iM$~I@b!TgZ0l9R_y_&ft4rS zSK5Nzu(yLR)_exb?>0S#7U5v};f4C($J4;@K=;L|pbK+P`P4?$U4yBsi8$8wodmm2h|s!qtx_93PKx{9T08TTM9q3xxBPO;}&&#lX9xWN$wmaada> zS3GIKJ6IDLzhP)*&gCV0>-BwBVg9 zK~I+Czc$hZ_41M_%{e#qb*;avhL&F;?0EY)!p)l!4!?qM^%n@o=T12O%Y@UbCY=6e z!ugs&SYLX>!LP$dl{}J$z@y&gZ&bd3m&^2#wbk_b1I@b&^*))w%$}5tw)F-2#-q-KU4(YRj-xaQH@|{# zcw55N?;{*v9^v@o2&ZR9IQ=(-^F^N<{o_k@0tBQh=}lUo54@ei;E-!7;Pdj5#nJZF z;BoB6AZ^$A;QHyAuIo%5I0x+Y)ixObcKJ6>RxD})i+xuG!S@8P=u+_b+!q-zJE>c$ zr$b+V=}w8Lo`2R6Zd^pT`QwDcZzf#*Yr^r3ARK=R;q(?0PG3McUoP}H!9TwAA@J_i zJrlp*hTw~nwpM?C4E~DA7Yr3_z^fw5YqZfOaIcmS%w5q0F7YE2e)~Fr!)S+>-|l<{ zYn2)Wmow+VL|sl#y(R(Xd^u)Slhveen>0v5ew8L+#~T6(H-Ck2_-ew|-yK9az5v4U zzbBkt5#jWM2J6Kk7KYf@M+=FhQa~al{eu*_|A?&f^Ps2ml6b<4jr7UsSlw! zI$L|3r@*>KxsgTFOu%n()LTEtI`I58tup3KEV%W4a~)Cr7FHy$H*NeU59|{ArOxVK z2#XKvG0$@XVSZ?yMdgtd`m4(0u1fBzBkcGn?eosgKOh|b0paSa2+LQ~k8u2Z38(ji zaQeQ4^R;R_=izaioDt`SaOop8SD2F<5tySDUDddj^mpMJAY0dwokggo%Qnqum$DgsaIJ$LKg zWr3T7)}?h-7s2s*!{>(~t6^DCJ2Rm$2Z-6D+_>dS^t~V7d!JFXfv{uyT*A&D(k2}K zB;o35KW&ze_AO@lD+#A}mvH(zg!A=;aK73gOgtd|vv)j1tXTacW?TaV@6~)<68-`L zW8Zea`r-?I_YyWcZ&LxUMe(wCAD;!cdp*)EJi5O@|Nir&>F+qLv-joZsEh~0*c}GE z)Y1IK6zr>PLtX&ev|j`T7B2*_Exc z@9u_(kM=7cc^g28#+kNLCzT**qd4!K<~Q)KZK=}bXMy)rh4-~blfZqmw}1PNtFU6m zzN9%#@nGZ9GfyYK2bg7ITXOeE>ia6GO(@)}O1N<|Vdr=I5)S`^aP_o*I?Gp1IQ|;K z>dn+5oW3F9e3cW`K`AZJvb1pEDp_eF|aumTJ&GyMOpU5KhmAaQc0O^>us{;e5qF_@3uZHU}Srpnv;0 zp9={PI#<=jAe( zIQ>Av`YIG7oUfx0F;#Ji`Qd61h=MQ78{7h+=RVX7e>D+;nRMA}6Ki1IhKvvL^tn;r z91?MS{YmiHQ&qgmU=6HVb=k3Iz+13O&%eF(TOk-F)HHWRG5S1R>*Sj|od`RQwjk{M z_l2}i4aE=4BwYPj!twPImS0_yaC+Yfr*BL+U!8>YHDm}x9DVsEvuhRY*SEs-`^p^< zrYBeCdp!z*;j!rE=}{0EG3JIsRUY`cdEcJa9tfVM;n};7U4hju)~}5`j==J{gLe-V z3k2htLl0fQ8KWOEvt{@u*TsY#SM4S2y!b%E;ys-STTl1Z;P@&D$N!0NdJ71re~56t zQVHklI`HR-S4SR|1>x?|(Psoo5O%$I)AAX05MtC>F?|8;XYP47KSVYU{58J6k_mYT zp6@$*)6!GGb@|UxzdbL(^2e)$*>(HD_EdY;d~hp&X>i%e~0`V!MOOqa;uw@>3J9L9UrOsH*aL^ zvejPhzx{j`X_*8U#QgX>&m3Ja*xr5Kf8%9uXGW*C{5KxuP^`I6>hIX_^^n(>1GE1d z-=6aA!LGmi^?>2UKnabR&Hv4x`9AQ{xv>An?0oBgW46BJzcI`Ix9>GDtp2~#V)Xt* z{iR9&n*h$g)88@s`eMia9dob0=I@wWC$qm}ZoSOG;laH1x%B#WpR{49wdp~yd%&OP zmDLTl=dARP3R}Ten)W8o(E*!-!zU%C(f-OV*Jj;Nkpdg_!@79~kATf!vmqaMXn^&P z;VK0)Bf+};`qRqMVK|P$`B{iRh4q6tzH}AjUx9jkoc;!R^c9A_u7Uf_>(4SqJ_MhV z%2#to)BgE2&Zb3S9pF-x(W>vP3M-H8*6(*P5?1^ulX^S130ABp`HhCmY(eJLZpgZ43&d*fWZMj1Q`Kg8x_E`T);tbct^*amAX*Cwp>-U;rX z1B)l>tp@i~o%?M^1cG~NS9QpSG2kBb`smC<7s1_EdjFD9^Kg6x=VcI2*N3flL%vev zKaYA&sBeY7lF*ki1dd<+KL26>1Q$ygeEr%B{;w~!6~>i=-8`~uXoNBtk@tB~{cO#wpsE&4KH!7B*!|NL8S>pS4N$n14nn*@P-uIx5F zbsg53DIBb}n*{-`)je4%b+8r|Z7E2meeIW38f#89g0%zR%y}!I{fL|LzFT#j2LI|h zqblWBf5+TB?bpxZmtcJn^8G@7+J~6c`-b`lIbV8%IbYjGL)hzcl5GXYfiL^dS_j3A z5V~k&LE6sY5Hg8A89MP31Um%UTy(So-kpota{cB3&+lQ+!(*Pnn`*ylTS*rLweQ-q z@4Y(&U0!o)+aL)DI^z6K#x@a-X+LLn{$G4A)(0S;74my?dh$b1e-8R;KwnpYU;h1A z<>3J!1d9VLnzj%z<;#@UyS*W-GOF^i(__hi8hajZ5 z?Y8#(cnA@mPJK8i7eZEKS=se(fe`C8LP^ibIDUfjI}o3O^{0?e1^Mk!F9G$l(bpXG zl>m{O`28-Zr9;%3QiU_INgxz=HV91o0Q~D+@q(c>5Yb>||MTK;`Z=JyvO4V&gdgze zP0OYIc1>qL7*;$7!XqK?nLe@=W6j=OOF6XK<~`h02R1LS{*dcRP=6n)X>3s_%4^!WjA zYvbW%kQhHi!F?lrE-U33$k1GzO&&8O&mg{{63Bjw*yI}tR4a1)Ym+sty?xCN38Z&Vky&4;8ruEMC9o{$u<(j;>C8c3S*<;Bfz`W*9Tmr1QR z3nB5oX!6bh^!3~-S!wB_gkurT7a+bA>(?S*6!I@cy+YJ)LtnP&D+JQKvW9&sO@g$} zh6_jbuZGmy50;!W%7fH7lJ0Z*DL~4RUHqhqFi4pbTsAH#Y295joU!TMv!_XYV=QEv|FpFv-H(U%a? z?=&ySb(sknF3Oo!Y4agnJ94o6!FQ0hyT5IiNEXt@^mQ*9`~*^WZ>_c)ZUw0eud2>F zP0y3B9tt52k&puN^FON4*Rxk^V)WKNNZIy7q4?n-ZoIAEfAfgv>K%~J9r-&@Pm|Lx z?1#QA(ARRv)YjQ{WzcNMtXvxPYnL}lY(m z5Ar*sUIyyFKwrzyR~(3TYVA3zTn<@kJ6`r24g}F4*_28C3m`Kz=X8#GC1iX^lbC9h z4H*#~?=viFAY+_#xM}4h`g+G{?t9t`={aKu`Z=^fdPGjiktjDv4^X-G(t(HLH8}qa z@xQSCIr6n2es;0+(6#@sIv!kFQE@h^tFcw-oE&7VGtp_tA2eJ-f_gUbKSAyQx*}| z;Od!vwRXgLZ^!SEezL^=m(_T|=4-@mN5W#k#lgf@;&Dgo<0r&s)P@ZuLq`(p{AbCp zX70zhgUb)0`-`!-b6nkpR^<7Byn(2*0d;-RM*;fc5y8=~Jf_){gh}2FY1dgn0PHe)^G6X! z_r-YzOXz-VY^>w*yFPNb17EO?k35;kD?lA{)HO#RY3M742=q$bcrO-`@XJ9@^)H_$ z!Sgjg<=r?>);gTBIk}7WnLDNX&xJkN#G|l$=iPa(#C=yTOfvgK+>E}J>@K)KRzI^a zdtONQT^oO0tTALe#zf4oLfmewdyYKO$XkLs7f`nmeYBvjFv5S(+x@OqoJ8cw)>@x< zNJ8gGggEsGNYK;G1JX~tB5MbR{Fa;1L3|E?w)jQ*e^VQ+kL&l$CLUMMXzs9TCu?ez zefO@OK-R2CDBL;r9mYm3zv?IA9%7vu$3y$gu)Lb1IGy70s7wFf`o~AH82Xw`_$deCy2Y_t5>5QI=y4N@# z->4tf*9^j+(xvpO@h0I%+!}t_?JkMfS@*6*_X`P^ACmCVBbJ0l+y8#MtB-^XKEs4t zt|z>8CXDr%r+rCT+yktefjo&EZ~jEo zIf%OSII=#Tps&Y-uQILNvR@-T-uVfS4{4ByZ<|W&HcTbqw||s9IIxw31(h0F*?5sq zwNP^FI{m+*T-N8WDY_)sc8-g1MjGMOET2DSJMG7s<*TkWNrH>=zcH_XxM-{+9M6pb z$Qy?`1*j{7KIWjWM}$9T#x(mTTf)!z<@&zLp70k~M5ifVClQWyp$+%fl5qVJKgmb& zBur(-*WU655~{1P*f`6Rge35@O6_(#iFkmUt*qKXDm(z>(Y?N z1$if-P8sSpppU2MYarqKO}THmlb)C5=H4}K=5&6@x36`Xgs-iYy~E-LiAXhSeef=i zgxB~iUiu`TgsV9Bdm6EegzdHU=T&HsFk{h((o@YOY@Bw)i9$P!OECWsaXMIc5P1N3 zkD<W`tPchMi-=rwt_3kp^Z*-oPf2NS|N3}S-tkWS8 z$p@Y!%?%_GVh2oS{<=xRx7<;&d2K+#&7SSiGo41l6&0qKw0mL<#{3M#EyX(eJrc{a z5qV8eCku5ip^rTDb(io@?mn>8Q-$!mHq;Lk-XQ|%{NFMSM+yJcCB;H@eZt=+Yzh6@ zLHM)u`Mtwa>G5bV+c;%7i4gJ%OTKrJh=r0%r=NICBIM6}2p_4A(VWW{)AuD7*Nb)i zk%!)QS>7M0V}`ni(Z_4_HJk7siVcabFeifX?NvUpdPJ~DXY26na3WYJQXVGtg$Tw} z8(ivKO>uA9Eu!e_-hAGD<@+Oqzx-DDDU-4EI*T&nzoqAgbo04=U!5@~W4;q{ld-M{ zd7_cmmeY|Qjk@&n0PABB`l9b6UA4U<7v>Rx{%Pm_-t=>qF!Sxc{X2+Ydry7w0}&DA zygT+n<2MmR9Xfhz_7VEIOtC86B8&*smQC-|vL}K;*$$r>Wy1fugqOOd3gZjR+aWF( z>!Ofn6Y{pB&R*1|pQ~6O?&yo^jc&Mes*Zl1SK;NLuhCa35yZYTQTjzC zo(I%c{mzgBHz}_*bGOrdulof*YO-2N_dOmn?Q^^z7!^of-B?uzYG27WuZaePjdI5b zm)}MAJN|<+rk_{;)J-KEPcq?nhZ9ami|!x$N0;7jSszY>^Yxzk5p15INcRO3g(_U} zq5I0(UW}7CR{{R=kDjUDngyQ4`avqvmf$9{M>s356P#p}$dHN*u)dPhcVg6FFuE8! zK(c5KsE_DcSkt$jaM6r#`H6(ZjeJYEx}${SNhcidD#GdL5Kgy>a6V|?cGegDp5gJ! zl^GScAXrQ~(Yz%Bg8G@=Tl>)r{N%T07i(PyPqm{DZw%Q5t{GBS2W+pV`^JBZT+})X ztYhkj$xl=OBfc<0%9#ghrN8Uvl==`Z?j&5^n{YTOx*zRg=Mc@%st$!U{S02Z_h`%Fs;|}vBf4k!o?=S6 zqY1}rMmQZ2;dD`Gi*A%BBuri#rZoTR?V19(meP101s`qZc3`&QOVmboc z!ynzhw&EJB{+KD*^!YA0r`njlnph8Zx4&39}{7QA4FJSVR&wE?Z96ysio1aNdNgqsRFVkK7o-@opuYju&BdPk$zy z4-3Ni%7tn5Z&#Z4o&@^MYH<|p+iq93HT7vz063g^={#uA2XK&izO0>|pLQNzhg-Uz z!LmiO-YwG70#k4^$c=medK+r`uV_64N+Ap0S{D@%HXf}fY`*OhVR7q~30Jp}usmIl z2*YzwS@9dx0z)wLEH~7FbAq$%XsZz-HC3>E**||7#O@FU?2`!bZ9e z2AdxlLO9$jf^~%Dq5luyc9sxVSUJ16V})L^0Mz^Q;RpKiovW%?MWBC zAJN}A&dsziE`Y_pXL{2+g|Kx0&gg`U3$SGNQl*Y7VPII z2COfoSR%IZ-Y2ajageLdJMk&Q5axw$8P-op0hmawZD!p8V4QsK!V=8^U>wSCOvva0 zrsvgN8`m|UcVT|_UgjFi@?7_ETeTI)9M`BW_;rl@i3bOI6E+{XWl$Z)nglmS-^3xeumJtX16M(F$`b7FWz~ z&;|XIbMGEgj|GG5lbfYh@j+i&G0s^+7Ut>845~Bx02*#bp1u4w0!9m>^W12kTsCIp z5jNiyPgtDk6~fjHtRgIr^9RE6PUjI$CylVWYud|LA5OIY@*iJeab&#OoADZJ8>WBN zZa-p^4Ku24eYY7k6Vxufncgpj2Z{!!=SI{0ePjvNI zHzJ+VC6^Kt50Yidq5)UqV6t1a%+HWmm~v>z%aKPqKxwg))MoE07#}LL!$~n1`l(!+ zE&ElB{E6d79VKjDWg1~|Yq|(qSL91rp4BG_%lje@Se;BmV0FhB0_)@BUSNG0D-eZw z7gC13jw71GIyEjBPA1dGuiW-@aw}07m0-J0OU$6x?)4Vc0C51TJt+sm=8tp{7MIaM*t#)&gyk7iQO5GB zivgz-53H_&E3iHc_5thbl^dDlXDQyas+?$!2;Kb8)7@l7dDVw4D-Fri{y()Px3`he zd#*C)y4wsY!^{k0t;JxFk($l9Q?VeO-zD8&Z8At~D7Yi9?pF4>czwqVuk6>)*;m)N5`uU zSX~)0V14v+2i6zeM{0Cl#ccl|F`|-EJA2RfI5I8lu|@h8H!>yq!!*ZVaYXjga98~n zLL^cb-cA)68ob>1{?qWWVr4Bmnni)CePyp^E!{c1HkR&0_2If}lb8V;|EVzelOG`^ zX29ZNssBH9(PF^z94`l!w|+0MI=>Bp(~Sq#M^^=~zWl_ZBzTmX#ZHjorQ~zC6z0mDI?W_b-bX)b$_t zv{G5z;FvFMg5Nu|>`!D4%9pWu>9{f$w?3|nt@{uMERTxbRE!t1D>;tdAxJ z{`k`W6$hIaZh7aIu^H0(`aXNFD}_{^m(dlm1CZi3^H{USL`ZJ_(LeE@^+2zlF3XA$bs ze$cFs59sR*Y@!dI_b9ysk!|A)8O^bfRytBNez7{FiZqAG_|Wg!Dj)q*TE84pjN9gG z#p^)w$F(;K&pw0X(=&%;neBCzSRZDbuPH+yd$x>grr}4(+MleYsq_spmZ`X=oxcZZ`C|{sscS*%G0)_e(`Q1e z)SS=by6N|XdwK>7tqmZ>VgGwcrG=0(?a9av#r}{o>V_++amVP2dHTH}i!;PJQ{>r* zyw<4W$mw1X<9tk+$@yZ2!G;~*Odb!Gg{;>0aE>Ef)hRSBq8^s~1Dc;RoA0PTa*7Z7W49XmS_xSWH!a4^*aTU}?I#+}sQ}T4^!^e_9gx8vWvV+vAJVPY z79I5(2WiPlV{W&7ht$rT*j$0IHs z>*)8;e|VlsA@3~IapQE8<5&&s@l|mtS@1L=lKQwK82|PeA6_U+QvK z4nunHrbEU_osd4=>t4%zElArI{j= zG5->A)3DA0dCWN8ot(ZKj$9B41_d?JM+gb==?9T zdD=Ig#kphM365uhB=YV-owuBB<-b0f(3cft#uQqOvR@CPLwiq}sL*vzt-pGC(?`gx zsjyEK+<}a)96guhE0CctuQk{>64HyZCi$4r?|%(uXluNp>)BoY{OY4?koL%NS5Lnl zjNdU2h|}ik%!eRP3i39i&QDHv^Ca|TT^oNYt)Yi!HDi=)4LVC(qEGX{Crpw1lB-G)B&(AQ7Ml<#`{t-U4Ir82{oiNm;?-S^Q^F`NJg*VxBeIjIbKNCF~I08iG-}H7= zXM<=~^W$lY0WzPiF0D?=gUsj+VxFg+AanAtBNOvZLdLz9(qWY=AY=F0oUzthAtTAt zxm@fe#zxG?BF+Nqjv|jG@@AmUdDIQ#d<^)4zWg9lPwJrl%^Q&U$;5N2vNwqI{Wrf| zRsf=T@~y)TRY2xXm}WYkU6n-=?HOi$Y|fU-E)WuWIQ@@ zb>s9c80k8)`RRyr;OdspQi9zQ2g~tNDO(3&fm~&=d1c+u{ zGA&(I4Wb2)HmLdAf=FS}mZD8-A@j>euY-r_{issW`i(L@-rH+Z7CWAUOkq?}mL2u! zcklB|@(;!bn4g8Xi&#h3hvlI8bk(~Pn}CkL8N&qe_r=|`g#|B4H!fHz2Eurh7$F4=bqB$dwU`CYyo-J7yy|? znOidt(CeLzN|@h*xZPN{0eLKumtMcD&K=aH$MKI317-BZK<16FK^KZm>F;C4Ts?i$ zf*xO+fZ-SEb!8M6_tE4&h!zg>c)e~Ez0OWm&);SUqLDRCtyX|Xd$<4n3-o+pBV7kJzZ`MtSVzw{mPeE04d_Lkr>I+pKAh2)J>`*UmzXgNL}NE8 z9~oRl*W0vtx1+b5 zX`|=E?n?3N^nKdO^R?`KdY@T4H0W*hGZ00axG(?un7)4>Xh^W2=Vjv4k1k{A{XFLB z(DN&ngGgxlW5hjw5QSea(=?^mBO7mE-UV?>v91Pro**w>k3Tv!^mY8J%le?_73=HH zzt4gEFaB=@{+r!2ed@e=G3675Lu@{BH&Rw*voLf&bqtz{FdAs*8H%#6+A; z`f|?Rp9%dI5gC3?nhDXj_i1YOVuGiHS6)B;iQ&2O&Sg!deNvCfc3#PjVFEh_xFi(v zn7~Ml2g>XHnLx%y{Zn!~M!Fe0o2Pw}SzIL6g(1&(j`z$+)QLk~HT02*z9N{|uMufq zRz7AT$7uIhlV&EI|5U;Ed?^!}rYK(6`lHl6i(J?%@# z^u<(%-(Z4%4vH~rp#3Q?{OCV+Ul7Is%zGm47S>Hbp0UW=hdSM;+syee9KiW<8N)Q2xfhet)xQtekSshUXWjzDI-vkl2?DVk_oSO6y$$#VZw~E9TyE8z=Ud89hzWe zz=ZgCXTR4!&IGp|?kRlT#RQ9Fs|RkP{rx9cdU{X2m^ySM4tM<+Rs-MP0IyPVItu<$a6TIDT- zc?)u^+b)4eqgebk|^6O7<+s9Ih1TSgc;ZAztTG9wK7ZaCcTJ0ob7zc=mF z1V%9aSDxu?WrpvNKJ3n9Unb(@*#7B_6Pbuv&a(>c>|ny5j9Y)^NCOjoW^Q2j`+wsN z%wIv=HmsY8JR!)t0CfnbyIcZ&9Or!1NHcGdJO+Yw%6IZbcU~8_%_)mgo&tFc;FmwFB1`_;E_d-Z-ixXtUB%Q z&c!&))7Qh|wqe~`>GlJ81LqKUa3sWcXskCtRz3%|twL zf4KPcMvN(#uSeXJzjYkXPUNjaoqu)n&_@vZs%He1>#9Z%GGv4fL$asHJ!OQ^>vAHR zW-vmlJstWU8jRqRPO@E=BqNCSIXg9R6C)U{fAzPIHN!8J%(Yld*EQb5>Xa_^;~}e8 zDo1^@@j2#sh@lFS1`il_4mzJ z(&Ot_yJZ{LGeV`2*OaC@GJ;#9!-gAgWdtF`B{#%88NqbLTavfmF#N8bNi|-d8GfsE zbdY%(#(2!XLma){*t%%sq1PeHy9RaWdG$wk#V_>XhQ1;gL7!j##wYFcxbN?M;cdqV zv&q;KhV*`u=vgQJJcIKH*0?_W35QzNUu} z*nX`IdOHK7Hs*gJ?iki}BF}B)jX@oE)NMf@&gkm{eI0$dq8Lefe$LyU^kx7f%zqy- zDbko;=S@CYvh;k2%H>TBear|g`Z~Noi{9ry<%)lP&j{L0Bl{ho>rtDhog49i5x@w) z(S^krE4e&>)L$G|N8cw{p1H`|g*rv3Yl%LT(bq_NpFXoqlrWmEZ~u*R3lA~E6NwK@ z@6qe%{D!M;4mynRP-An2qCO+cAW}DS6B(heN=esGC3?TVBUip>10$Tp6iV-)uS5Cb z>0ZGxjCV1A9&xc)r+_>m$V;zVR%bEl{ze~X(3ct`^tlnzz9f?o=7vizeMj#@6(xlY zC+T_mp!eLXb zGQx+ICGGk2Jm_@o9pto|iIn(xrX|dbi5#4H^5k$YCQ|JBz=_#w8R6GWV;V&^jPSKb z{cM}#jIhnH^vLQ*80r0<%{L-073-pqXF2lDL7jZmeS9h z^?5PEk0qDK-ELI}Z0{iFcnR?Lq=+%>G@BabWc=AsT=A6EAp`fxyB=Klw`sH67) literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17.i b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17.i new file mode 100644 index 00000000..719299b7 --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17_out.e new file mode 100644 index 0000000000000000000000000000000000000000..c67905c2339fb30dd7b3e5149718b86a2ad24cad GIT binary patch literal 105844 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≷Uw1wtF&%%wLD0v%T5mooUm$xP7?~R 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-2_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-2_out.e new file mode 100644 index 0000000000000000000000000000000000000000..3670687eb69995789deb3a7d200fbf41ef53378b GIT binary patch literal 105840 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 U&}R(#CS#5_=Bgma6yys3AGsRT9smFU literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5.i b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5.i new file mode 100644 index 00000000..f8fd18ce --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5_out.e new file mode 100644 index 0000000000000000000000000000000000000000..5e2518e56962db13f34cfe3f3b46809f4e2fb3d2 GIT binary patch literal 159720 zcmeF42Urx>_xHixOYD8^8WjNxiog{WD+(%B)MbGMR+rtCT@~6mKb|CYBW)= zF~+DdiLu09W7k*`TdeQ*%)Lt!(B1ITpqyotcNE7QH++2-Z*KG33XQ^J!bSrtqCL+<$x z2s3XKhGO1$#goCjrCc!w=}z)ey`b%H-A2~j@~B(t^!lzEeXOV?G!Mn3KiF2Y+B1xk zrpaSj^?%P;a&tOWS7Jf0?-|cJdtHi`kB+x$Iv_=B zOc+nCF;*nURSNFptFJ?JK?m(eaE~#NE2&ZI)GDL@>&0q#qH4xPHWtE&AXQ7mHCpa z6gNMx{w0t55>9K}cg)+)8LY+mcS z6-s;F;1J`=3{9tYob?aB zFUN_IFd9((p+6cX$LgaPRKJo>OTLVCI?eCIcFd)}dDfxgB>zF_w+@fhQ~sEBcv?=k z4lju%nRWPwoZmXU9-;g(>+qIb-a5Q{nErld)*YWd9lnt9tizWwo^|+I#*@RQN;D@Y>o8sYj>)*EWqFsxf-JQzsdY%b z-l^9!^?IdVk5qX(@|3!#u0N^kOX~WOx;~`Z{*LV~>$RhPk`VLWIzBq~ccF`8KN9CZ z$8lcK!EruvoR8>uDO5<--gLB=#BsvW4pFLxqn#|TAJS>hTlXL9kgcNAE!rV+nA-0c z7Yd}OkF`Dj!4JQe_2NSx9+dU*LmwWI_2NSxTF;Lk`tWzzU-F?3Ps{rGp%2f={-_Uq zcuDR@ANugJ-0mOx(ArP7f=_t0(vx(9@ne~>VpQLA@Bf=Kx5zungB204SWCtO@S|H z2ATtUcGVBG1g$`8&<3;x?SMaM4?2JV5C}SgPM|Xg0$o5?&<%74JwQ(o40?gypbt=k z5TF5}APj^9Er@K zumgMpz6CqMF0dPLum^kx_JZ%hKJWwB4}Js(z(H^b`~(hzpTRHSS8xRU29APb;5aw| zeg`MPDR3H`0cXKEa2{L$7r`ZP8C(H>fUDpdxDIZBo8T6>4eo%u;7@Q5+y@W9L+}^) z8$1G!!4vQlJOlrL=imi+30{HM;EjA#)fvMqAS=iQvV$BTC&&eIgFGNF$OrO+0-zu$ z1PX(XKoL+B6a&RU2~ZN00;NG2P!^N} z7f=_t0yp3e>Vf*80cZ$3KqJr?c!DOt3wQ$`z(7;r3z~uEpat*)EkP^L8ngjzK|A0N z+Jg=t00e@LpcCi}fRr zdJqi^zz9sBKZpTlU;(jU02m13Ks-nQgTP=g1Plekz;G}Ej0B^=Xz&Rb1IB`JU_6)r zCW1*|GMECUf@xqnm;q*jPr+wk7MKm@fVp5Em=6|!&%r{l2rLFmz!zXC_!2Aw%fSk; z608EN!5Xj@tOM)82Cxxq0-M2CU<=p^wt=s~cCf<<|3DUy6=aikb_{b!AK5uUF6kpX zH^?J>WakC>q>t?Upn&v|T@VzKKC%mgkED<6BA}@BkzEWFmp-yffRfTjb}3L=`p7N= z%1R&Es z+N50_=_8x8bCEu>NxQnzM>c8aDt%;=c5c!~HfiTBePok%^`wt%(yqSrkxkk)kUp|W zyN1$7HfiS}ePok%jiirk(y6iZk*xxrfP7?=PE7#$$R?e<0Qtx!oxB10$R?e90Qtx! z?HC{*X-3*L1-{ZI?V5q6fNavPIUpa|q+JU@KC($WKR`aRNxPPSd}Nb$tpNGRChb}S z@{vv2wE^TKo3v{S$VWD5*A9@6Y|_pjkdJKAu00?h*`!kkKt8fbrvN}cvPq{vKt8fb zr;dPpWRp&v0Qtx!ojL>ZkxkkK0rHV%O+gpXRobLeH|Zmrbm}gBWRp%kq>pUUsi*Xj zO*#cjAK9c+FXpUUNiBV3lTIOkd}NbO8W19F(kT>>k8IK@43Lj( z(kUE}k8ILO3&=+{=@bFTM>gpc3CKq_=@bRXM>c7v1LPykNV~qEpR`Fkz4Vby+C@tr z*`%F8`p72jjM7IoX=jo?vPrxC(nmIF7bAUSlXhn5Bb#)xNFUiDAQq61Y|?1}ARpPJ z(?CEzvPq{nKt8fbr+7d_^mNV{QR zxU@;T5rBMTlXfEk`N$^iMgj7XP1=nH_AvPrvffP7?= zPU8Xj$R?d80P>MdI!y%RBb#)Z1jt7==`grS7?6)_(rF1;EN#;13qU@yNvEZNd}NbO zUjp)xO*$+O3g3vPrwO(nmIFw@&)V zChgWsAK9ec2I(W4wA(0sWRrHAq>pUUZnN}}P1=1WePokPTcnTd#b7HSAK9eSHb6eI zNvE#?`N$@nwgd8!O*-uWMd+IfP1^kk$VWD5cL0!& zY|`lGTUAAK9eSuYi1HlTJqf`N$@n zegotqo3uL$$VZxyPRGD;Y45@C1Rx*Tq|@(!d}NbOCjt4$CY??J@{vtCod)D1n{+w@ z$VWEmbQX}0Y|`l*ARpPJ(|JHXvPq{4fP7?=P8R|B$R?dG0rHVeI$Z{rq)j?q0puf_ zbov93k8INEDj*-(q|-G(KC(%t>wtV@lXf=%`A9R;=_a@(ZPMws^pQgs7r}U9cI^B~#vPq}=(nmJw^g#N^CY>HiAK9eSU(!c5>GZeskxe>1l0LF8fyaP+ zWRp%$0Qtx!ot^^nkxe>11LPx{bovL7k8INEIUpa|q|*yPKC(%>mw2N$FF`BW%)1>0il zvN2HlZi-5qv@0%sWRrF!q>pUqr1bBQk8IMel=P9E9h8pUq4)sjB4NvGP4xk?||q@A1ekxkmUOCQ;!Q$6V;y8@^$ePokP4Wy53(y1XJAK9dn2OuBW zq*Eh6KC(%t#(;celTMz1d}Nb$O#t~wGt$lrcuSkK^N~KXNjoNeWRrGHrH^dV&R6=# zCheL@AK9c`bLk_Sv}+-KWRrG&(nmIF*HZe(Chb~DAK9c`Yw07Kv}+@MWRp&9rH^dV zsh#wZO*;8YAK9c+d+8&abm|~|WRp$-(nmIF7btzC8EMxMbdok{*ID|=ChdZxk8IMe zi}aCA+I5vavPrvc(nmIF*IoL^ChdAiAK9c`Pw69@v66ePok%q0&b-X%{AaWRrH`(nmIFrIO!vsw2PNMvPruH=_AcZyFp;E zv`M=m(nmIFH&pt_ChdkvAK9ecaOoqPv>PFPWRrFyrH^dVZj|(qP1=o?KC(%>Po$4* z(r%3Okxkl-l|HgbyK&M-Hfc9r`p72jCP*LIq}@d6Bb&6FBz4 zO_e^4EtEd8NxMbTM>c74ZI(W=NxQG4k8ILzi}aCA+HI9S zvPrvb(nmIF_qFtqP19m412?BwK>1!M);Kz5J=`>QlK;_1ImJOpggDmRG=cL1S*3npem>as)HJ!CiocC0<}RM z-~#FbSKtQRK|N3(Gyn~O2WSKu15eNdcmZ$V0~lxud_gnN9JBy_pe1MpT7x#AEocY) zL3_{v1b{%$5p)8bK@jKyx`J+?JLmy=f?&`K^ag!^8iW812nAsv9B4rVhy+nU2l|43 zKo6pU0T_V^^anA(3@jiP3;+W`9Eb-AU=SD#hJc}97#I#lfRSJn7!5uFW58H24vYsA zz(g?dLu2K*h;?yV47Pv+;2d~> zqOlH2y{(O5Q$X94wgYKL>r3mJiDdfrpzV;E(6+!nt(=Fk?rH)WN$t);8+8$KzsLoM+qq;`*jOrNGFC3ecb-*!6 zX^-Goq_jhD3{u)3l`*Ues)L%6k1@nCLOG`+cjcTp6T_8Y7dQ%TfR|V=l%X86=ok|S zpig2O|4Z0Az%sBLtN@6iv_Ds4xCX2R>%e-j0c-@Dz-I6jKpj=ud)qMl8f*uMsq81D zBkHQsj=^z9X(tTF@H2q;%6aZMhPS|LECMZ*<0`hLa@>lrXZNKl*33#Axv1^tk_O6|k=Vf3*t8^^gCLuYUp>O#jKh0Y*c#&a9<3#>Z&Q=KrDw z)SgH|}5YX9AMGX-9|I$eCUk6k*H%3Qm4B;w&d_qFy z8xt8Dtu(y~{t>fyRW}*JN(Dqt$lr{gPkYU=0h(`76 zHEI|d9@eN{cq0#OV{K^TMw+mCn#Q3X^&5D&xoPXWHPEDv8t50)IqdClDpfrfx5h5@ zQqTVG@y`B!f$0Zydv}1;b2N{Qi9sb%1>tKjN$U$KgQ8+pEw!O4w+1S=#-843T zeDzZYNImWsrwxn6tGo4DB__TL5^Yif2gPbt0bv%byUNYg)3pI&D%&G>=Rrn8QO@e!8axN;BI@X};AFEYs!e}>EK7f(51FBTsD&O$%PFlUPlbfS- zruG_xCQ^%DkF@_(*kKKp7^5DqeUCIJk0fnxRhtf7ef{MZTG9@Z+^bUQ43ygdZ5qMI z<*lk=Fsj3~5t>-Ng{~mq@kar57M(_~j)*ZvtCi2@(06O-6G}=E-YS3JAivJ&e0aaV zv;yM2_ets6v&tgFaO`Gj{MjB*ZybnEFNGRoaaKv=&-Q>CJwmDt+DKH40a|tcfm(WH zL*fSaR@rt8L$!%D>sUt*Y~RBhkNG9W%BfU{UqAgg8jD${o#aEMha5v^g8 zhS*cO1O>cbm7%#*s&oQbL)sot`7BHNQEd-MpPR9!lg7|n)ylU^=g#lF&Y6Drdhe3o zcgEmm&CQv8jD6p--)}yZD%hoNAYCEE#%MDmRobo@o&>yAe$ggNysvVCfIf+(r;{)R z%DEkxd$(XGDkr<9NwDr793rEBnl$}3WAghUhT91z{8LefCX=1skD2qCss^hJ4 zO|ihcMnu324iB~-97I5~2CW)&$I9(#U0oX5w^33AOj*4%Az(uC1ntZ)){LuwSTw@W zqzl7}M?`4pl2WHM{SniK?INOt2#(IN!pTCZ7iaYE6AhpR)w=yY$*;jML`fEgTK?b}l_*pn%st=D>J zIhX@N`{G0=R*P~@_GeE$%&<}Ht!kl*(S=3nwU%bh-%{*t2j!B%S=l}fGdPJ-K-=Cf zMj3|dG?8j~1f%g3fA$={tcL~Bv6&(qWoY|pRBKSWs!~OgqxNiNaaP8$Fh&>mR$qoa ztDM1U-oCA@i#F+XVdxu8>(8E5PG@CBcx)7NJo-qYRn%GXu9l5x!J2THqD?zLT4mdt zBI#8@B}IESidlr_f=g}(La1NCLm6m#DW{9pSUAp^}acI4`HQx25orV2<;0 z%9|GUoKqa<<D#v*_wT4PZ#M{UE6nk*e2rd0#pO^m!?gfZj;J7QQjmeDj zywf`_zo~sFo=!o{$=+GNz>UZl>Vjj_3Z4jHBhXwrpgV#4icqe&f+<}i&uWvx~;wDp`47NrgAhyKmD6oUcL1? zM;)q-Fve(Uuf)YK`q0epwZ*B)E&|FGMg>ZtrR^1)_GR1(P(wbg+N{;Yghip(ogM`U zSL-#=q2U@e9`T{{(teC8RTUQ(6{!R2EkzQY!sXYGKnuc50JJ+=ELBB`n+PAsPmB zIiKRNkXRQD#+YceQuW`f5+ZTs8bAps4-5YymZAd!rq=~zU1eL3*x?o&2U9DTG)^0( zRy|v)4Fc*6NdZz@%2sxJubo7$a)#ZJ_MD`&hHy1?yroV}j(e+Ydk9gb(#FK#)-O&{ zX|KEON1NoQr8IVEMMInRJ9f~LQ-rJRD>n8{9@I7EkO)wFvg z-ov$h*GnFd&dj=`2cRg=f2Sd8Wab7;;~1uF6q^oTx=3h7&ku-BM6((~Dt8U7r)k>` zu_~2boknFzzLjk~1?bgjY>E^CUGbN)Ze%b<8K!mQPmCxuY>+{Sl#>uJ>3p0RC7FRf zSn)7p%H`4>OA%0Q(uDQH1DeU=p&pvF7IRp-0a8y;sYt=N2yL`F))bDX<&y^^+gnxN zy>b1<4L#f&zt?&rU_=CtU+F$g=B*lNN}WYU<0_Rw*~$i^fyC6rs7+`hnv97TKiDWX zY-2j>p|x(_fY7-~(42L{&(e4b>tKCY) zwl%}_R##LTtg@ReyB=0qIZ)HZ$y=Mmo+~K?q`FNHw4@P_j@ULH9Av;W(^K{o8w5m+ zM?KW5=|G*STRDv*zqMY|D%;qCrIRKu$r5l)K@XGBQ{(ioh;lMjhsL8pK|wRxeN#-s zD#u2vBV%;oX>Acj!}kwHkww5X_hPZuwjaKXSUtK2ZZv50W_m10>36Z7^02z^U#Ufg z_<;>B9@AN2s@S$(-YQ3UHGblQ&5=gfe;E*~jNkku)){4^)G>uANAwgMGu;uDI0soX zeEZ_ZTcwXpcj+`HAfV{BNU!-|`{7FlOz#@f4h=W4nuTs@wTG3BVr$#RjE=|*x`OQ3D9VnPZqJQ90rBJA zc)D0Y-*dRug3d%#AFG6R930S4N(v~B6Uo#4ml@*X0(U5q_hj3CPN8(vCT)z)7_LS? zSnB4D?bRlEKxK_nhWu9nQ-%`T#lC>nOMq1RQAkBYn>r-%69WTYEg<)o#Oh)-Y~RXC zK(uV4m3vWU3w~uDh94yvB&9T^RadKjwk2rsfQUpQ$+!7d)oPbU@N!Bxe5Kl`b^ox)-98nL*=&>xKc6Wmo7R> zCOpMSJMFuFTVd5jR72~Sxo%P>i7QC~Gkg}q_H#-m|A>+@%89ni$<%)ghpR zU&<|+(HJclt_{;`a9he88-aUriJ^pHds75=M-wZS+M?7fy4baLXxOurGrS>ekA~LE z%~UIEU1gg#vJ)*Oo(K`kzxCgqY9snMA)FCycZ*J&qB7c}VTPTi-YVP-!pk4u_m5T) z&rqSoigvN`3{|R?Msv=lH~T07v94-#)8O>?c3rfm9%lM;u;wVbTb9nz!Je&5jbdvH zC)JNU>EK{%$GA!rkKg!l#yN>7p~~> z@`lVgJ&9BIJ5Ev5au7d-Xd&OW5*`?1#8a-(^3oaUq-+Dc;}k^!ZM{)wZPldt8+8h3 zTffaaF2C)`FvGSN1+?`lKxYWk$A)XwcnKTckB8?RBBPAxBe6bKWqWf@9&1vDNq!o& zwSA~ueyerq{b<|v%L)-N_2UhRDcTWGUeBkKr0w<4`ZkAjx-o1Is9b)>#NsJ*<%My2 zof)@=>0O8hBW-((qUyZ=hEb`M&5Qd0GSgI-dUou3ZwEwWj1VuO#HO)*qh#1oWzU{s zR(^7o-n#&8(vJ>g@^)}I-Z7}$4UW;`0RoHii!QY$f-Wb~{eY(Cdk2;Q6Qd;V!`7N@ z%NCXy(%oC-83JpJ6hqtVVTPT3v{C3atn?z^l!yBC#_;k5gO2V_mw+wq=?KwDv#_IIp^vfuDJfwG}ChN+uz1oD~w}LT7 z9e$)|-HEXSiy!{by?WbMIq8U^FsMl&D-pVa;E5Cm` zMA^y)JfvmTrRZu-xym-hL$$#!j3Wd6{4dR4FW|i*el2~w_`mPlqLqN+#Gc}jxx^%G z|Mf@O8#h_N`ZldIWk|I}K0bjCLEO!aO!me?^t5a7A&BRgd=$ zMl-5Zi2;>!!CPC~_Ij8YF!3mzBIv&eh@Y+Dag!9$uxV@$s5~wx8iDG8QCfpKW!uE| z;~^f4OkCN-%93Q*nxRcw@O@@h?$OJmt2R6nIv;4=-s2uU+MBJc$MmG$hPsKFB;`&4 z9UbGOLed{z2`R*S0W)gQ*|Sl^8yc;z`N!)uwD{14^~i0HhLM_BJaI{nyjk#?7W#=3 zE6HXM3**dTyfdX$|yu8PiA*8^xw=;zThr=y9;8DWX!vq1~QVa*EHMgF{>f z58d0f%JCUzXnVDZ&+H5nGCRYB%+1holj~h4q5t#g{~wyfj;;KEz7^k9pkph)OQCm9 z4{lG-ziL0&2hgc0f)B=srUDyYfEuGAfV|zR$pE)l;R9XiaU4ko5RYe;O zsbrB?;bMzgHFI%sakAY{ip8v5 zPU^QWS?tR&Qu*~2emhDlogzUyS2=^1d)jm1LyyRW#VB7^(pXj8A#m1IW+8Hp7NxYvhoQH$3S*c$VlXGWW55StTiSlq$Qgd0fKeK~{MNI20eKNm}E z(x=&W6-_c~!G@V-+m%wZY2DJ9*;<3~R;0}N(qm%4^cuzX^t4k@w6c}fX3{ehT5Chc zww*6ohSq@ABY{(HuKkAUK=|DN%j5(6fFUGMG2r%ii`HDJ0wDS6+_thFdHAnn7} zk>o>r1Bxe?(A>le81Mi^QX~6c1Wfz$;^|)aq;qv>UAwS&ykjUF$1hYwdOktCS>4Uv zQvfc`(hTTsf53Dv&g{E1qkDVle9q0@jgqpJX;l_O`va!)kyZPy^)k5Hvp2(ZKj&s| zz_gl%ijwwSJmRTrc_ZF>R88D0&~Sj!5Un$7@kSWsCu=IvE>p+FS*`eZVbMv-ppKJc z26aNhyFdMAJ*cERv}Tg-^{BlXrh7eV-_>Xa*Q54kn9iBW{yimiz{KlOdoxV;deo*f z6t=x}E2p>sNPeWS?`l-JgPU}LYrPJl((GO36d76r+H*ac<|-!!v~DUJn(k=^OnyCT z?<%KzJ!;?8Xa?7#_GXyw^{CweGwXWPx=|9}|7vwuhjwRZ!uuVSh6p`Dj%UV|kGvqN z-2v0PVz%#k8BY?3{?fPGo%Uvk*W=-R2}#XDtAuv1a=O>__GXxA*Yws^qkx%mO>YgD z?lrx=N9;_yrWYAz;yq>xn2F)UZMaPQthkfY|G; zTk;SoZQHw9=+YZ+-%J@MY0R#GXhuLx6sp->i(Nd7MEsiIqYSZ4YbC6%4+OI>4bg#K^VH=10 z;^`?!8QS`&TLgY|na1mbt!mo7r$k0)@rWKZ zy$%&=+P_a$Ia)PL3YcoGZ3{=u zIk8ccZLK#Z|DLSf6+6ZlN%yPM+)wP;m+2Atbb^uF_I)|=Q#Mg}{e>|m^{*Ig-^%8A z1HO-fHuDy!|Q92c&!E}YiTo`4xNi0!F1anb3WL6wAU z&G3KVS}!o=x1lrbnlH`kHhY}PGp3!}2WDDkv?bs1GtbUieCI8>GTIn%QJUO`CmHG@ zFFGD(_`sz-N1J!N3(EF`0|J@@Li^&W3$Y@UbFx3%PXX_I6|*AEdv9>cB@AC;(c|o? ze3B*gQPK7zHZFZK`v-s#vHJ9n5B6x-&umgYi+`^JRll}DL$3OuFZtLL&=P|WZL6c>QEjkOr+V#>t*6mU z?$Z5V=!4C8Pj^gpDBw`Qp@2gHhXM`-911uTa46tVz@dOc0fzz(1sn=E6mTfuP{5&p zLji{Z4h0+vI23Rw;84J!fI|U?0uBWn3OE#SDBw`Qp@2gHhXM`-911uTa46tVz@dOc z0fzz(1sn=E6mTfuP{5&pLji{Z4h0+vI23Rw;84J!fI|U?0uBWn3OE#SDBw`Qp@2gH zhXM`-911uTa46tVz@dOc0fzz(1sn=E6mTfuP{5&pLji{Z4h0+v{AU$l57J(B?%8Nf z%~h{Y@;193cX8@A#X1+ScYm*HL1fv)@w%P<@>saoH*vhiDZkI6pC3saulz}#5~`Ua z6UWP)-f$!2-jc-eV$0_A@_P7V;&?uH)g5nD;{3Z`{Hl-7et(g5x>un|qq{Hmn`j;P zQKmmAU>#>-`Na54#J`j{U6kJ=aa`orHE~?z|9j%NSidHT<6`}j$`d;6O`If)ST?P+=5=2zahp1W%i(_LO~-_c&92XgMxu*HF8 zm9)I-je(w57e({3V>kU&I@dg&ukw=~gXRQyRVh8J->+qVWn%mk6VrcUV*VH=miJ~N z-byCoUuUAc?M#%Pn~A)BV%EHZV*X}TJ}SOPR2;ElR zJm;SyBl}F|-e;EiwP-SqH~ek-%hyiP+;vju^ebl`^Qu!j8C&OH$&0nP)9I@ly}ev= zUnv@Rsv{HQmzkLU8x!;Y#l-U6nTQw5MEo&Kl=lS_< z^li87y!NTirPq~P&C3o9JQlNmm{-HD>K%oj?`F#QkFA)PeuIhmotaqvD<j?U!|J%k zSBo(*euRnXYnhnemx<-uFcB{|6Y+B~QQk5p%Kw3hyn>m?>oC_en=rlM%e_22>d&=% z4ld%o^!_*ZOrOHLl^k`yLaUR!(`U_`?hRVR+Z*%ODu3ZVZ@J|D#m7^!@umsaOO$O; zhc_7OQ*X)_H+WUQ9yMMR-09VF$eCN~e3~(3yig~mOkY}(iTPcbvi#%+OvL+ziTIP5 zC~rR#<&S0}uboWfHJ69JYHTPtZ4-|ueR1ZZ)w{U*XG_4H&G&dumtg~MzJAQR_&gu+ z)1XE?@OH~Cfw$-JwxtV)ntRUS&GUVFI&#<}-ssNCX4yCA;vu}9h>}drb zw_L8$YZkP82Z?B2kJ)=?p_ZwE@n{#qvTTE#?OpYVt`oqpMMr5o>CwDjUl z*{kue3(+Gx|J8_xobYiQ*!&I;et2wa^)Ebm*M&oF_qaQncU;+I`}d`m^ENNScYoJ3 zJNGU2=5ziafxG?{`Rme|rM+5LF4el>s=-W*Ph?{HN+#wn#KiLRnTQw3M0^z!tf)&4{Qo*`}7X) z?&)#O)o`A7dRcu^c$R;-f7Z#b%l-NhZ)SNJS?%gL?%sLzkwLtlSK#!&559=I#l-l} zOiW+I#QX)ASpGH>@eVQ({|po5^=6{{oJ{03g(-R6I?1D6-N<(JpdZ&4A6WN=aTeE} zTGVUp=T&*=&R^Y%?>NNOu^Ze^+@HyNY}sGN>DF&N$U{A+_QYqr{Vl(RmBzH=&36ay z-sh9R>n*N2^pBlqy*hZd-ZXdlZl;Xy@@8VXiHZ3=m{|TM6Y=&k5q~ffCD5X{#khJ@<1LkY~Yx2F^_rhM>Uqd z=rfLY>DB6H+~-;zu)%GFd3!hB;&03N2JQWM{ZkKmFHgwlqM67mEAPAFc5%z}1Rj0BGVq=yU>)z(^_+3K`8e+yeW=0to)vlE+Q5?xW%{OLOw7NHiRBA25pO>e@s~1D-p5RoUyq5rdN7gK zINmSnX3MK5S98OZR{6aOSK?8PPdzw%sutJgu0Oi`@?fsHcxrR2mM?klvCB5?^8b!^ zGgkI~#cJ@5u|@kejcCMM)%gD6xG#0wqj-<6&QxBpvy{^}D{~)=Vq$y-6Vttzn7=p^ z%NJxK-Zm!U|HVXkt(YjkAQO3wV@h6yo^ySr>Kn?P9>tCRlb(L{$xR-0@5h<>&o$uM zuT>%EqPz0YkvW@~YaZZzR_V_8zRJhDhiyGJ^4WaesUDx#FT6KzU1w3z>0hnojVk2x zscp!$vvsxEvp)UGlPTlT-!d_M3={J=U}E{fOo{jM5fkyhW}>{7Oq5@eiM;wSk=H)1 zKRIs0-k|Q>l(k=}=M~Cx-J-~>54Jw%5h1NhPwElC!z$Er8dJuDtG_E!v+GL(@6q9s z%jPG)^G>&ixnA&#;ccqtJhM1_GjCjGcb?Om8|@6J)cR@c!Wv8&-?W>F>AjekKah## zzhWX@3nt=MVxl}xCd$9eL|$%82e`Emf8?fNZ`GdFf$XsJi z_l>E|!@e0`SKnw657B+I=Tx^wyl1^%PW#O-!aL7*b?H%T8*f|uw&%AMP24m8>s9v# zj@a2DvV(6(^*u}(AFzfg(^apSn12RSmY;W#iFl=$h(C^r^2#t#{z9hYWxUBmUg6x( z!f!NA@_Xp<$;rb<=z<{x%_11^(B}x{@`~erfZm(e*;sN z|K=bQ@mewwe-RVqEn}kmdQ9Y1lZm{RbEET+8H?ig^8RHy&bv6d1Mjz|ZT(}*|Kd@R zpRRivaGr<%qc6}q|3j`B;{MwS!!sWISd;(sg9SY3{?I^I&qci5h4T4wZd3CnCoC?i z&EC1WYw}#CjBgBP%Ji*&GBJODCYIMT5$_li@eeam-nUGYf0Bv3HZYM_3+r`= zb;z4c=v}SowROBr(Z{)_{!=c|-+1f3Y71+hN*r(0pmOPzv9%J%Jx1Of_Sb@XN#nVC zdKDaJNgQvub!ymxJ>Mmb4{H78@=J%4#)E=2-(>5RH12)!@$EIvN#hOU8V@^PH)&j% zo+W8qSw19bT#5f%(zsH7;&mbSQ1VMQuH@e_aelFWE{Wq}{m&V zJ>@ut%JeZw^V9OhpUQYD8ULy*@3<_#lgtb4OUkR46IZ|V+cvv(Gaj~o-0R9_Tz8aO zdvDd}C3w&3CnN8B6yrS#H1gwrzT(|`OsV|H!mlU4=BfTh(*-sGTpyqvZ7aa{hjD`F1j%jDN3yEH95NzlO}Kv&?G)56>MP zHQ6tUM^2n_tIOKGTyt|!KGV3GJY?hTW#P>XTzz}z%=uH=@;*{a{kG3`35qcMaJ(g z%Zrlbd&sh7y@#?pjqe{Asiw6zs@xTZwti7Uf-Si;VH-!1xq zhhF^i;8_nH54A+@Z2S9V9$ItL`R1xgT=T46lxc1@t~qiCq4SjAxYbf0X47mgT$1yb8#?+VOrT;_|P+b*|yN-oF*mH{rT39^RO!8_%Q4 zUaVQH;zl0%Q7#KV=EEbpNA=9TxhB`12>NYlTMO65PtSXPRX(ounlbpK>J`_Pn$@S# z!x3CtpiT`}b(9<*BBwtU^RIj(m+vRz)t2#_$nw_8^5@FDB4u8_+_-qci-wy0ynmJ1 z%d!u6$)n>NPuSi374LW9nPI}`D|z2-i_ZN1>^rWz{P8G@M+vTLHR97-Q~h|W(2CQ)%uu6Ma{1_VCfSc)$`S!pZ{nk$DhjSW##T9bSl&5QXG%DJ|b`7sUF<)<^Edr?;YaCrO!Uf(fA@agnzST)vKO7dSHdt ztu77b`U8tpEe3bu`gZ5%^a-BA`#sA)-P}UY`~A2xAaGkT-tX&&zdp!$LXMY{)4R+0 zW99NbGM+)k? zv6Gj1|9m^Hgmm7{O%o5?*fP_Ln`$*#vyf*PzZNq@lD;x0v{nj69 z`b`^diSE8Vf2qFQJbPp1Ma4XL%&o3t7TvzjV?rvNF1KYi@BegE&pa*mQe$Bsh( zQvU(h7VVv3;QhO=s{PUs%lmiOQ(E7Ct{hL0(|d~fUGK@|FUWYKW&GQ+yt=Y{t<1|! z=GBA`^wx~~Ea)DObL%nw)1&M7fDXG0`t7*GV-t$(E57?5Zuv2G&hk2ixW!}bc0;3r z+jS`0>%WwJ&(A->?eT3dHf)+&z}Hu3CayuDcK4G~sJ* zIkWU(1J8YOe506N<&~Vjmt6k3jHi|HE6MVv%JLV=yuOfmt>p=S_G_?hsv94)zwhET z-eY(|fk5rwZ;tSI@9AGR&TisyV=N1MZ0^ek{`qse(YqG%ftLO=&pDmr14~u98Z_|} zKH&5p-#<3x;RCiDsc+D#`GA%42k#A@D#tsC>Bie~{wTTpK^bp~jNeg~rwkAf^k3b_@74iY`K0X zkMD3~sQ(<~{~)+P{mCVG-1;x(&dAl0$BlDdw>2l9lmu8;Q)Sg2e;oIYO8UrR2(QpOu6G&K4hX-%|AR_@*#O z_W0$CUVO0U)H0{~{J;m-DL*7+)?qomO-^?c^9R3{%TJT>R5E@AS>ETOeA5M)S6i8v zFCS5RQLafLula~6;kl2m9?XaT@TTczryhK`X5EG_>P+OrvtN!0TDpJ_i*A0X$5Ssp z^v0XLyqs2)9cCkXUOGq z%Xr0Q{7JIBfwKH&GOwF5ufBX_nZu*!2MpmO2j4GMvvMpSv90IsQqJZ0h)y@_ew^nN zAO7_7@U9Dg;=@;t3JS<`lMjzvxu8{^Kt8;|mUAnM?&QNi`b7VS&jUW}MYl(PJXyzw z{W-D5$*haz_!v1I`Y7|Sk<0tacxPq&?XtXmvivMEuPB+9hL6e{e&LsdR(zDc(!l`> zj`5MpU%uYhJeZGcvBGWOl@LDScCCFSRG;w?^M_OpJimmG=(*icZsQ|9qQKeSX#*MOxQLrQ zR+ckDmb*^oF+=9nhnd`K#`f{TEa}T%GJN4TEHSYRWAHMw~+RA{6wx4>kmYbHB4r|#I{cwQ=R}|_m zhkEHRCFYxXMJ|^^#;GRbj+Et`kmXL6dF+yTtzxF=iXFP|`HS^kd*#uD=1o{w)h1iN zzI253E}Cbydyt8BJ6^g+t*W@sG$ilP$6fcbPHh^GzY>~*1)hu>KeotK7I5cQ(7ZN7 zSU|C5vrpB@C5OeNzoDFOu2@cUO~(0N#zp^}QjVuAcbm*3MCSF9nJTUHUzsPI>F*C6 z?rm~r5r1y!(r;>g7V6fwM(%`@tdH9_Cnj84$9h%?e>||u0oF}_$Wpc4B-Ulg?@RMU z6lFo<8}|IlwJ{6Ix__v;${{)YTKcn#`LsXC<@{xw?`7NxvYf-R+T>M6ioWcz2P4_mJ%)|QiIWwu$b59nz@S*4TKmNhOhZcXaIOjbUT65_3I=drT z$cPo!`wS0eeZDW!GT_Wg*1NZ{_Th1@Sg*~l*K1!v9?Gz}^yicFxyt2A$~e9AL zI2&c$7+KD9S?+9^M@N~L4>SA`aaZiYHI_8n()|7eFl6iGyhNFvqb00FC8GTAtZP9-NGn71CaZ!`v zOka9bxn7&Geh>4Uo42?oi^{Shu57MXEF!L2agU-QOxyk3Y}ciIS@@#iXJ>s`oQ1b| z*;CcrAcs?=KZl$zn_RB6jI%(-Ei21G|2dWGc|hhdNap3n3@47>+`VHtGj?vhB%pmL zGfZ{AUwqjU7M*3pQ1y^LtY7^xh4wA@lj%nO(&Jg#Yb>g4>ph1aZDNsy9%-Mnp3NdO z_e1kNSdsmj@CCi;C^Qa;73SfqtJC~c< zHDE?veSO#XC}z0Zt^Sq`j79I>w6{&}-b~+eK*z4vaxH&WxIIChvTQ znPJ!8P5#iIW`?YPZ~7wCn?(oB`*zZjl}!Ibp5=ufj$rzb8yzaOSitmk_C373VyGPU zk^U-jzDT*;DH$hP#$6`M36kaJmU*aTUPYL3%JH^~hje1byLCK&e2|5ivhB)Wx9|>T zJk|PmbC(6oXxP4g*^BPXaA%ym_qtNdpv(99%tDV?^z-7q^Gyn3(W~eGbM9DP7Cl1! zb&Jxs@LgU>Qk^|1?Q?JLhr`7d`gKEitb^xdd|bBi-$%$eLB)|Y0+iibNko{%5g z=Ogc)huSg2zTMGFk6n_(+tS}i%s2k7T&|&vQ&z^EF3YJR%Uvh($o5j^70ZnGw&z^- z$vtMO^6U1U`nt>%FzWl*k$IR&yZ3h9TIHB2V)hqBy_}h;Yhd1^7u}i3i_LgAx<50i z!fvg3U7DG4uMIl0{17ufFZSS7sr_;|PWpGs`F!Pa8X2dej9WmKBg-9eL*{|~L&@tT z;usb*AN&b3c^(>lJty*y>oe!Y-c8K3I%3|fa@m+^zxVU*=RKL}Cu8uQE7_T8PrCw< z1u=cys=PH`wPU9Ff4{n3ZV59@Hy63!v_%f*N&iYY-we6jSP|#)c^OwP%gHLsT_N+p zP|0f;baqeJ`DtHf@(T#B*ATjV8GWxt7R>+rsMCG7hpfN*fmfb5-}P@>W#4f3IM%=Q zrK-m!4P^a2Cv;j~pd0J|afKBTt;1RW3P1i_XY(#Oye0i#%lT%?<#y?!V+dE*GC3^x^G!vB(q`HnEL zoQ8=wQ<;c6iHUMHGEr_39JeWt3rytIhiebMx_+opeXd_UsB@``J-K#kK+%{BZMmk` zuJB`qt2}sEgYC8dDZ#sht?uzv_9{Fui+j#NUsvWWeTudiUwO^`B@aI)@~X~z6dhN#-CSQD zvEYaE{sDJ+_`)@he`(i=hiu+B<(BUh-t(8~WuLMfJm|@(B~{A$@_?beykb_xalbz! z6P9?~;*Br$U(wD#2d`M>$;P1D*O)TAbA$R>f{-5HxUxW3(H;5|88<#lbvn@v)S1kx>*Ry6tCWafC;?G&1iTOO4 zvfSZpOo=n{HWP76Gf_?`Q_9`(jEOvSOym{Do9%PD+z9<~-N#oQ`o^UY@7<PIvE^z-(pPZ{-s~2xkZpJU2Vmfk!Q-;T~F~z@c2NUxpFtOYhOvK5{L|oi|Rmz#lM7aZ)$b&H@FR#tqBPLt9 zx$PG4jw9C8{Y|}!cdNXpKzTgB)y<<`o0i&09yBdT+h<4s5B%rsiaZh3c-zjK{%LtQ znm60DxclXTQM_Tt1|JoSZotc}`R8owjo&b3xcMih_zm5em~RCW%MD^m9Bn)kaceM9 z&H|>C>wbobJicX0UTyt(?QK_AdTsxjx9;ofwEjkO-f`QG-;VxKfp^X|{-xWuTkyP; zn=$vcXx<@9RTuS(^Ssr@z#BJn>bP%~X$PwhJI?F(@6~sAo!Puh^Q}jn&&*}Y@O*ow z_+8dBWxnBKm{=}=DRG`_@f;P!ZO=qGLzq(Tm6}Y+9G8vysg)~nT1>S;vMR?8d#fM=k3GFbk1GNz}p;-ig+}8DsS=gXR{mK?Z|yvKYdU= z+?~7kaJp;$-HDf+HgVNCgELcxMm!%${!?9nTVT(iE=!dQf`Z1 zn36}nb4{w8c3;$_KKC`Bnh(7{*iyetgKy{@;WEtiu)GW#64Q6&b!y%$eZ+Dwx?^rO5UWc{^4#` zls9soJz(p!yWD+LiH@`W&dIBL8FNhIxjOB`)UuW|nXP@ha;ia3tc*Dz9+Hw3# zzdgK8;qg=3v5UN3-K;SMT;h0rbJlx(AH3x5`(38=$(5Ve`N3uC`GMznWvBXX&HRq= zJVi#GEBj^~Q-=RkVT!-wGp5WJyO=4u|v+nFnQ z?QY5nooqFA{ygLzTKs3P0>gLz`Ez8>J;$7Qxg&3WTKVz~ukqOro$9?F!E3)MnfI4% z{dsMVUVQ@(KI7Hvx?dZA)RmWS^yHcLU`d|sVcq71N;YL;Sb{13v*VaD-*3H`vfTHJ zm=fnJ4<_QSVoEvxIQuB&{)+9WO_SD*CU4|b>V*1F*gJ<;jBI=L*0CsFqQlvH{oMz0 zrykP|Ue0-mDZ`QxO!50=W6FF-LYT7Lu02eNGqEaD;@-aGL*q4O?}pVuL(_pN@56mB0FS!-FCZSj7>i z5BSb3#EO>RbZN2IaGyJ^I=CEv;l#5xTsrF8>CU`Rg7(tU8kczCY}bRU;yK7%M~XIC zJnG2qzjC))_;JULKFV-v6jS^wE;41l1#wJSuIMzT#2N3pTZ#M7nJeXZ59dm`vsGNl zBfpU=dHp~3&ODx~@B9B$(wrt#LW)L0hDO_wxk+Rem&}=`%&uF8WV}i#N+l}IrBql* zqb3b1O;RZuXi$;(?ao=B-hci6{QlQp>#^5f>-BoxeTJ*f?NVW$U1=<1Ifr>->pU(Ps#ozrZJK-2on9`}j>de{}pMMS;}~tpe7kBpz7b zj^n^`G-LwDRYfFj{Cb~hTSX>krykntn@JQ_s=shpl0_zNF`DgKDoREu1V1(OjnnCv zzA9e*NMB{Eq|3dK!J?Hv-YX`Fw~1DMI~pp#$2-3AMXT=Glg@EEf8wb;qQmC%3v}4J zYm;^U^aZ^Ztz>mV`M~O?@`3d!t^(GVp?~MH91_5CS@FoAG2eP#rSQqb>W9itHWU!q z(W@o~+Q$(o;m6u#%bUosf;BwR(R`gBU6*j64!K1WyQPo3=te&wIOfa4;StWIMUu)1U8f%P%t0qbkk z2P{W&Jg{7m@jAaUMoF&L7a=98g0uI-bxsz|?!=Z+b;ROxhv z4*0P+hOhG~aK;n29U?lH({8NZeEV0W`~79+t$n7I*{z#osxSQ3`4ewlb=UcmFB5rL z`KK<`tgn*oE8thMI%Ru+)ivq^*2jomXMcRftAOPQ;Z?F+S|X5aY{lqqhyZ@!5RV_7 z*C9^*PVx;!24e1s>lU;gvf!d$-E|7ukFs*6Cp18`QbX=~_#n&nNWNM~<7w6%R>sgX)TQSAn20qNMai z74XAerMGOMpPN~&dSO0dCBzy(-EY->1Y&l7O$~NvgP55@i^Tqx5dEY-Y0OBcp9^+% zEz1jl=*-$ye=8M?%9szux-Hmej5?oD_cr=iqVFK&xP)9cAtBTF^l`o6u;E-+uI}&e z5HCnjlm8MAeBQmphp1gV@kA5y%mJus*65>SVK0_G&yfUpXwAi3O#2PAn zFc=*Ku~X9K7M;?-NH8DF)#-o5zADr?fx52fbM~(<$6 zx*#~R{m$yoOCUZ^p}cv>h#R>x zSfZ;DV&7f19TmC;<0{Mp)~&%l1=Pty-FxV>9er0J$4cZH4uWs)H-;#b!G^@s3L`dk zfZ&auzK{2K5QsJE{ytIx@h0b^)sEi>e#O(%kDeC;-!?~LzpM%H$NH)Vj=cbJ^-n_& zO`ivG#rIFI&@{xj81u?lcNF_{P-h?NUPqrY^qqtpUy$n@2r}o7m3VCh8%#2Gg|2!D zg6`|nGk?T`VCBi+++7DCzBtgw|5OIV%WarcZ&45YbG-*&glPajXlJqD;2hu^80w9C zvl{qw3@5Z!WniSA1G9NOtdqe$S=70Rx>4w}1AXcF$8x+!E{@$I6SfKq#cMF$#C$T=xno~H)R~LAV(3$Wz9W&N5V`1jP1hJR;_WaHybT%E=i3B= z&K2XD2PT7Hcg=i#AWx03 zz;DoaAC?RlZ)1Kv*3H4bW1P>*=?bpXP@+H&!PX{Az1yPdno;$LHyVA`IC;VfcV`VmdPSBA)Y5W^y;z>h}W!) z43&BW@$%IPX)i-C#$&z?>&~%#Nqs%2BZ<1B|MOve=OBjyat#H+NH3plD=6pD3Z+(! z91uL)f2wVQ8VJgN27OQ}2SG^nhow6nfndt`HKvW`5dYX(f8WJc>X&?HP{?YC4;S9E z@21>tY+*M-%QMO}IvS)WMGcYGUi@Q|w*1ml#S4t|_M z*ZJ-}zF-mv?tW+p47LVAO6^~Zq0dze34s@f>GKv354ihh zMMM1Q7n@Hv)9YxTb?T^CdY=A?FGKnwkAFmU&IEymzm7mA z8w7)=9~-xO48*@5qaKj-8RDN@H+DTSgp0>NVg3qNx2qTX=sK`EbRAgTJ?L|d^S$&M zIq3P%a;bnoE3xy4@nR6<43KeoI0gi@x9atO)Pms3@T4F;MG%ziXl&Q30fAu8lU4;f zwh?@}HTE#|d*h$+ZXkUwE<`1na-L34hb`(*Evmf6;y*FglTy_=RMjcz! zrSq(hEBXc^hbG4rKsnv7ELpgWa_!otQa+eoPu2IkjMmWi;kwb^R-OF}f~s8?W46-! zWyz6{b4$*HV9S74$926y5c~N~tGGM}{I_jd7C?`i$JQNRmoCL-_dh{!t2JS0nJzsq zc8LGb?*>7|<%`|}8|nMxFYhPzr|EgDKe_NC<=UdN?((p;AV~L^3#41?NP&= z==J;H!|4y(=<&NVD{`pi0(!p4*qPC)7TsYPi#`-jp=#OkmxtJiT2$)e^2D5EEjLQ#ynkL zw(fs@>Zl_?U3#2ZA9_Bsz6r=d>sctxio!$6VQ@NWhFt-!w(__qT8R^Zq&pI+1IP z@_wpSnNSZK&N2q*e@{0L)ge=Ao{S9#6YXh#Lk z-ekg95B&DSZ(ciNr6!tg)N96A?p8axxNR3>x#X6WYWr`-QtI4OM};34DF>VH#kxJ% zXMj4Ci`8{QpLgi%^_PR?TF{SKyK#85rAj8_+&(;0aeoivctPcXtYiaYpA9?n&ek!u zd$t`)h@QvT7_HbTZ?K24w%YElaN#&(b#lVw54W!}R!e1G$ja ztgFDj64c2+-9>+WIN$3WN74Vd@);Me8!y5_LmB4}uj`jjY+-n#2ODZsUT4+}r(bE$ zy};OYHneTuxsb7q*B_rb_cvn`nUrk$tAnw=Tp^~s(u%RRd>z&_=OJS)=jl=Jv=XBY z<{x040rq`HosX!ik3Oa7TZJ4w$d$x6mpnQ%(3^5Y&gXk?&NIBos^8`L-i+gt1He@|J$}jc07P>7};yFJNpQITS7#y@9deNjq%5w1BZuY-v<0yN0m> z^9oo;k0aZcgE}6lI}Lqqqpv@5Tt%)MjPtA!J7Cr=#(C4spA(+#VR)w-S2jzJVw}_z ze~C|dz^oz1^)1F2F!oi4e!;YG#;!Qp>1gF(#x8=QLZHDlL2R^gD|6UJ`s{hHO60vJ0b zgK(+ki!rKV-W=;rVP7fg#G~$Q^btYdFUWBax%M->e20rOzYJ!aXSZodO%Z2!&3)I7 z7k4u}jl@}=W%PP~?|u1B-4kX_-qN^Jv)3^W*-sh++ua!Zdj%2q+aECY*3+&^pK@XB zC&)gLe(HfS8uJ!dw;TIrqK*ve9zh=o^zGv~6n_8Z;zg&t2%9#ZaUOR2XLMLT!)vp4 zn)j-Y;kgUVW3pTrr_>T(-UoV~IImfIxy7GZv+ncMzWzRpL#dx?p*)R?EAAeV8_PKK zJDieoAp_$v%u8Y2MC_Y^I*Od``%d)nL|=NJV>$Q?%cb;<;rW!jePBWuUT62_uPV_D z@8b`f_j3j^ywu8t`$Hx$yupM0z86eloQ5w~U2%CU<2Yw+)NH{RW=&$;+5Q_(GixLl zRW9+u$YUF{wrhEWdl@>pla^~G19jw(Lx=D-;( zFJ?{Cpf;6fTFjcm`}TTYK7esM=IQy%)+u7238xeL0(A>HpMoCFxB4z}7$R3P!wVSM z-=c*c{}&fW9KB2LLtm#pI&b@l;nmb$KA`ZJ;rUCvS6)y|?@!xu4_{f%I7OdSntkIZ zw2z<76BnWj%`?H+l67U3vnHrkHo<>OQt}ea%#t)uHDXt2+yQ zq|x^|$I(pBOO|Uq!^^bVsY;Izuj$#+hW#20ug6g-X2e>C*P68YfG&L<=gRI*7Nh#H zTd(Yzt<3NY=C>cRrg2=k+|<`c7^ipd28>Gi$v9nZ96spY3yk|PzX9vgu}>X!^ilU6 z`Yc6X1LPQvT>Tkd(Qc_j&UE+NaOy_1$#iWc@N4HJ@pn9?S54h>j25 zwTK>vJ)x?j$1uDzISyq(^gfhZBdz*o0mIwaFjTPImf=Obd+Vf=jWG-Jc33wA`wCEp zUU#gn4Ciy|6Z#HCj>E`BIUj^&JyfRWLC?FBzR&32G19u5QnmCMXW6a7?8%yp^VsAU z6C9^9&Z3%mOWf#vsO_Og$8LH(HO#kppEedsIiyiNU8}P1&5W}|cH|uOV#Zl4P505*n+&fn^f_OiUT1l zs1t^|-_Ykh`c6O&`aa8Yxl!KmHQ(3GVVot6{T|d?GR_*gHk}JZ8E4b)N{_eipznv9 zo(>7V&p6wNzEW>cVVuolPmcA`W}Hnr64&f%Wt^Gr&i$^F8Rx~z3ig(JVqA!M`o8(6 zZnqNlNuv&3FIJbXAM3M$^PNxEhvis^TvT^Jjlrkc-i-4ke}=hY!8jXeRHcN|_dBnN z^+`uu7-zm=UzqPI`u9!C5F_zzG%hQZ7`TUV-e6jDRC@~J9361~n-cxIH+-^1|HdsC zPh&nC>y}_&BI-~cRyP8Ds6XpV&m)$@9l6%){(t^~1E!WkWF$Hr!1lpefy{xQ|0@Ii zLDzZKEc)#8cRWngE@9Ta%kicT0^>(gVpIi#%B)5 zl}elg8S|od#>pAwwyRc-de=LWu;YYu`g}c|AL&ildbLQx_B+K9PHzz5^oJ78uaR*6 zeT3tBPB<>Qe^j#WrB{0Tuugf){JhRqx-ZqCECn-Tu$k>NbjUD2u$Y|n@y*=zuwuX$ z$v#CTF#I|wRZJrsboZ;Z9*pP&&Euno4sPfLMYq6MD0yD)ym``_Zb`ad^`G&<`-Gd9 zBwT$u;ritWt2gyM;q-k7=jTDtpKx5JgyZT4ub%Jo%D0O_fS$>q6b%h8YbVkD#?pT4dn$law(%L!z&fyb^IleU|8uaAdVK$j?k!ka z9kr`R+6eR}7X0W5+6rnfr+ImePb~Ma+$Nr0tw`9h^jN~q2euKmUaE|6{h5T*J4rbG zlZ5l5-zR4MsA%1X`?^K8Nlf6B3nk_(NwC_-yjI+p4?^Jk$&VcDQc=mxIq- zYh_DdO{QPpK*v_Fy3jt)AVCAn(%Roz=N$)w0;Te)U$=qgnr{~04$GH&^>jJ#x1AyE z_)s!o=f5-(uHK2T{Tn|KPVY3~^mh=>FO_iqdkM!?ML4c^5Io{j(^H2c2vc#^{~CW0 z{6F~T?A#v--o}rfJUCwiZma8iuiO^`@7I&*F}t>aou*;mf)~TULf*~0_2z3Z5exUf z^y~x7tN5+_Sp7`7uhg}Dk^3hQcC1FP6LwySaP^sl?SEcHIK2?U=|>aJuZ(_w^N)Wx z;kb$k$8{A#vV=L$6tBbj67QA`bDu+C@ZQ9|xjVpjWOlFVpa$@`qU_7Ncpugd&eM)i zxeIHeulJaUd4r|!hiH!cCs?N6*>$Il5@ zpF_C*iG3#^uqb8J~P4jv`_Aqfi7S- z?BIdM314B=WRa22*AE8W-%?7B$y3Yy``Ln>+(E*QlS~OaA67)Tdip&?wto&`_14k- z3RwNQg!9WIoWBO)xV{jMOBcdr#?{O(83<8xbDwEnw1bfE-zI)v>H>i;M?OwCS_QsO zT=tr3q=Kh$n%2sBpJ464)AVWZjo>hPe%MLt05FeL-O}6?3VIG3J~m%0EMIpi`Pz;P zHH014+$P+-1mWsM2-m-qaC%jQ(+?z^Un$}IZ3xSCsEcr1rVueK^Tpknqaj*pcT{BH zX$XCzpt;`B2ZAnt`XakA6Z{iw?=F_Q4qjDWev|flgDW{8a=Jg=*ZSK!#rsdZz~a)h z=d*0HVM$S1!?AOv<(@84%T3o?5q4bmgK+b*gspGvAY8u&;q(aM^bZlvk54#%7s7E3 zARHInuj{Qh*-}LyMoc2NQ}Z;0Rp>d?p5oK}(w;p{Ql0<-2}|wxi$24;2`08FDht5P z`9SLFb#!0r(x&Gbv3FqgkA+se@Xw(CbXk&v^Xl@o;sr1!s-Cc8UN+(8*AuSZjBx#Q z|7=!o7~%Av6V6YZaQ*>=V%59DMJ@FCadXLq?@D3)hA)f4?i_;<>y~rN zZ=^!tywhRD53<3>uJA<4>n3pb&o2y83IpDeVYW_peu0(bs$KeLM}tA1>z1I#obt8K zsVn@$LJ2#5{DH9ZXLb;-zLIeLI)u|ZN;v&k!ubUg&VL8txb6^+D<7i#azEYJX9lrb z18$E$nFryExN-G4A~v0K6%5%BP-{l3*;2RH|1Y^Wai z8my-tJF9!i4va=UxH7h+xZI^|^!QxK*Mu97Anbf?2jS`u5U$^auzD(238$YyIKODZ z`BxK;Yd+z)_z*qCSgBaw4&qiSi~6X|hwzVGs^)Q35PG_5>B8e>5EOfScY~4{`0eRF zKi)`T$Bsuo{I|so2k`@N>y~gcwEhCt+c!4c7DsBDDUeg+*pIK^UBW& zSHFmG{WXNuv;IjqeO1EwHZVTb`+z6+Cf^dG} zg!6A89G5)dxC$XwZJhah>GNkuMj_6W}R-H0HO*{9Fv7c z2wx!)IKa>yLYfO2oqC%f(Cgsq?*>V9ztQYF{h$L}A9|fpiZKRz`h0%yt4df}I;CQ5 zabUTN55x3qe@D3SAi~YleQMZxJ;L=j5>C&DaQc;m^V1@n|1QFDT_7Bn`~UtO^1ld6 zcdt3n9DN^bXIxn9Tu}5kZ&IfjqnX3|J2qaL9Z{^j?C;oUN8jNnm81WS6~y~>%uV?_ zHoTKpwQi@|f8%ZIJ|rxB_}@5C|Li4s=D)GMwq|Pj{Qt%ly_x=tQ~w*Y^Lqb{*?#l? z#;pFQ|HiC8@9)@%<@;}6YL5T$-+Au!dHx-9uRs3pm|Lg+^ttt_1jndXgS6)5f&0@m zp{VQzu!~CBWN{`2YYH^E$4p?;i{SXKe@Lhf51_9F6mDu%7ouS40+fw z_(M0{U-;=p_23iWQB-4^(%}Fe{_=^V5-q`FrS6ysTPA~t{^R$NPLeoQ$9Zq8561p# zPVb`%r=K|h{p8WV7rDkG*F^}CcCw0S)rR$Xxg~kqU(|@75t^oy~ru30ly&Inr*u_fp4Gp6%G15Hs4eJ+Bs@!;G6VuyUkH4y1#EFZ^1Vu z9M8o0rC8sF{d-aGH|j^DUl{tQA=e7z>V@#3FORAUdm&2iM*sAzp%D6bSd5*4H-rSg zY)u)r9fH#pQXEfYX~c8ujVly{zA1^iSrvvZax0Iz+YJ*d(|448%5QNcNiL zLB!ej8|$tNf$+JLmk#i&hxId{dCsB*5EdA*VssG?LfZx5x6j>z&@Ed%CS0q4P@5SQ zsw=6!rXcXbbu|c`sqreqz!JxcaK0MrA7KA$)JsHtYxHYFf4Z+I%hiBfWe|7P&F#?3 zjSxTQp^sF`UWmyui#}|i15rQAZN(CdAoA`c`{4JtAfi{b=FH&z5aCvPT-!~k$|9epbT@t3T`_a%EnyzENp zM=@7{zsqdNW_9|#HJ#{lQEg`+?u$*Ec(oAXwruPDvQHG^9PP^9`q@L=vfS5p-<5D2 zhV!yme;oV&r$_hsWc8n;A0Pe4AlF9ZQi6mK?Q*I6Qy?)y>V?djde|5{@W`A2`(eYu zcb*&PiPPuGp9Ci;(dY0(N=|9%=7M0@J${H~3dC16lx;1(1Mz9&-Axi!LA?KnnpaN; z((e&z?oiM+!m%XIJ7PV3E}!ksL%oxzpN@Vq=wF6h>d5sJl9s0~@=DTzWV+)^rCcr~ z^17yK!Y4>bm-dgXmw=5=+fIBNI~q2wSn&C3!YA19qM&3$+G*I3R=-6meWGarkalQlV7i0e=PA_o?>Z_oiBIjQvf?WE@wFfpSrH76> zx*bvm!7i!Odm&lx)K7oiZb%Ajc;mfz2qaeY9Ie}#3W+m~^;63CLBg4-S#=uGkl^I$ z^yy~>lnPqJr6cN*mG~;wULlA<%_y#0tim1#tIs}Q|$E}Mmb%(@ym9?L1=2>&zM2p=&oevF`$-&91S5M(Jk4R# z+xN_-)#9+pXK>7I5mneUV#3OE-NzyM#tHA%A1;twG~eIQCKHl#Q{3O!)9+ui<6N9~ z!}=QRUxs?KQ9l6vEz-H5eS6dIMKuVjX%&Rj$A*ERC_NHnPNQtxV?ETmeQi909 z5kCbu9)j~U|EK=!0PHtIy;x5F*+BIBg#PD|OCGtzA=6})p7oW(ka;lfO3nH8ka2m* z^-tUTAiZ~kmTcryNHNOw3F0)&Zy0L0r|EelT zb(rH`vfvJ+uDCk3-P`@YF*{#_^^dsz_d`*Shx&8SPlxl*9fe%S|8ix`%LqL9eKcfk z)6!QPa~(48bt`wuTR~<(@6x8C0?3q<7PKYJf{gT6jZ=RnL&k_%n@n5MA-!Z?TG?G4 zNO#+pG4fp+q%R72d8d-TE|mt+{c`tltbp@bSZ{>=M^SGd>MuY)%EkKgfa8)xuB#xN zo_HZ{oFoVnwbGJ5j)1I7^7;3o)FErF$iS>h3CJ3hyV`5j5y(70_Im4vlaLvaleXUW zDr6cxsQB?o(-!f_AI8)AJ2_CG?sO4Kh$KY8?D zgj_Ozxw56-Je-vt3E5#%v5pxPAUqS5czcXI2rWZ;hvf``tY437P6c~H){*jSP5G-K z%h&AYHl3l6wa~Bew(4cblAgN%ZBQ>{^`CjHto0~l_GlINn=$wA`0qShe+~O(QEv_E zhoj#F^q&bF7yo};#J{9hK|T09SsA07E$eZc82C;5c&)dE=rSdO8)Pq806WG>6=x9b z@kaZ8`KJ(#y}OQFsv1Vr`>dbl)D9qOJ*f+}nnVya{-f-LYZqX`b~fa`-2)cM8f z9ypFZ7tr?;a=bvUdxWne6FqZ54_W6jV&QxkM|iw8dE+8+V)I_|*s~As$!d$a$~+S0TvD58@sh0TlleCKb~|wsnXD^4 zpp!Vuxz^vW8$;H(23)!_U7OfxcYQA zLon}*brIOtg*xX^*NyWL8^QVB8H60Y$VLC3CVZCMxHm&dBz)=mv^9kUYY-x1d5-w1 z)R^=}Eg>EsujQVu^Chl1V^+ssmmn_A8L}_dekQ#3F;5ohpC!CuUw0Y=-6KwVpMzTB z-f)pGh52r*d%*R%&OjY^)IErUZ;N%?xjqwhPG^!Sr)xQ$^Jx=DUtQ$zL9UY|&b=sAX_7ICtxZu3 zn4wIfLhX%Dm3xu(r?(m|2wp@&gh}_GJQE{9iw-^ClTb?nvU6qA%cP0l>swZp15$`@ zOr}_E<1XS;ANE=P5ZxD>jdY(^Hh&ZAZegD$>U=_7W%P+bUm|P==%^kge=!d zk#QvU+q7HpMej-60&`jOTL~ma=uofl;0cKuF{JF&^BNMKIP%_&+C%iZ3R&Hhww{Ds z2oYHDD@kyMipqH{`nl2_am_aoUr12!szVPhdtltak}?uY{dKrtl+b+4k&7xevv z99D$o^8Zd^->fZ5+_Zqid5u1}ao{%+TUzl{GJ4oV0|jm)ku)=H*Tj=J)HR@pBOpCN1*ez^!W-pJRR^)+J(}G3peeZUyHf zHyC{tkfRN`hLhMI&$7si>m)9=K3nop2#FgIn%8a?O=21p8k(z1NwmFRvfk(}64@eH zH$3q-i74LgW4qssgrAn1`%rrT2_L;ANudT7W&La-*w1AuM?Kbn#Aeo79ZVWPU1@U*G=-fN#|8ZiJU%8Vt+n-$lFjzVn>y9 zk2!pw#EhR(a9>ZJL~Cm&EZ$f`qBe+MyzldcM2YX=`+TSV*H)ZxP8h|-jqfnO0_$F4 zUmfb$qV6a3q3gu@UP6u<u{i1gCoQWjn+rdno7q%p3-w0na{PpEH<|5Zw5_kJlU})nt!XNjd=*f~zgg+-x*1*}9@Mjj6PxWr1 zeSJz9R=FhZ@{h_3(e5P9d*Hgu#>FIVT>A_u(R>p7aL%Zwj)cUPKDxG2Mlf|N9bFJ9P~V7xfBS0)QpanREGXNcq;qb+(yC=dlWi+IIY`1^vJ>q$%J3= zaY$+rJ^od9lOpOb6aJ~+YaWIs5`Mv4v6hQ#2|w*>(G)KM;S0Vb@aTTmTpWgZ+RxTG zVjtyWb#|ie0rZJRUwWKbj)%ylOZcOc1uo4)312T-OX~a@!q1<$Q2cZ};dhLF{_Tt# ziC5H1OYM0_;uqu?wK&cr@!DOD>d#_G{PagtEbWGoc8vR*3er=|6N$DScjG^^5h7hC^V$h~~BR z0$8_$KJBBs8r;Gs@qRp^zt=pnHmZ4hIasZD=rHMx7nmCLwEf)q9n>5uY!BQOC2YL8 zkFfdNF2dHm&L>=-FJW~WYY3;SO*o$f`kVmkOE`{l!f_Qq=*yQ@i!0(Fy6$_7ao&0e zt$&hc+f1Kp3f;ZGudo)@9bEJ_f3gv{B|O{~1s8!Qla#R~KLD)Onm^N6^#Dv=&dJJ+ z^9413lO@T^ClEFow-Yu$W*gz^=)W)6zU73|8A~`_6T=ziJ4$);rwe{0s2zJU^q}@hrGWu8TSm8x2lJiza|sBv_5K z9-iGa5=;jj7+zjl0BTw}+fQFTLfBY)l(6|zHwart??YUlBVl!74iZkcns7cHg!4T@ z|L*$3F^X_pQsC%2X~=DYWuAQlZAqL6OGq{>Zva#scPkfjmp`C%^P+QwobH+aD5hp z(-}`V-9W>!-)Lc(#x5{_#Mn7_Q9KDCSfe*NKN{8?45;2X4d@g?T>kB2U&d+qh>B7n_Xh9%^!HV-OGYfp zwS!e-wi@Z@&ISFADWB)*s=_P>?}4WpM-evO*+tmAjz3}Rwm&3X-x|W|?AuQ`U0=fa z+$5ZD1mQSF6P9Z`A5;%*Sbpr_aWKnD*t$L}5$wFauYOiI798!K9pd{Or@vD^X_~(2 zU9f%2M5HLv->GjB`JI?a_cP~>salyT3wmzB(z`#!!Sn(}DXGm_gpK?X!sb7GCv4qj zBf|9!B&^QVDfIWssqRuW!udQUtnWTw!f`kej!OdM#~9n4>!*kv$v_3>VPQ4(~g+z49PU=E6> z9e-sN{UU7KQBBzVgI$EJt1%*6Um;<29y$?L*GQFcJ{pAeZF)plj*3Tw<@zLF`FpvI ze3q^VXooM@S+CdxCL{0q=(Q(D&{mwP{M)ZT$i<7h+?juruyOn%!sU+;u1SpCGKSgM1~+v5M|<{)elMPvp;f zs+%6*69v!You39)Rd(kDHfu@rf$|t$ZQf@Qm^Vqib4P(HEQ&k*Fh4U17FO53nC2z| zT6a1;6Ss$hGJW#o(gX&^<}VqSHg-Ds6H_}+5jHO`L)f~l4utLFO((2QQU_sm_lOYA zr%8wP9ZUB${=+du6j-i8x?k{p`DDgGlqetjd_C9$i0q9Ahdc*V!C}kXuhOXcF0iv|b^s_H9X`LR1#KR`-i2VSUc^!5?3b-*i9kKOAlVESDaA?mw>aXwoHJq8=|Al(9md z%&ydXGuVSi#%&EdJ!T6ZhV?8_>O3fbDP7x+OTIFL8E&)9^H-dJX%{^M>BgiWzh%ag zx{Yr^{BT@^w*PLz#+43)&2K(T*t+zqgzeKEMOdAC(+R6v6%U*bJ+J=wI`09N!}KMv zT(!DHvF70X#WK}I!|8T|ga2`&p5JTn?Uyc5I{R&mPGS`qG_07#Q zdDnD{{JFXyH@MDTBc%W&zgiXN?NkMk%ahFJNAn09U6cu%F9|1XUBDf}_6_F~R_DrI zV0C@^fb)?D*7xU2U^&+DfaRLtOr~b(J?WGcAsSgR%NI28iN^M3lId}WC?AerB6pof z_XCf!{u*4Z^WlhZQlo|l3?AGtXso#?j2m-QSz)Mv4IIQ&$D7ubV2c9C!J^a*fv|lUsiN8ZlLu z%$?>oWyfz-qOn>l`$RX7%sI#lxN^stC^YN~TRMnOhA(+J`I$Dq^42CPzT-Sm5E;Kz zP&JER*>|hucd>a~Woxuka=?-}9X6`3(_!-_a)hmuZPNMEXYKSGSe@|#V0DKU0P9mP z2dwW8GhjKo&4A^a#3M4(zi3Cc^NFg0cIb)~xU^Sr^gI<Q* zq79~7E5+$tdG=t)(sctW|3uTrf=V_&7Ao1gg#c{dYd)|#>m-2Hm8ScB|MBVM0qYwm z4=jhc2(VmBL}0sp^U^7G>mc*Q@?UQgMId9v;vFX4%OR~};*SRrF_5M;Re9eeH%L8O zWH;W~3R0cLd?XVSAyv`O{b)ocZ0@@mVljLKZ2lO(v%+Z&MkmZq#JXba%S4?B)TN(S zvOdM=>yI3xkV^pD3>Ia^#nR7jTCL(n9Ha9I8oK%)9U&v+#<|7c>>=IDx>AHbHt z{`>en^z*>QGxDxB1w-1C_r8N3mO}!(tv)BYcb`j!+uEjQ~Wy8&=1m=z6dgmGQ#MH`An?)U!Mo+d_>(S z^x1;G=aHiWxfsaaTA(;X%Ry%AD*f?O+#%CN ztIN;I6fy_QnQ^zr7BZ5(zJ`>QL&m(YPJ9|72U!lQ19#GWXEWt38G6q00s?-zNt`=Y5qaI{hK*d`Q0+lhPq; zu6gaCUy~s7mUE?*#B9h+axVStR|J`M#sioPNyyY+dvxwZC5(!gpNMtz^I^7+pw1lB z%|oBD=&Obt-;wJQ2yIUcvC^9Y*^?u)hiCOc_Hh1)Q(ucfDEw%y;y)II15TUQ&XIwv zqyUwP{IQUwxazdgGJ3q9XP$a5HJ08FhE9|A-UyjHZr`{)A_rqJ=JT;`3igGe&Scb8 zM<2??`d;8Tgc8W53_|s3<;IK@UEif;_@Cjc4F*`uTtD7ynu#9}s%(-ISb5KYt%2 zKf7l&K-THAJ02|#hpf<%rN-Cj@i)D_)~|6mWNAJTvlG&JHr~TLT{pIl&a-{#sB;^2 zjnO9oeWxMEG2}V|Lh0QJHPZb-SiWM=!TpCo_{nV1>wbnHyq$Zn=G;0ECMSM9BWwYo zcGM`fH6@VsNlfEp*AnVyWzpKA0$FL^{g?}M9P!2Ir<(>weazGQ09!X1`{tt#U7tU? z*~8E$8hv$te3&K~2!v^lB>-b=i{m4BgAS{p$6ziqO zW6dpzX~COm{W}}OH}pA&57VB0-&O}%*X*7JO-LFbP}!b|Abd1>@vUmQ{wMO% zMb6Omi*A^tWzm>0u3dcR`( z7N8D&{jBb<|9n{AsmMWj{%{@X0U@5@4ChachhBS1Jue%L`RdY&t&>Zv+QbCE}N*nA+? z(a84E^N!VVN8LK~p?$1xGje=JF8X?`O2(~Qc^!mB7gt3kI@0rV;NjaJhR}7Cp3*E) z2EuE*l9b<3&XPc3<0HK9rO7l|c@BY@$K37D7sEX6M9ed(fZ7~pY8dPAdJ`9ey+g`gb{KT-t_^ z@})ZOtm$<&#Zvw23=qP&km36GKzLm0>CHZR910)PhZk>wa948-RBpgX>)Ct}*0o{Z z9n_IRU3y-zKJ<9AzAHG6xAgpAx$c8-PkL#>a=PwSO-JP=dGvg!uaI`5$K_3stm89! z9=7=8ZJ9{#*G;~n%Z#>w@S#LcQJ^OXZ~BexUZD!YOE)I`wB8TG>OJDd6Y29)Y`lQ^ zU0Ame`{+8dI`q6{bqhJ4=c1gi`&i`gMlK}~mX<*E$p#SC&0zY~(EG@Xtb;q&({=nf zKH~X3dR~8ZeQY<^^-mP!E_DE5yH$hJTnYMjWZ9^TQ+h!7`gn)rIeH$wyf*!+g*-+& z&*o*Zt_Az3KdWPix>S$#iQ;_2=(@2SPdTnrl%s|pGfuh^g!TF=nMbtf>yoW4a2f%^ zu5n!_sz=cGow53!A^+mP75KLT|5o7N3jAAve=G2B z1^%tTzZLkm0{>Rv|9S&D`&%(> z6CYsQUY=Pb-n@x%o4H+l)`yjh>k&hZ5~Uu-)$!s%%~9@*>%8Xnknx8x9>cs3S2s=k zZy%?VgSzk0=M(xyB8Lrf?P5YL{Y~Qdrh${lqZx1Mkj?sWlNnF* z7PA)N6vjj0ppN(5I>vq3uOa6a&tTjxxY*^$USQmKQ?O4hVYxE)LI}JJBBiB_XSeT+vHQbU3?3MoU@X2?^?_qsQQt>xt-SIJtz8sy& zcva3jsjF(oc)G5d+pMC_cm#j_c3mTzalc)5_M+%x#@(}}=afhohz)Rb@bVezSoc=0J*H0fTBhPHUHyG;QXR(KV*!V zfX~$*9;@wO0`z%Z*T?K-{D*1g-mDWcz7;uk^P;U8pHc^MIbtBQu2Y?F)z`qR3okd4 z@4mvUTX?d6%Dh^P&oSSQbziY>3hH>HZUy=P`W`}#|8dcEO31ps&oQ3~9B(`*KQV&| z=o$_^PuiG(u#G=-X3u2&kDMDnPoakK6FfQ4r_jy#rX{rx8$FKkY3O>tIQBH-sO@BIvUeeSaWFI&#r<4K??_t^0rp?8hYB zANGL>=qX%s*YG0~kasTh{fbT|V0?~>y;vLLuX1jNQB5V|XI3+zYwQQcxA=JXuGR63 zueP45$e5{&PoLw}oXN5n8O)nvT`Jc%ZUpKypl%Q6vvMT*b|J@4M&G<{o zreD@N#`v9I7!`D)jq%(3TKeMwIgC>={|M{0VxJM}(DR(t)kUAP=j zw1k+c-evsVUh%J<-NN`UUNfvf2pA7yo~{>LSA%_BsAGe=^nS+rB%<$X;oS{B+o-bzb?LgWK9kY+ zGjhB{F8Y3U)bf_%lz1lKTfYXCjr91A9(H)%&no8swRfiBRJ~u^N0X9B0}Vn{(m<1t zy6t32$&jK{rlbhRe2{spB=dAC(X4sWfF(^NLlK&(jHNVclIL#k_1ASh*Yoyy_j|Rj zd);e&zn{I&K07(~I=rDLzfV=rVm#Vz-_uDLMz6;MHEr*TslNW)k$ieRI5nRZ618MJ zjFZ)@X43PqI55>MQ4OOy=IQIn)~&+66R1;;y0Yk_kG_G=hw_eX(%XmaSdtSHC8YAUl^UJWV?q46PGYNI)qE8k2b|Z%*a?PUm=|zt`Z>^!n zQMt*=vWVeLDQh~QcAMeNh`cgA=_A9FKltudHhtd@4>}8W_Zg3`n@4Z*Phvcp<~fQV zrv5dnoGo{pWIXOZc?_jB80mRp^YlEkbxW{s59(Y;UHWqg>qGTfU&_gHTtO~VdOlCs zdN{6Ncw-BtN`4<^cyou^zZ`p&;Vs!%R9IO-o7cnuG4pS{bqQ&(o-IO9EWiP=09N_{dt7#^X7E6(bt95orpe-=qrpI zV~{JB;Ym)nULZ7;9^Zs@%}?pS!z;DIZa+0)c<#L&Ck?|GUbONc-BpPUZ%^-6vD!Zj zFTQSa?(SxW7vuHGXyrwQ7wWJ^qy87e3;eZUW2gwm@m#)PFxKT_Un}Z#qHX~C(8&5~ zAje7Mnx-TA|Nb8iSk$$+pEzU-4xW;}VmE^RR|O_>4b?paru}OJ_@3}?OML%&>670T z1IzC9uNNQL@GUEPL;qU+bmNc#QcwHWYTglE7tS8+Ur+Ivu{iXiVgGu}lv1}snY#b2 zwMP}lny#(){NI{z`(6EOuK(ZMXHLKW`#%ZipVeQ_@hSDMIsX3nVuU-sg#LZ*_^tZa z+)tc^4)zf9IRBVFOR>|2Nn|zHYy$e1tvmA zG)62w2Kpba#B{H*0G(W?y=_w)U_pMymc0w;yk%R*u`RQ$wa4dfJyz*fLb$aX;r4q7 zS6@N6{^^9%iz1wU4`Kc83KPyhj&NL^gyY%{ZtrCGoZWX3ynR9yXYTk0TP!S}^{r?F z`-NxJFP27tO{3nHw@GTSCihd|y#|Bx%_*erBvNa+AIrO}6e zPZ+8#AL%yGT+fkk>(PYUe?_?ZHH7Q0Bb?r2!s$;Z=tnsJw}j)mOgOGz;FY+8`1sj_ ze*o{?c=LOTtC`k?WEg|P+`~S%`yRkX)fc)GU1q}C@jd6|>vX{M&VV_) z0uw;*g=X}&xJFoz@*|+bpg$$lCIfp5Cbqz``qp6RdK%$$G1_IqE;a+h6$E%zq%h@8&_`_eDZ z^j8Ie&E276ueS!l>bK&V%bI3^v2p0P@3K=s>$CS%&;1G7GO<1n6n~RNABfJ};l$x-cmoc&!5i+U<9N>v7@5 z%3&|SY3`s`8$OqT?PB5D3to9(ssDPQ#nm;SH==vr+ocm1wU$qm>Xj2B+**ln`>P38 ze}HiPrG(RKAe{bA!ujnY=ubEA!zZ@Nyaxj!LRVh zP?x)Z==&^W>wy!N;2w7R(&>3!;2gX!?p(r5u zYKji4JMl<}aO*h)_X$_;M!5c|gwt!M?-y2|aDKgn^M6Z_i*Q_e5N3U~Mmp#rMC2FL zxby_Wj$e_JuRaL?zLTwdm}3C=j7})Ll~)5iiDeqgpAUd-2Zfs|>EB;Cq{Z~UF}w-Z zr3y9K2998~tFrCM^f>L&i!SW_E-OU1buz(y!qt}$u0MfrdO`&C3FpTroIiaoljW)< z92cE4rm)#$ee^|$^wy9q;U9;Pn5vhf!|p@CYg6q9E5yOqGk>4rfokw%4E(GL8o)J6 z=2zEpao8;LboE_(RajqPGb>vv35+u=`pm3!wMS32y}yS(7r?E}2)Ca?u%2-JVuaJH zC8$r(k8u7~gyXtIIIa`)`^Dpp=X*YZsOgNC($FIi>SNVwlV<`!n$;T4U9RAF=J$%H z*$2SOT1WVdup+p*8XZ2S*#S-=zm{AsSP2`>+nl@R{ti|~yml$PD)WQG3(C>ryMS}M_MaxbfWAG49keCs_5w=vm(A{qI2sZKMuP<*t2dhkF z3k_E~YtLgMwGLb>A>4Wg;r1^RuD*eA{Tm3UXGA!CI){SwTSz$nrG(>hBpjClL=LyQ zp)}D3qMdqGLbT}Ixnoz?%$pYg!Mi8xXKBU*|4FP(_nsv1F)%O+`#uRg9{DA?d&o3|yDJmo*LZl7CWIv4_!cQq4*?Grc`m+p27Hwk znV9*W1K!>hZ`}X1z&7Pt(a_IF!OrTte=9*f!s(wS=tnqzEy8h05RPjPL``VAr&sX{Vs`v^UoHL~!q2;G?4FVfq58{3 zcKwWe>+d3*UNYhIiwNg8k8u8ZgyZ^6I4(M;F8hW~(YGrQ zE1a#<7x^Do^te;sngr`1HvF-s)DsmtZ}8`tNnN)fZ2p|(mq(6;9o`KF!J6~IKe#n8 zw$uTRmOTxOACyoRMZt5m_l^>>Ba>}qW?>*h)Sc^ZUUHxq7Oi*WUF zgzKksLRdW~!s%-g&QF@4KS3_?Kd$KXeRHxO-i0`krU`W;^dWMp$rg8m5D3e!bn~)2 z55Z<~R~J3F4t&y)(XL_u-ZQ-YZk{~`ZgUI0haWuyjxvv%8*)rxwNxf!;T@s9a6wo4 z++%wQw@xP9zBS?MiwW0%j&ORWgwwx8IKPX8^A9B)*B!!f=|PONzOs4cB!~;uv333- z0g=bFV@6DggmC4Aau+(MHe_DL!WkYy5Fm0eCuq|V@GjpraGkU+xXZ^KY2wl6s|(cD zia)q|S^2fvGHMt4EXOXe#o&Ns^ zfthRGmVlS7|Mt}qU!`)|MQ)w3rZ zU;eHC?|rtvq<`Ox)ero)X8o)Gt^e{h4fwZa`Rn`F-0`jLUvtMV-@oS0(}DgqcfJC_ z>Ahp9)_poBcb>{j^~W#3p=;#Dn8RzqzGmh$l^-f#KRu&d|2UnST)Ne1!O}Lc3*0|p zyl5fVEkC<@qi!D9sVI8nSQvqw^w!@Fm8xJja(T?A6~}Qs8~63G{s8vVeOB)e>PMsB zJoL9kE(PRj2HrEt8y4A9!S8{cY}Tpe;Pz!}$36P*xNA3KF#h;#aH;>4^9Qzri( z(rp`H+X?4OZ))Dbwl&A|M7vMJHo1kHK0mI9t$mI=Ee^)Q)~`Yj9{lFvItKS2Vm+PD z&h|e-J%7{>LO(6^pN(89$Yl!t3hvd@KLYHixB29={xzNJ`~GzCF#xa90g@x;W`O5M zxv$4Y27sr_$1iJpXM*R*?bGg$I|aPjaUCxo>jUq2n^VaE`n?NDCd;KGHa&;A zxOT+-IIP#f{)4EejrvjON9Rkh{&$e;HgdH?@FKZuI``}#tkh!d-cNLHuIS^FohhEc zUl^oN)ij3Ij~pU@K?D3;?eF>aRfBK$z4|qKoWVCce7R-8Y4CNJKJH3pBKR(Ci`p=K z4ftv}gc%Kcfon_LkH`9B*l&Y+&8V-3esbs^h+NLdbr!ntet?VEEJH1}ohlP)lCV=!q`` zO7bhK=^TYXk(P^NniO$89QS!xzXkh6QSTY*SE1iL^gn}KsmNsyk$)~9cbG2*F>0Pu z))w7?2sMH*Wmj3@klf8rzvZ7b!c&R+?kF{2Nk6}5m+-Js$>Vv8Vj zY--l)Vi5@WabkyY!4wE-e=*$c;0jz%#(g2IUx@uHP;V{jPeVU9^xukHlE_s7F;D75 zV&^JBTw}w#jH6W$O(q;u^ZEc$;tlUK=4^z>xiU+|e$0Z1l*MJ4`))$Sgcx_{d_s8Ur6rH#0-r4!J2s#U3*Y7)(P7+zLvn2CNmuES|-90z?u22NT z4Hc6W|GXVy1J-5yUa1FS>1nc); ze>3X&p?*C2JwX3FkQlx7x5OO!{D_uO$xY9}u(zI|O6IR#A}%d&gH4Zs??QdY{=1 z_)@hF5{}KW;?E|KkUnI(o9j$m(>c2AKAn%t)_Y@rJnA)~emnZn=b%{sN61B=vt+sM zLyCz|sPmU8kn*zF@;m&E0IOpSrV>_iGQTc_O-?1;a9)tT+uzm~n)8}GXJvY>M zLBI3pZ-QLYk!vEPor z)8{tXbv^DYWBmf`e~xm82o{%$-|T-i1MGkdJlxr*KH!C>L?$ zy(pxvmdWX8p|8{b*6cp5W9vh(e>CbHL;Y9iw-fyx@R50g&Yp@uBI2 zDrB1fcwVU@3mGL&%)JC3$k1FfCE}qMq~B6sVYMX`(j6BVAJQ>_^zo}yl$wr1TC35u zM8{l6yUYLJIUokoiVPLne|qCO8uxRs{s{IPqh2)X^U*I5{gsewC~~PowyDgOX#xYt zZYZ%;9&ZR)MJ-ulnpQ#9%+zZkhU*~nh|b0nU0#qmXJzl9qM4BKU{rX)%lD8GU3_+F zmI`E;FME4u#}LSvCqME@N*`n>S6g4z-S%(I?hnTLY1sc3_2!^{0Q%XX{~F{nL9SIG zxccZ@^NKRqr?anTXSN6krVshus8S8tnd^+cFQCUUTGhrRB^|O3JjhS5%7!d*QnONj z6l8vteYxRM2V|D4x_9UF3dqc9U0J;<9Wv7b^Hz2*`L|~Gjj_HJ`z2BDAnNZ&zeVW( z2)U||Ybf!n9kxDpEFo)8+&Qx7%y?oddslvWL?-Y^%r$r!~jAB%NcxW0~`sPi0kv(cv> zeZL^bDCE*5vF;0eM@^>lOw;ZZC*Q=b)omELawbO_ST=U(^*m^a*}Oxpk)RLdh=6P%#8ltxkv26Dc5VnbCBEH?djWy z`(QN}XZJP4<+7>4y$bsKz_=ZghCcm4oEJE*&RaNvY)L*=`@!87qa~MD|6g4V_SK>e zosY}v()o3)Pc8aNAV(&0O(d}vruX;Cogh)QQbW?KK9jJOpRK3Q98Lm*^!#6RZY92T z=f>FcyoguXmA()MUBWAx(VO5~N<18N+^61KPTVKGNpG&6OWZ7%MLrHo!5EGCkyxjJ zedkeUIqK5SsaT%~^p!%6ugGj7_ z_poma>TE{cZuF@{-zMZ3h+GaNCVQOaH?P$sMrq<`Av*s&@>r)-;E^{ZtRbt|a5DY9 z(@(9>>Y7F*&~L}@!MRt7|My{UcBRA@fHt zuS~*ywpZLO{7ga{6OQ@!(Rrl{j0WExT0nnq@Agq5Oo9Zh`k-^&NRc{@fA z%+v38Wb1^m?>y@4Mcp3snT5WF$dQ3u2T6=NzsLVjHHk?$9JAb|mqZuXTrHaTfJA9* zjjf+?pG2fJbx(QxfrQH!ow#g6=bL`@yMH!sE(x6=-IXCVjf712%zL>_mINpM%Dca8 zBt|LBkH{I1*Hqh6H)%}P*HR#*OakvU2R|ARB7(LfI0?;O zp0PM15n~eOk71oF_N_ymQK=B04r< zX&M;SF<*ss4%p{_I;3Bh^C?GPE#%mWTt`Sufczk>j|)glqh8FV!BTX8N=(I2%59XL z>)CROL}xnaJ$ZJPL_PiSGgbB`iBhd@ZaedmL>>v)=$L0iA`P8fY->VDq|D3q6*b}* zhhcsP)~&}r`uPH@a|3nHqt6xetwIiI3Y2@j-Jnbxn1LGH;|Zl-w%BfpGuSz=PMB#g|C*AMupv z^Ajb!^{L)QRrb<$RRTHy=6Z{h8%*A+ciPjoU95kXVx;Hpc_ZNNiYv-;1g? z5}SVD`s71SBsSsVvgR{C>CcI;?=CrWfW+z!-mVpxOZA5szmvE~V!AapsV<_|$I}mX zJrxfz((8!L5AUz*?_+h+QTGS>IHGSea;!zJ3nX^x)EA>S(&O1Y%=)OpdJ=oi>*04% zXA=8Sazbxw5{VnxY;w8c6p52MU0A1ahs6G_2+EZBMq-~E+Q+QlLt;x}s%IWvPGZj# z-Tg6m0><%}r#@^Q259$?6_OpIG#z^(@CGbgkWy1`4Vrad5WhuzDgE22nTsp@03mVqR$aCA!UXfG0XXxO9OXYZ4^oszer zpO}$2{_i0vbs89#VBQ+*o?@Q>b%vp?Bl?t}?{nm^KrT5*u*q4wJ%#?>bIas51FxA7 z8ZNBdIdCupnA9YOZfphbx@X(t(`SOmf-#=0xq0Bs_@q22Z3ElJ%79W!3$S?Xup)oj zIndHl66}2Wn6R;F8sYLqgsU?lTwf#MbgT)dJB^?ZoyYyxSCnuZYJ}tJfzZI&N6$ps zK-9Uq)HNHjAk;JRY;d|61X!vLxOHC|yq~{KiWTVtkHved!qks}vswD_!%K9*wx!E< zPM988be@Zvo>2-~=DLFPU5f}8eF>MZBV3&(;rg}`PG>1$bq7ci&PR%HzUGAE$RQk; zBY6Jq-L<2N2VrtDu6M`vLdX)`Ub`1JfN$pfZe5uWcw5eq@a&WV_nHNoyu1w9(wZf> zpAZ4Ihjz}l&$9=ML({94KF%VYG*~lMPpcwZOI zxt^~Eywvo7&%2|*b;mpHj{iJ9ybrcsSx};X9>C$lu#dgD8^Ff+kFdJp^9bkTNjP5{!g74-A{^Hn z(CfA|-(nF8_DL{v!>(1Zt#$M3S>x#EfiI$L6iqI`wi{;i7fCdNQ^8R2bTj(7W9Kz5 zdB4SAeYwo2;D-g6yxw&v;TORC^u|biX-&dL8DYZZe-f@Po^X9pgw-+CA*`;X1mS$> z_eHb5s)XavCmh#Z&@_|O37w?|)+5SiAMx%6hwjAuWK#gAH};RW`Ei?El5V{l`x(|e-ZAnT{rtc^%Z7uku2_@ga1&Tpuh_zCE(VL*uScJhzXrp_H4{{<_kx;nt6qEWEW*Y= z3ka8QCv4rlv4rh=HJ7kDVnYb0t3f!QB*OW&5su?K;kblg$f>e%V~d4=Y1qST(o6^Q z_o8J>@6813cb%b}%4Sgvv* zA~9r-_N~iwE^hhT!jFAApnqa=GE6E1v)B>)<^PO^)lp;09E`8R>Me(BKU?*ISx3ZE z<)Q>IPCXZ8nwt-daq9EDva>KPZhrKvzDV*n&KB+>Y`**)Ve9fv60YwwVRhDM6Hd38 za6UnV^YtfxIX(&Z0n1e&OcY9cUzZ1$EctEm<%RlhAy^=n8?>^N0loc$cO;K)f)yU3 zt5Z)*2NPz&Hj!=RU|iVV_UrvI(EF~txPIPu&>rlosz1gW6g4dymL%m6Hl|!8Y+gE$ zuyymd5w7nBVRbf7Bb@F>!upI6C7f?lG0X8@2w1MrP@?>{XGL!=}K3?;~3SeVSpC z*Tl~o$BiUxl>JHAyuT>n>U0R(w@i_+IzXSuIoBv)>VB4L>GdbdDtWjAPT8ZAGm%oMa8=f*4@ycaYM zD~>jmD+9GXsy)7E_JTB1E2`p2&yQ@&kB?`GN^AS5C2;6Y+b7VjQA_`#|^ zGPmoz$lZ(*GA{GYX8xQ|5KpbEYFHWylWTu_Bt8m-DbnWZrJ{R5?viz#FTVtam<9gH zH7_A-wAnz|d_V$W>qgLd=zsej)A`6$r~b7Nu)1@@fb$6j&bI_O4hA?bA);E8-xPdM znCQ&gS5$9TLv;4W?Cn}rO*BrWMvrc5CMriBm~5VsL&QvX@MhJ|hy8x9 z&ib7?AoVb4Y4Wz5;@{uj{?cDvx`d4z^a-2isS&m=l_6}Orw*_>hi?F@tMn3BpO#g? z`I-XDVXp%$*I`0t22R#|H@t+9L8)m{B0@yx(i?wQ^KPP5V0~*|z8q0|H6!if{SQPg ze#^LBGNDU;gfG$fFkiU%#|pRAJ6(f8s8%&@&UYw&cPqcjVrb}+ztOz6kNnNg9oV#l ztxFCqX8R@!1FNII6jH#d zvl7~hix1~}l&@`C@;8>XD-{3DtI#D|H;K+${@XXJ1X!I6NnmxGnt=6jECJT{L=JEq zeZX=_(&tD@L@(LC(joI-F%uMb=#T{-v)`UsWlQGr#IF=t>5!S5OK&;Q^Q$E0qBD%n z?;fvIa{WpuLnO40tl98VhzQ9|8Nh7RS@Qba^8sZG=^X37(X#;9{CYcJ>mG&z+ZP}V ztPZ_@vASY9!1}B$0oIrPe8+MG3j@p5t^>Ii`)RC@=(MFoIV_1G)6mClel{zYiZ*+@tgcMbS(%mJev z=IQ5hY@H+ao&2Z6>KdZYQ}m5Rj?2j91_#3|Z#P#4fxvt7!7}Sfkn!9&@Thk#q@Q*$ zkh%~8X>AL4Wgl1xX)cDl4=Hv++L&Os+{ITR^=U}&b9Ws`Es!$UbWbq771n;>^KgYXw zDY3vC(jP9ZQQut(>GLISiN8&Pv~us)4(!Mzqb1a>=!Beyzuus$lfz})2mhV^T9jy zC#SV-fs8X-7Q3CbhxDGhoa3rOkk0>EH1HJt{C0}UpxP6ykk+khIsdv6q}AVZHnql*Z40~FVgtviS3Y~=sqR1nqDurrmLkWNA&aApL8G?qaWrY zu`UDqMxahE>Y8#sW5v+71346t%K@@~v}Ake`oq3)SIy!+2!r5w!OL4auR->yWwu5g zYa#1G-@MCiOCht&A@#D{kZkP+3IoP2#EM*6uo zo2QYj^T)mrPDk_$>aIi|NA$ge9OB634cTc42YX`$Ah;W4zV)m+2u_VHJealzvU`%t zN3}>pwqoNH10g-N$gqRQ?b>WZ-bf9CGQm^5D4` zXJMWm4_g<6eX~*LC+eo4&v^7rMGj5mIu6z}QY?(gGt#-Xk|`UIn|8FGjrS0H3BdN@R9Kn@7Z-EDuy)6cK>x@|9dI2{DK zW9%)(tswiFaco9);>*(JPuzjCVXFKZB^MyW~?^NVy=;z9wH>>QLtv3i}|Avlw${*}4=XmWQ2rTAi zJkzLv>`sl8Q#o%Tn->#qa)Yi1+*-Ht!7J+LvTyqDyO8B2t$O}?F=Sb`y!i7e2xB1T zFJWB~_BEkS73y}PPXqcsMUKtDaqXg>xzt97YN+4>O^HnfMETV%fnjg zKp-ByJL&p9$UadUpJm<+*(>fi3_My3*+K=PcXmF6tou7oi!S;KS?3ijUGnLDiH$v& zr^m(CJ;A;QsPh_i>FdV&(EA$eD}x+wkjn+KSNZN+rTv4}FOU$nhz5cE3d2Q)A3?CG z=c|d;3J^@o+V%yVu%-R3Jz@8`)2 z9|ZnbiqVkE%ZOqfz24ZqTc}fpx;^M~7ky2TqX)U@`{Z(%lCr!c2*!P?RXVVX)=Ag? zUO``9r;BHn&e8(G+VWWWuDj zU-dRDr>{2~>Fdkp)3MGN`zRNypcdAk4J)FTgAX)Q(1a^+d`S+^m;Zu6Y#_0I@MQCuKy?n0tM61L^`KgASo-arRxHM z!N0Cc(RuY;oPv3JJZv4k&#`^<-%nPj=$|g@BZ0oOpXG=_F8cl+u(U2@5`En@ntPiT z4x`uWp~&0g>FdB#>YN_91O%R2<~l#5@0+bdWM-VdNw1UWc#*u*ATT}vU;o?#0jcdf zwL${~nhvDpBt1ShQf@X+{~cxP3b8LAb?A9yb@!r=A^N^R4to47S1Sk<;rXlACqZDC z@#sU&SrBZI9ND_27X*PqpVIXE=>2?@a=23g2qLoS51~RJ*fG?hD{wXaIdaBy?YVzI z;JR{|GX1^2V9V`jjo9@V*I}M={H>cu?^kS}DW{Y27IjNG9|LjprS}n*;{tL42(*T8 z8266yn--chRQ>{i`ygM_>2V;~H6TK^Y%mA}0T=dUmVh8{!Y3gK8V{cCZIPm{w?HX= zqzJt((`JY#s;ASRH~0%T4x5Kj9rMZm>exQY#p)EJ?rqNJE`9&8zV!UF9AA-Z@&BF! z`7i!=2L3w(|DA#V&cJ_X;J-8Q-x>Jt4E%Qn{yPKzoq_+~XMhQFR7*=gn9BIpKJ?7F zcbf5*S|QOnM3?cjKIPP1WXSMzZup5Fl4U%C9;uvIN9Rno&2;N2a$?+P*a}(>UuWDd z-I!)DSCw(wF`z)D`#i?8n4g7pm$1(Wb+)6fD*BkBuOV`rL#|9FbohN=7q#U~fco}C z@0#I^PueNZuTrr3k=6XxmsMz*dE`{Gb%DC(A@Pc!-sM~+d*Wy0*>off+;vV{p8 zRU)H*u9@*$XnZwU=>X&XShZ$vha%(U@O?(&V-v>HwtTnnhbV@363FM%bnf4rk|2YL z44nsgL(cQbJ;nnv^Sv*KVjPHhI-ilPqjL(`z9Fa+h`KiDGYft5kfRN`+?c@IUOIbY zeVITBp^r|%eT={UkENcqUm2fox;sm@6*AtAPfiWeT+eu!h_9i)4P`vz;;uMst!F$3 zNFPn&J2AY|m)>97cbefv^|U#p(m91}e2@9#Sho@TYEUN;b+@2TIr{$MI6?*@7oQ0@ z)Eo8q`#2_`oabE?B+B@|3EW(0bCmIYc_uN*SC;WHHQQ`@cn#yNx>@mh*Ad3cHeV?& zt%dP?@N$vqXnDrduPr>!QJwKzv2j($Rm#D}wV0oeb#mC(iaK=OIIC-mKFa8O8aYNF z*JOs@EdN9HtOXO`yKeiuCv?52&};q$S;j9}&QD7?pYfF&Iite-A>$(yQLE(|$9T`4 z)UEoxmhsAZ(khTU%Xlr`T0;VdFe<%EX#*Lb;#uWkZ*DW* z?_ZO2#Q}`>daVcQDd!ol-$&(EZgOJ0s-m;H1*#ZlW8N0)=zW3h6GEL!s5=6EtkHKg zaws8}I>Q&Onb)2=gW-1+I2D+*G5pY5N_iC~jDN6plkNUi#?LNkP18Gd#@DI4TB&U? z-3HKyJ%LMU2xhUyOB`*r(aA!|4Y0 z`*6P7`#CtSm5hHuc}$gBFT)SHFikc)lHsT9z3JK4$naJ39=reg#P}zENL*I5lkt1I zd;8}H9~eKYjZK!jd>G%B^e{O(Z`n6vhFCyHE91*^H1JB&`WM-J6V|=LK5x`{hq}Aa z=MVZeAx8?wHD@^EU-ByDyP_S#_nrmyV<~@z;7Ug8aE5Oo@Qsqb!1y;PzxUl1$oQ`? zxT?4w={GNcC*S??sLUzs8mE%iZ?H(!7E3i>Ng*EqH*j8uO2_&JFvLP)7xIjnId# zS>KDuQOa;!3XFeut%`ho4#W2~FV>&Al;IyC;*X|SGW^|3(x+W&VED_n=F2@_%lLPu zUW`5!%lIeHu+kd$k?~)CM!GrnD&sHRIP2U88OE>oVQNw9MU2NVPw)3^-8Jm%L7iyS zU5`G`(RT%MEJiN+evp#f*4<)C-`{VN;#6KR{Il28L_gB^`=M)XQ^iW@@wjew45?!H zGv7SzVs113?SssUe>5`wr!E9X#2GUFkqfmNF05w!-74Q}d>VyO8uPALM~{!~dxbg` zsQURBe7pL6C&om~@5Q=s?4$R8 zR!0$a>(GaCu)g&5WI5>lgXN<4!yPXTraIC0_oakV$x?d0o_`!)s86}xzwcHiGa3H7 zkMG=eE}{7f@5Jv>48Lq(yIgn}!#`Jk*Y@gshMyxdwQzkF!%wq4^DLd-2iQpey<+ow zu#R5;Y+oqq#Gvjn^r1SeuN-o0N3K4GpFLhG^``{Gzx{3GEt8`R|AW%KyhHn#0CAxu z4PWh;fC&bEd(CDr0psf}b3>Jx07)M)Q|)0)fXFE03!iHk{@2O-f7G96_+2@ZV|3*) z%3}UL*1h=G$LdIwZtF*u>^D6CiZQF~DFw6EII! zt*3-B0MlLtlD6Sq}RCWVt5)A8ug5jsO4v literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9.i b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9.i new file mode 100644 index 00000000..719299b7 --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9_out.e new file mode 100644 index 0000000000000000000000000000000000000000..3b2f81497311a8d5431d27dd85c9de5bf345c971 GIT binary patch literal 105840 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Ξ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 mqLY-bAH}*K`<BySuKv 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 T&lvPg#vE_VRY8s^$QAxS^8wWx literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16.i b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16.i new file mode 100644 index 00000000..e6aa08ad --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16_out.e new file mode 100644 index 0000000000000000000000000000000000000000..32cbd4702e3ca4fbf404ff11d85c44af781a6f18 GIT binary patch literal 159724 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

k*CXHgUt+YMp38)5FV} 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 W?;oOLf{)9H?)l}^$93w<@&5q2$C%k9|c- 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 B=-mJS literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7.i b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7.i new file mode 100644 index 00000000..fdf63759 --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7_out.e new file mode 100644 index 0000000000000000000000000000000000000000..837c9c7d5df4d2435a203e3624ab71e23b194d24 GIT binary patch literal 159720 zcmeF42Urx>_xG_k>?L;B-W9v3a6z%4q9C9M=(4~9tH2^f!CqpIu_xBpja_3mmTNRI znpk6^u_X51V~NK0e$TykX#%<%-v8t8$?`lO=FFLybI*L|&di-Vvomd6+GVw|vB?hd zf)XHixIR)Fsf*Ct*kr+|O`cdogkBpHtB;~F`Ijp)EzLD2|9- zP{q+k>7!Amm_X}fOMV$AhMdJx`5LC-Ym|nsvGV0Jl@lq#*%XIAnUBJy_EEUhJ_?u8 z*IyS+KGIU;OuA{MGY5P^OG9Lc5wql`aoR@VhDdB98xL9r)eRPb$7>Q9E zS~iPwmVJ{k%$1J6WJtJC7i)+N)kYZ&k+IqV#^_*ZHjrYIhExft%se56aBL4bA=xyV zUNk}%Z-}5efO?}va-p$da3?OWfo+T6O&g;k>0;w(Q=4MLw8;@`hz+L#@h3EhF+|jD zrZvXJ))U@*@K*aW>hm%*`ktSNPjs2!r+`lB2O{N>Z& zUvA7F6>W^7x?-A_v?V*c+$ThS*<4-Vk;|HvuY&PBkumR-M>(1PXx>6{Bwq~-b7TJG z<`;m)8N#+?YRkc{J~bmgj?ca|RhvJK{xn(j=R(sWrxmUt^6PJhkM*;=X6zo}`H>E*-!rF8NG<$>R3(htm}Ieeue! zTcNb)^>ax!uPNWc>C8I|ep}kHsL`O#b5tjbsQF22vE4J??@jxI-(Ad~zrQXVd#j8` zl^lOG1I0=EIF%*W6iiF890`KI_bgZ32lM0?`HPLI&faplq9Q`le)XPXm+4T~i`JpA zSO-(g2KvBM>p}ah=?}*>+u>p)OJxm)DVJ^dq081^_|CG8K6Keu@0Q#6LznIFZn;f9 zbXjjIR~~;Ly*5@Ch;iCxB&JD!n4;bnBg4ifkn}|xB*dtV)(7D%7K3qGhNe?H&h!W0 z(s6Pmhz3-D=#PfUG5IJ4)vx5!k}qSLPV?Ka9kc0gj%g^I3)9~(L`a8l*L)z2v$4tXVYJSu3v5IdRK2gh?hR;-a zrXihiD4uEfLd7!;U#fVf;VTu-G<>7tsiBjIW@BR-rmNpc759uP@1k6grPd|24yo5W z^?IgWuhi?2DsO9^O83n+1g=FnbYkNr^C#>xdQ8ldXWOexL?(ak9~MZ)yI#0cwE(sk9}x5KYr}PQ>wq@V;`PT_48vNo>%=*AN%m4 z+K)c=;U%@*KlY)ipYUTJURCw;V;^2u$EA;bcvJ01AN%l@+K)c=;T_dp`q+ne)qeD` z5AUn}=wlz6?xTFn;?aXVgs3rqMH>^z0lxD^1Th=LYm_Fg>G7&(qTL znDm?~JyS~0iWUO&Y$rXhNzdDvo}r`Pk9-130(w}uG$;egf^widr~oveBB%r^gDRjZ zs0ONo8lWbq1!{vjpf0Ef>H|AKk4DntnvFnX&;&FE%|LTt4_bhhpcQZcj(`Ct;0#)W zHh`X8Z426g_MiiB1sy>r&>6UaE}$!L2Ogjs@C07K8*~RffDh;ie1RYE2faXVpalUy z2LeG52nKo(0zyF;Fn~UwF9-+JT8{)qK#jM4AR5qfjMSEi1O34O5DyZ-Krjdl21CG5 zFboU_Bfv;73VaGigE3$%7zf6K31A}l3`_!_gUMhDm0kz!3BCYdf>~fTm;>g5 zd0;;H3M>E%!6L92ECEZwGO!$c4OW1aU=>&m)_}EO9as-GfN#J?unBAiTfkPZ4QvNH zz_(y0*adcjJ%EF~;5)Dn><8b2AHV_dBRB{SfuF$7;4nA>j)G(0I5+`*0Vlz);5Tpz zoCd#xGvF*Z2hM{(z@Oj(xCkzR%is#Q3a)|c;0Cw}Zh_n24!8^Mf&1VAcnBVWzrbVg z1Uv=Lz~A6Gcme(aFTpGD8oU8-)uXCeFw6?Ff$Sg$$O&?R+#nCg3-SS5kRKEP1wkQD z7!(0TK`~GqlmMTAlAshQ4a$JBpd2Uvpe1Mp9DpNWzzH~m)}Re=0c}A$&>nOEuAn361UdsZ z&;@h_?!W_d1D?POc!Tbs2k-$sfiLg_{-77=4YVKt=s+L{0>MBJLO>`80|w9s^abG{ z0z?8MhywjUG>8GQAP)2g13)}T00Y4wFc=I0L%}dG9E<=X!6@)47!AgNv0xk+4<>+# z;4?4@d=4gqDPSs?2Bw198EgSt!8WiR?6AQBl{CjQu)X(1xhO)*=0ak zX-3-B26dE8 z+SOG)vPrvo%11V7S6}(aChhE$k8IMef%1_}+BH-@vPru}%11V7*I4<;CheLiAK9c` zQ{^L@v}>k(WRrHym5*%F$zJ)$)_@j(d}NbOEdlw+CY@RV@{vtCIRNsJO*%OO@{vv2 zF+e`jjI?tC&dMh3S_3CQHfh%ekdJKA&IOQc8a2FOP?>C^>~k8IMZD4#tNhg2hBb#*UrF>+QPQ8_nY|=@qd}NbO0f2mDlTJDipls495Ri{-(kTd#k8IK@ z7?6)_(n$}gpc0?0=;=@bgcM>gpc2FOP?X=ecBBh5&=KA^9%NxN|6Bb&5~P(HFr zyGZ3Do3t}3AK9c`l=6{H+VxXDvPrvWgq{0LVu+=`;|Kk8ILu5Fj7fq|;zPKC(%tA%J{jlXgP^`A9R;ZWtJ@ zY|?H7ARpPJ-AF(_vPrv9fP7?=cAoOA+M>c6U7Lbo@(rz3eAK9eS zctAd~Nv8>bd}NbO69M_iCY?S5&Y$R?e>Qa-Xtrv=JKHtDnwkdJKAX%SecY|?2lARpPJ(-J^FvPq|< zfP7?=PRjuK$R?eZ1M-ngI(-euM>c7<0+5e1Bkfj#RmvvqRx2Obq}>|jBb&5at9)dW zcI%XnY|?JM@{vv2ZBRb4NxN^9k8ILzqwumzBhY|?2fARpPJ z(>6dpvPq}yfP7?=PCEek$R?e>1>_@}blM5XM>grS3y_a&(rz~(A8AI~?Ezfbq}^UX zKC(%>@4#MVlXm+6`N$^i_5<>fP1=1A$VWD5_X8jw*`(b8Kt8fbyB`7h$R_O$0`ief zIvoP!Bb#*k36PI$(&=YFKC(%t!+?BblTJqf`N$@njso(LO*$O|32XrvPq{ifP7?=PG$=@{vtC zT><1Hn{>Jg$VWEmbPbS?Y|`mEARpPJ-3>rK(u{Pv32rHybh@p4WRp&Jl#guE>8|pT zO*-9EKC(%t`^rZ)>GVMP$R?d0Dj(UT(<9|0n{@h1`N$@n9xET&q|+1SBl{wF3dlz` z>GTYck8INEZ$Lh>NvG$4d}NbOF97+-CY}BP;~gEN}=P=?LwzWR*TsAByPnfX~#Qk|jH)XTvz@2<=2)2z;h~mMl4? z&(!B4`bgk2^}l4vjp?~CPC7y-(RTu$sb5C)qvXLjX$GA{pGsb7lTM<4B_GB~Gw3Ax zT5P3FI*ERl{1_+App)o>DIjgqN%Y4Q#5idN?L^;9A=soDv@`Y72pyrF=&vb)X=Gy{ z`fiFTo3tyTd}Nb$pC}*M&`I>~kdJKAu9WhTodc9sKC(%>GRj9bbjngz`N$^i$|)b& z&?!rKq*WRp&fl#lERpt16iO*%DEKC(%trht58lTOV5`N$@n zngjBYO*+{F@{vtCwE*NJo3v{Q$VZxycCCPevPnBf6DLb(k@W>$R_QAl#guEE?D`aOESLw2M$avPrv0Smh&|w2MT~>WRrHIl#guE?o;I>o3tCPd}Nb$ zW0a3<(r&Eskxkl-Q$DguyYb3LHfc9O`N$^iCMqAc6UN%_bo?LJpNvPrwi z%14@!c2mGqWs`Q(l#guEZo2Z3P1?;+KC(%>naW2tY4?TlkxkltseELUcC(a^Y|?JF z@{vv2%~3wGNxQkqM>c6UPx;6u?dB^V*`(c9%11V7w?O&GChZm~AK9ecBIP5Sv|Frv zWRrGFl#guEZmIH-W~ALRuw2=s-Pg)THfgs)`N$^iRw^Iaq}?jzBb&5at$bvYc59T6 zY|?J6@{vv2ty4a-NxSvRM>c7byvPrv*%11V7w@LZPChayWAK9ec7Ud(G zwA-qDWRrH=l#guEZoBf4P1@~{KAS8yHa1y7Hjo|U069S}kQ?Lyc|ks43-W^kpdcs& z3WFk`C@2PsgA(8qP!f~^r9l}`7L)_!K?R@z6+tCX8B_sPK{Zev)BrU>El?ZO0d+w= zP#@TV2B0Bm1R8@Tpebkunge^#0<;9JfCF#@3^)O2&>FM>E}$)F2ik)Uz!h`^oj_;c z2D*T*z#VviZom_G0dLS9^Z-7fC-4P+z#sGiy@3`4038SfK_D3DK?n#1VZZ?TfW9Cc zM1V+O1W}+Lhz2nr7Q})6U;u~*31A=?1O|g4U?>;{hJz7cBp3xg1*5?jFcyphouoLV8yTKm7!Cvqk*a!B5@4*k? z0QeCc1c$&+;Ae0c905ncF>oB50Kb5f;8*Y)I0a6F-@zGh7Mug;!5`pHZ~NL~C1;fB_FanGOqrj(NG#CTMf^lFxm;fe%&%h+`IhYKl*x(mcfF9SofSZByC~q#dmDz<0LuNwT0{gT$4`bgE=Q}-ys8`}#un5B~;1Ku& zJc3TB17g3gi=i{1eS+#S>Yk`0R8KMs%8#}O)jO(lRNttsQ9YwNM)eEFCb14UCW-b4 zjzyv!f@6?qe^kb>DyR->Dr#YfV}v-TBX@DmoQ~lNup9gWZh%)!1W-psdv7a-+rV~!m|{O69Z^?B zI|j!c(M}kS;Y@(|;ym{&hPS{QECMaWaTVKA9JfL-q`Ey7EDtusL}_u<_^GA*7Dqvdw|7sOb>!0u+U;lw<6`2~5zqb?xfeRznRC%m30y@Lvbiv@u3R=putPo$(0?jdOHp zT!cO{Hb#T8EJ##?FABu!<6`O>qhd96>qgd%4TA*1F%AtibqyNvC5L(jOo-M88}RDo z*t#*X!T7QR3e$9#pQ_Nf;e@9-v(V0lKsS9%m?{6HkU{#8kmijW zHE$Xi9Mrr~aPww*dwrmNb6rp)oqb@l#!Z?vXrOQ0pouPZRQI-Co;>KknJNt$X?b8@xY2>N(oPMMtBOXuR+>n56ZElwM(Rns)j?O@k(y2KFr)*|liU zl;mriIza02w(>oZ(^9FRL$SYDj+^3fU{UqAd_YOD${o#aER54 zh^8<}L+mNuUR^(|%FtXIO*(;0A%`W3#a9#fEk_y%sn`yRmi{cQHIzocx_8&Y!ReF0W;hz4jNM(cz3%{ z9;sJH2Gj+{7{lXY_4uX_zSV_K(FMigqgUcgZT|6)Lh8b!!gMlr>i?Dn6sIU%bVBNA z7C1bMoM`AeA(A@JfEgTXTDR%y3flMX>>YLSy&1fxCOq0ung~e*q zsX7iCyA%t&Z$t*n;P7DX!9fO$(Val(2KK>;POcW^ob1n%dYECO*g@lBh&BX;h3jKmw|PggcO8^V24`i6 zN&(G#yBK8{Y|w>j)e(%wQ~X(S_%a<9WXEQTaFn6>r%`>R=&DK;NsU^vmE~C($HHhs z{5yRamaK9Hr+Le^vLPZW+z^Dm(X{?7S><$AR))t$iAg{oNrZ+vOWxPAkuBILT&C#L z&W~2v{H92HRZyg8$wrCM<5oa=e`cNXuxnGC49v=i#u4nEYAC1O(UQVr{=!kgtSf64KP8y-5KkoDL|G>Qfc?%qO zMfK5{ah|t%&*e9@59QM-$qJTNt;rlo+n5@h)L)}TGaIM-VB9h^Mj9eRY1^wm^V`@N zwi_(DPRa0ko&uVCMW5mIJOwoOvLeIlc?#$it&5B?pero7_UYPmJ#UQ0ZNf+`I@{5U z7@{+Tn>Gjy&A$rJ1qJD&M8pVPJnmS>>w~pXMg#6e8e;X)X7|q_!xRCd3_-f+V9R0& z8B{&g1^3rQ2Bmew(EQVAQb%M=kS;uBtri-Zdrk=o(+BlM|7LvhO_5}qzftgD5*`(y zPGWhl-gKR#4b+DiqxG~`;^G&5XfYqO#i_|I1F9891xlf%`4yY?W!wtTLO#7VMz4zw z3PZ0uJqi%44cA2k2J5tV#D~&L`!T9iRa{NB1 zZj%qcW=4kcDS{~ZBu7#tWm%kIv>p$%B(7*uTx=A5UAyL~luCb;TG;fEoi-{;-h)dD zB`x#oAsPmBIiKRNkXRQZjnNTWQT0El5+ZSN4Il!l!@|FaC3HZ*^tymdt8DHOJ2)1{ z!PLqnjnhV{-N>A3gMfy}qyVWcv6UNq&`zROIm7NqOHNYy$Y3pXyroV}jXP+}dk9gZ z(MLz))-O&{X|KEaN1NoQr8IVEp`ls(a*BZAp~h%KY*<9n`a5W31x#277v z6n70xr)l#Ju^LUdHjT=Xd@GxK3JBMxu_;mnw8LM@x{<*cWti5HKQW@zut^3XQcgm^ zr1NoNlw=0_VCBP%DVIxkEJZ+VlrE?*9?(n{5A`rg9~%>tZh+JiG#XMcK13g(jf)D# z)AGrKk?o*q+|a(UebZ(Q?LTO}5ileK$FFpsCUejXh)SJBM&lYyq}a-l#z+!V7p;v# z6EVt|c=3acV#YS6vmRROvAXEkxF`(uQHciy)2f?)aEO#OJJ`@a&H6*trnXtfLluzH zODm$q8KzgeMa4EZ!}L~HRvWBx19Nsgtg<*z)5Xa0uFZGSvnq zpg}=FGunMqOv5V2MQB5#4Z&$`5uxFS2cyU`V48ceTx;_WUq-AR-2*p9>cV5_u^`d! zVmjqvbw9jP%M9@Y8(ci5v%*xd&Aq%8M|drM;)BhRM%aHD5UY&e{3O;Hu~F(q1&Jei zijA4>h(?}+Oc}m=@#CNgk4tyyG$tUR?6yd+`C$IxO9f2t8qxv{Wrk_AHHDPsR~waK zdJPvUV~7HEhEmSSVy>C82)v;_fUq;6@ohs8!Qw`~)Hj>rtUf-Kl5 zV#iCj=f;wN`0;K6U96z*IanWy&O}rnlY|x=9MDio3Mh{g$(uS`e=hOSc`tJ)Xf|7t4;ENVvSRV{8s@}hLYRGvVf*bfK>WXNTH!w9g_HoK_p%+ zp!S!<>S8j?-^wB&S~d~lUQ|pheq|nnA0-*pZ|%%KFDDQ9&hgrkla%bcko_3CSkZeb zBn{MuQfIIEt4zn$2>i&@phNHdyA25Q1NPTP2O3kKjZK@x{0#pGZmG8qHwNm$-KlYu zDZjJ(fLrRxiNqGiUOMVwDbSKR(8X=3H`(2nX-vZTP8Dy z;4a53CAaT9v!BXRCYlusD647G#bd8q+Spg&7A6hBax zi@*EdqJZ?H{Iq}ZXkmtN;eE9c#^AW{xOW>P4w|}VT?WuPss|I^U0w26vXxP>(d?q1 z(kC@s6Qet5x^(T*HszMgXp9yN)(3^_a9b)SE(G`F5<^MD{H6%*jwV(tZLFwSbg^sd z(6D4HXLv){5)Dn4o2gdTw8~~}WE)yaJ`p09f9Jm?)kgMlLO3JZ?y&}aippq-h8cF6 zI%se+2rqy9&_7y5JVS*RE84~48LCt(jpm$LZ}t%Zv94Nl)8O>?Ze6sb9%lM;urXnD zw=A8bgC$#;8pWm-PO2Yy(!s&pj&Y490msA8m~>J^ACSJbo&ASyWSjqypOeT}zGcco zrdZ{F(-cYL<#QC!+7uxblKv8#BAvzUXVnhzO!v)wwB&!VDe_-zIb`+^Q8WES|37eE z{>V?Gnf&U2|Ai}hyu2ZEPEYdG{hm`4wH)M6AzakkR)XE5jd;p6LR~r|os?~W_ne|A zpt&~+O|6C z1B%P<=r}xuE?yWHZivCHVR{#0q>;8gMp1P>e8XroV)NoYfXX!0rJe=5-n#)&8AIet zD6whG-zXV&R9Uj8#E738^D_+8$Li9L2Mx`A)GfmvSW6BLfpLcLVESd0Iv&!y zQj>LMm|tyz@LR!XqX9qCGwsCKf#nZ>=w7|~tDJPiPCP`*BX;5e96>+)WKWGHye3q> zY}K@7lMgM)kOHQ=M>}YIdg4n=AN)tZLQ3{qkL0;Y+nm*nQj#o(FUJP+F@_Xf%_&#etazw4*oARqpr8Mx`RfI|SEOw_XYbA* z`nG5hP@dRRJTjM@JsxuMD4Scsl>J)T@JV_%LQ zsFepCU3^-b#zE8bgM-nG8ckwAaV~ggYnxvW69Xn5rBej`7Xk6JH9T&TA{sW0`2oe_ zg0c~)9T29E)TV5kn14LPW08p~n^;+r40AIyYYTqJ%;FxsI=bqEGokZ=*6joC(WAZD z-gHb)>TRf>m`PIZ6wul+PAVk*;g#T0Jbf^=+!K{dQZ1!LOXBh77;Wmiwx*EgS8Nq9 z*%8YWOAIXznDQN~Nii)7nAAz2#g9u;z9rB61}9e86p(r{#Lent_rcBGmucNHY=3>= z8v_zIH3g*C=cjWLrQ@N8x3f#*#0B1Gh=3V2=q%YN@(qoq*Zkx48hU)_!gS=eM8i;B z9Gb>7uhQG?EDo67ZYKkN_(cy@ zDOyH$Ns^VupCuZKmr@SEkJHoYpfkT$1U)xl__PN4yNqchh>c>_HnE`?8T2?<(iG8X z;?ZtTD>>n_Hi;^#MZ6+ zf4&vpSDJq|@(QV_S=rxGO z$aDgk+$v!DUktEpl{0u6!~7>PC`Wv-4o`NYcM~__=%U$lp@&J9Wk|Ok;}Y*tOBvLE zXxP=uxwA>4_YUP^rYuXw3V%w#*|%KzgkueR@t#vTT*p3@Bd8BYw+lPS6Z8#QOu}wm0jjokqZv z`-?f*(T*+y($>I(_h}s?Ecw9;Zqlgjkj85^EXy#1Z);c>5YLcdl~ZhNC8dP{(>QKP zb+Ls#-JCm{dw|8)Oz_hbU2I}?R?#r9EJL~{ll11=O!|Zt?la>xzx0J$dbY*%J`l4i zby7Xd;3vnH9c}vK9Z+a5;G0ME)L>scfr5K|_!hN%ErGc)-+N{>YX-SF(T2qx+)TKE zWZIWAxQ&Dpz4*CUVv|12wySKCQ42OGMzvijMYGl|otaHF7;i<&oG(2l228I}Y)MZ$ z1w|`cv^JBTq0pNeI_B+s$ucwrG#&XvXZ;V1XOkE(@#}i;Ha^YTQ%nKV z{YlA(W@f5Ii2-RJHjN}7S{hJ3xrF8>Uci6{D3Ti4{~}=8pBGQ}!Y7@pL(|#?CEy)H z!8m@QBGU5-^3CcEEIkF_;w;U84J{9t?!}p9mu7TtFP+c1S-MeDwlYo1VrY55bUw0b z*|lBoVk8zUnOF?zfaM*L(=Bim)# z_;{0*kRUBONkwYo)mWr<;K28P`ptAuNq1<Gco5Y^&<>0L2fcD;-z31oliyX{U(GsNrh@Vrd`v^3^VZ_GX>1VaPl@>CVp1j#^!(E$GlzT%cnD? zM}*pV8T5z93ShdgCkvKcA}WbA+lc5Kh>D^wo}~5h0Sak;#ZDGbbi(RV{(!;!gM)Zq ztLgYGS2Ov4^D_)G;wD@25Gif*yIJVc8*krC8767WqJU{%ddr~Zx3Sg3(`g+2MMMiU zjOm}Wg6~@92MjibMCj7_m=xlhA5b5!$2Ygo)0OJ}n@Sd!X0Baay;l`9Zuqi!@ zHcFTwINjYu1T^<2is@d5$~4X2Q|MvjXnYDh*=i;?&ELv>@ZPKB5mMRaS8P0dXo$dv z9K^eI-%Z#2fEhmPY{{;Nt2}&jL2C#RwHtRS@O8XozsxbeV&mRX2%hTJMTMnOPmY?u z%1Ht7EByZNR7vx77AE!scf9KX9$*p7Pt!nRd;W=5?DTPVtPXr<;4GWky@_JwNmG)Z;sE z$(7MZ%Zt+FK0L`#A9>O7FvABfEjik}=Uq_d9~=-crfXmyJar*ggmO;yXZ|VRy{}>x z(tPj+r(A;YC6;iUJ;f(kQXdt~KVsw3C$oP57!ntr{_(*Q4g1DKiO-@X+Z0Kr1KwAI zdjmNA%LgI!!5Pa*OJ?{TMf1O+hi#$k$2rTzPWxa^Bdw)&O?%s(@7is{&R9tO{5auqt3xz^Z^% z0jmO51*{5K6|gE`Rlur%RROC4Rt2mISQW4;U{%1XfK>sj0#*gA3Ro4eDqvN>s(@7i zs{&R9tO{5auqt3xz^Z^%0jmO51*{5K6|gE`Rlur%RROC4Rt2mISQW4;U{%1XfK>sj z0#*gA3Ro4eDqvN>s(@7is{&R9tO{5auqt3xz^Z^%0jmO51*{5K6|gE`Rlur%RROC4 zRt5gE3b2Q1uR5<)OJCe;QwMIpG5>12Hf>FF@yb^!eEN5}sfptiTFsvHyKT=x7bo>wJT=gm5AXyW*tttG2{ zQRa?md{@&ds~V1MoEYCxOfNCoG~H1wKRa=)n229yooPA~<(G~~9GCg|CXUPecP5UD z^~?7raa^wd!o+c@Q)0eM>a~owD%_;V@f}}qmsLF*wtD`SH|}I#zwP}oy#CS09qW0w zPt`|(kKgeWx4osFmpUJ$=Fp<{_SMCz# zV7D*7mUqgz_g1wr`?%wG-L$LtDcb zqTN`o8TQNLS8;oI@u9oVSAWoh=V%=BtX<{JyIjk?@g7vLArs@8y-ZBM_ms)`%P_Hg z{Wna+t9*#b`0bf2?-i5fzhE-2DNN)wwk&u3?UQ>A0y=Z|+SQ)s=#RV`-*{F3m(iSE z>hz|}_;0y=hda5v${ys6{tR9>r(IcIFEqjTSZgD%R=8@fgy9jq?EWXy{#>1x+Xj^z zTl~TFU7fRPcFgFvor&?g{!C0?Ihu+2hizhFdFM+^#B2MA$@sgNEN?%P#5OvKOimdWzGm@NM+6M4-p#bjQ8a*q}j>@Exm;$GTmKQ21fhIj6@ ze2%lv5#HX`cEE%zjd|+{7y6bz*M&RuZvMx3$DO?Cj9#yeks;H-OioVQ=L;%bwc3B2|FlRHPQf5jaWlhfNXG5^ThOfFxB$#{>LjQ=T<<-KLH zeCR0h>d$0e!?^dM{acG{Da?KTbi1;Ae>UE2O{J4H4p!t{gQ|YwcjXOtz1Xj%@3sNl z<+l|JmWEB{PK|ti3TxJ$H~Znp5Bu|!<@K8ck9>W86)%4`cgd?;ckgP|FClDy4_79~ z8#6gQjEVVkKV))wd#2(s8GkwxIA!Msv-*(&JlQthlRm|EhII4!h0dcv&W=$1^$qd?uIA$z;4UOvWF;WO*ByEdLmj zd0k*KFL&;fZC3WjzqxV0lE41yb@mJHb!p4(B_n5Yk7EhFN8GpPZamC!#DLwrL!)vr zudXiOt)D&IGj-%q-ttwq8T;1+@rF@xeVw}8;FY>|b3Z;~W2+Wlmz{a9|8^$FPcu3F zHk0%BWODf&vUEeTtAxjgqTkg&RbL;&~xC8Dd# z$sxSkwxgfv^xyNY5zogyZGMZpt}lFZ$n}EUrIGjEM%5;8hbw>V&f9AuZ?v=M#oKXy zyz=})g90B_YUQ*h$H7aFiZMApmC5O$OwK=t$>qObGF}rV;@e|;i}GGFS^fbg^9o}! zuMNECug^#9T~&(vKa2`58~BuWUuW~jwIBcDo}cBv_Po3ecOSewUqi z0VeZ$&HX|;jJUY)XWo0lqf@>AuFrj%w<^7F|6uN&dt$|BJr{D13pc*4ziB#m8@D!_ z@2Gjaebg71b4>V#JNKVhFK%X0-mG@9m{BCkaan9OT7_pf;MLRc+duI)5+#K7V=xX*+5 zb({9I;ojS4j&aV~jCULL&?T&O9^Pf`gb~Mb`S1>*i+?=vDwwx!RzyZ8@!@zsR z3YX+Hs^ly+^sfS~JRgs$yl=;CCdMC6WODjbCg;cgBbNV;$#}<@jNh5b@;+y>{8>!q zwTFqkO1N|Xv(=AR^Z%X)WcNFcsi{yz9ZO zMRF|}&t1KzowV%`$6G%*UofopU~XS;xZRtzfAX4@Lv3^A`=^!PntW3t%H3sRyg(Kv zrmwrs%2WPBec%FEk^$@1?rkyo!OOy)J2_nP)?LagI=JRtDs(H@fq zaNq9T#y>DN;5`aKwOe~+X2@~B=^ArsTrFJ)r>R&$tG-qVlCco9s*U#VfTypv3pzktcSrZJgUORg<+XNvC9R<5gb zZ=COeLEP`?sc)}4RpCCdk88KM*_M0f=(7Ij{vEi-Sf3we4nM~`=Q!(L;M0BF<>kX; z*|JsSE${FDGyB=my!Q2Se_wnS-YR^swr$}?U6>euF`tR)=NmIIfA;!JEI;~BCgP1i zy%h0RGg;nJCd(heL|&J3Gnv;{rt1>Zkk=k|W6~e@u5tUkGa`bA{+j5oxw@d^x2zXvZevUiAHu;mrt4}L#yP-nTxR_o!Xr_5(}hm=2PBRQy@qw(S+Hc?;hYZf&nE;LXqHJ~pP_ zMBePh`7YpA>~tGu@I_DjnDaEs67T|b?b z^CsH!F7cc0Y7Q0PZOX5$K4M!R-a4Sl~ zvMR5eyz9dbPflO2%RPC`x_&1<*SuJ_B%+n2B}cDkpN8ZR%W7cH&k z=W6+#GTy|xD*jDX-d0uq4=S&7DzCq}SC-e)UhH1adyFdHwQA|(+~ZQUNY`VZarc!? zABKG9#=D+%omJ@mQQqb1`0E}2{D*gGxwKuKsjs-(fge2kbUVS_68ae`*!yxfw`zy) z{(h9ZIc`}qrJtogzFd1|hO-*)s;1AD^EWB3mcOXteJ11Y ztg6ZzBFoQNRpvF{Rps?1_xssjH)-@e-g{fFU(Pt^q6~#8}9RSRrlpzmF7Mp zT~;5Mu$cS!1n4e}J;r@HZdw+yA&VNnuBIPU^Lwb}$EkQjWcD%SJ^y9*b1t0c!eEHUCw)d_n;g zZ;6b5zl7x<}O&{~%#bxdW40{j0VCs9M#PTg0Tss;c=9Gc*KR$Rb@mt6xYnm&{~kr3a&5&{tkT-) zTwAbH(}z)A)c7try;w0h|Cd$N^37DdeJcJ{Ro-b;{v(-Jv+gpl`g*SKwg1-zc6K~O zU-;|cc71rTKF6It4wHG%=aVZ3`F_mY~gC~2vj8NlWsOb&V z{N>d0n^nC2D*i-Oo>7(my~=Bn%7h+vNVr6mcaGRjX&5rmFB^(%9Ywzs3H&k{g1Er zuk_}@N7@f`tI<}C_fpgAs`;C%-){Qp}~$4=ls6mVF|nEdKC=fp%({u7ayIQhlZ?k>oy5-^OY>W zxXM@_^7Gn>*(Mj`ADj#bjM-DU zVYmIDjTdurgHy@-{(V;QuuHw`O}cTMhbWVJdBmWq?4Lr#dH6q{ zZ2D*A3?BYvzxAKDZo-&fgcW#f@&hio}>=5HR^|3dZI#fI`oy9dRuA6dgAbA9pC44;}j;>F$8 zKYP?twDb7wIl_4K0_T!rAD`vXty*mkdtl`KE_EK-r`T2AZ<@#1YQMkX z{XBZFuaToA?^mILu0`j`JnH3l_hxvE;ZfJOM|U6Ii$`79t3N!|ON|Gr=@Zoa^VRY} zGTs?%M~Yv(yee;*EdNPKmDg^S*L>D>T;&s84i;zigZ)mNygQXu^(nWtS==F}sa?lw zbLHEt^pwtV`JORW;^x9pv+awsV*QRzUG};WD{`#(4_Q8~#tI+Fxmh1wn-%srRs0+GqW-4r_k!$FZJ$d|6|=HcP5so68#bPPw=x+Mm_CAL{1Wa2l)A&u9FGmZw;) z+uzu}+;^VUvis7na-nK!=p_C7YsvXq4OYv|QgKeoxYq}$a=0q@Q<=x#aVoF*EMQ8v z7h`>2v+f9MgkF!qs(~ddRe$ZiIj;hT5)%Ol_ z?>=SCuIIk&|GXe;x?tzVRkOciO|vi5#oZdDhF>ZFOEsUrT<%_173YeI`;9CoT%*c; zB=fM#CiC+1V*#NnDoq+&6#aFE^CxE%WuE2s{J1vfK<1Wn>5bi8AG7v9)|zk3`a5%p z3T+>1yPvggb*FUCGH;pF&toncJ)1N3>(a83o9{8lH{agxIsSzlPH>d|E%nuW9&)*| zelkw}HZpFu5Lu3UpepyY%Hw;LS2PPKH~MX{9dXS6TG@p!x1b;N>WBj?W7n{5HM3XW zf9g2vQt`Wi2bz^)9gFA8(%54iYu`J&w$Q9USlj7~V*;KHW-f#JYin#c&DuO`_tdLM z9yP3>{EyXqOXPC1+sHWG+N-#WWjUuS%W~stt2`d5ypA&Mrgne-Ru}y=`8De zNB>#ntF>d9cilnLx<_c4$0JQ!e|;g=Rrg1wrJG$?=Z^O_I_HaH9a~H-6<6me>+p1E z&jb1Pu@1i1ynB=?t%gOF|D2q!ZVk2E_bSeP71vjlb5fSOu7b?tX1L6&UK{im7G2bF z;TzU_N$l7~c6phf=iJz^2dh|*8O4XSwVlAcVvfelE?1v*t8l8;qGr*|J$`q zE*p!T?RoSZb8~aewWsbO#BuP^62Rzxk=LB;t_#r;f{lm8Q0?n6(N z$6}e+qNPlm-NnN#CW`fbSZqW2&Y{eI%J0n2=WEt8*6UDBO%>Mt%R!gpwiQ7C^2}@Q za~860i=7L!D`d+&2F$r$u)`MSzN^tUzp|aoUH58wi@SPxjnn6JTA+;VoR{z=c^A&3uCM z_RaC+73<#G<A7Pc5S1#w^XRNpFoaf6& z6~KLrc3(Gq(V6wUHrMq|cYoI7xo=pJoi$l^W7fIhMcXiM_Z=SVu54#svr3$Dja|gN z93GdOG&+YG)>QtvYQE`eIo!V!ar(%(J@Tq@9;tFC$vlSG$-EBdW4({s|F(GHM5gV~ zzhTaVbFBBs=Us2MXw3YdX&w6K*vI^82JCrYbCvZ>$U1A><`K-N=JY`vvR;;xGeVX7mCEC# z%4;?2eM#GM?JwJzws%6-Ue~v=-WNMeER{Ec_1gG!dHdU*%)jN!aZmT$WxhWjsMX%n zhxMEqb81y-l(*>kkG7v+J7ryaVW#t1)??FdzOc~)HC(U!ebs!~){Jdjb^@g_f}2lzm@rxx&LP6&1Q0Rb~t)(+NO1CI9>V+JXG@? zSIhk&&5-61;$rky>cy^@%NE$n1Aga!~QVpnctw58#}D%!~C)ZKdTTqmiZo7 zQ+T;O@({z_%I~P=)2Zbq$v8(HRovfYIa_MUa?90Ic`TH9?aIZp-3L{ueQY?>?g*P( zE-(+%emmW8;(S@A?djVg@0ZYdd*jA_d)KhuHWLqrx;V35o=uJo{izc3|G~a*_GK>2 zKd{#6*|$(%>(9)W!)BTqPL=+fFB9jJ%Q>nzXJy>)ddPBSwNT}bQ+X^Z#x_-8`GHfC71LyFA5yb#!iI z_}jv$A3NS&bVYrsVOMU`lUl6z-2v+=ufNB7A70ulhJPc6dyxnEH&l}IJwC0L3sQ0V zsJOdSIcQIba`&n{?y9_2G3^b<1BR%WdQ}NZm9Wn1PjQzv*-9DPvr1ue&rvd z=4+>x8=~TzRdH*mau8pXTSDbATjhoFa{Sn8UQbN7ulU&eC&mI2MsH~LeLohkc5s<9 zO}=IUKmF8FOVdx3{-d(vO%`zA$Con-{=@<{Z+dZ{W(W&d;%(cp&S4fX>s61|hvJO{TGhH{o>2v1SU^1x4skqftIgM4hOI02i7kO>u!CRW#TXJJA_iyr`{pJ== zxcBxkkA|)A=N=tKjhyiLC%jXS?4@^YvgK`^e#!gj=|0X5{c*F<^i#ZPk=&h5_Zz`$ zzKwQVJL)PgTxa4a|bT@>&({U2}J-$P2fAc0TyPY$k?#y_xVk*JonBCq7Ir zSCxr42WK)FHw%;H9A&cH%S`66fyum%bJrYYMjUDS5AXi@_OkUq(Q~h<1%4U!*pIs} zzjn0oT1VdT+g;adYrf|$*Uvus_0A;D^fxx~tH*hh^UWtdavj8L9xhRK;FaOLaDl-S zi=A1(#PC-Q6aI_Wn3%6a7bcerU?R@#K}^MEvK&t)%XMNhk4Pr-ddVH@4X<>kc|Y!c zvQWahdvmzQ(b`Wo-|on}oSk$;dsEL{ox<|>8vGY;^EQ@6{T0d`9q)d(Dd2D3q?%8) z*?Wz=W{zFUCyd$33r!i&*=O-6wiCmdSEfGFfg3 zCi7UvWL^zgYNL^zj~}KQ@k%PIJczRlya4r7#8zp!e8`9CgvOX zlF8+oGZDu%lF7JLm@Eg+F^F<|F`366Ci1%T6R+;qGW3f@CAo7<+nmL>c=Gl|^3Ck} zt&X>^7X9etnMd4ZWW8K_mOtfA_xE)=W;2<$Xw$pckt&6F!{syP+`M;}S92Nud6yeT zo_}t5t1BHAF)?I&nDAfE&E$L~m{_jz21ap?z8%Fx+^_R9QO?;aOq9E00+V@YnaFEl zOfvrqIo-BCG>~6`6gxM`I_nKS9c%A#IS=G6aI-an3%8GWG0r&zKMxA zpGPnmw;hw^lxDKrY)s~{jETHHo5~A$mo9QA$cfwe9=o-w)?wbFYQKkDzdy(wOO@Nu zah)x9aKD^4{{9hezvr6mFB@%nUa8x;L$2qYdG2u+?BDv& zU}ES!h6(?<@0pmd#8D=fYs5sH4N*+QePCdsoV5W=l#6}{nMWZe^3nzDd7JN2kG%)> z@+!;f)b?}2bDC3{+vWZ?fj7%J{=&I3yLhvOQ+_TGUx+vP)OhrZumZfnPi@PdeY1ww z^2%}h;@U%8Q#SC+$Cj13`n3!)(3nrHSn_uHidZIHK%{CcV#TEri;AYqj>>dW^3b>x-m{X>z-=IjKQu<410EB z!aw0Q6Z18x%fxb*b}@=`_)ShG;|^!C92X|aeI3R`9)}7!QeL{XZyj%xYuNO5`{6um z{;{*0jvB_xeY<${$%KWxy3>ReM@l&H+P!^lmcEpa*LMGG$7$aUyhdLCK4lwS<&`FG z_U+erAOEDocfb7pO@}>iH;)XgYWtld4XeDk!i0azd?w~=aG#0g>OW&5PLJ|T#Jv!} zL^;KeGg0n<4NT-Q#(9s(tN94W=kt!oESSC5@$}$}-`4AG!)?o*8gM9-^Kuo3?RxRa z0$$mX4QLv@f>#++Y~9KNdwHcZ@xe7O*5&1{9S)lP;0Z5U{L+-aP8ZtqPlIy-m5ntV z#W1K9lm6RG%y+j96U&{Oz(kyU;Y`Gh@?o-^MNE_%VzWo&(a>g($m{dr%;whM{PzO` zSXSMSZM%%xyXQjCxP!ABWZ?xGtUsy2ecqBMf3^LhwGA)lbRlYWLLOc=w#u?k&IRyK zwD+$5vZ4VmFyNT0arvS>Ps>gTi+EnsQ4IeY&V+x(LMG;0@`{P&j%%5SV=T@@TxTs4 z<@|BkQIzYLg^N6fU*saMUK*C|>SxDC)YP&3wXPr9a(B4ns}dcr*W1bWJe>7+vqe8R z@qB~a26Wk=<3)Sdc;WGSAul$fY3E{1X7R!+X6~JtZ3WM@=qr8AS(EoXoYo@x%jz{8 z#jx)8O!ybrGMaD3>rqTBSI3=+IDb`PBJQ^1c!&<=>~`8C%3b-Ei#+ZO<03DOhUEw- z`gHYTCsz1w*QPu6yR*Cl?{02!h&ev^a%uNAHpBNknRD!_#~T}-^IU`O%Lf+X`TqF& z>J?9So@e>i`y2H(Jj=ctf1mMtzUNklJ+F$zxI2pB(787)fGe{0u(^o@BwlGYl@k1JKvFGNa9o}F4`Y})H7kButNcx-<45yIBJ5fZkq zmo|^pIWu0u>fY=E*2hZ+SYLrXupGZEf#o`BNqU}XPpG@a5al2GbzjQI6J=}VOO=;P zi0t02r^j5}%WFH?YNa|iS#r1KY@WjuDM?#asa1emvZQ^+KgUI*nk21H&WF!d$&frw zxfM9_Q8KSP>Pt27*u0GtkF8V7;IVybDZFkS`!K50t;^8+dbiJIDPVoCJOP&DDg!Ln z6<;F7TOc!iz7$a^3%}(&lTQZB%+5;jlp=lO-=qzhlgsO{4f&nrlFYmF)zz*1qm<<7 z7u5#0oFvJ+7qcVczFA6MYs6?y*9FP#t!mk;F6Hvrc={EO%^%F*v30F`dEI@k&!r^Y zI@iWaOITfp5@3C-x`6d{&jpsl<|(jTgz&!paKG|3KAH3t7#dEGwIu!GYr5*Rn@BJ1 z<;vgBTk^h78@62XLW|&N>G0UP(Ivd@zPBpUl5U+FS~?O|_g)FGK4+7G^&Q0k%dtX7!gBc} z^PVr2tDfpJUU|_c?Mzb6lfUV9Dq$zvtbU4x+nCZ5mfa zAdLDa{bFnzMA`J6D+;v&!Iahhg6kjXbJ4?MPnq=)slNP!;RGXyxbEUY6s|zTmgcM( zE2kh{Hqx6V*UqLr`QMk7NgEjPWMI{`rP4s7ct0j7r7*`D1Di4FLDuL@@LIS zshtDSajm`AZl=%KT(8&V#k)b2V2k4I-Pb{|O{+rmE*Av7Y}b#EPKU^SJ`PpUu@D)s zyZ30HGZ1NAHDkH!J&g4EGn;>eb!V~fA*b_Rmebuc6Mgn@zF7{)QNVH0=b5ptyZ1*- z>4KQLnNyQ(w}EJ~k=&?jKOwr;y^6e^k3l%gz*XklR*2eRP&{nVSP*=;J4JSk2MFRu zl~u;OfM7y1=O33ygM{Kg`t)>WzJMs6)>)R@VZ3YSA}{ z;}8tyxblaB=;P|!O$YKJCdu9D;-vl{YEZa2r13jM|LUESFGZhMTKfF*Zj1rpxq+WY zkEYL!=P#?#P-+FC+@Ly}cML=ozpnT)bqYjfUV1sMXEw&|n0LfF`aH9{Z@@6rnT5K0 z(I=ksed2-~i#e`?8X#Izy8N!uVu-N{aGfai7DS&{4~a|I2qNn(a5W7Il`O z?i2L6fWB`y4rwRksszz&)%Ale$3u)f-+J-XMIicetZh4gC5V=6({al5h3MCZ-W|ve zhv?8r3g6#7h3MXM>(>9cN}qqr4_jGHpVM!$(AvD0`o}dLvg&&ZV=?CUV_g^aJ>hiT zOQY@~^vOqG%Exj%M6Q=08s_kH@8CobHD!MP`klU>4?S8li)BExH7)#W(PjVX|yEJ>E}~RdPD7gYagGYdie zLY?ENo6Gt9L(ePL*Nfx$p^aR0{S=?*-ycuc69S&4@0ksvr{SeuSzkbOR3o9y_CAQ_ z^jNeja4$r^jct=^`vuWkmQI3(r4a4BvPbn^bBH$7+3(m{ID(2~! zt(%N}^m%@_&KEt@rR&q}GmD;Q-M(AsbAFa%4RWP|NUnK-!pnsqI^6Yfgv9_5-M4cX z+bbGGXR}|oO}hr7uv2KAO-AP1s~ z)mBB@cQ4I{H4`j(6EYCU~l!m*8YSC`QD z73`3!xRiDc<0j0TVBKfzTZcLl)IGrY1XE7dcN20@UY6?}h_nhyj5nPG(I(yqeYx`> zx~#POfWjRR{nJ&orj@?ltdVVeHx&?h-wasyP!U9<7Zi_Eu^z*%p)IhXRYmr0D zcMuiN$)4s*&&Nw=H#pT!0ny&4;m2d>>sWeYxW`iy5ZN6cr#Gnlb1ghy*dQl{)nNb_|=|v(OVn zJn!i%6gVBy`CAg&ez)YXgY<<{j=R zp?=%u*i0Bl>o1z`*HRMF^_Ci1Z}163=fmA69`6LvzU0rd?P>p-)~wL&?jTy!`Dt$V zbre**x>fv&9=98oQD)SijXccL^<(RNu#eVv>o`!JZru}eIG@pj(RVv?&~;_G=1cI%p!j zZ{06>AgKn?+V`8KZ5MzjZN%_@iq>N+!F&wX(es<_^F$!Du!R!NceXq+Etd7Z~$3xdQvp+qq z1s_^81@v{C+IQc6O%8~T9r_UxnT~M@=J#QpA@=#9&SBIYjXwG4OOF%FQG{HUAlk2$ z5Ry;1&n|nLm_)CO>wVYG&61+`qxUVJLUlk?zdl*-#bX*fhRe1O0nsD=qT`+Pc-|X* zpETSBQMJe^YEmNgIp>1a;{3)UErnH~PqOzV!D_j)SfP%M}8m z6ZZ#J2h-P6^rGpP=Nk~!6t(NVp!e$+N~P6zPJpN-N$2TSc@TX)4MqFSXpDONeqAB` zc|O0N22;V|D5I!urtrAnQxd z8)(GHaEIl z&mLr4_Ukt(dzmpV<^$t>HjZUn$ zvO(YL97peQ$d$4}+-Qxt~I{yvh-P?h2RXq{b>un~+T+Byc-EHg(M4fM_ z+m1fT=(`9xs*vj=<2#~wQZke?zT)Wf7D}fW{>dnnx3gz6KDxO#mwwV^yo|0~(pK-y zc;qdS^#72?xNlQ`9N|5lal2#udglvQ#?5)o{<`&>88`Lg2Ge>uV4Q{d16a2f`w~#+ zKI*!o&kpp>;y4EM=eSDr7=HD$BRypG8DIO!WtTVVGW^Q%RbMuGGCp@ZS60rdWW3em zvWs0h8PDSf&*^@SW<0j8H~uL5jB&p``)2vUQ;hopspQ6-cZ|DgMAO>HJs1yQz7y*% zbA5ePP^W~`U1-nw%;ur*5#&fft|bhA`I9MQDDt+iKH0*Qq8-@O45vP@7?_ss?8bxvyMlHPQGFI z-WlS^J9&&xd_TL1M<+4f_Q_XPj~d5#dGroid0C$EJdi&7RlF(VIp*n<9tj5-kJbmq ziX#SKoQQb|)=k1b3)G21-P4@U-QJwqYYWnB<+HVa1RZi&3 z{0j_!jN&yUCst|nA_cPv|%U66(G+?~7w&jkQyO;4=RI#OXFXipEyE4=EJmYz* z>2k!KIxgOo!u&O?)4;xJ)Codex(=+*Vf1~=ajY{yE@y@xn81`b(c}7b!9BjC1;c-< zs%26qV)*;EEH|8dhv83|bf)Qn3geS$9+($6lku+F)+bO<$9S9a9jCeXVZ5pzN*C`l zV!X0bn=M;bVGO~%GFRvJ4f{T!&T7wxvmM2;C8*V7&hKVr!2cPE$&_XeLLe5aZFVIyagWZhx z+Wpx(YXywA*B-CN(lm@?Ft3GmY1rq4I#*D47w7X^8-1%dj-EY{OU&?>-AFO?OJn#C zn-%VkYp3gb*tKL{IK6&+WlQPL75;`dgD&)>$9wu)%f^j;8J~{!L5YsOj8A&OhNi@U zjL+13A9w$4jL(29V@q$R|00_YYC^dkGnzi#AW^+;7KW!x{eQ_7w-mPRBR_^L??d0Q;_^&LvLwmkjzWMPE`rvlE92$+mz0f#10J)8N{cdupmd70-LKQRnH ztJjq6jm-?7?hT~(dnCh;T_OV~DGwXz`NZbUvFV7~cWnbOXbCjIX->Bb{MC7+;0-)}6ur4F6}&(FX?fx_h~2 z+}QrzytB6KPpfA5rN64)7SE-657H{C9&@p}59UL#?gaL^qRv6o6>vVor=Tz8W;y83 z6PBxy-gj1HdS&`DzCAZgbnLu2VU)r6It8|GN_@xo z&Npp)^n?B!vVK`Ftu>1AC29io{wEn-=De%tR^1mk}IKKTyc{1~z?mO}xVRCZzgyFY^ZproPX#`wl7;@>iu`0284%%b6c#zu~xr?l)o z_Gdh*cIMVN?chJ-VX1OzZL|9P84rDQ`py1{v;T}$4{rAwdF<7nvAnU)`^e4P{~b$y zR!77cPqY7bY%cf3wRMb<(!XOKH=pn|BSiU z_uszK-0T0de;MJ{$?i`*w_ZY+tE02;zGgi*of{WA+P4s9EKJp2Jirym3-`s2?u%jS zMB@p=ypF)cvO8XGcQjy}>5Loirj3IUua``_t@IHzSDmS}>zPO2h4Rh)IKRqV!{l^Q z|0!<>JNBJIxcSF~tN%v0enrCR^&_1A3Bvh_2tV!3 zN8$M5sh~RJ-GUvl6U>MCgnIX$Ay2q*D&gkc2v^@oxc+5?)4NPKefoK9)-Ql?{w0Lt z5)qE;G`KwzOs*ZL0(|4AfulX%fRm+}Ms#Z}%>S}(aKs@SnB}G|Z|M99roTJwd!Wh| zc<~{%w+5Jism^Xe?Wcz@rgnkG3%3KHxy1h7!T0UvhDX~Q&yL?t*zt#DgqyD-TzxI! z`o|GYZwBG?KN8N5M>zj`gyT{s|8jY!eM>+3JRkfPtIV4!YY47e4S6aN&tO5GMaGfM z>U96rABR_E<%8|Dm7TgejWAtGuJrSuc$l_FWN=Bl6O3hYi%y>C1lv^{E3t`7!O$a-GQiZVfI=un%*8*1D0{G z)NZv_!K76@lf}35V8l!}gQg|F%%>UM8ly8fjj-dTe8SDw5U&0K;rdevr&mfi{aV8L zJtmz02EuXOA{>`D`2CtHsJEv3{0w=LwZ8Q-_}q$hu-fzr+{Yy?>uI|WoOvDMyo}Lc z-)!yD$8IFd9x}jxUFC0>E}!+-isfcZa7zJT0V&ILBV7MT!s*>2oIam$ ze%^%he?vH~V#0B4grF|R>Vk_iAWUV*-U|5x;NKXzV)Vcsz`xHk9&^GKJX-G-I$f&; zmpuvZ<{cjd4o9Y4O!0DuSw92dkx3RXs$F}Q%DTh&&%rhBqZgW6!UEl4hS7u@A0pg* z0^#a&3D@sNI6Zm7>DLg>&xNr5%0CFlHHC0oTOp+1KOaU)n?tzn`R8$#^m=-8^=13B z5b(Y45NW%-8N9BaabDX%_hmMl{A!YD1~_)=uOFX266W??-!*6R1+a?k4E}IV7mODi zyUmO|Wemv^?*-xf{RqcpOgOF*2>JE8 z*JoKxh#0hF!stGeA+R>bYumR5@GGvK(6m_!d={NH8C5k4+|HG2s$TB|r^!A$de2+~ z^WM(P3D}d} z?jYR!a>CV{6R!Uq;q+_>>J!edH{txX3CCqhIIaK)JKU_cdAA=#UXNX=b5tIJxF+1oa8)x3`mU{&xw-e!8g1@$*^n!n;gHP$e(I>(R!OgD8=!&8U9GjCS9Nnt}v-JDaow}Y5 zQ#B<0UhhmTR;tYV9hIp=xN$t;<`)yLehA_E!w9E$oN)R)!ugFNoWDBZxMT^(RRfXh zb~dCL(|x!2+HrGQ^y$88*#`^xqaj!}?XjQ2TktPhJ>Jqb1^A&wrRmTE+$UB&_A!Zu z1-r%@8D5_Pvj;U#yPKc`X8nI3?;X9SSTjF5@x7plaASMI%}Wuk-k5Ox0fg0)bP`TK zo^XC|2U+A1%1x_~8HEa8J!tCFx;v)sm!0g+B8$YsM70(e!wW$5dAlx{K zaP#K~SKmRne!9;9tCvVP{Wpa3vnQPYJ;HIh5{}CrqNEcxzh7$v(HaiBwz*|Pc**QZ zzlt_MNO0DvU*U%!;75ca&u%FACK%t@#47=hufB@C4KIMxr$mPVavCtFQLDf4S67&J zKh|i@X47KNXU}~-7#YHjGm{86KaOzq0|?h&L^!=-!s)9L&TkLl{L=`>HI{H(JOBMV z)_Cb#8kVshD}bceFap4lF!wTmKnsUvFGgY8VE#y&Xiy77PNLWjp(s>QsP@`pTZ*EeqE7 z4H_>gw1M@J8E!EiwqU&>OyfNLyU9BBtG3*<-v5o+`Po?C%JqAFM7{T@KMMVX=uh_{ zX1NX^mkumEp){ub*fa3SsCck9(H+zG^=6-vt~#mF17p zjs=J8cj7Qb0uKIZ`WE^>!NFpY>*qP?;GnhsZW1N!SC*IVRj1)t8D=Rb8+fPZ=V@9!B0!E^A5PqoV@fV=*~(7t2oKD!E2tgBSZ z!PRZU@Q$h`SlBq_^m}OqSh!kwgTA3HEVM63?_n+n3&#gfK5sDy7LKU@!g97*L+BQ zLJ#n1F3xH@;|t#3q?^m84+Zae-#14M;e*$s%ULgOmVwv0=QT$<^uUYXu(IdHKH%jj zzGik|_;|5#lB|^AS*@&(XSqQu~Y0vV& zpAg`y=6`1MGVqTp?!Wnn0o`}@L&c#h-@z|7_|kyqi@?v|OkpL ztMhFj&^$AtcbMr0;R2XY8aFrd7x8r;j*7LBR{%4Zavq$~s=x2`pqmfGs zx#;J#a@TaOHKzMs4&QcAGNu+HmrY&!^W!oIZ~Pv0UbzQ^73S2nOVfQ@rE9-)|7&{;Txffjk`B;=B*mKfr!F)U!i< zS@e@Ze=%~EA{YI2zV)_-QUs2B;{0T+ zujTqb{YE{y|0t{f3jOHk$5{WM|HVc3xm;UaKA~4C#2yJcxJHeBK4Q(pK3nMiu+isU zzqog?3ZmsNK36xW0pZ%~Z-RT!&sP~v%XyN1527k6WlUx}K~#jtm|s^U5H+djb>K>8 zh#L0T{M;^89DCyYDXiyVe zjdZ>6b~=HWZF$2*b812K)@4=rJ^DESzV@T%jjJHKeTDnYb}jljoX&KnED53)zsyZ+ zr=J&cJv#RM2Ku=}yAloko+ohp9Ot#MJ{tQ~P%jzvwbAbZ`dcE`0pxlHODud>Z!Fma zODDLk*%7-B7TZabOh?(nqPT%&zpaNu?6pNZ(xz^K*vTg@+7c;AI>XdJ^ef)+kcbOqu1U#!4*JhU zu64+@6PBq?o$1%E49hw+##Il|fu-YKzqc+~1WP<+`pS=335yTynCNr06BZ9B{`~8K zCoIao_BHxy8Z4Tbq*IZY1&jK+9WqobgxFWcDVd$}5c_!l=RxCTaV&@PN3nh-_Af;} zXVm|OektfLKrT7tQiZq=;ik2PV_M1#<3R8 z(>}J|1p6IO?<(rcqu+bV6kjh2JuAN(svJURx;wVvvx z{g8*apr__zM$Cm}H&=RiKFWt>b~Q;}tBYZ2i-#hUo(oG)?c14cH42udOP@NGOY_UE zN2j0qhU0vkSHb#B>_3TmCsE%D{d%DPKIEFsaT)xC#N4Cer9W#RDJ*VTaNrC`s7y9* zz7PiqQhM<|lP5yF&4VW+y`5nBu~W+|u4Th=!!1wzQ_Uc*;zs=kD}cCFkuT8;+H6UK8t2VE;JO%S3(3!}^Ux|0v`FT8f7x7F#=;0F+YWZd(VhklS>%8IrGdF+mmaknDRh&+(cXB=>q6BOUk)k|L+yJW;z165mzq$WR*ziRnRk zuVqsp(Q3=}gTcKaaqt{)jJXAg{SKO5x*vvP;O2u`u|5L(HBoOh>bIkx68ejf>jH8; z1F=SBs&}*nh~qyEZn3q5ltOpO!?&Ly#qo{Ni%Ne;Zr>f)f5QeyKC;5O$1yP^2Or69 zZ+!vDlg>4`Jg-$$tG@>Q zJkkFZa+x646j;$O;K{E15LgkRS7CG448(^zyOzyc4B{Dwjm>XsLrSw@S*`U%NZFMz zT;Y5=q_|%Y)ZRSgXSaTzupjPkgczeM?U4CnRG1xUEZmkx4$0>aSq~8E<@g>!@i*$>>~z zrTdJYl9As#@<&B9li^~s`twddiQbb1r3>?c=r;87FxVVPbba?%`UIL_G{C$&*4@HB zL)7`m>5kurKKsyj33AYVTUoB7L}+ZVSi8-Nc-S9N8E95P?42h|b&MWEZ10&b?Yre6 znKA9hr`(W-gb7-_W96PyLV9aE>{ihw=II56_qyow3+Y2&=1jOv%xvZ~KCZUFI05s( z)&1_^`UblH(P4E%C!x1>aslW-Bg9?0+tv*nD@MH*dydVtwY2hO22I{Xd+&(v~HC zG1Bi1Wb;R`P8$0RQD-IU{z9MY=z9=3b|6`#BtWtHHVL`A@&cKt}(BSA@kq8b^a{bMdqs> z+@YV{hVeJ%mtmbX_ANr4`KY@SeR9#a4LR=o;S%Z{ndkhxokV;}Oj$(skf0CeT>R*M zF@6)mM%~&un|MzsdQcNf_dy*V@NJW=0a+MPu}JsFXX3o~!Tz=@D~Qu-Q;&>Gbf4Rv z?Jcw59txNUeafO51B_? zL+^e2v~o7a$(SF()gAo7^(oY$4t+kw>PDc?YxJFh9A}U#j6^w&v%cHAk_b)-KXsnZ zC*j_Y*IRZxC&7DKr(F&kPXZDLb;ke5Cw>Nr7h1P0Cj6Acua%M-iT9O(HoLaC5HGK& zaea+th-d!z*M81DxJa*WHb3D7*6CtjG3xlE?lJTs=-Y}Mg~&yt{HywxYWYO)bMW}E ztxhB&d#|qCs#PR3sby$r`alx2Z`p*!1>;D7`%UE`DFcb$@#AM?!kme3vXjG5%WA?e z3tM)zqLJ`JKaQWHL-zq?V?WH_$2xi(**?@s{*Jms&}SU_rX$B3K z;bzOU5*CrjID<^j_o*c8o3!qbRyPt76+Wy*PJsl?&HtkAIFI>d2z56#B%W?_%WeL9QwyxRY}yafKp@ z;;E0^GGr+cs6WzszI!=|7_vfZZSHy!+A7zO&)g>=Jq|C^da#KEEgh+5U|C24UF)|G zI`f+ZP2iUh2bplcMCiH zk5!jRknbnI-|FoosNco#HEbktdax($DPINv?U;e}l5h~Q1};Y(8k zNmQswhRJ!dZiIkkVvO3$CL|89&T(#4Tgxxzja^iqjBy{@?w=tK7kdVWV zoxThVBq4on{=TJfmIPn$Gu}09D#o#xUxjsZv5y{4R;M0yP0&XHeQS_oJaUlG83Ef|q?29h6jvK)PJ!w%ZmG+21F~O6CiRFf!a^ z*-%5m6TTn0T}1!SEpzaPh4CB`cFljN?w0i!{V^|%b(Yvy#p(3wi@K{hAH_T9dlESm zkV}U|d9Cl#DwifvSB^jGp{7fs%1-@~8BSl1Z+i4bwb4Xysm)?sqAC&eY|DSSW-5tv z+F5+v#f?Nna=9Nbktp3t$8^W9^!O4~g*u(6 zdkcN&nDyl&#{}deB#M46|JTw6A{<_QF>G!%5zb#xHbPy72m>!S|C2qJ2!pomD?5}# zgf8~-;tlddXihfg4j4y-I{wXWu6jh+_k{DRK37Oohw5jiYsnaWFfYM6W9-vM9R<`) zMjvm^SM4Qo6eHJdsw2p5nY@<>%_>r}N(+c^srQZ(-(C^nv7lYqt^$0&g0d+Q_ZWH>@ z_^&U^Awn(&Vj;O|j-4MwSl>&!)|5*BubY|QnmQGHovU>g8|Q#WL zTs#Pz{g1itcJvj~@`zxT6s z^9kFxN{z5OFCG$3cM{=z+zIEKK#+rQTt~o7C4H#7RssZNUv0FULcf1*&+%_3F6{w+ ze%{925mn$`wMk1oZ4@|ttKHYz;~~sX^t347SOYUZ1TSCzQ~{I%9V-_G>U z`bpThC6#b_x{o$nXH3|>3~R#aj3u0|JK=m92`9QpYJjnyjvK7@uLoKbKI(^FE2`k)2=#e9f^fd{_ePdu8DY6v z8^Eee>RFG9LU3I@BDqiNCh(dyEW$6l3_M)NEL|K@4hxOV)3?(7SRBukJQ{qx0_J9Y zYY18O3}y_?tTv1dg2~VCA6^-60otb**AC4wC2ZWQNx1wi!qx30Y+t$^VRf#(C!FpI z`W-3VKEDa)yOwYqIpkli$s!r8tt-ZWL(1{-8(iu4hYrh8RBNt;g_9@FwtVdjP8m)? z=I*z^{zu*6()3K2z2HoT-__S(btc#C*vZRa>M&`blx98*J^rIU{lrVc##6C`%@4ID zY~3jZ!uFNh5LRau{oWT=x1Df4@r3gg5{{#cuw3F|7*qJ-XpF&Aunl9R3pZT?hr)|@ zGS$*yf$ZweF0Bvr{ZbR6u1{P5c0EQI?LRaTZ1U{iypD?mrbot&#+PMa673njbCVxv zOfR^re{~OGQRWRe$mhFQL z^?_&G-Wqwe8jRhfK1^LZ0n{_r9($>&L)fV0MA-Z~N5a;Xe;{0+8)0>>*br7%Ux#o$ zKMCu*<~HFth7*?S<9JYvh%=oXLBQnl7Tu12l)!55o0z@};_3I$Ub@}Ks1s~Xs#x%^ zsld#2ufp%A_X4Kc#q!{2`n|pMdoLF1--Pj6(6}k33RF*(@LHRAgo_r0&9AsX*t${a zgzYozPgtF_MTFDUA)HSaVSOD72+L7aLs+hWQc3f(nLoS)QlPI}@jU8d3QTF5-0#io zSz!6<;H$OwR)STKid$fUHQl$ocCAV2Td+9!x`%bI6fouYzj@`VIvC~`o;-Xx0+jz5 z-&cP3b;8D7hX|X$-kWfBI|5%NcOQVhd6cZ?H4{+WS7`b007KZg$C0r4s>Ot@yZ45$eVMljt8;c8VRdg@ zAe_&6!upQQBP_=azJ%pcPbRX#yT+ZTU;F$@kgTDyVIvOS# z^%T|1x`Ihe&rjCV)4{lW+(vyzy1(|-aho*P>%cH66XX6L*MZ!?6%8gqX9yd8YY3bF zHk5F61%&Oh|4djN<^W-Jd+#8ukBCoL->FX|EXQ^!V7X?{{ca!HWZ0|e5M{qXRnjkY zBp+@C%eLy#eV}W)Dqr={fl*toE-=#_0Asq;`^$_O4`U{Kh9@exfxeOPtCYYf(3Aw7;P$5UXr zRC39{hU9vm7(#|RS6WX?(IxU-3QdW%C6eFk1P@NProfP*XEGJv_kv#6v{}-YO)z|{ z-#q?~P|yvY{c_)`98j~X`xH{00a9)m6&o%~5jNh~PuP52EMej~Spy_T>#(<}+A z+p&?y`ZRR`>sv$j9cMZCz;Z?D5Ys$<=r;f~`izi&S(FEZdpzhWUZVs9JgqZc%2`UjUy^?R#**&i+a2AV z37c0vK-jt!QH1Tg$S2)8*MF}jtZuXqa6U=E`aZG*mSbryuw1fIM0NRO&n8(*GVJU> zdDm8365W(XH+q(*5EZR6Pt$Btc<*fN#s}?^f}W=PS4Q710j0RWr^^fo43K%{ala2A zWNTE+_jcGzKKHfR^Rki8>yEFaQb~7ypF%QW>v|>=wr^MoVRee~B&_ZUX<&V9OMvt3 z0+u5cfaU7_gbe&y+LGd5LWYT-=^mdoo(xkw@P3%85*e~kZ;WxW59$56ICy`mrKILe ztKAg3Z@Bb?S0eNE$$)UQ z-dYB{xoFAjj&JAQ;Ia9`xjeS+Srf0jZ(wecgw;_@23EJ;5?G(JI>7oq`UEV;&17J? z%9@Dmz%Rdkev%>@r4NmUHYO1*We3e_^Ae(#`QfVHb15R9>*ed4m&9xTQSPU^F`0Mn z{hKiZ$M=#vEBpDnQkU+J{PU6w?>!@_v2%47ol53)#~7=(JU0KigvZt?mq@z%RKtHu zSe;F|!0Hy30PFKq2UuUzWMDa-Gy%)iY{~n%ae!KlFL;KfAVe)Xp*p8 zL!}_y*2T(t>PbjGAQy7nt^$&bYu0E+6G*t*hk3TB3KG=%7XCxO*E4==elIDhs}Rpy z)!Y4@Da1>cr;a{(1(w(G)!IbwVfpoZt*Qk=j1icBhjo{+PZxE{QFkNyG@`F9a@<0$ zGq7r+s51AcDu^F1JCUN42g!?{Z`>}w3zA$Mn)bh00ExEshjy6EVLK>twjT?9ZrEj=Jm7#}j?Ck>eb4 zX+dg+ZNc`vMX=)HkDaR9dO(Uebwb1G?U2mBA~SXRO-M@G5}~?$FC-pSZYkPo4vFeL zZuL%i3<(9tI?ObsAYrNX6T4C?NN_(i%xC#bjP!Xfo9A(L8eg#QChC}>?rHS7g}ytG zqaSjW!AhT9jgK1l!is0D`<7;RftaX-Y#q80QWS>ww$CksWQPtt8MRIHx#)$AyPK6D zNm{$D|BK6zxV~#~%TxN?)OzHHwI^po;;{85@9H8kiZE}Fb&1$VpZl^p{ZMxY`ds?s z%W~}QgItGUMf#1gUolqDR=jNKOf@^%=g4PAM9KCM~BnBfj)=O zcN}uGAeT9azXVl2aQ_V}($48MwO4}prPa(SYMLPK^_YRqN02hBDE_@BeLi`qzF>W1 zAtbwP9pJo-`lv)s)LPvMNw@2lNJlP#q{H_L_MhK}F&pzySVy1xvV94tL!X1Px@XYm z_8(u47PaOv5G+cT^a7t*Zd>{QOuSIa5eE9344MSp`zGS7@#7 zl0fps-^VsL?SW*`t|KO@!H_)D+Ujc9D@Zo7*4XaesVw~+4 z8`9&Ul;20$;VLBG$bKNc(hAADUfmLkbs#x)%Vrm={TPq^muKr|;=8`5#@*XD9mV zavZ}ukShvzC=0~-p)EcyzJl24eaCJ3zK)c(qTNqs zy@r&W78h$ZRY>6vl3!6!2`Q5#%g0?@4JkUMY1Vs}V@$>TDy%!s^$q%sI@PFafIcng zy9_zJkV^{0ilLEiwN)TKbxA*e)o&0t96VRBcoT?=zsD4g%?EL8=?CRKbbW^n_Er#` zhLlGOX9mnrqkic%<*Sq-WohO;_0X4)5;!d)%#L7xKj zr9Lc24RQ?wvEJ{dF>_i$yuD9*Oy5Z$t`O&LcisZxtNzZZL+JIqr>E}Ce0u$dJo;`G zN8it25=E>9l(X-s)3sVzkn(Qe#0lN!V_n6p5jOO^XX75sn_!)o>x-o4J*z`~SzSOM zx(=-G2ILrwT(uxJP5TxddjrHW<=U`g8DF|8(<$BOpG$v+hFX2@s3- z*5?)Zf!I~tw)r(Z9wsk^PSeKH_k~>3d>}Oi#0t$8Cj035z{Xt6t708}e+Jt}=UJT? z)IEqk^g3jHS0cw32YB>9FVIgh=Z=pkQT?%_1a}-p&(T0ddr}H3N;6K^(kg*TsS-7#lG!gLMb6kB+-_ zHqi5r)!l_Yw2$?r$BE^biCpw}C6)ATK3ops!^0~V{bNtp*>i2089iQAZ&M${Wzh3t zr)+6$7l<#FmzgNOqdzBqh99^{{c>jLMW&pmzPyMHj`u*kA$a_F4|?BcBRxL<=Krl@ z`{=r}I`ybaxmcfg^p!;pQ{MGXQui(D$?`q#$+3tYdRplS3TgN=Qa@E ze_wDumtGe&hH($H=<&Ix=`n=v(=WbMHe`+sp~uP73LNSAoo`>}c#B?lY|O*_1+25d zz9Q7gMBOpyvlo5onB}1B!g9rd_~<0jaZT#~j~fIMI-xFL=^%cPCiwlF9{;;VcW<7d*B={~VxAs9wk{F- z=(?~v(^0n*eag_6amR`)FWoI+oEoLPc0J&ctG7YUh&OpVB0opYGbUt=#@h6$LE$;(9(&Kfbny}x`9 z+D3IJNN=3%lfwk&OgOD?*vte@uUa_BeG?O?cCmpu`~O5XzY*)+VBcocnTWdo`Yb}< zS;!$mt|BI8W&Z^IL=hAHsei_+&k>B^pK%XDeJh#p&5&KLB*%pA-FAG(%Lz<~ja~Lg zJ$)wFWqYvJ@?%U;{t&&Vhu$(lb2OVa_)TGg28Yd7y)ppfK+Kz9T?6*zpw3{_wL%{S z^u3N8BIH`ih(ary%%2FD==U$~DAkjAr#~y1$o}B!T{o2p`}*MBKMM<)(3BZN z_Rk7uLgH4fUeM_sT35Ga(~h)tT}bjAodR#5#HGaIs0 zNAy)ej@QWL%|sh2>{>d!kcnPB`uoF2n;7A_$M##t=`m3gMszL|PGBNQ-pmbgLz(cB zW1Y=Q#xh}t%r!@e!3GX!-t z(Z>jVwUJ{pa-Cy@_iC3n-O*yAU5Xr*^`m@uw|`mZeT|8FE_u1d{}v+{btzl|Gg{G(a}uU$eGI~`1i-y5A%Lpop}rP$)L^# z)SZexmFRmFIkq5|IwRced8Oe~FcUqd*|f&YkP$xXst7u@fDxLcjZqVqv9^?My_0V8WwPM<&AJ(%pvhCz*&IC)Qr59gT4+=8t0C2<%(T z>8$vQx{2u1iN31HQH@+hj45oAjPPs6x}#rY7~zL@x4p-{Fv4{b^My@&8DZbP zQTx*f6V-p-gxz~|8G(_1yr|baCNeGQ0`no8i5z4O30lTXM5Cx;Lf|NjlQB=vU$&0! z+R63}=X7?rpzZ|p*@wP$97o$%|n9`FW!j-*SH=h;RexUI`y68} z<_}@r6YL8|omr^cgY&uj34LcE$0X!h#t0LRX>H?$Fv5nflfNCL=jpc}%CCwxGQx)z zm1}=oWrSNBZ|5H|V1#qZ#AMv?|7q__T)}gXA<&G zM4fY}D?%UP=!;&b*$z9On+|1oZBHyjshJF~ceUyq*xb!UR!ycy^hbDasg@pzc4<6(@6m`_HWHP)#k&jaLr ziaK;1S>4ma(Yz;OM*e46l*Vy}Cey z;T=0{zP~nr;l)0W8MA*Y!*l+X-kAgpj|{%}4$>LkEJdY*|Iq7+jdcCld=TO;U>(J= zJYL8<6?N{TZY25$MPCvOuk_WtfNx6}-e<+a^}GaneYaKn=XBFJ_sOS_84Ryee1dv- ze|jADg}>ZFU*EZ$RRLM_cNfCy1sADD0kE`!Lo)K#-U0~@T6^9mhPeNH)GOT z@2yQ`g2m_V>e;=H-lrOT3u)hA-oyDWGq>e4yc?J0pCuSDyt2rJF3;$7#6~&H6U6P{ z>RyN;&l=cC_!I64DY?-lYhkM=dQtTBg600<2!ZtF+H6QCRkf+Wp^9( zsl9h!@T+h1{m^`KosB2uGjt4Id6Nkqu_f}gIK>alVm7WF#qj#VTXp78zidq8^8USu z%f`CP$g>K0zoO2}|8!X&JoGi2`W37`zHSf`JkC5QtD}+$p0mUG#CBS@9HdQ_a4V3Ro&#*viAPwt-4j8RN* zoSE3{ryJ?#idRGXw`S64QF6DQ9+$)=SN*T%Fu_s0`jfs(nP7pU9emt_u?X{ih&zIH z^tiG->Bvic{?XB(uaDJjLLctvYn-9v|NAc-Fe*`7r!jje*g3ATPs*wI7X=G@1mbBo ztN)I5Has+&vtZrd@$8dZ+m8lb`#YZDx~=+SrTO2nO2oSP6`%j>-=(l5a$KV0-|t~y ztZw{e?f#{I@dG}&?`%G?>EH1c@u_P*Z|N=gcTBkX6@SNEedgaW$Itv7v-%zX^@-;E z_4_-|`M>#h%)LIr-!b?4pZy(k>*Vrx%&k`o*iSJKTb!f}t`mP<|CLIA@4hX+Ep^v7 zF#DxeCNh4_ zR?9e8wL@7dv-S!&?oHgBVto>9_l;hvpW+4x#15RT8CaQv4Er&mol{mq2)HG#0c^oE09 zhmR_GBn^Q_z0KdKd;u?)=_AWe+ynQOr=%yHG=-Jz?$-}`2Z6)n2E!LNo5804f`l_C zcZ2zjBSCAc>GKDgcNgk?GJ}~tDH(0+3-pagoeR4N?SvgiX%cRJ1>x|vgsb02IKDi> z@y8KP&yH~VZwTj$J~#Tum+AxvNLSLEv_KztJB7g^*HpmgY+> ztRvjGh;Z}A35VZIxcb+G;~POZ{uILLEhe14fN;KC=yQU9eCb2r-K%>he!mUD7bk74 z{{9&J6_YO*D%gNmMV8lSqfOvmEg_h@q6u8$M=1REbpVIa4llpm`3%-7H3}|g&Vz}% zoSu430?hex%&I1Box3 zfsvEoVDoJ20_z*!!7S2ovT8&-=q!4*C*NYLzT<=T9dhZ>gdJNt5q6$$NLc*M zafGd}8AdohUBdB~)4l~%&vQ6^zWtB>9m4sFAe=8H2sRx$I9F32LUVMs_Bc<0b&YZ( zi>8@?-{PpZevWnE`D;2|BqWUeYNM3K+_)i|#CH705)xQuHAJ$`@=LEw1 z&^(LEBP;Y*mB(F`+*L=|@lo36ot=L`IQ#>`)mIUgucja2`1cY{?+4-ZeF^7l8R2~C zK*+EUo}J^aK$z=K?S&tFAjs$DuVh;>@UOZaQU5j%yjLZj|L4>=STk#ocuI>cxFpD% zS(aFWy`-`rPv#jcJ?E4?<@0LLOB%n9_qs#h-GBY_?ZX!ncKoK3aPv)s#mmYQu0DhI z&G^F?MmT;$!s%TjoW45YeAN-o*Ln!K`sVa$+oKRZ?%9W^q9?%fQNEYtH3b5cZfczE zxIvG?&OFh8CdPC`(?>6+IKrt=EIE#6=1o4tHPF&FR(DIGu$w4zrM$< zs>4zmv4kDRHxYLJoPe#8n- zWmLSYUNvq!mc%a`bTKfd=qqi6$R$M(5|oj;^aIQ&V%)zg03EFbM# z%<@+fPVX+^^mPd5>j~j}wLzG8K>TO#c!*fB`bW&T1_<7(`M4zf1q8;v?SA#e7yRxe zY^`GnPv5F?zg-GuY?1H!T^TW83qk8Gu<5O#bZlCbj=wFry9OZ)J!_1%QyJ4ZNv`kXtfx07)CfrRx{C`LG6 zMm@9|x+dZDz7tO0m~g&23F~Xf5QsSX@=IpdD%!7ah3WT|J0MI?uFUs(6a>R# z(aqDNATVOg4TY*a@N@INJ*_6XEn05KjLP;e4eM&ewI|&l9hX zJSq#q-J_$=2$Ue~dhw>^GwLA3sIy}F0@}~q^KO2KY##V)e19bq@(?`VclM^Gr-1A7 zpQC76B<{x8D$G9sKWi+}$P`8R@b@qy)5Hz(8cF5WvnQuS}%$l7JAz1)BM`7F{h z2`-5F@pqm%x?r%q`@H|g%ihk6PHp*bJj$V1bDz}TvEl0>uP+B?|2Mup<=cZ@fA{MF z!;66u8Z(>!n?Lh?;H7h6|Bc!C*8j$AeaU}gmj7?xYhYOYf2YOh{fYWZlm0gWoPVdk zWA^pMj{Q64UVqKsF}F@;f5+T|O`f9zHV21KN=&2um0hmQx}hQkHtL6U^9~*Xo55y7KJL%}>mS2a3T8%vb^Gy7hSnItL+&>2vPt;ot?x#BU z+l~kX_tdWHkPTzNJ?Qn(nTIZdyRY>AC8Ory_zKR;AfB!dTknQ^rO1CC^_)=O3VkJ^ zFJlNCzx;jv#Q+E{mNNMIwHN$fUur9iD+j+Z@7(kywZNx$MZk_zwBN8vmh#XWCE#79 z8l~+^_pu0${Lwih1H5(By6g{Yg13xgw3bN(cuO648_?^6V$Wxt0{2|mZF=fDtTR(MSZy~8 z0$i(mvQ+9|EiBqnkWBm9FRL`xoN5GX2fmr}RzUj^H|2e|>N*Yn)pbTy%CG*8xp~^J zpT#f1`Xc1}h5WP+F{}3t^$&8s^agXjwvC3c*XJbL3XTI`_Mf#5iW?zx(a3_dox>qy z5`8js;wK1p2(-EAXa&4G7qjL1%>$m_!=8u7Jb^dWe$%#+E(mJhwP)XZcL=(?=G3-9 z5)gF6`Jaq!A{^6x&g}fZ_+G3JKt3zv_vZBEhoJr(^wogAt^mLM`?1Qy13(BC2U;|3 zA!5pxDX({XLs-X4sn$Ao2phfRvUIyHgofVi3rUuOP;v2X6Y>v1NO9Y3?fLN#B0Qb? za8NFUtjMym>)!$))@y{4o|AF>1m|}kJ_YMfA)gBJ+oN6r>Sv>`Ip`|^A~*5-T~JGh zs5PYuXJV5;DDG?!nD_zs*Sq2cLu(+S!OH&U#pCpIKzU_#+9e1-;L)3wOZ)Ab&VDeg zcn*Y1sZ;9|Y-VA(yo&Fi&%W(V{=jrE07QY1R4Umua0sg}u zI}Y_qIDNg5oUhyS&=-9UZe((?P>J?st-p3WxpEK0oJ_V9ciaNe!E@XT+<gCF&Q}lJ^qoEeq+FRDXK5eUOItL?)8|X~ zU3;KL_R{{eGu~#8zXq`@pIb`&n2qDhIG=}j1FSDaKH7(s<)?jV|LC<#p?(PZdW61? zLz3<ggpMCq97vywF?}u9`wS9-SDkmixRpM~Q(t2et&L;)JPA8b zpX*`qp;+I@@mUT;{@tkOg!;Yc%L{!uL8{ow_Rk(Vkh-lSws?{gq^#N1e%awBB;U4~ z<+gDPBpcqSE^M0*Nq1a@Q8PUuDPW~ZPuvg58T+Sl+c1$Vq>bt8UNra#r0(8YZ8zKsQWsuTop+j^Ctp1jLL4F? z1?1;{RH3hDuhzuqt$mQP?T13~!$I75TfhJ25zo~-AfG$(cc7jor(f6)eOaKd<&deZ zv+c^D*^pVeH0swbZ^+oSb8%F~ZOD-186+r&L3-Q_hrkk3NFUtUYV-XKq!s;`Jk^9i z+G?$oz1gQBO)dKRBU@WY8)6tS|DHLd_PsTjq)~`t3!HaAd^U3=qCv7Lll&JzW@ygo9Q8`b_>d+s)hHV>B0An@Skyqq zIO%ZH%189|j?>)tv=`EI#t!szXo2*IoRT9^Zjc_Ja_yx9565e8{u$zbVf}ODYeD`( z)O&>b%h6Xe`bwjHF8fI@UoeoEZ9gzcLgEK8lpbSq-#wVX#T$u+&!mZ)rrQzq=Sys+7b_EWwVrO`Y%3g<&o5q)V9!E&wAJBlI1GvRkowxkMiO53{p;qi^c_E7oPuz#Y7)!IN| zs`nJKWV*MTiAN4GbI@)3W~f0-_%Akz`+E{&TZ?>y!&b!ThU16lZ?pG`YgQTh-c@zW5=f~BCf&JGyQ7qi1Xf# z-y{8GiTy9D@q*3Qh~18a#e$22iLJ!rj@HLdh|Q=C8%lzTMGLct+I_9Wrjy}@RR}2y8mAdg>EF|HVgP!VNK23t>YktbRah|Mo zIAwEk7wt25O81`&d$Nf~VfoIx^IVDhu3VU8_KCO|eJj~raDl9TW?}ZcknX!S{<>IW z$aaj0m|ums-B|Y=d7_cG1a&T;ZX^0=L0@5n|Dd<~U9C8Y$dj$LKJk!*&XEXl>JgBj zr<(_)pLj*q4h;D%H=~328~|k< zbL=~eja+`!PsBaMIyH`m_M2gOHAite#p6+z{=fB)k763AUeF%T(guzYw z4M^C=Ete}juh9Q9EkAv8E$!cXH|BwL%sjHzqDW=j_FKfawtIK2Qy=k})LXJtOr3a- zQt6f$a)o$p@;a07YakbUe_%cral^3gH}W(iuM_H|pza&=;f=nw5x({O=;Fhl2;X@3 zHj}z$5+1WGPCna!gibp!evWPm3GO%IW{e4t!0kb+=Sq2yfZ>~MY$om@{+4MA<9%u0 zz46+fBJt{ z51!?)uiYd<`Lx3<#}g!sN%>qe>L&?t8JV7cnIXIin;)uMwMo#>(JPNs_mOprUwyva z^n?UxjFx*IxR|Wnx4yo=ZwJN?m{&nu30GG$5P5Wv*MZX+Jr#AYaX!9LKdi4Agg>QA z=~d%R!jHH${Ic6!60x)HU5oA)5-vX^;iE?^35~Y@{dQL$2^oBb3AbENcx~Sc{goHIJlCro5ST_TC5;@-diKufBb?I?reLO*5 zj|pF8TDfJvMtZ#S6CNMZAQ9g-mDp{VO2TjdD0^^VD+voKHMFwvBB5%boN&nTPu5q#SIdXYSjART^&&Pq7kL1nn~C=?T8bFb{Lmn{vqOYuof|ad=s$Ln4w7JV}}xNFu}z zn9TfjlZ0=%qhj;gfP|Yp+oNYXjf5*IOfhNq#2AeE8Hihob@Y2AmS-dKnxIY=>Rv)0 zdFbmd;h)@nV5z4H;dgDQA1J&-1k(AxWg3nW{;Nxhh3fi*zfIT@`m=-ZXX*2Mho{ox z(O|Z5%5V}P-r-Pz3;NTKTyXE zbq}MD*XV0D;Xf1`5?x_V1moMQd}8&8V3E$&;o0Ftuu!BtOzH~}jHx!b)VZ4C-n3gp z(bv8Cy!*=cM+krUt@2YQW9fAkWyXI?&kyP5bNjwJV@$?;C*me!T@ms`Bd;x|BRv{* z>E{8~$0GDa-$%M?dq*zJBLe-?&i%dV=PqI9+kN|Y5W)7I`r-#7BFK4n?1jc}B8WP4 z^w#Vn^mCbFRk}qO5vVPj-lt_x1cS02J~PUM|8)s3bxRe-7nrw0Trk!}AARiJ-?oO1f?p5wuP#{)hJO6Vy)I{NsH;jQugMint`KQ{Z^WJLGjk z9Zl3dgg#!QuT&zC*)5~~*@FnYHq7GjZWBSr6Ui@%p+p$;MyfVIk_apAlv^!aL4?ok z8_GWQBf_?jH^Zw{iSYJnxnM#i{=-cmeBoWpXxnty#)Sa)<2!#I1M}xsIB^)AqQ?! zUTfxVr~6*_3x3pOwUq9AJZ9SGct0>Iki5FFst(k?l5buU4G0_Mju9@ui|%*)2WLz_ zul}i%RHQAzO=gd9R$eDK$taN_6&YZCC8zJisKH=#F?N7t(Hu}8(Y3Iq zZ$06n8R7C135y%~mT+}P3CEL8INnu+)6pTEZWZBt(7x@gFZw;hj<8 ztlJ99Ub~okxLLuXR`cJUk91*LujONlO?HHfO@zw_5DsTbxVlEd@?=L7j@OKEIwHd9 zo+O-)2EzF=2Mhi1fu3DWbRSBh`PJwpcn|U@^7gj^&+K#=!>(Q6PXCS@qHGQ>@+~pd zZKuFKX7a8nPDNm4IBVT{)oZ}~2$}o7Iu2Ct-F_LAE>F1FMYwz$;czvCt7{=FPirFK zcvlck=O*EF)d}mvSb}iA%77_!|ClrVC9H64z99XK_9OSXdalKE1h|Jkx_@oOHCX*I zQ?lvvU2smdF?}_$9_(&^v2x0}4i*zW^;u;$f#D7BUByw#pknDVGv<3HVPmH?;qsY; z#fhW{S4V%3_J>EVlCZpA=ziO*&PT%Pn!G2Rk3EF*l?`(bYZgtLhx&l@l zN^>_l;|nhPGF@zD`NE2OgJAFg!7dP)9T-@ zH19nL^qbY z;AW5;`2h4b)bwA`dI*$47QD4CDj;k;T2I(~+a{LI)>$kz^<|NB&U+;kKtcTLehtvMoCh}gIkrsrFbRP^hKQe@HxK{-0 z2+KqNAHea_eXIWH_)R37?i|AUkh3PNulwa?-^ZpFZ%`G3S&`b4E_y$rzjK_MX<=Ld zi+#`ZrgsWq>HeM32^kk)$?T;{9aqA@)X4kkqty}$rusrDk!tsU^PN$i$ zx{3nA`baVa)>m8{8KwGto)h2Dpkpl0V5oB+Or2P(xWl6r=2k4OnBSla`X}e!J*FND z2H7V!OReIAzO-VTvxF?n)0Y`kXZ8U!+>ShZ`E3M@7DVT{(LT9s%*Z2bzAK)vIMXYH zts7WHSRUsOgyo&iBb-heVRhHEm$5#aX#eFuzQW?jc(pgXy%wBXVF=SsZ%-txx!SaSL%<28|&0|m;%pymp&s;hORH6!$UY^K> z;p(c_Qcn63Hr~EO*!-y(gvBixL)f|jO9{(UQAAkY10x8hGueRE1u@3wRb;tRW5qzSSqZqW!C<#H{asepEJ0|Ek@7#3mbNRNeY+ zGioNNU3xRUUkVQt4NT9Cru+X&&i?IgEvHD>xX_=l`4h5)#U-i{wr*GjVR@E}AS^HK zm(A+PiUX@VEe<#zv~TtwUswBx!nnI<2bz|X=@I8gbab>5alJ_I;Bf4B_L@RAz^hVlebmxink$s~Gtc$B#Nn z*u2U#!s6C+5w@<#m#{pmPZE~*MI5j?nTEjXjxhw*$H%?E`Z87^3iB?c40|0%G>3I+ zTriwWrjK8_?djxJqA)7KcAb`(L9gBGEvf~rzh5y>;!4A^M>gRptMY{KG{Xn*NH zb%zbh{_rHw>yYJr-3qJ@?UT;xy6pwlN84UteJw916C|n}->o+!(>GjZD#R6t#;>2N z-j6jTDhqT}*Z8`V@gc3B8eaerAHjGv_=%Oh%z4*2=|f-Hub;_7+~1d%{ao8zce{?} z6DN$6j2AaxV_~SlpZpy$LjxA~G2Vc!3+MxuXEQzj|M1q+>+p|`R~@jrGGf5`=;scs zFS?J^=)8*A{y}0yC8c)up6_vFTG(TY^et{=O7w?mj=$oF?4{wZ`YnV=q%ORjDl#;9 zx$pg_;bXv%b9ikm-HGbMb=M{_12+CsVeltELQ2el#l=$pf9j&e zfaN(}4lHl|USM^88v>^r53G-_3SfQtiIE`%CIt(n;>pD8FS~cu8xr}RYO&Yi43VwL zc9^+FjEp?vx(ZUu$spB9OC~HUH|QF>eN}vUoWU!pkuUFG7Bi^pKkjLzvbe!9U)lt} zcWBw4$Q+a}WAoB+Wh`!eTp3&UAr4p`7X{#W6@b-oF9%jv(hyi5O$_|;rT;4qHZR=r z&M#v#r1kZE_Fh*CsXQ;ED`E#A#c$@ZW{ruE-29_|;y=eBIojv_^c|ZaS+DuG?cxeZ z9#*>evBY3V`l7cmF7^>5y;${T#Ii3Kzhb@_aU-w}kmnHcwxP}<)TRBPSsx$J*BRJE zA3X0-dIuug#u+l2VCZxo(= z2Fa&q4#_r4gk(`iT==CI1&K#Ifu_mWBrA!XW=ksXTtA!XDJS5o7S(G~ObdqWmyh;^pOvk`f%QOA+fy&%T< zm@<>|#SDWDJHDAb9xMx4t=~qM<-dna|A_Xw+B=ZGuh6m9b0MUqO?i1I>@K9%6nMLd z6+!AU{a=cK`H<4RxS?Av22!pTttwV8hLpn(ws)Mki?J5-r~l%(I$F>2lp=2j>a0TD z9?r*ZHT1O-vK($&jGM6uvX0wNG@Mfbq7mu+C6YQIgFnhtcZNQsTdyrT>NO71l9k5X zZu<_YojJ=LE(#%ayOF^I5&d3we7iK5P524y2PG<%(1`J<*pot^xjQ}jFUPc zeY)4Zmibzcwk`Z;!5q4-n$nLVKPyA(#{ouVChsA&diw^ggY^4eHdO)ZM(J(sFMd#w_-}s?_3ZiWhdlRv_od{0H61|RgjS$^2lhz zHb^g1v(umd4boL?_ir@JhqTM-x~A4^AdP>{J&G9!X%2Vhk6qCDUu5&NZ#;{0$GQ_7 z&jLy0-Ge%BIo-;CeKesjE69u~v>Ii<9z=)so-|RR>zrDD_41~VkXchjqOemxk!V;&Hv&DEI? zL7o)kZAP7+obKjH=pz?>6+x!aMfo4HJ3!=>F?-!_9S}u%-q~4j9WsA~TJDw)giOni z4FQABK*qtF^&h&2LWW$*ydZ65NG}-?bgRx6(nB;fEq2;Lx{XQh@`=|lR$<->arFAc zI*w;F^4>w6&8XXfK31Zy^N>09-PqoCdi=FxJzkecfN1UTaQ72*J;!H^y7*%RWNy$_ z-*LhkGI~GGDy-=b8L_FYk>giF#^hJK{GQH&^tP~uyj}sMm-oF$&!oRAV52PNsV^2s zfA_%F@sVc?@~%OhIjFl0edwXDpO7iv_4vt!f9UnI=(KFNDu|rA&AgpDL8KOPWn3~3 zGE0A3UcN%F7o#o%of8I-QNN*n&4h)J5%YQAwLv1tFiy4Q_bGy^T6ys7v1`&uCEGjvg!In$n1V5dNgnZh|Is~?WoQM(X8gj(-s3{ zK3!c}os802<;b!79? z5$C|wEuqJi<#~g=!%*iQ>h4D$E6^7`ZceuP396qV^Sy8KX|+&#{J$s0n`VJXcf+ly zkMwsQ!`rW@R^Erqdqp3gw^O|>!aY;e>3v~U7k|(pdc1VC@0SjXgiPhf^W3)1#Yk~% zJ``~av926>79(%te>$vg2KtELd`%OB%=HV81$vu6X1g%w%)ST^&AeneKJu=b7Xmj1MqB z3vm~*j;;^OLv>hQ5$e$EgVn7g&!urOo&DLgv{5@~klcGK(^|W*(r|I~$cS zzXfr-v2FwMSRyaIep#J6s7sIIA0GzF=!=2O8()Ji6r0lD$Bemp`lbavzBU2FFVgGE zC@$`!$$bzl9Om(Q-6(pUovNO{%@9N*YnocMsE?niS|eZXgUomL-=807K+pGX|N9r{ z`NBrJ4s3oo;?l8>o^LFVCdV7li#ktHw+?+cqc3~PBhxN1V-|?UZc;unxQec~Y4gSf zwIEu0GWwkkJ zw3X*;+57Z9vvz3E+v;Z^iZ*dy{`E0^|31)=U_sBz#HSx!#?bqD%+sOgS1bpS(DcWM zd;TB_zh0(kO0P#Y-oU&I;+A4v4e~reUb-HCbZY49_*a+pLC-7J*PVZ#1NmS4-wOP1 z1^%}J|676ot-$|Q;D0OdzZLl33jA*c{+^crmyqd;sSdxv1pOQo zW7a_XQ(pMdf9$>>i~*SUMBFW`n}9rHk+%2{8^IZM1F2+ zwI?qbzKjy>$2OMz8aRLn)v!7=!ODOM@$t@nuYa5g zZadsl__~V;7Rgo*+(i5Pc^Lg38$kO8vM~$uw4Wf0`+;>AkjDsl6;Vfsy3y!kJ^G@@ zH6!Nm68qUqPwot2B1&&2p1*vG37^q+b^S8xQ!3&#zbAtUUFcNk z3waAr=ML%~Kp#T% zb(s;G-c;ECB9Dn2`t0KKVTFv)JWg!#{jUuFM{a7PVmA|U~s3naNx^B9zv( zXFI2RYaIHhLtiHt!QoJ~y6U%#Fml?IO4VdW81&t6xZQU~&?+gECj89Y!0z||#v7Qwg1Bv1Hxqe6 zkaq#<5Kecw1o}A6`Kpm-1O*!(Y@Q~^2t8Gk9xPnO2t)H#eV>Ul!lA9lGAB%81nXoB zvQqRI{*7#}vvuhVU%T*avQG#TQL*sAIo@6-B22*}iyq$y%j8&f+TWdvahRvChsABf zy0yr&8F`&hXBwyb^gH^nLSM3s;Dn-DgXlFQbUHubwrwgS%=e(EUAC51+J*gJ)3AoNww2rAcAjUHsk2pxuGPmz1d2&32KL^RD{gjRbx^gT2f z!6%($yDUjY5bbkzYT_nFFk1iWZy#%hUn-evv6!xFyoc2(UFyd}R5AvKw-m$1N4|S)bk4NZ>>bLmZ^0(zN!WA+8Z+@>}gvsmgo3EtD*ROWVHn3-e zN+Yi+O?6}hw?>BzH{Qw!LW)anh58``Z@*#qT|JX(ygoDhR_o{>^E8a{n16>j zdcCoA(a1xuLzZ_9>d^D*kM4?J=)()u_p}a{U*_~ zPW*WkBecGLFUZf65lTl0wk<27{4Iu+2fr|a?1O#6k96$wO4e6nQe z`4E-Mn;QC<5nA+hc!3tZ&wt7l|NNd2w3|luJ3!Z?HcvY@;sYaq5q_f!i!oMmdH$%s zIIfPqPp~|5k+%zVicr@QeJG=^k@P-&W}7HsG+p2R8|M}tVuU9WADG^w*U|Y6SKS`hGZ2Kk}$4BRun=utGeP5$^s~{3Y!RBix`Np?8ShHDoKUX*Uxo@$*bem>Cl}IP>Jm;a*In*!6)Ev)3}hubaj+ifkC+YmfTbHpdxZn_=mZ z)sHaJ`#qa)L|iJ?MIp~}h zvg=~+YwufZ6j3$*HWBiv}8y%?#R!3qC^V?xus|!{c`SyDddN zLBA=uG8gEWFV)%*9VE$vacm=vS_^Gt(-rdoas%=y^=d_o%3xIMv=FtyyxHX0_D_N^ zcRKn~AsU_1q}GNi^g6ZHr0AzJ1cT4wksE!8?Sy68g{U>q9(+TxZMeN?q%u|=iG2Y2 zjRK4dHHCrNoL>gAJ&-qT3>`^nipHjvxIwhZWm20oSRnk+2lPYuJdj>*(CM+i zNNLf(DCgw+1+y_nJ9p6Vyi)#}5VzABzbX%Hl75)B5Rc@m3t=8epS(Ow`>pb%{4S8z z&iHkC*cYT<^71-@G7qFrULL0X-tziDTH7EU^pIFak3Px4B>o4s=XT;^J`IFCZ5-2N zkhaKDNP&Jw_hR3`J|MM`WLsW^r&^=&RcfMnkH9p@i9e7fvGnf{N1rC=lKlUjT%tK` z$}leQS8^`Nw-$0$K(4&#J2M-vC)NXh-^nK>uZ(>5IOZyFP>NLI@SNJmP>~$-kle}`&Ilz6|DwkM_)yy#Zs%@2@%$?R>u5|k3} zx6+=$w7fr<{aZjHg%Ejtc)U4l3z1gxL%~#O>+-mBM+hZescvHYVJVXFI>#nUE7@C^ z^O)00yeC0pk2@Al9K^8>`&$u_-X22M?iug*m<4~%Sf~6kN)7C-oDVxW{4fFXq%%(4 z#r-2iK6D8DzLD?Ac}SC=+0PnN9Km_MqKqMFzxu}5B@J~hSck%_4icw>Dlk<&u&+r! z7}soD^2lrSSIWGNzBlj3j$h?<{LZ}DvQ79ZZ{zRHoBQNfd7FH1-U3)(KK_8~6((gM z#IeoLnUeoOWc|Jv3N|)!^e@aqLUam)DhQ5ZMu=k`+>UcO=?A){V|b($mV^BVe;6i* zq(ctuU&*&6&m(Qe^fqMY9Q@6dLZ(FhF`<{jbB^psr0|N^E`^CaCy~NiBE1ye4Pieb zg%3o2DSUhqf2W8PJ`;RW_*|ry!k2#m8lePb6?f?Jf0pP#B|NocU zKCAA`19%Nay7q$CDe>A6-V1=&@bNmD9RROE^&V$!s@tP@K3oQh|YnOOE60avo z*NE^Qsgi(FfYN|6fUxHyu7GX;Z-5V=JHQvv1JD!D3(y3&1-|;sN~u0{{a7 zg8+j8LjXeo!vMnpBLE`-qX44;V*q0T;{f9U695wdKL92HCIhAbrUIq`rUPaGW&&mb zW&`E`<^p~M%md5^EC4J7ECT!lSPWPKSPEDMSPobLSP57KSPfVM_!+Pkunw>uumP|U zunDjkum!Lcunn*sumi9YunVvoum|u9AOS!Ddjb0Z`vC_42LXowhXF?bM*+tG#{nk* zCjqAbzXDDJ&H#P`oCTZ%oCjP0Tm)PKTn1bLTm@VM{0{g7a2@a`AQ5l_a1(F~a2s$3 za2Ie7kPVO>kOPoY$hjc26*`o21M&zR%65RfLWgobfW6S6oF7m?=uj>QC?s?!7X}m& zI+Tk7iU}Rc#Q`OR4&{=7QbLDvX+RmFL%A%VoY0|M9#BE(P_77&0Z@l>B|v3>OvqIr ztO`IK%GChX0jNW{2B0PYbtu;Y)CQmqeTKfP1E?!x^j$rnLm7QnU+7Rq-!%|Al+kw$ zg$`x(orBP!jJ|6mbSR_m9EA>L^j%}2Lm7S7MCedP-!&CFl+kz1gbro&os-a^jDBh^ zbSTRJ&H&V*jDBhXKpo2HCl>(fP)0ww0#JuC`pFG|I+W3O1b{m98TzgzKrUqTT`NFK z0LtjQ)&SI@jJ|URpblm9od*DQD5LK@0jNV6eb)wnI+W3OZ2_o58GY9dfI5`XckKbF zLm7S70f0J`(RUpIs6!cj*9m|+l+jO}0jNV6{nQ13I+W2*UI5ggjDG40Kpo2Hr)~h$ zp^Sd=2A~dQ^qmg?b?CE}fbIZaA)}vq2p!7kr=CKGGWw~P(4mZe>Me9Aqo4eQ4rTOH zAE84T{p2rnD5IbH3LVPmCxy_VjD89Lpblm9lM)ahWb{)Y0Cgy%pMn6WLmB-P3_u;q z=qD8bbtt2sLI9{k8T}LrKpo2Hr!WBOP)6UW0jNWtq3^;05kf}aX@m}C^j)OTp^U!M z3LVPmJDt#>jK0$g9m?ptD4|0ceP<9ll+kxap+gz{WD+`*0|3zg)S--iiUFVwW%N@& z0P0XiKg9x2hcfyp4uCq8(NFOJ)S--i>JLC2%IK#70Mwz3ei{fs9m?ptK>*aD&(L>+ z0Yik0z8eZa9m?ptVF1*jjJ_KVKpo2HyAc4?p^Uy82|yjn=(|w>)S-;N8x24m%ILc> z0Mwz3ei{ov9m?pZaRAhzjD8vqKpo2HrwIVmp^Sc-2tXam=%*h5s6!e3Gzow@l+jO< z0jNV6{WJxDI+W2*Qvs+$8GSbmfVv?7^wV^}3?ZYRW(pn3=%-mihcfzUw$P!Bewrh6 zD5Ia|3LVPmryqq5W%ScLp+gz{G+*dYMn5eOI+W2*3xy74^wS~$>QF{M{RCJfWc1Tw z0P0XiKP>^E4rTPyQUK~uMn5eBpblm9({cdnP)0wk0H6+K^xaAT>d{!I+W2*y8);}8U3^e zfI5`XcfSBohdx8!B>Rw9m?ptg8K(NAXps6!e3^cw(mD5LMr0#JuOLqDAZoEP$52rmFohcf!< zA^>$Lqn|DTP=_-5=`sLyD5IaQ08ocA`speFbtt2st^rVoGWzLv0P0XiKm7qf9m?pZ z>j2cDjDGqPfI5`XPl*83p^SdI0Z0@w`spSBbtt2sZUIn-GWzK@0Cgy%pY8xqhcf!< zE&z2XqwnqkP?rsm9gqW%6OapF3&;(~1F!?+1>^(R1M&k3015&M0SW_(0Ez;N0g3}k z07?Q%0ZIeP0LlW&0m=g^04f4xfJ%VMfGU8hfNFs1fEs|BfLegsfI5J>fO>%XfChku z00%%LfFqzWpb4NUpc%jk&>Y|lXaR5mxB}b&1ke&72ebmT2Dk$}0G@z0fVO~kfcAh6 zfR2DpfX;v}053pSKsSIlzz5JB;0x#h=n3cr=ne1#^a1z-`T`Vy0Duw@2nYfM15|(z zKqw##paz5kA^;jdBtQ$$0rY?Aw1sDw&0~iY!2N(~S0GJ5)0Wb+L888Jf6)+7j9WVnh6EF)f8!!hj7w{us z9$-FT0bn6u5#T4lV!#r>Qou66a=;3}O28_>YQP%6&w#anb%6DN4ST2>=S%3)lzP4>$lg2si{d3^)Qf3djb?4#)w>3CIPo1>^?g z0oVcZ0`dXu0r>$100jYs0EGcX07U`C0LYh_K+c)~7l0Qa7=Z1LZM6u1KEZlm9li&d z?LYKeW&(Xz98e433g`+@0kEHA-~0)Hb-=dz9v~n31=|(d6x$Qq65A2m5Ze#i4$CYF zC=DnJC=aLzs0642s0OG3K)VpN0R-R!Py=wE!+m5W0Q=xsz&*e@zZjNcI1(b^%fUxc_+l<8gxYU;M@Bw2^9~3ZI-d zsEo${q6_d?nF3YP`28ctRFSndsFWsEuq-f6)~QPuZx0zx7_9%LVcY4i)0<@V>S^nl!oUT=M%PBNdTJSet3iD= zY%!>U)$k0Wsh-gk3~xDr(qz8;y$!N<@O+}Vcuxa7Aq%f$h+t|%B)q9Xr**c%GARph z2T_)@Ea?}jHpzm(7Z5aS(ooeTsA)*UhBBR2)~I14$9fJ8>osg7aij=4sslTzjA4@b zNt8jVkPxTFj!sPjgM*wLgPoeGnyUhvJ1K)4mCXa2HEz<(!9ms7p@}jD8$`T3e7u9c zrjyAW>pL{B@0dFIx8vR&J-pHJ+V`4F>2WG9P#|N>Y8nl|Et7GEY^Y%%O?Q zp}DhTLuZF(=)T6O2~x*BVpT!W@Cd6$#W>*|8IgKM>=Uh$bqO*--DM69of|d*PSzf& z3I6xu*yG!2_0c97yw*Ww?(hGiiun0wvN1B5B3i4CidHFU7eOTLfHIk@OdcHE zO{HNwxiL(w@1)c!Lsf?K?2y3@t2G&P8hHFU)R>$}$gZ+>oqgpU#hXgfqe;@sWNIzi z7Nbgo3{|eOnp&MASQVm-)|ha$_l+MCs!eL8MiFArMJm`UWbpkh_&On0gsZHh+{eQk z7mMHZON$Vm|4uU3nksV(gJCyI<7YXcM%NEsLlmfshNDUvKg$V~8lY5YRiV%^VpNK# zek#1R+uY!;GRwv==r++txHTT$p`;6nFw-QNYI!RQLU^Pe4q{0}l4N<6@%;xd#3~r0 zM3WT4p3>c?%Xjq{mPjT`he)EdoRGbqBz;!P3GuZnk~wLFuCg}r?%v+tUFS?6zP`KU z?@j2}sAl>tjSnbT4uVTK0*O9zLv3i(Gmv=EvF9`DGE76DU`FvDhXl}UZz>vlmqQdfr) zDg%u=O|(e`@3w(=R>5o8f=ux8Cw8Q^d^|)-rA8m7u8g0|#Bdr3-?J zhlHqbNvUR2f8eyBUAQ$!DD5r53YcMsnXR;@ANtj=-yoBQR~%q7mF`=;)Qauwh{7Kj zQ^aOQz0vvKIMBmduT^V)Kv4zJtc!Z83`?2>%q*y*d;I= z4s^U)XmhfkHT^KdNwKTUU2RYYg=ti#R;|DC*w+fQC4-}~bw14CAc};RJ%xxC2CJ2! z3NeCVJjKtN;Y%78_=(LFbZDXFhf$T5ovKR3B%;=|GCwNASZGkkeswOxnkr{-n76K# z)scFQItb2=(?g>e_$iFD>ubxG%${0QOZL_-c{T5EKSy-SJj{V1-5*85pco zz%4##UfQ=&rRw5*QIVQZW70{z+wxWx*XZE{m?DWLd80U}>NWZPH8WVq?;_CiJ2{e= zgk-ga1{K`UVyNn;CEW%H)!HP2 z)DmlDhws`+M3pl<9cj%$N~H}};EA`?rir+#%(9yhWipk)0GEE@AeDCAEgx-?AC}VC zp_vaY+Lu!hYC?4ewJ9tzss64q-a*sf*-~zS%b3XyoG?TO;b&e9k>+c-mhXDW3Gv9R zPPzdK?fhpxgdUl>glUXntWhi)zSN=MGrWI*pF}h&z>(~#p>&wGY>1V~G>SAjOY&B> z^bnwd4^Ms76e$QB!Y^gt$RLImrZw`L8MzOeWI&N}6A;2}-Qsv`W=ST%Iaq!(W6FH# z#!?U}^va+JxIr@+AM`^#e6lboU4qmbWHR(%YzTbsFIpcAcgrUyL)lffFn*p_*-K#hx&ubRY~l@t(S-^LqS(%{1p+rq&?5TGIPQ-_hMda%ZD!=R1dF#>$LbWH#jh}^DfdM532k9otj$+&)2}>F`Wuy z$F_8N%SLzwJmLe*kp}HQB!nu%Ge71&!y2WYK8TIzDH=1~h>RbDBn!V@{J6?A(dp(+ zV*?QK(-!GXA1oif1Yvq>NGp8EElgvs$y{l9w-FYmH^H%Fw?mhjeVE<=Vfo+yOv+ex zMheb*eSI6EAvbbmha0(IE#{U2u!LkNUk#JvR^$_v?l%M zqok1xE^$Su^$Jxip4r7iC_hP)#A&$?jarp4G6ZH1=*qNO+0w%(KYg9wRizHay%8U?ZHj(UFl+grFnFql`NjmYY zo#n^n zTuCI%@Lmkdk13h_5G7ie;k_7^uk~cIbSIlw8r&YkFOj!1>fjXvuo(6*H=&P83&$R_ z`RGf5 zz&eT>6TYr4YOHBx=-4pr!bjvWJWQ}7_17?DB-e{F**dU$(gCR zVEI%8u8x{Jmcqn(7A|(B6B^dEa)uX#t?{9>+)Pzjsmc~LvJK|qcZBf#U;SItZTLA( zaGVb2?k2S=MQ60ehZ&wUb(O)zAXP>kCFM4(qF$$l87s_-**#RLDh<;)i{9+R2%)YD zI86hGzpwkEHT^Kt?}Igl;nlKqMh9zJ87IZk3@6n?o;WyIdSYBAi-Ykn)R>Nma1KaS zr(yGyO_@RLf8=oz{>ryZxyjT9`=Rwyku+XDhlE*E5%faR&pZ|B$SyyNd5CwqZ|=jK z|G}xqe{trJ*$<*-`hos`;JExRKa6Jbs{{TQR`l@lhRiuU@q_g@4pBIB;EzJMi?^)= zdl__amusY0I)gbWkNV#@L?NN27Ye0WO`6ZBBcWyIZN9Pmw#LE?=Uzx?=_)|24bnsh zs}%4OHh4cC+~*J)rh{`N(ghpKr*mSgNlBCZFly=ikS)Iz>hvDkwtQK^2~*$RU^dYT zLb0At$4JZjq4YL~bWUSfPRN$uhG@78oxLzlqc*~&VSE>&R)=j5QRq6~-!L*6YhJhx zAS_L_)U#sO`BYWg3y>|gxT8*n zcWnM1PIymKbYvi$bC*VH$zID30qnJ03V3BSf2>R*l0wTZ3{;tv>GMIOSbD2lhG$@{ z85{zm)tX>@GD?hx_^#Asr!p*WF+955Q^Cw^g|Oo`)7oEc9VP3azc$t z8)^!}vrB0{(q%az-pQy@DMP-p&D_f0KM!H8tc9DjjOrApnp0NUB0lIgunWV;fRF#B z`Sb$3SH#0p-o4}ZzAc&&@&kK{TjtD0TK@D$+Kroxu(3sTMhmgGh}$RNgdkka4NdmO zLO9c|f;$&d?5`O`WHLj%f)6;#*tD9)Rn{w`{9kQLM#zo@U$wU7{m^Wod6Z5;`VR=< zu{F5eBn2BZjpc;wc0oP~RP+l|X%#8wCYFzfa9gCgvgXc`Bv@+USFQ9<73>-HTd#$mqMMjF$T&NehKTar{SB+NQ7j$TOm!7IVJ^Hjk&b2oc3$!jSk%n7$Q z8x^Uq+Dep`cWgnJY{ZhdSZFn2%6F_Laau)~bdo>;50|8TOP=KuPN=d(h-Wg`#p-0& z!7bgFv2Gd8zrOR00p_MgLVSIGItNi454(1kyEisx_?Ey3Gn&v@(1myyv;3?GoM;JyPiw&WE?pW1 zLZevJCN{{C!5If@rXn&~EX>=}GLGr28609WdjEnoRgTNp!tY-zWBB25}kAmK)9rXm^M`DM+rBEz!|t}@Z}B}Yk4N>S0I2(L2SKn=In>x}%0V#POG+>V+2_M2s2_n@RzDCU)!epP@vyM=! z>ZcH2RxsC92-b}@&|Bb~k^(+b1+SS(d5YInX4%)Zxg9A8@wJxt={dg1x+QC!Y$t0BE1j9qE4OE4>Ne=*t*ds2HpV$^9A_k5#BWz0e7IlwLbV3HGeIE zrJQLU46WDk=7c#cT*1wR3rNzwoWUFx4)pACG4qr@&ABU|lHm+C$SCHnXrlEMP0A_t zV0bH1=6vbVOqkxJ*qSr#ND8xTHrq_Phe9PybS&HXl36GbN+W-&qyBgDeg`2x>VGGn zjhWE=b-k}ApBC*Y5@EWJlzgvcQpYh9;yx@zl84q3@;jGcx(P2}fEy^1CfWahFzwHa zr@Qb;XLTsmE+`J(F%%5r7j#6tKY_nl-ND*J04&bZBy40oVY-Vm>y~DCZ7-eAxmnvN zDQB6IXCbtnFrAOATDR8AV6|thh3S6I&04~=riRRu)-4|4u5583UK&-+%>q7*(P<;q zMismfhCQ+-G_Qd&i47T8%ma>yB@XHhv}|Ity_&| zupYJ6!gP*I*6%5)3C-(KYb{K7J!;Vr3ff+3=vO~T~sQERK5?t0X^)o2FmQEM$scRgw~VP>sIrA9Ho|5Z{* zq16`Z;r)(mB7%32!#(5hf&wkxX=^oMdMjq@*2{1w0Y6{*^}N$s3*q&6@VAD^-n4c06Mx;4Mgp&h$J$~^dt&a~NrR5zv86i6ft4#R- zgXMz*dta+GKJ#iO|F_)2ARSy}OHPqew)`{;F1_LHn<;6MVpb8Rz4Yd!md~-p&C_X& z{*2KI9~xtlD)_ZzIbpCaBvP5q$E1MYaza(C3ck4oXSz~de-p;S(yU$Qc0TRo9c4c4 zI(c~ecz7v1I=iR4=7NQ7EL;~)&x2^8rMJ3;z(bd5ygpd+rsaD|Xk;cgN~ktkuhFI4 zfhF^-YLqZ_aJst*Bee9|Xu9iAZl>jX3f_!tfKP!Zt7dZ1@>ULq_g*DuNF`g|vEk-J zbtHVqfxTPzYjZ6p%6zUMxyWuJYd>t>@lR1`mY`At50(W&Q^q7B*b(;H$HTyE&BA*T!sx9A_&7ZOf zgV$f^45^=Du)NB~I4yi11>RhqcBL&p1i+i#Gxw+$V@mT%kK|U%s~j7wlrpCkT0@w@ zgxH#H6C0V{5tJEhsfGUoYdx=&--gb#HD8+RHfxmZ9#ij5UYTYYw&XV+^Ym81cixhF zMrGiO(&Re0lc53Fh2vp{H(XjX+GKd=91>dkt|}ljb_ooJyDoS|(B@=6%MStHd=)cu z&389A+7bj`V$s0SlYNpU^{8n1hz(1h%zgkcBwCaH_+X6>BaC|XS+rzLktDjp`)c6Y z0381LjS#BfjNOSjGyIOCRYboN(W-uLw`*>0<39M-pGoc}kBeXSy@R>1u%Sn>o zl1rAqEdgdX_%TfBLuARxP`1j#+ z$nrpz2eLen<$){@WO*RV16dx(@<5gcvOJLGfh-SXc_7OJSsuvpK$ZuxJdovqEDvOP zAj<<;9?0@QmItytkmZ3a4`g{D%LD&850GbRSDCgb^Y^;Y_T{KY!5Y;M9Eg!p(Z=-? z-gw!?nd1%S{N~=`Q$KUOmd%e&er0l)<5dlTJ?j_D zH^dyb_sO|&m-@aGPx$z}uin1GDkf`q~e;q$9?dUn^=X`J6sOM9|;(NPG(pJ%d%W~EJo4S$_ zSa61NUMc@+SXd_MvGU!JFoVPWiFm|Z0oB3T1{AdmW;6N z;e`lK|C+G;%X1UP7rT)#{yO~#FK;2?<)0_at~oY@+jWNeL{)1NSLX-XW6X;d-6N*a zuHK^;Hn@^NJD$B8_2gJz+Gfg*1&ta%qphw_ezdgYe(Kty*4wdR@w7?M!%5jSLuuVS zDth6sI9is@ShP#y=i*)E?9@vWn-Uh+ekN@D(|d%akMtrezgkTgU#V_{@i&=DSb4|u z6ITA!>V(-(@hJO>5zwbc8_*VBOjQ`;(!pplvc=d15IxMAG1PV3LpDpN;j8|B^XqG}$s;6~go!s7Y82;07~4q@q!841fj&4n;N zH&4R&C*&Z!ya$Arzlt!sO3fkMt}nFrqA5LBg~U_;z5U)T-}s*Ph{;~q*8Mv5={W0J zgp-_hZLoa){PQzu$BtvCkKMMNda7#X-8e0Qwp@1Zp)#=oZJIx#%}C$1wA!0bcU*S; z=o0QR%z6C6?1aUC`9j$Cp238rzmb!${L?oR#?YyGk(=9c8 zXj|pnlN&cZpsgAelD~L#f;!dl+MBzp9j#ez*Z#i?Rd$JL5LvZKhjE0(i^UPP-Mcwq z=^x)AEdLgJ!uV?H3FF`3PI!5*2`hh29AS3Zx)NsBxFG63rMJuvX#PRlI0# zAD?^2Ht1*%`_C(TZS|(!3DJS4-gr|l&4)9mZ;hbsoo

7S%z@F&xG@zA-ud7gqQz{FuRV7BHXSw(zq{$)OFySlb739 zqMqw|%sjm^%B*+R`QMzf%lv5&>U93^Jo1jS&D)#3_Zm*$WlM^O9~^RS-@>H09ZC37 zwx&7W^pNk5jY1kE#b=jX+pTKtr1&7)xo4{NNQy@f{^R)Mdr5J&JuE5C^0!NhGk)_I z$!RlIe$sKg8MDuPoTl7%Yw$=YHyMj&pw`J7H@#~9BDfEge%T*kAxk^6juP90y9DhUo4y->jvU*S2 zdwzujCyWJYuVa^Uu8>uuy&Og^F|>#M?9j^lr9NDtJqM27TW3@l?dfB8-+gWu+S7BO z)@Ecm5m$=s6L|WM`9=Q0f-hF^_ZH=?D$tNE{ z0|$H=JhJI^s$AZ*_}TrJX~1WiXMtll4H#Iv#q6oAXh8Wg6OV-GsA7HBI+thIP(|0U zhWk~IsG@A~!*vRDqYAsu1J&;LMO@FfhZGj+x zLmd{ZaL)e+4XdFTRjz{r4QWYV`~3YgRfT(WpOJSc4c@kX(v+KC5ZB0ak~ms7k0(d@Wi=WCST1-BX-{&HE6|Ps{Xsu=ERU!R9#maySdIf8fMB> z%qQDi8hUlxp`)LEqoK;W{TpO&Nkelzn^Csa0UC1nYRUR7ylBWz_ivT{Jd=jZ*yp(N zVowoYF1G7M`qv_V9OwI7Q1G7;<-O(Qhk6LRe1%;nsdnnDInx}=P@O{Ib<)9^M()0I zyqV8fs(CVc#)@`(smAfd1l7YYG-Ae~n~Hm-Xhey&&#&E|M#Hy;MLZc>lZHp#2wT-q zLBrcuKUu9sI~wkqzi9T^Cq&#|Y#%1l2Z;O^1Yd8?|Hz$}*S@$Y|DLc*C+r$WqpDsT z7NQ(e>&-0X*Ox{puy4) zPEAO|!MV$CYAPeOAKdqxqHe^qzx^@+s0sLg~C z^e@s?|CjxrKdmEPU6)*L(epa#;u0A-c|tJhJURdJf|Ye5oG0|FdAeSuM81!lXK#?; zy(!9BEXtkB?O5B6+f~39;s$N@lFmfYd~D}2t#=du{S}()b+d?HWb^0qWxYwS+{<6> zQqLm3Urdp&xAh_2BYGX4_h2XSY5(+1<&%Sm_tZsS6!~n4ck}!Q$3DI%!oP*Srbw5- z^F6F2c(w`NtD>9}yj*>IZil-<*foLly*}jF=u5YV!as3X?7Fg~@6HL=n&(X*{#}=9 zyDKLVzonZt?+d&_dgniMt^EBDq~{*DPb+U;COzl_eeCSKq(_ZwBfu#g?TxF<#@UIbi$6q+^)+GL{W0`>_hQxL@}}1*dNvm zB#NH*etx`UH0e9LXzN1NeqGjOT9h|tze4;5cpmHjx(?~REBw&D%Ed_U zX2S*sPWX-Vdj0HtHP?C~g!L)Y-xKNjihQFuPmY>`cQG%gMgv~%(rUsE=zq+vP@>SC zx|_Q|aiTce`fAl9M~LFq$sze$4o2s1aKa?m6x0t{0p$qA&FSVg^d>rw=P52pVO+~x)n*E53^ggH#{bNPIfz1O<7cg)wtf6Q>1g|`5Y?tu^4=;%0$jFTp8Ljz1hhT7%wuseh+kVXaBEQ#Aggh* z$MQi$@%HlTepk;B#m1SVipky(MgMAltf;jU+GXW?U9eh&gN6Q}NcTeIyDoU51#b;e zP8(5fK4C{aVV5Hb$hmM)iCEZ9#>_wRmj?-$wz)=k*DEC8n&+|O?|&ys+ZLwMvl%=N-|IGQGVi4bUkiO*k*<))2O;A* zEqKd_auP+khlCx#$LwlG1AgwjcYv-b^;`OO`lxsRkHvrJx{4OAG;7J}!wH0koe9^k zBs`sl@O)DV=W!&A*QGPz<@6`K+^MkNpdA+ow@XV~cQmzHuv9~R9?c!u_R8lm%O z&$aTtzba9W?)n3>CtRWJ|JvPT@J zG3y8`=gl+1%Kg}$FgqrO5oXuZ0koJtsz+4WLbP%C%gGhPJSkE6v}qjqjLLgADy*q{ zkG5<(qtmH%t!Rr^dAl4@^rTH)j=3i8YfT##sO;@nVhyd*XK%+Pg#xJEAMZBgQ#B$i z3?YQ;4-uBGWFEru?XOHY&ve3g*Av3ZsW+dna&zsqFGU-~E}B_4Vj^v`%49f{B?}5@JSiM^d$=ro^C8*`SgPb=Q&Rp?_@8+%ITV)uyVC} z!t5AJ+|Vx1x_jMTPdi#vMfN8=82HoOo>g1Y5;EV$wi^;@m7pu@bZf`Z8n>Iq?z?fH z){Hp&=bhsQTJ2P4-;(#wP}%!a$4j?cL5u7573gqiaKdMg9&HD8NpxeOr-?BA;YWm} zYde9kd=Fy?<2m6^81KEAgqPz)Sh*V~yD>YO4o+ZpIRua#N1DA~P*qRzoFBaJwv^db)`n!CI;PMcAvUB)gJ)0Nyz-DD z1%k`z58NkqO=>JFQ*Wr-n;_SR7Y`*SZ0()cU{gT0gr{Lg2d)@olkoD-Ge7-YxKP5= zN`3C1c$%1S$>sX+WiJ(OEZn}-jp@HQxv_M)CcCkGQ?t1t&*rC}6BzH#mXw#XfwFQB z@1V?%wuzM4r5NJ&tnjQWAGg?$9D5e-y>Tpn!k>W}#D zE!}>|3A+yGK4@q^!VSZystPyM zZ)-%{Sh}Tq-B`XW9}|$L`t_R$jJL}o%E}oTKv}sC&nUBF-{1sh*VeyjzhLj{9svd# z6<<5%w@O;7&*g8YeBnT~L!NIRay*enE|^&Pcb}XzGS9FTw`zT+nxD$Q>+5xqYI+Ah z>2@)eYU-VRQathn)s$+SFJR+c5kBL3ZGMq%3C{=Tbs10XR)V)TFXu!fQLaMRu|U|h zk49JDak@!!N{uJ-ew=W;D2-ZoJ1AS}U#NcR(7L&OO;qvrH zXQ(>AAl2r15Z%CY9F06YwRz2sJ!s_e$%e!@FA@3){Q!|}pUCGUcoqoWL86@HqTFY~ zj!xVzXFF$#%e%MBhWXK`9b;-8IsS<1Kl_$>-yGJH(YKf6 z+%SRai(mB5UFQJRt(bPaM9y1O=QC%?pE(OsUEL8u&r3WJ;Y*>f&(q~9FY-MVJPCsL zFfZpsc~R~dZpVg#!Y&VL(0Z0V+h#g7I?SXwdS%SofyZ`HeTNade({9$Fbi7<{V|bl zx5)P!=NXqx@XqArG_NYkmFzep>^epbWuD!;KMKMN?d^Bj7Nv&AlYZK{e>F8Mx;b_0 z3Rt%{n!5h|wt6(`NX#9tn!9O~_Q~pVRo>F5x({z?N|m5d*;WLWTdAh{$38We*c=k! zIic?_($(bos+JWz60Z+0XJt82?gwE<2)Ao=4r(Z{=u-JL1*u_4gX!^OZc@X!v4@`2 zs!a_$2KSh}qzpC06zZ05@g8cZrFQMGw=RvkMJpe3pF*S7+Lg&yc`KZcD0|+o(Igrb zy(F}L*;+{<)BhyW-4yu_2%eUL_qZshi6|G&U!WahiwV0LQ$x-Di#y+`P7PDS2W}lQ zn;Q1{HLh`?1~nw?*>m@93^n{XsOsiNuswY7lMP)C!}*9xKd-O1lp2cIB|f}te!82d*Dn&UjM7e(NZ(u2R%6(tpaG zak;2r>7m*a)$OQ(dPlZh6h#fk2aaqY|4a=>H&2Wld>ZO`yVUwdi>YDb)zc?>U7&_# zUBt(B&vW`tS8ABKEFt7A)SrccLf=88+a>bd5Zts-t*_@Dj=Qxpr2Jx?lt+)&W_NYEQ}NS+ajH}$oE$8fPWe9B~cF4la-ra z*a7urcFmNoTV#b<9?0@QmItytkmUhOJRnyMFXcG!hu3n&*^$pjHz_6e>)+WZEBsX6 z%eL#UIp#f(_t5^{{O?}br!~A$Ys+a^^SV&b5bui6obmP8UnHZM) z;>fG=zMt+y|NYrj-lwwt2G2L4^4_)Foo+w1m-jrT>*v~HqP)j%EjlFDpCa#3qeR&` zvrEZ+_mDjYZsw8uj#;{EW3h4~tReK(MY{GP-)X_~o8Z-oa!!bHmvcKt73Ox`tSeWl zCSDq!{eoP%$@kKdUvJ3+#$-RbG<>nYrGBzKBKLD$F|}`OS9$M!ce4*ks37k>QnBZV-3AdR2z?8YZaB}E zyO`jC`ZHdmD5nE2_oXAZFP*-goxoNheO3pc|AwaV#dBCd`edo%{$OEpHRNOhbOdhbPw9^bZ_|uPUF7?NG|FCU2oYf`q4yW*Hi~@b1kVV;dsLKjQIzW? z?3gF)3X%t`t97nr-OX@$GPnDYbAfVY_6ubWY?>ht_O(wALK4257;%W zl6R3U@_?zo+Lv^|_D`%^=H?=KK+mOvjfua=13H$y;yX27git=y9~bF>pXG!0VLT8r z-nOEgoub^c!j3V*E(-Rx82P;5RY>8c~!-XA1gt}Ob=_kj9?T-ki$ySv+bN*zr`@)v#qc2OHXhAn^ z^oyVk<~UhjsnMSSKIVAyB7auNH#N{4cU=4H)|a1hn&b70-^p3sWtKT!?Kh{;#kqT# zy=D2;H*Uz4J)k*O^bv`+_jwo*@#R=Q)HP0O9`74>@oZsCX=jBf^$GLqa z%yDl2WOJO?Z-P0_>wnf9=YBHZe@3{!exbcCc3)qvTS*#Fb#c@3g^E$1f~EVAKSF31 zn*F_F;~TV{Q==xoyV}s!=ii+9@S*^9>+`tx=zb4q(|naH#1)3?D!)Wmd~n{Amh%rI zm8*{1Q~N-%qH9MFAUs}`@a+`|Pk)H;{9g#?t4%n+17YPgsX%!7;|RCQjc~i_Ql+zJ z4c(!sG+5>7H}mXs+NXP&OJk}vq`n{j*i4$a({6)zKVMt$2inQ2L#e8zI#bUH)%ScT zbd|P@cy(jYg0i%UX~>)UW1G=xj;%**pEz)j?Xj-ch7|K6JU)!@?XHBUuSIzNH-z&I zC!Bu^;pOQGFF%-YyEYJJ*STUeINr7TzDezA=+v9n)CoB9)muOXaoHsSn6!pn0ey!=;$+Z9E)UBNWu!^c&>4E>vi7iwA6 zt6xJJbopePLCa%kz^}O~IX*5<{cd{H`4ZWZ`c5w4FDv~M?K&^!r(Zo<(RL4BMEj4d zL*;qrcm~?3Xv2FA3hL=xmkxQiby(p)im>=zxX*=cpG$apE#dhi2z0hmg(v{w_c@MXT+abFTNsQ0h}>INy7;JG)mz(nB4P2Z zUW9MoPk8!p!t=KzoUapM{B2zbFYgWE<a!I^?`Qdruk~ zH}+|sA{%IMmwd4|KRl#Lhx&))&)U&Gottz!HSGoURoytcbdwkLT5c0_!(jvU%-_Dk zz~V1xlQ&DcoV-=arH`rmubsAP2#ep&OW5`j;e@A$`y5#Q$%OGucOaZ!O;~v!?Fldc z3SoBDEk?Lq!>C49E1~bCFsf@mDIw5ZOT!)yI<>aeT&mgau zzwF!6a60YjzvGXH72RpK`bSm$zv}SbRny z!nW^-Cp>*P;rW*m&Uc+~eqX}N`$Ty8dkME|GU0a3rIF*?UVZ$#EIa|=!X?E(i!#J0)S-*Dj_~1cU+_4H_+lyo)EPX$B!t%FjLKt5{F~a$K5nkTUgqI&o zxLtJ#w`(WW*^DYPsg)azDx3GTR?(YAB={|R`_z+$seISHIoE;)zioVKbK@^m*}wD; z6{;?#e$U6(tv9+4^?B^Nvim^?KPb|52WnA8*_=u%*=N@%QinHzJ=aDGSZ$1tR{-@^jynItq zoY`kS?$Wl*emC=WUcaRK)Or0InzwU5buh=dzdBRJX2^_YJR@;HaNWdt9AtEFAHS_83)A`OD}%v`6RsZ4Ml% zO?%XPQgm|Vb+kv7sIq^Ig5v{=?-1KvMEdhQzb231+avg?DDNyUe-Pa7i*{`(DD3J; zLmz+s)VJ$)8c};z|8b|EzM+2+(+|jttU8;QD_4MB*CsO5=CS?_+|Dwt>cDuKa+#}*I#P+!&{dk+N4S6REmo!eD1p1sZn2FK_u6I8IC)e<0ucL>dwAUWyb(rY+FdOkUbZuhHg$L!Q+*>f?K9Qfz34DCIef}hq-tJjJRqxLxbhP< zMs@ma!m_`pv3aK!Z5&M0SZd>;O9$&xWBxA%Tg`xw#T$w3gL(Sp*+u>xg0HsVzbVQ) zDawx!cJ&Z;4WaQ5eoau@j-dSysJd=wt)=mHXJ&R9-+{(CdF+1BPEKQoY`;C}d_3)U z-}Y#`etBp=?ft|T(FJM0qOWrF^a-Rf7xE-b%5|2;Y^d)&Li?P?EX}_uchzzt{!VQF zQ>2d-`D+Ni8iIeeC@(;iuNHRwBpaWXC#)aj1D>Qc;WO&10AC1T=L*Af6*a1f2s+3$oBx_SbLpU>XO?ey{|3%j<^;dVM@_YRfm@Nm+8c$1TK*wP1kE`NSQhqVg(wdL?II`rPwM>f^#)1kA^ zcdtIpi4N`Yq(NMvCUj`EV?$~4@^onSp!TN7!gR=!fXjP*hS4E+BlMFRPZ9A^VtXl( zzNX0UF8JCCepgXme_s9c>Hac@5x%Et52h9hbpci9?xrco;Y*~X*p_H zjVZ&f66g2bDn&oNNSf8}lq1+@E@`}G{pj{1D-g$={<$j`7)lytE8)?n;Tz&Ga?ZAy zXBUZZ3D-N=i*&z;d~G;ScRSAe%vY52MU=Zu*s)gF)r>?%SC>s*v6_UIYjD$U^Aw`E zJ7MIgf!{A$Bho5*TVaf4vjtq zmCyT$v>#YM``*2_BFx40`O1oPa6dTaYvn9>HV9s+9A8oHeqqOaVb>0#d(-`oiHCEM z$i185hAv(}LN68@d*Oo<3F>>LXPMIFNI;M5F6FB?Bz?xs8|Ya24(YXRr|$5A(WJ+@ zgN7PY+7sW^rx$&B+=KX*cRsu}=#U6c3B6jRixv6Kah@_=1+P++(^{14CG6NI?5a$3 z-CQTw*NY+A`z^Yy%;rQQ-j3+!2TR~Eg^Q|S)!IZA5Z`n{tQ`p|cg`*3_w_^>Z~y$| z^Z*jjyJ~!&$WcVmarm#lU55LY7p|zF?-U`zc%lDMr2A3i8!ve73*Kg;oKB+LNy3g8 zVb?;Uy)*T3jV%+1&V9nP(I;(5LPDlx9pukLi22uCERUK zRHiYN!tyO9!QPFci_h*$g62BS=;gVS1hwq&r>a#@QpogFq>C2$P79t;!Mk6S(@m6n zK-l3U?Ak`OcMFdh(=89th3#tAcEwhrJ+x!~?=K3FNdIweLzV}Vi1nI|rDD#K@RBy$ zA6Bs=VFzxth_1qg(yw;75Z$b6XL9{sgXn@g)sr2{OSFq4^DOXkBazen&Nfzg z6HWYn*Bl2ONyLyZy-T{>CE>rU8CKGN0ts*a%dUH^<`MPV?XpVLcdI;TOjhi z51D?^B9RyJPgXmZC6V6c=e4}OnP}dg`)gN;cSLh6$MA!zU-NKHHlcqb z(ovDGw&1BLcyozzqD8qUg&mSz?TPME?=Sma8i>AZVXw#%5W1a@{dBD=(YLFPqFd#Av1*SwL>KicI()Ak(fQbPo95C;gwP&L zpG~BjCi1=GJexlW-n*ilXi;t>VaHHm*C?XTJ)?bTjStZiuQGM+^&t~ zC$@@kgV6sa(uMJS+g}KtV}jRCl%o~p`UyL{g{Dc?#|H#Wubwz%hCLMCf_JaJ&SepsuycRopZju^ZJ8{ zR&prgoc~c}!ommJ2-CkmPguHshX~JCif|rJ!g>1=Ue0^M%bh{E9Rmors~Yw0)!tD# zcMT1GcV_J8?p0|}nN{b<=ATIw?*glaUU@-#J!~`kakIzNCuC}#Lg%As=lxr^84q-z z9{sl0JX`f8ZQgg`j(t7yQ`yn?`z~&sO<1^P7-4$fg@mU&MR>kg!g*W><8^W(temSY z2`~2u;db;S+^%cXcxMRTc03JJGGq{*BH zQf6h^#=W;>*yf>-l%!J8NToqZTpAQfG#B-t6dF{dd3e`zuj{Ylc#rqX`~CTJ9rv}) z>pXw^-pjQ2vNqwk@?cWB{oU;bUa&ConY*#>cd(2+^5sFJ8(4eXyHxcw8LVsv4xD*< zB`oWIBTvR<7MLx%RUK1U3`TO=Q&XoL11-1I@LOADK&id;vis@Lgx2ClLi<~;5Kfmw zxVZy_`Z#YUoNo)^axM^>+oVP)$NX?YxeUKn{3N|Di+_lNM*YK8yIR))*-`rDmq8mW z^ee9ui?Rn(Z_SqGyo+FRDY>(5`h748>3?Km&rr~fR+PtX}rl`lNW!$g=Etg;Ee#tGM^K|;qGSxQFT{rjr-j~;49+>BOf9?mf-#Lu6 zxpWRDJ5`lg%NxOnSxdh(513166 zA4AHqg#hJxmq%nvYbLpi#uLRiy9b-!l{Wl5?SS~{5^<2t-m7M}kG;P9;+!bGMjlMN zz5kh#zBEj0n>(v{<0Y7MD?O|!<{FG~k`(A|35Nc|R@}F={X=NAlq9sDl0v91%8}4H z?{GqWbcYh^`?QL1Inot0_hJ-Kj@$2naz(8t@`>hoq-{KzXgl}Q4b42Fl3?`uY!&-& zcFAfnk|}u=?>cAeKU0YY>BiX95%*?;{L^i})}|PNT&F?nfuP4A+5YDEiy0d#K2QI( zSbE_|Lt6Fi3GGi^M5xYJpKxC^fO0)oAu_+#owVD# zo=j-Dm0wj-O(uK|8OZC1B4d;eB|mY^BSSv)KYubf+VB>y|Evc~|5SXp4L3KH+7IG? z2ItxC%Bc8xuQ~M7h?5mBPr^a5wGoE2F8{}n_NAK%)ukyK(z)T471YN}9H_6K3UE2& zfy+Gwl%u#BC|3@9y|(GG7t@`hi2Q~ZKWrjfh+;o~*`0+_M0TK+{-9kvGWbn(H={pEAEUbDjl-pcg4fcAD{hxBUW+s;HzT+R$xf09gEQ86x67={5KN01?W8YW6eE!RE%0 z18@D>VDrVieq^W|R%PseLR|wlH$V=37Nc(?m!l+$xigXD5^_aD3{xsu`k)D7N_>C$ zkNE|n>th%0f9?m-mv!vKY7as5pp>-Y@Tm|LnSB1BaXdt++~&}O&UT1u-k^Are;A^64YSt@1BmjG z>96_12BPd|Ry9_zfB(|D6Z;ORtHZep&L?{?`etB`6Xvpik5i6S$Ta~(Diyk|8u1`{ zI=N%GL=cERwWe+fjt0@OX~qHz84&67vdY-^1*7j22f8KaLA21RB+-(6{5oNyk0!`K z^l;Ogf~YKr`uz2ju`kO{>r3qKK;3AZD?y)P^kwsD&P>eRgB+R2l?@_UMKi%!mgi{C zq_?++f~e`u0P|}@KyEiM8ss*Vfhaira*dr7h!)D(>+6<)Xw0XDr*24t zNNl*8tHD1I{qY~+7-{x=pw+Ce&*|iGt`dDD(U)D*9JbP2ALL;DDOW9s)=UcewCELx za+U7+Ll}sz8cdi>WI#&U+!iL0}vg& zdh^0w1rY7c-ZtF$H&;!>vClqFRA+>9E70c)`o?08Hs-Qx%E6w0lSF&q>ezjvbC&4C_NnhS%(=oMmr=B9HTPbVPPDJICq>xXQ|A|{~ycIArB*^K`%{rw5bsf^F;urN^PDYH7H9G2_`{5#?D{!FXz0D4$#Sf$^wKQ`pz~j`7&}XYsj6DmGNrKT^MuBk@4F1rOFtB zu=-)&mD43j;#?8>oI_u8%+bSKbL5zdT-z94<(!7A_Z66cC0UXAWEaD0w)2$weuUu- zw_k9hpn>rV8E7QW2pC_b&XS@zlNle$ZFAnfe9U-T1b$fA#A7zzJ^%brN)@wlht~e1 z0}o<7f&F`^i{s{AiKCAL`W9o(E6lAzjx)$Lo#F9ECmfNFV*&;*R9q&n#_&G44mhyJ zn&AmL%w%+aG5*)C*3Og}&-fi(rT#3>kMV`)Pd%P^Fuo&~@BBPPh4IQ;$*O3#BXLu{htLseuF#b(m{Q`ZrF#Zz_cG*Q;W&AStBroXw#`w)S;o5Tf zF5}lvnUM*Pz#4=7r=0Gy9L_bOPd4YfPzH16ak<(9kYh1&l`y=7iwl&dZ)bR|lax37 z^PA!Q_;Sz7LzP`OZi-*U>JGn{;Gyrw@LZmcGF+j|@Wy9neRFML{GUj)H;)*`_@|{+ zcqi;;{5KlNG!D3pwE_G4P$!Rbo#>;4z5$rC4s$g)j^+`_mCNu>Yy7mB{Dk4Xvl}RU zHINAy^7;1Jd;6Gx0pEu9mavbnBkpmJrZL02tnF*kc9P-k8tQhM?0NZM{k-9uSRRAY z^xK!20M&&_<}-LqfSSHXy!dG*V6sBdAlXJHK;B8a{_A`up#R}_UV@hl@8bb~xADmg z@5R-x*SyUb-qXcqVv{YfT4UcFb*VV_5q-4Lw;prY?<+J{gd9!C6~*v=uksh`HDUsk zX0F_{Rf!2OlyEp;wt)$7oVLtppaT=&8?<0hsUi~)sI_waqhCWBoR}OPlVXhx?s2~?(B=P_LX#;i} z-kPs1O@ei2_dM`D75_gKSZur&d-K=#zV)JeI*e>aRo~jUsl2Gm(XnrBu-klXguYJS zTKj-QNad=Jee2m9jnXcaJ?~pjb_u+@@^@w5T29fZVvS2*zP?_|tx+Sz|6WH;kGuBe z5jy{8`v2w$^}jT(Z%y-8&+J=sd{KRCjz6t$%{{&!eQWyoe{1)xxqUj+x90ZiEVyng zKH3`?3tq;;l6$k;z-j7+V;`=u_ltg(?BKZ%z~=MJsDxGtSblGo^vV;CVD><7?}a@c zV3c`(=8XI)FmKPi8KDySFnPr=*YBJC^eunZyUmv`BXk|%N9ge(QwXQ`CER=o;rvPo z=Wj%~ydQ+iZy+4kAwsz{C4qf8vt&=pKj2sJI`aG6N8rAs{HuIMHaMHjknUao9vte2 z?rW;i2YZRKSvM-DfK_)>aS?mHiTSCyU#oiifsty-f#|A{pwVpK;IsIvzQdf0qY^xR z61rY`fpEt~gwsb5ZoY|denEuu-%e=*AmLrI*L%Pd85GZ+Bd(0#_W9!&h7Cj zQrCfvaypSY1FXUQ^rkm&pUem6iot8wT)PC0UOPptzSF>7tbN{yixyy|bfeukXaJZh z#h-Hyn+0>9r#lQKI;F4aCrj4Y@hQOMq=ihwZED0$7}_EcX53GMMiIIsMe{>u-F$^>B~#S3=jblLNBH#p;hBzR`|Oup>e4z4CP6Jw@SfYTDS4Idn}!QRtp`R0k$uzcIKCl@!SgMs^` z@wLh=`nbKgs#VZC-k^?9-;b4j)a?kK&anT8AAQt7{cZG5H4RpIIcH@<7$MU zKkKvJ8GM4!Rc?1mEZO@v>}i?Xa$5}i!dx{@eH#rMZq2=)HKPRF^#>n`n3oCb>m>8@ z?~j00-@LmfjnxIKr0=4is@#S$)GmryQ4HNtUSgAm0ynH(`y;0vDL)%0cWXHYCL*?iR};F&p0j5Ud1 z?=RZW)@-x{JifTUJ6>Z6E+#3%)m%Kmfr&``Hu(zh~A zyLp7Ji5;QGLpKnrcW1A6r}MRh^E*d4|MP^)D?w=|`|+EwC`HQ`oZ z8yBJe#!L}RA|eZA| zn(-9eI>&$C(6t2CSxpu@rR@TC4{wiNKVv^EY>?J0Z?)Es6y2*=bx9#~{lbjU<1=#z z)$6zsZoZaKzioDe^RFUYUJs%9`7;T}Wk)!!y8nIO|6c`r4cm=VdR~IFv|q}riA(zW zw(R%WE06j<2Lf!02X>u#`}cm>HY1`sigYUb^wtOK?=KQ}{=0U#P#Yxw_x{}0({mRN zhQ6PRU@gJiS$o>3PjA&bLVkgB-_I?u>Z+P#uqE^VI{v$F&CM_RyQcnq|Gxy*G(YF> zamp9gx90fo|6S9^x3O={J^sJ@!R^!E-y^vFaskgaqP{`>IryH>FqbseXRmu$kv?V& zd%xn`Cxf1(h`{BxD0oL>F}N%)%Utqa1)RGI+ZJ}c1?Q8+$_ng#eVpSyE67=;gR|dY ztMsBeaQ4vo=n=$T&q3D>czh@7ci{Xd^wUOv_CCopZwKZ-MXs;Nlz1`fnQST2TkKH@YP$Qk*hEVd{*iN%-Hf4yf1u_J#~hF_mXo3s<+I* zTYT%9!D?}^@lkGV`!DwT>6)&jxN#AhBZsAum_Oy{jRzpW$C-&r z2?US!v|D_h3j*^4b7haP-)~!uvnSjb1N_~qubnn)1Abt;E`RtN;JY8~R=Ajq>-Tt^ z?NdE_T``^4L_Z7kH^jUs%&$f+HIB=uA4CT%JK=e?4MbCa?^>}x45BLL2dzBJUROJ= zZ1R;GZy<8cqBgYzdx&soSI-(g3O1MMDD0N{37Z$Zbi1S255ha9w$Jk!58>xs3%s4A zA^foO4HG*ZT#v%zGf|K8(z58Mh5o^q_Z9Oik*gcIk|9=mnfBZ6E{J_>_{g+o8pNbI z|B5)zzR%SoGc@r`D2O%={^|HI7NWm=R#iE6AENj8D^*=%-|t)Polz|Flf52zP0JvL zy}noS#@&@+2OxUj+2j~;_I*yeF2Lj3oL*J}=UE-~W8bf${_Oi7G%pVG>yYa=a_K_+ zufjkDRU1giJkepZbqB<+^Gc|hVFYp4vw9^B>mg3RAZXJSRfxSIRdO#+9AdqsWJ|U@ zfLN7krwX5&5cAGqI-kE3V(O2p6ePGqOjXPDmG%2@?S;o}QU4ILTa|@;*i#huw_c;W);g`NbUFi)+6EwDLn1rLBq2lx#KQ>x>W-t z2fn*~!OatrM?O^CG8G`{deyf^8EHt$fGPV1?SiC06U~C6E=clxAX|6+A+EdecpmDN zasGdPk?8*d^NwKtM&!EAaaj!@K6+&>hdaaA&wn{R_Q|A+#44M@eww_S3V*9ENi%oNgU5G{VolER}so$2Z{#uuZ zbvO2(qRt%W($S}c^IfiiIeD173OO2(>n0J1Emp{w^$+{|=QjW3u4)p{e%;;B^EmMx zbJ)x7=4#@VW{|9?v5LKJc9T3yT+>d(lh0GCP+tqD#ax&eQgx%^u>}-+j%% zawV+F*guTACT^}x0e#BQ_b%orU~U+4Bye2Yh7kT7hv1x#FA0Cs*&9PBD`^?*&eqth+onyjh^G9iEm)(#@iFbh|e4A zZ<9@;vBqJ4IOn zcUd9nS^N2>)$&!o#5bg#Y!X((is- z3BSB}^~}@r2;Vk*m7erX68dOlxl8XT61uKw@>Gw3B;?nE@wX-zk&yFW`u{k&f`n`j zd@p}zJytL5JEP77=M>RrI{LO^jy>k)AjeMRx=Hx$J8E;-*GB~E`#WEpQX>NA-RI)+ zrHQ~Vc*eH+{zS0yXY|S8lZjxucJ75u*vApETjquWc^$IJg+ zQWSC=>ly41LY*1Tb)%0Z`f6j20_F}zj>*V%oCu^9ue=(xfC$!&`omk#>K@K^D;&^B zg!=Ni@gF7ISMy*^_SP0WwP7hLc zi6^wWttYf!Bu}W$PJwW9=LqMsl5oCv2$#cN&rWkq2*;63I4*#-O2gX~zWRcHVu$;< z`DNf!He}532S(sEYx?2)7qy&lb8iUs5pE&Ww<4U-96b@CxmKBkatzcZlq)HUNFC=( z95G{Hz})n9lh8_-UD#`)Z8jbZWL4fwlbj1ovr%Vz1AwvNf@h~2KZB9!!X+<$<-mOF zH`XPG%0Q#n@6zRWA3&}lR7eibA+#P1CbZw>L#XbsIN|2r63(ZVP~W>#2+fiHKxnS{ z075xpD}izu8IiHEt*h_XwUP-}%_V2>#EAI5b4CRUMxeYW{pox&BbYT|#hG>I1u$n_ zZ&G)4Hp~f~lJqllDX2Fu5@jqt4wI~BTzoS(9EL9{7^VBEjnMjiIH7&54}|K>&l5Vw zA3&(j^(lnIsA-(a@`_C^|Png+;%ZC%k2~UStR|)G)Lv?)Ta$Z zVH|&{uW4mP*UP6Rql?8r;nn^%^Vo`s(<96s`CmrZFyL zd+k(0Yn?B9JviH6-a)9YdMcrFYCeSe$cY>N>pNzeIM5uUKR|OE(}8kG76ava*+RxD zD_5)Bj3l${QzY_(RLQKmcfTx?E6L;w&;MCF(UQo^-kP$pG{Eqkf^NgttA8r~^v?KM z(Dnx;=9M?rjF5u=lPcnwI?zbkiA1pzrPKswp=Q=7Y{`L8$$^i8} zc?xKbsua-N1WlkEfyKaa?IY5)O68SnBFTj7d3PC4D>6w^pb!yoil}PIs8^e|5IHAd z<$PCFGAO#JW7Crs!w-_ncQ(C_GE5%2ds61Q#}#*@hu8Y&MpRt6b2_PK-5F zhSpY4SioM#?CO@1b@6Yd{bQ(`f^$zeAIo9rdk1q0FxQgfP#J<;j*!-H$oQFgBW$^G zM3`yl3dws`&s(&k4U(kB$)2p41Bp_bWG`o@LxM-0=Dzst5Z|3=e?vSL;t#%>lig?z z@qx#A^>-{Ge$AVrPTTswmG9iVo001qq`rBgIWJ`&Y{`B3 z;P9gkNS)_$N%L7bB%ioj7d*Qil6G#7RI!-|iFN1G_icIuiG~L}wkgU$!c&vq-_9sQ z!d~I5reG;Zh}x%UD-8KtX`lT&n(C(G+%(Q7ydU}+a56V%0h}V!hVvN-QGXqH3;NiL^_a`LR)a&SdY=mUf1D}p&?}w!4 zUmb={bB3e?Mh44AR6~+z#oj#WLafKJUxzvmoI8&`A2{DVvY6w<1Lh6vQ&JPCffK+>))Gf7VkUINblG@%;kaD}>{i2!^km7jUTm0f`NdA@?MKUs@|02Cj76EIw-0+ZO1G~DL)a|?-l!af`3mi zxx>CLpO84 zKBR0Nxml({9#VS6n-)zHK&s|hbE)rokZO3SL)(UZon~65={VPykSezCp3Vh!KkvVP z{`sUKq@1|J6VzuxN@l>vOBN2061ODxgjqJ$+`oOQ%fLC7hx&|1-yfLMh`CnC!R{~R z8UQJeE-xmG0i;SUnpU}u52?DcW^cWMA$2h``PAAtNHt4n*!J!$r0T?-kU91iQYUVe zZ15NWsnXV7CllHrRs4|Ft4F6G4%yVO{HM}m#`AV_tsbUw~wA6LN1QuE^TkQ#iZb;rz;kjh&u z{rW){qTg4>+4CG@pxyRL7oa&)?Kzy^Vblr(?gK>D!UBG$pjo;X8!PYDZ{((^J!3Y1;aBc%u^iylJP%pFTd#UHO61}QdiHIB*yQ@ zp=N0LiuF78x1sI<&b>vSo9O!hbCzK47LH?{0&?Xun+M5{d!e4qguS}^Q1ay$hHpD# z-w2UA6QVI??8luyn4q)&xLyC)p9w6o*J%rkVFG#tSLYO}F#*9cOUN~?LQ)5um7a=I`%)K?i9}HqE80;s&YBm3YaV6I9|yk*I6cPx`IaPt`|&L-dq(v zPmd8i*N&;oI?IH9lL>pT%rGI*Y9*%+ePn_?#YUEWHDiKy-FY;Bi3$@mw4%sZki!I? z8eeDJ|2z{IJG19Ri5yl%>;viwaBeR8tl@kQOJUAh%)N~qcF6UU5l%h0b6aZ!BmB1A z&+g+(Mz}_4OlU$9BN%75CR1-K6Z)cefy>ioCZzf9;Ie8HCPZPwWM^AlCOBcOjKYF+ zCRi=Y$mBr{6ZA{VE5lwBt2*{;QMViCmZFb6`u1YZACyfJr?G*%hxyQA(T&Rs*FF7&;MIiZ-_gB%WhT!K4U+ubeL=XXu# z5cd~(j4<}KOLsl{JUh8}hSjJs!olH}j9>{P*jL#!_^uHnFo-=<8WG6w-|ba;e{(Ct zFIgU?(wW5YbF?%U20X#~4EuXfcNFIm(PugOuErc)%w!wkoj#0Wte^zAVyFY|1Q!v zo)PTWS32Q_H6w^gI`gU73#%{oZBQ47bL>7*pX2B&hP5!&CJmUPve z5vF~gFk4QV5nk+n@cPRojIi1zVT9IxMp)Tzyn6-vb#!#eMM)W!H}!;;sg*w?44AKL zdCr6pI*#9yC0EG^t*)&m4X3eIV804=`ZyQD`N*>S@UJhhc{HaGbM=s85ONtZ!nnqw zk5K|fSaiX(tx=s3zUav{EqlU*Ni*F)(<|ApbKl?Qb@5D?#{07yECbo~{HApm9GEcW zwE<7(Y+=Hr9!M9u9Ad&GR?ROBZNvH!`vre>bj}Zb_~@I7Ie@uM$ibdhl*{w~0HE>d A+5i9m literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14.i b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14.i new file mode 100644 index 00000000..d3ed3f24 --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14_out.e new file mode 100644 index 0000000000000000000000000000000000000000..12f919fc262817a213d3d60be6657d12c213459a GIT binary patch literal 159724 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19.i b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19.i new file mode 100644 index 00000000..83eea962 --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19_out.e new file mode 100644 index 0000000000000000000000000000000000000000..f835f34ae99bae166ad843f6a6859e8bc35e1306 GIT binary patch literal 105844 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π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 R^wq+g9L&{5j&;Zt@js^U8~*?R literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6.i b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6.i new file mode 100644 index 00000000..d3ed3f24 --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6_out.e new file mode 100644 index 0000000000000000000000000000000000000000..2accd80f0b2f7907c331b73ed31c565a2cd583ea GIT binary patch literal 159720 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 z zBrID$G5cDjg?9e&;EBhtuR&y7(}~D-yuJ{r_uwJYf1m^rJrh$z^xya(;-?vhh`&oH zB3#cz5#ie70Q{{hZ(i)^gv1nZojIZg;tj6~Z}KaJXp66^AYFdvM%U zNDwQyVmqw}Vx;Z{UtiM%5u^O8E)NAYvEyh!uIQj4;{Jk<7>(cmfC+a}st+vZI~WIS{^ zBHOjp5UJO0LZrV8ug}!4_iP9v`mYNR@r%2Ti2oKDM7cgA!nI&N2p(0>x&1UBlIp`& zKRkI85}qGfT5O;PvB&yM28fP<$kYW-&lx>|&}Hty;$in7P%LXq{)O@2z245PF}w?S zeL*)4scV7xFEdfGcx~-1LXtx(qB0j5xwvpMD&e+BjPvM z2vL80p7(P#EkcCrROtWy9rC{jMnil)aF_T;u21|k{~Hs&E&q)P|FOSgvVYD0t#eKH z|34l&PmliAllk&B1p8Y3B9kjgu;x5pv1-FjuvV@*Wz|afun5C(VM#?z;V== z*)3i^Y>Xq>F2d@ISpR3H*Ua?KFuw=Pe;?&KD?+)fG{J9L>9_L(3m|yY;rM#jI`B>_ zcYk{9GI;7v{QYjzA@KOo=c(w1*YBM<((Z=qJ8&eUqhVu)cB9@Y9Rcz;V;XiEf6;H`;X1y zry%53h0JP7VgT(>9f8U$P2IU=UA27=yd2@f4^2tkFOdfx6MAtD+rB^T~aTJzhA8z6DnGJf{iWMcEsv6Sib|)vtarT%Tk0CD^w5RbytZ#eow34 zui20Kdk0Xi4U;KXlrad7o+{3mb{&#LW1ermi{HzLh%PM1#rqMadC_2zKg3(EMN8xosiC;PM$Iqkpb4{O5x$fcbA7On;l7~GYxuQPRMpYRSO>G~V zT-gc&Bd+zP=pf*SEO^Wp#p`_GjR$x5a(PoD6)W-8xnY_`MA>#_xNO?Jrq9e*b{i`u7R|%x3a#L42P7D?HvInB9Q#?Mu*ekbC5hTXHRSIa!9iER6H#( zfyC?2iXL`NhD4{hnUfDjK;jsuchdLq`vdR##IqjY_b;BDL%pR({*LMPGpyc^^~*86 zIHsRT{Yr;0{~*fs+=y}Qg|xa!&TEf0KzhTyvc`fMNWF08V4d$KSPx3d`Jcie<$1Zs zA$v0 zG`B;FWkdCwyC41=lkLW={s8O$&h+w`eirk~q5gIXlxx2V<+?TsG95;|S{{E2vdrf0 z6^j>v4Guf~zB8py@wnFAY;i200%CN!OYM_>d1Y~UX-=3S?1nJ+U?XO-L z3+b`>!(M!-g>f(VL<9e-)h3cP>WPYjCf5uG8HQt1ARY9(6@{S>jDv*1xX26=wEs*nG*gPaR2yy~yw4TQq zL5^@)-+;B_Ae(EBSo=EwvUW!cEiUr6DqC}lS zoRP`zDW8{0tV9N0C(H~+OhUS+-tQ6YS%6NuYfIX9M3U+>jG?-Fr!yZv=6jxTJf>Vq;wb5aoqle3 zED9|6n4_SYg4|DzbGa)Mhn#gE|9*M=F|zfTTmEjyS+uHFX74+nDag`6Uo-WLI9gfb zCs%bN1({#zyI8c*2AMB&t^IIs290;W(R|(uT36pj`%cebI_gwcEQPAV&4b!bfuA>+YGo8JQ&*I;6JASW;7l3?L?i*CdJB>Ve4?6s3e!{=2H__wp9!rFu zyp%gTz6v?sOZz4%HwihYO0T=F*MsamE4+@r8&2cfi!5(M>!z!*z9me@f$FNPramr+ z`Cg(NI;$zyfMqC2W6XUiuQHUd`$1RF8b1^v89cCjNiPc06B((saspcSaEtoXCoRZ( zyXc>#bsA_*{q3|}`k~0ZYmo1P#dy8r+k0=zb#%Ijd92JbK3ngkCO*foy8wrx8hefUJL-Cb)OTWn(ps0{9 zQAhm7pfEqHt?9`VQSjETN$F*mP~e^(ShS)G1z2tlbD6D){0HAR@SL>=`Eiy#>w}9~ z3}Ja$S~shU_2G3oiB2WcwPrpWneSuD;fw$Ot)FY6ITE~*uaHaCK!O{8woQFL6eWCk zci#i;MzMB7XB^u%0Y&otzxn$ALSb9O#CNZGFA-?w2FMC*g(q zzAlJgT($}SupWxfKP%8sPDL>jC!EMyvI9jL9=woJwG@Rb&pLXl_caPVrsC-Ks0iU( zsYbcO@O{taJJs5&@pXa38kXP4>ReghIi_R9bUT>O7v_7NaXh445AgpJX0G>`S6hVy zKYyK-82$wbCaWCzDXoqY_E*~P&yh!Q2Eui28m%aL&&+|%z8WZU%aYSuGVh{@DJ2Kp z3dn+#_|TNE`{|~FdajxyFicm*fQS@ltVm_a$TE=1cI4A zW()IBqR91J2@O1tp-o02i+T~?!aT`ZuLC6vt}aO%{szS!pJ18jri7xe?>-$KSc0Nl zF0ALrfV>-*IuJ|t}pB<1u|J7#x=|PC^X&#raz6T|wirpC+ zp@rf%jI!L~DUITIkADoEdVcWp?N){i{yq6HGTgv)|F&$^7`+)f< zGv6JIqn>i9jX{F4S8a`xcca8+> zS~4F$=Bq_HQXDDQl%Ys)b7^UjKZg?4M-Hw2UXKzr=NY_LYCwWEE%ledE0DmmlDGa< z3gSNy_qi+@jQA_0qD$QuqJ)=v7slUcLVuXd65L&A zQ02N12|P^Wat3@y{9h#v2+ctJy;{8Yv$5ZrS2Jd6@DYD$SaGo7DHhMLd;+Um$olYc z->)<9f4XtZ$By~lp&Tu;jO!pu9M_Z+wPh$u^oSa@bLCEa-(=CYj#2U`G4SzerQdkI z7lhtfbh!r!J`6fN#2FtaJA>cHT~b2=yZhcRA3Q<=<>sWsEip(i>O*aQjvkAM<-=Ls zJ=W*TbbP7q6&2>=&wNc7#}me7jS?3hopB%}A0-N`cfO2uLWyM|TvnYKN<6;qrBF&I zO58SlvER30C~?)cfthtFYAn&ojH zsSBiijuV*f8uSe#LH9|=p z8!lDm^HI_p&)hHHT3Gza^0!#sdD{0*kLf&Qx?h+N<|e+k8OL?T6%QGsjvYN&hu7J7 zpPH5>hJRnkp($ifiVcLG@}C=iH4Fl$2g~l*xg319t93TFih$d*hC?u@8tgOQ%kKAE z0_F>5l-0NV1a%+TNgsB%A`1OZlq4ZkSWK}=fV;MdqK3S90Aat;}@V>qCAmFZ#Q9+#< z_~`GNX7T4KxK*ssk@5%zdygfSts_5!xuS^Jy@zi=-S)BW&VdSu#3Any$v=9CNS#Cy zqJ4)E)ftVbE?yU$_&DJ;bNhYm5aH;SN0jR^xb5gs`*iLQgz6Y4x)1#bVFCP-10i1_ zICNRytfOAwe?8JOcF-g6md%gun7jd8f5iUo8+8io_{}OcJt?qabGnY+{yB+A-f$lxbw=Wd^qGx8 zL?;ygo(R!xLc~W!2T@=A?^(hz7Evx4;Btg?5*zYPWH0eY6`CV+^p9QkO#+r8Hc3@zJXO!rP@F6ZiBJw5_P*fZ$R~9i0E}~WkjOk zLPYWp7a&rHf4_nB4Z4kpj)*v-y7+h1`+dqVH}SoQC>$5h@li$@OYn=mDqsL1& zOo#&Bgw{j()y?3#@sPocvG>7ssIgk9{4%l0K+4D zB}SZG1hXAR7lcaJBNElL5Xo0|BU0yVfJk3;5+XYII!JX>5b=>3jEL_=X+${&BEn_a z2(rqHp6!b%0;4mQd)^q!!s-ovsW8w9947H57|s6;4xNWizABFbJ8!L>>sGhHs;6>m z;|Iur`7Hag(^Bc6e`DQ=ktLHjEj&{SCF9Jh4fHvBufIup;SF5LvH z)s_p#*xJJ?`F&Y=R_DNC@VpwSM|fTQMI(l;HNOnHO_#fsN?w3MqwhCIa~VXUcQqpU z!{-sHvou1a?{O9)IxGDU(Y4!-h>wviBEI=8h;Zl>>GX3o2#KPxRSnJ?3WY#6&0KO# zX#(h0mMkghYXnp2rWNrj5_q1}mu^oP1LpcqZ#+1+7tAjDy_?z+3xhK_z(t7UwYDNs7xNpDzE@_5=$xK|=N0R&mqEm5)_X*Jdpi)} zI4T5$tE?JL>zlO5aDWgRvus@H*Vno*Q+V*V9WQi2S6IZxEyf6zd|aHHyx|=zz4Gbh zxfRx6C^o>@UiB+*xhJ+R3@!zY_<~(QLq5Xf57)Pw4lYI{YQ91wFLe@;y6_W-^r@91 zqO;Tt5#4M&&;35JHi-D%Ee68zUKa@0AYG(X5}JGWMFN^tqj7euQngN>ip5U-%fg@{ znJ+p5@j%n8r{lA1BVJ#-{q(nU2S9g3%D5u0B+x9IQN9lyfVpvs2vQ(OPzE zjfE~!zYr`g-D!@Lzl_mXTCA(HBPHs=lIj_tH1=yu$3R(_w?oA|Xhb!rKTa`^6}}Dg zj8(p@cS{B3Y3+NqZOQ@3bq5sJT&zYUcFaR0e|i!kbv|B*^bIgV{W^g?UWn*QR#)}= zEQllF6SVkb6QBJU-#GtydHMHkEJXSUz2Je9M6k@aDC*VS$ChR7jyyA9{6VR zrOpJT85Xy@@>C9*yV+j6c1$CZ{`ISAoT5f3p6P#KWc{r9;$#$+Syu%yfZo3oL6`1lRY`Uoj@%WH8}!f5zy(d3*! z;i^B;Tz%7X5s)~h8Fg1!2*h)`@A|67S9SlY+URung-(BT*4&RszJiZPon*BR={qh2 z{W`e|s)6Vp!^ca%kG3oj-y#Vh925G0aH(EIif?s%%T*H4qCDTd!O;mwD@$VZvB7{e zWW^g-S-(IkqkaZAKh#ANmkM8L+MS^DO=^)z!Y$#dZ^3v~VL#!j-)rqmhvIdM-yiFAikqqfN&(r0^ypC ze_tSBmaE_}K0g)7tyV(^{<1d2*Ui)otOyy9*0Ms_MpzRGk0*Q>Q;x>xSv{=Zhlysz}``VIX~)c-?la z17q>=+pl}>IS`+b{y=>3dfS9!!3!WGo=eRHs-SsVaopkJTrVog3rVtR0H+&#m8-*ahZ?{n4 zF;Cd=^z-KXX~Q7BTxNmFgyWF5L}=R1$I_6xepbgOO?=;QVCANaX@_9_;Zau_Jo{k1 z@6U(>Q(a*Fk{wo|QIW7-&8zNlu`P@Ez9`8DvpPrC_nqn7XSxl{2j5TZ_nkO{aqMDT zEs$Spd{Rei1mt>pn-5f&2buC?byiK6fefp&H)a`VLAv6&3-_mfgS54~9y&xlhSc{C zX`^{nkeWNBZA-v5NVWCc?j}4OQgy;_{5s#lBChMt3;kkssjTl5)rlTLb*EV~pFPaC zka1)&u3XqWYT?w6ueL+p@nQGXELTF#z!SFy{F)1yrhJ`670Qrt^R)d0eEmzmo3^$+ zN)ytRE$;-5wuH3Pm07=I1&|h?u|IW`AEYfi8kZd4!J-|@uV!`btZxa^aiY3CHq2)y z^9^GhCn?u!Y1nx6#l)s{Ww3Fi7++fM2;>eA>)1Xkg-PR2m!w>NGa&Erxi`@duE54YnR6y>Z-Cq*IkP&Id?Cl)Z+)fNV#vC=jr%-9 z6f)zbgcLHT!G?Un%-C-aA)_ayxOS-uzR&x*V0d{P_IETZITFTVAj^BRx{0js4%0DW zx^B!zzmdhu>dFtZ??^)4eVbP|^B+T=XsPks&i#R zSl<(-f5`Na*Q%!T*;6dUw6@FP5|Vs*{0w75T7S{rOJzvYan;;wHHI= zM&kX`Tq<+%IpnN#h`sB*39=8~gKM)3Agg=r{RP@Okd-J_nqm#p_@(T3$S zS)CN?OJzEHscwxZ^D&~nDPt+eBVoqX47sbXPO7_c8uB!EY4_;Afjol(ubq`1ko&;% zqUnne$mMeP$oEA<&T)IIfs$wNeP+jxZ|v&zyY{yUK(Sy1nTR~O$z1l_= zvsfPAzb19BSzj{Kxz2PCGoPc(mvI=FQ?7=|kZT}3+vwyn$eR$lQL5$uo#i(r zJ?mJ+_wh+yiq)yIzU@pWi0M{SpS$y^ufa&laY>qSVGgeAV_?K7$P>AEVR(5CF2Y@q({@z-?g&%JDIPpcy!|KS_%FM1&k=wA zt9^@FqOblJN&YRZ>lnoPtf-F26sCKS`P^f^M;OOT$`vUDxn@3w^)V|U_nTYcMhOGR zn_IbSXy!G@n|S%n%x9^Pdw>401Glf?{gts>D?b5p=bTONQ0c?Z54>ubAM^xrYP>cr zk;TtB9RBuTl?~=6v76;Lu)4df?>Ey?V7l*_&oSzog^x$Vv6FFCKrT-T#BO|m-1hI6 zI+x+|T;<*9lwoy{Cs(FdGqxp8+^5ZPtVR<}Hq;5Lv!`C^Y)5>(ynU5p$?PVO#DObZh$c@s!#eKlX zYv(_p0pL_@M#76K(s*l0XebmjLvCS89ca4nldoc=f1Cs+6 zaJM0M<;vyb93vrDx8AlXLyblJ{0hm(vAU#x5BUSR-J%i_5(6Oj#=(-eo!XFl z;I!${%5jjJ)#`Cp<|pLx*MB}Va~F$ySpF-k!{;ICGi5qbR99>c^QmOMc>f8<0mhXL zxo1ANEx8*6dBT^<4(#)Vyg6g4HE-kdLrcu}vMRn_&zAUT9eNA$M#BiHt!MD@QQw$x z5Pxn@I&@#&JPo<{xp>`?4!27K@ zVaxkp`18pMKDHm9SHEKNHj61kZrAUS*j>k1#DDKeekiLmp?z)m_#ry@d?32dn9p10 z>%%yj7#IG$yWb1nJQ)Xhlk#0YWMn~}&eV_b%6Q(E-?((*Kq%x{jG8^O4PPJ4{L@8TdB?|7PId4E&pce>3oJ2L8>!zZv-dJp){X z{)f-s^)7SkK3J74{PKqLp1>7-e0H8&Bja9g|M@ZJE`2&{hvp#8we<9_`HeQ5%RZ62 z{z-U!()RO~LkiOH`i+8>$2q)ipFxT4spuaperI_NR+r5BnwgFZ)77Cq?PIBLvnb{0 zT1L6_=W(Imd+W?Y)^UM310D>W9mTCpKb&T$VaIvRd?D@IH<$CcJ8$`8Sr5*AevOFk z+MAr)aPQOYsYf_hwDVO%=3CCCO7g}^>7ATQyspCZfgUV6vwSwIyU+THn9ftCTgrT* zneS=Fafxxg;)1KJ-r4=Q%>@m=YW~LXD(5$1VbSeR+c=+*pWgG~I_H`CMDgr!RnDWz z?3}XM2hKh6@`TuXLY&(+seRwa$a8MPq=r1aa*=brI(yZ@QY98;S-zCj4W)f|JDJW$ zrW-?js%KE&&!UuL=|sx)a|svZQK~rwuV)+h`S;TlLle$_%fdUujPN|(yuSaju?gor z{T26RRvqW5>zH+>p^WorebTLI)5y7hyD&J)#gTJ&++WezGLUm0eJA6@X#Ba6XixLc z+gY6+>#JotC#mjiY35VTe19;G-IVK&4i_je59&BDgbOU2_%`F!87@FG`|7WhT5jC} zhs%GQ&v8BluNC{+E^uB)Pge{xOX56@Gp4N^sl=^WF>A`(&^w&RF)4$?Pa8N7*Ar8g ze0$AeGs~Z1b(O4dD$_}!x*tYRAD%k(T|bI)ydKTCBDjFIr`u0&Y~TWYlpCMtjNt+z z`~?Z|N}QkBq^hFKMsDrf=T12Vk(|#U{wE2iFwU!Rl-!LTJfFKN-@0uW!L8{XS2z4v z6}RR{^^y@MF0*)&<#*A#j4sx9lj#IA-FoViwUYS;FpdDqwMm-`SU>aO_R-B;;Ov9D z=N`Mm1#Djn4N_Y<|H&iOkM>A&>qPW(3{s`Iwb~xn3`dJ`-pyB*bpA2rPe%)$L||?o4MC)AeRP`ONn-#x!L#@x32wsP-SNy=W8L?G*UK@TRT|7uXsli=ktHs z`_gzSyYFu#Nh%`IAeB-Xic*qnS4k=&QIyPNcFc|`Q|5W*n36OX5}GVSbDDKG5{)WF zCC&V|eeJvZ&GYto_j|QId+qfd&c23oIA^a*;^lNT@!5=vzd`ggmrlk-L3Kgw8FL!( zc}wz*Y@OH;#raa6AeQ&@dRAw{GOF9k`fyjEzWN!Ce8-@|O6>E=k$bgO?F^^B;pmr9 z_&l6$c4JnA4&zz3Hc!a~-yhel))6ZdVcezkuYD*z$hfJlTu@#*j&UvcdG4<43C7h( zNL~I|JdIH_U&hvz3{qSP<&k1}U1h0G0IMq~!1}1xq`nR_oXOl)QH5y?r#1Fmh4%`E z(|BdjV(w^$V-Pu|QermaWx1hfx<(e`DJzg1UtGm_jO$biP_JR!SLk)db+2IDj_&+u zcP^iCbDDUdbgU|kN;J=N~mzPQ+*_KNDd>kQ}ABE%aq zV>lPC%#~SS$Z&j@{OFr5%y_+Ni~005pYeQD++mYx~Mr_lyN^& zQ+dzcf^l~<96uN&Nuw0a@1k`Q6qmsAPAr?$5~(XlNpZOj%Hr>Z-#SX zy7Q!(4u*4m;r8zvA2OUQ-5;~!e=?j!lU9Vi*I>ND&Mw+2Im~#T&>c6i{sQAU_KMhr z;Z(*WUsm$hm2Aets?bX3LNkqRG=GNHg;N}`Jda<7K<|oxfoy zRNC(F|{it=8jI_|9Qfmzgt zHT8x48!l}K4#da1Zqlx$_cHPMIiyqY?is_moVE6NS{cJhZHd43vYO$nv-rHG)rR5l zhx_)*8Zus~se#!l^^BKRnzC0w3ga~?c+#QK6KEVq^Le!H8pW-oJpPmyU!O#$h1Gp8 zOnqFTzIqvs>kggdfprY0Y2WO1NxvA*n>pyf*&&A0dHsHy!fbq9sn@q$I>&G#dFN73 z;McivOKahhrwnI?Ob^fY5##lJ-mPbi!;IJcZ;1-3LNsE3B>#if;nz!WSdZ{TQ{InM z2cPdFy65n5AMufl&pYBPj^QL2kBg4S>vA(%W$@PohBL6iQBT#3;e0LQdQHUdCmpjV zmJZ?bvi`REi^ZoHPWsfkI*~Ajq>nf>Z^$19F%ssgWHyJIu8!oXiZ_fN7*Fp7D0^nc$v-pmsA*U z0UO`eT`ml#SIqD+KHoTZ&e=Y0mSQ-kH8)(Y?PEBVH5*Q?n!#|2t`2qY!}lo?@o^$~ ze4qNaj^Oa|B|Hx(ZyePzrMh<12lhvN;q|=`yz}|mZidrWsjT|2nemnw?leqi81H$O z6XYAh81Dr#s%K{2VZ7x|hA1!bX1pgc-}`=rV*Y(UT+_qx>+dYr6f+q34eYy_k1+=XFub;<=)%R8`~N04Zp4qyXiCDt2bAivA1HpSIt~% zUEWAz4b5++b#5%qK#=A6HIwodvpU9NR9Auez{i#N;xU}pL&T}7;mSKg~rFXG2U@mzX*GDX2gKJ&9pV4?UpQbP}BZRv6jU4Z*o!c zf5%I=o*X4S71?{eI0h2;w4SkO&FmT#D5H_R(x|tKchR+uR z&5M_0oR{8)g$|DdEP3a&bl+bZzwqk^M8-v{5j+15vGoFo#g9fTpEqLpLlCQ{gIN7` z#QJ)JSYLm@cax*F!cs19gFPfFjx7L>X;+5%l-t4S$c3b%n?`}{+jyr>y5(Rgek;x_ zT^-CkKlJ-RG8j#?iAbDl0lFF@##vSUu%z$HW5cWMS|)1B5#zTVLu7nyDE66xQX8Pces$W3;pN4w!=Gq20p0qt|Ke z2rp^N;yEBP7LrBm{65_OV5Hs~v3R_HfbbO{!jJdMvU+WZ)nAENU)qTE^%Fu1X3d#a z77vjcW4c~Gy99xg%}=T>YXG0{HLw3HT?ihL8L6Wbn_!oA{)d<1|=UK80hSe`7pSmLd$X7W0zV5J4D8s`1kK*z8R7FS;C0LFF`Ede8lp9 zLad$+2u9|8&IHZ-|iNUtF>;5~6+wM~95&gW%#G`$2h8@ZbNu`eu3%c)M1Z zEf07KZke+BIUbSVxF~R%<-AU?x-W7xWoJB?%9R^z5pjhz-J012yDPLj&Z`IS4mCq$ z9Fd0D`8$ZM??MExFcz_VHHhWM`>TlFLB#5tAlBCj#QM^P$eOnuxzg7mX3zK^icUcg zR=1)mPW1)^g$`VrJ9;7bcBzcB>XHMmeT(^?KII2zN3RD%^Nhjv`q~A){oX9G z|A`1+=QKq4`SJd9qKEqd5dA2``g)95Ur`XVdKM_KPn>3s!d=es^tcJFUS3sD4 z*wl|(E<%uk(BeY}FM+Rjo9v|1$G}t5y8o4SIyfl`tczR}3OlC=9@!+=1O~S=KE>~_ z(+Zbx>z#Uwhsb!R3nKHQFCeyl7!f?e*E8Y!gb4p3DMa*4W$`}W5&frlA0_q`EsKaR zybp1YQIzOdkCPBT<$~15VsVJ_Nm}1JOAdB#xbW35{sM4+d-VC6YJ&RQ?F_fJgD+gc_|LJ0mY)Q);>@&$ zTiWIzGXA_9k@=T+KNzY1g;;z!B7AbPxSs*$PZmI|9^PL}^otPds|>NeY9LOs?4_kP z{(W(Grog#84#X_wt^GPn6C%ww*B#Lhhp<^MGM)w;hQOQio5Mo7!Kc2b?O>r3xK*hQ zuRHJ*?AGqH+P&{Qn9P44rF~UN|MP$C>2qN_duOJrRfe2ry6(anB z%Mhz~6|wrsi1`VO|EJFobxuaM(C7f{KHGJuFJTV^&$7JUk~jnWj-B>NN;?6b=l4wAlrI7f zJ9ba?850bqdTS?D923#XQop(DQ#~v!8_u<#Up&uVYu(W2tVE@PW0RntItKm*JM9Le6{OA!p+vx%PaFCxhm7& zqNN97yAw6no<0E4AI~gFZ19DMKU_Ke_)8Ev_lF2?(Q62>@2U3gy#t(6rw>Pa`+$?$ zB;Om)onfnd@oVwp%e3;-EJvHl3?VYE)<$IhMJFQlJ}QXdKjb6AxA-g~{0SO})q9JG z{+U^b_&Oksh_6--Bsw2AtXeeyDaHzY$x(q27bx@m>~~R!36EN;E-@7%qr2bkJh}qH zq#D-;UP^($MM*a@hB;z=wLnrq?Bts=Parj6)0$;fxG&t^gt2ncny{xhCNp!)MuC748lK1 zZX5OXIRrHb3M?x01E1)G`8v&$z`63$`;z-HU|v>mJSR*AQx`s8RcM8;EP5t)Br zj!1or2qJi12qJv%aNh^Qe;u)UFA=N%5D{NfLlN;+jeoztv?FPnJs+gaHVZw|{tqM| zm&eMx^&nQ=DZXpX8Hkpir60R&EbM+#WIlhvUHo}^-hl@nmx8a+3!VI|6}kV7g{?12TwDKl zyz$R+ZN0Ty|BemF{HFiL1RwU_nDD>(Z%p*V|Belbzn1^T#J}I)G5h*b|Bl($AM|(3 zu9M5(F}q&-!J+4Br(bk3c+be3d$>CqY`x~_Oq)IkHcRVX|KooFtcI)Z-CT7JtmIby z%2#_0J7Z%66jLw3&S_mWex)zLvi*c%gTpegJhJyy;4vIaRE5qOWYe)Go!6xG@BiWn z-x6b%Uwbyy8)Wrye*xClW9sW7aEjGATdTi7Uk!AoUosM@G@}xJ?6T$xJSohy~QoontWhvhP z?&rFo_eIl8Lx>UIK4k1>1K~F1ruQS(L&&r2oS>W=5WLpkaN~o8z+F-yll5&e1O=E0 z{7^`Sz%LRu$NB3Zut<4XQU19WEhhEnD87jD1yKGV zRxfux)yIEV5MP1NTopwAepB?>@*zZ&?7VjRAAH}ma;P2x zB?zB%wf2Z=K7=hWSZ5Wv7(!zu=JTG`La0ocjkAy%eoly+;PJpV+?ROfyXw^Yvy2MvI>q~Sp#5RoOYDzXh!ptYNA0$3Q%%yA_cf2nr z+Vt^^NjC=|YW;BQm@`emS3=+t@hve-+5C1nBq++Un}MR!Rq1POA~!vHP+W;N!FL7JtTOI=?jmJhosWM z9hXE!ATHT6O;H#3-<{Z!6(3~|F@4+lIX5aGM!Hy~uR|W9gP(c*iB*Sak%_ZsI3z$+ zqh?o1Jnr|K8TM&@<}gIXsM=3HuEvhD`2Wtc^{EukP(Iv8necZ}y;7?0Kz-ppq{LSY zB+op%ZO_pHNR`Wd&{h^_HHH|63)h#e)C z(bk#(dt$`43+2ee9u*m8xm72`{5DI?DRYLHUXe|z9}m#6=ihm@UWwxKC?D>VOZZJ$ zz3+TfzmN5GOqlicQ~*-j>UtXImqEJ8w9p#kKaes$!_M}J9wa4+t;w*_!?^4Dn@&E5 z1T(F{>%wLbpPPu%9xQ@*kqh5^-sAnIM?xMg62bk1{iYWU{TP5a+b;+AU2UP`-*g`L z*Cq9q6wgq;OqRb^f$HT`eZ22%#Mgr9tgp>$A^n`dm3e{TkdeFLL0q{uq+MIt`WE;5 zO_3(Z&qL25#5MOwo$B3_c z@{qObTII7LC&*U#gOc73L1yXOpMGymAmfFtQyhOeWM~ak7!FrLdUd3^0RKfuU#%q5 zweCBlJ=NTH#NZ61?eaS#8E%6=7j_;Wcq@qe=jxX6qH!NxGM1$C4zwQcdmF*)3sAmy zl>ZjhyG!*msjn*5*Sjr{-T3Xmbqi0(36M!!U1ttie`cwg?dyW9)px@s>hZn`UXE9_ z!CJ^1pPJUbcqe4=Myt)$Jp~zSdc$92<9$72=ER;{g!i|-F!QomqzCB_VlGz*chIpR zoyYsENd0+=2g(;i`Ms&0Gpk=Qi~2fGeN{p36#rmNvE_Jw@~x}I_W6*ry>gnA(m}{B zkJy>IAMd~YC3ImpYz}0(ZK}&V5(=4vA;%2Q;C&j!vor?Vu%1;+;|0qw$Xt;WvA($v zGL=ntMCRaqA!Iy2=kb0VQh$Ns*HFF+%Dx}(wUyk<2RSWdAko6 zK7aLO$jUm?{Nth^WW_CSJCGPa$HM>3lX^t)TPa@|<;T8=o(9!_!}`MgtBJ3cg^+(^ zOmC5L4;1(-ANi4g1oEc@^oTd!g*AgWw|t$W=Vz6*}t} za?EckdVKu}Inu%#^-NDg_NQWXMc-z~e)+NvmP*la%inoYKgdt)c>aV z`IOI_@@ueqMq*UIo%(X5zOsQASM3FRZbOk$z{{1o3!w0yoCfqZ0}AJr2o1E$LP7N8 zSkpJcM}kRRGTO3-=;^5r~)RcmY^uk%8U1yX~&`f}@IkIb_XMH83@aJ|qVxd{cdg;Ev?*<=`>86QcH}*e4 zn;ILQ&slUFtykCZaQ?m@t*u)+GgVart=YCW;&*s3Vp@D-Z~nN7bS|4o7D#dXS)%6u&eGE>dzOqo7!k0mX z0NhVcvsbNXr5p+_c&*bn?0|glemr#JZRO34X*wM-)oC4RQ(I4kxP?MXhHp&U60MJgod%swc9Lj64O9`1`MsPO)`l=Jxe zhf!MjPi`qAzl}y2=8B_{?<#fJxn2zIjP96E`*Xg>%@NHzN2xkT2{XNhWkieiCm;NigCd0^6^nnl;{Qioo+Y*`06*Vv@!jR3Z%~N0kLh_Ed|tObkhc7=oW@0L z-guApeq#^kt%4k*%pXee675k*)SEWY~g1lqk(T{&KK0}3zB zX}?*oLE{RV$ImSzb^9m|_fIA~ek||TQBV~pDJiMu|7bxj~sG1jXJkx%xm^6UE$)MH>%so`ZyIpeTAT;$2OmD zPkf7#4}2-v?$?5nm2K-&%NC%-uGsBQU+zZ!3`s#(XEutvaB{HY~-V3zH z!(U>Z(lQitStIZBSs@hTFE%-GLII8YXnqc@Q=_sP%SN-##r+|fZkqOvF{GMV#f-&~Zqw14M;h#VCEBBo_b>m3w#e$Ye2 z_zH@BV&kl~&Kkw8IhiQFc>wMCKGUsx+jlmak7DyClC;i};_gzOVaj`*>g=St_R4aTlu@!&_n~r|B$V7{Vy@JK=Nnull4n(;WTBv}Df`Xv|FN$dP4D`F65hG*I;B{Q z;`=%Im$r+ccty2|w=?rl-2N4n+&k4M4*$SmUcW1i!8Cv4Zyk%9LV3=zyxlrfCza}c zr9N&_U-)`n`?2J=sSCc}9KK`ldMrx*RD7yUJPaiVIdo>p;J;<6n?IHI#-hY~FP|TF z8A6FdTXIfG;P2UNVucQ`mPhd)mu_1yI|IenGEq)N?lk(-d@-$CLUB`A9#=`q`+(J% zihUB@ChEhI`nraaLk=C!b#Xu`W5++&Mz>MQ{6oR@=MJIdPP6=}llG%zqYKt|)4rgj z1M_4q*My;@(Oc^oRd1BIJMP-7GEI~?tK!l&B#06|C7*ZRf_;-HMDzT#ZWG1DQ=Uqe zH+?zP>7%-jSRXq0dmQ5HJW8(Zzd3rHKT28DaJ}6q5T)2iDId#Qfl^l864uy|jgq_H zp4GpYfs);p73_DOiITq9kDGd~79}O0w!g153ni_7<^8I!A0*y!6w^WC&g ziQ;-Fk3HqRL3MB>y4$FaR_f~lO8)3_|JzGxl(KzvM);5>N+}RZTp!+uQg}}P?C!sU zQapcmPAq$fQWO*<=f_l`G%ab@=`IxxN4GrfQT@`}_UlTVruObF;YV07|h8_;u6m4ocB8eOn=d=SfVW z`6ILrzfOWPVR@P-Qr;9+r(K@a#h*V|AMMoF36x^Uh#7nnK`9mT)2a@xL#d+E-x%e; zM5zv^jIZSkqSSncs1lnuD0Tk?$?}EzC^ct>*Hrj}QUh}n-KUA8)a{Q$#vIy*Qr90m z?!wtcqYlj{(Yg&Ru4yCXDP?(Wm#{jy^H|*i?3?&-r@pXX6CK|Ch3Y5;KlW%`a4SmH zoA*XP+y$j}rQb0ZevH!e4f(%n{X%I$Mxsx4l%cdRbNO-Sv{0IBv4+<9Y?Nk_{K0DV zPn5R0$J%|GGL7Q(3vr&GiyQINoy1^LPZ@*QwiUEVqE)bU8zdQ*Xg@T$D#xl`S|tkXEigFAwJN z(?WT|b3kW_#BbNP#fZdrGZC9#gV;Jz#NuQT%d-cuy!i72(dj{~F20_Kk1WLcN`pO4 zP7_bNY=tEI$%X$k?1Y$;Rv*sAy@d#F^UwT~L%0vKfpJ7lHux={Cvmq&1w1vTU*unu z3J%|!Zp`?#56o-46Iwa}bc}v)cwpIxNZc8TNdB25V(Tgpiz`Hg=S>Ulvpm9!pXV~7 zQ!9a=^MZBbMG)&F6S2M$A!x7s#XV({VNdMxl(&UbAbQ`Ra7M2@>^}d3JA1)(;5yH5 za{s9gzV`#faxU|OM^n?|9;?ydP#w$XuxkaF@0u6KeC`4rx!?YWFC9lDUT#Gs|HTQh zb#92o=^(;$DHyT5j`(>cSZARyVs-K7XyQW)vA$M-NB+x}^DX#yDr1cNY`=Iy#K#lU zba|o>X7zzjlG_V`L;fN^)@y^$_c1n=qZn|nG>S+So&*k~CRT3sdjQ)GmQ8ef9R|qg z#A*{RZooMb!zLq=f1`^?o&QS2;=B;y5x~y{C%n56(Fs;Xtgak>-o=QINW}Wm0lS5= zleW(3f>{(axCeO>nwybp9eM8j#|`t_(~y2D+t z8`!APy`dGhhVQ)NYM#1m}pK-!sB9)Q1SK{(Qvh zWFS_z9kD(>Bi7e3*lMgO)v##*IPr$xqn7^x{|hn>6+^n<|8&jSUe0FlwXx9HzHlsf z{ot4W(0&%2FX-9hX4YVv@lV;)N7Z2Z_1Eo90&8LAldHGy&8a~oF2KK=8_ADKLZt4o z0%CE&i16IQzegjy#)#F4M69kKVtsr?tgjf@PMNZd6yD!GK$>dAZ4@Fr75F(pBfR25i0CX(LqxYs5fL9w&k^yZ(G9Brle%qxXaJ(IGW!<<;uz!B; zv-}Vr*mwsN5BsTs`4%uLc^eCcEw_K3Ui$%-j#{?Jd670EahVh%`3*6M)V-gNSlmZM zcz)X;!Yeu#5uM9h5v!|%SRV$6_*y5|_(JcP)+KWRSkun^N9Ffk*t$$9_ws-NSnc^J zm7jV7Y-*kA4|}zN_0{1SF~*XxLqfDg)~^>#J&g1xHM+z4jhc5JP7wpuY1=%CbT=Uq zH>4txpZ*zEH!9I1IP45oIsQ|F+5FxT7LXy@q;=GJFE2^il7v)Gw^H#(Mrak;08eSbgb zzS((&lUD^w+<+IFWe*UE$MN&ZM)D<}5vluJiwLe0ujdGlK?x$f934b-nECkiVBL4d zi1;`V3B;EwA5u~`&S)yzjb_}OQ5ZNF0ZUgoF8gR$2J2orTK`!R1jgHLpV{%y9yXt{ zRxgAeFy6JhCt`R7Y?upSF|CH6bFN^a#i)ZYZ}^yIYT0~5;!)gRc_cqh2a&qVKhOv+ zl20BHp0n!^;e9+G5gqmKi0E#x0pg<{_njT_wI3lh7vlp9I=av@cZum$H@lEXdxvkx zeSTPK?xwMFzZ|UD@TwqaZ56D$IjqY&i+vw$O?+c$18a`I4q0rV1uO10FAf+J2(vzQ zyIzrfhDclxjYwX48zOa^uONck)Q<>HbuS{k>-7=QIoJgwx}j1-Kz!Vg1LCVw4yiBp zoSB3B^6Esd`aRqIHd2>$e)%d!PJ6(o*)r!6A1tmp^RoV47idY=6s&OI04fSPUKzd_ zw1oQjO(&$o5@F*{cD+F`_33x5lflM_#AGc*@erb^9@qPTDmiek_a6FEjW7}iT@WDd2x%Z$|6(q#|T%IAWib$OP8lbl5Z$AdZcPIia{n4>)r;HAgn=?I>w>hHm)v|}- zeM15;DN3<$ZC4Xan*aMq&;Zl;XTlbV6AxRoM`D%Hd^D2hsv09w_o-WZ1lN!L0O5&j z0>V3SF%X>tT|jh2%YgW>5(na|j~^`&*zWD=p@Vb}JJmZY8Y8{bm;Lv2($MN?Babal z7b6Yc&JSUB{Aj^To87jJO-TIn(|LZsbQ&*C4j(U5`m^zS_9FN3+2M^n8_&JjTo1LWYmek7m_}%i)J>D)0~W^zgy($(5Z3fpXu#%hnPwLc?}+M7^I zUy~-JC@mtD*WH9>4NEtep>)Jr=O)5?(Br@ zsd9Sb_|+jxWGct)SvF*bElS>8uo(CCtA6!4PZ#$gOtUpMz9_v8FGlKf3tCrfeGlm~y$NO8^6C~ z+L+!Hk;VN84IIj|>R0_2|IL#++!v7GZc&~d${R>^0;z5=>qBuC^>qnK>twwj#@a%W zg8U1415f<@)#O!u+ZRLbBvWDKVkO8Pl$P4zt_#^K1;!fKwL{iW)#}^b1&qDnrFxPav)dU;Koe9ILOiUA8=593E4-2o=EQ#gKXUh!Fi?F zzu<-|pXQ#2tXDR3zHVJd<64@pr*(=HC(ZJx2vXiFROd9+9b|nduVj7MaiM6Zv4)mZ z7ZjD>E$i;CgTgYQYbVMaA%A}-AGG&Eo<^6PrCb=~YTNlKhn|C+^v;*J7zN0gCQ`WZ z@?FTj6a3!N>NsQ{$IqMCXGfzs%~#O6+Z4Bo@^n+)Q>@PYRaCc`_3>PZ^)^b(`FPM)8*(`1nkya^(};cjo2PXIXETcOgi~Hms$)-ehgcuM6IoyQIq`+( z6_S3ImO{}ejq`3PIl$X>=Ul<%#ZaiQ{8!Dd8p!Wmx|_Ro4CH;#SE=`z0eLEKOKy)U zfZRhfcYNihL$0Y(qQ%u@$X)oUAt?F=jresABt*E;O@0SfITTIQAm6da!J zdhd)D6o~w4Dx6yl`58NZKAVNVr`Jgt^zmK``O-dzkMFUd(TC z-Jx)zd7@EG9u!2q3H%_w1PUbmLu)8}`)Dn1OI+VQ(RPlLw{%45b6yWJwO{v(M zhu1%K8Nc~m{CeXK-F>H{Bt;_D(5&OEze(nEZ`4nI%p^auo=O|gZ@U={GTEvT$4 z$H!UJS-kj82NWKVF2DXm8VXlmIWgxe{{2K>ar#em5(-Y`{oM1~8Vd5qB^`R4L*rSR zkEV6!C=UB0JPhT<$Cv0>P+fdJ5g&Lxh_4(dTsMxpP16K;{I8_#b%cSp(^Dg3>^R`r zCD>Iu;Okl?_zK^$5Gd?obRShrgTgdll-TYIg&W#>j;1z4;nYR8!Tk6>#jla)dG`p7 zCux2Ut-DHb_J4U;-WsYCOLbRKANX|;Uqw*p*D=p5;U@6Ly;J`F0AIgWSz>y&y1;X< z>9CpH4ZIC)a#FWv08eaK?oBnm&)>~fU8V8`3X7ILlRt%h`b(!}R%8D*_w&sqdue=0 z^Z0WIsl)RGH$ZvtdJ$eDR!2&O>iV-j9^(7oh%dY!sjyObcSp}A;7y-q@i62V@a%s* zHK{BEUZBRrC(H5cvj6z7s{SGHv}SKv?z9Ye6RIRlFY7_!t0(?$eHKu7x#!V!E3;qBelou9S3ePO!^gqFQ+BtC74YrGN?y@J$T z;0d4ky`vgmk0j#z0m;|Wx@L;Yr98!y_XE{g%If-#p+2&yuY157{SJ989u2&8TDLR0 z=L3(c@xf;D5#VL?FZ+O>SH#QRls)sBJMfZQgVb-~^$itVuy^}+;JHq&>`wa(ydC+v z=Tq=~b4x)*hi^HJ2{eC-txFeVaXaKG4^ZAjRwqK7>K>;)@bMQ)G_KKSwdjrhXrsV9@A zQu!Wuj;~HN$P@xE>!{#!p>M#0y{jg57Xhz>kJ~Rf9eD2!nC=kV0K8ts&kC!of%p2C zMd=^R+ogLoa2eKr^6JH&HTXOrF^A^ybw=v&IuRT`?t}-gFX3HBb?|vGqB};E`Z&z` zIw11zK9K*#|E<9PR^Wdt@V^!K-wOP11^%}J|676ot-$|Q;D0Od|9b_PD80yQN6r~C z0ZBqdQDVJ}&wI_tLVes%@#yNW^V2gJPqTEJvh}@;yK?lXiIV<|Yq{pn*a?D+OWNCd zt;XfJZ*17BDXVb**i>hOW}U?}s?z**TDOwLjsHP;qFCMyE2z$Cs%y;p5T8$d#WN9! z76k*r(M+(vw0MC|3FFr+xGDZ!C*z}WVXef1?F`31^xhbIZN@WH@34o&HO9U1yULAe zgN$2}s!#8F+&A`0*w&Uq5sa(r#Q2jTUH?Ur52tl!DDETW!F?JDuNT!xVs+n3QXlWB zFJQtNu6^AXIg1Hd#98kmsLBLXG_Tg){}1C^(bT`%75Bw!eBmdIa6d+;Qk&IlN*K>q zgVSd1xyyKD=YBuXU&`QLCivGZGGW}ebp$oZh|@Tp<_&2b?)yq`_bAU{%3DHpwz9gF zQ>c$*>Z_CqsanTBRcx3E;dgFOnw-f5UjK1IYUMM=Z{Wqk(`MC-&w#;Hxts*XJHhK{ zZv8=qv&VVI8#jB#tK5C7@)b|UvvL0B)jDB}r;*ucpZm5n?x1;ZT8H~>65KAzbAs}= zQk~DNuGT#2;|uFc+>Z%1Z;bm>b%Y5nxm6>3`Uex_6DO#2Ba;ablo!3!r@{D%P1U;~ z^N#T;k=fE!jr&w)*iL-)4foZ&AMZEoBR>9C3nyHO{fztQ${3GUTt?$!ntw;@%qY&0 z@@TQVQ)g10D60F4^>N0A^;JEG;rcdorpp~a}*nVBA9d`rD1Xgqdfd@`=qo_vA(Cf@xy`CKUO-)P=+T%e>uacfQkQy#>X_j zht|!YxJ8sFfbu?Lb)KnF-2v(&f%P?O3KR6SZAN-i1H||#K36mF4o8W?X0in#Y|9G<6BaT7ll(bfE$1=*${7PYuJ2;}A~XIOH1cEoCVpLK zRXxD?KG+ZYjc3w0kLLf-x*&?45m zv|Bc|A%fv*c+@%ujAnw;CO7>IzQP2SuUoRPS)U0wnSW-I!$ija)wz#7ZF!9Uy0ARY z^-meUj`WnX;>#JogSASlGV*9VO7rVz9X^i7sXvYzN?5XoXKfF~gl6s{T#5o#Afit=MOz%>?}rZ?e~#%LLgoE4O`9WdhF}72G}TDib(U z?}4cL116xn*x2Hu0TW>G1+@%nG6A#lg>AF(c|hV~n#b!->sZ`N%F|7G?WoQcsvF4q z7>n;CBfbjp@wL<}viai4aAzEik`BYy_13k$fp>8I>=_>$ckg3@PK=k?n2^c@&6B@+ zUS}K=SRq*IJy)6uT#?b=+5t>JUldc~@{kF*+PdHM)JHbfjidRWwC*y+DN`OL%6pRP zT%x+k)W=imtBnbY+T5a+C(UpbwEx)>gYSn9<9Bqq{b0Cy$0RRKjA4R4F}6c|_Ds;8 zZJV844>3X0N^Hg)JI@5R2F^CmdCUav+4-bkxh@mv7(QWW!8#f@(Y!gWdr5J1l;;@b z#m9~4)UmqmO4Nr1^@Z2>xRFxh`Ns@*xldsD8x4l*m()9H3?IXF-aq#0F*$~-R5)XN zjyx0eM5b_w_eLftJ~@9%sxA|>TBq%BVF?o?Cfw7Nlf?uMj;n0F@rA}-nlGev2Ptj? z<=I7f&8dz9)m5ZE{8(R&`26ZHQguP28Lq+6hffY~WVmq`C+~1r&2SU4&ho3sGF>3rG2DfwD6oDk6ZC-_B4Le~poSSoW_Xz}K^fY$Uo!NVpwL%J57x!f=t=YVK0)g6 zb2JEU2jy8oc?YPD9@Vv{KD?+e9fm9F)!pAy#c&-pW$o7B<6msMr>(-0;U4bLt}jz# zxCN>c%ofaGxB+u&jaEKlxQ58BXga=MDOktd^1!cG+{!~i*AwHH=61.0"] +build-backend = "setuptools.build_meta" + +[project] +name = "mooseherder" +version = "0.1.0" +description = "A herder for calling MOOSE and gmsh to run parallel parametric sweeps of simulations." +authors = [ + { name = "thescepticalrabbit", email = "thescepticalrabbit@gmail.com" }, + { name = "fusmatrs", email = "rory.spencer@ukaea.uk"}, + { name = "lukethehuman", email = "luke.humphrey@ukaea.uk"}, +] +license = { file = "LICENSE" } +readme = "README.md" +classifiers = [ + "Programming Language :: Python :: 3", + "License :: GNU LGPL", + "Operating System :: OS Independent", +] +requires-python = ">=3.11" +dependencies = [ + "numpy>=1.26.0", + "netCDF4>=1.6.5" +] + +[project.urls] +"Repository" = "https://github.com/Applied-Materials-Technology/mooseherder" +"Issue Tracker" = "https://github.com/Applied-Materials-Technology/mooseherder/issues" + +[tool.setuptools.packages.find] +where = ["src"] diff --git a/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_2d.geo b/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_2d.geo new file mode 100644 index 00000000..9d1f4f07 --- /dev/null +++ b/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_2d.geo @@ -0,0 +1,62 @@ +// +// Demo input file for parameterised geometries with Gmsh +// Author: Rory Spencer +// Date: Nov-2023 + +// Geometry Variables +gaugeHeight = 10E-3; +gaugeWidth = 2.5E-3; +// gaugeThickness = 1E-3; //2D for now + +// Parameterisation +//_* +p0 = 1.5E-3; +p1 = 1E-3; // Testing comments in the variable block +// Another test comment +p2 = 1.2E-3; +//** +lc = 1E-4; +filename = "mesh_tens_spline_2d.msh"; + + +// Create some points defining the boundary +// Will have vertical symmetry +Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen +Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 +Point(3) = {p1,0,0,lc}; // Parameterised point 1 +Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 +Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line +Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline +Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge + +// Connect things up with some lines +Line(1) = {1,7}; // Bottom Hor Line +Spline(2) = {7,2,3,4,5}; //Vertical up side +Line(3) = {5,6}; // Top Hor Line +Line(4) = {6,1}; // Centreline + +Curve Loop(1) = {1,2,3,4}; +Plane Surface(1) = {1}; + +// Top & Bottom +Transfinite Curve{1} = 10; +Transfinite Curve{3} = 10; + +// Sides +Transfinite Curve{4} = 50; +Transfinite Curve{2} = 50; + +Transfinite Surface{1}; + +Recombine Surface{:}; +Mesh 2; + + +Physical Surface("Specimen",1) = {1}; + +Physical Curve("Top-BC",2) = {3}; +Physical Curve("Mid-BC",3) = {4}; +Physical Curve("Btm-BC",4) = {1}; + +Save Str(filename); +Exit; diff --git a/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_3d.geo b/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_3d.geo new file mode 100644 index 00000000..d7250dc9 --- /dev/null +++ b/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_3d.geo @@ -0,0 +1,89 @@ +// +// Demo input file for parameterised geometries with Gmsh +// Author: Rory Spencer +// Date: Nov-2023 + +// Geometry Variables +gaugeHeight = 10E-3; +gaugeWidth = 2.5E-3; +gaugeThickness = 1E-3; + +// Parameterisation +//_* +// Testing comments in the variable block +p0 = 1.5E-3; +p1 = 1E-3; // Another test comment +p2 = 1.2E-3; +//** +lc = 1E-4; +filename = "mesh_tens_spline_3d.msh"; + + +// Create some points defining the boundary +// Will have vertical symmetry +Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen +Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 +Point(3) = {p1,0,0,lc}; // Parameterised point 1 +Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 +Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line +Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline +Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge + +// Connect things up with some lines +Line(1) = {1,7}; // Bottom Hor Line +Spline(2) = {7,2,3,4,5}; //Vertical up side +Line(3) = {5,6}; // Top Hor Line +Line(4) = {6,1}; // Centreline + +Curve Loop(1) = {1,2,3,4}; +Plane Surface(1) = {1}; + +// Top & Bottom +Transfinite Curve{1} = 10; +Transfinite Curve{3} = 10; + +// Sides +Transfinite Curve{4} = 50; +Transfinite Curve{2} = 50; + +Transfinite Surface{1}; + +Recombine Surface{:}; + +Extrude {0, 0, gaugeThickness} { Surface{:}; Layers{3}; Recombine;} + +Mesh 3; + +Physical Volume("Specimen",1) = {1}; + + +delta = 0.005E-3; +topsurf() = Surface In BoundingBox +{0-delta,gaugeHeight-delta,0-delta, +gaugeWidth+delta, gaugeHeight+delta,gaugeThickness+delta}; + +btmsurf() = Surface In BoundingBox +{0-delta,-gaugeHeight-delta,0-delta, +gaugeWidth+delta,-gaugeHeight+delta,gaugeThickness+delta}; + +bcksurf() = Surface In BoundingBox +{-1,-gaugeHeight-delta,0-delta, +1,gaugeHeight+delta,0+delta}; + +midsurf() = Surface In BoundingBox +{0-delta,-gaugeHeight-delta,0-delta, +0+delta,gaugeHeight+delta,gaugeThickness+delta}; + +// We now can use these variables to assign physical surfaces. +// Again note the tags! Physical tags start at 1 and tags are shared between all physical entities. +// Physical Volume("Vol",1) and Physical Surface("Sur",1) will cause errors! +// The names given to these surfaces will be used as the BC names in MOOSE. + +Physical Surface("Top-BC",2) = {topsurf()}; +Physical Surface("Btm-BC",3) = {btmsurf()}; +Physical Surface("Bck-BC",4) = {bcksurf()}; +Physical Surface("Mid-BC",5) = {midsurf()}; + + +Save Str(filename); +Exit; diff --git a/dependencies/mooseherder/scripts/gmsh_tens_spline_2d-mod_vars.geo b/dependencies/mooseherder/scripts/gmsh_tens_spline_2d-mod_vars.geo new file mode 100644 index 00000000..76b0f5c3 --- /dev/null +++ b/dependencies/mooseherder/scripts/gmsh_tens_spline_2d-mod_vars.geo @@ -0,0 +1,62 @@ +// +// Demo input file for parameterised geometries with Gmsh +// Author: Rory Spencer +// Date: Nov-2023 + +// Geometry Variables +gaugeHeight = 10E-3; +gaugeWidth = 2.5E-3; +// gaugeThickness = 1E-3; //2D for now + +// Parameterisation +//_* +p0 = 0.0018; +p1 = 0.0012; // Testing comments in the variable block +// Another test comment +p2 = 0.001; +//** +lc = 1E-4; +filename = "mesh_tens_spline_2d.msh"; + + +// Create some points defining the boundary +// Will have vertical symmetry +Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen +Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 +Point(3) = {p1,0,0,lc}; // Parameterised point 1 +Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 +Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line +Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline +Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge + +// Connect things up with some lines +Line(1) = {1,7}; // Bottom Hor Line +Spline(2) = {7,2,3,4,5}; //Vertical up side +Line(3) = {5,6}; // Top Hor Line +Line(4) = {6,1}; // Centreline + +Curve Loop(1) = {1,2,3,4}; +Plane Surface(1) = {1}; + +// Top & Bottom +Transfinite Curve{1} = 10; +Transfinite Curve{3} = 10; + +// Sides +Transfinite Curve{4} = 50; +Transfinite Curve{2} = 50; + +Transfinite Surface{1}; + +Recombine Surface{:}; +Mesh 2; + + +Physical Surface("Specimen",1) = {1}; + +Physical Curve("Top-BC",2) = {3}; +Physical Curve("Mid-BC",3) = {4}; +Physical Curve("Btm-BC",4) = {1}; + +Save Str(filename); +Exit; diff --git a/dependencies/mooseherder/scripts/moose-mech_mod-vars.i b/dependencies/mooseherder/scripts/moose-mech_mod-vars.i new file mode 100644 index 00000000..46fa6efa --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-mech_mod-vars.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 40 # Testing comments in the variables block +e_modulus = 3300000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-creep-gmsh.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-creep-gmsh.i new file mode 100644 index 00000000..929abe20 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-creep-gmsh.i @@ -0,0 +1,182 @@ +# +# This test is Example 2 from "A Consistent Formulation for the Integration +# of Combined Plasticity and Creep" by P. Duxbury, et al., Int J Numerical +# Methods in Engineering, Vol. 37, pp. 1277-1295, 1994. +# +# The problem is a one-dimensional bar which is loaded from yield to a value of twice +# the initial yield stress and then unloaded to return to the original stress. The +# bar must harden to the required yield stress during the load ramp, with no +# further yielding during unloading. The initial yield stress (sigma_0) is prescribed +# as 20 with a plastic strain hardening of 100. The mesh is a 1x1x1 cube with symmetry +# boundary conditions on three planes to provide a uniaxial stress field. +# +# In the PowerLawCreep model, the creep strain rate is defined by: +# +# edot = A(sigma)**n * exp(-Q/(RT)) * t**m +# +# The creep law specified in the paper, however, defines the creep strain rate as: +# +# edot = Ao * mo * (sigma)**n * t**(mo-1) +# with the creep parameters given by +# Ao = 1e-7 +# mo = 0.5 +# n = 5 +# +# thus, input parameters for the test were specified as: +# A = Ao * mo = 1e-7 * 0.5 = 0.5e-7 +# m = mo-1 = -0.5 +# n = 5 +# Q = 0 +# +# The variation of load P with time is: +# P = 20 + 20t 0 < t < 1 +# P = 40 - 40(t-1) 1 < t 1.5 +# +# The analytic solution for total strain during the loading period 0 < t < 1 is: +# +# e_tot = (sigma_0 + 20*t)/E + 0.2*t + A * t**0.5 * sigma_0**n * [ 1 + (5/3)*t + +# + 2*t**2 + (10/7)*t**3 + (5/9)**t**4 + (1/11)*t**5 ] +# +# and during the unloading period 1 < t < 1.5: +# +# e_tot = (sigma_1 - 40*(t-1))/E + 0.2 + (4672/693) * A * sigma_0**n + +# A * sigma_0**n * [ t**0.5 * ( 32 - (80/3)*t + 16*t**2 - (40/7)*t**3 +# + (10/9)*t**4 - (1/11)*t**5 ) - (11531/693) ] +# +# where sigma_1 is the stress at time t = 1. +# +# Assuming a Young's modulus (E) of 1000 and using the parameters defined above: +# +# e_tot(1) = 2.39734 +# e_tot(1.5) = 3.16813 +# +# +# The numerically computed solution is: +# +# e_tot(1) = 2.39718 (~0.006% error) +# e_tot(1.5) = 3.15555 (~0.40% error) +# +[GlobalParams] + displacements = 'disp_x disp_y disp_z' + [] + + [Mesh] + type = FileMesh + file = 'test_mesh.msh' + [] + + [Modules/TensorMechanics/Master] + [./all] + strain = FINITE + incremental = true + add_variables = true + generate_output = 'stress_yy elastic_strain_yy creep_strain_yy plastic_strain_yy' + [../] + [] + + [Functions] + [./top_pull] + type = PiecewiseLinear + x = ' 0 1 1.5' + y = '-20 -40 -20' + [../] + + [./dts] + type = PiecewiseLinear + x = '0 0.5 1.0 1.5' + y = '0.015 0.015 0.005 0.005' + [../] + [] + + [BCs] + [./u_top_pull] + type = Pressure + variable = disp_y + boundary = Top-BC + factor = 0.2 + function = top_pull + [../] + [./u_bottom_fix] + type = DirichletBC + variable = disp_y + boundary = Btm-BC + value = 0.0 + [../] + [./u_yz_fix] + type = DirichletBC + variable = disp_x + boundary = Mid-BC + value = 0.0 + [../] + [./u_xy_fix] + type = DirichletBC + variable = disp_z + boundary = Bck-BC + value = 0.0 + [../] + [] + + [Materials] + [./elasticity_tensor] + type = ComputeIsotropicElasticityTensor + #block = 1 + youngs_modulus = 1e3 + poissons_ratio = 0.3 + [../] + [./creep_plas] + type = ComputeMultipleInelasticStress + #block = 1 + tangent_operator = elastic + inelastic_models = 'creep plas' + max_iterations = 50 + absolute_tolerance = 1e-05 + combined_inelastic_strain_weights = '0.0 1.0' + [../] + [./creep] + type = PowerLawCreepStressUpdate + #block = 0 + coefficient = 0.5e-7 + n_exponent = 5 + m_exponent = -0.5 + activation_energy = 0 + [../] + [./plas] + type = IsotropicPlasticityStressUpdate + #block = 0 + hardening_constant = 100 + yield_stress = 20 + [../] + [] + + [Executioner] + type = Transient + + #Preconditioned JFNK (default) + solve_type = 'PJFNK' + + petsc_options = '-snes_ksp' + petsc_options_iname = '-ksp_gmres_restart' + petsc_options_value = '101' + + line_search = 'none' + + l_max_its = 20 + nl_max_its = 6 + nl_rel_tol = 1e-6 + nl_abs_tol = 1e-7 + l_tol = 1e-5 + l_abs_tol = 1E-7 + start_time = 0.0 + end_time = 1.5 + + [./TimeStepper] + type = FunctionDT + function = dts + [../] + [] + + [Outputs] + exodus = true + [] + + diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o1.i new file mode 100644 index 00000000..1462059e --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o1.i @@ -0,0 +1,82 @@ +#_* Variables +n_elem_x = 40 +n_elem_y = 20 +e_modulus = 1e9 +p_ratio = 0.3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = QUAD4 + # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo0.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo0.i new file mode 100644 index 00000000..f962bd08 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo0.i @@ -0,0 +1,85 @@ +#_* Variables +n_elem_x = 40 +n_elem_y = 20 +e_modulus = 1e9 +p_ratio = 0.3 + +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = QUAD8 + # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + material_output_family = MONOMIAL # MONOMIAL, LAGRANGE + material_output_order = CONSTANT # CONSTANT, FIRST, SECOND, + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo1.i new file mode 100644 index 00000000..8a852f35 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo1.i @@ -0,0 +1,85 @@ +#_* Variables +n_elem_x = 40 +n_elem_y = 20 +e_modulus = 1e9 +p_ratio = 0.3 + +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = QUAD8 + # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + material_output_family = MONOMIAL # MONOMIAL, LAGRANGE + material_output_order = FIRST # CONSTANT, FIRST, SECOND, + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo2.i new file mode 100644 index 00000000..4409d0aa --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo2.i @@ -0,0 +1,85 @@ +#_* Variables +n_elem_x = 40 +n_elem_y = 20 +e_modulus = 1e9 +p_ratio = 0.3 + +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = QUAD8 + # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + material_output_family = MONOMIAL # MONOMIAL, LAGRANGE + material_output_order = SECOND # CONSTANT, FIRST, SECOND, + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2.i new file mode 100644 index 00000000..ced3c313 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2.i @@ -0,0 +1,83 @@ +#_* Variables +n_elem_x = 40 +n_elem_y = 20 +e_modulus = 1e9 +p_ratio = 0.3 + +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = QUAD8 + # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o1.i new file mode 100644 index 00000000..82f7bf4d --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o1.i @@ -0,0 +1,92 @@ +#_* Variables +n_elem_x = 20 +n_elem_y = 10 +n_elem_z = 10 +e_modulus = 1e9 +p_ratio = 0.3 + +#** + +[GlobalParams] + displacements = 'disp_x disp_y disp_z' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 3 + nx = ${n_elem_x} + ny = ${n_elem_y} + nz = ${n_elem_z} + xmax = 2 + ymax = 1 + zmax = 1 + elem_type = HEX8 + # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [bottom_z] + type = DirichletBC + variable = disp_z + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = -1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2-moo2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2-moo2.i new file mode 100644 index 00000000..36613b31 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2-moo2.i @@ -0,0 +1,94 @@ +#_* Variables +n_elem_x = 20 +n_elem_y = 10 +n_elem_z = 10 +e_modulus = 1e9 +p_ratio = 0.3 + +#** + +[GlobalParams] + displacements = 'disp_x disp_y disp_z' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 3 + nx = ${n_elem_x} + ny = ${n_elem_y} + nz = ${n_elem_z} + xmax = 2 + ymax = 1 + zmax = 1 + elem_type = HEX20 + # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + material_output_family = MONOMIAL # MONOMIAL, LAGRANGE + material_output_order = SECOND # CONSTANT, FIRST, SECOND, + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [bottom_z] + type = DirichletBC + variable = disp_z + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = -1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2.i new file mode 100644 index 00000000..a5f8c760 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2.i @@ -0,0 +1,92 @@ +#_* Variables +n_elem_x = 20 +n_elem_y = 10 +n_elem_z = 10 +e_modulus = 1e9 +p_ratio = 0.3 + +#** + +[GlobalParams] + displacements = 'disp_x disp_y disp_z' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 3 + nx = ${n_elem_x} + ny = ${n_elem_y} + nz = ${n_elem_z} + xmax = 2 + ymax = 1 + zmax = 1 + elem_type = HEX20 + # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [bottom_z] + type = DirichletBC + variable = disp_z + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = -1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-sub-dom.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-sub-dom.i new file mode 100644 index 00000000..7d9aec00 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-sub-dom.i @@ -0,0 +1,94 @@ +# +# Added subdomains and subdomain-specific properties +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html +# + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 40 + ny = 20 + xmax = 2 + ymax = 1 + [] + + # assign two subdomains + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '0 0 0' + top_right = '1 1 0' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '1 0 0' + top_right = '2 1 0' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity1] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + block = 1 + [] + [elasticity2] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 5e8 + poissons_ratio = 0.3 + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = NEWTON + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o1.i new file mode 100644 index 00000000..3c6397cf --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o1.i @@ -0,0 +1,95 @@ +# +# Added subdomains and subdomain-specific properties +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html +# + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 40 + ny = 20 + xmax = 2 + ymax = 1 + elem_type = QUAD4 + [] + + # assign two subdomains + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '0 0 0' + top_right = '1 1 0' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '1 0 0' + top_right = '2 1 0' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity1] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + block = 1 + [] + [elasticity2] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 5e8 + poissons_ratio = 0.3 + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo0.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo0.i new file mode 100644 index 00000000..c10034a6 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo0.i @@ -0,0 +1,97 @@ +# +# Added subdomains and subdomain-specific properties +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html +# + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 40 + ny = 20 + xmax = 2 + ymax = 1 + elem_type = QUAD8 + [] + + # assign two subdomains + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '0 0 0' + top_right = '1 1 0' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '1 0 0' + top_right = '2 1 0' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + material_output_family = MONOMIAL # MONOMIAL, LAGRANGE + material_output_order = CONSTANT # CONSTANT, FIRST, SECOND, + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity1] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + block = 1 + [] + [elasticity2] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 5e8 + poissons_ratio = 0.3 + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo1.i new file mode 100644 index 00000000..7682f70b --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo1.i @@ -0,0 +1,97 @@ +# +# Added subdomains and subdomain-specific properties +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html +# + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 40 + ny = 20 + xmax = 2 + ymax = 1 + elem_type = QUAD8 + [] + + # assign two subdomains + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '0 0 0' + top_right = '1 1 0' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '1 0 0' + top_right = '2 1 0' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + material_output_family = MONOMIAL # MONOMIAL, LAGRANGE + material_output_order = FIRST # CONSTANT, FIRST, SECOND, + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity1] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + block = 1 + [] + [elasticity2] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 5e8 + poissons_ratio = 0.3 + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo2.i new file mode 100644 index 00000000..e7b4b574 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo2.i @@ -0,0 +1,97 @@ +# +# Added subdomains and subdomain-specific properties +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html +# + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 40 + ny = 20 + xmax = 2 + ymax = 1 + elem_type = QUAD8 + [] + + # assign two subdomains + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '0 0 0' + top_right = '1 1 0' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '1 0 0' + top_right = '2 1 0' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + material_output_family = MONOMIAL # MONOMIAL, LAGRANGE + material_output_order = SECOND # CONSTANT, FIRST, SECOND, + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity1] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + block = 1 + [] + [elasticity2] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 5e8 + poissons_ratio = 0.3 + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2.i new file mode 100644 index 00000000..7ea848aa --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2.i @@ -0,0 +1,95 @@ +# +# Added subdomains and subdomain-specific properties +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html +# + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 40 + ny = 20 + xmax = 2 + ymax = 1 + elem_type = QUAD8 + [] + + # assign two subdomains + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '0 0 0' + top_right = '1 1 0' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '1 0 0' + top_right = '2 1 0' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity1] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + block = 1 + [] + [elasticity2] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 5e8 + poissons_ratio = 0.3 + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o1.i new file mode 100644 index 00000000..6143d8a4 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o1.i @@ -0,0 +1,103 @@ +# +# Added subdomains and subdomain-specific properties +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html +# + +[GlobalParams] + displacements = 'disp_x disp_y disp_z' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 3 + nx = 20 + ny = 10 + nz = 5 + xmax = 2 + ymax = 1 + zmax = 1 + elem_type = HEX8 + [] + + # assign two subdomains + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '0 0 0' + top_right = '1 1 1' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '1 0 0' + top_right = '2 1 1' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [bottom_z] + type = DirichletBC + variable = disp_z + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity1] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + block = 1 + [] + [elasticity2] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 5e8 + poissons_ratio = 0.3 + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o2.i new file mode 100644 index 00000000..5750233e --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o2.i @@ -0,0 +1,103 @@ +# +# Added subdomains and subdomain-specific properties +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html +# + +[GlobalParams] + displacements = 'disp_x disp_y disp_z' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 3 + nx = 20 + ny = 10 + nz = 5 + xmax = 2 + ymax = 1 + zmax = 1 + elem_type = HEX20 + [] + + # assign two subdomains + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '0 0 0' + top_right = '1 1 1' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '1 0 0' + top_right = '2 1 1' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [bottom_z] + type = DirichletBC + variable = disp_z + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity1] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + block = 1 + [] + [elasticity2] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 5e8 + poissons_ratio = 0.3 + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-thermal-exp.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-thermal-exp.i new file mode 100644 index 00000000..7e690b02 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-thermal-exp.i @@ -0,0 +1,119 @@ +# +# Added subdomains and subdomain-specific properties +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html +# + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 10 + ny = 20 + xmin = -0.25 + xmax = 0.25 + ymax = 5 + [] + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '-0.25 0 0' + top_right = '0 5 0' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '0 0 0' + top_right = '0.25 5 0' + [] + + # select a single node in the center of the bottom boundary + [pin] + type = ExtraNodesetGenerator + input = block2 + new_boundary = pin + coord = '0 0 0' + [] +[] + +[AuxVariables] + [T] + [] +[] + +[AuxKernels] + [temperature_ramp] + type = FunctionAux + execute_on = TIMESTEP_BEGIN + variable = T + function = 300+5*t + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + automatic_eigenstrain_names = true + generate_output = 'vonmises_stress' + [] +[] + +[BCs] + [pin_x] + type = DirichletBC + variable = disp_x + boundary = pin + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + [] + [expansion1] + type = ComputeThermalExpansionEigenstrain + temperature = T + thermal_expansion_coeff = 0.001 + stress_free_temperature = 300 + eigenstrain_name = thermal_expansion + block = 1 + [] + [expansion2] + type = ComputeThermalExpansionEigenstrain + temperature = T + thermal_expansion_coeff = 0.002 + stress_free_temperature = 300 + eigenstrain_name = thermal_expansion + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = NEWTON + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-two-beams.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-two-beams.i new file mode 100644 index 00000000..e1f27114 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-two-beams.i @@ -0,0 +1,107 @@ +# +# Multiple submesh setup with two cantilevers side by side +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step04.html +# + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated1] + type = GeneratedMeshGenerator + dim = 2 + nx = 10 + ny = 100 + xmin = -0.6 + xmax = -0.1 + ymax = 5 + #bias_y = 0.9 + boundary_name_prefix = pillar1 + [] + [generated2] + type = GeneratedMeshGenerator + dim = 2 + nx = 10 + ny = 100 + xmin = 0.1 + xmax = 0.6 + ymax = 5 + #bias_y = 0.9 + boundary_name_prefix = pillar2 + boundary_id_offset = 4 + [] + [collect_meshes] + type = MeshCollectionGenerator + inputs = 'generated1 generated2' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + strain = FINITE + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz strain_xy' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = 'pillar1_bottom pillar2_bottom' + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = 'pillar1_bottom pillar2_bottom' + value = 0 + [] + [Pressure] + [sides] + boundary = 'pillar1_left pillar2_right' + function = 1e4*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + [] + # we anticipate large deformation + [stress] + type = ComputeFiniteStrainElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = NEWTON + line_search = none + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 0.5 + [Predictor] + type = SimplePredictor + scale = 1 + [] +[] + +[Postprocessors] + [max] + type = NodalExtremeValue + variable = disp_x + value_type = max + [] +[] + +[Outputs] + exodus = true + csv = true + perf_graph = false +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose/moose-mech-gmsh.i b/dependencies/mooseherder/scripts/moose/moose-mech-gmsh.i new file mode 100644 index 00000000..b6dd5443 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose/moose-mech-gmsh.i @@ -0,0 +1,73 @@ +#_* Variables +e_modulus = 1e9 +p_ratio = 0.3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + type = FileMesh + file = 'mesh_tens_spline_2d.msh' +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [./u_top_pull] + type = Pressure + variable = disp_y + boundary = Top-BC + function = -1e7*t + [../] + [./u_bottom_fix] + type = DirichletBC + variable = disp_y + boundary = Btm-BC + value = 0.0 + [../] + [./u_yz_fix] + type = DirichletBC + variable = disp_x + boundary = Mid-BC + value = 0.0 + [../] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + #type = ComputeFiniteStrainElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = 2 + dt = 1 +[] + + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose/moose-mech-outtest.i b/dependencies/mooseherder/scripts/moose/moose-mech-outtest.i new file mode 100644 index 00000000..ea705aff --- /dev/null +++ b/dependencies/mooseherder/scripts/moose/moose-mech-outtest.i @@ -0,0 +1,115 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1e9 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress stress_yy stress_xx stress_xy strain_xx strain_yy strain_xy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + #exodus = true + [./out] + type = Exodus + elemental_as_nodal = true + [../] + csv = true +[] + +[Postprocessors] + [./react_y] + type = SidesetReaction + direction = '0 1 0' + stress_tensor = stress + boundary = 'bottom' + [../] + [./max_y_disp] + type = NodalExtremeValue + variable = disp_y + [../] + [./max_yy_stress] + type = ElementExtremeValue + variable = stress_yy + [../] + [./avg_yy_stress] + type = ElementAverageValue + variable = stress_yy + [../] +[] + + diff --git a/dependencies/mooseherder/scripts/moose/moose-mech-simple.i b/dependencies/mooseherder/scripts/moose/moose-mech-simple.i new file mode 100644 index 00000000..079a7293 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose/moose-mech-simple.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1e9 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/src/mooseherder/__init__.py b/dependencies/mooseherder/src/mooseherder/__init__.py new file mode 100644 index 00000000..83b304f7 --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/__init__.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +""" +MOOSE Herder +""" + +from mooseherder.inputmodifier import InputModifier +from mooseherder.simrunner import SimRunner +from mooseherder.mooserunner import MooseRunner +from mooseherder.gmshrunner import GmshRunner +from mooseherder.exodusreader import ExodusReader +from mooseherder.mooseherd import MooseHerd +from mooseherder.directorymanager import DirectoryManager +from mooseherder.sweepreader import SweepReader +from mooseherder.simdata import SimData +from mooseherder.simdata import SimReadConfig +from mooseherder.mooseconfig import MooseConfig + + +__all__ = ["inputmodifier", + "simrunner", + "mooserunner", + "gmshrunner", + "exodusreader", + "mooseherd", + "directorymanager", + "sweepreader", + "simdata", + "mooseconfig"] diff --git a/dependencies/mooseherder/src/mooseherder/directorymanager.py b/dependencies/mooseherder/src/mooseherder/directorymanager.py new file mode 100644 index 00000000..0f8fffe3 --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/directorymanager.py @@ -0,0 +1,302 @@ +''' +=============================================================================== +Directory Manager Class + +Authors: Lloyd Fletcher +=============================================================================== +''' + +import os +import shutil +import json +from pathlib import Path + +class DirectoryManager: + """ Manages directories for running simulations in parallel with the + mooseherd. + """ + def __init__(self, n_dirs: int = 1) -> None: + """__init__ + + Args: + n_dirs (int, optional): number of directories to be created. + Defaults to 1. + """ + self._n_dirs = n_dirs + self._sub_dir = 'sim-workdir' + self._base_dir = Path().cwd() + self._run_dirs = self._set_run_dirs() + self._output_paths = list([]) + self._output_key_tag = 'output-key' + self._sweep_var_tag = 'sweep-vars' + + + def _set_run_dirs(self) -> list[Path]: + """_set_run_dirs: helper function that populates the list of + directories that will be created by the manager. Uses the base directory + at the start of the path and then creates numbered sub-directory paths + based on the sub directory name and number of directories specified. + + Returns: + list[Path]: + """ + run_dirs = list([]) + for nn in range(self._n_dirs): # type: ignore + run_dirs.append(self._base_dir / (self._sub_dir + '-' + str(nn+1))) + + return run_dirs + + + def set_sub_dir_name(self, sub_dir_name: str) -> None: + """set_sub_dir_name: used to set the string used at the start of the + created sub-directores. default on creation is 'sim-workdir'. Populates + the list of run directories using the new sub directory name. + + Args: + sub_dir_name (str): string to be used to name the created + sub-directories within the base directory. + """ + self._sub_dir = sub_dir_name + self._run_dirs = self._set_run_dirs() + + + def set_base_dir(self, base_dir: Path, clear_old_dirs = False) -> None: + """set_base_dir: sets the base directory to create sub-directors for + running the simulations. The base directory must exist. + + Args: + base_dir (Path): directory in which the new working directories will + be created. + clear_old_dirs (bool, optional): deletes previous directories in + the base directory and their contents if they exist. Defaults + to False. + + Raises: + FileExistsError: the selected base directory does no exist. + """ + if not base_dir.is_dir(): + raise FileExistsError("Specified base directory does not exist.") + + if clear_old_dirs: + self.clear_dirs() + + self._base_dir = base_dir + self._run_dirs = self._set_run_dirs() + + + def get_output_key_tag(self) -> str: + """get_output_key_tag: returns the string used to name the output + key files that map the simulation outputs to the various directories + that are being managed. + + Returns: + str: common string used to name the output key json files. + """ + return self._output_key_tag + + + def get_sweep_var_tag(self) -> str: + """get_sweep_var_tag: returns ths string used to name the sweep + variable json file that contains a copy of the dictionary the user + provided as part of the parameter sweep. + + Returns: + str: common string used to name the sweep variable json files. + """ + return self._sweep_var_tag + + + def create_dirs(self) -> list[Path]: + """create_dirs: Creates the specified number of directories based on + the sub_dir name within the base directory. + + Returns: + list[Path]: list of paths to the directories to create. + """ + for rr in self._run_dirs: + if not rr.is_dir(): + rr.mkdir() + + return self._run_dirs + + + def clear_dirs(self) -> None: + """clear_dirs: deletes all working directories in the base directory + that have the corresponding sub-directory name and their contents. + """ + all_dirs = os.listdir(self._base_dir) + for dd in all_dirs: + if os.path.isdir(self._base_dir / dd): + if self._sub_dir in dd: + shutil.rmtree(self._base_dir / dd) + + + def get_all_run_dirs(self) -> list[Path]: + """get_all_run_dirs: returns the list of paths to all the directories + that can be used to run simulations. + + Returns: + list[Path]: paths to all created directories. + """ + return self._run_dirs + + + def get_run_dir(self, dir_num: int) -> Path: + """get_run_dir: returns the path to the run directory based on the + input directory number. The directory number can be greater than the + number of managed directories in the run_dirs list in this case the + directory number will wrap and point at an existing run directory + allowing multiple simulations to be run in the same directory. + + Args: + dir_num (int): number of the directory path to be retrieved. Can be + greater than the specified number of directories and will wrap + appropriately + + Returns: + Path: path to the directory + """ + if dir_num < 0: + dir_num = 0 + elif dir_num >= self._n_dirs: + dir_num = dir_num % self._n_dirs + + return self._run_dirs[dir_num] + + + def set_output_paths(self, output_paths: list[list[Path | None]]) -> None: + """set_output_paths: sets the list of lists to the simulation output + based on herder input. + + Args: + output_paths (list[list[Path]]): paths to all outputs from the + variable sweep. Outer list is the variable combination run + inner list is based on the order the simulations were called. + """ + self._output_paths = output_paths + + + def get_output_paths(self) -> list[list[Path | None]]: + """get_output_paths: returns the list of lists to the simulation output + files. + + Returns: + list[list[Path]]: paths to all outputs from the variable sweep. + Outer list is the variable combination run inner list is based + on the order the simulations were called. + """ + return self._output_paths + + + def get_output_key_file(self, sweep_iter: int = 1) -> Path: + """get_output_key_file: gets the path to the output key file created + during the variable sweep mapping directories to given combinations + of variables that were run. + + Args: + sweep_iter (int): number corresponding to the sweep iteration to + retrieve. Defaults to 1. + + Returns: + Path: path to the output key file that maps output paths to the + combinations of variables in the sweep. + """ + return self._run_dirs[0] / f'{self._output_key_tag}-{sweep_iter:d}.json' + + + def write_output_key(self, sweep_iter: int) -> None: + """write_output_key: converts the output paths to strings and saves + them in json format. + + Args: + sweep_iter (int): number corresponing to the sweep iteration to + write. The sweep iteration is used to number the output key + files. + """ + str_output = output_paths_to_str(self._output_paths) + + with open(self.get_output_key_file(sweep_iter), "w", encoding='utf-8') as okf: + json.dump(str_output, okf, indent=4) + + + def get_sweep_var_file(self, sweep_iter: int = 1) -> Path: + """get_sweep_var_file: path to the json file which contains the + dictionary of variables that were analysed at the given sweep iteration + + Args: + sweep_iter (int, optional): Sweep iteration (call number to herd + run_para). Defaults to 1. + + Returns: + Path: path to the json sweep variable file. + """ + return self._run_dirs[0] / f'{self._sweep_var_tag}-{sweep_iter:d}.json' + + + def write_sweep_vars(self, + sweep_vars: list[list[dict | None]], + sweep_iter: int = 1) -> None: + """write_sweep_vars: writes the sweep variable dictionary to a json + file to log the variables used for each simulation. + + Args: + sweep_vars (list[list[dict[str, Any]]]): sweep variables as passed + to the herd to run. + sweep_iter (int, optional): iteration number for number of calls to the + herd. Defaults to 1. + """ + with open(self.get_sweep_var_file(sweep_iter), "w", encoding='utf-8') as okf: + json.dump(sweep_vars, okf, indent=4) + + + +def output_paths_to_str(output_files: list[list[Path | None]] + ) -> list[list[str | None]]: + """output_paths_to_str: helper function for converting the output paths + to strings to allow them to be saved as json. + + Args: + output_files (list[list[Path]]): + + Returns: + list[list[str]]: as input with Path converted to str + """ + str_output = list([]) + for sim_iter in output_files: + iter_output = list([]) + for output_path in sim_iter: + if output_path is None: + iter_output.append(None) + else: + iter_output.append(str(output_path)) + + str_output.append(iter_output) + + return str_output + + +def output_str_to_paths(output_files: list[list[str | None]] + ) -> list[list[Path | None]]: + """output_str_to_paths: helper function to convert strings read from output + key json to paths. + + Args: + output_files (list[list[str]]): output file list of path strings as in + the output key file. + + Returns: + list[list[Path]]: as input with str converted to Path. + """ + str_output = list([]) + + for sim_iter in output_files: + iter_output = list([]) + for output_path in sim_iter: + if output_path is None: + iter_output.append(None) + else: + iter_output.append(Path(output_path)) + + str_output.append(iter_output) + + return str_output diff --git a/dependencies/mooseherder/src/mooseherder/exodusreader.py b/dependencies/mooseherder/src/mooseherder/exodusreader.py new file mode 100644 index 00000000..93f3dbbd --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/exodusreader.py @@ -0,0 +1,590 @@ +""" +=============================================================================== +EXODUS READER +Used to read output *.e from MOOSE simulations. + +There are several different cases that lead to different MOOSE output formats. + +1) Outputs can have 2 or 3 spatial dimensions for nodal DOFs + (e.g. disp_x, disp_y and possibly disp_z) +2) Element output may or may not be present (e.g. stress/strain) + 2.1) Element outputs might appear as nodal variables if + material_output_order = FIRST or greater + 2.2) Element output is split by block if material_output_order = CONSTANT +4) Sub-domains may or may not be present but see 2.1 above for exception + +Authors: Lloyd Fletcher, Rory Spencer +=============================================================================== +""" +from pathlib import Path +import netCDF4 as nc +import numpy as np +from mooseherder.simdata import SimData, SimReadConfig +from mooseherder.outputreader import OutputReader + + +class ExodusReader(OutputReader): + """Class to read exodus files output by MOOSE using the netCDF package. + This class handles extracting the data from the exodus file and creates + a SimData object with the required data. Most used cases are covered with + by creating an ExodusReader and then calling either read_sim_data() or + read_all_sim_data() specified at the bottom of the class. + """ + def __init__(self, output_file: Path) -> None: + """__init__: Construct class by reading the exodus file using the + netCDF package. The exodus file must exist. + + Args: + output_file (Path): path to the exodus file to read + + Raises: + FileNotFoundError: the specified exodus file does not exist + """ + + if not output_file.is_file() and output_file.suffix != '.e': + raise FileNotFoundError('Exodus file not found at specified path') + + self._exodus_path = output_file + self._data = nc.Dataset(str(self._exodus_path)) + + + def get_names(self, key: str | None) -> np.ndarray | None: + """get_names: Extract a list of variable names from the dataset. Useful + for getting node/element/sideset/global variables names. + + Args: + key (str | None): string key used to extract a list of names from + the dataset e.g. 'node_var_names'. If key is None returns None. + + Returns: + np.ndarray | None: numpy array of strings representing the names + that correspond to the variables in the dataset. Returns None + if the specified key does not exist in the dataset. + """ + if key not in self._data.variables or key is None: + return None + + return nc.chartostring(np.array(self._data.variables[key])) + + + def get_var(self, key: str, time_inds: np.ndarray | None = None + ) -> np.ndarray: + """get_var: Extract a numeric variable from the dataset. + + Args: + key (str): key corresponding to the variable in the dataset. e.g. + 'time_whole' + + Returns: + np.ndarray: numpy numeric array containing the variable data. + """ + if key not in self._data.variables: + return np.array([]) + + data = np.array(self._data.variables[key]).T + + if time_inds is None: + return data + + return data[:,time_inds] + + + def get_key(self, + name: str, + all_names: np.ndarray, + key_tag: str) -> str | None: + """get_key: builds the key required to extract a given variable from + the exodus dataset. + + Args: + all_names (np.ndarray): all possible name keys extracted using the + get names function. + name (str): the specific name key that the user wants to extract + key_tag (str): the string tag that is prepended to get the variable + from the dataset. + + Returns: + str | None: the string key in the dataset to get the variable + """ + inds = np.where(all_names == name)[0] + if inds.shape[0] == 0: + return None + + key = f'{key_tag}{inds[0]+1:d}' + return key + + + def get_connectivity_names(self) -> np.ndarray: + """get_connectivity_names: gets the connectivity names in the exodus + dataset. These are of the form 'connect1', 'connect2' etc. + + Returns: + np.ndarray: array of element connectivity keys as strings of the + form connectX where X is an integer of 1 or greater e.g. + connect1. + """ + names = np.array([]) + for bb in range(self.get_num_elem_blocks()): + key = f'connect{bb+1:d}' + if key in self._data.variables: + names = np.append(names,key) + + return names + + + def get_connectivity(self) -> dict[str,np.ndarray]: + """get_connectivity: returns the connectivity table as a dictionary + keyed with the name 'connectX' and the table itseld as numpy array. + + Returns: + dict[str,np.ndarray]: dictionary containing the element + connectivity tables based on keys related to the subdomain e.g. + key 'connect1' returns the element connectivity table for + subdomain 1. The table has dimensions N by n_e where N is the + total number of nodes in the subdomain and n_e is the number + of nodes per element. + """ + connect = dict({}) + for key in self.get_connectivity_names(): + connect[key] = self.get_var(key) + + return connect + + + def get_sideset_names(self) -> np.ndarray | None: + """get_sideset_names: returns the sideset names as a numpy array of + strings. + + Returns: + np.ndarray | None: numpy array of strings corresponding to the + sideset names specified in the simulation. Returns None if no + sideset names are found. + """ + return self.get_names('ss_names') + + + def get_sidesets(self, names: np.ndarray | None + ) -> dict[tuple[str,str], np.ndarray] | None: + """get_sidesets: returns the sidesets as a dictionary keyed by a tuple + of ('sideset_name', 'node' | 'elem'). Gives either the list of node + numbers or element numbers based on the specified key. + + Args: + names (np.ndarray | None): numpy array of strings specifying the + sideset names to extract from the dataset. If None return None. + + Returns: + dict[tuple[str,str], np.ndarray] | None: dictionary of sideset + nodes and element sets by name. The key is a tuple with the + first string being the sideset name and the second being either + 'node' or 'elem'. Returns None if no sidesets found. + """ + all_names = self.get_sideset_names() + + if names is None or all_names is None: + return None + + node_key_tag = 'node_ns' + elem_key_tag = 'elem_ss' + + side_sets = dict({}) + for nn in names: # type: ignore + node_key = self.get_key(nn,all_names,node_key_tag) + elem_key = self.get_key(nn,all_names,elem_key_tag) + + if node_key is None: + side_sets[(nn,'node')] = None + else: + side_sets[(nn,'node')] = self.get_var(node_key) + + if elem_key is None: + side_sets[(nn,'elem')] = None + else: + side_sets[(nn,'elem')] = self.get_var(elem_key) + + return side_sets + + + def get_all_sidesets(self) -> dict[tuple[str,str], np.ndarray] | None: + """get_all_sidesets: returns all sidesets as a dictionary keyed by a tuple + of ('sideset_name', 'node' | 'elem'). Gives either the list of node + numbers or element numbers based on the specified key. + + Returns: + dict[tuple[str,str], np.ndarray] | None: dictionary of sideset + nodes and element sets by name. The key is a tuple with the + first string being the sideset name and the second being either + 'node' or 'elem'. Returns None if no sidesets found. + """ + + return self.get_sidesets(self.get_sideset_names()) + + + def get_node_var_names(self) -> np.ndarray | None: + """get_node_var_names: gets the nodal variable names as a numpy array + of strings e.g. np.array(['disp_x','disp_y']) + + Returns: + np.ndarray | None: numpy array of strings containing the nodal + variable names. Returns None if no nodal variables are found. + """ + return self.get_names('name_nod_var') + + + def get_node_vars(self, + names: np.ndarray | None, + time_inds: np.ndarray | None = None + ) -> dict[str,np.ndarray] | None: + """get_node_vars: gets the specified nodal variables as a dictionary + keyed by the variable name (e.g. 'disp_x') where the nodal variable is + given as a numpy array of dimensions NxT where N is the number of nodes + and T is the number of time steps in the simulation. + + Args: + names (np.ndarray | None): numpy array of strings that are the + variables to be extracted from the exodus dataset. + + Returns: + dict[str,np.ndarray] | None: dictionary of requested nodal + variables. Keys are nodal variable names e.g. 'disp_x' and the + variable data is given as a numpy array. returns None if no + nodal variables are found. + """ + if names is None: + return None + + all_names = self.get_node_var_names() + key_tag = 'vals_nod_var' + vars = dict({}) + + for nn in names: # type: ignore + inds = np.where(all_names == nn)[0] + key = f'{key_tag}{inds[0]+1:d}' + vars[nn] = self.get_var(key,time_inds) + + return vars + + + def get_all_node_vars(self) -> dict[str, np.ndarray] | None: + """get_all_node_vars: as get_node_vars but returns all nodal variables + found in the dataset. Gets all specified nodal variables as a dictionary + keyed by the variable name (e.g. 'disp_x') where the nodal variable is + given as a numpy array of dimensions NxT where N is the number of nodes + and T is the number of time steps in the simulation. + + Returns: + dict[str, np.ndarray] | None: dictionary of requested nodal + variables. Keys are nodal variable names e.g. 'disp_x' and the + variable data is given as a numpy array. returns None if no + nodal variables are found. + """ + return self.get_node_vars(self.get_node_var_names()) + + + def get_elem_var_names(self) -> np.ndarray | None: + """get_elem_var_names: gets the element variable names as a numpy array + of strings if they exist. Note that there are several cases where the + element variables may be interpolated to nodes and stored as nodal data + + Returns: + np.ndarray | None: element variable names as a numpy array of + strings. An example variable name is 'strain_xx'. Returns None + if no element variable names exist in the dataset. + """ + return self.get_names('name_elem_var') + + + def get_num_elem_blocks(self) -> int: + """get_num_elem_blocks: gets the number of element blocks (i.e. + sub-domains) in the simulation. These are used to partition the element + data. + + Returns: + int: number of element blocks/sub-domains in the simulation. + """ + return self.get_names('eb_names').shape[0] # type: ignore + + + def get_elem_var_names_and_blocks(self) -> list[tuple[str,int]] | None: + """get_elem_var_names_and_blocks: returns a list of all possible + combinations of element variables names and block numbers present in + the dataset. + + Returns: + list[tuple[str,int]] | None: list of tuples containing the element + variable names and block numbers. Returns None if there are no + element variable name or element blocks. + """ + if self.get_elem_var_names() is None or self.get_num_elem_blocks() is None: + return None + + blocks = [ii+1 for ii in range(self.get_num_elem_blocks())] # type: ignore + names_blocks = list([]) + + for nn in self.get_elem_var_names(): # type: ignore + for bb in blocks: + names_blocks.append((str(nn),bb)) + + return names_blocks + + + def get_elem_vars(self, + names_blocks: list[tuple[str,int]] | None, + time_inds: np.ndarray | None = None + ) -> dict[tuple[str,int],np.ndarray] | None: + """get_elem_vars: gets the element variables as a dictionary keyed by + tuples which containg the element variable name and the block number. + For example: ('strain_xx',1). The element data is given as a numpy + array with dimensions E_bxT where E_b is the number of element in the + block and T is the number of time steps. + + Args: + names_blocks (list[tuple[str,int]] | None): list of tuples + containing the combination of element variables names and + blocks to be extracted from the dataset. + + Returns: + dict[tuple[str,int],np.ndarray] | None: contains the variables + requested keyed using the input names_blocks with the data + given as a numpy array. + """ + all_names = self.get_elem_var_names() + + if all_names is None or names_blocks is None: + return None + + key_tag = 'vals_elem_var' + + vars = dict({}) + for nn in names_blocks: + key = self.get_key(nn[0],all_names,key_tag) + f'eb{nn[1]:d}' # type: ignore + vars[nn] = self.get_var(key,time_inds) + + return vars + + + def get_all_elem_vars(self) -> dict[tuple[str,int], np.ndarray] | None: + """get_all_elem_vars: gets all element variables as a dictionary keyed by + tuples which containg the element variable name and the block number. + For example: ('strain_xx',1). The element data is given as a numpy + array with dimensions E_bxT where E_b is the number of element in the + block and T is the number of time steps. + + + Returns: + dict[tuple[str,int], np.ndarray] | None: contains the variables + requested keyed using the input names_blocks with the data + given as a numpy array. + """ + + return self.get_elem_vars(self.get_elem_var_names_and_blocks()) + + + def get_glob_var_names(self) -> np.ndarray | None: + """get_glob_var_names: gets the names of all global variables in the + dataset. Global variables include the output of all MOOSE post- + processors. + + Returns: + np.ndarray | None: numpy array containing the global variable + names as strings. + """ + return self.get_names('name_glo_var') + + + def get_glob_vars(self, + names: np.ndarray | None, + time_inds: np.ndarray | None = None + ) -> dict[str, np.ndarray] | None: + """get_glob_vars: gets the specified global variables as a dictionary + keyed by the variable name specified in the MOOSE input file. The data + is given as a numpy array of T dimensions where T is the number of time + steps. + + Args: + names (np.ndarray | None): numpy array of strings specifying the + global variable names to extract from the dataset. If this is + None then return None. + + Returns: + dict[str, np.ndarray] | None: dictionary keyed with the global + variable names requested giving the data as a numpy array. + """ + all_names = self.get_glob_var_names() + + if all_names is None or names is None: + return None + + key = 'vals_glo_var' + + glob_vars = dict({}) + for nn in names: # type: ignore + inds = np.where(all_names == nn)[0] + if time_inds is None: + glob_vars[nn] = np.array(self._data.variables[key][:,inds[0]]) + else: + data = np.array(self._data.variables[key][:,inds[0]]) + data = data[time_inds] + glob_vars[nn] = data + + return glob_vars + + + def get_all_glob_vars(self) -> dict[str, np.ndarray] | None: + """get_all_glob_vars: gets all global variables as a dictionary + keyed by the variable name specified in the MOOSE input file. The data + is given as a numpy array of T dimensions where T is the number of time + steps. + + Returns: + dict[str, np.ndarray] | None: dictionary keyed with all global + variable names giving the data as numpy arrays. + """ + return self.get_glob_vars(self.get_glob_var_names()) + + + def get_coords(self) -> tuple[np.ndarray,int]: + """Gets the nodal coordinates in each spatial dimension setting any + undefined dimensions to zeros. + + Raises: + RuntimeError: no spatial dimensions found. + + Returns: + np.array: returns the nodal coordinates as an array with shape + (N,3) where N is the number of nodes and the three columns + are the (x,y,z) spatial dimensions. + """ + # If the problem is not 3D any of these could not exist + x = self.get_var('coordx') + y = self.get_var('coordy') + z = self.get_var('coordz') + + # Problem has to be at least 1D in space if not raise an error + num_coords = np.max(np.array([x.shape[0],y.shape[0],z.shape[0]])) + if num_coords == 0: + raise RuntimeError("No spatial coordinate dimensions detected, problem must be at least 1D.") + + # Any dimensions that do not exist are assumed to be zeros + x = self._expand_coord(x,num_coords) + y = self._expand_coord(y,num_coords) + z = self._expand_coord(z,num_coords) + + return (np.vstack((x,y,z)).T,num_coords) + + + def _expand_coord(self, coord: np.ndarray, dim: int) -> np.ndarray: + """Helper function to create an array of zeros to pad any spatial + dimensions that are not defined for the simulation. + + Args: + coord (np.array): the coordinate array. + dim (int): the size of the vector of zeros to create if coord is + empty. + + Returns: + np.array: returns a vector of zeros with shape (dim,) if the + input array is empty, otherwise return the input coord array. + """ + if coord.shape[0] == 0: + return np.zeros([dim,]) + + return coord + + + def get_time(self, time_inds: np.ndarray | None = None) -> np.ndarray: + """Get a vector of simulation time steps. + + Returns: + np.array: returns an array with shape (T,) where T is the number + of time steps and the values of the elements are the simulation + time and each time step. + """ + time_steps = np.array([] + ) + if 'time_whole' in self._data.variables: + time_steps = np.array(self._data.variables['time_whole']) + + if time_inds is not None: + time_steps = time_steps[time_inds] + + return time_steps + + + def print_vars(self) -> None: + """Prints all variable strings in the exodus file to console. + """ + for vv in self._data.variables: + print(vv) + + def get_read_config(self) -> SimReadConfig: + """get_read_config: constructs a SimReadConfig object by extracting + all the variable names found in the exodus dataset. Useful for creating + a mostly populated SimReadConfig and removing variables that are + unwanted. + + Returns: + SimReadConfig: data class containing names of variables to be + extracted from the exodus dataset. See mooseherder.simdata. + """ + read_config = SimReadConfig() + + read_config.sidesets = self.get_sideset_names() + read_config.node_vars = self.get_node_var_names() + read_config.elem_vars = self.get_elem_var_names_and_blocks() + read_config.glob_vars = self.get_glob_var_names() + + return read_config + + + def read_sim_data(self, + read_config: SimReadConfig) -> SimData: + """read_sim_data: reads the simulation data based on the specified + SimReadConfig object. + + Args: + read_config (SimReadConfig): data class containing the names of + the variables that are to be extracted from the exodus dataset. + + Returns: + SimData: data class containing data from the simulation. + """ + data = SimData() + + if read_config.time: + data.time = self.get_time(read_config.time_inds) + if read_config.coords: + (data.coords,data.num_spat_dims) = self.get_coords() + if read_config.connect: + data.connect = self.get_connectivity() + + data.side_sets = self.get_sidesets(read_config.sidesets) + + data.node_vars = self.get_node_vars(read_config.node_vars, + read_config.time_inds) + data.elem_vars = self.get_elem_vars(read_config.elem_vars, + read_config.time_inds) + data.glob_vars = self.get_glob_vars(read_config.glob_vars, + read_config.time_inds) + + return data + + + def read_all_sim_data(self) -> SimData: + """read_all_sim_data: gets all simulation data from the exodus dataset. + + Returns: + SimData: data class containing the data from the simulation. + """ + data = SimData() + + data.time = self.get_time() + (data.coords,data.num_spat_dims) = self.get_coords() + data.connect = self.get_connectivity() + data.side_sets = self.get_all_sidesets() + data.node_vars = self.get_all_node_vars() + data.elem_vars = self.get_all_elem_vars() + data.glob_vars = self.get_all_glob_vars() + + return data + diff --git a/dependencies/mooseherder/src/mooseherder/gmshrunner.py b/dependencies/mooseherder/src/mooseherder/gmshrunner.py new file mode 100644 index 00000000..475be2ec --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/gmshrunner.py @@ -0,0 +1,120 @@ +''' +=============================================================================== +Gmsh Runner Class + +Authors: Rory Spencer, Lloyd Fletcher +=============================================================================== +''' +import os +import subprocess +from pathlib import Path +from mooseherder.simrunner import SimRunner + +class GmshRunner(SimRunner): + """Used to call gmsh to create a mesh file to be used to run a finite + element simulation. Implements the SimRunner abstract interface so that it + can be used by the herd. + """ + def __init__(self, gmsh_app: Path | None = None): + """Create a gmsh runner with path to the gmsh app. + + Args: + gmsh_app (Path, optional): full path to the gmsh app. Defaults to None. + """ + if gmsh_app is None: + self._gmsh_app = None + else: + self.set_gmsh_app(gmsh_app) + + self._input_path = None + self._arg_list = [] + + def set_gmsh_app(self, gmsh_app: Path) -> None: # type: ignore + """Sets path to the gmsh app. + + Args: + gmsh_app (str): full path to the gmsh app. + + Raises: + FileNotFoundError: gmsh app does not exist at the specified path. + """ + if not gmsh_app.exists(): + raise FileNotFoundError('Gmsh app not found at given path.') + + self._gmsh_app = gmsh_app + + + def get_input_file(self) -> Path | None: + """get_input_path: the path to the input file to run gmsh with. + + Returns: + Path | None: path to the gmsh *.geo file. + """ + return self._input_path + + + def set_input_file(self, input_path: Path) -> None: + """Sets the input geo file for gmsh. + + Args: + input_file (str): Full path + + Raises: + FileNotFoundError: Not a .geo file + FileNotFoundError: Geo file does not exist + """ + if input_path.suffix != '.geo': + raise FileNotFoundError('Incorrect file type. Must be *.geo.') + + if not input_path.exists(): + raise FileNotFoundError('Specified gmsh geo file does not exist.') + + self._input_path = input_path + + + def run(self, input_file: Path | None = None, parse_only: bool = True) -> None: + """Run the geo file to create the mesh. + + Args: + input_file (str, optional): Path to the .geo file containing the input. + Can also be preset using set_input_file. Defaults to "" and ises + the input file specified using set_input_file. + + Raises: + RuntimeError: the path to the gmsh app is empty and must be + specified first. + RuntimeError: the input file string is empty and must be specified + first. + """ + if input_file is not None: + self.set_input_file(input_file) + + if self._gmsh_app is None: + raise RuntimeError("Specify the full path to the gmsh app before calling run.") + + if self._input_path is None: + raise RuntimeError("Specify input *.geo file before running gmsh.") + + arg_list = [str(self._gmsh_app)] + if parse_only is True: + arg_list = arg_list+["-parse_and_exit"] + + self._arg_list = arg_list + [str(self._input_path)] + + print(f'arg_list={self._arg_list}') + + subprocess.run(self._arg_list, + shell=False, + check=False) + + + def get_output_path(self) -> Path | None: + """get_output_path: default return None for gmsh as there is no output + to be read after the simulation has run. This information is stored in + the exodus. + + Returns: + Path | None: Default returns None. + """ + return None + diff --git a/dependencies/mooseherder/src/mooseherder/inputmodifier.py b/dependencies/mooseherder/src/mooseherder/inputmodifier.py new file mode 100644 index 00000000..c14b44dd --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/inputmodifier.py @@ -0,0 +1,197 @@ +""" +=============================================================================== +InputModifier Class + +Authors: Lloyd Fletcher, Rory Spencer +=============================================================================== +""" +from pathlib import Path + + +class InputModifier: + """ + Class to modify variables in generic text-based input files. + + Once variables have been modified by the user by passing in a dictionary of + new variables the input can be written to file. + + Variable definition blocks should begin #comment character#* and end + #comment character#**, e.g. //_* and //** for gmsh or #_* and #** for + moose. + """ + + def __init__( + self, + input_file: Path, + comment_char="#", + end_char="", + var_start="_*", + var_end="**", + ) -> None: + """Initialise the class by reading in the input file. Find and read + any variables that are at the top of the file. Default comment_char + and end_char are set based on reading MOOSE *.i files. + + Args: + input_file (str): Path to the input text file. + comment_char (str): character(s) describing what a comment look + like in the file. + end_char (str): character (if any) that ends a line, i.e. ; for gmsh + var_start (str): character sequence used to specify the start of + the variable block to edit. + var_end (str): character sequence used to specify the end of the + variabled block to edit. + """ + self._vars = dict({}) + self._input_file = input_file + + with open(self._input_file, "r", encoding="utf-8") as in_file: + self._input_lines = in_file.readlines() + + self._comment_char = comment_char + self._end_char = end_char + + self._var_start_str = var_start + self._var_end_str = var_end + + self._var_start_ind = 0 + self._var_end_ind = -1 + + self.find_vars() + self.read_vars() + + def _extract_var_str(self, var_line: str) -> tuple[str, str | float | int, str]: + """Helper function to split a string from the input file variable block + into the variable key, the variable value and any remaining comment. + + Args: + var_line (str): line from the input file to process + + Returns: + [str,str/float,str]: returns a three element list. The first element + is the variable key, the second is the variable value as a float + or string, the third is any comment string remaining. + """ + + extract_var = var_line.strip() + extract_var = extract_var.replace(self._end_char, "") + extract_var = extract_var.split(self._comment_char)[0] # Remove trailing comments should they exist + + var_key = "" + var_val = "" + if extract_var and extract_var.find("=") >= 0: + var_str = extract_var.split("=", 1)[1] + var_str = var_str.strip() + try: + var_val = float(var_str) + if var_val.is_integer(): + var_val = int(var_val) + except ValueError: + var_val = var_str + + var_key = extract_var.split("=", 1)[0].strip() + + if len(var_line.split(self._comment_char)) > 1: + com_loc = var_line.find(self._comment_char) + comment_str = var_line[com_loc + len(self._comment_char) :] + else: + comment_str = "" + + return (var_key, var_val, comment_str) + + + def read_vars(self) -> None: + """Reads the variables in the file""" + for ss in self._input_lines[self._var_start_ind + 1 : self._var_end_ind]: + [var_key, var_val, _] = self._extract_var_str(ss) + if len(var_key) != 0: + self._vars[var_key] = var_val + + + def find_vars(self) -> None: + """Find what lines the variables are defined on.""" + + # TODO: this needs to be made more robust to multiple occurences of variable block characters. + # Also need to handle cases when the start and end block characters are the same + + start_string = self._comment_char + self._var_start_str + end_string = self._comment_char + self._var_end_str + + start_found = False + for ii, ll in enumerate(self._input_lines): + if start_string in ll and (not start_found): + self._var_start_ind = ii + start_found = True + if end_string in ll: + self._var_end_ind = ii + break + + + def update_vars(self, new_vars: dict) -> None: + """Updates the variable dictionary that will be written to the input + file. + + Args: + new_vars (dict): new variables to be written to the input file. + The keys must exist within the dictionary of variables + extracted from the input file. Only the variables to be edited + need to be present. + """ + for kk in new_vars: + if kk in self._vars: + self._vars[kk] = new_vars[kk] + else: + raise KeyError( + f"Key {kk} does not exist in the variables found in the input file. " + + "Check input file to make sure the variable exists." + ) + + + def write_file(self, input_write_file: Path) -> None: + """Write the input file using the current variable dictionary. + + Args: + input_write_file (str): Path to where the file should be written. + """ + var_block = self._input_lines[self._var_start_ind + 1 : self._var_end_ind] + + for ii, ll in enumerate(var_block): + [var_key, _, com_str] = self._extract_var_str(ll) + if (len(var_key) != 0) and (var_key in self._vars): + if len(com_str) == 0: + var_line = f"{var_key} = {self._vars[var_key]}{self._end_char}\n" + else: + # NOTE: comment string includes the new line character already + var_line = f"{var_key} = {self._vars[var_key]}{self._end_char} {self._comment_char}{com_str}" + line_ind = ii + self._var_start_ind + 1 + self._input_lines[line_ind] = var_line + + with open(input_write_file, "w", encoding="utf-8") as out_file: + out_file.writelines(self._input_lines) + + + def get_vars(self) -> dict: + """Gets the variables found in the file. + + Returns: + dict: keys are variable strings and values are variable values. + """ + return self._vars + + + def get_var_keys(self) -> list[str]: + """Gets a list of variable names found in the input file. + + Returns: + list[str]: list of variables name as strings + """ + return list(self._vars.keys()) + + + def get_input_file(self) -> Path: + """Gets the path and input file name. + + Returns: + Path: path and input file name. + """ + return self._input_file diff --git a/dependencies/mooseherder/src/mooseherder/mooseconfig.py b/dependencies/mooseherder/src/mooseherder/mooseconfig.py new file mode 100644 index 00000000..f8d3ae4e --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/mooseconfig.py @@ -0,0 +1,175 @@ + +''' +=============================================================================== +MOOSE Config Class + +Authors: Lloyd Fletcher +=============================================================================== +''' +from typing import Self +import json +from pathlib import Path + + +class MooseConfig: + """ Moose configuration class that handles 1) the path to the main moose + build, 2) the path to the moose app, and 3) the name of the app to be used + to construct the command string. These are stored as a dictionary keyed + with 'main_path', 'app_path' and 'app_name'. This class can also write and + read json files containing the moose config. + """ + def __init__(self, config: dict[str,Path | str] | None = None) -> None: + + self._required_keys = ['main_path','app_path','app_name'] + + if config is not None: + self._check_config_valid(config) + + self._config = config + + + def get_config(self) -> dict[str,Path | str]: + """get_config: returns the config dictionary after checking it is + valid. + + Returns: + dict[str, Path | str]: dictionary containing the moose config. + """ + self._check_config_valid(self._config) + return self._config # type: ignore + + + def _check_config_valid(self, + config: dict[str,Path | str] | None = None + ) -> None: + """_check_config_valid: helper function to check if the moose config + is valid. + + Args: + config (dict[str,Path | str] | None, optional): dictionary + containing the moose config. Defaults to None. + + Raises: + MooseConfigError: Dicitionary not initialised. + MooseConfigError: Dicitionary does not contain the required keys. + MooseConfigError: Path to MOOSE does not exist. + MooseConfigError: Path to MOOSE app does not exist. + """ + if config is None: + raise MooseConfigError( + 'Config dictionary must be initialised, load config file first.') + + for kk in self._required_keys: + if kk not in config: + raise MooseConfigError( + f'Config dictionary must contain all keys: {self._required_keys}') + + if not config['main_path'].is_dir(): # type: ignore + raise MooseConfigError( + "Main path to MOOSE does not exist. Check path at key 'main_path'.") + + if not config['app_path'].is_dir(): # type: ignore + raise MooseConfigError( + "MOOSE app path does not exist. Check path at key: 'app_path'.") + + + def convert_path_to_str(self, in_config: dict[str,Path | str] | None + ) -> dict[str,str] | None: + """convert_path_to_str: converts all paths in the config dictionary to + strings so that it can be saved to json. + + Args: + in_config (dict[str,Path | str] | None): + + Returns: + dict[str,str] | None: as input with Paths converted to strings. + """ + if in_config is None: + return None + + conv_config = dict({}) + for kk in in_config: + conv_config[kk] = str(in_config[kk]) + + return conv_config + + + def convert_str_to_path(self, in_config: dict[str,str] | None = None + ) -> dict[str, Path | str] | None: + """convert_str_to_path: helper function to convert string to Path for + readin in json dictionary. Does not check if the paths exist. + + Args: + in_config (dict[str,str] | None, optional): input config dictionary + with string instead of Path. Defaults to None. + + Returns: + dict[str, Path | str] | None: as in_config but strings to main_path + and app_path are converted to Path. + """ + if in_config is None: + return None + + conv_config = dict({}) + for kk in in_config: + if 'path' in kk: + conv_config[kk] = Path(in_config[kk]) + else: + conv_config[kk] = in_config[kk] + + return conv_config + + + def save_config(self, config_path: Path) -> None: + """save_config: saves the moose config dictionary as a json file in the + specified path. + + Args: + config_path (Path): path and file name with extension .json to save + the moose config dictionary. + + Raises: + MooseConfigError: Parent path to save config file does not exist. + """ + if not config_path.parent.is_dir(): + raise MooseConfigError('Parent path to save config file does not exist.') + + with open(config_path, 'w', encoding='utf-8') as cf: + config_strs = self.convert_path_to_str(self._config) + json.dump(config_strs, cf, indent=4) + + + def read_config(self, config_path: Path) -> Self: + """read_config: reads the moose json configuration file at the + specified path. Checks if the configuration is valid and raises a + MooseConfigError if it is not. + + Args: + config_path (Path): path to the json config file containing the + configuration dictionary. + + Raises: + MooseConfigError: MOOSE config file does not exist. + + Returns: + Self: returns a MooseConfig object allowing the config to be + initialised by directly loading a json config file. + """ + if not config_path.is_file(): + raise MooseConfigError( + f'MOOSE config file does not exist at: {str(config_path)}.') + + with open(config_path, 'r', encoding='utf-8') as cf: + config_strs = json.load(cf) + config_paths = self.convert_str_to_path(config_strs) + + self._check_config_valid(config_paths) + + self._config = config_paths + return self + + +class MooseConfigError(Exception): + """MooseConfigError: custom error class for flagging errors with the moose + configuration. + """ diff --git a/dependencies/mooseherder/src/mooseherder/mooseherd.py b/dependencies/mooseherder/src/mooseherder/mooseherd.py new file mode 100644 index 00000000..288c14b5 --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/mooseherd.py @@ -0,0 +1,412 @@ +''' +=============================================================================== +MOOSE Herd Class + +Authors: Lloyd Fletcher, Rory Spencer +=============================================================================== +''' +import os +import time +import multiprocessing as mp +from pathlib import Path +from multiprocessing.pool import Pool + +from mooseherder.directorymanager import DirectoryManager +from mooseherder.simrunner import SimRunner +from mooseherder.inputmodifier import InputModifier + + +class MooseHerdError(Exception): + """MooseHerdError: custom error class for flagging errors with the moose + herd. + """ + +class MooseHerd: + """ MooseHerd class that can run parametric sweeps of simulation chains in + parallel with configurable parallelisation options. Takes a list of + SimRunner objects and a corresponding list of InputModifiers to insert the + variables into the input scripts for the SimRunners. When calling run_* the + herd will first call all InputModifiers in the specified order and then + call run on all the SimRunners in order. Uses the DirectoryManager class to + create/clear and log the directories in which each parallel worker is + creating input files and running simulations. + """ + def __init__(self, sim_runners: list[SimRunner], + input_mods: list[InputModifier], + dir_manager: DirectoryManager) -> None: + """__init__ + + Args: + sim_runners (list[SimRunner]): list of objects that inherit from + the SimRunner ABC in the order they need to be run. The mesh + needs to be created before runnning moose so a common chain + would be [GmshRunner,MooseRunner]. + input_mods (list[InputModifier]): list of InputModifiers to create + the required input scripts for the SimRunners. + dir_manager (DirectoryManager): used to control how many and + which directories are used to run the simulations. + """ + self._runners = sim_runners + self._modifiers = input_mods + self._dir_manager = dir_manager + + self._n_para_sims = 2 + + self._input_names = [f'sim-{ii+1}' for ii,_ in enumerate(sim_runners)] + + self._keep_all = True + + self._var_sweep = list([]) + + self._sweep_iter = 0 + self._sweep_run_time = -1.0 + + self._sim_iter = 0 + self._iter_run_time = -1.0 + + + def set_input_copy_names(self, input_names: list[str] | None = None) -> None: + """set_input_copy_name: sets the name that will be used when copying + input files to the working directories for the sweep. The defualt name + is 'sim-i' so the first combination of variables in the simulation chain + will be called 'sim-1-1'. + + Args: + input_names (list[str] | None, optional): List of name prefixes to + be used for the simulation files. Defaults to None. + + Raises: + MooseHerdError: The lengths of the sim runner list and the input + modifier lists are not the same. + """ + if input_names is None: + self._input_names = [f'sim-{ii+1}' for ii,_ in enumerate(self._runners)] + return + + if len(input_names) != len(self._runners): + raise MooseHerdError(f'The length of the input names ({len(input_names)})' + 'must match the length of the sim runners ' + + f'and input modifiers ({len(self._runners)})') + + self._input_names = input_names + + + def set_keep_flag(self, keep_all: bool = True) -> None: + """set_keep_flag: flag used for allowing multiple calls to run_para or + run_seq to keep everything or to overwrite with every call to run_*. + + Args: + keep_all (bool, optional): True = keep all inputs and outputs with + multiple calls to run_*. False = overwrite inputs and outputs + with multiple calls to run_*. Defaults to True. + """ + self._keep_all = keep_all + + + def set_num_para_sims(self, n_para: int = 1) -> None: + """set_num_para_sims: sets the number of simulation chains to run in + parallel. Limits the number + + Args: + n_para (int, optional): _description_. Defaults to 1. + """ + n_para = int(n_para) + n_cpus = os.cpu_count() + + if n_cpus is None: + pass + elif n_para <= 0: + n_para = 1 + elif n_para > n_cpus: + n_para = n_cpus + + if self._n_para_sims != n_para: + self._n_para_sims = n_para + + + def get_sim_iter(self) -> int: + """get_sim_iter: returns the current simulation iteration corresponding + to the combination of variables being analysed. This number will + accumulate with multiple calls to run_* is keep_all=true. + + Returns: + int: current simulation iteration number. + """ + return self._sim_iter + + + def get_sweep_iter(self) -> int: + """get_sweep_iter: gets the current sweep iteration. The sweep + iteration is incremented with every call to run_* if keep_all = true. + If keep_all = false then sweep_iter is held at 1. + + Returns: + int: current sweep iteration number. + """ + return self._sweep_iter + + + def reset_iter_counts(self) -> None: + """reset_iter_counts: resets the simulation iteration and the sweep + iteration counters to zero. + """ + self._sim_iter = 0 + self._sweep_iter = 0 + + + def _get_process_name(self) -> str: + """_get_process_name: only here for monkey patching with pytest. + + Returns: + str: the process name string. + """ + return mp.current_process().name + + + def _get_worker_num(self) -> str: + """_get_worker_num: helper function to get the worker number for the + current sub-process. + + Returns: + str: number string taken from the process name. If this is the main + process returns '1'. + """ + name = self._get_process_name() + + if name == 'MainProcess': + worker_num = '1' + else: + worker_num = name.split('-',1)[1] + + if int(worker_num) > self._n_para_sims: + worker_num = str((int(worker_num) % self._n_para_sims)+1) + + return worker_num + + + def _get_run_num(self, sim_iter: int, worker_num: str) -> str: + """_get_run_num: helper function to get the run directory number string + + Args: + sim_iter (int): the current simulation iteration. + worker_num (str): the worker number extracted from the current + process number as a string. + + Returns: + str: the string specifying the run directory number for this + simulation iteration. + """ + if self._keep_all: + run_num = str(sim_iter+1) + else: + run_num = worker_num + + return run_num + + + def _mod_input(self, + modifier: InputModifier, + mod_vars: dict | None, + save_file: Path) -> None: + """_mod_input: helper function that uses the input modifier to write + new variables to the input file and save it to the specified path. + + Args: + modifier (InputModifier): input modifier for the specified type of + input file. + mod_vars (dict | None): dictionary of variables to write to the + input file, if None just copy the input file. + save_file (Path): path with file name and extension to output the + modified input file. + """ + if mod_vars is not None: + modifier.update_vars(mod_vars) + modifier.write_file(save_file) + + + def _run(self, runner: SimRunner, run_file: Path) -> Path | None: + """_run: helper function to call the SimRunner and get the path to the + output file. + + Args: + runner (SimRunner): for running the simulation, must be a class + that implements the SimRunner ABC. + run_file (Path): path to the input file to run with SimRunner. + + Returns: + Path | None: _description_ + """ + runner.run(run_file) + return runner.get_output_path() + + + def run_once(self, sim_iter: int, var_list: list[dict | None] + ) -> list[Path | None]: + """run_once: runs a specific simulation chain with the given variable + list once and returns a list of paths to the output files. Used by + run_seq and run_para for parallelisation. + + Args: + sim_iter (int): current simulation iteration which is the index of + the var_list from the var_sweep. + var_list (list[dict | None]): list of dictionaries that contain + the variables that will be run for this iteration. + + Returns: + list[Path | None]: list of paths to the simulation output. If there + is no useful output from the runner in the simulation chain it + returns None in the list. + """ + iter_start_time = time.perf_counter() + + worker_num = self._get_worker_num() + run_dir = self._dir_manager.get_run_dir(int(worker_num)-1) + run_num = self._get_run_num(sim_iter,worker_num) + + run_files = list([]) + for ii,mm in enumerate(self._modifiers): + ext = mm.get_input_file().suffix + run_files.append(run_dir / (self._input_names[ii] +'-'+run_num+ext)) + self._mod_input(mm,var_list[ii],run_files[ii]) + + output_list = list([]) + for ii,rr in enumerate(self._runners): + output_list.append(self._run(rr,run_files[ii])) + + self._iter_run_time = time.perf_counter() - iter_start_time + + return output_list + + + def _start_sweep(self, var_sweep: list[list[dict | None]]) -> float: + """_start_sweep: helper function used at the start of a variable sweep + in either run_seq or run_para. Sets the var_sweep attribute, deals with + the management of directories and starts the performance counter. + + Args: + var_sweep (list[list[dict | None]]): as passed to run_seq/para + + Returns: + float: performance timer start value. + """ + self._var_sweep = var_sweep + + if not self._keep_all: + self.reset_iter_counts() + self._dir_manager.clear_dirs() + self._dir_manager.create_dirs() + + return time.perf_counter() + + + def _end_sweep(self, start_sweep_time: float, + output_files: list[list[Path | None]]) -> None: + """_end_sweep: helper function called at the end of runseq/para. + Reacords the sweep run time. Increments the iteration counters. and + writes the output key and sweep variables to the first workers + directory. + + Args: + start_sweep_time (float): the sweep start time taken from the + _start_sweep() function. + output_files (list[list[Path]]): list of list of paths to the + simulation chain output files. + """ + self._sweep_run_time = time.perf_counter() - start_sweep_time + + self._sweep_iter += 1 + self._sim_iter += len(self._var_sweep) + + self._dir_manager.set_output_paths(output_files) + self._dir_manager.write_output_key(self._sweep_iter) + self._dir_manager.write_sweep_vars(self._var_sweep,self._sweep_iter) + + + def run_sequential(self, var_sweep: list[list[dict | None]] + ) -> list[list[Path | None]]: + """run_sequential: runs the variable sweep given in var_sweep + sequentially and returns the paths to the simulation outputs. + + Args: + var_sweep (list[list[dict | None]]): outer list is the simulation + iteration, inner list is the position in the simulation chain + that the variable dictionary corresponds to. The dictionary + contains the variables that will be inserted into the input + file before calling run on the SimRunner. If None instead of + a dictionary then the input file is copied with no modification + + Returns: + list[list[Path | None]]: outer list is the simulation iteration and + the inner list corresponds to the position of the SimRunner in + the cimulation chain. Gives the path to the simulation output + or None if no useful output is produced. + """ + start_sweep_time = self._start_sweep(var_sweep) + + output_files = list([]) + + ii = self._sim_iter + for vv in var_sweep: + output_files.append(self.run_once(ii,vv)) + ii += 1 + + + self._end_sweep(start_sweep_time,output_files) + + return output_files + + + def run_para(self, var_sweep: list[list[dict | None]] + ) -> list[list[Path | None]]: + """run_para: runs the variable sweep with the simulation chain in + parallel. + + Args: + var_sweep (list[list[dict | None]]): outer list is the simulation + iteration, inner list is the position in the simulation chain + that the variable dictionary corresponds to. The dictionary + contains the variables that will be inserted into the input + file before calling run on the SimRunner. If None instead of + a dictionary then the input file is copied with no modification + + Returns: + list[list[Path | None]]: outer list is the simulation iteration and + the inner list corresponds to the position of the SimRunner in + the cimulation chain. Gives the path to the simulation output + or None if no useful output is produced. + """ + sweep_start_time = self._start_sweep(var_sweep) + + with Pool(self._n_para_sims) as pool: + processes = list([]) + + ii = self._sim_iter + for vv in var_sweep: + processes.append(pool.apply_async(self.run_once, args=(ii,vv))) + ii += 1 + + output_files = [pp.get() for pp in processes] + + self._end_sweep(sweep_start_time, output_files) + + return output_files + + + def get_sweep_time(self) -> float: + """get_sweep_time + + Returns: + float: the time taken for the variable sweep to run based on the + performance counter. + """ + return self._sweep_run_time + + + def get_iter_time(self) -> float: + """get_iter_time + + Returns + float: the time taken for the current simulation iteration to run. + """ + return self._iter_run_time + diff --git a/dependencies/mooseherder/src/mooseherder/mooserunner.py b/dependencies/mooseherder/src/mooseherder/mooserunner.py new file mode 100644 index 00000000..24b04e3e --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/mooserunner.py @@ -0,0 +1,232 @@ +''' +=============================================================================== +MOOSE Runner Class + +Authors: Lloyd Fletcher, Rory Spencer +=============================================================================== +''' +import os +import subprocess +from pathlib import Path +from mooseherder.simrunner import SimRunner +from mooseherder.mooseconfig import MooseConfig + +class MooseRunner(SimRunner): + """Used to run MOOSE models (*.i) from python. + """ + def __init__(self, config: MooseConfig): + """__init__: Constructor for MOOSE runner taking a MooseConfig object + that contains the paths to the main MOOSE install, the MOOSE app and + the MOOSE app name. Sets default parallelisation options to 1 MPI task + and 1 thread. Sets environment variables required for MPI setup. + + Args: + config (MooseConfig): moose configuration object containing the + required paths and app name to construct the command string. + """ + self._config = config.get_config() + + self._n_threads = 1 + self._n_tasks = 1 + self._redirect_stdout = True + self._arg_list = list('') + self._input_path = None + + + def set_env_vars(self) -> None: + """Sets environment variables for calling MOOSE with MPI. + """ + os.environ['CC'] = 'mpicc' + os.environ['CXX'] = 'mpicxx' + os.environ['F90'] = 'mpif90' + os.environ['F77'] = 'mpif77' + os.environ['FC'] = 'mpif90' + os.environ['MOOSE_DIR'] = str(self._config['main_path']) + if not str(self._config['app_path']) in os.environ["PATH"]: + os.environ["PATH"] = os.environ["PATH"] + ':' + str(self._config['app_path']) + + def set_threads(self, n_threads: int) -> None: + """Sets the number of threads asked of MOOSE on the command line. + + Args: + n_threads (int): Number of threads. + """ + # Need to make sure number is sensible based on cpu + if n_threads <= 0: + n_threads = 1 + elif os.cpu_count() is None: + n_threads = 1 + elif n_threads > os.cpu_count(): # type: ignore + n_threads = os.cpu_count() # type: ignore + + self._n_threads = int(n_threads) + + def set_tasks(self, n_tasks: int) -> None: + """Sets the number of MPI tasks asked of MOOSE on the command line. + + Args: + n_tasks (int): Number of mpi tasks. + """ + # Need to make sure is sensible based on cpu + if n_tasks <= 0: + n_tasks = 1 + elif os.cpu_count() is None: + n_tasks = 1 + elif n_tasks > os.cpu_count(): # type: ignore + n_tasks = os.cpu_count() # type: ignore + + self._n_tasks = int(n_tasks) + + def set_stdout(self, redirect_flag: bool = True) -> None: + """Sets MOOSE to redirect output (True) to file instead of console (False). + + Args: + redirect_flag (bool, optional): True = output to stdout file, False + = output to console. Defaults to True. + """ + self._redirect_stdout = redirect_flag + + def set_run_opts(self, n_tasks: int = 1, + n_threads: int = 1, + redirect_out: bool = True) -> None: + """Sets all options for MOOSE run parallelisation and output. + + Args: + n_tasks (int, optional): Number of mpi tasks for MOOSE run. + Defaults to 1. + n_threads (int, optional): Number of threads for MOOSE run. + Defaults to 1. + redirect (bool, optional): Redirect MOOSE output from console to + file (True). Defaults to False. + """ + self.set_threads(n_threads) + self.set_tasks(n_tasks) + self.set_stdout(redirect_out) + + + def get_input_file(self) -> Path | None: + """get_input_file + + Returns: + Path | None: full path to the input file or None if not specified. + """ + return self._input_path + + + def set_input_file(self, input_path: Path) -> None: + """Sets the path to the MOOSE input file and checks it exists. + + Args: + input_file (str): full path and name of *.i MOOSE input script. + + Raises: + FileNotFoundError: the MOOSE input script doesn't exist + """ + if not input_path.is_file(): + raise FileNotFoundError("Input file does not exist.") + + self._input_path = input_path + self.assemble_arg_list() + + def get_input_dir(self) -> Path | None: + """Gets the path to the directory for the specified input file. + + Returns: + Path: path to input file directory, if no input file is specified + returns None. + """ + if self._input_path is None: + return None + + return self._input_path.parent # type: ignore + + def get_input_tag(self) -> str: + """Gets the input file name string without the path or the .i + + Returns: + str: input file string, if no input file is specified returns an + empty string. + """ + if self._input_path is None: + return "" + + return self._input_path.stem # type: ignore + + + def get_output_path(self) -> Path | None: + """Gets the file and path for the output exodus file based + on the specified input file. Includes '_out.e'. + + Returns: + Path: output exodus file name with path, returns an empty None + if no input file is specified. + """ + if self._input_path is None: + return None + + return self._input_path.parent / (self._input_path.stem +'_out.e') + + + def get_arg_list(self) -> list[str]: + """Run string getter. + + Returns: + str: command line string to run MOOSE. + """ + return self._arg_list + + def assemble_arg_list(self, input_file = None) -> list[str]: + """Assmebles the command line string to run MOOSE based on current + options. + + Args: + input_file (str, optional): Full path to MOOSE input file, if not + empty updates the input file. Defaults to "". + + Returns: + str: command line string that will be used by the runner when run + is called. + """ + if input_file is not None: + self.set_input_file(input_file) + + if self._input_path is None: + raise RuntimeError('No input file specified, set one using set_input_file or by passing on into this function.') + + arg_list = [] + if self._n_tasks > 1: + arg_list = ['mpirun','-np',str(self._n_tasks)] + + arg_list = arg_list + [str(self._config['app_name']) \ + ,f'--n-threads={self._n_threads}','-i' \ + ,str(self._input_path.name)] + + if self._redirect_stdout: + arg_list = arg_list + ['--redirect-stdout'] + + self._arg_list = arg_list + + return self._arg_list + + + def run(self, input_file = None) -> None: + """Runs MOOSE based on current options by passing run string to + subprocess shell. + + Args: + input_file (Path, optional): Full path to MOOSE input file, if not + empty updates the input file. Defaults to None. + """ + if input_file is not None: + self.set_input_file(input_file) + + if self._input_path is None: + raise RuntimeError("Set input path before calling run.") + + self.set_env_vars() + + self.assemble_arg_list() + subprocess.run(self._arg_list, + shell=False, + cwd=str(self._input_path.parent), + check=False) diff --git a/dependencies/mooseherder/src/mooseherder/outputreader.py b/dependencies/mooseherder/src/mooseherder/outputreader.py new file mode 100644 index 00000000..024b2dc2 --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/outputreader.py @@ -0,0 +1,25 @@ +""" +=============================================================================== +OutpuReader Abstract Base Class + +Authors: Lloyd Fletcher +=============================================================================== +""" +from abc import ABC, abstractmethod +from pathlib import Path +from mooseherder.simdata import SimData, SimReadConfig + + +class OutputReader(ABC): + + @abstractmethod + def __init__(self, output_file: Path) -> None: + pass + + @abstractmethod + def read_sim_data(self, read_config: SimReadConfig) -> SimData: + pass + + @abstractmethod + def read_all_sim_data(self) -> SimData: + pass diff --git a/dependencies/mooseherder/src/mooseherder/simdata.py b/dependencies/mooseherder/src/mooseherder/simdata.py new file mode 100644 index 00000000..4504cb69 --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/simdata.py @@ -0,0 +1,93 @@ +""" +=============================================================================== +SimData Class + +Authors: Lloyd Fletcher +=============================================================================== +""" +from dataclasses import dataclass +import numpy as np + + +@dataclass +class SimData: + """ Data class for finite element simulation output. + """ + num_spat_dims: int = 3 + ''' Number of spatial dimensions in the simulation, required to determine + element types given that all coords are padded to [x,y,z]. Allows for 2D and + 1D simulations using any combination of the [x,y,z] axes. + ''' + + time: np.ndarray | None = None + ''' Vector of time steps with dimensions [t]. + Defaults to None. + ''' + + coords: np.ndarray | None = None + ''' Array of nodal coordinates in N by 3 where N is the number of nodes + columns are [x,y,z] coordinates and rows are the nth node. + Defaults to None. + ''' + + connect: dict[str,np.ndarray] | None = None + ''' Element connectivity table: + key = 'connectX' where X is the subdomain e.g. connect1 + Element table given as E by n_e rows where E is the number of elements + in the given subdomain. n_e is the number of nodes per element. + Defaults to None. + ''' + + side_sets: dict[tuple[str,str],np.ndarray] | None = None + ''' Sidesets by name and associated node and element numbers. + key = (name, 'node' or 'elem') e.g. ('bottom','node') will return node + numbers associated with associated with sideset called 'bottom' as a + numpy array with n_s entries where n_s is the number of nodes in the + sideset. + Defaults to None. + ''' + + node_vars: dict[str,np.ndarray] | None = None + ''' Nodal variable by name. + key = 'name' e.g. 'disp_x' or 'temp' + Gives the nodal variable as a numpy array, N by t where N is the number + of nodes and t is the number of time steps. Note that element variables + can be stored as nodal depending on output options or material output + order selected. + Defaults to None. + ''' + + elem_vars: dict[tuple[str,int],np.ndarray] | None = None + ''' Element variables by name and block. + key = (name, block num) + Gives the element variable as a numpy array, E by t where E is the + number of elements and t is the number of time steps. Note that element + variables might exist as nodal variables only depending on output + options and specified material output order. + Defaults to None. + ''' + + glob_vars: dict[str,np.ndarray] | None = None + ''' Global variables by name. Global variable include postprocessors and + extracted reactions at boundaries. + key = name (as specified in input file post-processor), e.g. 'react_y' + Gives a numpy array with t entries corresponding to the number of time + steps in the simulation. + Defaults to None. + ''' + +@dataclass +class SimReadConfig: + """ Used to specify na mes of variables to be read into the SimData class. + This class allows the user to only extract the required variables by + name. + """ + time: bool | None = True + coords: bool | None = True + connect: bool | None = True + sidesets: np.ndarray | None = None + node_vars: np.ndarray | None = None + elem_vars: list[tuple[str,int]] | None = None + glob_vars: np.ndarray | None = None + time_inds: np.ndarray | None = None + diff --git a/dependencies/mooseherder/src/mooseherder/simrunner.py b/dependencies/mooseherder/src/mooseherder/simrunner.py new file mode 100644 index 00000000..d93acaa9 --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/simrunner.py @@ -0,0 +1,38 @@ +""" +=============================================================================== +SimRunner Abstract Base Class + +Authors: Lloyd Fletcher +=============================================================================== +""" +from abc import ABC, abstractmethod +from pathlib import Path + +class SimRunner(ABC): + """SimRunner: ABC for the moosherd simulation chain. A simulation has an + input file which can be get or set. The simulation can then be run with the + given input files and then the path to the simulation output file can be + retrieved. + """ + @abstractmethod + def get_input_file(self) -> Path | None: + """get_input_path + """ + + + @abstractmethod + def set_input_file(self, input_path: Path) -> None: + """set_input_file + """ + + + @abstractmethod + def run(self, input_file: Path | None = None) -> None: + """run + """ + + @abstractmethod + def get_output_path(self) -> Path | None: + """get_output_path + """ + diff --git a/dependencies/mooseherder/src/mooseherder/sweepreader.py b/dependencies/mooseherder/src/mooseherder/sweepreader.py new file mode 100644 index 00000000..3be6b85c --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/sweepreader.py @@ -0,0 +1,291 @@ +''' +=============================================================================== +SweepReader Class + +Authors: Lloyd Fletcher, Rory Spencer +=============================================================================== +''' + +import os +import json +from pathlib import Path +from multiprocessing.pool import Pool +from mooseherder.directorymanager import DirectoryManager +import mooseherder.directorymanager as dm +from mooseherder.exodusreader import ExodusReader +from mooseherder.simdata import SimData, SimReadConfig + + +class SweepReader: + """ Used to read the output from one or more calls to mooseherd.run_para(). + has configurable options for reading in the variable sweep in parallel. + """ + def __init__(self, + dir_manager: DirectoryManager, + num_para_read: int = 1) -> None: + """__init__: Construct the sweep reader with a directory manager and + the number of simulations to read in parallel. + + Args: + dir_manager (DirectoryManager): the directory manager as used by + the mooseherd that ran the simulation sweep. + num_para_read (int, optional): number of simulation to read in + parallel. Defaults to 1. + """ + self._dir_manager = dir_manager + self._output_files = list([]) + self._n_para_read = num_para_read + + + def read_output_key(self, sweep_iter: int) -> list[list[Path | None]]: + """read_output_key: reads the output key json file produced by running + the variable sweep. The output key file maps which simulation were run + in a given sub directory. + + Args: + sweep_iter (int): sweep iteration to read. This is the number that + is appended to the output key file e.g. output-key-2.json for + the 2nd call to run_seq/para in the mooseherd. + + Returns: + list[list[Path]]: paths to the outputs from the variable sweep the + outer list is the simulation iteration and the inner list is + the position in the simulation chain. + """ + output_key = self._dir_manager.get_output_key_file(sweep_iter) + if not output_key.is_file(): + raise FileNotFoundError(f'Output key file for sweep iteration {sweep_iter} not found at path: {output_key}') + + with open(output_key, 'r', encoding='utf-8') as okf: + output_files = json.load(okf) + + return dm.output_str_to_paths(output_files) + + + def read_all_output_keys(self) -> list[list[Path | None]]: + """read_all_output_keys: as read_output_keys() but finds all output key + files in the first sub-directory and reads them. + + Raises: + FileNotFoundError: No output key files found in the first sub- + directory. + + Returns: + list[list[Path]]: paths to the outputs from the variable sweep the + outer list is the simulation iteration and the inner list is + the position in the simulation chain. + """ + output_paths = self._find_files_by_str(self._dir_manager.get_output_key_tag(), + self._dir_manager.get_run_dir(0)) + + if len(output_paths) == 0: + raise FileNotFoundError("No output key json files found.") + + output_files = list([]) + for output_path in output_paths: + sweep_iter = output_path.name.split('.')[0].split('-')[-1] + output_files = output_files + self.read_output_key(int(sweep_iter)) + + self._output_files = output_files + return self._output_files + + + def read_sweep_var_file(self, sweep_iter: int = 1 + ) -> list[list[dict | None]]: + """read_sweep_var_file: reads the file containing the sweep variable + dictionary for a given sweep iteration and returns it. + + Args: + sweep_iter (int, optional): The sweep iteration (i.e. the call + number to mooseher.run_seq/para) Defaults to 1. + + Raises: + FileNotFoundError: Sweep file not found. + + Returns: + list[list[dict | None]]: The sweep variables as passed to mooseherd + .run_seq/para. + """ + sweep_var_file = self._dir_manager.get_sweep_var_file(sweep_iter) + if not sweep_var_file.is_file(): + raise FileNotFoundError( + f'Sweep variable file for sweep iteration {sweep_iter}'+ + f'not found at path: {sweep_var_file}') + + with open(sweep_var_file, 'r', encoding='utf-8') as svf: + sweep_vars = json.load(svf) + + return sweep_vars + + + def read_all_sweep_var_files(self) -> list[list[dict | None]]: + """read_all_sweep_var_files: as read sweep variables but finds all + sweep variables in the first sub-directory and reads them. + + Raises: + FileNotFoundError: No sweep variable files found. + + Returns: + list[list[dict | None]]: The sweep variables as passed to mooseherd + .run_seq/para. Additional sweep iterations are appended to the + end of the list. + """ + sweep_var_paths = self._find_files_by_str(self._dir_manager.get_sweep_var_tag(), + self._dir_manager.get_run_dir(0)) + + if len(sweep_var_paths) == 0: + raise FileNotFoundError("No sweep variable json files found.") + + sweep_vars = list([]) + for ii,_ in enumerate(sweep_var_paths): + sweep_vars = sweep_vars + self.read_sweep_var_file(ii+1) + + return sweep_vars + + + def _find_files_by_str(self, search_str: str, search_path: Path + ) -> list[Path]: + """_find_files_by_str: helper function for finding output key and sweep + variable files based on a specific string. + + Args: + search_str (str): the string to find in the file name. + search_path (Path): the path to the directory to search for files + containing the specified string. + + Returns: + list[Path]: list of paths to the files found with the string. + """ + found_files = list([]) + + all_files = os.listdir(search_path) + + for ff in all_files: + if search_str in ff: + found_files.append(Path(ff)) + + found_files.sort() + + return found_files + + + def get_output_files(self) -> list[list[Path | None]]: + """get_output_files + + Returns: + list[list[Path]]: returns the paths to the output files as read + from the output key files. + """ + return self._output_files + + + def read_results_once(self, + output_files: list[Path | None], + read_config: SimReadConfig | None = None + ) -> list[SimData | None]: + """read_results_once: reads a specific simulation at the specified + path based on the specified read configuration. If the read + configuration is None then read everything. + + Args: + output_file (Path): Path to the file to read + read_config (SimReadConfig | None): class to specify the data to read + + Returns: + list[SimData | None]: list of data classes holding the simulation + data for each simulation in the chain. Will be None for a pre- + processor like Gmsh that has not output. + """ + data_list = list([]) + + for ff in output_files: + if ff is None: + data_list.append(None) + else: + #TODO: replace with output reader ABC + reader = ExodusReader(ff) + if read_config is None: + data_list.append(reader.read_all_sim_data()) + else: + data_list.append(reader.read_sim_data(read_config)) + + return data_list + + + def read_results_sequential(self, + sweep_iter: int | None = None, + read_config: SimReadConfig | None = None + ) -> list[list[SimData]]: + """read_results_sequential: reads the variable sweep results + sequentially. Can read a specific iteration with a specific read config + but defaults to reading everything found in the simulation directories. + + Args: + sweep_iter (int | None, optional): sweep iteration number to read. + Reads the output key file for this iteration. Defaults to None. + read_config (SimReadConfig | None, optional): object for specifying + which variables are to be extracted from the output. Defaults + to None. + + Returns: + list[list[SimData]]: list of lists of SimData objects containing the + simulation results corresponding to each combination of + variables. + """ + self._start_read_output_keys(sweep_iter) + + sweep_results = list([]) + for ii,ff in enumerate(self._output_files): + sweep_results.append(self.read_results_once(ff,read_config)) + + return sweep_results + + + def read_results_para(self, + sweep_iter: int | None = None, + read_config: SimReadConfig | None = None + ) -> list[list[SimData]]: + """read_results_para: reads the variable sweep results in parallel + Can read a specific iteration with a specific read config but defaults + to reading everything found in the simulation directories. + + Args: + sweep_iter (int | None, optional): sweep iteration number to read. + Reads the output key file for this iteration. Defaults to None. + read_config (SimReadConfig | None, optional): object for specifying + which variables are to be extracted from the output. Defaults + to None. + + Returns: + list[list[SimData]]: list of lists of SimData objects containing the + simulation results corresponding to each combination of + variables. + """ + self._start_read_output_keys(sweep_iter) + + with Pool(self._n_para_read) as pool: + processes = list([]) + for ff in self._output_files: + processes.append(pool.apply_async( + self.read_results_once, args=(ff,read_config))) + + sweep_results = [pp.get() for pp in processes] + + return sweep_results + + + def _start_read_output_keys(self, sweep_iter: int | None): + """_start_read: helper function to read the output keys for a specific + simulation iteration prior to reading the simulation outputs. + + Args: + sweep_iter (int | None): sweep iteration number to read. If None + read all of the output keys. + """ + if self._output_files == '': + self._output_files = self.read_output_key(sweep_iter=1) + + if sweep_iter is None: + self.read_all_output_keys() + + diff --git a/unit/include/place_holder b/dependencies/mooseherder/tests/__init__.py similarity index 100% rename from unit/include/place_holder rename to dependencies/mooseherder/tests/__init__.py diff --git a/dependencies/mooseherder/tests/directorymanager_test.py b/dependencies/mooseherder/tests/directorymanager_test.py new file mode 100644 index 00000000..b8b3b23c --- /dev/null +++ b/dependencies/mooseherder/tests/directorymanager_test.py @@ -0,0 +1,80 @@ +''' +============================================================================== +TEST: DirectoryManager + +Authors: Lloyd Fletcher +============================================================================== +''' + +from pathlib import Path +import pytest +from mooseherder.directorymanager import DirectoryManager +import tests.herdchecker as hc + + +@pytest.fixture +def dir_manager() -> DirectoryManager: + return DirectoryManager(hc.NUM_DIRS) + + +@pytest.fixture(autouse=True) +def setup_teardown(dir_manager): + yield + dir_manager.clear_dirs() + + +def test_init_dir_manager(dir_manager: DirectoryManager) -> None: + assert dir_manager is not None + assert dir_manager._n_dirs == hc.NUM_DIRS + assert dir_manager._base_dir == Path().cwd() + assert dir_manager._sub_dir == 'sim-workdir' + + +def test_set_sub_dir_name(dir_manager: DirectoryManager) -> None: + new_name = 'new-workdir' + dir_manager.set_sub_dir_name(new_name) + assert dir_manager._sub_dir == new_name + + +def test_set_base_dir(dir_manager: DirectoryManager) -> None: + dir_manager.set_base_dir(hc.BASE_DIR) + assert dir_manager._base_dir == hc.BASE_DIR + + +def test_set_base_dir_err(dir_manager: DirectoryManager) -> None: + base_dir = Path('no_exist/') + with pytest.raises(FileExistsError) as errinfo: + dir_manager.set_base_dir(base_dir) + msg, = errinfo.value.args + assert msg == "Specified base directory does not exist." + + +def test_create_dirs(dir_manager: DirectoryManager) -> None: + dir_manager.create_dirs() + for dd in range(hc.NUM_DIRS): + run_dir = dir_manager._base_dir / (dir_manager._sub_dir+'-'+str(dd+1)) + assert run_dir.is_dir() + + +def test_clear_dirs(dir_manager: DirectoryManager) -> None: + dir_manager.create_dirs() + dir_manager.clear_dirs() + for dd in range(hc.NUM_DIRS): + run_dir = dir_manager._base_dir / (dir_manager._sub_dir+'-'+str(dd+1)) + assert run_dir.is_dir() == False + + +@pytest.mark.parametrize( + ('dir_num','expected'), + ( + (-1,0), + (0,0), + (1,1), + (4,0), + ) +) +def test_get_run_dir(dir_num: int, + expected: int, + dir_manager: DirectoryManager) -> None: + check_path = dir_manager.get_run_dir(dir_num) + assert check_path == dir_manager._run_dirs[expected] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/exodusreader_test.py b/dependencies/mooseherder/tests/exodusreader_test.py new file mode 100644 index 00000000..7ba2c608 --- /dev/null +++ b/dependencies/mooseherder/tests/exodusreader_test.py @@ -0,0 +1,328 @@ +''' +============================================================================== +TEST: ExodusReader + +Authors: Lloyd Fletcher +============================================================================== +''' +from pathlib import Path +from dataclasses import fields +import pytest +import numpy as np +import numpy.typing as npt +from mooseherder.exodusreader import ExodusReader +from mooseherder.simdata import SimData +import tests.herdchecker as hc + +NUM_TIME_STEPS = 4 +NUM_NODES = 441 +NUM_ELEMS_PER_BLOCK = 200 +NODES_PER_ELEM = 4 +NUM_BLOCKS = 2 + +CONNECT_NAMES = ('connect1','connect2') + +NUM_SIDESETS = 4 +SIDESET_NAMES = ('bottom', + 'right', + 'top', + 'left') + +NUM_NODE_VARS = 10 +NODE_VAR_NAMES = ('disp_x', + 'disp_y', + 'strain_xx', + 'strain_xy', + 'strain_yy', + 'strain_zz', + 'stress_xx', + 'stress_xy', + 'stress_yy', + 'vonmises_stress') + +NUM_ELEM_VARS = 8 +ELEM_VAR_NAMES = ('strain_xx', + 'strain_xy', + 'strain_yy', + 'strain_zz', + 'stress_xx', + 'stress_xy', + 'stress_yy', + 'vonmises_stress') + + +NUM_GLO_VARS = 4 +GLO_VAR_NAMES = ('avg_yy_stress', + 'max_y_disp', + 'max_yy_stress', + 'react_y') + + +@pytest.fixture +def exodus_path() -> Path: + return hc.OUTPUT_PATH / 'moose-mech-outtest_out.e' + +@pytest.fixture +def reader(exodus_path: Path) -> ExodusReader: + return ExodusReader(exodus_path) + + +def test_init_reader(reader: ExodusReader, + exodus_path: Path) -> None: + assert reader._exodus_path == exodus_path + assert reader._data is not None + + +def tests_init_reader_path_err() -> None: + err_path = Path().home() / 'no-exist/no_exodus_here.wrong' + with pytest.raises(FileNotFoundError) as err_info: + check_reader = ExodusReader(err_path) + + (msg,) = err_info.value.args + assert msg == 'Exodus file not found at specified path' + + +@pytest.mark.parametrize( + ('name_key','expected'), + ( + ('ss_names', SIDESET_NAMES), + ('name_nod_var',NODE_VAR_NAMES), + ('name_elem_var',ELEM_VAR_NAMES), + ('name_glo_var',GLO_VAR_NAMES) + ) +) +def test_get_names(name_key: str, + expected: tuple[str], + reader: ExodusReader) -> None: + check_names = reader.get_names(name_key) + assert (check_names == expected).all() + + +def test_get_names_none(reader: ExodusReader) -> None: + check_names = reader.get_names(None) + assert check_names is None + + +def test_get_names_no_key(reader: ExodusReader) -> None: + check_names = reader.get_names('no-exist') + assert check_names is None + + +def test_get_var(reader: ExodusReader) -> None: + key = 'coordx' + check_var = reader.get_var(key) + assert check_var.shape[0] > 0 + assert check_var.shape == (NUM_NODES,) + + +@pytest.mark.parametrize( + ('keys','expected'), + ( + (('top','ss_names','node_ns'),'node_ns3'), + (('top','ss_names','elem_ss'),'elem_ss3'), + (('disp_x','name_nod_var','vals_nod_var'),'vals_nod_var1'), + (('disp_y','name_nod_var','vals_nod_var'),'vals_nod_var2'), + (('stress_xy','name_nod_var','vals_nod_var'),'vals_nod_var8'), + (('strain_yy','name_elem_var','vals_elem_var'),'vals_elem_var3'), + (('stress_xx','name_elem_var','vals_elem_var'),'vals_elem_var5'), + ) +) +def test_get_key(keys: tuple[str,str,str], + expected: str, + reader: ExodusReader) -> None: + + name = keys[0] + all_names = reader.get_names(keys[1]) + key_tag = keys[2] + + key = reader.get_key(name,all_names,key_tag) # type: ignore + assert key == expected + + +def test_get_var_no_key(reader: ExodusReader) -> None: + no_key = 'no_exist' + check_var = reader.get_var(no_key) + assert check_var.shape[0] == 0 + + +def test_get_connectivity_names(reader: ExodusReader) -> None: + check_names = reader.get_connectivity_names() + assert check_names.shape == (NUM_BLOCKS,) + assert (check_names == np.array(['connect1','connect2'])).all() + + +def test_get_connectivity(reader: ExodusReader) -> None: + check_connect = reader.get_connectivity() + assert check_connect is not None + assert tuple(check_connect.keys()) == CONNECT_NAMES + assert check_connect['connect1'].shape == ( + NODES_PER_ELEM,NUM_ELEMS_PER_BLOCK) + assert check_connect['connect2'].shape == ( + NODES_PER_ELEM,NUM_ELEMS_PER_BLOCK) + + +def test_get_sideset_names(reader: ExodusReader) -> None: + check_names = reader.get_sideset_names() + assert check_names is not None + assert check_names.shape == (NUM_SIDESETS,) + assert (check_names == SIDESET_NAMES).all() + + +def test_get_sidesets_none(reader: ExodusReader) -> None: + check_sidesets = reader.get_sidesets(None) + assert check_sidesets is None + + +def test_get_all_sidesets(reader: ExodusReader) -> None: + check_sidesets = reader.get_all_sidesets() + assert check_sidesets is not None + assert len(check_sidesets.keys()) == 2*NUM_SIDESETS # NOTE: node+elem = *2 + assert check_sidesets[('bottom','node')].shape[0] > 0 + assert check_sidesets[('bottom','elem')].shape[0] > 0 + + +def test_get_node_var_names(reader: ExodusReader) -> None: + node_var_names = reader.get_node_var_names() + assert node_var_names is not None + assert node_var_names.shape == (NUM_NODE_VARS,) + assert (node_var_names == NODE_VAR_NAMES).all() + + +def test_get_node_vars_none(reader: ExodusReader) -> None: + node_vars = reader.get_node_vars(None) + assert node_vars is None + + +def test_get_all_node_vars(reader: ExodusReader) -> None: + node_vars = reader.get_all_node_vars() + assert node_vars is not None + assert len(node_vars.keys()) == NUM_NODE_VARS + for nn in node_vars: + assert node_vars[nn].shape == (NUM_NODES,NUM_TIME_STEPS) + + +def test_get_elem_var_names(reader: ExodusReader) -> None: + elem_var_names = reader.get_elem_var_names() + assert elem_var_names is not None + assert elem_var_names.shape == (NUM_ELEM_VARS,) + assert (elem_var_names == ELEM_VAR_NAMES).all() + + +def test_get_num_elem_blocks(reader: ExodusReader) -> None: + num_blocks = reader.get_num_elem_blocks() + assert num_blocks == NUM_BLOCKS + + +def test_get_elem_var_names_and_blocks(reader: ExodusReader) -> None: + var_names_and_blocks = reader.get_elem_var_names_and_blocks() + assert var_names_and_blocks is not None + assert len(var_names_and_blocks) == NUM_ELEM_VARS*NUM_BLOCKS + + +def test_get_all_elem_vars(reader: ExodusReader) -> None: + elem_vars = reader.get_all_elem_vars() + assert elem_vars is not None + assert len(elem_vars.keys()) == NUM_ELEM_VARS*NUM_BLOCKS + for ee in elem_vars: + assert elem_vars[ee].shape == (NUM_ELEMS_PER_BLOCK,NUM_TIME_STEPS) + + +def test_get_glob_var_names(reader: ExodusReader) -> None: + glob_var_names = reader.get_glob_var_names() + assert glob_var_names is not None + assert glob_var_names.shape == (NUM_GLO_VARS,) + assert (glob_var_names == GLO_VAR_NAMES).all() + + +def test_get_glob_vars_none(reader: ExodusReader) -> None: + glob_vars = reader.get_glob_vars(None) + assert glob_vars is None + + +def test_get_all_glob_vars(reader: ExodusReader) -> None: + glob_vars = reader.get_all_glob_vars() + assert glob_vars is not None + assert len(glob_vars.keys()) == (NUM_TIME_STEPS) + assert tuple(glob_vars.keys()) == GLO_VAR_NAMES + for gg in glob_vars: + assert glob_vars[gg].shape == (NUM_TIME_STEPS,) + +def test_get_coords(reader: ExodusReader) -> None: + (coords,_) = reader.get_coords() + assert coords.shape == (NUM_NODES,3) + + +@pytest.mark.parametrize( + ('coord','dim','expected'), + ( + (np.array([]),4,np.array([0,0,0,0])), + (np.array([0,1,2,3]),4,np.array([0,1,2,3])), + ) +) +def test_expand_coords(coord: npt.NDArray, + dim: int, + expected: npt.NDArray, + reader: ExodusReader) -> None: + check = reader._expand_coord(coord,dim) + assert (check == expected).all() + + +def test_get_time(reader: ExodusReader) -> None: + check_time = reader.get_time() + assert check_time.shape == (NUM_TIME_STEPS,) + + +def test_get_read_config(reader: ExodusReader) -> None: + config = reader.get_read_config() + + for ff in fields(config): + if ff.name != 'time_inds': + assert getattr(config,ff.name) is not None + + assert (config.sidesets == SIDESET_NAMES).all() + assert (config.node_vars == NODE_VAR_NAMES).all() + assert len(config.elem_vars) == NUM_ELEM_VARS*NUM_BLOCKS # type: ignore + assert (config.glob_vars == GLO_VAR_NAMES).all() + + +def test_read_sim_data(reader: ExodusReader) -> None: + config = reader.get_read_config() + data = reader.read_sim_data(config) + check_sim_data(data) + + +def test_read_all_sim_data(reader: ExodusReader) -> None: + data = reader.read_all_sim_data() + check_sim_data(data) + + +def check_sim_data(data: SimData) -> None: + for ff in fields(data): + assert getattr(data,ff.name) is not None + + assert data.time.shape == (NUM_TIME_STEPS,) + assert data.coords.shape == (NUM_NODES,3) + + assert tuple(data.connect.keys()) == CONNECT_NAMES + for cc in data.connect: + assert data.connect[cc].shape == (NODES_PER_ELEM,NUM_ELEMS_PER_BLOCK) + + assert len(data.side_sets.keys()) == NUM_SIDESETS*2 + for ss in data.side_sets: + assert ss[0] in SIDESET_NAMES + assert ss[1] in ('node','elem') + + assert tuple(data.node_vars.keys()) == NODE_VAR_NAMES + for nn in data.node_vars: + assert data.node_vars[nn].shape == (NUM_NODES,NUM_TIME_STEPS) + + assert len(data.elem_vars.keys()) == NUM_ELEM_VARS*NUM_BLOCKS + for ee in data.elem_vars: + assert ee[0] in ELEM_VAR_NAMES + assert ee[1] in (1,2) + assert data.elem_vars[ee].shape == (NUM_ELEMS_PER_BLOCK,NUM_TIME_STEPS) + + assert tuple(data.glob_vars.keys()) == GLO_VAR_NAMES + for gg in data.glob_vars: + data.glob_vars[gg].shape == (NUM_TIME_STEPS,) + diff --git a/dependencies/mooseherder/tests/generate_moose_output.py b/dependencies/mooseherder/tests/generate_moose_output.py new file mode 100644 index 00000000..49bd731a --- /dev/null +++ b/dependencies/mooseherder/tests/generate_moose_output.py @@ -0,0 +1,50 @@ +''' +============================================================================== +GENERATE OUTPUTS FOR TESTS + +Author: Lloyd Fletcher +============================================================================== +''' +import time +import os +from pathlib import Path +from mooseherder import MooseRunner + +USER_DIR = Path().home() + +print('------------------------------------------') +print('GENERATE MOOSE HERDER TEST CASES') +print('------------------------------------------') + +# Create the moose runner with correct paths to moose and apps +moose_dir = USER_DIR / 'moose' +moose_app_dir = USER_DIR / 'proteus' +moose_app_name = 'proteus-opt' +moose_runner = MooseRunner(moose_dir,moose_app_dir,moose_app_name) + +# Set input and parallelisation options +moose_runner.set_run_opts(n_tasks=4, + n_threads=2, + redirect_out=True) + +# These are all the test cases required +input_files = [ Path('scripts/moose-mech-simple.i'), \ + Path('scripts/moose-mech-sub-dom.i'), \ + Path('scripts/moose-mech-sub-dom-order2.i'), \ + Path('scripts/moose-mech-two-beams.i'), \ + Path('scripts/moose-mech-thermal-exp.i')] + +for ii in input_files: + start_time = time.perf_counter() + + moose_runner.set_input_file(ii) + print('Running moose test case with:') + print(moose_runner.get_arg_list()) + + moose_runner.run() + run_time = time.perf_counter() - start_time + print('MOOSE run time = {run_time:.3f} seconds') + print() + +print('Test data generation complete.') +print() diff --git a/dependencies/mooseherder/tests/gmsh/gmsh-broken.geo b/dependencies/mooseherder/tests/gmsh/gmsh-broken.geo new file mode 100644 index 00000000..2914213b --- /dev/null +++ b/dependencies/mooseherder/tests/gmsh/gmsh-broken.geo @@ -0,0 +1,62 @@ +// +// Demo input file for parameterised geometries with Gmsh +// Author: Rory Spencer +// Date: Nov-2023 + +// Geometry Variables +gaugeHeight = 10E-3 +gaugeWidth = ; +// gaugeThickness = 1E-3; //2D for now + +// Parameterisation +//_* +p0 = 1.5E-3; +p1 = 1E-3; // Testing comments in the variable block +// Another test comment +p2 = 1.2E-3; +filename = "mesh-test.msh"; // String variable +//** +lc = 1E-4; + + +// Create some points defining the boundary +// Will have vertical symmetry +Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen +Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 +Point(3) = {p1,0,0,lc}; // Parameterised point 1 +Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 +Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line +Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline +Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge + +// Connect things up with some lines +Line(1) = {1,7}; // Bottom Hor Line +Spline(2) = {7,2,3,4,5}; //Vertical up side +Line(3) = {5,6}; // Top Hor Line +Line(4) = {6,1}; // Centreline + +Curve Loop(1) = {1,2,3,4}; +Plane Surface(1) = {1}; + +// Top & Bottom +Transfinite Curve{1} = 10; +Transfinite Curve{3} = 10; + +// Sides +Transfinite Curve{4} = 50; +Transfinite Curve{2} = 50; + +Transfinite Surface{1}; + +Recombine Surface{:}; +Mesh 2; + + +Physical Surface("Specimen",1) = {1}; + +Physical Curve("Top-BC",2) = {3}; +Physical Curve("Mid-BC",3) = {4}; +Physical Curve("Btm-BC",4) = {1}; + +Save Str(filename); +Exit; diff --git a/dependencies/mooseherder/tests/gmsh/gmsh-test.geo b/dependencies/mooseherder/tests/gmsh/gmsh-test.geo new file mode 100644 index 00000000..1a69a7b2 --- /dev/null +++ b/dependencies/mooseherder/tests/gmsh/gmsh-test.geo @@ -0,0 +1,61 @@ +// +// Demo input file for parameterised geometries with Gmsh +// Author: Rory Spencer +// Date: Nov-2023 + +// Geometry Variables +gaugeHeight = 10E-3; +gaugeWidth = 2.5E-3; +// gaugeThickness = 1E-3; //2D for now + +// Parameterisation +//_* +p0 = 1.5E-3; +p1 = 1E-3; // Testing comments in the variable block +// Another test comment +p2 = 1.2E-3; +filename = "gmsh-test.msh"; // String variable +//** +lc = 1E-4; + +// Create some points defining the boundary +// Will have vertical symmetry +Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen +Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 +Point(3) = {p1,0,0,lc}; // Parameterised point 1 +Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 +Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line +Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline +Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge + +// Connect things up with some lines +Line(1) = {1,7}; // Bottom Hor Line +Spline(2) = {7,2,3,4,5}; //Vertical up side +Line(3) = {5,6}; // Top Hor Line +Line(4) = {6,1}; // Centreline + +Curve Loop(1) = {1,2,3,4}; +Plane Surface(1) = {1}; + +// Top & Bottom +Transfinite Curve{1} = 10; +Transfinite Curve{3} = 10; + +// Sides +Transfinite Curve{4} = 50; +Transfinite Curve{2} = 50; + +Transfinite Surface{1}; + +Recombine Surface{:}; +Mesh 2; + + +Physical Surface("Specimen",1) = {1}; + +Physical Curve("Top-BC",2) = {3}; +Physical Curve("Mid-BC",3) = {4}; +Physical Curve("Btm-BC",4) = {1}; + +Save Str(filename); +Exit; diff --git a/dependencies/mooseherder/tests/gmshrunner_test.py b/dependencies/mooseherder/tests/gmshrunner_test.py new file mode 100644 index 00000000..55bb29e2 --- /dev/null +++ b/dependencies/mooseherder/tests/gmshrunner_test.py @@ -0,0 +1,118 @@ +''' +============================================================================== +TEST: GmshRunner + +Authors: Lloyd Fletcher +============================================================================== +''' +import os +from pathlib import Path +import pytest +from mooseherder.gmshrunner import GmshRunner + +USER_DIR = Path.home() + + +def test_gmsh_exists(): + exist_gmsh_path = USER_DIR / 'gmsh/bin/gmsh' + assert exist_gmsh_path.is_file() + + +@pytest.fixture() +def gmsh_path() -> Path: + return USER_DIR / 'gmsh/bin/gmsh' + + +@pytest.fixture() +def runner(gmsh_path: Path) -> GmshRunner: + return GmshRunner(gmsh_path) + + +@pytest.fixture() +def input_file() -> Path: + return Path('tests/gmsh/gmsh-test.geo') + + +@pytest.fixture(autouse=True) +def setup_teardown(): + # Setup here + yield + # Teardown here - remove output files + all_files = os.listdir('tests/gmsh/') + for ff in all_files: + if '.msh' in ff: + os.remove(Path('tests/gmsh/' + ff)) + +def test_create_runner(runner: GmshRunner, gmsh_path: Path) -> None: + assert runner._gmsh_app == gmsh_path + + +def test_create_runner_err() -> None: + wrong_path = USER_DIR / 'wrong_dir' + with pytest.raises(FileNotFoundError) as err_info: + _ = GmshRunner(wrong_path) + + msg, = err_info.value.args + assert msg == 'Gmsh app not found at given path.' + +def test_set_gmsh_app(gmsh_path: Path) -> None: + check_runner = GmshRunner() + check_runner.set_gmsh_app(gmsh_path) + assert check_runner._gmsh_app == gmsh_path + + +def test_set_gmsh_app_err() -> None: + wrong_path = USER_DIR / 'wrong_dir' + with pytest.raises(FileNotFoundError) as err_info: + check_runner = GmshRunner() + check_runner.set_gmsh_app(wrong_path) + + msg, = err_info.value.args + assert msg == 'Gmsh app not found at given path.' + + +def test_set_input_file(runner: GmshRunner, input_file: Path) -> None: + runner.set_input_file(input_file) + assert runner.get_input_file() == input_file + + +def test_set_input_err_geo(runner: GmshRunner) -> None: + wrong_file = Path('tests/gmsh/gmsh-test.i') + with pytest.raises(FileNotFoundError) as err_info: + runner.set_input_file(wrong_file) + msg, = err_info.value.args + assert msg == 'Incorrect file type. Must be *.geo.' + + +def test_set_input_err_exist(runner: GmshRunner) -> None: + wrong_file = Path('tests/gmsh/gmsh-test-noexist.geo') + with pytest.raises(FileNotFoundError) as err_info: + runner.set_input_file(wrong_file) + msg, = err_info.value.args + assert msg == 'Specified gmsh geo file does not exist.' + + +def test_run(runner: GmshRunner, input_file: Path) -> None: + runner.set_input_file(input_file) + runner.run() + assert os.path.isfile('tests/gmsh/gmsh-test.msh'), 'Output mesh *.msh file not generated by gmsh.' + + +def test_run_with_input(runner: GmshRunner, input_file: Path) -> None: + runner.run(input_file) + assert os.path.isfile('tests/gmsh/gmsh-test.msh'), 'Output mesh *.msh file not generated by gmsh.' + + +def test_run_err_no_gmsh() -> None: + check_runner = GmshRunner() + with pytest.raises(RuntimeError) as err_info: + check_runner.run() + msg, = err_info.value.args + assert msg == "Specify the full path to the gmsh app before calling run." + + +def test_run_err_no_geo(runner: GmshRunner) -> None: + with pytest.raises(RuntimeError) as err_info: + runner.run() + msg, = err_info.value.args + assert msg == "Specify input *.geo file before running gmsh." diff --git a/dependencies/mooseherder/tests/herdchecker.py b/dependencies/mooseherder/tests/herdchecker.py new file mode 100644 index 00000000..c06c5154 --- /dev/null +++ b/dependencies/mooseherder/tests/herdchecker.py @@ -0,0 +1,200 @@ +''' +============================================================================== +HerdChecker: Helper functions for testing MooseHerder + +Authors: Lloyd Fletcher +============================================================================== +''' + +import os +from typing import Any +from pathlib import Path +from pprint import pprint +from mooseherder.inputmodifier import InputModifier +from mooseherder.mooserunner import MooseRunner +from mooseherder.mooseconfig import MooseConfig +from mooseherder.gmshrunner import GmshRunner +from mooseherder.mooseherd import MooseHerd +from mooseherder.directorymanager import DirectoryManager + + +NUM_DIRS = 4 +NUM_PARA = 4 +NUM_CALLS = 3 +BASE_DIR = Path('tests/') + +MOOSE_PATH = Path.home()/'moose' +MOOSE_APP_PATH = Path().home()/'proteus' +MOOSE_APP_NAME = 'proteus-opt' +MOOSE_INPUT = Path('tests/moose/moose-test.i') + +GMSH_APP_PATH = Path().home() / 'gmsh/bin/gmsh' +GMSH_INPUT = Path('tests/gmsh/gmsh-test.geo') + +OUTPUT_PATH = Path('tests/output/') + + +def create_moose_config() -> MooseConfig: + return MooseConfig({'main_path': MOOSE_PATH, + 'app_path': MOOSE_APP_PATH, + 'app_name': MOOSE_APP_NAME}) + + +def create_moose_objs(input_file: Path) -> tuple[MooseRunner,InputModifier]: + moose_config = create_moose_config() + moose_runner = MooseRunner(moose_config) + + moose_input = input_file + moose_modifier = InputModifier(moose_input,'#','') + + return (moose_runner,moose_modifier) + + +def create_gmsh_objs(input_file: Path) -> tuple[GmshRunner,InputModifier]: + gmsh_input = input_file + gmsh_modifier = InputModifier(gmsh_input,'//',';') + gmsh_runner = GmshRunner(GMSH_APP_PATH) + gmsh_runner.set_input_file(gmsh_input) + + return (gmsh_runner,gmsh_modifier) + +def check_solve(check_file: Path, check_str: str) -> int: + check_count = 0 + if check_file.is_file(): + with open(check_file,'r', encoding="utf-8") as so: + stdout_lines = so.readlines() + for ll in stdout_lines: + if check_str in ll: + check_count += 1 + return check_count + + +def check_solve_converged(check_stdout: Path) -> int: + return check_solve(check_stdout,'Solve Converged!') + + +def check_solve_error(check_stdout: Path) -> int: + return check_solve(check_stdout,'*** ERROR ***') + + +def check_output_key_file_count(check_dir: Path) -> int: + work_dir_files = os.listdir(check_dir) + + key_count = 0 + for ff in work_dir_files: + if 'output-key' in ff: + key_count += 1 + + return key_count + + +def check_run_sweep(check_herd: MooseHerd, + dir_manager: DirectoryManager, + run_call: int) -> None: + for ll in dir_manager.get_output_paths(): + for ff in ll: + if ff is not None: + assert ff.is_file(), \ + f"Simulation output {ff} does not exist." + + assert check_herd.get_sweep_time() >= 0, \ + 'Sweep run time is less than 0.' + assert dir_manager.get_output_key_file(check_herd.get_sweep_iter()), \ + 'Output key file was not written.' + + output_key_count = check_output_key_file_count( + dir_manager.get_output_key_file( + check_herd.get_sweep_iter()).parent) + assert output_key_count == run_call + + +def check_input_output_count_sequential(check_herd: MooseHerd, + dir_manager: DirectoryManager, + run_call: int) -> None: + (input_count, output_count) = get_input_output_count( + dir_manager.get_all_run_dirs(),'.i','_out.e') + + if not check_herd._keep_all: + num_sims = 1 + else: + num_sims = run_call*len(check_herd._var_sweep) + + assert input_count == num_sims + assert output_count == num_sims + + +def check_input_output_count_para(check_herd: MooseHerd, + dir_manager: DirectoryManager, + run_call: int) -> None: + (input_count, output_count) = get_input_output_count( + dir_manager.get_all_run_dirs(),'.i','_out.e') + + if not check_herd._keep_all: + num_sims = len(check_herd._var_sweep) + else: + num_sims = run_call*len(check_herd._var_sweep) + + assert input_count == num_sims + assert output_count == num_sims + + +def get_input_output_count(run_dirs: list[Path], + in_suffix: str, + out_suffix: str) -> tuple[int,int]: + # Go through all work directories and count the inputs/exoduses + input_count = 0 + output_count = 0 + + for rr in run_dirs: + dir_files = os.listdir(rr) + for ff in dir_files: + if out_suffix in ff: + output_count += 1 + elif in_suffix in ff: + input_count += 1 + + return (input_count, output_count) + + +def run_check_seq(keep_all: bool, + expected: int, + herd: MooseHerd, + dir_manager: DirectoryManager, + sweep_vars: list[list[dict | None]]) -> None: + + herd.set_keep_flag(keep_all) + herd.set_num_para_sims(NUM_PARA) + + herd.run_sequential(sweep_vars) + check_run_sweep(herd, dir_manager, run_call = 1) + check_input_output_count_sequential(herd, dir_manager, run_call = 1) + + herd.run_sequential(sweep_vars) + check_run_sweep(herd, dir_manager, run_call = expected) + check_input_output_count_sequential(herd, dir_manager, run_call = expected) + + +def run_check_para(keep_all: bool, + herd: MooseHerd, + dir_manager: DirectoryManager, + sweep_vars: list[list[dict | None]]) -> None: + herd.set_keep_flag(keep_all) + herd.set_num_para_sims(NUM_PARA) + + for rr in range(NUM_CALLS): + if keep_all: + run_check = rr+1 + else: + run_check = 1 + + herd.run_para(sweep_vars) + check_run_sweep(herd, dir_manager, run_check) + check_input_output_count_para(herd, dir_manager, run_check) + +def debug_print(to_print: Any) -> None: + print() + print('-'*80) + pprint(to_print) + print('-'*80) + print() + diff --git a/dependencies/mooseherder/tests/inputmodifier_gmsh_test.py b/dependencies/mooseherder/tests/inputmodifier_gmsh_test.py new file mode 100644 index 00000000..3ffe17b9 --- /dev/null +++ b/dependencies/mooseherder/tests/inputmodifier_gmsh_test.py @@ -0,0 +1,101 @@ +''' +============================================================================== +TEST: InputModifier with Gmsh + +Authors: Lloyd Fletcher +============================================================================== +''' +import os +from pathlib import Path +import pytest +from mooseherder.inputmodifier import InputModifier + + +@pytest.fixture +def gmsh_mod(): + input_file = Path('tests/gmsh/gmsh-test.geo') + return InputModifier(input_file,'//',';') + + +@pytest.fixture(autouse=True) +def setup_teardown_gmsh(): + # Setup here + yield + # Teardown here - remove output files + test_dir = 'tests/gmsh/' + all_files = os.listdir(test_dir) + for ff in all_files: + if '-mod' in ff: + os.remove(test_dir + ff) + + +def test_gmsh_find_vars(gmsh_mod): + gmsh_mod.find_vars() + assert gmsh_mod._var_start_ind == 11 + assert gmsh_mod._var_end_ind == 17 + + +def test_gmsh_read_vars(gmsh_mod): + gmsh_mod.read_vars() + assert gmsh_mod._vars == {'p0': 0.0015, + 'p1': 0.001, + 'p2': 0.0012, + 'filename': '"gmsh-test.msh"'} + + +def test_gmsh_get_vars(gmsh_mod): + assert gmsh_mod.get_vars() == {'p0': 0.0015, + 'p1': 0.001, + 'p2': 0.0012, + 'filename': '"gmsh-test.msh"'} + +def test_gmsh_update_vars(gmsh_mod): + new_vars = {'p1': 0.0009, + 'p2': 0.001} + gmsh_mod.update_vars(new_vars) + assert gmsh_mod._vars == {'p0': 0.0015, + 'p1': 0.0009, + 'p2': 0.001, + 'filename': '"gmsh-test.msh"'} + + +def test_gmsh_update_vars_error(gmsh_mod): + new_vars = {'p1': 0.0009, + 'p7': 0.001} + with pytest.raises(KeyError) as errinfo: + gmsh_mod.update_vars(new_vars) + msg, = errinfo.value.args + assert msg == "Key p7 does not exist in the variables found in the input file. Check input file to make sure the variable exists." + + +def test_gmsh_write_file(gmsh_mod): + new_vars = {'p1': 0.0009, + 'p2': 0.001} + gmsh_mod.update_vars(new_vars) + + mod_file = Path('tests/gmsh/gmsh_vartest-mod.geo') + gmsh_mod.write_file(mod_file) + assert os.path.isfile(mod_file) + + gmsh_mod_check = InputModifier(mod_file,'//',';') + assert gmsh_mod_check._vars == {'p0': 0.0015, + 'p1': 0.0009, + 'p2': 0.001, + 'filename': '"gmsh-test.msh"'} + + +@pytest.mark.parametrize( + ('input_str','expected'), + ( + pytest.param('',('','',''),id='Degenerate blank case'), + pytest.param('x1 = 1;',('x1',1.0,''),id='Variable only, int case'), + pytest.param('x2 = 100.0;',('x2',100.0,''),id='Variable only, float case'), + pytest.param('x3 = 1e3;',('x3',1000.0,''),id='Variable only, exponential case'), + pytest.param('order = SECOND;',('order','SECOND',''),id='Variable only, string case'), + pytest.param('x=10; // comment',('x',10.0,' comment'),id='Numeric variable and comment case'), + pytest.param('// comment',('','',' comment'),id='Comment only case'), + ) +) +def test_extract_var_str_gmsh(input_str,expected,gmsh_mod): + ext_strs = gmsh_mod._extract_var_str(input_str) + assert ext_strs == expected diff --git a/dependencies/mooseherder/tests/inputmodifier_moose_test.py b/dependencies/mooseherder/tests/inputmodifier_moose_test.py new file mode 100644 index 00000000..74ab52ec --- /dev/null +++ b/dependencies/mooseherder/tests/inputmodifier_moose_test.py @@ -0,0 +1,177 @@ +""" +============================================================================== +TEST: InputModifier with MOOSE + +Authors: Lloyd Fletcher +============================================================================== +""" +import os +from pathlib import Path +import pytest +from mooseherder.inputmodifier import InputModifier + + +@pytest.fixture +def moose_mod() -> InputModifier: + input_file = Path("tests/moose/moose-test.i") + return InputModifier(input_file, "#", "") + + +@pytest.fixture(autouse=True) +def setup_teardown_moose(): + # Setup here + yield + # Teardown here - remove output files + test_dir = Path("tests/moose/") + all_files = os.listdir(test_dir) + for ff in all_files: + if "-mod" in ff: + os.remove(test_dir / ff) + + +def test_moose_find_vars(moose_mod: InputModifier) -> None: + moose_mod.find_vars() + assert moose_mod._var_start_ind == 3 + assert moose_mod._var_end_ind == 14 + + +def test_moose_read_vars(moose_mod: InputModifier) -> None: + moose_mod.read_vars() + assert moose_mod._vars == { + "n_elem_x": 20, + "n_elem_y": 10, + "e_modulus": 1000000000.0, + "p_ratio": 0.3, + "e_type": "QUAD4", + "add_vars": "true", + "y_max": 1.0, + "x_max": "${fparse 2*y_max}", + } + + +def test_moose_get_vars(moose_mod: InputModifier) -> None: + assert moose_mod.get_vars() == { + "n_elem_x": 20, + "n_elem_y": 10, + "e_modulus": 1000000000.0, + "p_ratio": 0.3, + "e_type": "QUAD4", + "add_vars": "true", + "y_max": 1.0, + "x_max": "${fparse 2*y_max}", + } + + +def test_moose_update_vars(moose_mod: InputModifier): + # Changes number of y elements, elastic modulus and element type + # Does not change add_vars or other variables + new_vars = {"n_elem_y": 25, "e_modulus": 2e9, "e_type": "QUAD8", "add_vars": "true"} + moose_mod.update_vars(new_vars) + assert moose_mod._vars == { + "n_elem_x": 20, + "n_elem_y": 25, + "e_modulus": 2e9, + "p_ratio": 0.3, + "e_type": "QUAD8", + "add_vars": "true", + "y_max": 1.0, + "x_max": "${fparse 2*y_max}", + } + + +def test_moose_update_vars_error(moose_mod: InputModifier): + new_vars = {"n_elem_y": 25, "n_elem_z": 50} + + with pytest.raises(KeyError) as err_info: + moose_mod.update_vars(new_vars) + + (msg,) = err_info.value.args + assert ( + msg + == "Key n_elem_z does not exist in the variables found in the input file." + + " Check input file to make sure the variable exists." + ) + + +def test_moose_write_file(moose_mod: InputModifier) -> None: + new_vars = {"n_elem_y": 25, "e_modulus": 2e9, "e_type": "QUAD8"} + moose_mod.update_vars(new_vars) + + mod_file = Path("tests/moose/moose-test-mod.i") + moose_mod.write_file(mod_file) + assert os.path.isfile(mod_file) + + moose_mod_check = InputModifier(mod_file, "#", "") + assert moose_mod_check._vars == { + "n_elem_x": 20, + "n_elem_y": 25, + "e_modulus": 2e9, + "p_ratio": 0.3, + "e_type": "QUAD8", + "add_vars": "true", + "y_max": 1.0, + "x_max": "${fparse 2*y_max}", + } + + +def test_moose_get_var_keys(moose_mod: InputModifier): + assert moose_mod.get_var_keys() == [ + "n_elem_x", + "n_elem_y", + "e_modulus", + "p_ratio", + "e_type", + "add_vars", + "y_max", + "x_max", + ] + + +def test_moose_get_input_file(moose_mod: InputModifier): + assert moose_mod.get_input_file() == Path("tests/moose/moose-test.i") + + +@pytest.mark.parametrize( + ("input_str", "expected"), + ( + pytest.param("", ("", "", ""), id="Degenerate blank case"), + pytest.param("\t \n", ("", "", ""), id="Degenerate whitespace case"), + pytest.param("x1 = 1", ("x1", 1.0, ""), id="Variable only, int case"), + pytest.param("x2 = 100.0", ("x2", 100.0, ""), id="Variable only, float case"), + pytest.param( + "x3 = 1e3", ("x3", 1000.0, ""), id="Variable only, exponential case" + ), + pytest.param( + "order = SECOND", ("order", "SECOND", ""), id="Variable only, string case" + ), + pytest.param( + "x=10 # comment", + ("x", 10.0, " comment"), + id="Numeric variable and comment case", + ), + pytest.param( + "fun = $fparse{2*x}", + ("fun", "$fparse{2*x}", ""), + id="String variable, no commentcase", + ), + pytest.param( + "fun = $fparse{2*x} # comment", + ("fun", "$fparse{2*x}", " comment"), + id="String variable and comment case", + ), + pytest.param( + "fun = ${fparse 2*x}", + ("fun", "${fparse 2*x}", ""), + id="String variable, no comment case, retain whitespace for fparse", + ), + pytest.param( + "fun = ${fparse 2*x} # comment", + ("fun", "${fparse 2*x}", " comment"), + id="String variable and comment case, retain whitespace for fparse", + ), + pytest.param("# comment", ("", "", " comment"), id="Comment only case"), + ), +) +def test_extract_var_str_moose(input_str, expected, moose_mod): + ext_strs = moose_mod._extract_var_str(input_str) + assert ext_strs == expected diff --git a/dependencies/mooseherder/tests/moose/moose-test-broken.i b/dependencies/mooseherder/tests/moose/moose-test-broken.i new file mode 100644 index 00000000..f3005ba4 --- /dev/null +++ b/dependencies/mooseherder/tests/moose/moose-test-broken.i @@ -0,0 +1,94 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +n_elem_x = 40 # Putting this variable outside the block to test + +#_* Variables Block +# n_elem_x = 50 putting an equals sign here to test +# n_elem_y = 20 # Testing comments in the variables block, this line is broken +e_modulus = 1e9 +# Comment line to test +p_ratio = 0.3# Another comment to test with +# The next variables test strings +e_type = QUAD4 +add_vars = true +y_max = 1 +x_max = ${fparse 2*y_max} +#** + +# Another variable outside the block to test +spatial_dims = 2 + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${spatial_dims} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = ${x_max} + ymax = ${y_max} + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = ${add_vars} + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/moose/moose-test-gmsh.i b/dependencies/mooseherder/tests/moose/moose-test-gmsh.i new file mode 100644 index 00000000..6183bf97 --- /dev/null +++ b/dependencies/mooseherder/tests/moose/moose-test-gmsh.i @@ -0,0 +1,73 @@ +#_* Variables +e_modulus = 1e9 +p_ratio = 0.3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + type = FileMesh + file = 'gmsh-test.msh' +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [./u_top_pull] + type = Pressure + variable = disp_y + boundary = Top-BC + function = -1e7*t + [../] + [./u_bottom_fix] + type = DirichletBC + variable = disp_y + boundary = Btm-BC + value = 0.0 + [../] + [./u_yz_fix] + type = DirichletBC + variable = disp_x + boundary = Mid-BC + value = 0.0 + [../] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + #type = ComputeFiniteStrainElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = 2 + dt = 1 +[] + + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/moose/moose-test.i b/dependencies/mooseherder/tests/moose/moose-test.i new file mode 100644 index 00000000..93020cb1 --- /dev/null +++ b/dependencies/mooseherder/tests/moose/moose-test.i @@ -0,0 +1,94 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +spatial_dims = 2 + +#_* Variables Block +n_elem_x = 20 # putting an equals sign here to test +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 1e9 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +# The next variables test strings +e_type = QUAD4 +add_vars = true +y_max = 1 +x_max = ${fparse 2*y_max} +#** End Variable Block + +# Another variable outside the block to test +time_end = 2 + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${spatial_dims} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = ${x_max} + ymax = ${y_max} + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = ${add_vars} + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] diff --git a/dependencies/mooseherder/tests/mooseconfig_test.py b/dependencies/mooseherder/tests/mooseconfig_test.py new file mode 100644 index 00000000..d2ba8dd5 --- /dev/null +++ b/dependencies/mooseherder/tests/mooseconfig_test.py @@ -0,0 +1,160 @@ +''' +============================================================================== +TEST: MooseConfig + +Authors: Lloyd Fletcher +============================================================================== +''' +import os +from pathlib import Path +import pytest +from mooseherder.mooseconfig import MooseConfig, MooseConfigError +import tests.herdchecker as hc + + +@pytest.fixture +def config_dict() -> dict[str, Path | str]: + return {'main_path': hc.MOOSE_PATH, + 'app_path': hc.MOOSE_APP_PATH, + 'app_name': hc.MOOSE_APP_NAME} + + +@pytest.fixture +def config_dict_str() -> dict[str,str]: + return {'main_path': str(hc.MOOSE_PATH), + 'app_path': str(hc.MOOSE_APP_PATH), + 'app_name': str(hc.MOOSE_APP_NAME)} + + +@pytest.fixture +def config_dict_broken_path() -> dict[str, Path | str]: + return {'main_path': Path().home() / 'no-exist', + 'app_path': Path().home() / 'no-exist', + 'app_name': 'broken-opt'} + + +@pytest.fixture +def config_dict_broken_key() -> dict[str, Path | str]: + return {'main_path': hc.MOOSE_PATH, + 'app_name': hc.MOOSE_APP_NAME} + + +@pytest.fixture +def config(config_dict: dict[str, Path | str]) -> MooseConfig: + return MooseConfig(config_dict) + + +def test_init_config_blank() -> None: + moose_config = MooseConfig() + assert moose_config is not None + + +def test_init_config(config: MooseConfig) -> None: + assert config is not None + + +def test_init_config_key_err(config_dict_broken_key: dict[str, Path | str] + ) -> None: + with pytest.raises(MooseConfigError) as err_info: + moose_config = MooseConfig(config_dict_broken_key) + + (msg,) = err_info.value.args + assert msg == "Config dictionary must contain all keys: ['main_path', 'app_path', 'app_name']" + + +def test_init_config_path_err(config_dict_broken_path: dict[str, Path | str] + ) -> None: + with pytest.raises(MooseConfigError) as err_info: + moose_config = MooseConfig(config_dict_broken_path) + + (msg,) = err_info.value.args + assert msg == "Main path to MOOSE does not exist. Check path at key 'main_path'." + + +def test_get_config(config: MooseConfig, + config_dict: dict[str, Path | str]) -> None: + check_config = config.get_config() + assert check_config == config_dict + + +def test_blank_config_get_err() -> None: + moose_config = MooseConfig() + + with pytest.raises(MooseConfigError) as err_info: + check_config = moose_config.get_config() + + (msg,) = err_info.value.args + assert msg == 'Config dictionary must be initialised, load config file first.' + + +def test_convert_path_to_str(config_dict: dict[str, Path | str], + config_dict_str: dict[str, str]) -> None: + conv_config = MooseConfig().convert_path_to_str(config_dict) + assert conv_config == config_dict_str + + +def test_convert_path_to_str_blank() -> None: + conv_config = MooseConfig().convert_path_to_str(None) + assert conv_config is None + + +def test_convert_str_to_path(config_dict: dict[str, Path | str], + config_dict_str: dict[str, str]) -> None: + conv_config = MooseConfig().convert_str_to_path(config_dict_str) + assert conv_config == config_dict + + +def test_convert_str_to_path_blank() -> None: + conv_config = MooseConfig().convert_str_to_path(None) + assert conv_config is None + + +def test_save_config(config: MooseConfig) -> None: + save_path = Path('tests/config/moose-config.json') + config.save_config(save_path) + assert save_path.is_file() + os.remove(save_path) + + +def test_save_config_parent_dir_err(config: MooseConfig) -> None: + save_path = Path('tests/no-exist/moose-config.json') + with pytest.raises(MooseConfigError) as err_info: + config.save_config(save_path) + + (msg,) = err_info.value.args + assert msg == 'Parent path to save config file does not exist.' + + +def test_read_config(config_dict: dict[str, Path | str]) -> None: + read_path = Path().cwd() / 'moose-config.json' + read_config = MooseConfig().read_config(read_path) + assert read_config.get_config() == config_dict + + +def test_read_config_exist_err() -> None: + read_path = Path('tests/no-exist/moose-config-no-exist.json') + with pytest.raises(MooseConfigError) as err_info: + read_config = MooseConfig().read_config(read_path) + + (msg,) = err_info.value.args + assert msg == 'MOOSE config file does not exist at: tests/no-exist/moose-config-no-exist.json.' + + +def test_read_config_key_err() -> None: + read_path = Path('tests/config/moose-config-break-key.json') + + with pytest.raises(MooseConfigError) as err_info: + read_config = MooseConfig().read_config(read_path) + + (msg,) = err_info.value.args + assert msg == "Config dictionary must contain all keys: ['main_path', 'app_path', 'app_name']" + + +def test_read_config_path_err() -> None: + read_path = Path('tests/config/moose-config-break-path.json') + + with pytest.raises(MooseConfigError) as err_info: + read_config = MooseConfig().read_config(read_path) + + (msg,) = err_info.value.args + assert msg == "Main path to MOOSE does not exist. Check path at key 'main_path'." diff --git a/dependencies/mooseherder/tests/mooseherd_test.py b/dependencies/mooseherder/tests/mooseherd_test.py new file mode 100644 index 00000000..291d270c --- /dev/null +++ b/dependencies/mooseherder/tests/mooseherd_test.py @@ -0,0 +1,319 @@ +''' +============================================================================== +TEST: MooseHerd Tests + +Authors: Lloyd Fletcher +============================================================================== +''' +import os +import pytest +from pytest import MonkeyPatch +from mooseherder.mooseherd import MooseHerd +from mooseherder.directorymanager import DirectoryManager +import tests.herdchecker as hct + + +@pytest.fixture +def dir_manager() -> DirectoryManager: + return DirectoryManager(hct.NUM_DIRS) + + +@pytest.fixture() +def herd_blank() -> MooseHerd: + (moose_runner,moose_modifier) = hct.create_moose_objs(hct.MOOSE_INPUT) + blank_manager = DirectoryManager(hct.NUM_DIRS) + return MooseHerd([moose_runner],[moose_modifier],blank_manager) + + +@pytest.fixture() +def herd(dir_manager) -> MooseHerd: + (moose_runner,moose_modifier) = hct.create_moose_objs(hct.MOOSE_INPUT) + return MooseHerd([moose_runner],[moose_modifier],dir_manager) + + +@pytest.fixture() +def herd_gmsh(dir_manager) -> MooseHerd: + (moose_runner,moose_modifier) = hct.create_moose_objs(hct.MOOSE_INPUT) + (gmsh_runner,gmsh_modifier) = hct.create_gmsh_objs(hct.GMSH_INPUT) + + runners = [gmsh_runner,moose_runner] + modifiers = [gmsh_modifier,moose_modifier] + + return MooseHerd(runners,modifiers,dir_manager) + + +@pytest.fixture(autouse=True) +def setup_teardown(dir_manager): + # Setup here + dir_manager.set_base_dir(hct.BASE_DIR) + dir_manager.create_dirs() + yield + # Teardown here + dir_manager.clear_dirs() + + +@pytest.fixture() +def moose_sweep() -> list[list[dict]]: + e_mod = [1e9,2e9] + p_rat = [0.3,0.35] + + moose_vars = list([]) + for ee in e_mod: + for pp in p_rat: + moose_vars.append([{'e_modulus':ee,'p_ratio':pp}]) + + return moose_vars + + +@pytest.fixture() +def moose_sweep_seq() -> list[list[dict]]: + e_mod = [1e9] + p_rat = [0.3,0.35] + + moose_vars = list() + for ee in e_mod: + for pp in p_rat: + moose_vars.append([{'e_modulus':ee,'p_ratio':pp}]) + + return moose_vars + + +@pytest.fixture() +def gmsh_sweep() -> list[list[dict | None]]: + p0 = [1E-3,1.1E-3] + p1 = [1.5E-3,2E-3] + + gmsh_vars = list() + for ii in p0: + for jj in p1: + gmsh_vars.append([{'p0':ii ,'p1':jj},None]) + + return gmsh_vars + + +@pytest.fixture() +def gmsh_sweep_seq() -> list[list[dict | None]]: + p0 = [1E-3,] + p1 = [1.5E-3,2E-3] + + gmsh_vars = list() + for ii in p0: + for jj in p1: + gmsh_vars.append([{'p0':ii ,'p1':jj},None]) + + return gmsh_vars + + +def test_create_herd_blank(herd_blank: MooseHerd) -> None: + assert herd_blank is not None + + +def test_create_herd(herd: MooseHerd) -> None: + assert herd is not None + + +def test_create_herd_gmsh(herd_gmsh: MooseHerd) -> None: + assert herd_gmsh is not None + + +def test_set_input_copy_names(herd: MooseHerd) -> None: + new_names = ['sim-name'] + herd.set_input_copy_names(new_names) + assert herd._input_names == new_names + + herd.set_input_copy_names() + assert herd._input_names == ['sim-1'] + + +def test_set_keep_flag(herd: MooseHerd) -> None: + herd.set_keep_flag(True) + assert herd._keep_all == True + + herd.set_keep_flag(False) + assert herd._keep_all == False + + herd.set_keep_flag() + assert herd._keep_all == True + + +@pytest.mark.parametrize( + ('n_para','expected'), + ( + (0, 1), + (-1,1), + (2.5,2), + (os.cpu_count()+1,os.cpu_count()) # type: ignore + ) +) +def test_set_num_para_sims(n_para: int, expected: int, herd: MooseHerd): + herd.set_num_para_sims(n_para) + assert herd._n_para_sims == expected + + +@pytest.mark.parametrize( + ('process','expected'), + ( + ('MainProcess', '1'), + ('process-1','1'), + ('process-2','2'), + ('process-3','2'), + ('process-4','1'), + ) +) +def test_get_worker_num(process: str, + expected: str, + monkeypatch, + herd: MooseHerd) -> None: + monkeypatch.setattr(MooseHerd,'_get_process_name',lambda _: process) + worker_num = herd._get_worker_num() + assert worker_num == expected + + +@pytest.mark.parametrize( + ('sim_iter','worker_num','keep_all','expected'), + ( + (0,'1',False, '1'), + (4,'2',False, '2'), + (10,'3',False, '3'), + (0,'1',True, '1'), + (1,'2',True, '2'), + (3,'5',True, '4'), + ) +) +def test_get_run_num(sim_iter: int, + worker_num: str, + keep_all: bool, + expected: str, + herd: MooseHerd) -> None: + herd.set_num_para_sims(hct.NUM_PARA) + herd.set_keep_flag(keep_all) + run_num = herd._get_run_num(sim_iter,worker_num) + assert run_num == expected + + +@pytest.mark.parametrize( + ('sim_iter','worker_num'), + ( + (0,'1'), + (8,'4'), + ) +) +def test_run_once_moose_only(sim_iter: int, + worker_num: str, + herd: MooseHerd, + moose_sweep: list[list[dict]], + monkeypatch): + # Force the process number to be not the main process + monkeypatch.setattr(MooseHerd, '_get_worker_num', lambda _: worker_num) + + herd.set_num_para_sims(hct.NUM_PARA) + + output_paths = herd.run_once(sim_iter,moose_sweep[0]) # type: ignore + + worker_path = output_paths[0].parent # type: ignore + stdout_file = worker_path / 'stdout.processor.0' # type: ignore + + assert output_paths[0].is_file(), 'Output exodus does not exist, MOOSE run failed.' # type: ignore + assert stdout_file.is_file(), 'stdout file does not exist, MOOSE run failed or redirect flag set incorrectly.' + assert hct.check_solve_converged(stdout_file), 'MOOSE run did not converge, check stdout file.' + assert herd._iter_run_time >= 0, 'Iteration run time is less than 0' + + +@pytest.mark.parametrize( + ('sim_iter','worker_num'), + ( + (0,'1'), + (8,'4'), + ) +) +def test_run_once_with_gmsh(sim_iter: int, + worker_num: str, + herd_gmsh: MooseHerd, + gmsh_sweep: list[list[dict]], + monkeypatch): + # Force the process number to be not the main process + monkeypatch.setattr(MooseHerd, '_get_worker_num', lambda _: worker_num) + + herd_gmsh.set_num_para_sims(hct.NUM_PARA) + + output_paths = herd_gmsh.run_once(sim_iter,gmsh_sweep[0]) # type: ignore + + worker_path = output_paths[1].parent # type: ignore + stdout_file = worker_path / 'stdout.processor.0' # type: ignore + + assert (worker_path / 'gmsh-test.msh').is_file(), 'Gmsh mesh was not created.' + assert output_paths[1].is_file(), 'Output exodus does not exist, MOOSE run failed.' # type: ignore + assert stdout_file.is_file(), 'stdout file does not exist, MOOSE run failed or redirect flag set incorrectly.' + assert hct.check_solve_converged(stdout_file), 'MOOSE run did not converge, check stdout file.' + assert herd_gmsh._iter_run_time >= 0, 'Iteration run time is less than 0' + + +@pytest.mark.parametrize( + ('keep_all', 'expected'), + ( + (True, 2), + (False, 1), + ) +) +def test_run_sequential_moose_only(keep_all: bool, + expected: int, + herd: MooseHerd, + dir_manager: DirectoryManager, + moose_sweep_seq: list[list[dict | None]]): + hct.run_check_seq(keep_all, + expected, + herd, + dir_manager, + moose_sweep_seq) + +@pytest.mark.parametrize( + ('keep_all', 'expected'), + ( + (True, 2), + (False, 1), + ) +) +def test_run_sequential_with_gmsh(keep_all: bool, + expected: int, + herd_gmsh: MooseHerd, + dir_manager: DirectoryManager, + gmsh_sweep_seq: list[list[dict | None]]): + hct.run_check_seq(keep_all, + expected, + herd_gmsh, + dir_manager, + gmsh_sweep_seq) + + +@pytest.mark.parametrize( + ('keep_all',), + ( + (True,), + (False,), + ) +) +def test_run_para_moose_only(keep_all: bool, + herd: MooseHerd, + dir_manager: DirectoryManager, + moose_sweep: list[list[dict | None]]): + hct.run_check_para(keep_all, + herd, + dir_manager, + moose_sweep) + +@pytest.mark.parametrize( + ('keep_all',), + ( + (True,), + (False,), + ) +) +def test_run_para_with_gmsh(keep_all: bool, + herd_gmsh: MooseHerd, + dir_manager: DirectoryManager, + gmsh_sweep: list[list[dict | None]]): + hct.run_check_para(keep_all, + herd_gmsh, + dir_manager, + gmsh_sweep) + diff --git a/dependencies/mooseherder/tests/mooserunner_test.py b/dependencies/mooseherder/tests/mooserunner_test.py new file mode 100644 index 00000000..25b9dced --- /dev/null +++ b/dependencies/mooseherder/tests/mooserunner_test.py @@ -0,0 +1,233 @@ +''' +============================================================================== +TEST: MooseRunner + +Authors: Lloyd Fletcher +============================================================================== +''' + +import os +from pathlib import Path +import pytest +from mooseherder.mooserunner import MooseRunner +import tests.herdchecker as hc + + +@pytest.fixture() +def runner() -> MooseRunner: + moose_config = hc.create_moose_config() + return MooseRunner(moose_config) + +@pytest.fixture() +def input_path() -> Path: + return Path('tests/moose/moose-test.i') + +@pytest.fixture() +def input_noexist() -> Path: + return Path('tests/moose/moose-test-noexist.i') + +@pytest.fixture() +def input_broken() -> Path: + return Path('tests/moose/moose-test-broken.i') + +@pytest.fixture() +def input_runner(input_path: Path) -> MooseRunner: + moose_config = hc.create_moose_config() + my_runner = MooseRunner(moose_config) + my_runner.set_input_file(input_path) + return my_runner + +@pytest.fixture(autouse=True) +def setup_teardown(input_runner: MooseRunner): + # Setup here + yield + # Teardown here - remove output exodus files + moose_files = os.listdir(input_runner.get_input_dir()) + for ff in moose_files: + if '.e' in ff: + os.remove(input_runner.get_input_dir() / ff) # type: ignore + + stdout_files = os.listdir(input_runner.get_input_dir()) + for ff in stdout_files: + if 'stdout.processor' in ff: + os.remove(input_runner.get_input_dir() / ff) # type: ignore + +def test_set_env_vars(runner: MooseRunner) -> None: + runner.set_env_vars() + assert os.environ['CC'] == 'mpicc' + assert os.environ['CXX'] == 'mpicxx' + assert os.environ['F90'] == 'mpif90' + assert os.environ['F77'] == 'mpif77' + assert os.environ['FC'] == 'mpif90' + assert os.environ['MOOSE_DIR'] == str(runner._config['main_path']) + +@pytest.mark.parametrize( + ('n_threads','expected'), + ( + (0, 1), + (-1,1), + (2.5,2), + (os.cpu_count()+1,os.cpu_count()) # type: ignore + ) +) +def test_set_threads(n_threads: int,expected: int ,runner: MooseRunner) -> None: + runner.set_threads(n_threads) + assert runner._n_threads == expected + +@pytest.mark.parametrize( + ('n_tasks','expected'), + ( + (0, 1), + (-1,1), + (2.5,2), + (os.cpu_count()+1,os.cpu_count()) # type: ignore + ) +) +def test_set_tasks(n_tasks: int, expected: int, runner: MooseRunner): + runner.set_tasks(n_tasks) + assert runner._n_tasks == expected + + +@pytest.mark.parametrize( + ('in_flag','expected'), + ( + (True,True), + (False,False) + ) +) +def test_set_stdout(in_flag: bool, expected: bool, runner: MooseRunner): + runner.set_stdout(in_flag) + assert runner._redirect_stdout == expected + + +def test_set_input_file(runner: MooseRunner, input_path: Path) -> None: + runner.set_input_file(input_path) + + assert runner._input_path == input_path + + +def test_set_input_file_err(runner: MooseRunner) -> None: + with pytest.raises(FileNotFoundError) as err_info: + new_input = Path('tests/moose/moose-test-noexist.i') + runner.set_input_file(new_input) + + msg, = err_info.value.args + assert msg == 'Input file does not exist.' + + +def test_get_input_strs(runner: MooseRunner, input_runner: MooseRunner) -> None: + assert runner.get_input_dir() is None + assert runner.get_input_tag() == '' + assert input_runner.get_input_dir() == Path('tests/moose/') + assert input_runner.get_input_tag() == 'moose-test' + + +def test_get_output_path(runner: MooseRunner,input_runner: MooseRunner): + assert runner.get_output_path() is None + assert input_runner.get_output_path() == Path('tests/moose/moose-test_out.e') + + +@pytest.mark.parametrize( + ('opts','expected'), + ( + ((1,1,False), ['proteus-opt','--n-threads=1','-i','moose-test.i']), + ((1,2,False), ['proteus-opt','--n-threads=2','-i','moose-test.i']), + ((1,2,True), ['proteus-opt','--n-threads=2','-i','moose-test.i','--redirect-stdout']), + ((2,2,False), ['mpirun','-np','2','proteus-opt','--n-threads=2','-i','moose-test.i']), + ((2,2,True), ['mpirun','-np','2','proteus-opt','--n-threads=2','-i','moose-test.i','--redirect-stdout']), + ) +) +def test_assemble_arg_list(opts: tuple[int,int,bool], + expected: str, + input_runner: MooseRunner) -> None: + input_runner.set_run_opts(opts[0],opts[1],opts[2]) + assert input_runner.assemble_arg_list() == expected + + +@pytest.mark.parametrize( + ('opts','expected'), + ( + ((1,1,False), ['proteus-opt','--n-threads=1','-i','moose-test.i']), + ((1,2,False), ['proteus-opt','--n-threads=2','-i','moose-test.i']), + ((1,2,True), ['proteus-opt','--n-threads=2','-i','moose-test.i','--redirect-stdout']), + ((2,2,False), ['mpirun','-np','2','proteus-opt','--n-threads=2','-i','moose-test.i']), + ((2,2,True), ['mpirun','-np','2','proteus-opt','--n-threads=2','-i','moose-test.i','--redirect-stdout']), + ) +) +def test_assemble_arg_list_with_input(opts: tuple[int,int,bool], + expected: str, + runner: MooseRunner, + input_path: Path) -> None: + runner.set_run_opts(opts[0],opts[1],opts[2]) + assert runner.assemble_arg_list(input_path) == expected + + +def test_assemble_arg_list_err(runner: MooseRunner) -> None: + with pytest.raises(RuntimeError) as err_info: + runner.assemble_arg_list() + + msg, = err_info.value.args + assert msg == 'No input file specified, set one using set_input_file or by passing on into this function.' + + +def test_assemble_arg_list_err_with_input(runner: MooseRunner, + input_noexist: Path) -> None: + with pytest.raises(FileNotFoundError) as err_info: + runner.assemble_arg_list(input_noexist) + + msg, = err_info.value.args + assert msg == 'Input file does not exist.' + + +@pytest.mark.parametrize( + ('opts','stdout_exist'), + ( + ((1,1,False), (False,False)), + ((1,4,False), (False,False)), + ((1,4,True), (True,False)), + ((2,4,False), (False,False)), + ((2,4,True), (True,True)), + ) +) +def test_run(opts: tuple[int,int,bool], + stdout_exist: tuple[bool,bool], + input_runner: MooseRunner) -> None: + input_runner.set_run_opts(opts[0],opts[1],opts[2]) + input_runner.run() + + assert os.path.isfile(input_runner.get_output_path()) is True, 'No exodus output.' # type: ignore + assert os.path.isfile(input_runner.get_input_dir() / 'stdout.processor.0') == stdout_exist[0], 'stdout.processor.0 does not exist.' # type: ignore + assert os.path.isfile(input_runner.get_input_dir() / 'stdout.processor.1') == stdout_exist[1], 'stdout.processor.1 does not exist.' # type: ignore + if opts[2]: # If there is a stdout it can be read to check for convergence + check_path = input_runner.get_input_dir() / 'stdout.processor.0' # type: ignore + assert hc.check_solve_converged(check_path) >= 1, 'Solve has not converged.' + + +def test_run_broken(runner: MooseRunner, input_broken: Path) -> None: + runner.set_run_opts(1,4,True) + runner.run(input_broken) + + stdout_file = runner.get_input_dir() / 'stdout.processor.0' # type: ignore + + assert os.path.isfile(runner.get_output_path()) is False # type: ignore + assert os.path.isfile(stdout_file) is True # type: ignore + + assert hc.check_solve_error(stdout_file) >= 1, 'Error string not found in stdout' + assert hc.check_solve_converged(stdout_file) == 0, 'Solve converged when it should have errored' + + +def test_run_noexist(runner: MooseRunner, input_noexist: Path) -> None: + with pytest.raises(FileNotFoundError) as err_info: + runner.run(input_noexist) + + msg, = err_info.value.args + assert msg == 'Input file does not exist.' + + +def test_run_with_input(runner: MooseRunner, input_path: Path) -> None: + runner.set_run_opts(1,4,True) + runner.run(input_path) + + assert os.path.isfile(runner.get_output_path()) is True, 'Exodus output does not exist when solve should have run' # type: ignore + assert os.path.isfile(runner.get_input_dir() / 'stdout.processor.0') is True, 'Stdout does not exist when it should.' # type: ignore + assert hc.check_solve_converged(runner.get_input_dir() / 'stdout.processor.0') >= 1, 'Solve did not converge when it should have.' # type: ignore \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/moose-mech-outtest.i b/dependencies/mooseherder/tests/output/moose-mech-outtest.i new file mode 100644 index 00000000..0dbbc842 --- /dev/null +++ b/dependencies/mooseherder/tests/output/moose-mech-outtest.i @@ -0,0 +1,136 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 2e9 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] + + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '0 0 0' + top_right = '1 1 0' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '1 0 0' + top_right = '2 1 0' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress stress_yy stress_xx stress_xy strain_xx strain_yy strain_xy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity1] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + block = 1 + [] + [elasticity2] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${fparse 0.25*e_modulus} + poissons_ratio = ${fparse 0.5*p_ratio} + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = NEWTON + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + [./out] + type = Exodus + elemental_as_nodal = true + [../] + csv = true +[] + +[Postprocessors] + [./react_y] + type = SidesetReaction + direction = '0 1 0' + stress_tensor = stress + boundary = 'bottom' + [../] + [./max_y_disp] + type = NodalExtremeValue + variable = disp_y + [../] + [./max_yy_stress] + type = ElementExtremeValue + variable = stress_yy + [../] + [./avg_yy_stress] + type = ElementAverageValue + variable = stress_yy + [../] +[] + + diff --git a/dependencies/mooseherder/tests/output/moose-mech-outtest_out.e b/dependencies/mooseherder/tests/output/moose-mech-outtest_out.e new file mode 100644 index 0000000000000000000000000000000000000000..d79c15826bcd72fe70dccd1210633f8ddf0d8a48 GIT binary patch literal 336948 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

9BaoIl%hmTUh*8GM~ytny^0PGPa`&OO8FH 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%0A&QL_r&IrnGEXD5T?$$NDEj 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 Q-+%8zx}X0BrMH6r0>J$8H2?qr literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-1.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-1.i new file mode 100644 index 00000000..719299b7 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-1.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12.i new file mode 100644 index 00000000..8fe88ffa --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12_out.e b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12_out.e new file mode 100644 index 0000000000000000000000000000000000000000..437769a67aa8cdbd762eb3161df43ea4207223ad GIT binary patch literal 105844 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 U&?g9ewJ;|KbG4CU9dbqd51Hv50RR91 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16.i new file mode 100644 index 00000000..e6aa08ad --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16_out.e b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16_out.e new file mode 100644 index 0000000000000000000000000000000000000000..32645e6a06290e9e8d63135240872b64e46aa9ab GIT binary patch literal 159724 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%0DlRW7k_I$eEw zqqrHX*LnYIW@IRzB8Zeva>PecmctoF8Sy|%+=|A>#YQn!cdeg9sgy^lg-y@cX(J=$ zJ-GN#(z3rEqG3Rn^N9`%adk1m5*4l$RsX#zArcqY03x6|Ec}aDLI(s)sSC)q%Jv?y z4OScnlPVWKP8+4FyFJwg0ZkF{0g_r`E4#hdPNG&h)$T|~PEy7QgO)nplBTA{JvH_{ zgs9ONqoQ!@7bmIY*WLc3O~TVsGCQ=;(5`(sQ9yHuCCX$C4Ub=cPmQdgDer8Fr{Feb zf)ghW(R!nnc8|Dwxc2XQ2?NrZ*%bc(6y^EvG(?R|+knX&!^B3h>+od?foAmlfb2w! z)KlSF2%7#0kx4jeHb3lOb`$CFw$s^)~6UC=>(026pRfvhHGOY z4R~5UVKA~iHMMIssNJA$y;=?4YrPRLI2gyT6rU#Z)bx)`nnh~k8cl@Q$`O_b5>pqY zjYJbM(h_&^gNv*UF zQhLcnbU4G5YPYD^_GXyU>dI<^Rd%yy*TX7{12tWoytPRjxspOas@wEHOEU53h;8S= zK?O`UJ+Y_QAs}iz>Y-Un2kJE4%E=u0ZS|T~+0GU$oiuStHW1eo^e`DcHBJwUh?A){ zXaE`%6g0KnH_M8rpJOr zzl-gZht+-mN-Z1jmWk9Sle)AJoXT(OS9;p{c z^h6so#Sx7>2iY=w`{Kt_V~$C2>0~A#pzO9tsrg|4;Y$Tf=^D}j4P}POv^9m4_E#H~ zVM+}gdv-gLG)}{m4iNSq91uwtD|)2R@AdX$i1ueF0;0nruEm+K7Sf(#Z~vj}mPzrN z)c%bkE|9hTqP2Z=dabSVCQ^rA$vL={WuK=wbzZ&jzCvor$PEHVGX#IG~{vA5b1A5~lkvGsMLO?ocG`$+rKT zLg{EDjZr3xL5qH{q|F=qt4+dyVvQ4r{8s@JhmzaHv4FNqfF$}+NTH!!9g_HoK?Ghc zp!S!z>S8nO-^wB&S~lV0UR1OdzcSb3M@bg-TRZ#D%LxO%b-Z@uBqjSUWIu+^Dtb?a zq(R0I>g=_DmFc(|jvtwtbm+Z*y8&T;z<$Q4AWPD-v2ByspW*+&E%jDrOOVdoks3#7 z@;kftxTT)3NO?Csp~rSUwhiC$fGHE#! zzpcQPN;H1yVzQ>eQ=GKZzWcWoHeF;jw2ejAjL#%)B`IL4&tlkrPD$e*QBsDfK8s=h zwVp z_=am-bWctD4(+`XZ^_igXhDNfZ`R?qRCG)*?#ac4l7{_F5!@Y(t5{mAs9AKeYwOT( zWGkn7L)Z}wZI_!#R@S!4c5P%AT1q|pcV(|=Bl9fhtu7>;jb~vC^5fJODMK=vje{a`CN9tjkKL;Bf zN_WdrI6648m8nr|YvCmMktZD-?CluWXa?YT7!sXAis%C}R&{Ogz8e`E<$vO5p7ND% zY4VV%sE3X>MUr{>993**Q-oBA|BGviv=g_VRXfBl#W(lSlK;V`$bYfrkk&s$P4g4| z|G;_q13!(X@j2yx;ffwFZ%CWdlRS05<7$~&4)UiEE!5jq3>~8^c*-?gT{$iEw<+mdlrrP$Rfc9Pmm?HG%7=uxZm$2deczDhsB-DaF z65C@{_BZF$u_ketgr`w^+lS)vTWd<`N89#aR>*)!A8&|D(Sd;KdOn3D?XQQnw>hNH zjbVR4arqq;gQw8N3**eDXxtj6cOgbtXxn2HRpQR4PtTg|p-3#$z2?yY!+z!oFX(EfUuYG)s96nYISy~sE5p+2QCynG?T zM0ccYS|v&kBlfQ{9boacuN2;~;Xpuot4?%GkO41QqQ|?F-pjPVV$1h%;yq0<;X&wg zw;ic%t8V`(K)jYqi&sX=pOx7H*@pIK7-Y2SQjP}=?S0fO)gD+!4h}&vCbNNl8KsVg z^sdwdT^aUQ8$Et27-ccxM|!rM7(1~1;Sb%bw||x6kJxdCXnDkrJAfnT`=9Kov4q!z z%9pL$wrs+oBN85sJ=Ex}k$73{- zLX7x%ur8VR?b)wkhz_rPPkC2yAfRf!p&nZC+rMZ$vzt&!`vaPd5h2!4>Rn3qCtdaj zq$e58MqTh*xy5be_iu-YtsH@ew4zOkx|$QOvR&~|ZLkaD$Ur~;OZL|bc&~_8%ch;% zz3CCPxQ!KT$1+x`Xl*`n;>9qyVjX9q}rk$pFoEo?&gLhcw-@Y+KqT}!H#`7 zYM@pgaCEWBZ5mHa_xBD)Gio$(0mZrCt*vc;J&X$&ca%;P^j`$T&(`p`Nup@jH1-D+ zj|<91ptgUgF+!WTZDRlN5RXO1t!!Lni8t)c(5@}`J~NAZ^y=tpG^9c21FhS8bd00D z*~)fIkMC`$8J9_X?iA43F-|JP|KXM3Qaq!9TJCX5#;catq9yTobF?<;U0Yj7`zy8z znBa(IizS8*2Tc5q)%chW1&r?`(Bj7>iQkfEe}faNYzs&|8RBMjg8Sh1?#r}pskXn~ z^Nj&+@4MiPG_~Q|G2FYR4_`E<*%NtwHC=Mv-r5w7upZuh%f*Ll?Fqw<8*c z=wk51B|Y+H#cNvVCr*^N`g3F}r`o!4C}2vv9VLmaY-h^>KfOw6w{tjPO1qs5`2H6? zRHbMc*(FI-%gyPd0=|@l2>LN_~4=h_cnIlIZJSCqt zFF+KngVZj;#Zy(`mWU*>sH%<9M(-wW#L-2w?LrTe9LtbyJ;ub{qn0wL z|Io05f75n0iQYMsi`lxIv~ORsIF@0E`1KWjJ4!2^C_x8TIhB`tI&$GdkI3kw#Fv$H zwwDUVrRmrz67-8(MRbN(!TUTW`cC{d}6Xv-bdtubJSdDLQLhbym?Za4bW*ClmkX+BEuv7Vb0SHNW(QTY9#|_C651 zDs_B4OywuXjva0K;T=$DFW{R;^weM&ozLvn=nD0C@+BJjRoM^-14sIIU zK(g)2soX}wiC+9%EUrnPY}-{f$*2XZk5+A0O3|)$OJQbP4aQrM(&kH#aRF0m6g$$> zPC?Pi7Ol70gCuW_P+?2{O83}yzoik>d>}!`T=;y zkO9XpR783{LB3ht&Cyc;F3yq-Sj+K%DPEj8c4Ttlcx*oM{l(_f5+8nl_!x={6 z{f?p`LQjz6nQ`%v7esY9U`kiaj$JR~Ndnnl`gXh1(G2l=JiIR`SR&B z=@FqeUMl?|vI5xd>&b#;mxxLt*)}3N2O=Zsizmr_e1JmQU$GMe6rHfT#6MuL|KK3r z*J?XH%hgQy-~J5s7Tjb@7$UK4e>V$VdgJYziNnN?ITSGYOK%y}{x-IHcsiM*zli97 zhSB}vSMY7i{(uHcaJVjok4YiE{Q-@!MtpM%JzYuezo}$#Y3AMD+uyrsJB`1$kC&gn zS4XW^`xYr)bK$}^7Wc(dQjjvV_ffZC{OB^7*9Y6ww0}ij8|m!FZ}$7a5vFJvnOs zD#r)Jukic5RVD4;%1Huh!|@2d*%WU3^&SG+`IVfc0masikLanf1FM`cpzTfi@yAC;1LFCRP`qng7eU!2d^X#Gtt>K(|8&t? zYi(bSbm>hR#s^HY*7k*?=9~;Dwzb)k@O!cjSL`TD2;Hwvc0X}sU#3UoQwTR36C0k=8B`=}Z-)N^*Locje;Yc@uKAL^Zga#bo-y_F>6m7j(UyG2&piE% z_|98GWsFhsqBNloPcqa*UUWQ6^?^%AjyCUj7nJ=62Lz1n5Yz`xUC0%ooD=-ne+qc# ztC)o}@4dk(7d^hjV#e81e3B*UQPKV*HZFbA`Uil)G3Jzy4~}RU79A-*ipBbaK zoW$#v(6aw+325EW$1rUlB1;&IY=<&T7!ZxaM4w9g_W^O)7n5N19SNA~mwX%vXpO>$ zwzc5{P;IbNCwc9Vy{FMM?$Z5V=z~ptPj^mrD&SPWsen@frvgp|oC-JuuxRKTf#Qvs&}P6eC_I2CXz;8eh=fKvgd0!{^-3OE&TD&SPWsen@f zrvgp|oC-JuuxRKTf#Qvs&}P6eC_I2CXz;8eh=fKvgd z0!{^-3OE&TD&SPWsen@frvgp|oC-JuuxRKTf#Qvs&} zP6eC_{AU$lkCR_@?)u4!ilcAs<4yWp8PhIutZgn{X@Ax+&GUH0jh8ii>=ssgMcjDF zwMP!Di{2JDUL;$m$~~9$iyP0^t<1xpM#jg>Hg#)wqchdwrl)K9pl*q)Gi>9#pJXl+ zkk@mKZQP^oy*v}I1vj^iHx|>I#C=|jiRG`gwoPX;e!aMHS$@vAagpEB=W*jQ|Dkc? za{Z>qjm!0K88UD}Yoja;&!w#H#-~IUS6jK%P+!YUiX;DYd}@*Z9bKu zc=jp0`cbr%w&1NOqTD(WL_tk%&QOYnDNYt#w#t{@74LHtEOL@Vwe}~>(INGD9??2;CY(LAy_>#*^OxHYOa{gbKSbn`5 zlkvQmj6amg@-8w_zOEV*d6~;Gk=NZOyfZUi{MFCEyJsysW75`{ywjMPZ9d;OmbV+c zYs%=l+j+}7h5l%jsS7Bo~wMnlc%`6O-lr&Sd$UnapbqlX?Ba zyZZaLTR-3_56H7=;YTiE+;2v?CPk-i=N(J6&r`7JGv21MPt23~XL*a`=MRVXTE?5? z81_x}&+hShp?fN=>F&*IEZBCp{iTn2$)-o!1jKL;V}-@DD?VDm#Q4DLOiaJhlZp9z zRA*xO6-}9pcY}%e3raCjUbByxEdL1;c@6YpGOwGwd%4_`wC67Kp65E&cW?GF@7z1< zfwRg29tg8P(Ry?14Y-n^CX*JHn2bB#C4`S>?u$8Nk~Xr7NQ{Ncsj+V)uC zwZWH{F8)Wh@1FU1mDiEyP25(#b73vKgLA7wXKgURyuF`3soCh`jD!F!hJQRd0tS-AE@ z&q{?B<>B4BmruWQerxW(s+#xqzbf%g6|z*xHX?|(-M{^;$I+GCYwh26PlV*WqO%U@?A-Z3+i z@sBcD-Y6!^|D4IZCNi1Vx4f6W=hJCEr+MInqu-4BYz6N=H+*lq#hrNP3+*Rsn`hv@ z&CJaQtjNWEw(euYi*@C#yo)sGP_ig*TK!OwSz+gR-Q|7z>|5o-D-5W7W?1u~9?_8* zy4N)CU}C&=2ouv+Z((A7^J6BKFI9+%cprCRGX4}M%NxjK`Nx^atG$(pyjEo9y+;@P z{_>Q`Tvy`gS1bNn&3k;aeM9J!gS^Y*fis6RI>!CHiq)*VEgSDJ{6xmC$6N5$Kg=%m z=f@d%v(7~?wVrF~2Y||E;4; zEML4a6Y+iyWitLkCd%{Z$wc{64NT-U)tiaD{w~6`Q!*S~SAHeet*m_hmtK!}z_+1Y zMs@4WyZ)BH!k7JCbN^bo+;^F7@{Tj-UyRJ~3vW~9%g?lDe&@|YFV~Bhb$~ZmyLHQn zE9ZITi4i&dvu5xZ@FM-EubM4pVm!AW6VtEXWMckL+cL5IIU^JCGEQV7exIpKl-GX^ z6Xka=%0yljhB1*>?+6~)EbEX>Uv}g{W#^u2+;kT2`Bkq{%{o2f-Ojby(|X}%-Z`gk zTSa!4cj|g;*Y%}7ylp?P;UVV>@fKlyn@u@zgg44LVMeChC3uymqZ-}ttmZK|a>GO4 zLIs!@Z}Bk`)AL0#G5^6qOe}w4Hxu!eo zT-XjT9<*TD;gFB~d9Rs8JHH%JlXu@zrUh$Wn0LPD{&L&Jd)zmVaYgJ;pYV2HE}8f2 z`H$R7JK+p#c9?tgEWZEd>N31q%h39h4TC&}7JVHtJER2@<6)1Pn7;NX6Z5y2#l-S2 zmN60Uh=GatmyR+~UW*J&ls~ctlX;zCGOrh0S7G`#Pp^$!pL^*kuQf$^@9+~!w3{xA2y&Gi02&(Up77|EklKLHl|2 z3F&J6UMSpSSWvBvJDTKVV!UKWCZ-Qt$He@b%P_J0{uNBbyF8wW_}YU^lsCOH6XkbV z&qQ7=yD^#9VXm80*&&2#a-Y~Jet`!sU+WpN${67mZQC{9YOqAchEE9RnS;a(NKQ!h+88o@;?`^{M z&t84gzeQ;tm@CWco}04qo~386t#sfG?^gW#6}jCebN_tbj`t{*k$23};M*@AW#X;V zr91v*u|AwVdphRpo?*P^z0);3qS|>3t6T5(w~?2b7$4Y*iRpo#GBJPg&zV^Madjr* zeax7MU+Xaw2`pn=+ zYhRDS-8=1?TxK&9M0u6WOq4$Y`w!)% zi(w+KtP^<9{e~yk4hrOkOUL@OuQ`+lKAHW`m{Py-UMD`?U1n-2-hI{d`fj&=<()&8 zEUEeDecq{5)}a~Qw{Y*(88>bEXg_aSP@f~y_8#0VZ~IGwynA>I^#6)!Hr`-jyxn0Y zrtj1;F@L5KOe|lgA`|ic9?L}hJ9C*RZ+dzr%GdnCL|%iVnaIoaQ`>cjZOAL$ZgW0j z;WJ);dB&#f-ugIyh4j~}8>VRD#>+)$^q0Sgj2kbzZRujK331m&yljI}IWrsxj+O=-f!c_SGBEnI-q*|_>iV^=JsD3KW>a@S?r8Q{CKZLmGiu=96v6m*NPt(%g>G< z7x7ERkBjo-t_xLud*Y^x{3mvf8<*?%Q{1>*|K)MxLZ?OZIzrx(rVwflTJp!Ezd?*8-A^#$nqF60}Z4*n0hdx^&z z_vW0%Yd!dMQGsKZd9CBcE>%DOoYy*V;LzIVAFJ_S)%1O8{#dpAB^9rmioaNu_m?Vv zfz0cyo62hy_xio=tMq3l@(vBFXX}0N7v78oA31kp5^wU=sww^JRpo4B=loehbiDCm z|GixXZseXf+Rutvnu&Yr`m<8$@^R1XHE;g1G#~dkKjli%{5!bEp)LW4_~t$((s z-@+WcRngF&GUpt^y?)MEbJOZvyv0A8d)D+k#al$)-_j@SHE)s2`{KR*U3l}K9&PW- zt-Sf?(QRD^zvRsq)GPi~uY+p*rkdVP&0k9`e^171Tt>wYRps4OMX8OO`1RDsYr1p4DuL5?L|o*) zJ10NR(1&r~zP}cnc_2OaZMEWI*|7%h+u+h;zjKGwxR0Fv{TVfXNwxeT6>o})e^r(j zTuzo>uA$27w#+MQ58gY={^~nwe#QeA2hRGV##cPRGACf>Pm_7~Vfg~1yLaQ=3b%>w zx@92r-_SUww9<*H6VismePp%Rk~K^KzXa^Q!5^1CLjI?Kf=-4{G^$zK{&PxVC7H zi;ps`=e>&TsP^lydOTp}z$ll`&hZ|7i%uS}%AI##FlS|#p;vhK^j8hM`W)VEVUt;Z zRn+iqxZkboc zj67)0B~$5rqq+WZ0rRG*b-AwhkF|PqZOsFFtXfyM<|!<pnk zuF_{8dg^O#T+r^X-(G*m^)+7l{SY#M2UVWl z|8%X>T<15xonNcoJaEmC=L2;ZR=%~N)5xk^J14`TnsttGZK0?ldviqc-iLoQt}bTg zy*GF2*45*j8tu^WM0!2$h_W6;lZWbhc3=nh=+I| z3fR+r4>!D?nND~82d;m)Vco;MFS)+>A1817dGnyK4cj}-`JC&1DbcG!fv>o3aGR+v z^9OQW-60wC)gR7vIgeS_Mz!TS7i))JM^38o=4yI(HGe0y{CpMfn2K+eBEx$%dK=d490bHkmM-M_zdnHyaD z#*T=b$@NPP{E*Z46xX|ddEj;9sXXXznKdhObml?dPApUD@vl7St2*Wd#{$*(1vS08 znmF;tpb?1i1kGxkE`;r@$Tl2T!>$w5n zqWM za-6He&6ZY?`R4WEeT=2M52%-$n}SEJ+8&dahknw!@~hiF^N{_;YP|7B{iw9)>&Sv* zdGO|_TqnK?;laAIjjPVy%7fj`{&;%*10Gx^L+h6Lebo3_HGPblzkyo5w~ALz#s5c@ zr&Hyxka?X?C-a&g&BN;*on0$iHy%;*&iHH9CvtPG$Xy{>_wlg0-GiGvAI1ClZk?0W zdWf5*wIBB|;wv8d^!()I-)85b1Ha2RanJ%DTH$!Hy`S9RA;0m-qc{%gRsY-{z6W4h|f#-H%6h z9(DCht{L3&W0z8I)_lt?ncG=gUSGf?LUK>~tb7?BeqTS(SaS~#pH=c;`2!DlcwpD! z-w&(J!#lWDx_IJqHC{?h|60vIUM^qmj*7QS#eb#B+pEg|Qs#9%pUi8)2p;7=rNx21 z$9dFR%`A_f&-1?9IvmTm^a$_E4rb){AMnWIdl$`H?#3e{T{4@NmEe(@@||xty1*^p z4cUFZ(Kc=|A6uWhbS7@8zpD9E%Uy1%*!^_C+|z3Ox}2^#rRE>4mgg!S;)?kGvb+Z+ zW%IZ`22OOXs6(rcb+$3h3ot|{>M8*S;0F|vtvr1X9Zhdd~$lqRW%Hfe$6;J z->u_vxu?5ToT)PIl#a5TTV+(aBUK)IWnSAY%rG}+{gA0^Sf_DScb71gV=d;ld3b!` ze8zJ2-2UpG4{P9-$u&pK*{sfts$1(0Ys%a!c38bXM|0*j`5*TCo!!iJM%~Mc4)kHJ z#WEGHAK@*B;m@T1`w4Qs+Y{t+*?v}WO31jb%~UyiRk=@99!q3i)4VX8;Cui3MXYDO zZXPS|USyqSPJQ^B-$$%Xg@(mH-&lot)ve|^*#})*rIyCJR_nr=6!zY+;S(eC9I>rM zu-yMp^Qi}}%(v{$)ko(4!F(1O@7})Ln0f26G+Ni_ z5^Fj0b*XXzHCT&XeQvC&Se`XsSg2j))B9NSd^dKj3D>D%Vdc**=c`a$F4v>JiZevT zohQp#&_I>@rOM+onb+;%Oh04k$WxQfG2OA1C4ZXGnf2_K;nRWR8?r7-ORW#?8o_*b zc~>eiVkGNW-P`^9GnHApyCHSQ#ExZcmY457?D9zF?Xhs>>JejD>luFaJ9yqx!)4Mx ze5;)Al2$I)f2xdg`j(2jK$WvkmHU&*~CBIi`9dAKR-G^D}m(s}f(V~yrBUL5Mr+Vh?dU!KUv zeE!O^s$}$9H4KyfpDWAx4qlbZ<$fsR{P;k{-7Cv^l1-M|K_~OTT{V%HTW%I~tYxm3 zt;?~XEyE{F+`Nqio>=ZOc0~Z|Rq2;imG|Uk-F>45^r=;bbqV96a@=Uk{JTEra-zf| z=KJ95Qo4{$%s1O~U0@a57h7DY!N?=8)$p3~k5ls%R?Ef6IKMnlaa~n80jk{PGLJ3I zRbJ?Koi{o9R@XKx=+v0<=N1Gq-Pi`#LyRMtHYodNhkQ8;xILngd+ipid!e5;Ro#T` z@w%Y#8Lz`Sj~>=-sAqrXKlj2i*X_lbe}y%kFTVUj4JSzdwx8vE9=GIjyBDfBZB$$z zRnA3KF8T#U9uHMsf3cuJ8y~e?7sG;nS=RICuxl(R{i_GuqGN%RJR?Up{F(L6U8wEU zf#q00-@eyY#7tw|L+^BFqdsL_e{WEErS>W7nyKvQvH9k(E;Fn>djGOU4Hqka4>g}b zEtg5fX|CdyQRN&_<*t``n1f_q>oqK>Z^8D{cbHkwy}1>hPDI{4T6em2X))8)t=(*K z&?crmKP76vt}g2}{Cceyg=(;X1-cEPqg_~!x=-8h8@7ja?{KFHQ6J=gItDygKRf}vHwy>b5Jq~ZIw3-FY z-+8>VbsE#{%9Hu`o&GFvUFPS#8}?#apHHr57%-9bnln1KqF+ANvwenBbF42|Kuq!H zyAHl#0ok$_?AG{8HT+ijFRA&0<#N6YRh;1}ZkQ^kxGHyz%%gHQnODaCENJxab-#@q z%Yt6*ay_!OE()x0abKu%wyJV(sXQ*p zy!v{upe02-+QmjQeYS@|SzH#epqEknM*8b4XylL{)$dhiy0aJC{y7Twt;*JZQD}L7 z7C1tCrTy%sEHK@@qKCZZFm0Ddt@~_k%Cs&OYVQ9%y&OKndI*0(HQxxeTwfVy*(nvb zr7EYQEcc@dGLLlFe<`m4C0Nkz8R`0Wy~6Y*d`|5A_!`q|(*K(2<)nof5lHzrza#xBrm^h6HTA-a3~YwtA%e ztJQpa)N+GVoW&~ca8=F?Rqh3uM{#Ud%B$NP>@Q{VFZWr<^zIk_9Q8N)`&$*B#{+va zebM=y%9`%6pgrHTJX&Ww3+l3ThQ-IibdU8-pVVEzbPG0(Z-3s(bb*aGb{L+X>6#w8 zsjrRWzZhnFTI#g@5A)%wIkQu z&cpPUi!D!Pxy1C^UP0YnH)s0FmUdaqnOV?vP1vvz4O!5fyhmzUalYy5p0Vr>)Z5A> z7p5DYi3R1=JeeDNR1FVG|FAb|zG$`F02RkW#VxMNL7r4@)*330A5>mfnZDW&r*_@g z&Gcq%ww)(_WBLV$YF-Un#`LQSWcs+?E2f{erhC(8W0*eVRQpRipE7;Dn_GQ*_G9|& zRm*&L567#!t@F7b>CA%8mJc{uxPTfKQGRR(G2d3T9L}c{XIEtv7u%D{sSkaqTyuVz z$4RTq>n7!Uc>3YN8m6B#w)TX%nD6kEo?e-@G5wQ#QNFdBG5z0uW$uKYX8K2)|IWOL zG5wjpp5=elgXwoH)_$?z{;C>gCo4K*dV~5IXFw>h_4|#NEA=9sU6IEyp^nP9%rLZCtyy>aGDGaRppnIJzb90ivqsNr%+NLBoMqlsX7I_fu0f5T<*;T3>7UU-9sgqYT!?V5>j@)o##-cs4%rFmSM$M0Rt_KZZ#zI%uU8=Q|8MCwqc`#%hGrZ~F zb!N9cYWPa}hx*C++z?R^I1&@1vC_<>$Kn z<8%Lz?+p(q`q$!1h z?ZoGGxU0*)*szRsc)`*K0$2F_#>CM72owHHLztZJGbWcS%|x818<~hZ_c@d0n3*j1 z6C8h#NB-1f;@4TS1d2v-M@08<3)Wwf( z@-{KO%LY&W0ndpI@Y!(nId2p;{HwY#Yq@JV*H(df5A%Y)>1#agQg z+^qdF{OW$*IY(6Y4HH)KE{&?4`fK~ocn)Oco$EiY;T;Cd%kX{eJG}L^fw^v!X~UZx z+~N6)^&oHPxp4KCNnLr(jE8eikG{wYj17z}a=sN4!(Wy$;g1bqV!p}SnOH8S6cceu zXJaC6oho=9gv!~^WVzomna5Zr^D52j9hxzz}cyH=%=yj8XG{Z_Zd^OhU`(p@_F3$K48yYbD*Ov}V_r&=))r_DenW)CyL2(S1^%Bt|%t*%20q;FZt+k z*9>{N*UGY$?qux3+l^bU55H>V?be@q*lz%y`?O5Ga(f}&#~Rn5qA8F!X=(5(TD}yo zSFClRe}1aLtIh~>f9@{NRr|rbKeF6rVpz2-6aMR4nV7HjSSFV9D#An@zcoz8z0X8BjVdrvZtwd{ z^8Tc($oQ8(Qbyfaj1gth0d$e_az3 z^Q~u0EXOoV#Obh~iMYd_Fj>w8Cd&1k!9*UNS2w1-dcWq4r)|_+bK8@N7Y*p}Pe$!t zUhPfpH#{Tm7Z)f$_ood+W#b>pd82&ho3IF8tOw5=0Ars3@2xcPA_;XCeUDSz*a`L+}DtGsr zJ51!^Z`nK=Fjo_|Tt{tsA zb3b=&TcnwLcoeU8p-RhI%i8e@U0xk%e*7jc{_*(L^|kBxM-_LJ`*H9#CWfnuGvObc zi;4NpE@xu76^)pP6S|0rxU-KlQBL$MB}$bU|?**?P?KQFwl zXy1uVc(&J#GI*xba7{^Lz8iNt@(QKLOf67gDX*0IREwv}i|`6%I7y{dV!Gs^z(PF-TnlZ6l_DM{{`ScYNaf{|*qMX}L z7?taBxyf#k$NJ%1A_NKZnEa#%#XC~xbTnN zgZuqnD3WVd6iT-vPadurJiW`U5-s@0y}s!kGk6=%`{-oG=sD)yFYh1t{8*i=jm2=n zO(y)`WM^W&DHWMmu2duwaWbrCB5vv9OqQeBP34Z$qg>=sCIjapFRwtBqiOnm+bq{v z!LB*Z&3zTfvKD_(rE|^^yH7rPF?P^r>3FvL`E%@u2;>D`?P|68;Z?8_an5A+L{vmUN}977Kt)ix^UxjV97-B2Y(%jsMeN4FV1b>8h#eq`0a%Cy z#$TTj>+^ZfoS8Ym%xnvUpELb7 zNEgT#N1P0XA+k}wB{SdD_cS=DcJ3|a48~V}hKS^A?GdTF;etq?jUF1*x%;J(Lv&4q zfcW@T0`ax21j2zn0^yp`j$|yfJoJVE8oN7~w_EZL8a?y$lcHsnXt?6Hz{sZ|oKI~U zJreZ|^&ieT|5_D~_52FvU(K}!kr4Jv1a%12f2_K*VdX-o|Hk$1Da7O6 zPSp(?N2}LADUugjwQD}jlTaUUYoJ5h*3;`=PlVE$Z51BcXw z%PC6BEYJ*RuZm<)ozo#aecK&)^{R0EX zDZ3U3*Pm~kO6kjRe3lFo~)Ilua+NVV%Va6TV+*>-2O zH9oE$@7lNb59j8!sgik~e>fS+C7o45)9Md}8FGqC2kI+Z<8C#gZ=AshE1q%&^K0My ztRJkasWhk`?8{O5jgQmEyY??<>WOXyswX}o!a#hh@#j9s@s+73T!)1q?dh_8rxu)q z_#^%cZTov5c5!9@)zH%rGupJuOQ;c|y}i1J^B+M}%P8mlGw}V+G==l4OB5i=*rfl$ z_RA0@v%jlY?l46Dcs(&IT#d%jG{1$`9bo&`{G>WItgZmxe;xD@He!9lY*>zg9W2*E z7f9P_**o&Ydf++jy?HuAQY)rI()}gTC;QSMVYIl%s#~rQx6#?RP}Uk^HwPKm zXw*Z@`_4H#oDjrh?!1;(yA5It{G{2)7}M;_{HAL|I`skm}EARqd6Ah zz7^y$Lp2~yYj~yqwD%CZ6-h)`Err;bl1h)h&V|@buoZNJ;}UbHuWi|zPl(#7t1A=3%sN2tDnDp1pLAm)8|zk2EJmcLeIz#z_WC2 zwB4Ws$x*kzi}v9AsTpb+`<(eB5cJX5 z!RE)`pmnlrU&8~cqe*q&QXhQ3chFbSi{;pcSgx)Gz)O_&%(RRGzLSdliu?n5iGWe{8r>e2gR{PiIz%m#l!KaNB7w_vJz2A!#e2R8dH@v}jJm@AV{# z9@os6KZ?fTG#|~@rQrMBq;CS%$)vgysLx93Tgq~*%3`^!h5>KpcfrDgM*7;*&fT#AyMqdiwUoSqVd~X=OPd(1CKJwHANGkGJvV)lkNuw@E zeyEuQiO=5uyz@byMol)q<0o5Z-OKjXeWg11J~`11p*|MWH<)r1QLe+lGyM20{}4W} zg)e;kqOuy#pF0O0_4);XFyICGq+T%;f#eSDH12nQNKOxYvh937Bu^4kX+AO@ zlG?T3G6TJkwCCtJvr%_wd`$D_*}B6&Xdix_farKpT@C7!&-!{!W;s;lC|51;3$1nm<{}K*;SUopMclnkT`!+AMjRjT9*am?U`70xkR}fk}ogntu42L|RZFEG#0uV*Omr2CBwAEiR_ z4aB{-jUnSGHfadSeI((dwKCCyW)BT0&icufDUx;rG<-pv7 zT2FbGu)30`H;Htb3!hfG^|x)7MoT_|hTimp*j>@AWUk%Lne^?Ok4fz75ys zO6EGmEC8O%!;M8Zxxmx=CT4SSEAZ4SH9qVPq|t!pBWc}S+J~QSAv$$s+*Gv4lE=`bgoR|l^XD|8(?<(_UKHvQ{N(1;KK3DD>kqx|`-U+9F;Qe>EcmC#J zBjD}(QQWlA1o!0}vQ=yVUb5`uvzudq7y6ce-anegaGH0ebrrNvoz)3?LUj@K*-w4( zc|$mMvRso?fwx<|=WN?j;JqpG3mzQ~eEHga4i)vlS9X5((pDbtcb$%|nGb;XMX!I? zwPJj}U3A=JQwqGZX(3CuzX9GJ^V!jHeBf11-JE}W4vqNd5R!MHb$e(Z-VUOZOLb3D zAADUSzU`C)f6jwk?fAIAVr=K`*`KExwM{Ri$(A^;G#rZ^$-09`W{SxML0QhyQNTUDQNl1I@3ebse;C zJk@!_>W1USAubr{NIKiP@m;QSXKPXgkM;}?S;j@Vao4Qg-!u-;yeO^P zNBfpgo!eCR1ohcQea}#ir#;t9g;plW##%+X;%kVA_#cT7)OQ!<$Y8mOgqg7IcGGmH4rM|T9|H!|fAj){Ik}7Ly%w#;~eAKwp<-oYdl-7pn4lr(yn*_DlqKw;yAyM$X zgT_`ipY@d1U7~%eR410|I#Hhj>YK=N%&?+dTbNKMz4mifI!s9G^zX{yeoSzvqIBG; zY{q}{w=HhMvlyR`4Q7j?QWmp>&kqkYVR^! zwHI=Gc0XhSh2MVG)pTe4qH1^%FZ39n%(BQkHieA$$Q2!ojU?kW)_zHIfh6OZH7mA} zSHO7ce3bZnT8NFOx@q2pt;@f{_A&RVPAJu#PkpYlzI!IJ9LKC#uBvc`d;fYbic(`j zT(8;x=<8v)fw#OJZH<{A#aJt3{+jVWbo*fM0VT$_Dfa#(M@_~jN@_xNN;=~meQVT1 zm$Qu5CCrLi1I$PC)ydSsjO;RCg}xW5K1q3t5gY{*pZrJ3AlQ$dR@E_<1c!A#aEG&jPH(Xp+k5{ zjL#mWAMa}LA`?R!=2>cEj*}J-tm8-0_+LJTt=n;$_E}S%g;dvp^*KJ4`u4IMmD5-* zGaOAmr<;G^H$omqN}@wFT^zzAcW_v5CEIU^cP*u2mOS{G0Igs6@!)m_H=46&iU%`C@@ z87$ZL=?quVO60=MB8Gc0)yd2G3&Sl-e7mYWlL`LwXQtNidL}4a+BTab&IC$dxgiME zVf>#ciCF78Fn-^7+jR>6Fn-*kWzuhg7(d1H{rT2AX{?}mMC%T+eL8r12X#XFsjfQp zc|(0KvK%gPEZ43v3|D;Vfc}pK40r!w$&o5}zPh9=SM)o>)l;~4UA&tK9^dld$u>(S z@J0N>@kP;0!0ijqhIg)F{Qq1vIn{KX@fQTX`f_>&% zR5z3Qd}Dow=(8NE49nH8hU4AqZFvtEZbgZq*ee5uyJzc9gVve5`cjz=MnaSpB@m1bhydGIRD^CP45c{$-UH6JU6|s>->V#=SJ}%GS+# zMf=LAPCeC~N_|qP?+MCroaM?FFkA(T`jnr3958Ynx2-<1fjWwO*_{yK{9Q3%C}h3s6z8O zv~C{l^QAh7>RM8t9O{dC2uCB!6^ZjGycc>)7;dGZ#l&6sxNQ8Ao9XqA;qEhO_Iogn z;R?3wZ_v_ZxH>}*&a#hZf}8E$eL23K2@YKHN5*ao6D-}R{p*o6G7wf+_A4Gj0D&qAFm z`1rgK=rVh{89uM(uSh@O#c*Rp5?=?1GhD;xtCqV<;^U*DsZpht3BIu=<>lo8CV20t zP3BI^Y0Rei7Ft)v_PPCLb^K3JU2Wmb9;Yr;|{)VJ_xQFwr3y1g(Uk=A=?@5E;0A)Q41OF zddq8()iMls#W9qZd!EM2Y<@ewZjibN+J}#SqEkV2KT@AG>U)WDoMpLW@b(N6|{e9--o25*Mq1f@Q>u{XeI%I1t<ZYTyK(9F-?8qM zh5$*6MSsUy8Y}HBOx6F6HR1~ELTg0+j>qoXEtw<``#YBRQ$PRNGxhISc&urdq0_?u z#%FY#n`9JV@qc4P=I8xyO!_?@{hcTJeAmBY;=kkXI@O5qnH>2$&+`9oo^0P`>A&;r z_Rs%2Cj05nxW8j|f87Ar?N5B&w#S0+_wgSa>lVVC;OP}E6FR`QDSK1qvqgZ+Z*6(> zeIu9(TwRSl9KfLFSDBf>F)dCx9BiaYiaX0HqCaQ^fKY|^|MM{U^(mb#KNl#u|8Vy2`INw)&+HR^pk zhuOeb{YBO2fXo?-pm|0HJ}HQd@%yu6Ug`)U^=WSq+b@Gyy-dXFe@DdcxC~5D}ZzO$gistRlvULqS)3W zreM>u{q42LH(=qYrxA;MK>t#tTbSm07++++WTUV48S}(3hP4AH5gGf`BX-^kvGsWU zV$$D$SUq*b>gyubZ#rWA%@NCm-^(Ig-4OcxyJ=m(F^Fu~{j*qG7lP7K&ThcZJ^6&~ zej27{0Pg$|_b0YK0;h`0eJ5Ugh1n@fyk56@0W!7h?Sa5bKZM*Cbr;5zAEo5p#pK|0rDn zF-mFe)^ltiWKB`_`JwF)P(0;EbG9mYeGh&mpSTU&rakD-lwAdmJ~cqSwF77yWF=mzJ9+w9>N&r|8bXL2HzIc49c%l8d#9#p^0vIOI5b0Q}5v8Ao640FSm2 z(#L1kf{W7TYZ)g$!|eIPxwpN%fOB}vjw8%S(Dmwz|G7Zh(sXomd)>lH#Ev&3cHRrI z^=XLo*9}3eUK1kvR}>KO8>50){|ZF7dTbHl@;1iLONNEbAH#?E*Y_Jr3ywiVY<=xe zV?79Y(D@}}1{VTnv;}3!_JMZ@Pb$Z96S$2DOH-K|4h|XDJ8m3X0gTt2xVbCBK!0+> zuZWl0mX7)v*Pm``N9?!~vGaQoTmKNT{Ywz5cL5Q7Ib+27Ekmq-JYu;nAi`Cs2C-Mo zv-4MnLSp8Ped+xlA@a}F?L~{qA+#B!ZNglixO;`R1h{|LtGt~|f;c3YwZL`OW^Qq)%u;fH0C)s!|u$aL`` zm*kSczh$&gc)k;Oo)AuV^$rB*-q8^~T1GHa=-NQ|vSnb@YS!BBGu1L=!tUKdkA5OD z_Kiejez`GX>pKwJUyE41eTdcHgIK@2i1>dQf(RGa9vs zh^ej-nYuR=B3>Ri#*f_tp$zY7<6b3Y_yCK=I3&w%n%tjx+5~LB8S-eGl=vDjYF&+ejl0WjLWxD8H@G}^R>cl65d!o?6yz4}gE4E!m|n+z25A^ybmyWdMnAi8Zx-&|8Kh)`Hu6~6rfg!mt-@fukU{#jKO zM>p4kN0LOqxRvJMDF3?sVr>KaCezgN){W=iwU#p2&uE&Vwx(mst9ABm1`U?C?MSs(pNJ!WeE$EcN>spxxfh=PVaYRnoExJA=r0n>ix$N7@mocf;#R4E7s!<8=hE z-u-Yy^fl}e@#`LfSpObGxSHh<%T*7&_2MIy{6B(Vf&GC_op4B+DYi~(p)r2mJ66i{ zniE6?7WFPpc?w}Ms)vG{PeM?i)uFNCGT^QG;@ex}4d8Ue?UBTfGr&20PI=vcvgN{$ z?sHB*ltY8#QlU|Z%>NWYq~4?+k^Z3$_Wvor6WgZ3{Qc0l@k+e75gB1bmPN~!($932^?!|6u3d=bI)b0)n&e{KWezFf^~p=8;pdz)dgpbwSwno!+r>I< z84!K%wp3L~IfNh69-^_%61c0(Z|8}IgU`*UR`R_L;IdF`r04idu+G=7Ui&G-a&hRz z=ZT}Zh>ZK}5SiC_iAeqD3yAa&nTCj7sVpM;Ycmn?YY#%K|0%?BokA?vec-=5cYPL< z4Jr2y%ru^hpYQGt^jvSK0120Vja2cO1TkAR3>$CRLPXHEy9>r7LWt6l5r-vQz;|o= z*KJGj|A&xy`*_=iB48w&?`FsrTQ1U?btlmMDxPMcVzuHBEn@OjR@B~x&M9-`7eS=?_AF1Nz1_gz@GON4u79_17n$AFYYbK z{99) zb1$4fb?GrW_M`LXXuUS=w`KM4ddaMQ59_zyob^9vOS!hNT(=^@^S8q_g(Y(#c+Lcc zw(F0;&7NPOXP7d^zZ+HgI7ftMjI2MD`QNg3>I&bhg$hjkDw&IvEKkM%7UocPO z;^Z0^VVL_V(=cIO56pcYv}Am|9Ub@4c{#S;el**E7q2HgsHdCB>d)0+{WfZ|{v)I* zS3S#hqY#3IT1B+qdjVmETYjW_e+S>>f^FvZo56dMQ`7QIUEulbX#dmpY2Z2BAmN8s zG>WCmpxb`7~Ou!1i~F zP`xWuznJyg?7{laQDV97=d)b+x!KSj=M$-IRuH9X{@C?yA#lS3_YVCW34t$~;_42q zhk(hq>ONFzg8$GXQLt+}_}K)#v`&?E{Ei+noHn zCji1nSDpKQHw3Ta+TZl_MKOfA0KDtJC@#+V4d5mQwu&>i35FpJ%y_c~GuCh)w42 zIX|)x68g;Q!h4@U)QxM_m+tsL#JALGDyr%D`rfy4>^2(+yXR-yo)`{crt1#e^0@$^ z*L3X8&07qi`8Qf(9f}~->)7|RGgBbce!%bMj+b3^6PHY(|Nm!|Rg91!PK?LezxP zLwj9KAu`6eZ{_6_i0Bj?lbg^55i9xAUiahe@_WQl;IDuP2hYB}{-f!*l+H)8^_uwe zBmEnw-dd`U-^&~H8)8cRSFl{Xbe3y~5+vV`%6XyOh2JL?8sLd*fauV#G@#EhDuoq0+Rq7S~7oSU#1qEp@;E*zo= z(IHjWo^x;{V+}gLk=Em%7YF-cB-O*~ybkKivA#Tq^dI3qKcMaWU@5 z$lDs(%a)ec^V{M?~yXS*Fnd{bl!>9 z@1gx;sUCihh3MO{emUaQ{{hSOER^NyR)RF`WlgD?Mq*|;P*kY>d#q!1D@^O0*^@iUc)%c>b_?D z9-PeU*K$|!dopBf&(25T_c8|S8FAYGiRyV%{aWgGi1q*J#d1xYO1WM@`Uj_S<<03Z ze@I=>#%ec6yBAW@c_AB8TXn^bDU0CuLnDJWkF$gn&V=>$sgFRg|M4ov)@Tseh(u0K z#P0!o+cJkcfZq$cF{)jTKevi^EQWN`Hk}sy-bC8@?htz^J4oXvriAo~K$=Z<(-^UzkY=!7@7v5t>{uMv zk@;b?-h=l4r}voZXH&nmtiO~L<*K7x7a_;CId!-3BFHt<|M6_{O~|&Mzw+U%wU9OQ z{D5=?7c#@77W?LR!u%?ez8N_>_;XNsBvIQ687nMo0skF0!<2h`#IyI1A>QNhP_7!% zzitfNFtWZ9(H)j^;q_+j6C;=CdJJLN)!x*J+Sr*OT8?fVX$YaDOy^ z4`gdgjj_Hh4Ow?mq#E-TA**s~Z;7@7WUV#|skv`K$HVCSC|a*h`=7FUh00VPf1bpz zg8KKcT+1XVR~!_$w@vyX*8~Muzi2z!y@dP+)82cnl7;-BO>JrTJ;uDJ!TGnYZH2tC zPd;vLsfOIlu6Y+PS3=Go?%mDnYanNrmbCo{WynbhwVOF7406IOWipJ1(yi`N*Hs6S(bdcTQ+$l!huaS9YgZuT+ zN@V25=)P&vLV6W>hZjg>qiJi6u9-jDfTqN}9_m$Ih$cIE>_0x|6`CZpJfYn%A5G+5 z$`%^Gmc~??N3?Dm+gG-N)p=~h>PkjXpRKHKmcp|S>hjd*BlX4WRt|C$4rRGQG;oY52+&-L z;#Ft5wqBWw*O4qWpR?)-@-sRXGpQ{EdD`*y0w>xaH=QSswkEwqE)ye`l1N)G0uMdWNz^GrzA5SxJ3jqJUNy%Y z6?y`YN7L!NSF$O{{eVo=ZR1_YU32H?5h{;qY^M2QTIWIgX0kfH9;~jeJL_W+NPRz3 zj#A3C5(zfz?>Kzm3F6&PXjrWE1;sCTu|gz$Hj3PLopYrt6op>#FV)hJL0r>*EvZlY zP@vGLwH70Ekl)E^J$J73RGQ+1e4hD#8eqrb?Ghq~Te|!0&-l-@^zDsk&Fhv@bXnq`9XZnry&0=*# z)LGq$X4I#Q`j%6U-7MGnB*edaH(P#g7~-F)N-bHx0VO|{j@G-g4JDX4Xgh1aL@}Y0 zkC`5wh$1tO<=k$<>q|yzg>`2uqtO0&)pZh?C{*d-`n!2XC}dA>-+s|iG>)ZtyiO^p z!|Pa*K5eSAfa)$}eWpfG-_I<^hM|<}DdJb0ZkoLM0^&c}acxr1a>Of^oO?7-1tke8 zudK&^pO5<JXSs?k5Wk?9dw9(<#P2$GSE6|p;!6*c zDmkzUC6~roga>{>iRu@AM5#GQ}c4%*)1q;PfJk6nM@Qr(={nU#59q+lP1;Ggi&s^AIK1{!}<+>Vc91`<7qG4?_txvCa$1$Dnxsl8SxzR8d^P zk-gOgc_?m_n!CC4UK$_K`~h00K>P4%Izx z?3=JX&=m3SZOB}_>OSJ@N6DsMzKeKXLXr#K1mM5N#$PHK#zjfVPLJFrs!*c6v|#!# z3zSeO8vXTcC zSfhoKxW1ERO5;$H#23Nu!Xg@X(|jSV!`FY(*G+ZeS>0RWtj`Bo>U)>vc!kf4L9R7w zh=2abxo*QzNH9^?P~OuKUw7)ht~qLp_z$=I{ApN-_`YMdFCBP?cvlbJ8`39(cyD4;$ONm`J^o7_2;PveK24inup>Z4D6 zJ6H~`3d?0_fCSQA&Y~|3DRxtJICfCL4@E@<1Bn1MOSpq^_Lm=@9Qo< z$Gq}K{7s6(=a}I8RX&ai?$`0>Go^G#h%E>4b@o%; zJ=AA8_04BFY;-Bt2_!JEm$AEEgam?$gKi$Hkf5sTk>)umB-j&`H0`=K60CIGMrdV1U(TJ}HB!7z5 zxzN5WsuM|ddDN$p`r`dTINnjNrAUy(nX_?!DH0rX=e1P;HPUO3BRlw74P*r3juo&6>6ZrG&}EnA}%KDXvHA_r143DYM74Xlov&v7F`& zXdRv>eOIW?8LG=?ecY$BzQ~Yr+@xG}NRU<{>R2E^f-`@-U*~>8DTX%>Ho2@uDciUa z=hyq7ly_|dk8GBsRE2{tCXIZFQpbd5dlmMhR9VrHdp`@KRG}$q2PSPrDPNftvkSdx zOs4sVw9bz0Tj20l=RaN6=MeRM&vN9=rCeJf^Hbio^M0{-ofgz8d zpAm_<`2VO3=AXVtr0(4eMEaJOAy!8WvAVku>+=<{zWDouaQGpX3$Lfe2@aI?P{Qks z98_6lbqV6^u3d4AzYY-x#C~ zz_sN0pSdOp@xkvOPL=)+G3^o)Ki70X_{)@f4>$aO<&JZQh#YnWzmdl$I2WA&_f?+4 z%$YIZXs}#1Ger)pCE6z%#PVRG{)?9paaRzDvD*=wpM-xO!F2-sd=2RnMnq=`Uhkji z1|!xd4-wy;qKI(F;Gcg9mkPLNdt86{?gm7tOuA(exfCMj$sFj%>+FVkR@OT;pM>Cb zp>@&vG2rv%$Bn0I$>8>IM4iWj1K{A1Q+HZk@IR<|6nJ}rp#{f=0UGQ@I~!|Zl(-AglGK~UMbtHpbhAaq8>(Hgh$ z5F&p2Lf7#U2zb8hbCeVQ|BlF9uRaigYlClq=ZNiK|Mkmr$K4aas_InIG+qi!*dhMp zz|}ZJ;xz+A^88_lt&a%*A1~gM-c04iCB(c#BybV6}o#~bqZdGyzc34 z)1lWPpz6o9M3D~=a7q2i^6XT zbEb~J-e3NuA<4OTbP1 zYoB~IzOQ&vi68tT3Fd5WEAPrL2b&$MPHUM}gYl-()9!{egDTU;`IGO8NL=WQNIrZ7 zB6a4Gi1Zck5z%SSMXc^t#QK~>tnUCK9NJolaJfZ+Y{>UU8n=0OO2r|V6#!!2 zq{f2dN4YGeplq0X<9B0Cs0uhZHFc>icm^}CK35Z$<$(1BtY-N;)CJQI>=V7tgwWjZNvV znL?vrN-6(aEGG}F)YPRnUw;F38gu-A8c4t_)$Ikw=0{-WSk%+edjV`jwD(!btOpC@ zN_#WC5uo=pH16%gxiG5bkja%3eTc;RsfgsCiXu{H@B)#(;XFiiK5Rxr*PN^ZZ19sEo^Qb9lhX-k&cM&*p8hg#zb5D(uTB^^9}bfa9iL_OtQlnW z7SBDnIUSL>bsZx4ZX-nME?eX0b#dPT2}E?R`XHj~cOMa-Ry{;~-vAJfHP%45MhKzN z7yZHqhPNY?omZYXx&x}4WQ>e`RUwJ z7nrIcw(0yFb-aFc^4E@`~0Mr1u&_GyMPh3h6%5~-s+kh17o`@_f3vf2a&JOZ7(>QA`)F( z5XmpLM5IpV1R{OH4T$Kph9RO`4xB+By(QRZ&^O~b5RRdTfN)iYAeC#10o#5TpeebN z)ap3}NOS4)k9DpMNFnRnxH|31`d;%VSH)C?Kyij?mxoaUC_mEqx}-E2#vM7o?!xL1 zFk)3v`?M-<{ZDzRsGG`F91ko@VBIK*d=BZGB2+)9WA!T!i0(oz5FcJ85MNstARG}cK)75Q(J0>P zrIw09X!26w%R9evk=B>g8ImdE(S&^KL-(sbASLqz?anD`NVuJUtgcR|{>sX$+q;{G z*7wy}o;>lSp}x;0FyoY(aD6+f2{_t@ID@e^_A7_v?W{SZ?u9jHu&+!1Ck*PGk`n@= zE7}IcXZ>m*zG>D#IDX~>;Zn6mvb7`k$}xFJBS1*YalJay)LZv65g)=bI6-~ zq$oadhWu~5zIK}3pMm@Wq_F7ATD=PmNb=1!L19e;=Z|Xj{`+bLoDXJhVaj+t>IZ7u zidqi|b51Z5qv9-nb8@ENUi`8_rG79rIP2Dv{FtBhq;AKbdeXNqznns=jh<+Sf2 z)yZac&AeEjg;K1qStjMU!*X3WhQ)_p`m_j@K!I1M=|$z;kR!h9?KY#0kY!Z9Gd?92 zGR4Ga9G(>o^JnjoU0E<1GR{BQb#C-7$cPQU5zu1_83tm;aXqskW7Nsvd*mn5IGN_1 zX&s&?eT`HnjOsq8KAo)Z40V=61@E^(F5zLY@OPox7Uj)QSe5j&JE#`&-c0cOZg~fC zrWlT$(V-4mdvZ|lgLRO(Kc~v*oH1mIT>W#Ae--AhR`!pRV_^QQ=Ns(O@%>Cq(IJYv zKhyYy=BsI)Bkg-lbr!R_59O%OZr0Z-p5+K0$#SVEz=Gp*{95zZLE$f(qRL6nAiw|A zgG-BgA#dmk(J%LvAjd3L-SjV^|$m8CLhOBK6tM`YuK+$7IBE6^K9~KK4F5_JhJck$t0g zT0y~<$vf<}DM7xyjiK|6xsY44$Vpiz2XZ{a#r(Dnh3vS+Vz-Asf~*@Ag~xsLAuA@< z@2mQE$THj7Kk!QOe{nEBUX<3&W&33DeNLj|%maCynH(rG!T0UW?|KP7&Zg0U=FibO589VPbs|_@bp`4ZPkl34j_X{?wG|5L?$yiZ zVeaKd=SyQ1p-@d}Le=o;P%vvvitXN;kk8+IN9^}Q$Xk_qAsGL>ox7^?+tUKf`RM&k zC7oxG6aCug%#0Gq(Jw_p_`WwAC(t}T-$>ne+80Q5F0s0QMzcQq#!=rQ%8^aE?m&T{ z^ZLxqno#IvwaqE$4HQma@L|}oKqy$`OMK^pQW zeIGB{f%ikD?51JU@%?t)($$(u>mm2+m1K)q$8V3r@OyvSb#zCQEmC(q%a44J>F22W29}1pd_$s3@2?}BktPaYPgZy`Q6cU0f zAb-KM7bV}uLB4*+_U0$rkoT>pbXfBy$UB!3ZF(`4#$uYs#|Nq7&^~-Wp6E1EU1#bO zO?_8Wj@y(Apul8lLc!4ve0)mFe_H+s3MWpIw_PC%1>Y17=|rrAf=!jVof0NcpzrYT zl=mITzhmE!jGyn#U%DCnI2H%_-dz*z7vemUFVs~rrqQ0}|Eo)5`)*0GIzB_GZY1@= z=PU8GWI0xhWw~l?p}>Zjt01)o3OWy~e%gnRLsd^ffed~wLCkcZ?0pIp)Ne3Z?;nJ> zS3&7)7vA2{8_Opz84LOMTOJ#=e1!bH$=O?$y@34E;Z6_z*3r0+=J9b$>bhv(6snU) zb+f6@QtI1EIq-7{gzE$TK9SQ@wc7y&?b?D}CL5t}OmyaD+ow<{tE+mbOc4qm7oWa# zu^kFFq-!nyi2FUNPm6mTgaVaZ9n+h8A^)4|yOmYd`1z16PnPXgp;4da@o`M*PSC#7 zROdCTdr6G?Or^g4l;bJo`UM5a7DIUa1NbY<|jTT8BSR z(ua>LqLWT_|MLl;zW6##IPm96xcZ=A6*pQ|2J5_*9ImYJ4cA@nHdsFc@9*q(MgpJj zLlvc;cjNulzDsqC8UB1utW3}Ujlaj&zO8(s^biU%eRt@Jm_b3pc-@wduV};^B#*gC z-6h(G&o`ojzpseyOX_oj`r_wc202Ekuw27uLBRq0+nZHHq2Obeq4OAg9E{7~Wivhp z3MUn>TG%oL@As^CPOqAw;7_RHccg>2@5SITJizvq-%4GlrH_t3MfY$*o__c1UkHkJG)X)#i zwfY2wdYqqa*YS2ueK|$p&w40SK4L2xC5zAh)FF0FuK2vOHM!~P2L*5QUytPB{o671 zjmhMBG~(?bdHgw&I#=44NOcUU?q%xpk@|k29NQ_^IVkAzl-8fu4TZy+{O zq_?==GHQ0hBK*B$Ek5sa2-Y=UBEntLi1lXg_s9c$J(#>j)xi_{skFW`w85W`s&&vG zZyHT$UXIqyrhT`l&Tp!_m--k`Uv0{PkB31nC)_WrlQhZi8s6X4qeNZLL80+|nf2AR zP&ij#5C(YryubO|p6Y=@zhB+P?*NMcS!@EU-=8hRSqkL!b0yg6Fl(uOkSaymli&MvIIM(zrp8W251$Q zouLu?kUZ8Qbth;aKJJJP-fu)Vnfk<1U(8K7unyrW{qH@HfAQZQ__qiC?SX%L;NKqj zw+H_1fq#48-yZn42mbAW|LZ-#WK4Oos>U{$Nx1xK;(qDNO!W7&6SIeiGZDYm<9{jD z&4m5d9j!8KG80;CWL37um2dhk`{Lx!uZ(x!MDulGhG zUN@5DAJMuSw9lIA%%Zw+tdEZl_4QymWDF?RB__4QuCQHuC&SCG4zR)N&Beu7Cg`s% zW}=66Ef}S7f{Ca#zT4e!k_jJ`I41G?T_*JXhV9qqjbTDHrX`z&;&lQmJLZ*sRAE9w z_1wi4R?=8O^J=ti0_{_wIv-ixMj6&;!Z7Olk#hL4TvJCdf_*mXFC2Op-j8qVW0W14 zgzg9n)p<*pnD-~2w1kdhqN3g6?oZ#vM3n278Y%8!!hQP;YV`5;&(G5=wA;yqcJFZc zeKw5=t+`#MZ7lM?Nb)JPZWrxyr#e?yUA>{yXCd_+pd4FRE=O;M?>R7J!+tG>_jK&L z?3@B7NpN%CuLc<=Zr?0^V0r-)BmA&gFvpOIQe6|$dZCPoxM0%Ot~#9wZ#6m4lDdNl zw=~Otarhh))|)(8ZW;G)Wb+qj9o|0DXGe7!sBRhc`9gh{QI5Nm3y)KrBWAXZV0dLp zHcdm5m}ITX(Tn@$F$p8iPivV|#l+4RY*f1=%0#aS&2*Wo&O}Xe_`IO@JrgTE5i02lcPEus>@@29CWB}Ddo6Ixl)+qXJbx_ z_~7Hu_odOLDt9J1@}TG*p&}-6@_{jKoE1#md9#(7S{_VH`@<^zcXycR`KeFRPJdyd zvW#SBJ}zM*AC#e;4;q=srA`Zmb~Vx1O!Jp$T{YWxW;E6LKy^>DK4>iUZJ`_oST5fY zOmbGBqeb~?hNt>VQdRgTlU#K6%Ep{uOyUob=|PL6nD{3(b5H#2X5vQepQTr!!Ni+tbR`ViIeVs(G{QlDbh zH`kHn5b7ta5ZLZTC*+_ zKXq5f72C5+Z2N%+`;AqYn0E(~KE8=yVw^2+-B1{hk0;}DE%`PYJ80gD)@9Q^W2*Ct z>aL|eU#RbGmSds>%f$(1lE;R$RG$xLl5ezbQVLkYB-iLW{N6u{NtR5#Jh!BoNnBl+ z65wgWB&d5!G~B$-#C=$m^bTJqKQb@ZyP0}oyG;5wtbEjEz9YZQZ#tbP# zWGE!9BvdpZMIn_$D3vM6ySw-Pd)^Q4*Z14=Y5n%v*SfCj?0Yz;&e`iu7ofTasE?1- z*Byp4!Ox;JdK1IB){`^o8i(QJ863X%&W+)$**mrMpQVhCqP2+u{~gBbyTE`RZv*4` zcBSO`^81YEGy%@}uzQS0f|tOfD`yxFwN1T8S4hyfj^-OFu8r0WP#!PBDZW%PA3?j2UoXv_AlANaO||_ZA;Q%eD3h=DGnRYcwhM_P;K^| z@hZzdav;M3e30@#BgrjN{m>(m*GVFwzryGU^uhiiCmdf$oQC* zNi9h_z<8$!CHh(@GG1>tt*$!4FkS&GPW((NX1vx8>Y6>Rq7lCiHs3~ZinPv%@^n*P zyiTkRK8~y|UMJSab?U2{;m9V;D_T8);hb>z+MT7%aPDl~qMCD?;T&1_eai{Fo`y`; z(6mIx=e_k5TZwqaXMK~C#{o0O`|>@Rx=mq>x6$^53jz-rZ;6WjQyTR&_L02c7>Y}v zb-tA6GUd&qI(Xe!UF?_jkwkr2Gn@_YOvYSX!EkZ{I-ai_W;j(RD8_Xv&K5v#Zuem;h@$q^&w#!Y6@tKpS@~j}2@$MI_WTZN1yhrl^ z6sJn-unx@u2xo2(MF@|%w!Y98GuX97M|FrIv45xbO zt@nqX23EJpPS}$l!UP_ zHfGX%0>$C;g{{Nu!SbY2UVOi0b^58U2KCWNec|&UDta-$H1-Sj`6Y+eGo1FoZ7v%4 zxOVh(`*`E~O!a#Cb7mhHPVNiAL&i%OPKZ0 z`Zop)zs2vvzaLn9e~H(3V8PlaBA@X4O}l4JxEI5@7v9)^1g}G0;k13a&+vWqA_}y} z??-84%D78Mlenav=0hm1j@Cs}o-^iMw@yp8dlac-xl%Vx$`Xi-Ms0(_nSRGT(76ThyH z1MhSD@p0)CJ^gk-j>btekJpvOjiz;JlxH{P-A{CMrczxV^)Z?H!skKF!v-bCF$|~I z!Zzu+B*u66A6Sn+hbeE;uMrzye08~-#A5~-U&D6}i%-8|eD!2kT7D>Cd^ZfNx0>X@ z_^!Khu_A3RpVJ)ZE!P9i$u(}}L?Z0ZAFKdi5X45#U$ z?$pmu@$1wQQN0z$_%0h~|4?)b<7+!bUjN`T#y2|hs6Y(nPkr=H)J9vzH~o(CA`NxRhFCtQ3i3r~qMEEZwqPGDN{ga6J(m=$Q8@Mi7SymNo z3EmQZyJf|Uz~Mt`acS6fu&z(sFQ-)qW=Hp1Dh~e!lccoJ(0hZRXF4TdFYgj)q-ajr zGk{?29c9t^j~qbOvC}nCDMW?2{a}^jDRV@|!-&i$B7#>#q&^D~zHf--|09fu-U~$Z zUm)Tu4G~{C;JJO*mhyYf;4AK=p_sT0oV&*5NT%C?gW1*Y$vbnwTCLS-KJF)HHZFJN z>%G6gINPhp>9Zwl%sR__Rd5Ei0+Cw}hVOuU#A>$_ACIZ%7miJ~G*m_G_|s%W=HDZN zk3^*291?oXB-X?0DD?k@*FL;Ye8krU@J;{b zS5HPBP4>v;{1H{}~Gzg+-Z$5$F#E=>jVReWEcJLiM( znZeOjou;5Yy?U8TjU}wEA6@>ctVzX&S=Eyuvki?2Q#McwNKXAm?3GnNUuP-nxfWVsxxh;0Zz!BSdf2=PT$6~ zrsd88`wX!?s@~7QN=Z>sxFQEOznfcd(PahbPOaK@vh^sed03HVy7P(3_BHeSdpbuU zcD#E!V&~tiMFby?Nc|^7_=XVS*GELJ4iSCa4}kUc5wX7PaX%)hitZ?x zii*e@P|3P)IqG7kid*uez{dmfh#lweMC^RjF+}h&h}3r?!gmm{{7Xd*N?i1W)Zg=ac zAlMnl|Cx;UC7Sam#F*?)1;f+}HV>Ye0@6>}aPv#F3MYt}BN+D?vE%-Oh@Ee=LoEKl z6h!Ks5#if}SbiSvH^J)RebyuT0g{OLszb!rNeGfu+jIQ+b_nU*WuRe^2L2kk^{pW< zfa9+(YP!e;_jOw&o>I9VoUJvQ!;%BQK0!{lipPM(i~Q+l1HXas*x!fM#|eX4SE1&m z*`HMcAi=OW@O9}!<4A?Q1L zG=%%AaqrxS+K#V}0P&_*-ui>!tA3$jmsS;c4%Z&Pr+)@qu3TLblvxc9rx^Q%nnPff z_S(@7@5?e-`Tke6a4o2dUVFPqc%e#2)?q=pw&jQ&PcA_0{N#Oz#djzmwqDB~v3!SA z5X*0{5V3mN!id#3&_t}SON$We%VjDA7th#XnA;1XDX(&b62c(hrJ72+j~@8`nLg_^ z?tkfR^SOGf;Z|_{ctC8fCj*Y>mtKFK_#Ld5)>ki@up2h(CR*=MmVpf`zNFh~98iha z)2Q>oy$!KrEg!_rufg~65&Xn(#MUQq5aBCDgue?By=#c*pFpgyvj&Lx>VObGY0bK8 z`1jdbLY4xL#ULp(-7;cKnoFHNx+@!Ki_u@KZJezRJ<-!0fLm;kDs;Yg1>>TQ0uNd;J76T zD$S7r56QhEuO=Jt%fk@MH&GoC{y4zDzI6F9*ccdADUBT|UF~&u( zb!DY?g}pdvE$n1OJ6@^8rJnkAU(yS)<99KLop<0M7H{H$*!pz5Uv`A=#}Y*N@qYXf zJ$XGu^waQpIpXUCVto}TL#RXUz-VVnh|qTT+p8rC!2w(Nf_y6=Aktv%-o?4#8*eAI zqcaq|W*?gVPD2=66#2YXjGqDa7Plm%_SS*fG}{?9;sDy??yt}f4N{4(bmJT7JcZbC zgc)Mz=d496K5Z`|^{t5TwIRa)39)*z^AM}=r-g{G7DRlVgfPJkV#iW4A>w1R?CsNd zzrhs8v#|o}A#hrz<0ITJ%x`kByYQ-9@SgH{QSI?=a24PR3%ptl_CKC>Lq`Xgb$8i) z4t@*T9TkrbT~ky^coV3w@dgL6^$dxGxCHe;ToRD?Aaae@h$@Ump)-K$Ql$_5fBRCyx-L7eTCmFB`E~cqq-q;N z{vF?J`Y5$(@4sVq{@*^;q+adsyb8%U{NUZ=tI;gfus_p)F=YMDl|CJ&6a$R2H7y&8}i`#L31wH3;bLT0if}Z)?HaXnC_3xOS_n`O? zT95Z>vwR_hf2KIq)1>;r)K>)cRSk9t`gVzKv%n=rjN^Mw1FS+f*xd>50}E+x^UH;N zVAl4?qT#kZn2Fl|(W}1=TX~l&bT;Y1)+NdAHor??OZUa-qs^6g|M=H(-DN!3QuOuJ zVBIhsr_lKdiU(S+Pxu~>r~K!so&nL1Fr&UKsjoBOyyvR?7X3)@GUlk~rRRd<+`44> z!`QuUVx28T&MiOe%vSd;1%A)`CxrP zp!Lb`4`7}7DxK4_ijLpYc?pUip!IJkUjX43pF{OjseUQ-^_=+1SOlIvxUu#+A>6Ok zDa&aq2V76)e_7zZ8=Qm9rsfv!2B#$xxOX`*uzhpBbaK{Da4a>}4inu0j+Rk#CyfpV z$C(SieHrTq4!wKTmgDyUhxQ@;8H%2CJc-WxP<#ZfPa=FL@bem2{xYi9MD@F4RgH5fcy03&Vw%1;Kr9}u?(-fE2C(r zIIa|2imeyyUugm^+wH_n3UQz072n^_wk`t~sial;V^-2J#gzG_^?3#Oznm#;D5wuX(P4MX*WtdjZH~XIx-EedQ_;0-aVGdIFkigG z<{)@Ad>W9p=mXCWGxLfco&!%!@v-}Vn1e^7|A$F(^5AiBckG3fB=CqEZ_wwD`vkM& z1UfHA@%XtiY<&^ovqY5t8`Z0$`bViR{5gKamx?O{9a3)C+P4w7{E^Mdiuid2IfIol zu2tZ_>Zah12O;41k96pQId0(VoOW*7O57i~83h!4^~KLKD6??#X$8*eLHX57@#p`k z|Ae2gsshfa+OypO3+cF$&f`ACEWVxAhf%&7%72XN6%u`XT@zpDsjqzC8t}jIePsk; zQKyAXN`fKStvsXn;3^307E1Iw)dv9;>C-I@ao^+K$vTra4}rf?ce?%P<>2>v)|h)g z-M}yH;DfT50Pu4T`x;9F zR4@DPA7>j|IsuGDa%++_%xKaS+^~eP0y%AUMz@=B_J(;Pw0Z4f_)zc!}Xj$Ma|D81Ga4-#m-Q zeQnu#+}D@o!}~}__}dZH>!kXA#MkO*>I?4!I`cZfQ8)&6#3oy`y~q2%4!foVR2_gw z(HGAy&%6)ewSJPf&g4MY0~x2h8Ji*WXZMEUop&MB{xdhbZ5X&eFMi?N!+nv9yOvb1 z8w74{UyMqgEFJ%E{yV|93(|VL-;w3R{cKtO9-=o3?|U23e~A0PvcB+sAJ!M%H!|4Q zqAYtKVk$qV9Vx{7NfxUZzD*wm(XKWpn}jSODz;>6_eH#q&i7K&h10VjBJ-)^KdGl7 z{D*r_bK?XEPaabco#_MN+RcZ;?rT8!O3ztRdavjh?{8%1y(u2=LuKnrD4zr6e@OKb zsXpGfGvaHB2=R4Y6JiZ_7o<7IK-{!T`=wW(g_t-8|DM$cVaGiyk2`V=c>j{j1P_(@ z5S_{`%H-hvPV>x4KjU?YI#=>X z7^1HP%-s1J?1xWsrxssMc^j#d?T+7Cj4kKSQkMo~+WTO%PK%e9~&X7~Ze3X6X73 zyf044HUDd4KE#MvX!NS!eK2F@SXze8`FH%kc^02d>+yPw@QI8g{9oo0z15?reh~3B zZxi+P2og=Dgby2@fTS@R%?>`Pkg)%0LF?%@h<|w_&MVIq;#Z}fXmHpEaVKwYczJpz z#4WiaP`l?P#MXsBYRM3V*i_fc7u4}_a*w~ydy8L>^`G?QY$ZDGq4UovUYyqVP(B^X zf1m0dCHmQmsjorm>jxy|RWz&FkA-CGsHjtQS&-Nty2(;&6eOywj4Ra}goN~>nWV=ysnQkZkliYrMHBBpr@d zKl<(vBo1t}YERq*i4K*&@;%}pp?h5K2gL?R*d129Ej$1c^u?m}zhFHXEdzMd1_@$r zwj1aCL&xvwdZxp}cIA7bM-^cJRs6?~r6L81jC193=MX`y6SS2#NUzZUmw_ zNK6h%O`jFrb`Hf}%NHIEYk<_77q#$*EiM6mlTCwwW z|L>){kbIh%z4L{5Brk4nw9~_gMm3t(pg0{;H|YT7xl4HOMiHH&MO4>;_}FMqebu2T zKGWtT(MsfQ*Ly|eq9L*skmJdO#UV4tdppcTnvu!yJI(St4ai7GPFMy%?@F&%jB~Yl z6w*yT=2qETg*Hy!^g&uI3h7wxmoXXNM`Huc%Tt^ose2(ydDal#G8dvVZ6($1p*~89 zubEmX@=v&)wN)+(l+5qh@L&gW5A@CXqw^6tUU6tru;@XyLwxe~Ic3Poa_pn_fC67rBK_d26p*F$3y%?A$q?RLH=<*S zpEEY1yAk*0V|_FdU)vN=q{anj;ktel^4?Lx?d^EvH+n-xkt82}-dCH>)^!t+^X3(@ z=WpWYCoVLLD-}F|?8gs1S%AJFTVrSOQoUAWeY{!7_Ie zClt4W);*y-VU#zO=#;D>x)%kAk8!h!uR;|R{$TS02Ujl?Ry5A(QvFR7T;}2S(@hEa zKRUB8YW6q8sZf1iyx=(UGB%xnxA`J>hrCIP;slYadrf)I(*oq8&~$3wX58ocxVqt{ z$GATo8}HHl0*c#9>SFsS&lAdv`J1h3n=|*)**Ng)dqmp_q_~ zxLXvTiw)p@j^CM$?#{TM>WpnYt$8OA=bhr-S=u$o`(ji!_-Z3h-rW`Xbrr}%X`Wc) z6#Tr*^iy5NO)qJDO!E~KmrLsy%JYiyKBhYFsjfZokvNt3n(l$Zehf-%y54}o%~ngS zn3sq`opi)gqmQ8AQ|YU?R5TB6!NKc_xt@FC@8zeE|#Z^0`dkU;(KwQ(}f)o6V|5VKF;qJ zhywO&!SpOr{)v3~Kb~!FpF`tpn#cX8S=?n>mqvLmQr>W)b6_6T{X%>=nh;;Ub|Mp4~#>f=52 zRe-`u8{esW7NhXkxO*QqzCq!F5AvSR{D?ve^<$#1ok83=?ST?*$tXCjQttio#VAPo z*ZEG_W)x`99OZG$1_hkEb>u(??oVowH}CqcQ#78Xc`J%Dq;;K?$C~oiQXTyN$r0UI zs>Fw`4e{l*4uv%}E3TiVgu>H)TF2e*M&X8Mp3T3t9EF+vs66)Z1qz)sROZY6CsEu>TIWM~Gzf2- zGSR``rxV=>;^Toa^>rPE4R2IF*)5F1bC(Xk9p#F`_uOa=-r$eIUb!CF<{W}TTjo2N z{M?MVRWhDm@%J1dPXq5fnY9pwh}2dKiHt_Udz?-yZU2RW^<5{p2i&ExjOK?ZZXB&s zqC9?-_ZZc=Ms+V!A9d819}1Uqk=p+jukYRLvf#b=_*X4^D_QUyg`2z___kIKg{2-| zH}&dK6ng!h{71Xvi2J#VFQZooarM5LcnmE^Aup}22WnhKA*XBVvL@sI&$BUs=Fd`` zCas%Bd1@$cFV(^8GNN0E?<=g2e&VZhDGGOZ<@C968VY}_GpLq35k&}^%>Q}Q422gT z+^@Ps28Am`Sa@`w!F*BfKKgf1X#aKfcgMD&P~X0l=I!<a;%=TMbc! zl&3J`#6jVYgx+twUx>o3Jb6D)pGIL__0oA;HlVNsb&L8KI~0c0hFk0KdWaitw_Nv! zL=}AhV)HE&x1H9xQ=S&W`v9*8t8=W)ffbW})yWuZKUs@CC%Q+(h>r^!sIPk{Vl32bedU89oca1p zIj2!X$&9t*Y!0A^p6@oJtzV#s!L{?p>f`n8INkmra0QAe);?@7`#Xx*V^FUB#ScZe z{rOsSXg-SAB4%@0;sc425;Sj0aY>|Zjw0p3>oLM>z)y5+W>Vb;)JHA#Rf;0yMVj|b zi$oE-YWF){twfOmM`|<9sG!L0x$WlZw@~Eq=ZP}Q@1w{o2?os%?{eSD?9N>Id_ zErzdb;!(trsJGkg&!I@&_tUH&X`{%`e6x2=`+%ahecz$^!wyBIakrR#IE11OTdbS* zGYv)Yri`{ctcRik9P-3Xol%sNmBQ_^N*Z6#{56WhpNB{424_rHf~t5e+@ z)JHS*bq3;?RYDVYltbu4+eP~;svsb6l%h?OAaK^M+~wF(gP()CreXI@OK^O>{GGh_cd)1n)z3x}?Qjw{z?+9U?#C7Omabqo-RHHhRL5y534 zQa25;JSowL@Xkg=#{v=E4~X~(Ld2IZxOzH1yrY!@fo4Zz!~XPxf3U;>(a2Na!?_lF zWQrfSEpi<`J^KbYo>*p?Y~=#hoV`}J&YS?#kl*K=`R9U;^shEaRd-n4^|ozA`EJC< z`*{7>{4GRq%MhuwA1n)g z(v$D|O^!TrfuU1>yotVXP_^s}&5AymY6y&G&jY;BS=um?X^G~rjamM++5 zU(vM5xCwU7eSEz=X<+sC)VLM>WAN|0;yg5O) z5E~;VA~r9mg$V8^{+$=DYtun2&zD$4c%LDn(~gL)86rM(5bJC0L0B4fzCMkA9_WAH zoby!VIo`T3uA{`R46N=iefD8O)xmj$53Q0Gm}?tq#q23VLH!JAYSd z1+~HGH!cg@K<3tp-n_m!h>bsSU*M6vi~(YCYeW!RC#sKFp6m;V@FpRm(~gMlZN&P( zpDRav?HzgpGvC@sPs@A*>RvamIUhO*MvbYWe_zQMdR&YOaX* zZA&gH->WQbyjywb%w}p}4F3kbW{r$;O8$&?t znpDc!Rvl2}5B_w;WdPP*%{ ztgc5ZVtuSr1J;)h<~!3pad2EI60Wx$4z-Me1!^z3Z4$kpJVj!8%}04qi&UPnpMM)L z9dS!y*PDXc{{HDJghOC$;QRJhcZ)&(OGntYIj>=+uAYP088^hn8-9q*ON%2G_n;Ax zx)#LpC?7&BuV4pabv{cXR#!9?SRd}u!1|gLjpiqAzh<;(9+J^|@AEyNRrPBg_x{PN ze6Y~1BjHI)7AW*N1{|!*2j%eQQ37@KpuDMAd2Tl!tdh%);#;)>qh}mq^EsY~#VHLSQfG)*p8NkGmbbwiu{y1#B_q10`1pYJ!Lgxx#|;_|EAsha{#`!D!ZJHpCVDom<0S4|eQC>9jm3N* z=h(V8)b%n*cQoyJ_%#V8j!#wL>c2*84Aev;`9}g8h{bsaBew1z4q|zBnj@CC2C0td ztW4qqR@c=ISRbP<0qg769VFw_<2=V^9#Sxgy0F)SgO=~kjNi8>8qGblOFl6(x}-m< z>vX#S?t}bukf)on0~R!!7^O8D!veXi(Mx%?Fz0}w*OXCTU=&aFcUIIbtzTCeNn}dRM(e1!2OfA zUl^r34fm}+mGyn%K08%5w!TGd{vTJw;u_{5wobuLb%f{pRt83R?|di)R%cZdu(~bs z!1}ne7g%3Q?9hT#L;3H5rD&Dav%$WCD75PEdWC~^y=d9NGQsRddo<5?{H3&uc8G69 za=Vc`U&){QOGOHOqhO-h4x#*&078m)zFsf3E$KVrAUh%0MwN}{)exJ1KLxQkeLhvT zZd)|4Jg?^g%X_>PSe@EG!0JA&2iC_;HDG-SsUa!*V#$Bhv(QS9T!}zaBcyP3Nj0}1 z6)j(vQo3aw?q7{I7?@dsy@r?(ha!6U-EsoFDh1vF8SFid@ZMeDS4}N zCS~j+HPw+QH0FfrNIsW|R%LNPr6nVEfntAPgy-`@+}C`BchefTTT)`vOn z$3Eg~qa6~fka!^?3`p*J_F&RrB$BtvDqoXmgk+1fVy8uMK2e);9U=Zuq9-a!fY`xRV?U0c2r*r$nU^DGLX3sKU0o)E9p64@Y4bkeeuUx& zPgS_UjyQ28>%F+2qVq<(z?nZ`hZ&5r+C2Z?$mVgMNfw9ub+UC%gl8w_XL+Nk&St7> zNPRR?U#DU3ByYzzF`AGfTo|}<>1BwobINQDsDU{D7(+3=75MwV-7UP~TM#SAY)y#3 zed@A?cFic0h8P=T^)iuZ5VOjd_er`P_pKfLrKpYjV6qYS*JJZ-6o>o!(K^C&oAM4( z9Y3NQC{BFHiBexY*uyI?>wGN^ygz0Yx9~oh#KE-pKOY`|`0nx-ruA1Kt~&UN@S%?o zH^sH=g5_Pz+xPrHDvoOpc^vV~g4j`4+@K!of4HzSJ{$KZWF!8*oXt<9xFfW#g7UNx z-or9f=PT9iAU?vSsISwo>uBS?SutU-Gg%=!1^>PwIo>uS_NM_PZZ_v^p4tNOKRtvp z4V55%X5lKWch4a%LLpjr*=2~EAt|;jk^`|%73WWfY>2(quZg;T{2ST)af)-Nb@+Qt zmggts^(8tYGF0~*_3@GV8it+g%#Z(0?S`FUGXLz4OM{f4#LmKFLXZ@CfAQ?Q`1`*J zy;D^dXF$T_Ye%ahc@S^+Fzm)Jd|cjtzd8l)>xn!5U~gux0>p(2O>P)#M56)CFQ+){ zXQXau4COgbd8>&|`2wozNPNVPA-?wd15Yzx>b{FJVW-0Ug>K6)K+3Q7yB1dzA=%>a zgo5lYNc>SJDv$epCiLwP^W5VJ39H}AEUHt4_<~}OO)}>oe*50xvY%+m*u z{8K5(d0`hM6_1xaFC+ztw~~Es2!4WuAz|r;%`YJ#FuCNZXcHvNlO1<^W+B9XyInq2 zK;UmA`CAnCiq`cIo>9V-*M{iGs1x0W#l*+9g~ZoGX-HXpy~iV27xE{J&-iv zveeCL8Axp3U#fI{9gXX0em=#e(>gBYks-Y8IF9I?5TUxE)JGHXB{d$Bn}xOV#u-A& zkIjO+4JHFmOR2w6YZmYXN)5LwOF&9+km=lYH5g}eAI;tg$p$;Z@9+8oNv(WYzSr=1 zw9hwmgF`VSab!gET_b6Xr+J{biKK3~Fy(nncvZ$x9UH1^Lw&eYUw0w-L(ly`0jiMF zp|e`u9$z;q!UDyz?|?T;KwVf8`@Z-}ccryFq%3>y`KfC%Bo}I!f14N!$y+9$Ul!W| z$s%qW8dN(Wskf4Q$rqmoYK08#=}TEt#r-pRi{E^a&t$+s6u zZ+nZ+-`L>a*Pq^kWM?VS*Y*80exvy^ic6$*`2NN67*SqDs`H2Fo*6}abVyKNe)v3i z`1FCvAxL?d{h!TwlYN2>FI>ef*o7StC$ z53FT=(s_Ly7|5xAGguY1~Qk#uSJ1Y+WDav7o#+s7?yieL;P^A-*Qh zg_K>Uu7$JbL(12oJEDJX0Z*y-a)rb^;B8biF5^W5Px1VU(@!;kCu}*oC>)=UZ}Kft zr2-)3=7leP`hk#g#9_4KsD8{dssBRm*MB3MAD}n~S{Fxo_EO$Rs&kC$Dp4Q5sW1FG zZ%?WAm)!)sad!Mq8}0&+xf3sa`YrIxW?Wb}ClGi>UN?sqjRoEsJLzk^`2Ide;q9M3 z9pLdD`6sOlpO4+QXRfLggOt{zn?CA9(ilVY`1)jVaF;|n*1>lwPx3ty-6GEY`1R{>AWlE1_ON6yaj)=EL(9WAc$t5^xVVoQ|?j#%%Zr2ppc_v$1 zCdg5#GEQ+7<9Gk=l#(levz=@9SjN4{I z>(8E*jO&^5S9_GQ7}w1b%ELkm|3)@{oZ=qPIupt>neygS9Yd-)A2S ztQ45gjgfo{Adv|;%vBH$t7rVC_nPcpdYIvuJo>Tg0q%#X?9(4Vq{w)N>sKE+x`Xl9 z=p+>9jr+AGYHsUi<}>b#rG_VG#nKo>^Rp>#7p)7VJPhR>raBcwH+&5B@tpedVe@bx*v`&ojyrjGbsZJHuZ6H2gj3>T~ zY?-i~g$r+u_hmw#3tv;LU&jQWo?oK1^coXTvv|Rnlr+Y#X31OMxwsFY`jwvN+tQmaTh3c@hY(gb>xK zrMg4Z$3g0=iwRZkvERVAoCyuF-=(MG&4lRg&{aAp$pp46d#$=Tf${Hh>ew+jmhlTp zT{&L|_a}7w&J*h2#c(bvhku{RWjL!p&E!@}Fg`!4O@(8$X~f5m&5Ki90If@>JW-T) zE!C-^x*pWW6Y49M;cmU?;Uccdgiae1e86fE6OyylvvqAh6Lj8Zt>3diCZKhhdGI%e z@egt>y;iq|@pFCtzR33=<9lv?g2d@LjIaEXFGcTO;69jng@H~9G{(?8UUwEZm)7M_ z9)|LUP@NK@yH1b#*h77lGa+|c)D^YgFx(=gW3wI$G9fQ){JuJ-GQm1$wcUT%F@aZ) z6xik>CcsuMe)S@L#^3zfwuJ=`89)3Oy~!UZGk){OPyZk`oAK?mmO7WO`Ztoi1jS9I zb+?RfiRW$GM zFcUPm{6kf+E)&@K+WF#W7bZ|ZX^L1uFcYvfQGSZU6~_PV(!0&J%NhSX{%x(^_(~xDr|yN_he(ZxqpavX<&55+6g3)K?Z0GV4^Bn93-ID{i8)Wa(>$J9SEHq0m+A zKb5OBx`GJ~I+Zse;w}@E_%3RO=4mFd$fIb%$rvVZ&WY*$KfRcMt5dVK)U+@GkuFa% z`ySC)OY^TN&WG0RraZ-jH*z%986>*ns1G?y>I<*yEZ+4C0>>Hds1F}qXI{lVXGAU6 z$H)EH@qebiNMnLu8?WoRx|<1}e#50};VCA_&hl!_i(^dS{%a@eO|)9@c-eB9Je z=~r?-(b!M(3n?y&))i8oXO#CL)v2JmCy0+(!o-*0MEraKr?{ZJ15C)TX9KkhD0NcYtVIU3i{d<4aPrFBawPax$z&g!V~jib8%^N~P(4KpEHS5GZqo=f|Cr)V(mHL*qe^&d{-?8s>S|FRIn-A#6XJQ7-$FhIpPv#{ z@=4MRSLMg1f`_sUckUG#?{zzvkczb1=Oqs@A=a<_=gtdag1_#5uDzw42|kwN%x7lJ z1ltF48yw~_!RnLV@fEhvSVi-*D9(k})lr@!l(&WIcfWmddq|yv{61}fc?y< zlDqgEU&s2@56T-3FkH34g{4+@40m*|?D#$_CZupy+|!WxOo)@}jh!{ynUHyoYMo8D znBX4ywz2c{nBayY4>^}i8hL;71owc}Ia8kXlsB8|U_Dm1jQYUuW2~ z!ePFlModU%)u@c^ z224o681s%_-r9$yq+UIw&VNTh_5vY zOvu3c$p_DiGF2)0ReQ#8&E<~BUo~a8E9`%T zep<3 z*0ivT;fB9{!mqKI;kr*Za=jhSaBVYluX|6W5g$J`f12V}(>i>gV|nIL-v8;SQ(b%< zSsyjj7xs_RLsKO@@%xI@MQy%ehI{eA#<@;A7;Z~qi1xyX4EI~(?>*L940m{$%NfTW zhWq{Vtx|;V2i-D?VHLRkRZ!buvr7#3*<)E(K74;4iTnaI|Crz^`Dh(J&qsK+i&I{_ zUaXD|)y*V6_@$^X{Q3+&Id2)#XSk6}VC4p^^ROi-?A&iAbh=H0ig7Iys(E;S-IRVN z)Y^RVm(-JT9mSBte|-w!R3#ob%B&e Xn)3c3IwttIjOdpmIil87OsKdYvFak5<%up>fd+)vX-g}F^i*@a5 z@2k7IYp?%vZgPhrpfk(&Jp22Wd7gKYoSVEkImyjU?#<0@+s-Aog@r|4Kp{XGfMu9c zEmOT9T6^5sKPOX=?h|5tx+iT?D%7FEK#NmQ(~m! zfI=)R3kVApA|ZJZF`Z1WH1M>jiy+sl6p(Kkc~Q=xQX`F>z=PbyIFC%L)IpxY0pzhl zIpfizuv9u(V+dopQ^#wPLA<6sUSTmGwLoW48sw>DNM}(vtqkeX$3wcb@gn6ql%XvJ zUC?eaCd>yi!Imm@kOrbyVi@ZvOr?f8vgn3s00jVrLTnER4 zTObp8xu7tO+@Mki%d{Gm+8~S4=oDbHSmZ_=+z^3PEpmg`BA-EJ2*V8FC)hx*3U6d5(?l4o1u5FJ z4xo_G7NbHmJTm5u5P$i>gSx`+(FFJ_s0>KS5W*N2Z6f|q2L${IOW@BE;%jvpEw&Xg zF4`9TdD%H3=$FT}9Y|POF?~%47gX!N%MW!De;Bto3ly#kt|i1zogc>iQGQ~2dx%?5 z|9yVg4#Z#T{5pcr65^-M599u9em)R4f1n0hN3=kXHpwIS*dOR#0Cj?2VXS->H%1U- z5x2wwh=F!T^J2Te`WNd+)UA-rMHLq2Ef0%ejRfN$C;q@MddpvhFxoUVmuUZ=Pg*{OTIu&q|1& zHh1+726yocJjuUmoepmcqIu91GF9oh;sy;ibxC)HRd9m}wxY$>S zKjf{;0`^m-eyoNt9u4sp1!XfsDaT_wPV@GhsxMJCO|0Bdm#p`HD z6<5^v7sg|ZEAk!(i4~q$IB4M4Ic$?9czm?AQ14lv_u~2Bh-E4gDG!6QmGNOChaW~j zo=p0wM>F79nsjIo`28T=i*pdCh@ihvnf&U_(v=h#QqHR%^j%_C=Y(bWMJR*FX{QWG zR}M?gjSlo{`CGH_8}S&!#qzTL z2TU(B$O9mZb%w?i?GIj|-Iqd-g@qLD3uBNVjZCKugsYey!k7k+<2X+Ifoutu3w~`d zA8bGPLpL=<8FFCzN_{MK8u2*Bw;(%b;%}Dd3PO~h;BwKu*hKgd(Y?lxi|!qkl8Eko z9$$1H1qnYQx=(p}(S3dze`kp3zT|wO`-;aG-M=}%=)UIZMfWYwPjugNKGFTa`9${< z=M&w}oKJMWaz5_1W^@*!o2mUSa^7n^zdI};NpF|*c1U0D^yN%nuJq+dr+1E?-0tby zPx|(fzI~)`59#VZr`~zH&S{@$h*{tDk2&W%v&;V{=Mn2gQvSvBUv$MIIbqf>{Ky{P zjWfjY#=p%KujBuA_ZqW1`M0}wSj#Yu7yqqcah&#Vcg1n_zugtbx&L-ooQM3|U2&f9 zFL%Z3z<<>Z&=?FF;qlae(*inGaERf*S#+V)295SVTzU(OFlEqxx%w?~&i|bA|G(S; z{MXO_|8m{ulwGg@K7$dTz2I|7d^Ut@0q_|__&iB`Muh95$^yy($^$9@Dgr72Dg&wjssbc{YJlp18i1OBT7cSsI)J)>dVuz*4|6z;eI}z)HX>z-qu6z*@jM zzQ&H~N>&I2w0E&?tAeg#|xTmf7KTmxJO+yLAJ{06uMxDB`ixC^)k zxDR*$cnEj|cnrt|$PLH?$jkltz|GHP=q~`UJB>+bN%FvH?Y6(CY`q55K0F?K%KZhJLhNM*zyu zkG69KpbY(JyG{UGhJLhDFD^qr z+R2y8(2sWV<1+N4oqBT_`q55(xD5Shr@mZogx7!LqFOn3V<^7qn)AwC__KmDF%Qt^rM|(0VqR1+Gzj)W#~sc4FsSJ z{b;8_0Fdse z#%1V7J5A>@^rM|-a2fj1PBXa-{b;9IT!wzM(`+t7KiX*ym!Ti+G?&ZJk9L~JW#~sc z&F3=oqn#E2P=DoNAAoW{+HOApW#~uS9RTd- zeze^|0LsvhwmSqs8T!$7hXE)olXEy zhJLiuNdU^wk9Il*KpFbcPNxAVLqFQ-3;<>5M>{10P=Y8T!#q z*8wO)KicUA0A=V$JKY4J4E<=Q-vB5>KicUQ0A=V$JKYAL4E<=QI{=iSAMJD(aEJTR zPWJ#PLqFQ-J^*FtM>{1kf5F1+)RQ1+)XS2e<$_06GF(0i6Jy0bKxYfUW>{fCr!(pgX`5;05Rb@CNh* z_yBqVd;xxd-he)Uz5p4(A0P(=00IFDfD#Y{2nK`zRDgbfP(T3`U@2f3U^!p~ zU?pG`U^QS3U@c%BU_D?1U?X4?U^8F~U@Kr7U^`$3U?*S~U^ie7U@u@FfCBad4gd}U z4gn4WjsT7VjscDXashG!@&NJz@&WP#3IHqt1p$Qsg#lK8B7mZRVu0d+UjQWlB>|-X z$d{c!&bk06fCoSUz*v_$SE(Bm1 zu&#av$cJ{pdc``$`oy}#dc-=!`op@zJj(*g11bV41F8b50crqh0qOuyFGPI+0eAsa z06gdL99aRtHh2N>7;q7A3Ggf6GT;i}D&QL6I^YK2Cg3-~Ex>KS9l%|{J-~gy1HePT zBLH$@nXv2)0aAcBAQTV}mXl}gGTLWhGt?CRu4QgM@h;rSY?m|f-S&l(acuaEUiPsSgqLPoWG{1_jwSZDQX%KoMx)L}A}T>7Wd7u$Kom zkvjymXxglWot?6&T{C$aHVAmM_wo$0`8w z(CMI&NW5TIl$7#g_N`Vvh z#|YO7#9k3fiF=>{$}X|9b+m2f*u++-kMsopdtq$yu4-+BK?2)4C{r5zzo#UAeX>~> zi9{BmR`rii%H)A~8Vegiq?~{fiL*qiP;^&@2`9NeM5T3;tL4E;U1oYn;Dl8hbeb@D z{W(~lnu+_JC9Yk)rCs<=C7IEr$R!e$8g+|QWXMlEKe(LU|Za%GAnWXc&=7S^p>{F6}l}xUogdUd0!~RK{z)&Mi zimIm9GAD#r>ftJuLL~Z3FEZ|b09~w1U=(RmTsTvDc)9;nixDD8B$*J2l%^93+mmF@ zYC0iqyCSNSf$J>kAnoDl`O{_2_U`MabN<o0cQ!YWRf@|F%o8Z5iqrL$S9M4Bts3M zTHy7L?5Gh?1qrjP7H5gr2EMNs)FXXy7@<5suL+AVC}D3K*s}_@WD7LF=1;5IN&c|8E|laEX%ZV$!og*jbW6xzd+2RhUs^(GrDr_@mbR9U==&XKBLuEAF`Abt5#=@It!yp(hX;O_pjC5#2Q?JXII4D9bocyVX zL@y93ThupXRmwESSh|o9gDjJ#<1DdFli)`IMwmtSU~1>U2=#Ip)xhmoUY}xd(KWA9 z(h#O?-q}DHn_59LHH^^1EFb~~VKAf%gn|bJDRD}v5{CZ3X+pg)ZIDnrTNE-FVTTyC zG^ZWD;Y_`(sZ{tqtnFxP9-mR(Tf3WY2n5HI(l z4&Rjl3A5;4%{x=FIFpgk)VUsv9Q5u1{oq2!iiJ9-`kB)Xvm6vVOWLV)s=$yirJ+sR z?=1Gc0CmaYs%)MOv$%*Np=oa+qJ|2UJXpqiFbt>pnbUoV-2%I@nT8HEH2pHFR13GN z(lPO%Ikn8L%Fq|;RMFqv%P^MVgapi)H0!@lqPGLrmnU6*721=r>8pBG~# znQ&MHjX053NDRqnkPP|_OpH6_Cqtyy{ zWT;WY2Q#ql`Oow*c9!D?bLJ^o&gYTP)ERx2^LZpRby|_-d>#qCbaJ&`1-HUd+dfl2 z&gV5ccuc64!OeEKix?zVg^3k{uIaM?d0?PYD=@+bP2h=jv{J#pilQkaPKjqFOn%`Wn*OJ19Ea?TkQW#lP#RmB-mvjp zhDQOy7kS`|MRHwW2;6nYr2q<9m^?f{A(z1tA5<^nWmM^!IGa?YCk!)a#MW(kE%Rse za05)1LX)~u?39g~{rsF6G-Rs?v}`3u3KRF4t)Wf{3tEf?P2q(~Q8u!*PiLvjgE+#* zMRqc+mOX<@p<+JM+aU}La5|r+TQIgowMG{%6Po@{H9}Bam;(reyj%DOT!I~dFtb}g zVv$Ylu@wgB2h&?FC5)BQpouBX1_)K^6oT|Vp_c7_>LlSs&hmDoITtCVS|P(5Z|POz zVP}bHix4FerA`Nre&HgOaoJ7pZBk#BGB}|H8=7=3ry&dr*637*knoi9J4;vt&HQ9b zdjuY1rn+!K7afS7dC`R%pW&K*>ZK;cE3+zP0Tk-_&uj=SGJ6R#=);6cF{%4f1%u6S z{Q$d(sF#5ug{Ow%W!khZRw48?A=EIVp5MsG zY}hOdinND-5SDfG>#>m~l?U#@vc-&P(`6b;LnzbA14ChfW-2~thg$etVPK{N=?_RG zXu;?p_|{*9RspN!Qjt^b5TONEsWo;AV$n_S9Mr63D^!sgwjXRZ z4NU3}IU%Z-5u@1}X4blehHa{bnH85c8z{1!DW@J3S?H*7a`Ii3m@|_CLTuZ(pd|x7 z?6FPk95`Wy>Ir9x2?m4~5A84vJ_HpeG{S7FWLi1_l&Jn$_u><`@(iJ{B0PQz~O9REjXW$w& ze#{Ln%))&a@sbC{{rN`CG=vvyVDgwrfw5tmI=vNocp1Fn1J#iM?LQ=hBEvgB#x^5V zN+WHc(4(iR%uE9kb`26W{C@J|ED4LqG<60CfRNp`$ZYsvdiTW%Gn+%2VMC^224hXZ zl%_Wuu3=^a98*p^G^x>snRO7RcMiZLj~4Do!F{jqmm!+2p+E>XEQ}-0)U6QD6jSdX zvfDD5&Ph$L6k&oai`2{d$pdBL%^R&8-jXx3mW?xRcn1(kH32HQ8ZHLGN<)ZJXGU)W zggCZg@45uY^=Zyz^K6Lg98%wR2E9^#=GgFiLg7lyhj(~=h1*m=HQE#!wpb6rIt>iz zzH2Xu#1*R2%9PP~XBRJ_>?TbLr|CA- ztCjljAQ(NMDKn~NQ!k_J_I0MCb~9`U3ziJ{P4ARqruLaZsAqP|Xrv@mim788_^@(T zw}Q;56ye0n^v;brgz)li3{FYunFqp4NgDpHo$1%*)P&#l*XCTL*u4vOA46^s?w$%J z4NwN-&0f=sjQwgjykx49!`=Ju2N0$cMk;jyn)Fv=u}VzW@PFWudWSGgfIQ3t2S?fR zp50G8Qcs;FdzzkFB3_S0_XjKI%xQ;NuBk#o(^fnG57e?7T$|wja9Flfu~;+N=?d>w zz)VFCZ@Q=q*|3TePud^9TOrzoHA69^w@J~&SV$zyaxI4G*OY92i4rx;axI4Gb3KV9 z)4?X@2FqjEBXU>02DTW0$#8pP6?!SvaP2XgPw-$G90z~5sR16qpE))ZUQlPrzyCLj z5MRpA_>D(1HH-)gm4#~*5n&PE4@R6NjZB&bU>W(sgzt-s5_4)98a52O@KyShfvb_- zS<=8ye=+a+VK- z&9R|4-Aq?lvB)M>vIVAMD?(WM@BYncHtZfJ7)}FYcY{iqrZJjh!z^!_I!oYTkTR== zlJ*!DQL9nGh!w`g!Wyb{g@)mrNjv)pgiux)+@^uc-}i0NoOYP)>tOXE__QpO-ocz& z#zC<-!b$g%Cw2~|-WZoiVxT_^)@Pz3PJ9~JI;5@2EJFVyuamGX-?C+qsRgz}^M@iC zY(9sCIYSY&LdwrL6zL*7e&*v4&rEmj!<7HQp~!!6G-Y{ew#sjvUyl5bgMGD+&*t23EO-^QkkallH3rgG&?=n);wn9Mxp_ zjye*WcHia)({FP$%yR67gr?2{RO-O62!&Dxo3O$Dc(BePI79>YNW=#=rVrs(Y1{N^1tUzqyuqlV8H9X3pNW#Dw?lC^hfHo`m`*56zjYC?3SHPR zE=;9|N5i-mqFRG>4?$=;KVLBtiBP@p9Dr+@ZmMU-srNl0G{zvd2_;mG>6Mb@jVg1_ z6ut1uRc3nunq)uh$oS)61?({>JPp<8-GaK;%f{n%)kxyxE79g4?j-M!upBS-Y_Lf?9=7q(ob#Q4a#97a2QP zq1frESlDzz+*L;(5ukugmT-A@`e&J@H*B^KC+yP{5gq{d+{K<+)YtS&fUqr>47QAB zua${JqHDT_0ZM~Bb3UjPQep8Bz%y3ILtBIL8mjLLGVUQH8gx7=R8SJ-bx($Qnu0!-oYD=0<7^YMQ8$$5zQiiW|nNEl+8N-zFpzm}u*7DDfLxfsZ z!y+xcD$T9tv_&?F51I{}!q79|>wg)(y#V`)w0DvA=<>6>MGJ)N!k%WyoKZ>B-~PzB za#ImDHL1*~A+{F2d;)F=!qeQ~R67>JopvRxTu5`iW)+Y~bg?ql;mD&isv2iWudLF4 zcPtg5a4q<*woPw`Mh%U7NROXY{;xRVuRK<^z`PCvJ?xc(a4pr>ER)urX?qQZ6LSxiOAb zNcq8*;LLbR1&-W}mQ1l)S|6r_<;{9o`lq%crRfcu6Q=61L@vQKn=tJjt0|mj5vJTE zkip9(X?MvpeZUDt776iAhVZaD)pKxD&t)uImgBFV+%dpd)kuij=Vx*e#s08c4{5um z#soj|2!vS;=*+1UwnL-1&A&5JMB2(k6KEa-;Tm;1 zv+!9st5MNr*4EY*qTRTTX0?to1u>rX8y$h^NO6s zY7Em?VxW%j!8%yk4R<%;K^#t+Q{AF7PeXk47-4)y&CJ06!G`W$(k>a=Da{Z-Ue zksFN7nX`doo`(2LCS~W^Z2E*2JZFZjdGQOkxVA;y55%NKozf1oc;(o<-X;?EfP(P? zeDerb4Ti!B6nNGL-=b#Q5}3-F(Z$ew8LLhh!@?8XY^B4y8)9*u;V4T{aV(~hJt$`(eODQhT{;y}l=lP{Hq zBB9vxr@QL^B=1iUva9}2@>v)OjbGRMe(-71nIaNq`bx>qY9=-uBO#u{Vj#6^E+JdF z1j9|(fB_azqztnE0b$0U7teI!lgaE*EL~s>>@lQ({tFr+u1{b)tJ|4-34qC2hJ=mH zC(LwmX5Q2cpY3JxIX81FCG99vv@E#h6K3*}RrBV0S=W;&-gx5v)5IX%-b8=o;F zVK&mS$8g#BS#b-C|ACiz-Pz{T*>Xn&$9P%X4`B^Je6GhbX17GR5*dyW;pTu=i(fp+ z=;H%OX?nv>MJU{am8X4y!Sv2S*soRWpII?e|C_F1paveYrKU*hH~lsXPQ79G&9pQr zA+rcGo_aG<)5q9+@pJ~gzrbjQ4fT;J1^nJ;I-x=n6fV!?V^Y9xI-xRJ3E$j;J6-9X zzj0+@YUbM2)yq}dMdIb^*51>ry@#xQ*LIoCxnN=&4bR0hvmk0{>Qc8LccLN>HMZQY*>7#3WpCl2z%>(udeBYS*~?9=hTB)9(;2_rV0{TH$0_)uj8e9 zGspCX4bP5(U{$wV8QwZTL{K)T`r0KPsj!+g3OYp-~;o{qSKxpDua?%qD zwVlG~Ecw|T+Szpgnc@ zZJJ?C{@^uFPbGZkEwyEoIyNayErXQ|HlP>whgmMTG^e-8a^)Nnnz~mN5bE6n`oXFT zRuI%V)z9=xzz?@#7EJTg6^^81qcREm*M zm%$a<976ca818bCVz<;j(|1dN(G7kKQ~VHFYBKbjrD1A97#ybgRN6l$glS(ys^XhN znB|vz%po-B;6vN8@EB+|a8jq+cF5GrXg1%{{a?5ToAsHVb2P^SITpyVK#m1+ERbV? z91G-FAjbkZ7Ra$cjs{H+^$jP_IP8s$=c+tpRZ3bhOJ9K z%-iJDK4ZAndHdkiH&fDA3ZoL-jbT>))y6Qh(_&*-u-A2K+Us(U^>yBN zp#C)%HLuxIPrZtj@7?jqKG^9``IYy(e*?KKmUWU^k`y?H;%L z)z+Zt)Xk%FIXn0M)MZTVy?I-fr>#R@-yN1Oh&D6CzqM}`Lu)l@JLEtm`JURI+ZVg# zTSZv76=BD9gvE~`EWJBne7_OKf13#TP3cZp{(A`1%Z)I-VyGh4x%SCZ#c1%Pdp8WS z0aWgnG;ilUCGCAD;?&dy4z%Z-ho`Fcx<Srcjd@QWoz7QRKD zN;`hMeKn9aIBng2QQMp3%g=+b{GSs+uiGw!=@mmmJ_c=0YMYCOm8`XE*@P)n zc}aU^@Vnn>!1gt(bH{(7vVIjjL-jpqua({MT>jRQdNuOC@#*1v>UM3(ou)4NXxq&f zVy7m|rA?;J98!E#LnrwPhifI~6(T}-v>OqQCpIT6{(2&$f8<3N-z>uTDG~BZkP;#P z_YQ>V)txZCUeJC^Yin-X-lgG3jyUeo_NT!yBmXS1av@c?7mj{j)0@ietdF>Eyg_?+ zZPxvIuZGlHdH49bGu^1iGK7VHmj81i=w;WKFue}aFiE|Ap{=V>O{ekuv;pgA z$n(Kxc7!aU$}Rr)+DRJGfWglv9QAlb`!4!=;9y=$>eFY(Z;{LT(eBpA-so3fryXlg z)%KcKp4yi^zOB8!f>Zyv=H;S~zac_6!iNaQ=i3k={u()9>0cAZH=GFk-5L^>UkG9O zKOs!75W@8OOv6Way#CR1A=S#JNXCcz(0*<^R}WsWmNmY;oq#S1X(%XOqrdTTLTE`1Kef z9KX_t2=U$55+Qx5iG=apAp-wR7sB!zKv@2-2-E9N!t{!#8jE2S=1R}e{uK+IjVu>I zL-+YD%NyB)hA6$)=eiO|74Mp!*|TO1l@BOCu6Drz)bG{khK{xNP_O6Ci$B?&rJb+& zSZas5(3a-{ZvW!8!fBBH)SY^Zwi6-TtpgE`4=+oE_>I>SA${#Q!uT!|fq!j2!t&cm zSpEx%pjVq;2-C}WT@(9%>Ne7*LE_LqsrPn6fu=|18s(j0d$j3WXSp%l@y?L@M@QaH z3Fli|t+Xu_Gz zMX8V1@-eMKmeHQqC+I6RyhM8rD<(f)y&vt_wMd8Lj>BosMlVXvnmUyBtkJ*XY_sUOr5(MGa{1^Dm!O6>rke`qKwYFWwH$^K)P4 z`A(&Z?wXgUcGaMPI@=@99D-=T^%lR{ya}NJT8B{%W&LSDZJ!-ZqeH3uO}BFeY<{Qm zYt1SK*P2D;=L+toW83oZQg+-nKaW3^rw3QyTgLh4@cg>-{0}g_Diz^+B~s0FtK>d6 z^U?m*whkG2LQBI#OTWB$cP9-!H>v;YRds2$sLc4Emf-n? z^8CMXy*hBcrc(XzW6Al;MN`AlUdhGY6{Wf%qyGp#=|=mn({#+&aTo2Me`1Y=Wj&~N zSj^aEWlB(O?GuY5THL3aL-y+Wv;U+T<;vxYp7){}n~_gsr)p45>Sv1<(Bjm*i9~$X;y|kgO3ym;z z{xj}kZE84RsC)QxKWec1oUdZ5D^!0-Qe(hDAFA)~c7CdABh@>&wRFGnlIqKCJaR|& z7u6T}TC8)!Dm?s^9lu$S$N!C|AI|tl3C=%<=jY4wAI$YS$@LmeW1lAPi>SAO4mhOj zw&%nzG`8TmX}w%)(ir>pyI-&HrP1-*AI!QlmqtCwf84880~)1%a_39F0W_-Q>pTIw zchksUE%(jzI7A~iSbL6J*_K8wDYEGopU*tpogcr)<3Hu;*K@ug&VQNbH;w1thwJr- z>(z!1o@*sp{aafa7p&SoWNSG(=y;3j-4{Qj13%Tj()vVAIn~aQipCykd%WX-B{VkS-k7=1s?bCXGw82E(2#CMVF>Xp{I`~nk^0nk2=-|Zdb8PDVN(VdV>a%lr6dhdh+_HnQ0^MA|rdcpOwp-BZb@;-O|q)Giqr_t}G z(8MKA_uLI?NfXjwaMPk#O|26HUk+ z*lA!ndm8`3|LU=~wlw}xsCL@LDm>hRAMe29_h9MomF9f?7{5avo?mO8zntlHw;0!J z9SJ!3E=1OT59#LBxYp^HO49yS{jSr4u9Mcome!f^Rz(~?bg!0J?mlT@?UqMfXL%M9V3x4ABm2__WIk29a59u_>I``=fq1=t+@&znjuX!w8 zXD7z<&Yklv=lN{m`OfBgoaB1B5Y5{jzs<3AAmRHr#f&eKM1n7u8hK~uZ4%h`nosp# zOA!B_xt(ebsY!Z|nlp&JJ4||Q+o`$G>`&73;$dB5_q@b=)!BswYqlZYl^u_6_k;PD z;NIu*ARezDOV@k~<9WZF^J;lM?kwM3Ww{;)xn6^brn~c)3U0@V`bo>~TVM4eq3?!7 z1#kV8gvgwf6{_io(m%HOw2EpHSm|ObP3&|ckF|RBDI$^h`__yNJpGi&x+Epve$$fl zoxi-w;7YdKZNuf>EZ&)lJlze(GeE+55Ab}puza^!b3OJmy}DK=>W7n_H(OGgXxfdL zJoRBR2~T$KUFSw^5*p*Rv)TF~L{;LQ^Zud_NU-Hr$qCmgL}?gNt^W>RqVQ}SQRU!P z5;)6#YCz>ZB(Qbo+u<*tq_~3o9FO-qPq&Km1To%XZFoKpc)pvM9*=r)z1kA>qhCf$ zlU^s9kXZ5Ug3f&D-E5K{cYAQTmdCrm)6L{O4H@s>4S7BXc)q_eJuY@UHNulgKZm`${w_O?sNOBhtDQEJyDPbTE|2$|r>n(z?s492JRcp; zH<9b{i0gHXXrju#4ShC;Xl^Q747|3OXkHX~l0WY$qFFGt{KAgoh^F+g*b_BB6LtS@ zQ|fhCOTvFGG9hw9ITG$!c}`bJR}%K_;vdKAO(J0@@+6&KF_gPAxO_a1=f=}j;yjBu z?;W1cc9w6xdR&jkT(6}>bH(@TIgc_#Tk#hUgRc$Iwz?FP*QOKEy4GHs^ll!}wp`P7 z<5&-(t-R}S$&VF?=2aoL`nNU^%}VdfjTcFYrvK}R=vUA_yezse^dH0B>0ExA$E(ZJ zZDu?l-f~`Np3h>QuY&6VynG;y*e+KFXKKPeDLw3n|=dE48a z^tX^jJiq;c^tXD`{dA+bq<`M%Kkftcx}Zm#Cz|uV;Q6@md_%Y%<+)zHsdmd97ylwbG<0jy>gErcQRV2UI?oqBS18Ft83XY{$ zTM@xsVL=4>=5j=c*Ka3b=_V1z6HXZKZo=|;M_9f$2-72xFug`m&t9FH^z)3TiudP6 zN2x-DVBRN6jjd)*rs z%20>C^LLy+I-5$4e>iZgkDt;q^yh~xi;^ieQorEx+ zfkfbSs6>Q(Vj2>b?+(KBctZre6hmpv3Emgx#?__m;(k+hj%YyL<5s+TU{#-X3%a=H z%oZv2@XVL5Y0=!YOP*s3s^*EKE*(xEAG>1%ZC$!~oyoydXcNVlfxmWnMaw_Fd!WC+ zjtFjFcf#Z~h!8L6JYneu6UI}SFy0S@(ZxIO*^oZ0EL9fIS`#zI50p8OSsmr)*r zJf+qZzn$GvyCE&rX~t^%&;TO1!NZ6kubDuEc;{{smTm$Oc#8c&1l~?TM961*S;F%D zn+ST?N3|04+R&Qh^ZxX$`2@+nk1h9mjC9&hYg-SgKl^xb+9cr1gs4sm+Tv!tLPs9F zruMR?f3AESOqCxQs^ zWM_$x?)Xw7@H})R0`JqxM98P}4kF}xG^CZFhx>ji=rzfol-zluraDAJ%KbjOfLD=f zt=`sMlxt6f1uZ#aUj07f`_me`8ppRiJ%iRwUie$h0WwNd%s#=0xDVFoy{Fj48fP$Ty)i z74#@joC@Euaav+3)zzda#Uhqr!q@Uo0pjjEqi;hS{di>J0u&mApj z@#{mzl%98ombp3UOGsWRE&bH_?wZIBwCLmCSHJ3bVBgz%UtB8~X0#GqUkMT9Eh`cs zUO!7Bq|38`2t2cDwi0;5;wk1+vB-QXb8L58f^pfN% z38eb_hi++o44?*S7)-dKa&@ z@AJjmQMrcL?t8eNE-p0gTr0s<>~1BPiKEB zAM-!H8M zc`^T17_VgV{(VBar1*UTPq&v;;2m9+3i<4NNrili*-}A|O2w(5*O1n9c=+%(<&X5G z2?^x`yqgmmZ>4DPdsHkPJpOjuqJ>A(LFA(i1cb3`h%iRDjKf>dA@pR`I&%FkmcNWj*GS7D&*CT-IHHi+j zb{tyc`5KyZVRx@jRVvYhZR2;XJAQ%2uUYuV#kq@Ve6B5@=S;Jvan+`W`T6`s2M>Mi z`247r4z8rDAGmK69dtcn(TDqw>7ZQ;a(B^g zk?YZx>vfYRNp}`KIJ7!V+7|vL>f08Yc(ii6RlVlYgaa+SEYIYn3He8l-&xO&#>b7? zzG~BW8ejFoA9;Jdr*V7o$FJ?Wmd2@kd_DF{X`D2;@1V&QxLcLW{dv5XES+xy&U1?M zhVXnE@qG7kJ$~bQb)bp*S?}B?8)%Y!$kwLUD$}G~2_DT${Y4WM;~%v=2J_d$%LB(+ z+0leHA?HiUPSN<=s&d;)T%qwZ3wt}_yf>^w9*0iRG~T=6k$V-da`zUOkL2;(Sh|u0 z7>_@=0&ft{r$5WLbbYRe7uRbRO{}`l{%P-KH1TGwC#6Onriribj+th$izcqB+a`WT z2u*a-PCZ=zAWb;GQ5QD33QdUVyKRDPSDMfww!+3vxoCn_`;+lDUugW>_ZvEu+{E4O zOm1t*#{Vrp1Yj)7|UmJ5ti>(E3OCB zJL)wa(vKReUAJ=pO#0%f95gpk3eB;QXXSajAQ{}BUHqyjh zmA9TA4(Zma=M3HDOA{9#I(Z-;)W^ITlS-`sdkLBVRkArv+*j%SUrBI&T#BlGvH`Sz%`>n+>^zFc8BRML0I5{ z`V@GfT?zT(LTu&O< zJ>*lRd2gih$I1Kqe72Fw3Og;FTJeLlw{2{!{!=ljZ;K~?S6{eY>T}hj^KjRX(w=v^ z#_QtBOM5o&T8ZwSCG|cvzU->Hp;GVZ-(1}b*>Kl^%aeG#qdc8IDdACfy zXD#g;k*{@)&%303%0Jz<%VU?cchO0WKa7TU&{g+RQU8e4_rmsjn-;rCeWx{9xHZ>Z z?mp-8U>@%+OE;ztK6InTodrT#Ai z^RE1|TvdY{uMXJcQShDA z|Iw!H70cHD-4MP$VCj8EX^y(}1-(>T-$J#wo{}*2Q5=K}{zS^`BWS*m-K8)Iaj&n&R6NrT%?~u6Zw?CH3$2V9DOf54ih~%fUWEyl9>-fb;y# zc^mV5uJC+CJ-TqcPC&c-)!%8wHHhcDbH)IvR4!>Z(*417sl2{Z&{(RK%4?NfTjZ>- zR9>cU^DAo`O67T$ztGmwO8s9g(u5ubd)zK&)q zU<|uo>r!^p!x_e~Yx6e;PW4QQ-}cne)?fNZ8IQMWpQK;7a-A{U?Dc{+o4lwo+;G;! zZjKhlPpQ#LE#l9&>04Di?qp-pS78}?M+_5o+^7#>>5c2aiNN1OjBY_#{%=JAVfw8w zhME3njA2&3-;H5b{*-m$%uY*<$CIP)B9K zXP2DZj$OX=mTV_N`1iv^IPO@22=RO5B0~B`eF@`hLm2;2!ty&xSpF>u)9Wf>dJUod zJLmCTG!NEGMg8G+;F1pw)74(RJ0OS#mm1c4+>sSDU`o4$VYk}QKK&=myAM{6_hxEoR+J3Cp{DgKFX|v8J9#rkK#HmliVD0Ojo zq@R_aFg{qnA@Ii$mfv&2^5009UJD7+YX~)r@xPy^US1ltjLvv$NT&Tm!*cCv>`22t zMO3$HkU)bs*ZiwP&mBN6n9u%uB| zG4{up=RuiEp%WFzoc&ZM>OKjhf0^NPE*~1 zUItql zyKer34p$G;LFaa@xl-7PM#VoMgUS@41~13w5#xu`{!NogY>9eH!@B36^rq1*8Wg_v40mN`#8Qi7^yuh?5S@D!|noaNZc=_?JWyZKC<^G@nh`S9bzBPP?1MMtgc zZnMNG?m_MI)4qKsLfCFK5sr_XLWKCO9Ep(LIe`d#iY|oldlQ!50>bhiOqgCX2-8bP z2gSSj74)A@<9*+p>UsJjjg?02I$rJ(jr?%3-JHFrseVnx4&^I7q}txWdix1^X}?Mb z+~(aaO#?^VYh7mE7TW8}nBGq-xl`BIMJFkiB{?NEF6?z~Wr#@Cey{FUv9kl()2M99CqEn#}yBZ6LMs?fm?YCg$V74G*IafzLh_<{~tT&kOw zsyvPEV!1PRe=BOZGfrM=*J0W}c=`H1F3B|X{8iPf_Lr&RQu9mt!IP-p&Kd)T94acb?qz4E;VpAJubv6(wK06H3=xhW8BB!uaUF?}-X)F*d>yJ1fq!>N!txtISpI&5 z>D879dL`u-`+d=+edceksmyzw2A$aYAV`1NDEFP<=6Z2^31isj-H7RB3Z$%S_Nn3) zc6?IGI_sX3>V2EvYr8Ri&&E3jMJF9JhP_{E))(nCDkXflr{}SN`6=O5uXh%fT}lZr zTE6`0^T?F2aQsF}SV(VtABi&lImY8G|CDv*Out*k<4k|!`&5*b&(V0CmEYDFW_J2$ z3^RMZrJBbUClb$eq53PeXZF@yqhYz)Z7S5sgZ672x7KRNII5B~u%B=r))8x-9xu4y z1`U4Kpv1zjpyOo{P+wW{}xZL zVtflNIDbE$-v*w)hU*o^^?FUCzOEm%tmZa4zeUje zAJ(An-h&6J?$6$vAB_1-b;EilHmh=z>YSUp)jxEP>Z~?Yn(y>C?f>$2H_KPhjvt>s ze9);k40%&Z){o4f0O68hv$Ep>y^y)f_0~Bf8TX&OFNp-@YCJc=!Q7euu^1Sb(K3oSX4AE64di^ZXX@{BLr-6kM+) znlyD0y)f624%t+dx*nWF6DO~G(WNOoPuX|f#<50snov&iY}DS@G=9d1w<=FqN9ve+ z)%wLdXxy{S!#~fmqH$v{PRaeJJ&p4z)2w5wQ8dnF@a5zBt~@-6ABX-~h+mJVKgs!; zG5&ppcz*D_LCAjs*UN+JwTupTz3$qr^Hn;+DI_MJPECjPE}LBRwuBBH(RH5Z+ctE_ z<@=GESRXp1W5Nd8%^hjdb#1rP$DC-=$a;~nCE$5yw}ca0+}_e8yRxMV4d_afYU?ie z+8^g(FLu0ZE*>A&-wNrway~id*Yf;)dH#-EuRpk6iFDLwncumdz3J!+>nBb4c9o8* zYTsemY#klx{;25v-|gv$nO`e@j9W@awi!=XBhr zT9$)Oy`tlzek0__9y<2Uy|3pRwxVOp$d>F_Ifsssd7kR)b&HNZRLkelNFO@7-K{Gx z414LQ2eki{#E*2;!sYE29V$Ra#n!mJd$l(m6<%S1`phIA?#qvtX7Q7X^7L0YUnJx2 zk&EZIkLTZ;>2=zY>vfV&Y<_b7PL~aI;?(6|suZa}C!BxcdaOfTIzc^aU*p1c=!B9w zcl!Pd9Y2yB==4_=I^I(8W}L@BI&Nune52$sbe!zVied}5&~eS56li#)I~`Zgv+{xV zVLa@|k00Ri7xDBnIA1Hq|Dia~&z|S+!1db0^^(xZW!{xppuJ2d8v>t%C*Poxwgis| zT>O$w@@$;^chO)v@k5`(egRwQ#MM^rT{rHd6Z;J+I(^b3I?;ZV$LbTO>BQ1b&G!|) zPA6KlJ#=EtEIQ$X$BU1n9eH>@KYo|Tzsl3U=6vTk|8bsQG|PX91=s67*Xs_^UEO?l zno~0(muaT9IRA=x=V~_D`DGOGn0n>%!TYwPbJ-U|@(pf7I=Gcte7hK|n>yLzqqmn2 zXfXg-uab~epURai{E;ZS^sl%|)|ki>B7>Gqs|f3f zN9Ege^a1I8-Kl==HPe%$8q^L9`7PccdQoY>BM>avwW;< zc)o9#9`06LuNx#jANf?(uP+&NxoIf}OBsoJ>NTd$iTXsZUE}b4{2HPSe&su-aCH*4 z>gB!0C5{r+ucNIEb$=(puNt4))GVF^9c$3&#G{HN$iYHgdrMF5`fzzY9&Z&(SI?U9 zl!SGY0&i=c&lR3;8?HwJ*Gog<6k4}mMtG3HU!w=NH@K34MTdVdlyM@_5#bfSU5X_U z5y1ogaT4VTazVy3y$0uP!1Ae^i|6~2>+zQBb(su)Geu2YPm{R8lb01N(Sr=W z^^0uTdeAeXOa7kreq_Mm8`G{!?~&Mgac5r6UQVJfF7G{m?Isd+af?5_6F{OGOm@5{ znNK3GE>+pDf63i$Xo6Q0bWQH3Vv~*0nb?3K`fg_69_DZ}%28`PKWz^T*B=+#A*!e}S zlh{_XO4~15OkzI8`n5IW<8E;--@@a);OVY0o}@gS_ZiP;63^F(>(QL+)rG_jYk0M5 zwaFyz<*mepjmwj`Z>O3)nR|)Et=m3Rdeni$Rhi)$d?XJU94Tu!C$1kE^s73_vZyN= z^VgYsy-9qh_R9)5YDv69GVz*Foy3<9tUjFBlDG%q z8#mRgN#bUnA5(e8-z3g|=$WA7ZAqMT{&8Igd+xU3@>VJFgmiT{PXo>iVIiL=o^Ke} zBZ=wN_9KZeT5RhF4;6_gbYyQ>Hy%GGd9l^V$0R=avG?(+uSooxM7PhmLH_OG#@r#n z5WaKj*qGuZ{+^vK_B^jFRU| ze9v+{EV*7DH2%mR52|m9qysK{Z|JTWKqFQR=obHND(&y)K67}X+B8%*(!urZA*$?i ztU_`B!BqBjf!hua>9L70y(YkWl^gt$*RG=xB|eTj|5t6QZ}O&xg9W@VSVI4` ze2^9GS8SQGKvkHp4w>;-rP)IJz6`6M(AAmtn7-9P_w+b*9nx=E$!Z0t?cFyecD;8e zg8RXWFnJ;o;yo)!Sh_z5-({OPuO9Uqk~cVFLmTR;z4vSH-#X9^ zHDmQ-?8i{+UEOQHk9L09@Trh@AKiy`{8}RKcCLubzaAL9RIl*`OS3CJ*BOlla0Z2+75s7f|H={ zwJ__~=d&>DXPxBsYInlaJMRe7|1zJjy3d52J5E?19s2X-w6EJ}!sa9pCU;W@VL1K~ z5QZyK55xr~x`x^npeI)sds9IN);-i2^3d2C%p=231~k*}I|g)W7>$vF4L5t^{E~Np zsqeM+gNMbyAS^81TF(M><)7Ria%KW3ugTw9=-fb<>f%e-zCU4g8wopSLs%b8!uqxn zCg=GW!sMFVBMgU<2w}K3>5=hm1%jbZp2H~Ni+N|u^k9)ej)JAmbI`Yu-~2*a2&?a2 zvRK=F7z|cVatXKeft7~?&eZYefL?t}(yxt4psBm!#V^}jm^?tGY}m1oFm<~fVf*HU z)oBoB&R2>sKHCcjm7@e#iVdty~vB2cg*WEK5+a3eM)kG%ysIOGd{Olfb}&6CTE`wFu6tpz;LJ=0K=7#L*!gvK2j0}k=dD2ioIWU zkhyNQ7e>oT5|!y&kI!C0e-0(IcGb%hHbm<2a?v(dAR@P8vX6P>=)RnwkW$}1P<~R6 zQdW(4U0(dzPf{*WO!s${$qdo`-B%m&v;4QNVR3CVWLNa;V3tVJ9Xr$i{b}}tyz;-@hJ&nmx{-! zb-F-I{f|j?IUgY=;g?NSmo~&W#77P(iGmo@pt6j0g;>vGKM{3naBcv7BGI>$%~2YM zxq--Wm*vV7gOp_(>%xjOA?c;+$Qxc_ka+!d+jPw)NGNN3XZ+wDBuKrk36!mY_?34< zW;!QBTtT*_S{wa(Q-7|6-MtSGH>kzwVby4eeQE8xMOqH)B<#zwx|(4)mx?|Y(6^P% zc{mhvKO)B@b?8ICer0^; zVNN0Du0W2X$Q2EOy{>U8VoxAx)urV89r=(XC8@EfeiR7y9E8UXry#Mh`uf+{8c5t^ zekxF_4-!7L5S=mGAmLP#znauBNC=W^aoM;45?t1<-M{`G);jDjMcsLveR(b)B6a$_4LPT4G_v?~h|M@zRGB{pDf#C|sF-s9Xf^x1*FD==pw zlN%x;i5#}bH4Oxl^^Qw+Ed;^E#1VN`b3xE`V)d~ly&!lL<>~Ke27;uL(`u`&L9n{b zW2vDg2nJ_Z^{=*r#JfY5d4=;J@tE94-M(H(OwRUneASJW=K0<4AB4L7ILASs#pvsf zIaX}0_AunoLazBB(Cl}cxOWo>j>u5AmeL$guPoN*=7ZqUx!ZF^jX)4- zBB$=x1%l1ZP99!^K`^htJ+Q(M1mg;pQ9nn6V5sZsdign6)v+&)Iuo25!}|CSLEo*I zQ;fOG{&Fx}<{+@MwsI7xfFM8phfv&&emq+%_OAQ_f~N4f;#~Ui)by*rE1pTeKVr4* z_1zyJNSpJ_pkX8k0#0b@{5k~!m-U=`Q%-}xrao29_lqszg$E$Fim zeXB4h26Mk7$9?1i5L}LWE0sk*KkjYapO{OZ!z-_t+LqZM_?(zoqeP!a-$l;mIm1CP zkTlv_{X7VM`DykB(Ld*JOZ0q_4uYVEIvt;W0R-RJyCzv}OIZh(ipX&?${rkm#^}iGN?*#rkf&Wh6zZ3YsoB-vWJ!PR)yhFZu9= zJ1Z!cycdt}s}E4S)SNq>=r5$4(#E^L-cv|9?j7_k_n1HBP%>#+{VZ+DK_k>gMy#E( zZ=Tyf;h)cxeX)P}ovc!v&i7xABrHKv?5(rPl^&^&Aalh8e_Mc0_&qLioV-0#|m=|k)sE> zd??PIB4W@mp5pYhnOet>qqsxrK5(bXQ=FT*84}V-6vuJYfso;il>5*AJ?{jjl)FCv zdC~A#%IzFScg7rP%5D9eaV6%5D7PstnYC-jVU@vt5$YD<+)4D=g1&Ds=NRUyB8MV! zNl~2mJ7=on{3%Yi+s$E_^uLplDKhfamnqIi^Fw z38%`Aa{tn;n!57=Pq3$1?^FW`O=z9ipA~E+Sa#SD} zpW%6{9|Ko6qV;Q9QTwx7XQ|ybQE*0nKb7Oq2q3-~j^I8;hdy(TD za?PMP9qX2Br6y2ZNm<_AuZk3RuEKh;wF(q>ky*%g`dqo{Mo)G;T2675O3iELIZ#}2 zqoKY|V`!gqFZK+nrZ`<5=D)srQk>T7#ZL-$Vcm&+?jIdHCxbpa(boubf-zSGIc6hQ z1jQYZ@N*vDmEul&Eh61ObFAK`cHwyd#kDu)3AiN`*DEgm(MyWr@_1uDu1ci1o+l4C zcP*i~&MnX8FQ9)9*xC*H+NnlyEzJuO`=(=^iG6j{$>W?R`Xr$*oyX)9VXh}~EJZFm zJ+c4&e;Kfkobng*qtv_qM#JEF+^N0UgYo@x$ecSuzbrDQA>O4I~dCR~1I{L*2 zwrP0S{ktaYe%GHhJOB5(Yu10kpM5sp=Fghp<1hZRX8A4ttl7u+{?D3y{C}=DBkVc- z{Ik!VS2B1;ZYb!yWCJ|=j@zpv#lUULGKopbzhLL^)~p0s39ys9Wf5Ah0z1SbYuY~6 z!sa0=Z>IS7gK2T4u=V2`Sb6)!;Fn|Gf@Y9~f8(7wI$Ly9t2h6MAnf`RVfM$G5Juml zK$!Ue9m4qaC=%9x3t{tC5GH@RHetC!2+K8}z7OJF#SF?7_TImvvEu$B@OIG&_7~d; zT$@YbHL(xC<=3l!esj$S_TcS9Z#W<92eu=^c^(f8>Sc0QFbexbt%^t#uRV7J%+N(*&i%TSbY&;=AC!Y_pSQvcYv_|4TQ<_6(daksgZ=`Dkm&g2mQJCUJ22GR0x~V zI4UOf9RzylJb!R{5%_D!LoVkK_#9i^I?z=Jo~DOPT5df7H_Lg=Kl2`gqnB3Gq?(mr znH!YwaE%45^%9+0+VV^%aGZt9?j5H9=W>-#l+wN3PL@Hx4%JEa@?fG0@q+Z|Am)Gm8ncjuRv7eh*>vkB-p4 zZ|Hf$1%&lGOIUv)Ve`7_=i~4E_k`s-O<1ljh>-E#v(<18LbbhfaJ(n04MH!t77bC5&EDi7@j<{)F*Ua3qYsod;p_o)aej!Xm0y z{e6Ge%zWPhA-vMn&rRtcg;M$zn|Y?AOD~Khw+^LUiZzO*LUz4 zuqgRtHU|QpOiR+geV)GVVaZxIJ3sKe*s(#T&=fr08ts^9w+uXXYFCTK4g(K~TpJhq z?+M%ox1NoAa1FS}o`|+>3juC|O>)k0`tv=JCHx8lWn9Mu z<|iZ9YUFB$;L+Ciy_{?z)c@p;5v!*_pzW4_bnm#q-g7On9~S#TfYUhMLva!C4-dOJ zX}cPI-LmcQRo?yJ7jQ+TCUq$IX%;oC{d^kyMmr8z8#sV(|GOU}`+afkjQf{RKY^X! zGamiun_e^i(=aa^^8=BKhg{1bqONREY8(fm9;MaK&#;2j zxTf!q!tBpN{cfD^M?VGh563)h%wLRLF~}7NvEFXZqxnLJS2z-OsL=%We_m^C_wf@% zUwGzbUwIdz${l29=vPD3Ad&JlDd!>5GsUR9Y9B<3Z-io*WQe#mdvlkk9Yo|PD_T}2 zKt$3Ad)xM(xc+y4H|h`Lya4@b(Z3z@I@$alY2*Ur@`A*We1n86`tKuJ(m88~zJ-L^ zJ0ptAOCdpXVau4;3n1Rs#Bzlo9pd6vw{W5#Lu{wXfOfex#B%5GN)OG1SOxW?`+F=Q zrn>=ZH&j7P)7R`P8`W@q8~1mjeksm-qu*!rzl3@En13I+Ca_$?L?GE{d+x2P!I0c> z)u1e&{`>E-kW1e)&qI=UMn|01`_(0v<=KhD4s9amyF_ z`eeiFw;d(-L!z2(ckyk2#OXWIE?=z0^;O&#p#Cz>uSY-n?;ni+am;JQ{M*Qtj$B5N zCY|lsI8+MKj;0@RlE{ZtzeUH43IidfZ3?yXel(<5POO$_oCV2m>NU4d{szg>MQaRu zbRc>8myAUsQz3b5qwr~p0VI7|H{$EN&yds+|D=w-9*bRn#r<`tpNsQ`te^aF^w+_> zgP5O&Tq?*_2^p<6hUWBjBbjdNZXfHO3>oWQ6dx2UgY>eym!_E)Lb~Qg_js!tkOm(U zn{O3CnpM5|K^F_!=aY7`>S{=RDe}DF)m%uurk}Xfw-{1O9ih0*De-m=8L9PWLywLlF%hQDex@J629bFJk?|ge@{|d-T>3RJq{3&FOb@k&k z(T^jmJT6>L3^JG6R+iHD3(WX%*(TGNeq5z(eLr?>hYaD~h(|RSAwwXYy57?b*OzhM z9`!0X{|@~oqrU;>eZ>52$h8T%%!&V&dwKp9=EPY^r|YDlZFBU?*B?Sn2QQ zVfsf+@nH`j)Xdni81%4mom>YZr->S^Rx`M>+}TylMT|y_^K~@j|VF zkCOoXV|j&B2;mjWi)*Rq6Yq5Owg-a!#B)!dt)cH(;xY29wn#=C;i_8CsgkAdj|*lu zRe#LKs*e59s5^vn_tB>qeO)kTC+1#64lCrkKq4}T+%oAz60t7-M6IVa37b6k;!y2j zBzWgh*96lkByeWly=-$i;@=j&F38Q1_`1&3-gV;+;gy_9(O4Wwd``^1e4&lL9(~5d z{9(DXv8rR=9(6}>?g#p$qwgHd(Zt+I$PtQM1temn<-nH7&q+k`y`o7Qno0ORGoeWM zXA%li?+uwdo&>*tf8kE{DiY)%Q}nuj2np19s2h=PK=z(qZhB1cfdnLXgkH_#k$_SC zMZ25(*!o-)`%$beX*|x^qmLx|Zo{0JY%cx1FARtI2;}-kB37tJx;6Wgh(g|XnXnEL zp;h-()wq*{&$<>Ul~+STUlsqTXiXy_r^Nh?)on;{er(unN1FFdgPn(8E(zMTcW%Li z5hO_UsMVB=+kY$5ABVaNIA?)AF6es_bGq2vwWC;$a4F=@2L90qCSm91 zmud{T#@dAaHq?dSTow9ULf=i8!^hlt$N|W8i$wJ11xBBKLn0~f{9%S3 zBy#ty4jtPd63P8OwYKsmi8O!uMX8?VR|+p$L+F1`FYo;-_M^Fv=eZaFWiuE%T8C=kJj{ zQL_$!{gpv`V~pv~?HhNF(mLk>W}KnXKYZ$7@r;`E@)?f_Q&lb!rq5eOSlute&OIWm z509|E^!q?ejwfMr&k&X)m#|#1K;py1yL7F=N~?-e3{;`NM`)c^)J;A(+e`GH)}_Dq zr{rubTtb4S7$pzuJJsn&mTUzt_OpmCs64wYacg|C_CorV9yEXJ!+o zza*G2x*rn=J9mSyKDLDMRn#GDP7h&ozY>4eGs5KI`3O9q7DauFd4 zIk@Gdp^g!=sou9MsF2bii@ubp&x z5Ev@#|29`=A^km?dNVY-Z^HEKD+Yp-qJ*i1?+Md?Pk(-Z(G4N&TmfNyED7VgU7WuD zp3V`MB~0$LK*Dfr6#<5ez8~}4?e~12?s`EM47MDrx+RB6y8xz_A79+>fp5RWtwv){)_T&K9gsRSxSFK?RPb~N|?TP3t@C!^K_ZH zauHyBzEuF@dp!u4oaN7f%@qTNW4H=1T)6{erq}0CGm93Y#nE?M-bjCs!I1YU;?b2v z^I48jS$74Q7dX2t^$vagd0lJ1Wc~vpofE2f&&-+(d1RY7V)cM-S8YW9HaQX9+ewn` z#}fL>f7he0=a)16H6g(041<7~TiXJRPf-FezBdAa$$57M*xY@8SVm^X`yhF-7#GGa9E>j^6$ zW7@d_;SL)}Z~2ECFZ=vTr=eOfn1v*Ypt~| zajXKN=e?gBjt>IiA?-0;Pjx`JDBON}XB7SV*?8>JiD{7eZLxBqj{;1XwcBVmFd&ZD@Nymb4BPAjlM52Ck1oukmC(lU!``(CIBlR`^u=Z#yK(c0rb6rIS1L?Zc*fLWx0NeKvo{FHA{aq z2&He9wV$W;7RuclOyfc5v?p@>Hb)SyUsU{d>3R^VuIE-h*M+S9b$%^tdLgT^Ec^Y9 zSCCcu<#dek1;{!jXuS4-J|CtQVE;7g-m-H>66m9czV!PoOimQ$9!8G4$R!6^A8cAm zPPBq>{&Y`SumYjwnGA#BZXk5u8#{BwZ4mB0H*)OIi*$e4V698^^U@%1+h=tn5H7sB z$I60!pJ{q>kE%S8^Szg%<0Zbb0k zfY3AE;8U58l#hDt;_tUtQ+t9+Z)DqXDDVE9C1GjHDevRjRyW<~`~aU%!|L*| z(&x_fm!dGX2`{(c;#fsH6t&~r6&RR#6UzCr6(FD~a*Qq`Aa{3~gbErLM9IvR( zbN^eJ{zBB%v2(LVqt7e!U5hzeFgF1?(vi!K;?v{8?@%L0nUGJJt@sHfvU~8F1 z@q?5c(#|wdd{wh;>4t3-ud?%F)o?Dw+fmI+tgfYa5)!?|Q)g2?4T|5J?6N4IlA`g~ zmX=_>i2WSY&BM9J=o5s#J($ylxrdNL7rEY2eC3k#vROYUe)O!GoWm0+eo0lM;e)!WMir=UbAHC!> z#eelU^pvh7#eWif)`Z$b@hjSORrb*O+&ub)$~=l6_M$DIqln_WzdnA>R*vG^%Z{A* zCLC)V_NSt*80YAp&u<@}q3G*`Ig>G$)-fDn$hC~(AH26me8*;rf8$_=OwCq`|Krlk zukZCJ-)W|u+EpJYU+wYV149o`zPbm>M%?;A`7YY&Gp1L8@>K~MseC1a@}0CH#M`cm o@*NkMFy+Q^tOv2*iMm{zo5}jz9)!MhpUL@(xw^=)9=X>2580OMBLDyZ literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20.i new file mode 100644 index 00000000..8fe88ffa --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20_out.e b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20_out.e new file mode 100644 index 0000000000000000000000000000000000000000..c1e89dcec4ba411e7612526cdf26e2354ea76d23 GIT binary patch literal 105844 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6.i new file mode 100644 index 00000000..d3ed3f24 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6_out.e b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6_out.e new file mode 100644 index 0000000000000000000000000000000000000000..dbe31bf7975cd1a9439ea4deaf3ebbc3bc349616 GIT binary patch literal 159720 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13.i new file mode 100644 index 00000000..f8fd18ce --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13_out.e new file mode 100644 index 0000000000000000000000000000000000000000..c7fa274dab71fbac5b9a9d49f8679b61c63d06db GIT binary patch literal 159724 zcmeF42Urx>_xHixOYD8^8WjNxiog{WD+(%B)MbGMR+rtCT@w5aaM!b zgi#k-*45wj>lqm4&BR|e%4pWv45nzU#cVLyv_s8tk8cQ3fNnhnSFR z8ci<|t4lD%QXN3O(IUBMTMXRE%WGg4Lhz=IQIT}Ec-quzY?v;&Z3df>3dA32P}pjS zZQ#*JYmT?MNw-Tu_-lg#N_`v}W0nh0`AS8_kpA)j$`{_eQ}I8)K0KvR@&eLD{i8ex z{1vQ$fB7)KCC+T2`l8ND`jVYX>=#OoIXkq0M=Yx@UkBs)P1cvnqny+~nzxu3DOexF ze3(CVc{J~<%2Sv3!MypcFPBGkLH$czULc(LFn{XuXx`T?uOH^k6JbUTNl?O*COH*L z{6p@A_Y1S25koO=qTNZkyE1+#_FdBR6jPasI&^#2A{$Q(S zt*00#O;g8G^?%J+a&x-WR$@V~)Ui};?Tl5AVih3mlB0?Br1hY`*Nmsm-jL!IqGPU> z4oa~)Iy|S>7%P(J5(Rg0@le(!!fZ0>BWzT+DG==^`GHz?e&x7hOSH(Hj^@eJwTFKj z<%p%!^>T30U$gW0S4f#ZZTYHrG!vEIk_;TC&f{M`Wqzx2@T6SnoTL8Ha=~Jxw+6#} zsgB!O%}eX8#-#%=%}d7$^)GeYJ#eaVUomeV+Q-zmbP%Vwq?7uWDsG=JIMukXns*b; zD|H}QDQ;n){-uiBmwam6SItY>GaRPz)(Xp zdZ_D9>rh--2Q{XLK0Mue&_1jF;kZ_4v@+say#|J9m-T$zWg9MgY1u}vyR6U4sp=0?sdFXCaB&GIebEkyGHc`X5jcxkF;2_S zbZX0~fAB4vC`KZ3VMz6d{%DvQ)kiU?ex;t4dKq;(&F{i?&ZEEi>QHf#|A6$X!y}E9 zKc)^($m#0vyjYT{!{6on>hMaG^2gNSb-BDcymg5Feqid5)WIK9hxg?C>hLcaUmf0; z%d5k`WqIoGk&LGf|B><3;S(889X^%u)Zud(PYzp(a4zaFQ~i#}xF=+J=f#37y)Nl> zNWb3c*E9WkrC*P9c{}rzx~H!{>FZ1S`jNgqq}%?^?Jn!Jvwo5g^ItkXI`?;>i*r8` z=RfChUeUpMK60Lq=y)kqNY&nSwwJ_l!r2Z{s)n2!;Bh#aQ( zJI93rndzgp=im6@H?m&5>B9rEKECP0!?Iqy=|lDW_@)nkll>)c`tXFTpKto`wCs<1 z(}(Bfe)OgfFUalwrVrJA!Z&?*N!HIdeRxG4m)`W@HMt+X>BH-CKYG)LH)VV2O&{Kp z`_Y>|ye;>mH+`tyM|s1CVsHQN{tq|XY-Z&VzW=5Mafav^+kbP_m9@5+E&t)QcX2W5 zqyEdA-^IEAJNN(p@&Vw#zW@K1x4m=S6$R)SHTBsvdd`iWoug-^=^5vIfSwJeXLRX# zT6!Lno>Qe~O6ghAVt}6Qq~|s1c{}wPI{FPs8Bi9`!@}i31yB)G0+m4(paE4uHBcSU z^L#ZyEl?ZO0d>LKpdP3X8UQ!Y5V!++G?E_IYy=vECZH+s0?j~k;0;;;AK(l800S+7 zKWGJ7gEk-lv<2-zd(Z)N1f4)2=nT4mAP@|?f^MKY2mw7nPtXhW27LfM#2X6edC~r0 z0MLRkpabC`0z?8mhyu|d1{lCVFbEg{wbo6*45;xo7{md3j*;3j@n8rT3KBpfNCLya za4-Ul1f#%cFb0eTF%J_d`xVz2~!0+xbhU^!R;R)SSvHCO}If^}d$*Z?+yO<*(F0zL&>!8WiR zdYo$I0MdtbKpF<04{>x!6k4RTme_XHE7D6Z8VTK_Ac;go1vcKNtYCAPne0IEVm|Ko6ooG>8EP zFc1s^Mi2{3zzi&4Fo*+IU<2`B2p9?yKq5#2!@zJb0*nNsz-TZAj0NMsc<>IG0Nw=? z!6YylOaW8DG%y{^0PlgBU>2AS-UlCmIbbgM5X=Mf!2+-ld;~rQi@;*A1bhOPf@NSi zSOHdoRbVw(1J;6dU_ICXHiAuHGuQ$?1zW*3upN8`c7UBO_y=-;oFJF9b7PoC`pC`; z@<|`r`9T5cBfB6dBzgr?1IR}<>EsK@M>gr? z2gpY@X~zKhNHfx|CGeLvY1az01Z0zTtpWMSChgh)@{vv21pxAqP1>~uMdIt2mpkxe=U z1M-ngI&}r)Bb#*U2FOP?>C_#Nk8IK|1dxw3YYBRQp3)|rdPyJIq*HI{Bb#*UBYk9( zPJN}1Y|<%I`p71o`bi(zq*H(CBb#&@Abn($PFm?Bn{)~TMdIwb<~kxe=!0rHVeIt>HlBb#&@4#-C~=`;e6k8ILzBp@GY zM%s-6qoqySjRE8%o3tAX$VWD5Hx7`GY|?H#ARpPJ-8+DMWRrFi0Qtx!?cN3CBb&6F z2*^h^=`;zDk8ILuG9Vw>q|+2YKC(%tsepWBlTOnB`N$@nrUUYkO*+j0GVGMK-#3!9O)yQbeb!DWRp%GN*~#z(>&=Tn{=8l zePokP3#5;1(rKaekxe>%BzlL-Y|`m7Kt8fbryYQNWRp%i0r|)#ojwQTBb#*k0+5ev(rFhUAK9ecmw!Chfigd!$X;eGSM*Hfi?_ARpPJ-CjUGvPrvd0r|)#?e+okkxklt2gpY@ zX}2Gck8INE03aXPq|-q_KC(%t?*aM9CY=re@{vtC{Q$^EHtF;uARpPJ(@%hWWRp&Z z0r|)#oqh)7Bb&7Q1(1(4Bb|2v~+ zk8INEBp@Hzq|+%tKC(%t(|~+rlTK#<`N$@n&I0n0O*)+eD~ zbPKt8fbr%Ql*WRp&p0r|)#ovr}#kxklN1>_^mNT+Myy0l5B8`4KM>2y>2 z$R?d`Ngvsy(;w1DHtBR*`p71o?nocmq|;sLBb#)(Cw*j-PJc=t*`(87(nmJwbYJ?& zJ`WxM@{vtC{SC-RHtF;bkdJKA=@B3w*`(7yfP7?=PLBck$R?eh0P>Md+C2s2Bh5&= zXW+TCNxK))M>e!`#X#|qj?m5(4#h`0LOa(S!l(A3D19FAsr@OgxiCE^#z{wLr}Txu zr}neB<`F)%&qe7Yfluv!am|P6c`;5pLMNr~1U|K2M(Ib%k8#orIw^fB1%ypHDg7%2 zF;1F6C#A2Ykg!Q7rQfA6#z`~ir1ZfQ5jN?h^v4v%IB5p$l)jl_ut_s$r}on*Izl_8 zzveAWBO3#y@1~@*NxRb0M>c6!M*7HxPD=j{`N$^i%1IyDxj}j9Bb&6VAbn&*C)bM7 zM>c6!N&3i!POg=uk8J3q^cj(lZ0O{wkv_7alWSE#KC+>cYc)VVvZ0e}bwEC{p_6M3 zKt8gelWR>tKC+90T7Y~d0CaM#4eCgnbgC(f~O*%CLc8KQu@dy z?fj*WY|^fk^pQ>4wU$1zNxL@EM>c5}Abn($c5S7PY|^fs^pQ>4wU<7!NxKfxM>gry zQToUxojOS$*`!mT^pQgpcBz4^_4!dNxM+#Bb&7ACw*j-cKxM~ zY|?Ik^pQ>4X{C>B(k@K;$R_P{(nmIF7cPBdlXel(M>c5}DSc#c6UQ2NLw?FLC7*`%FO`p72jVx^C4(#|A(WRrGg=_8x8vq&G=q}^cY zBb&5~lRmOZJFE1OP1@O{k8IK|Ui!!;?S@Dn*`(c2=_8x8OOQUYNxMYpBb&5Kl0MRm zv>OJ7OPjPCA$??%b|a;aY|?I&^pQ>4jg~&LNxL!9M>c6UR{F>$?Z!zT*`(cg=_8x8 zdq?`nChaCjAK9ecyV6HCX*W^&$R_P3Ngvsy-DK$_o3xuEePok%Q>Bk=(r%jckxkl7 zmp-ydyBX3)nvr(zftk`K?Pf_I*`(cU=_8x8dtdsInqZqX*XB;$R_PR zls>XayLr+_Hfc9s`p72j7Dyl2q}@X4Bb&7QNczYo?LL-1vPru|(nmIFw^;hfChe9; zAK9ecC(=hYX}47R$R_QUNgruO+ARkwq)pnbls>XayH(OhHfgt7`p72j)<_@Oq}^KS zBb&5aCw*j-cI%~&Y|?In^pQ>4ZInK;NxMzbM>c7_iadmNV$pLbLTp%~d1M-4=AU`Mo3W7qQ zFen0wf?}XJcng#OB|#}r8k7NLK{-$!Q~(u0B~Teu0UA&hR0GvP4Nw!*0<}RMP#3%n z>Vf*80dNBifjjU3o}dwE44QzZzzZ}3&4D*)0epZj@B<9A1pc5EXbswc0MHh+1MNWv z&=GV3fuJ+!0)jv==nA@l?jQv806jr3&>QpteL*Pb2l|5nKnucv4updU5DD}k3Pgh# zU;qQbAYcTszy!>|0tSOPU$;8U;_Yy;cDXJ7}|2|fp3fL-8Aup4l&2Ydy- z2H$|a;9IZ{dt??1J}U~a1-1De}LQI4!8^Mfj_}t;68W&{ss@hBk&J+44#0e z;2C%hUSR*nK)DXifniRN3*-iQKwgj!VmgHJy0Js0B)cma0ed16Ep&iK@-pv zc!6f1Iq(K8fDiBmet?0Nz#p^%tw9?Q0NR3fpgrgSI)Y9h5OfAzKoAH9T|qa{9fW`$ zpeN`BdV@ZoF9-$wKz}d*Xh9gzfp8E3B7q)6foKo|3}7G_1dJdSn1C5rz+eyutiT51 z!4NPMB!EPa1crg(U<4QmMuE{_3>XW>f$`uSFaf*^CW1*|GMECUf@xqnm;v5%!9S1# zXMfqhyz4`bg^&UbnYQLmJ9 z!4eF&fdk+SxCfn32bBH30fzp7_6e%TsC!Bsp?Z>CP=2&MsNPYXqxwd5jp`ZIF{)oU zHYw|XW0KMy!Ldkbhu|2bv_Gn2SQFF+btP|Oh+~9uPDk#_Ide9KtH77w7jP9k#d@I( z<(Ngsm|y^XlH2&pVDALW!3wYvAcoTZT!Z0Sunw#T8^A`e32X*iz^4FpRB7*R$M7?- z10bfdpOB8It4cct#~r1eFdD-T0OBj>xnD874xVEXXrUZeu`QM3Ry2lGw`YPCkp`

=%# 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17.i new file mode 100644 index 00000000..719299b7 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17_out.e new file mode 100644 index 0000000000000000000000000000000000000000..fd82c86f519d2a3033f9b82d8bc486f17292e471 GIT binary patch literal 105844 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2.i new file mode 100644 index 00000000..113fcac3 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24.i new file mode 100644 index 00000000..e6aa08ad --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24_out.e new file mode 100644 index 0000000000000000000000000000000000000000..e53ed2b3ccd7afb09a3b7e0454425c3f320b05d6 GIT binary patch literal 159724 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 wc_zg1%Cj0ZVJ5^rb@!deE0_@L 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 XY0CSD=$PQ+GNOBaIrVX!`f~g~IU3KA literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2_out.e new file mode 100644 index 0000000000000000000000000000000000000000..2f5173d40e63bca7fb2a563bf6c73d50bab30069 GIT binary patch literal 105840 zcmeEv2Ut|O_cquI_TI-{Q4#E590cs5f{LIH0}L=Q%nUO_6_jT0y|-O^?_Fc>?z;9~ z*1p!YcmL0@@Oi4h?~z>1Fa)cphuhJ7JTdvbkC1E!LKk@K8qVA2(pM< zav{V(yQ6urU10r-btLLmNamtcsrt%QVXTp09OT3w_(gAp%MeDJrsNXs|C3z2IxQ*+ zTwt%1T%v7FSBO94 zt;YhbHiIkj{wVHsjLUhk14mx8llV)aZ)^06yg!QTj&V7!9r%&A2tfR$(6{ws5Q@A% zihByP;n(^N{E2ZzI}{TRu|JI4hm ziu#sdJjS>p?=g^A;faNV27aBxHd&I#M_UW^p7nVzo)2xXOhv-wDmYsiA2xFMVFcvK zq@Q{)6ON@yhX#S)57Iq5196H7`U{oGuih+ODS;vRy!t`kC3bc8ScVcp8AMJSg-@Dt z6yV(GK);r+Jqy1@dFr&yem3oAtmD*aZGSSYrRB(UY3+VCZT@5F(l-Cuv_-MJtp5Si z%M5ZK2xFb0F-7}>S7`U8(PLpDMf<`S#9t%RDSY87riU=5!Q(iN6MrCEjOBu#Bj$tc z2Y=|MgeXG}Y+oslrA#9p$M_ax$1MEK7F|Jz^5a}Cy60?#9}(Rv{J7}eW+{p2-sSN{ z_kq9gBcl75rx)F)r|@^0i0(_yC%S+0_@euo^Na2qo?dj{@%%*h1LqUnkDO0*KXX3O z{lfV~_Z#QqZhJ;&A-b8`?;Pj7!t=Y$5|XrbNo$9+7b=*jJ#w*91S zFKOFH+V+s9{&VV`x9gntiH4Y+u7Auq-hQ)E(zugtb)&F)^9OwSqU2z`rZ+FFc!oS=V zuLJ*8*GFS8XoSa8|4j?%lmUT;|7OvJQX4ed|8VIoEK~~r|8n(P z|NrH>&ndfL0el7{K6}CEl=y52*8<=(e0;8h&%W^)G(IoJ=Z*Lr7N42ov(VxIe0GV? zBk_5X_>2hGN0kGV2UGx51XKc422=r51yln_0M!9C05t)%0JQ;i0CfTN0QCV401W~7 zT+|xS7|;aJ6o8NZ@NuLqzz)zH&;rmB&++2!Fl@B$0~3lARG_@hy>uul4!tS zKnx%jFa$6Z5C@0{BmfctNq}L1;eZi3|u4nSfb<*?>8Kxqx|q`G5t0g@8qXUjV-X76X<5mI9UmmIGD*RsvQ5Rs+@m)&kZ6 z)&n*GHUc&QHUqW*wgR>RwgYwmb^>+*b_4bR_5vtiA7DS=0N^0t5a2N22;eB-7~nYI z1mGm#6yP-AH^A?JGk`w;X94E`=K&W07Xg<5mjPD*R{_@m*8w*GHvzW*w*hwme**3T z?g8!t9snK!ECIOyxdC~&KQFlXxD5UI0R^}W{RIJqxD5S;0ajdw{vv>)T!#K)fZ|++ z{t|$aT!#KqfYMxs{xX2FT!#K~fbv|1{tAGKT!#KifXZBk{wjc~T!#K?00{tP=&uf_ z0g!NiO>k=gP=@~6fI0w_p}#Jm9sp(NuMcPdKpEN$ZPyUci2KoY)?9{uv|VE^LqFQC z374TCZP%2`(2usW;WG52?V52J`q6f_T!wzMogJ5oq7OJhJLh@D*$EaM?3WdpbY(J zr(OV*p&#wk8-OzOqn+FUC__Km&K-aiW#~uSX}JvjXuD7@LqFP1$7Se8+v&Ls{b(lxm!aPq z5C%XQ`q56|0F0A=V$ z+YJYx4E<=k5df5-A8j`hfHL%>okjsrhJLiuXaLI4k9HaZKpFbcPGbQmLqFPS8~|nL zM>~xNpbY(JrwIU*p&#uu5r8uEqn#!JP={P8 zpbY(JyX63sq0P{CD*!9GA8oga%g~RuTg_$YN87F8GW4VE)^Zv8(RS;&4E<=k^<0L2 zwA}_SLqFPXBbT8cZMTWb(2sW7%w_0b2-pHZ8T!#qTLCCTKiX*<0A=V$J8cJ`4E<=Q z9RQS}AMLagfHL%>opu3GhJLiuZUD;AkG9(bKpEN$ZMPRdxgTw}4}dcCqwV$s_HjSj z?f?K~=ttWf1fUH4XuCrIl%XGOcNl;&^rP*L08oa0wB1nv%FvItI|e`*`q56u0VqR1 z+UW!UW#~scodlo^{b;9C0F|~w zpbY(Jr)vO|p&#vZ9e^_Qqn&O5P=sF_oJQu z1fUH4Xs5dXl%XH(bPs?s^rM~b15k#3w9^9s%FvItdk8?8B_J0dHy{rnFCZTvKcE1h zAfOPSFu)2>1W*)E3{V_U0#FiA3Q!tQ22d7I4p1IY0Z@1Ka@afIfh}fPMfE zK!1QIzzZ+{Fc2^ZAOm;<!YJdiy1%v{006o9} z2m^!zA^?$qC_pq|FdzmH3m5_z3Wx*50}=pSus_Xcw$ktW&H{tV^s%tV66ntUJuJ9H0WA5}*p88lXC$CZIN;E&%mHGyo8QJ3tA* za}LjuRcL09^?gH)s?gJhG zkQ2*a{X#E&tJpYiSSuyMjs}gDa6qT$ z#|Y61#O`4ViL0*x$}X{K+NNpqHnvTL`bbOgzZb?P-&w5g-q^?r?IdRMDhtJkvK@Cetx|bD&Zv82P(DQ5KMk%Oe3S|jsQ_{+mo2Au8v;D>}t zgHo=N`RgBKcoK5n9 zss&!}$c`ETRgf^tYH^T=Z6JNUpdM+9!wBU*dW|Z~pn$z?V9zSplFioun?DIxYSa5e zq?D_)fpW&3_TM~0;Swd+MWtnfu!AIna-}V2iZG+dq9qFL@JFpV9U>s8UPW}`` zq8A7iEgKlJDrKr;EL~urL6%9=aga1kmEcDKMwmtSU~1>U2=#Ip)xhmoUY}xd(KWA9 zQW2(Z-q}DHol-$FH4M|kEFcU9VKAigg@XJ0D{xAw6o&r5X+pg)ZIDnrTl{1&!VWZQ zX-+%zYTURoLXjAW#|ia%E)y0GR!G*7MFSRYFQbgRVjVp-e^WYbBdfvVHrJCiarYNk%UO_ zX3396Hf#i|g=vZ+WBstmrVm9jYl4D`=2VJa0gnPQ`r2tx*YW{xGtxEUW}EH zb6rl|6mzc28J%sZWN5IQ>vHOc7Uo=2a<0p1Pd!tg_(&u<*X6V}6mCSM@9R^Y!N~zk z{qMdm{|`J1V2{Azsi;Di9oKn_A56b-e8^U(q{x`fT2ly;>lg=|c)tcdod7#WtNq}S zp+*fK%)q+mKhww9S&kdbnWtnqpGQJdXY^Ul=aJCVX+@Uvc_eh#$<=x#+zLx+`%L{f zpV#Q%F`-%pH{0PZqQ6|J5-S8<(`Ny4Utfh*V1y5vz!U38g&+SaiqfFanS6f^G)zUP zRr<=|<0@ux31;B!Q0^BlSNmr4z|i!|X!4Cny{{ZTDU-5Q3pO=|4#74w~0g0U^CHM$U)(DZ+*5rX2v96%uC-NHZM66^qkncV^s zi)?C-?Pq{~Fs4pis|$WAFP&7Nrrw0iCweScCA~qY}Wdx$_<46{?LDAx|+;E5}{42MOI;nL@m^^ zTBAl|!pC;BFhta9jKf5z6cg$guX-?AH^_B{FfF(Wt+7)Oi*9=7pk^)GPZ^$J`@v?@ z(4_v56QX($zvu3#)fU`^j7HMW$=m*R7VE1|Bw)h4Db9H+l){t z)>>boM^9CmnFb{68YF6%e)8iWQH5oiI)ej1$ZlI?HheI>`{IO|%^}UOA=5B}v8G^3 z)0+*~FtY)UDW@Hp)M&%ZItbG{2Vjy%3U{R7zE}EXh^A{O5W)=$|o-^|BzjuS~poqm{#3a%R@DamEer03xZzM=4js#UMao2vq3I=xu-y z$2RO;7azGk)tPLb4RM`A%KOfsSMtvs8>S}|uGD;Zhu2rQP4!cwO`&0n^$?)bz>qFo z<1zhQ*27(t)Lme5dBNu(5g+?mE5cNnzaJ&`WblY9SgDmMBJs{HUP9STnq*GXZKzi( z^dbH*dO%ZVRLiDbM%nG_Oh@fz*bo*h8StCl$;C|RGlNji?3U3;NvIT4$2Ra`<*aT6 znNcaiiI?e}8*>QZ<=rTptiZizKZOBqCPMQun(-eJvVJ0^y8n<6CKvF8BITWI)2}J0 zj!di2Dd8i!a33t~@W%9Jlaf#WPD+Y8_!z|ZSA)#rjo&N`FxjS5&;Qp{GTdG*Bne23hcPn6~ zqK7wKl!k0r#fc~FkKe5j?ZTR&7}7UM*2GvyB+POxhUwRoY<`InHOz7?hUs%Xi6qm( zCgujqW7s3|&Uy`OF#wZcXJZw*E7Wl9F`7^CU>Y0;r`yy358%%n8wxL|v*hXj%_78? z@-u$p(M%1)RKc8gH#a4u{^y&W1X*TR0Cm2oxV|Rm6k*YD8W5XuI-^2E-;)EnaxNfh*l0s2f-#EDPCrma&~Wfr0Tk=IGsmT%dz$W&;D<_|?O z*nAEfcFs@)t&sdP4n?{NkDvKC#4XdE`!MBya47O$964n7i>TRtq5mJaF8|9fquIQ5 z!2iOG9yV{tp34)vSpQ(Qj3Wp3Duff?ZN;yrP6Ml4L-^Dg)Jc8S|G^~+2~B-aD2{3} zd`BG#O}lUNgXy<98fH26LPAq#0ZO&6D$GwIgH70Ae>_;{5D=(=dnDom8`Fn#yst@3 zlkzfZ>iAHYe#?}Zy|iumw1N?)UEW|+(F{U9pU*@|)7zoAn?okIF-#{Err)|SScNWZ z7^hO|;n6Veg{anG-9r$X&d*njL?To#JO|*KrkU!Qaq6WfgvRL4Hlc*7F}+f<4=c3QvP|3Rpm35Z>sL$^CIU3AZ0`H{hSG7*1$pF`mO> z%l=s+v6}@#e0nRaArLuIxu&AzMxj(6DiSFsnmmj=|#p4 zRw#B_Di$`K5O>wlhxz!yCQG=yJMFVf(;GJ1hZFW`3JdXpd+uUSE$VCfB|zAgO9op; zv)9T*BGENnLm!1fo;e>>im6N8vb+OpPUqkgrd0Xin^C+!#Jy5e+{!S$mVMz}L7hek zFX@RVF`U5c#UFfDZ+elFdu(GD&3bHO2M(k^f3e5G5^NL7Hd_^IHl=HhhDey{8SNnP z=6_{(zJ-+HU5}KyF~2FrMP|6Ao7Ke3oJ#=o$1q3=P{8ZK@(lLdGu?&(a@h7g z^HaqPLOyzfc4&Zi|MakCH>D*_CsZla0fs=lyOiN8U8WP_N=B7J?w?LKV=e#uI7Fyr zH7wH7D^uNSPF-Y^_@LRqDGWUWzW$ft+Y7L-h_j2dPq&}lEm|OC7xq+3=8Q_3{`N=4 zm79Xl&ZIJ7sA?P}{j*A+ z?pO*!;aZTcwoPw`Mh%U zkooE;RU;v8pP$J^6#K(oeWXry z#soj|2!vS;=*+1UwnL-1&A(C&m%Zdq2bg2S0C^a!xWpxI2H2(rUvWac`OlnM&T@2P z7GY+m9V!X6Y~siPUcJifv}1%Oy!{7F0Mn>5JMB2(k6KEqU4V|)6!>5aTeaL>;TtGdD}DcE+Tv9YbnFhR6S&fP|Yuvc8g=jafqggE_RU)P#KBURu4J15h&QK)Fm0#veE3&-n;2_~mUo@0x zq*Mh>4zMD_0%}-VuhFw7jv?@(u|}M$!2XBwD3wO%9I3@^5H;%Lv>Ez1Vdh^9Ft5m2 zti~{XB?jsUAFP9w-Eemk9>n3KImInH^EAXqk734V)XWV0A8hFAF71|~y)qKAWa2F+ zS^6o9c^U=?Z(qT?qgd!v3PQs+^)Vc#&th{=b0$7W=&KXHtRxpV6*Q`8o`&#E1L0L9 zZbR6VAVjHRbJXl1O!2ur^9a?72pRvfg0ZaJV_t6qtp)BW$>1YZu+3EJTf7bu)4s0F z^hiaB+gjqM=hz|hiku;#uqlu5F0(15S!f9R2e7&~sn^bcF!lLjigtKzGeWElSa_dN zA7Rc5FYu6t*Fy%|Y?!BE7T?w|lMvRBL6K8cHaDf2gcg0Bq#Vg0=^)}(K2NaAK z;G0LdYA_g9pun>}_!c$WmcUfbj4p=e%UE^77#5!3X2Sy{@m$Vg3=0=};dL?NkUqn) zD;tvG2-a86$F8WN`2|f*DYjtP6)AhZ^k^i^Y*1{@opvOJQMNGJOkP8w5C=M@oqQ=Y z6bZ$iKh0JDCwYH@kX`kElF!0OX#Bcf`oX73XNpLe=_@5atC`qvjD&a&i-DA`xrA)x z5)3zC0|r49mO8`vHG9+wf zK4GSlGxMfq_-rqe&$*dfDXB-9qGiD~pD>e;teQ91%VM@?u7;U@&dprHjE07SCC!^W z!m4ckAYSZMjnx7+4A-bblzIj12qV0*CSl_;S!AT>i;7}Cyhy2Kkvyc9MMwYm({Ey@ zlBp|dlIeWZTpMOOA2n|_n#Fw7Tn#h1GMRs-q$M=YN6pnR)A^`LS171^v6fR!08;i8 z=FLWhC%DNITyY+RxtUw!R2qte=FCSkEV7YMtSS?R?imuMoR6AYZnhXT>cn{s&&>b!D4RXUiQC9OGqiKZG>^@wpz$nB5ZLN@O@jgqs6eEq?JN zqmK_DrRfbj1)*>gR-XC=2GctSVZT4b_%1$=W0?sTPj z{>GJssafY9o!vW2yGh(TcXxJkckU^3?%|Z_oC_wlk?>qRGYg`IrY?2!hnFrh*gjaa zrs-!&Ku9)MN`N{{tJ0)CfkpMqs+2&bU#6#tKxpc-(M;!|Oik0z6kLp~gHM5{C}v8p z>9rgL`(CAFNaHuXVZ-7>We9x8LD*Y2y}G6oX1UhcoKp{GdGO5znbKcq-SCtGzK)mT z%^cGkHat7>hgIEjZD1Pfv7qTiP9}u6@WazJNz-dN4WTRqmf)+DA>!M6KxpDua?%nC zwVll9ATeRXG-2eRg?EmvU{k8MQ2EnEdIYbfq>;N1S@24U-Ael-e{p9L_O9p{`Y$^qaMtQ)Ep5KCjO3 zJTd27#wGHZkfGT0bJ_SQn?Tt9LZeIj7K7z~`zWw;dB%k{{Sp8>y=U)LFWivf zlOEBmrWZNVPcA0T$Tf#Bivh7Y%_cG=vn!~eu&EmU56ty?rv5f`w$1r6oVS@H6xNu! zb?=#Nnqf`;;5AP-1$^f%rDYU4HYrUhgOvZ5Y#!v&-6>c54U0#O!Lzfj=K25msnJA^%OqIlD1bgy~l>BPjGcR5M6TS}klyCuNr20w-=euyk38T!rAFeM=j4pV(9?Vl6Ev@a}0 z@y#L3@=HGE5E^vwp>0`66f_$+sncvbWa?!!n{VmV1WDE=XjVx&lGyP{6!>oKVW0;lS!x(0EDs2oid%dCFc}@;|WjT@h zzMI*+6t_pk37({mklTR-~mgu(f!tHXZ%>?B>N9v?Jy_Qf#JO6e)!`@S6vCpN4EGbFlLk$++I_{?f0v4XzbFvlfd#(T9 z(z{P+?+QhJcPgo-UH>>=Wxz-kbs{#W^w(?CHkwaG^?yF34XRWf73cQAzR$KELm&3) zLxgaj_Cz>-cRXS7hZ2_lH^TU46M_F;CBpIxAT0koM9?d|Dq(s_sj^;=(Ave9QPr)y z4fd7$l_~~on*OZ%3@Sfft@gB;PwBw&J-h?0VraiE9U8RWU4`~85ZffgqZ92SAEBO6 z`~{VE+*|7GqsP>y!r`4>cdytF3Yh3^M@ADNeD6FFjz10}Li`fpgr%QE7@wRl{vAZf zZ&ne)^50LGURMdz>poT0J>0*s$1$q8a{6P?7*`tTRr8hY?Gw~*aZ;Wy)LauVW8=*!m7s7FFTyiV<uYWr!>7 z)L@ssWn*XBDsO~a^9~K|6%QU&e`H&Z2w|rwgdP7xSp1EIrJqF@-%G;yqY2BeBVqY> zCW2ls90=3PmTEf;nz;XN6RN8{gkFnlOjYaiyua|gKMlM%^-0(iHB}VcS|iWOX;kiJ z?X_=bUFxM;F?VONIn>>^>7m^f*3+(*8%qtT<3ZazXghMv@xJy!=QJn7ONJ34eA0>t z$LqEvLi~y~iIBc{3Bve%3FALQSbnPr%YPnWdi5hruYNSN_L?KZ2X&|VVy*WMdvTPi zgPg8^-n*Cv#h1}m-+Yt$&&uO@{Lwt>v%`95*P}^v;E6q@3tb4MeeHKR3@H1Fb{{=@ zf0rOH>JZf~L0Pqqy{gt^*A`D=i4d;#lnBRzI};&(xj4eoe+iwMug@6 znJ~R#3DfHX4gEg4ueE0%s()!YggiP;wFMSOOf9pUs>*!-K5Bx229_xN*QuRbsbBu- z#oXOaQ`whI4+_eEr~Upeey89C6?MHazgfcMNJ`G#a1IR^W3Oq^yqvwVIT6Cj8ALcf zC6=)GFNu)er#}(++{+Vze^)-j^4m{X{`UyeD~>R|zEa)oTlt^d@S%pYujW;ppO+nY zt3%xfcg^!+`QOyNV!LfO4o;_TSN^oD7W4~s+x%*v^?hgRw*2mbdewXIa3_9zIgh`9 zr+>@&nsffKJUNwXPp?`tKT_Y1+otR;=}&$7Xb%nW zbf)sIs{*8T;;HwHM7PsxCsOYUe{S5pYYdeo&Azj0r~{Q1@7r2)?H(O;df67O#YsA7 z+rwrHd}{IV8GigJkKdiAAIJITaQ-BoUmu=-BG>C9(`!~88uERr(~V=7sdjGZEmh_@ z(O{o1^R=&JR2eoU%Axc`8d$o;v|S52(txt_dNnS2hWg8v4L?-1GgaIyU}q7&pDIT5 ztXXq8j1&4OAHV&0i7K3{JS_TWFCM*Y;# z)4qFrs@aU{pVK8vC6{REfXdZ2etk@}9tlgkg*a19g--d#?d?iK?##?r<9ZRQ`ViPD z@#1Hya{Z-A@fove@QvU;<5ujX!E<`{?b_R)1`k`^pxc7qcv#7g@8j`Tvhr`L$`n?3d zc&gJ#e=F51o`yc`Z*y??bsC!RXrs%?0yMN;`S-TDlW1sJ%WX~1M$pg#m+M+|Tg<~z z{P+kSzcf#OpYsjl{BbdBqG5qo<~1L7lo~#q>apoW9%@)++a&zXL~4lL zI={i;D%7CfQ%e%7+35tx_{SUMYl!Ls2Oy4>tca4@^f>i+E-@N$i#0k zBdlX+WK&u(=C3<6;``>nodJDm#EW4Y8hPF0VGn-%5syEPr~ifX892Xz=l6u?@5uF9 z!t`ofnZ^Z<+ED24FdBDDxit2HJso<{F}KYd8#?56%bl)`-_qD`(+5Vb-bQ2F#;gb~ z`-;ZQc`?lLmo+q|`hfPWpM0f*Pc|R%DXb73Jkz1kv^sa`;1NFZrjFZr_yIp&ip76g zhNs`j`QCH>y)3^b1$qA7T(2=)uP!v9#l%hVuh!6nRS%N-jGRv6cgLS;?b4mbJFS{D zba!7GcQLpH-w(OY!;AUxi#+~$p8gu=8^QTI@%-dGe;=;bA+Fa_60oFJeX9IU`j%bz^327T zr0eP86;G7gNSuyGKV4)WP1@f)aN29Wl-S?wuyf8Q57K(EUxjl+uaK6B13!2D;!axF zU9J#w!-h1U*2%uCy90OIbGZYL7r@gU=RDmxuM5v7kmq}m>2awz(<`VB30tXu+GWra zqPn*z%BB8f;`?FZ&|`DUl0kclk9}V1E$QF9T(^pvQ>4%G&y5Do4kvD1=k=TYavSNj zYuAUP)%%g2M`o^6?e-=;d!4AVVsd%zmgaI_9xsTeThDo5JRqUrsL(#Zif5Z^k z9~CPFQ#~1|dK8f7=@;Vlx}KzQBPZh3ZdI+RHut%EgUj2qc+bl5bfY+rj`J4h`IKV$ zT9)K`?B#l$A-eOsA4cSFMRZracV6k-goHM>DpS8}0irH8%CgFW#Uv>3>HxL-G7>QN zn0r`kb)uL&ds4)pd&IB4!?Le4e2K4%;lQAgeTdJM=G8(+)iAnD4&zB7UMNc^%f)#L zao(vspWQs)rd*FfT(4lF8+OxscCo`m_htGo-zAmzuRRnAr+%3QJzi|UOhft6hU{;obk0#+`sQ{zP;?iS(l-*~)V zdAc5)$Bpy$<@rGVLcZU*9=Et&?}%>XONWu88xno~{<@B1t`OaUJZs9%wI!kNN58!x zD^0W?cSsXl#t?1psj;o|#SpbJzKCbQ?Q2Bm;B~d%omdk3vR&-LKfOulj^FPL zZ&sd!&bwGMqTa1!SCH4`@gjJ-(VPeJ6?o6^e6I3*Z!kT|HRgH^B6`PS3q2QXBl=-2 zO4R$~F46C5^w4^KG|`_K``C7J4ACDY#{=E-5dHEwtKNNYOZ0KYC(pVuiRe9Q7Fp0a zis)NgJbrTCp6Kh9Uu)p8@*F3C|*wj41WK3{C=(}Tot!1d_%W|N3v zL(sb@)ktEPe|s2>a3_W-{R&Wx@h3DIX>!IL!&7xrw z^U=F@u{3l<%!egi7t`Qe!DR}agz;)bor}G{Or_rMa+jz+>?`%`Bft99{Udc-J^Nyp z3!Q1#ZWdSSg`A}AOC**o)I(2ex3;d@E5eZoZsaw>2V@%GXLzx5~BKzUqE}c3J%S-1udeDG7hDX6dahwASx^3rO{yiQtBHCW8F- zN+QHt-irw7dNd-8$C@zSsf6V-ldya*6Q;*{BIq@$5q0cawQ}Ny0o3!nMfdlg>r(HN zl>;wMDL`dY>;F|?^e*aE_x{-pnl-d%uy`*COSccMugKGe2)x=(gynOTuzc$hrpHPm=(Vvi ztv6zn*15t&+PTBl>7m=cP&dDRfAl~1mG%ji#>!`IgZbN{{p};B&|V$#R=VN7gm#Ts z_Lnm6KHA~@`h!+Y_tBP*zaI{L{+3pI)s;9``GW{<^(Z39UwRTDo{b9;(&cYV7|#VF z@J5y*ET6%I<@*~E^w{2k2zpgoxc7}+*w;Tt#?fZuxAj=`^%Qk{)3#T^+3RViE#)Wd z`81YxvG7)ONoYnpljkwi;qmo=j}->cW`5P`bgNsAmOo|L(B}DP zBDgR25hmY3SiDk1NcRHnrymbS_Db&y@Z1ZvkS zs6v;0WoiA*x-Gf;w4@~_&g?j;;SM6W)>DZf?^lut@n|z5r0efQ1fG~SMBsgDMTC6H zPbEUW34!edJ!*ZUf?jhLkjjNSYwmxsBsFFhvhF%ULaZvEnrkS#fR7Lx)EASKr-B}j$eN4VzbSQwMqC>5v_oGH8nH~HAK$S#jhI;OYlSz5 zl3hXGmdBIxbZ0rw3eMY(=M%~Ey~y?0!u5JalQ#PNz5jy?O*m=UZ0k!$8rNpx$%a!$ z(b)GlZR$w>rZI!64c@Rehz{;~AiBiJC>lMZ%M+_jS7~&G6`wxV453jcE9UAwU=@v8 zVmqYQlrZi_aQRvu59Yr@I+%|NJi|G!p6BzK=R1q*F_7!!PZJXIKJPJi2TgcoRk2>{ z!ZdzQv8b5VdKwqCH0jc=9&~8!v(1|4FHK`F=dM6p8_<|1V;enFNoh>yJkd+G*P(;| zeEnuylkar!hGlh@Z3^Qq*aPKFEqT1AJY6@=(~R?0<@xmG`Htjz)Z%(wr11;ZdDN4I z(u5(6&aSl%qX`Z7uN!P}j>h|38DR4r=B=~FhyO9vg${jcT{tn+K!?2E`|)f0HFQXa zCJ`ShPoc4A-L}?q^q{eGydOpWwKdrl$26|jBpUD1 zRK7t0$7>XuG(M2h1iQrrY{#>j{t6zH2xZNw=<-cfXT(`efxqp92 zhrV|DdxQIVI&^p*tDD{x>Cm1vx4zg`mAeuyug2ruW9iQ1GV(B9&`-$6ndjS+>+uKI z>m7}6_o0A|Jt~f#trtU(!lF9jq|-zec)H1)r!nWP#Pd1F z^EGfi-f+Dj?E6&n%()qj|8ql$)tyx|p;DF41y;4D38mlIj+V8e@efX3jecf9;&nCwE z^oubcmTzaSM>N-~HI1KNA!g%(1RDSJ%zNKk??6AF7B?$jq6xL~ESNvCE=?$&nA_2z z0gZpYxYPBI?`iz;Kc_tI0(!5w)~?!w*ED|eW#@N|F3|YlFRta;zlOUjxcoeeH_?)( zYr}coaNagNpQb$D$4rmgMYvu=Y5djur3c5_(S$s&d_wQ7qX~6yM?D{*p$RP`ZrQ>8 z!Gso5-sXJ|dN*tkU1QWJ;IS|4*ZVb1C_Fj(!xqrvd+g@{+q=;C4__CpUhs;$&~5}d zv?n3newNOyH0McRydUzid_ETB`Oe^aJmPwFfbbOgD4Ux!p-TQThQt~)!C~Y0tIgeL zg2&*?H(-365E$J&^uPw1pe}Q-($&c{LDf03-`8F=!T-`}o9M1IL0&iHmW2aN7`Ud& z^2v?4+mg$rJRbC~Lb`sOXCvo5&hxp&^94RZkBVHcC*pI995=@TITpyVK#m1+EMSTS zr2bV`j|$1%K`NX6^7Y9Au~N@kwb!&*Y%T5kCUQys)y1UlXI}r=?Si$`t^4?num4yl z?cM6{_mKx%OM6ARmt5ZEq_mes)9~`zA<~|Qb#0dJi#NJVK8(k^#M5=)Jli<0BhRNA z&$koTV=>puPwJbv<6Qsn&r;p6_qEuomeF8 z+hfnbYd6M7`{dc>Iy-2q)V-fW)k zFz1=Zc{lTXdh>iYaXqFny&@`0<&7;YqbpCB%BOWautYmZ>fL%}iB~~Yr2~DBz6xBp zK3x!Av4osrUhdr#C{Q(%R(?~#ws)qzynx8ADw{U^Uk`&^5P-+N*J zcLy=~DGMI&G*7pS^NiuVYk58^c)qq=k65nPMyYq;=RpsS9F@vT^_~&T=sn-05XMa`EEv~BU~7pYw8HGKS`#dC{DJzL(J_4VsVX@94S)pj58k$NmEH}+M4 zT9?iI3kEGt^TV6iDdxX^c_<+ET z^X5vu*S5IRV0#g%ch#Y1OFwNX9du@>w(hd2(t+X4mei}gL^_}^iGBUc1gTeS4IldT z52@!f=e4zzGo+qN&f1hY^_aVlxO^Uucbli%%6Zmt-UObH1JAcS*JB6QYmwBubk705 z9Qq*jULIbaEqzS@y+6DtmooYk{S&rGwr*e`|I0p>$B0Yu8(p zyeb{2aJ~ApPKOb>Gxwa0Qu?^p9i%NMPs-o^j; zI{(@wsVvdUaeZAPmF22cZ(Y$H(m~7R@7@;JB^?yKx}CmG8SYl*^51y8BRriO=Ye_? zc$+8ZBjh`Q>!IX&#e)7eL4)S~A@$zz;Om8|0aEXq>x*uhKTqm?)yccI=Ms=tcy-Vs zm(+W7+#1cy`%-VuRh28>DvdY{y|U-5t|Jsu@5^)D8n$gI_5M05Zlz12RBkoRy;j3( zQh9+}q@l8j)cd34{o0Y8q~7-`PT2Nksnq*-{a-`2!TAL%QND%zCH3CAewbZEA?`x^ z738mZyu&;lv>VRDc=eGT<23#x&MO_1t%Yr%C+8hJ6&>1vf5bXwaes4Uf!t zCPt(EgBGq$YI)NbcDv}j?UwxqW7xI#(c-hqpE8C!jjm+dAg>s-ppH8) z)yM2^Gdp>mx6QJZh06VY!g#!Tz}hVdzkCtHyY05ku8>qJj~FKGxRH;r^b3v08NZV; z%<`XU3=8_@d1nkW{jVCsLirrTpao&&H`;?RI~iBM6K1b(R9pV-mc{c9P=i(Rg3Z?! zq00OZpLy4}qQ0l6j*0d^L1pTLE92}cQjhgBk1bnTiuS%^J)-OI1lrZNM1*wzP%6Dt zvF-HEO{vW+?_7C1TJI($YxYIec*@=LtN_7E;FvHy^d_8ZJd^@AJ(YKZc@W4V9%PlL83S(wJ|B`n%Wlr(t1lw_7jV zNkeZQnY|^~L>giraKG@9n=~N6FyLM;N`0y|a;+R(hn z!-KAl?z`J03=R#OQ=G7HTf&Z)B`p48!qUS!4uS6oVf>E>%Wo=S`5z)ouW-Wjil#A6 zftwzL`O~2vw&$L^d^L?UjI=+n2in0-o0Cf#wWFbSF6ywQA8GLAPCZW_DN7Z*Y;qSr zzKqH~lpRnl>^kj}=j80lH|A5P%TDXA7NgFkwcB1U z$?evvIALK4VaLl87C(%z^a}~&^COJE6A|+JEf-<=PasUMPlW09h{koFxM6Lz&NQLv z;bqO%Ri-ifTeROcs}+sB*Qes7>CxXNn zzoK4+t|_laKcZcp-%0eHGu*y)`=ZgM>wX|CJeRQJZwQP3iLms`2;*B%82^64@>@t) z{w{>+)r&B_YSH+HQq64FB$`;}ZyP&jSkI;Fy?WlVBQ$z=@5Qo~n`!vmqLSAQT2bB3 zUuDPDFKNihg&qOTt5bjb;kmpU{YD3l((LQDJ%M(QSmarG-W&T4eLd&)kxe8*cz!Ly zj!!2n{#C-#HzADg9bx=Z!t&coSpJs@(`!6odbOqT-zu%xH~A_}eDS1|ZpCyOmoL}6 zy`@jnm}0)8H@-5^$bv6V&lw8q_bgVOc-pEH)w~?AVC%-hG~i+B_z4DgD*Jsw1ew z*Ib%#!Q*yM4}Y3;tZ&ru>z!!awUJ&USD&G=%iYenmP(>gL$3tq)ke}V=k*_y*T&P( zTo-bU*|3}{W8yClcnQz#-=Epj=c1POd>zXYY9ug zi7>utgz*n0EWgo&=TDekK7{GzXuL3R5A_^f&%uD;n~9g=eiAzohz+rB_|4>_L?sf`U(m&7c7dA6=~) z+Jh=y6j}D`J3FeV)%n#}>1ygXOO-o#M@#D0I>4?+-ubY8dH=vKvOwy4!QL(3+%weo zc+a?5U&r(Cd462Q<1gju9XQ`1&hNzYgZ0fq{>zzOO)R-y-ZXr}iTS73CBk#BV{@*0 zR;7j_QOkyvf%grR_bxmNszXEN(#yf0^HJ^EHoCF%Mp3QJxPsLbzErct+sZI>EY&!c zEAygW9jgBRF=X3<`BeQ^V8JzW&hqd=e!LNnKZmCe;(T*Be{r6lEz7^G71wJ#*Q)^? zQsM522OI2Y+=|GD9S*wC!9xmEjEen>MoqTr@ZM@NjcnFcRl>Cyjc8H-+~3v8((pK+ zk&RbBpkdz^O-VYRn})53y^^=>VHy_kWO$+3<7imG&M|HLPVw+~e*6TFUzDeR$@v;^ zen+0)FFgP6TrXHZD(KaXCM7#3G(N=Ph{rNG9(1kTwP+7Iw0-^4 z>MxJzkU~yLryM+KYz9O ze{r6EpT^gWa1ZwB$-@u$@##GNW}dzf=aX}Ocb?yIp1+#wwVdm9hmP9c@xcY%b2|F4 z;qdW?ayoKT-FWZcUeFO+$_;jHy^jvRu)3qo+?RBCC5P%G$9V7^q&~t_yU~&8_(|)&;JY8 z>jT#-kdAZfoG-dZeLB9wKEJ-*U(&H|1CC#tG@6d_ygjzvhl_M{)S+A_e<@2x?dUyk zthPEGRmI>uW>W$kxpdwHyQc5xNVjpfEee*RBWuj4RdU@xIkXY4KEQ3)oI7;l&b8oc}kT-*uk<5U$rFuGaxN*`><3ZSm1`^0v*n z<9>~%lYXl-tLvSrbW*=@TVEK8K)fv@`Zg#;CyrXy>r|~abYh!US8{jspc6he=;eI3 z9i6b~^wKlETF?n0XA<|$A4w++m|V}jft-iO^5boJ{Ej^RAkOE=`AhNqO7r|1aJ>>l zy-38)$zxk@EJFP2DT>z2e~ozEKk`Sb2XVyxcF?n{uda}uZ`Z7tX)}a$w;J@g{63FV(tmw-cAY(P+wb(|#XR=JM(^%+U#ctd%* z)|}@p=N-cHap(Dd;Cc+@dc7hEcW!!47`~b${B?2X*}fA=JaMsGGCzq7v8n3)rs{MO zJ@RdX-7c$0#I9EBx+kq5Ve1s9V=C?>2B(=9?S|YZdT%;>NzZ{q_v%IUwsjkF7uM+t z@&P>F2cGU0=h?}5ckz7Y@_grTJ(hC4_K<{0yK1&5yow}Ry|{g{cz2S}_4K`n2wM{O zvTYI7AqO(#t5vhrPYfg`R_%9E*B^M*FDFl$OQNc7{pcoLPa<1XsWfSCeiCtLX~&N` z5AJ$$c_|+6Fi*FO^JqEm2%b+no^J=Phl=a9kt9sD8moNfOcKi_e8|0hIY~Gly|nTc za0^xQ-1jho#22>S(R^nji7OR+efzp0WXP~5PHR?fC$U{^n@Re+keI=;qd`UAkeJdF z>Mpgez}L^%P@eBvuE!3p7wEm;wfGMEmL#$1yv0Wfy&#DV zE(C2jqbCUmBNrbiq$LS;^1C>`K2PFf&IGhk&LVO50xr$na+1WUswy_b_9t-_0}qDI zTS12YxuN0pVS(J$a`}25PsY=o<2(yF?Qg3v z5=jhi_WE9ukA_vn?6lf*^MFb zyO)-!zP2HWUs&LNs}kS2`<2U^@OWS+Azeq#GlTOE;Q2h~`9gkz9+SCVQ6#a);L9=X zN|40KZ+8y6tsseqr}mgqqbNzd)TMf-eSReI#5U#p;eV6F6`eOP++T(y4jEjc^`!|U z(f!iz^9B?miFT8gw%jnAB-SjquI%88+`Y!-^Lf17$>{{1Qk?fA&nJZETbb*j;d&Jz ziIJAYuI4RA5_e2E_v%bDl2ln0eSJqAlB7Fx;nmjeBx(7iC2i~GCrP_yv-?cHPm;D- z4V+zhGD%wedicB#c}dcwjd==IYeJHST~zD~D9YU;T;7Pqd;f{28^d{SaNc}8pI$s) zD8HabRjyZII&9?>>j`bH(D;R2Hg+rSMF(5&EmvY>B^ov_uggQPzu-N%dathD{X&CA zJzZTfUvC)yJ3l$lXEXI0wnu%r%>>%h_T9p}Q|i*@{_iW6`n?Mg+~43m8y{Xo*{n|=1i&5qH(}qQ3VSduCa#aslC+K;8)6$1|s!-Q;+85&rR-$%q z4nMl_VJs2c_q&N8FK`FeIYYeM&j?G`nlPU3gz?rPEFXWu@*Pc>9`%W!*TMX>_uwl9 zKYVyVgLAv=D{QHv+J`NBpSrr5YK}F}H>uD88tis?#Y{yY^>5ww_c2Y1QhDhI8|`Jb z)I;K2@|piY+HK3CS)G=zpteO7uReWuBZB+wBw=zLVev{5mW~jCr|}}fc-In^&rZVf z-A0%m^N66=M-^>#{dSu}x(~E}Y<-uzh38V=Q3YZz%z^zHCRna%x$qG6Yej8amYz@L zo}I=lZcvMQ&8jxE?27u-?XTZXy;roPopQb2GJVfY+O%NnY0p==5ayO8OumS)c!dc| z7exe~`o{?4eNI?D%LvOijtF{KSr9?5Fe%M@C)lx2r#R|(=J>%9WhJogeqd?$b1u~5 z%Dw1!7Zy;@$}`UO+8z0S?VV{jRbAM}Rhkr`3@I6klIBTDmR(XJ3P~eHgm4VuP=;il zkC~n*Q%R*l8E>gXWhf=3C()>gq@;m&xA&c{>%HDD@Av1^eXV=_@Bja2J?J@|b#`DP zDXZq;`5BC+)%)0o55VRxr_hC*$SM5V74Z_r^+X&k?B8;y08)4^q z2Lmeku7P9x zZtW**)g(;+DE+y&-@1U)gq_PIjL*aog!NS;Y)&j;bLG?-j`u#maJ@4l$^%Ds?!9q} zEUElrKF3a&NcSwgZTuh&WX{gg8R++hWsYea*TZSBTJ2M_=E<|5HY&hgzUeTi6mY(| zPn`k_4_-C$niLLVovI5Lc83$D_G~3gf8ry;=p^P%hlM40|LQ^M#7pZf2)tv?2V@p*n77+?ETU~)1mfXRI`0vL{FQ((A~Ul7@2 zmA9%s(Vs&Qd8JsjN|r1Qe5^GjbBZk5qADO1kw_FjdA6;68%?GieRSt*UK*LOLgrY{ zBn|aG6==`>uA$!WM)#h=$dT%Yq-B=zL0kFnDl+6z{<}Y`lCS)??!2%sFmqED+vX&P_Oq&&` zB}>1q^wUr>p1vJI-OeNx5A22zNHtjzHxfeDjq^YK#2bRY$Ok;(v_Nou#ENCEfVBeq z&r#=xa}&_V0ev}`a}jfckV62u+JF~jH%LM^K+LFPY3mmWL3I6T5%G(y5EU-IvHn*T zMCt{vx}*{b5hL}fYk~z3E+L$D^`j|-9p1l8CT16eO?n)tTkZs*&ui`#)a=B%4f~F$ zGsihc^tp$=r!l7ib3Y)51aj#^bgt-Ex1vnoMcfZ)xH$@V>MwV!yY~^I-Hxu6?OOv; z7gd(%>L^0gL|4hE5<`fTb3FMXa}Pu~ax-?vH9`bmZ;ix^DG+`~VOv+9FxE-fmqJ|| z&K*J@WAt5&IU6yzA2~#kD;J`-ZuuFmcoKL^#5XS)bp&`DXB8aIqWNCGH?#Pm4beN@ zjH?E}Lsa9X_yy+H5M{B+S?Y8PM2W}-eOvVkA`7Nj%>^-t^j<4HB9ney&eTxsi=ys5 z&V4{1XV!O!4|BF)?tA3$N3Qb_t!>)hd+8-q=QaUPOeL_skp4O< zbT*IZUJlWwLZg$Fdmwtu4bMBpOCaj{jx7xa^!F?8&k1n}4o&I|epKCLNzPUm4=D^*u^XczbrI+EvDg~k?D(mHj+OfXDemd$z zaLyfl=*sxg=fLD##@s{5u@JdVK=c`C@tj5Le+BXD3&hg8AFUypD!^NLX~@KeUMo0G z5U5-OyiuG(Lmzb^`uV=S_xXeA9DYf=bq)}nReV|N9sT{Cd``aW=`yS<|MnRj7w4kU zhvs5@|KucM?q=l3KrTm!eyhn>VBY~e@yJ1MyHmhhmG87bR{(gMEbSf%P6D2`w({ux zg}__mwW{{&ec;WPH4K&>1fH}|&bDe9;0fn6=jBfZ-uR)G@?h=wdcY{R-nQ4YqI>)TzFC_9sHcZKh6p=@(GQSmMnl+B*Y6AG<+DQg>_ zPwko})WLh{UDto;Q3t(+a`a|BzK*jq6jY||~vFQUn-_w+R|GbI&j{l(SPIOmfrmv0RP#iz)6L+O(y`TiA=+`~UL0T|Bu0e{jU%g#+?3V({ zE@al3)`8QMoyhxhhWB~Yp-1jx#})pIwGI0zsLRDUKp!RaZNi*#%%#tV;rN1FXDALe za4ulM6^c`k`Emhulj1yGYFG#3DNd}yoFtn#JLBSki^*-`_m7WQ|bZWYd14g0XZ^nXVt=OX6P=gDx~MXmyh z<1uk^Vfc57Q$1AeB}LD7=PLM$(dYfaNUt#FC&j4={$4hhKG)>w>mHtJqd3-X-K+10 zQ5;g&wpBBl;>dj|FA6lLIHE^&qX%`d(z#6E0(FTv7xUML@%_x^#PVY z1!p$an$qX^_SKJlKJ?Gc#AiEP$3;<&QqMg*^AadW@iAQ;h60r1=w+)~3Ta)p##Wm* zbpDez`BW!antxlR%F1~Zr(*x1j=6SN9kIUmH|^p&T7Vo%fetr5xRkHqO)PryO0P4V!8! zC`a3023P#+C`a=#osq#eD91e^B@Pd1JyXwOzY=xTI9L4Fhw;6RIp;9<6mn=Hm#xOQ z|NBoHux{dDBp__ z`m-kN{_y=c!p>(6@3a1YpTEuK7Z2~Vd|Jb6mS1sr{lC6G!hZe3&p{=4PQ!Zkyt2T3 zU6eg{(o67K&i6RO(F2@Xb!BTZr+{5+G> zE*PEPo~9ap8aDNOe5hfv3|7So?&`70DAirQOyOcfE@9UT2(!QaD`E9Pgq@EftltE} z`iBuVZ-B7*Vua;tCx5tn#12l_AWuIB?`!Ro(FVcbag6(Lqf;&%4xA;kDB>D88YOGJ z*faucUHE1Qz14sNQcsGbFBHPwB6F9l+hf3JQb>1)sVJ;#c&>YAa8aqTZn4R$SP8D+ie{VZs^i}^7c0Pl!ev1g>uRTcEyh4Kc1i1*yMc-4RB1~JGE-ZJFwl7eEY7f2AF@p>ANXH26oPK=XDnF zK>N)VRdu(%QnMA&a;AkR2)jN;*nJbi>cVxeUO6 z<2}903%)^+NDY_&V-p;+vA2s?@CI*{sz?iu2f*!6-~Drk9=P&i5`X zq@Q#AYFnvdHJD~i5lR1C5BmGdh;{7gQu7P{Zqq)cPS~|5VfX#%=NA9gXAyS(3}OB3 z3G1&(*t{yj=5qgK8{a>4sT{_`G(T=1BZF3`0&5nN6O*<_eog8jL=Q`6kr!9suU zt3Z(uFj_TY=&86*skP{l9-nFEgk4W3?7j(M^_K}duSZxvFT(oA6E^PhAXv? zuv}aSuDPojFIWj-=Ta2Tne!mvna&E=>PGPEnANnRnZ6I$Up6_|S`m&&wag65Sp}{; z`ql?;T>_l*=R^ihn}DTagXyB&dN7_kIe3(FSgC#AqHntWe1u(#6LvqEuzEGZ&WjV) zPlB-i;)Kn6PuToQ!g5_8ESDFA{P;1n&RQM9-`x$?aq@tm(S6GEi>JJfSzOkFIeinrF4wHZg?|rIcv{;NeKmKA+eKdR%d~= zsd$}Ah9c}R+1cLVAy<0PeYWS6)a8U(b8iu5KfRl<`s0M1w;-$^eNTn)zem`-{e;aA zA}rTY!g5Lf`Mv+A(!Xy;J(hg;9XQPyIz10-hWq<`T5B_V|NgmXHh*X;Z#fy>-}~!Z zLI$_>?|OQKQIWLs@OqD5P{z$mNB*v-O66(!%otwpez35rPF(%(`m9cN`IWnW*C`$O z8X14{b~F2RfA^Vrjp6kk#$W#Ln#p$=nnqI4`XZcHPf1YU$q-cF*S@pW^Zk*Ri<27WLgY{~Z11 zp}!vH?ZN!x$R&hadh~NyE=&~MmjTB|DQ`c0N))^n{}LOQMn6xtEM$?oMh18+nIEup z!4}}oUNf??*c#mJ;>HKaG=W>E!9L-zd*BuyJ##3=6Wk7%$A(5qg4;Hev=4g%aZNur znc4S3eZ%lP>*tRCJ25W@^XccQFkETKH4y@`w@sL;mIlG1ArErgX3)<|daK?E!Qi*{ zjaY8lS~#Yrq9kQY-zWB&bMnZ?cJTRjZf3_4`Z+m?MI8gm<=|ry+*UA#zCXP*G53Ah zeejtb=zfYX>F=7^*Ft?I&ex&ed-T7Id0LnshFr#QDF$_Jsd3lt1o@*#xhqUWFz z2O;w$yY~O!gWw*UeO-n0`@_!~M5mdK#`PWCr{8~N^vO71gnnbtKLPXdG5;WPl^|Cp z#OzzX{ri`*5Gz-`>!-Xi@DeLVA6YRQqFd^J`ti~4cP&4#WOjuVMCI&Sec}EKh+3U9 zT_;8BBzc%{ODpkeP1|-qn{{@Yx;ddW?vrlJ8*si`n^Q| zX_!a9f5hY~AlGT+(t&v4PZu)h)I$9Agy8ihUm(t~*r#~Wd5BF}{$ZKq4v6`jWO&5p zGsIX3+GhJ`1Ft)+p|>s{c=0!?-v)F6&m<}0-$wfVnx!8tNhtk3(Ci2GpT9GqwUbkYCIa2}hVgIu?e>pdh^1zix5Zh<8G2Zs9FwnC!tDbG-$^^maZ*L1$Y z5{NHYW2s#;7UE~wMSeT34{_)Jv8-Ki4dM(WA79V5fH;wi)s}NqAohcEe!mbFaHZJaBIh;^vHgA7#56SiU50<;n zg=Cpak!5j`kaT3?{Y`I6A+a-+EV(WYiHGZNOR3(3#HmMKJXN~^36BR?2UWj-guGvK z@9o+L2^kZ`-@UZQ^?uxMNBwP_uSP!!^e-FEWAo=AS0Qql5#MJsGK9V8=kK1oGiPQ0 z3t}-ex<*Hc{@j=IxS5+_Hrc^D=lbHPJlXca>$zg`ATjj58hBOPn{0g}Qgq}|1KILk z?Qr`@ak9nnyQ-pzJXUG!OQ5b1=bTud6cO|_#+=odtBV}}A{UoL?P_`C#Z@Ez4UtWT zWBQ2K{HZ5je2XM*8oy?Y6x=~S=l9U!`Wr_H$HA*`P4O;bw^gjLBKs+^=~p%X^}Lu^ z`&Zc9otI4xKJs@RZy$#>6#JQ|yM=R)(B}~P@-W97b59`0XXIK*!q>)6NZ(&iLQ{`f zy_Q-)0(9g~J#k7R#}>KHHvJw!yozqx8a|v(JQ}_F?PU9i`z*fiLTe(3tFdKAnCBC6 zSaoUR{jOWYC9i&ZF&{rui-vv<_gUR*oJ(eX^+$7`d*KFw56+cC%KJ zFz&n?HJ5+{e`|CQYilF{Wk1~~tGyw`%c(bnyyb|G$**Sn*mJ}yGJUc4 zT1|3vrMAPZi(knRUh(H!9XzbD!+lm~gmb0nqkz6oFsB=HYmwtNaxEsIolklU`wB@| z?p(j@t=~v!__DXPdFCY8@7oT&SM4OwL}AvXM<0p5Yu3%uUQ^=tOI+r`FD^OOxmuy? z+gfr=E#tbv>u%!v=CeY+UnSPt*zZBzMx2X4A8YjO!kiD7YshjK@F7FB16W<+&BQrdW5geKCI2_2Qf<`g}*<4$R5H-0jHmhf9EjC50p{S&>V^ zWgDq5p${Znd$jC3lL8VxN!xjL^BxiwTP*e1dp`*s@+&FdFHA!1wJT+sj+2ltOWJZ_ zGzm$qO`WEaMM9jr4u`moVC&%_?4L)S0M13RKKq8y*8+34U~U?6JV&k+5|^-21iWTh(engir4a|YG8i}>e6w}2Yt+0U(fHDGZAw~BZn_?(f5H2tK$PC z353L%-w54Ge{SxWN8H8b55Z^aLxJ@M-+|lk;M%E@iQpontKCBXf4JSxaT&ba3b3gA zE6-SPx-30o%+rr+K{Se-m!=gt$>M~<+*;|ZHHK-k>Jgypa# zEEfgNN*jDSr>zISfvl73x=i5MOf#vgzGuP9NKWK|)FyBb+hl8(nE}qa6UtT|I0<%> zygxe^34+DiSIbX29EI&&N5AA0O#_mZ)2^%Wz3FaGqTCJDK13SNn z)ceU3fU`dP<3#;xu=l;bxZQIZ*vu7J@Te>jEbcb**P123-VytIO^=-fgDF3cSGJsh zm5QP(7Wj@KO!dA&*uDZ`bt;6NyG$6L(r1MA)hBGuO~T|R(f>Xi!_i4tt_l!IuDZ@Q z1fZK}t1?yY8ti`6{kD3(ChRYF5()3R4CXmj7y9~>VZW^A)O}jUuy@tj0_z(G!Pw_) znNpWN=w!}#crbt;mZW|9ZZ$cLFjZ8SFn#~&gwb^#AncqWVSLu75!Ux4VRJGGo10D; zj+w#aH`j>K*NGCJTBLVw8u0DBt1cW$KQBdlT+i(MG}v;dy;xbE14cie=(t|K|tP{!qyyLDO%$<1Eaj(l2!c z2;+0+3SoRLKN2QKE}t;D1;T{kh#dh8SI#N2the7NaW5ZHvkCh5+(MK4 z9KzH^qY2ZutRReT#R0<1`Ryi*4>gmpzE*_E(QXAMcP1bF=ExbU2Zn1`6j6zs@v?2I z23apx_P%rOH?sCiKuNWk30aYxzhS;-HxZZA*FL;h17?&e_D}xY3iIu^trsiuhJ}(^ zX{+X41jVMYCinTHK{$P|GVXF7VQS7?^1I*gtBf$Z+4l)ESF(^WKF>b^Phr01%b9JUp-A|Z)Q4e8s z2S$`Lb8Gm3@yXK%*7pgpInBW2j!6WDqnQsFuDwHK!M>YI%}O)~dA{aQ7u8KD<=TlO z=Bki28&$O<7FUqv{#EG(0wP4YJNH+%m>H4f-|X`~HHu97TA8krp`rf$pH;VFW^ zzp(i(Bpj;K>fcDe?iAG7;wO0uV(v-H?7h7kVk9>y(NCQL-s!RP`?t{d`nG%)i1GFX z-qgVLE9`$k^w)S^=+G?s{%cw;+&zxf5BoDwN8fW~=8mGz1@tw>9COS~M~+_Ps)5wC ze6rUUe1H=Niqk?&Z$V;6DM{1hK>UT8bvXtfAkJ$Zf0F16h%GF0pYrh%#Lh1pSMkvo zV(w2c9osPoF$q(BUZj~pjHg0wtxe6}%Jlc4ZV2am(5Dc6-(pS==DHw9C33xjl#h`y zQfeFFL~2&l`xr+^Zrm4ecy%o#_5j77XA22QdOypAuS5JPszdL-8^nFOwD@gDEyQuh zSBlk}LEL<*kt;rG0OuZ{k0<)x!5nAItwWAO$h8KNi`PJkr=;4Orc_8anCbqqQ3jG`&)rZp zF5YTHzy43RINIj*3*tQvOdFR^VO7We0O~H_T*9yq>w5%qW?^pTFbB)!2gws8OJjFm zg%tAxg4Nx8t(tmv2!Bm^AUaZF((IeZy-lIa%Dl%;M^9aiBgav zd0Z;r=_{l-=T^>Hzz-=J{A1sBsX}t4Qc;n(CL}NFlWR~v4@tR~Q!ShKLXu|iFDG3W zNE{T5i|Dh4#HS_M;w@LP7Gd8Gb06<00OwAjj}iLPe-HFK=iX1urTYxWDM|4l^w&2h!fw^b*;r-%_8A@heZ$N-q0dV6b;TTg%zcd<8Z6gsntO$7bKs3J^nB5Z zf%lz|68@%d)CfID$&cBQAG`xn?vD1GQ$zFI@7tVVB?l?BJwiX_r$frk!Uc1L7D7si zqrU7v>5x+JyTaknQIc2&2ypQo;{qF?+ zJAwaB;J*|2?*#roCqVfW^$LA9wxQhK7C(`8(xII1SvT&q-b*=JN+;dRx=K031o6kX z)AxIITB;IE>M7ftzQ>t?4U|oYDBrSzN0fD=<(=B3YRcN9{!YixNvtP^`>gH(&efpL zE%a5zoKnm+8|GlS4pK)wWP_}1(kRbKdBtN|K2xssPp`FbuTU;ZJ`iSKN;$1J7?Lw| zr8u3!&hz(z(4cW0y)}ore8csGEXwjp&n# zzTTKqfw|X)Iasb_irbYHk({hRdGHRr>K5vw+(Yw1&76`cR}C|5>&5#i7tTUM${>t# zp74_Eq;-*U;y(fkeDajzCg0GXqv-ppjpq;cD*vK5Nk!$AVSBLd!u}7`4d9$2`dmQY zc+9cG+>^-h6}hHT?iEMP64kOP?%h(&m#s|{cS=I``Ti!#?L_Pu`==q4>x_54Tkn=q zF8@Y0dREj>&h55^lVgS`XXTD8rRq79Q-SRsZS@zFljrYdrORkrc(7`r^5@Tu>bWn#qRF;3pi=|weo?kXhI!n3OL=K3FKcrliRTwPzv>NLg>^BYT*tyf_ z^8tN7V@?m|3LwWOo>)k6=Qys;*WE#Jb#?L{U)G@9+h)oUqb$mOk+DQs zP&wu1wC?7`Y9Y$C+NWLH>KNs^PR6Uu;VgCdU0nY?t2@-;5+U(Jx_MYHVZRP_**NEq zJ_6`_33L9z+~vq&fL!U6yW=G{r4l8ItC%q*;uw8?`ui{))&^SzSHFp)nzwMy7zQP6TTm~tw$61wk*X~i=4Z@0+ zGi)gL!ApY?hiH9%;M0x;=PCEY0wU$U>XiG2$kzt4R+Rg~!I**}Kdipkr@!wRoi@&$ zMW3<5zHH7d%ao8vJ@wD}~(Ef+aa>7qz+3uM&3 zre3DF$&`innN1YetwZ$u$Q+7mT>kmkGum&>{1fIw78G}(Y1gJN#aQ$I_8DCl&Rsws zP4vyhoH>|F|956Mo+H;vifeZJi5)kZ;>L=_mAZ>j+~zfFs^_hwJVc^o<}E!+c`S_^ z6EGr!@=*7$aacW`@>uy;bVw|p@=%^+`f1E@%0qg>zh=-$c}xkLdjG%ztc$V#0(Fi! WcMW~Upl>qfcw?>#a!f(4@c#jFDAXeW literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5.i new file mode 100644 index 00000000..f8fd18ce --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5_out.e new file mode 100644 index 0000000000000000000000000000000000000000..dfd4c14a5f23adecfa2408f38e583019932e089c GIT binary patch literal 159720 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9.i new file mode 100644 index 00000000..719299b7 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9_out.e new file mode 100644 index 0000000000000000000000000000000000000000..28add40b67dc0e87334626f9e06cccf60250d5e6 GIT binary patch literal 105840 zcmeEv2Ut|O_cnG^ENkzMy;Bqw5R79%Q4thG1a%mg0Y+eEoEfTxX79cC-rMS0*VwzP zZS8CCtGl{uum5vya)*x2EZ_6&?_1`1-br$9^5*0uH#fOAH@8Da*ZdY176k#t02Kh1 z;YzhkEss!ISmcACMNxw)LMhW5lv)h2UlDa=giN7|z!0V{iea@zq13bEkHE1+nKE37 zk&Xk3v9K&KJWPm$d5kIo z+W@p187LQG2nDe*y#)MLK;Ft88j{=)iB&CfgV&;vL1hTX4B;o(K(C5u<|xxd8mt8= z+Oz?nn9vrZLp3}y=8X`4g~5Zm!tdc^_$#UmOwAC&7#D3K{!j-5{EAE9&l2Kmbs8oettI*C7wTbc!mHw4!b;-}3I<9;hYF}(xC zEvnC)AGQPWmo~pHAhd+|Y4gLl-yYjE5i;cLXKT?MjJyx3d~1x z3yZo!S%NfbwKB+nZ5xU3JShqg^DZj%Ifhs*GqDh-aL?Y-jzVuGv~{Zlh!4Mp2KciQ z;-}AFG#*C6{3YnIu&{pxf0jagz0h%@uGsI2KTPMz0uJTCwM^4z=M-0gaXBw`z8Dw# z3h{@$4Ozfp8@M9xx8mNwxSSU|aO6chiN7@ZI-+0X{Z?FWjLUiL!H>Kp0OBu=zK+X5 zDDr+Q?rDt6+Jn))B}Gzjkr(rZpW`d|6XS|@C?yfJSI9nMXHgfo3 z1mwx4pL#eOj-^Y727%u<(mg*5aY_jK3zf;Q-Yi{Nfg$z0`bOU+c6H8Jh9877h@5uH zzzpTErLc1@A9t#U8+84$k!5W!P83b1`J%lk09>;N<_ygH;EEoLR zV?Nk^@P}?%h%)5B_LcTn+BD*EjBi19&B5PX(G`R!Kf&dqd!dE!Bcgki9~a%*EF}@$ zdpy4AJ`5IqM0B6<^rHLhH2%&I(S5=BME50+FS>toe$jo!(~IsKo}cKx<9wp~p7V+B zN6sg@pE#fBe&KxFZO7;=L^oUeUEsV|d49K9LXy!g8SRj<+!@Q6v0NF;kwNb~J-OX8 zwx5jcC1d-@*d8*}e_p-wcAeKg(GYVp^^bYyJG0CGC+89CMNP4125JljjqrHtzi9!TDkRkK-z>UNYJ*1mA1=LxMYuBfzg+zmdFOxL`Tt+; z0RHRe|9`pe^U5w*0H48#&tC93B|aO%wE*}GAD`>svu}I`jn9kmc_TiD#b>7YEVMKL zpIzefNPM0oJ|n{QQ56A|0F?n%0966i0M!9C05t&;KrKLRKpj9`Ks`WxKm$NSKqEk7 zKobBy7i|Wx2G{^>0r=<-A4j$T*aKPuS^-)E8~~00CqNs3Gr$GV7C->)08&7EKnFla zKqr7JpfjKgzzxt9&<)TX;11{k@BnxMdIEX@ya3*S-T)s!AAm2QFTfAr59kNz4;TQD z0RjMWKp-Fppa3WV!GI7zC_n`m2nYj&18}si250~{cpC)J0q{8;j%6YNQGjSb3;ca7_bDe6tE1i9Iyhg60i!e8n6bi7O)Pm9$lg2si{d3^)Qf3OEKh z4mbfg2{;8f4LAcx0sI0u3pfWj54Zrh2>2Cn32+&31#lH`4R9TB1MnN*Cg2v}HsB86 zF5n*EKHvf1A>a`pA0R)V0H7fE7Xr61m!ZE1z>>?*UldS`%g|pOV8vzVF99gYW#}&j zD9vT){{c{j%g|pIP>##cUmj3_%g|pDP>IXXUl~w^%g|pHP>svbUmZ|`%g|pFAOWBZ z{j~tK0TS-718!Xa%FtgAP#=IY^fv%B1fUH4jR1`SC_|f}?V13ZazEOx8JD3SZD-A8 z=ttYxa2fj1cD7uGezct(m!ThR*PP4HkG5;UW#~uS*>f5C(RMAl4E<=kR$PXDv|Vd1 zLqFQify>a3c5>u0^h*Fv0Fo!SCWhJLgi0iX?K%NahJLi2D*$EaN85DH$C*`q54v0Fq03Ys0JN4l*^rM}8xeWbir@mZ< zezcPxm!Ti+t4E<=QU;xU{k9G|CUP=0A*-1v|T(Pf&0;Ri2#(LA8nTeKpFbccF6#gp&xBG9Dp+PqwPij zP=^W#~scO$DF~{b;*s0F)&F&`#3QC_|f}?e+mE_oMCh15k#3wA}%~ ze(p!x9R#2Z{b;*G0Foz4JIhJLhD3IJv3M?3ujKpFbcPGcDew#$o>1l{S|;R^rM|F0Z@j1w9{n(%FvH?x&lBM`q55T0VqR1 z+UXhqW#~scT?e2H{b;8f0FogM;EhJLi&BLK?s0rCS1015&M0SW_( z04xDT0mT5t0akz#fRcbxfYN{;0A&DW0p$SY0Tloh0hIui0aXB10o4H20W|)08&7EKnFlaKqr7JpfjKgzzxt9&<)TX;11{k@BnxMdIEX@ya3*S-T)s! zAAm2QFTfAr59kNz4;TQD0RjMWKp-Fppa3WV!GI7zC_n`m2nYj&10n!wfCiui3un#~1`vC_4 z2LXowhXF?bM*+tG#{u~O`2ht01p$Qsg#kqXmVlywVu0cRD?kZANkAz;X}}MFGJvvx zascGZO(17OfHS}opa5XKV_hu>;0hIw&0o4ID0kr^i0QCS30H_zDF@ONP z0V)8Vb9j!d24EXJ4|oK)0JsSF6>te~8E^$~6>tr39dHBi8{j737T`AE4&W}}9^gLU z0pKA3Ik8Mw_ND+Szy}ZpNC3v=FPZ?amFZ9?i{C#oOdUxFol)ullJ2mTf<&qdiHuOH4SEUWWrm^>c(dN1 zjMO*NXbqBP&D6~dp*&llZVL8zgS< zdSYtst~z)_7Peyu6Xd!G*rh?Eb}~aVF$t>&o|%&*^%tTtNP@r?;IwXOt85w6D%jRm zqESnl+cs~}%+9u%ZF7+$o!ea%=&sa)xDEv_JnrdCde40 zL!?dzjYQ%NyP~9)7fk6Dsg}4Z10{BL61&z;En7J?w@35YXC%lN?i8a8iiB5K!<7Oj z?2i$l6^Okfl@gC21C(82XX|9!(y4{5P#+ly{`bPzQmq;ksg%is@H7@Sf=E39B@!2jRH5jl3>QvveW*(7E?3J#l)CKnkiZG6Ht00r z@cMIzJ}ndXyGY!6_(;3+ol3H!NtH_^DmCgBrObj1MJ|$tYK=^x434frdpp>bVA45-Ck56t*YH zp4D_h+;&A&Ckxj_(plQu%j>(#oa^1!cjx@Q5&heD(C2m^`@MO8Up$G#-`d6#X9$rx zWp1d7^_t^Fz(vw2LTiYX3Ks~lk1_Xb6h^`vF9I$SV96$NR$?T~@giVq=a5w<|44=! zLbbr_9l22>pb8S^SS>CRu?=Ld7t|wTaTuXIP_GG(G$>(j8`!f7wqy%3z~)cFmD=?F z5Gm#1+E6*;&iHR0p>TtZvqLD)r-MY%GTGfkLLD z>xzq{0lSMUVK+1J9&}DWrlB$h?);^z3uEEUvtcldmo#a{A4WQ~p{dtpOdK4k7Eb;& zM4}f6m8}~aaw=uIV=P^0s6m!Z({Yj5rc3ax03*zydoZ23s9FFuFB@wFo%mM5}NiFB5J5m$wOqk2g7i>pE=!^*e$Rdo9XCKL(?y#O0{sS zDgzS_np4Z{stkRhP8E~sUWPeE&fzj|UM;I4wBf2CxHp>B&zvG>Q&>h1m7pWn_e`8*PuI<3fYK97XnI=Nb}f?Hu}ZJ(_l z=kppJJSJ4j;AT7AMGTg!!o>UcFJZgzkkjQ8nRUcTDFoSm5KYz)=;N}1ue#crt(6iD4W?jWUy5BK^$S@ zB0HH@%bvldQZb+D?GOeAIGs<|Eg0LPTBD1Q2~GdI8X+hy%mD;K-YxtCF2N2!nB6TP zvB;+O*a`#mgBdNC8pcX#(!!Kx1B5DdDnUk{P|J4Tb&~KR=Xg8PoQsrFt&ri3w~VUs zu#3dBMTioKQm2DQzi^Sty6mR+Hfb+QS)9;<4NW?i(-DS;Xmlz=XhdrHT_mi5W`DA! zKLU?2(_A>Aiw?riyyzl~&u~pY_0kgJm06X#01EZ|XEuZunY)Bp^kG7!nACl#LcnIY zet_LX)XTt-!c#->GHqHHE0KiDvS=)6YuVIGKsbDODpOUYBeaEI`nHin2sO;A=QlDk z8@9}WBK;vCgk|0QdTeA#J7>9{aDJIl0UiDzKZjkE?ky>z-T4Sdm7TxsDLCspWLKT%|`@v?@ z#H9X^6QX)qF`BJmcCA}z*rsZjU2$2nfg;8;Si%it9ssE#aX{~;k18Q%FZwi%&P znrVZC9z9)UW*d;OYmlg6=E;wXBs?z37)P9GTOpn)rrtkf zw`H=OlbT*B!US0srI!tq2g$^nH(EKoC1++W8)w|`4j__h0#$M~Tns{#hES!>jNS$a zacslhbqSQ~)1ArY*$~$`q`mJ9dZqr%v0-LH;Y!VicX)k;+f?5*+7ueLSPvmO4Gifr zH6GK?Wj)+QN#6ygmKS_367jKLGi79W_U}iDJsCXW3R7ui${4(}i#^v5W96JV?J&nRRY+*sYUlrfT6TwP6WkvT&y^|`YbG~c;oS#W4MvlFKhqqJ}xH#V~!YCy``3 z*u>mmc?^3*?xxqk76ULD?qsY&Z>1WpJx22h9!!Jd;7pqu-~s%ZV?*Hub(TEyzgdL% zQhwHNJesLtWO$e?LZgTbkIXz6agj7LX&QiKrr7Z)Yw)G{<|7S^r-_^BfE>F zhewZ2>1#5l5GGV8gTm$TSV|um4A10@RLo=gPz0Wi8XK0(Ahax;?20!u%&FxZ9|)Uc zLvgy9p|E0+O{!!IOvP4&u=JV!&1p959w!)117mlCN|~-Pnq$KpZ<@MD;9-z5r-qXL z7#2~hQNf56#>K)KstkpO;haf3`v`7<0S7i>N|B=^8*p_d(vdGi|+oAbGkt{Z! zL&ChF2wEZaXB>)j7al+Jafny8JNIGA|KL#Mzc_Np?H5sV{X+jga9#eFUq*9z>wy1- z89i*?kUN(rcCr4(B??Cl>{W=4e76;ar%nT_TqF3@8PrLC)&IsN3JFbpP$-USvV2D! z2~E3i^Ns1ZIU43T_Ci8aX8|g8Pb*xSK;Zw=qm76sF(0NLYm~Y#0}= z(!--++zU~y!McYaG@b9S7>PuvUU&|`HO(;9Gvn0DObCrJm~BD{RbzUkMhhUduu7uAok%f|vBf zlNe55_Tmpdt2e#KsXex_i)KBxu>%Lv@4wjNUgNX3ix5`ePU*g(%_mV0jk%?U`=F5IJo7p8cs} z1|c84K|3_SyMKCEvzykErW1xM)ggvZyt|a;D_y1&;!4JFr93#3ZpK>v{&9#<%W7Dp zrB|i9)ttV_Ch3(K!peno=W9*@i9{DCV;zn>CabD(k@U?eeWqh+ z2!(4wrrI{W9U3(>_R{G{{{bPqwg$^h(y>9+m`*4x7i5D#S#+pUElWQ(F}**8Ws%0h z8XHTh$5ah7)zUu|2+!zw@2XVf!p#RP+jra;hw)}-u}@FE+hAkVB(+>fn0I3wt&sYI zEy0=blnNZV8!ee?we&tr3Co-HvW!n{MM~2fHYZHeV~JdXYc^r}JyugW%_2;_Ng#ul zOVaO>XZnB>iYyZ1oebe&b(-hkrk=}Kwj9S_-??Lev8s^}x6jY!B8vTC&)(9G_QnL? z@(6@E4d~3N6t+X7xXr&x4VS&tPY0M|!w`8SthmG_ZwA<=1z&MOz4_0aTF!BFV-{g{ zryVK@wQS zb%W0IyCQI-B@{lb0r$H!SttmVVp5%0AV&^&9LyPtNF*^ZZqG_NL1s?p5R=pX3+5C# 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 irTxDYt{w&>loD%(btv@^%Jff6@^)?LrqY+HP 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14.i b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14.i new file mode 100644 index 00000000..d3ed3f24 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14_out.e b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14_out.e new file mode 100644 index 0000000000000000000000000000000000000000..01412ac646676c8102e51e3cc6ba9873c6168ec7 GIT binary patch literal 159724 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18.i b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18.i new file mode 100644 index 00000000..113fcac3 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18_out.e b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18_out.e new file mode 100644 index 0000000000000000000000000000000000000000..3ba605ba8428729094d16f4ecc3d5198cd3d4f4d GIT binary patch literal 105844 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 VhCXA^HyLxhF;@jSrXW}N{{XC6)iD47 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22.i b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22.i new file mode 100644 index 00000000..d3ed3f24 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22_out.e b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22_out.e new file mode 100644 index 0000000000000000000000000000000000000000..9c50016b41e99e67e9e64301f72119cca83bd798 GIT binary patch literal 159724 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%0D(;z4QK$gU^mmrQlP01zs{~NhPbJ~<+ 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 P8PPqzocg#C+doRn_yQ^z2 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 B>E8eV literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15.i b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15.i new file mode 100644 index 00000000..fdf63759 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15_out.e b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15_out.e new file mode 100644 index 0000000000000000000000000000000000000000..66e9e2b163c317d6baf1d2a32b25dbb52c4e01b2 GIT binary patch literal 159724 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 xQYL)S*1`_6u}t{Ic>V88Xw&=_3{{Y^yqx%2= literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19.i b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19.i new file mode 100644 index 00000000..83eea962 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19_out.e b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19_out.e new file mode 100644 index 0000000000000000000000000000000000000000..cfae6550f480486a8e45397ba1b2ee45f9e0609c GIT binary patch literal 105844 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 l=t_4;(^ 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23.i b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23.i new file mode 100644 index 00000000..fdf63759 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23_out.e b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23_out.e new file mode 100644 index 0000000000000000000000000000000000000000..b9a0ddeb8b06cea4546ae3f746a8f81b38f5778a GIT binary patch literal 159724 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4.i b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4.i new file mode 100644 index 00000000..8fe88ffa --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4_out.e b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4_out.e new file mode 100644 index 0000000000000000000000000000000000000000..dede9443bea0fa5cdfd39d07bd04d11920f3de6e GIT binary patch literal 105840 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≥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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/sweepreader_test.py b/dependencies/mooseherder/tests/sweepreader_test.py new file mode 100644 index 00000000..bcabf69c --- /dev/null +++ b/dependencies/mooseherder/tests/sweepreader_test.py @@ -0,0 +1,34 @@ +''' +============================================================================== +TEST: SweepReader + +Authors: Lloyd Fletcher +============================================================================== +''' +import pytest +from mooseherder.sweepreader import SweepReader +from mooseherder.directorymanager import DirectoryManager +import tests.herdchecker as hc + + +@pytest.fixture +def dir_manager() -> DirectoryManager: + this_manager = DirectoryManager(hc.NUM_DIRS) + this_manager.set_base_dir(hc.OUTPUT_PATH) + return this_manager + + +@pytest.fixture +def sweep_reader(dir_manager) -> SweepReader: + return SweepReader(dir_manager,hc.NUM_PARA) + + +def test_init_sweep_reader(sweep_reader: SweepReader) -> None: + assert sweep_reader is not None + assert sweep_reader._dir_manager is not None + assert sweep_reader._n_para_read == hc.NUM_PARA + assert len(sweep_reader._output_files) == 0 + + +def test_read_output_key(sweep_reader: SweepReader) -> None: + pass diff --git a/doc/config.yml b/doc/config.yml deleted file mode 100644 index 5567d883..00000000 --- a/doc/config.yml +++ /dev/null @@ -1,20 +0,0 @@ -Content: - Icarus: - root_dir: ${ROOT_DIR}/doc/content - moose: - root_dir: ${MOOSE_DIR}/framework/doc/content - content: - - js/* - - css/* - - contrib/** - - media/** -Renderer: - type: MooseDocs.base.MaterializeRenderer -Extensions: - MooseDocs.extensions.navigation: - name: Icarus - MooseDocs.extensions.appsyntax: - executable: ${ROOT_DIR} - remove: !include ${MOOSE_DIR}/framework/doc/remove.yml - includes: - - include diff --git a/doc/content/index.md b/doc/content/index.md deleted file mode 100644 index 312c9506..00000000 --- a/doc/content/index.md +++ /dev/null @@ -1,3 +0,0 @@ -!config navigation breadcrumbs=False scrollspy=False - -# IcarusApp diff --git a/doc/moosedocs.py b/doc/moosedocs.py deleted file mode 100755 index ce1a0ad7..00000000 --- a/doc/moosedocs.py +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env python3 -#* This file is part of the MOOSE framework -#* https://www.mooseframework.org -#* -#* All rights reserved, see COPYRIGHT for full restrictions -#* https://github.com/idaholab/moose/blob/master/COPYRIGHT -#* -#* Licensed under LGPL 2.1, please see LICENSE for details -#* https://www.gnu.org/licenses/lgpl-2.1.html - -import sys -import os - -# Locate MOOSE directory -MOOSE_DIR = os.getenv('MOOSE_DIR', os.path.abspath(os.path.join(os.path.dirname(__name__), '..', 'moose'))) -if not os.path.exists(MOOSE_DIR): - MOOSE_DIR = os.path.abspath(os.path.join(os.path.dirname(__name__), '..', '..', 'moose')) -if not os.path.exists(MOOSE_DIR): - raise Exception('Failed to locate MOOSE, specify the MOOSE_DIR environment variable.') -os.environ['MOOSE_DIR'] = MOOSE_DIR - -# Append MOOSE python directory -MOOSE_PYTHON_DIR = os.path.join(MOOSE_DIR, 'python') -if MOOSE_PYTHON_DIR not in sys.path: - sys.path.append(MOOSE_PYTHON_DIR) - -from MooseDocs import main -if __name__ == '__main__': - sys.exit(main.run()) diff --git a/doc/sqa_reports.yml b/doc/sqa_reports.yml deleted file mode 100644 index 74ab6632..00000000 --- a/doc/sqa_reports.yml +++ /dev/null @@ -1,6 +0,0 @@ -Applications: - icarus: - app_types: - - IcarusApp - content_directory: ${ROOT_DIR}/doc/content - log_default: WARNING diff --git a/examples/ex1_2d_binary.py b/examples/ex1_2d_binary.py index b15d577a..c3357168 100644 --- a/examples/ex1_2d_binary.py +++ b/examples/ex1_2d_binary.py @@ -1,3 +1,4 @@ +from pathlib import Path from icarus import (DatasetGenerator, ModelBuilder, MooseSetup, @@ -15,40 +16,80 @@ def main(): ValueError If the parameter submission window is closed (instead of submitting parameter data) """ - input_file_path, output_file_path = UserInterface.accept_file(default_input_path="scripts/moose/plate_2d_thermal.i", - default_output_path="examples/example_outputs/ex1_outputs/") + # Change to required input and output paths + input_file_path = "scripts/moose/plate_2d_thermal.i" + output_file_path = "examples/example_outputs/ex1_outputs/" - if input_file_path == None or output_file_path == None: - raise FileNotFoundError(f"Specified input and/or output file path not found. Exiting.") + # Ensures both paths exist and that the input file path ends with an input file name + if not Path(input_file_path).exists() or not Path(output_file_path).exists(): + if input_file_path[-2:] != ".i": + raise FileNotFoundError(f"Specified input and/or output file path not found.") - moose_runner, moose_modifier = MooseSetup(input_file_path).setup_moose_runner() + # Setup MOOSE aspects of Icarus - change n_tasks and n_threads to desired parallelisation options + n_tasks, n_threads = 1, 2 + moose_setup = MooseSetup(input_file_path, n_tasks=n_tasks, n_threads=n_threads) + moose_runner, moose_modifier = moose_setup.setup_moose_runner() + # Accesses the available parameters found_vars = moose_modifier.get_vars() + + # Ensures there are some available parameters if len(found_vars) == 0: raise ValueError(f"No parameters found in input file. Check input file and try again.") else: + # Accepts user-defined parameters for perturbation and validation num_validation_values, parameters = UserInterface().accept_parameters(found_vars) - if parameters == None: + # Ensures acceptable parameters + if parameters == None or len(parameters) == 0: raise ValueError(f"Unacceptable parameters. Exiting.") + + # Initialises dataset generator - change num_para_runs to desired parallelisation option + num_para_runs = 2 + dataset_generator = DatasetGenerator(moose_runner, moose_modifier, parameters, num_para_runs=num_para_runs) - DatasetGenerator(moose_runner, moose_modifier, parameters).generate_datasets(output_file_path, num_validation_values) - - ModelBuilder().model(output_file_path) + # Generates perturbed, validation and ground truths datasets + # Change ground_truths_per_dataset to desired value - determines ratio of invalid:valid datasets in training data + ground_truths_per_dataset = 3 + dataset_generator.generate_datasets(output_file_path, num_validation_values, ground_truths_per_dataset=ground_truths_per_dataset) + # Sets up and runs the chosen model - change: + # framework to desired framework: + # rf = Random Forest + # svm = Support Vector Machine + # dt = Decision Tree + # field_key to desired analysis field (temperature, displacement, or strain) + # sensors to desired sensor arrangement (x_sensors, y_sensors, z_sensors) + # dims to number of spatial dimensions being used + # errors to True if the sensors should include basic errors + # multi to True if it should use a multi-classifier rather than binary + # this allows the model to distinguish between perturbations to different + # classes of invalid parameters (geometry, BCs, material properties) rather + # than just valid and invalid results + # delete_datasets to True if the unlabelled data should be deleted + model = ModelBuilder(output_file_path, + framework="rf", + field_key="temperature", + sensors=(3,2,1), + dims=2, + errors=False, + multi=True) + classifier = model.run_model(delete_datasets=True) + # Allows the model to be saved if desired + save = False + if save: + model.save_model(classifier) + if __name__ == "__main__": main() # Next steps: # Test suite using PyTest (develop as you go) - # Improve binary classifier by: - # Allow choice of modelling frameworks - modelling class - # Incorporating errors - labelled_dataset function - # Accepting multiple simultaneous perturbations - generate datasets class - # Allowing user to define number of sensors + positions - labelled dataset function # Expand to multi-classifier - # Examples + tutorials - # Packaging for pip distribution - # Stretch goal: more complex input files, e.g. 3D monoblock \ No newline at end of file + # Fully configureable example + # Stretch goals: + # More complex input files, e.g. 3D monoblock + # Accepting multiple simultaneous perturbations - generate datasets class + # Allowing user to define sensor positions - labelled dataset function \ No newline at end of file diff --git a/examples/ex1_2d_binary_no_class.py b/examples/ex1_2d_binary_no_class.py deleted file mode 100644 index 17c024e7..00000000 --- a/examples/ex1_2d_binary_no_class.py +++ /dev/null @@ -1,616 +0,0 @@ -from pathlib import Path -import random -import math -import numpy as np -import pyvale -from sklearn.ensemble import RandomForestClassifier -from sklearn.metrics import accuracy_score -from tkinter import * -import joblib -import shutil -from mooseherder import (MooseHerd, - MooseRunner, - MooseConfig, - InputModifier, - DirectoryManager, - SweepReader, - ExodusReader) - - -NUM_PARA_RUNS = 2 -USER_DIR = Path.home() - - -def setup_moose_runner(input_file_path): - """setup_moose_runner: Constructor for MOOSE runner taking a MooseConfig object - that contains the paths to the main MOOSE install, the MOOSE app and - the MOOSE app name. Sets parallelisation options to 1 task - and 2 threads. Sets environment variables required for MPI setup. - - Parameters - ---------- - input_file_path : str - Contains the path to the input file. - - Returns - ------- - moose_runner : MooseRunner - Constructed MOOSE runner used to run the input file with modified variables - moose_modifier : InputModifier - Used to extract and modify the variables in the input file. - Specifies the comment character. Variable definition blocks should begin - #comment character#* and end #comment character#**, e.g. #_* and #** for - moose. - """ - moose_input = Path(str(input_file_path)) - moose_modifier = InputModifier(moose_input, '#', '') - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks=1, n_threads=2, redirect_out=False) - return moose_runner, moose_modifier - - -def setup_directory_manager(base_dir, sub_dir_name, n_dirs = 1): - """setup_directory_manager: sets up directory manager to manage directories for running - simulations in parallel with the mooseherd. Clears existing directories and creates - specified new ones with given names - - Parameters - ---------- - base_dir : Path - Sets the base directory to create sub-directories for running the simulations. - The base directory must exist. - sub_dir_name : str - String to be used at the start of the created sub-directores. - Default on creation is 'sim-workdir'. Populates the list of run directories using - the new sub directory name. - n_dirs : int, optional - Number of directories to be created., by default 1 - - Returns - ------- - dir_manager : DirectoryManager - Used to control how many and which directories are used to run the simulations. - """ - dir_manager = DirectoryManager(n_dirs=n_dirs) - dir_manager.set_base_dir(base_dir) - dir_manager.set_sub_dir_name(sub_dir_name) - dir_manager.clear_dirs() - dir_manager.create_dirs() - return dir_manager - - -def run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_para=1, keep_flag=False): - """run_herd: used to run parametric sweeps of simulation chains in - parallel with configurable parallelisation options. Takes a list of - SimRunner objects and a corresponding list of InputModifiers to insert the - variables into the input scripts for the SimRunners. Will first call all InputModifiers - in the specified order and then call run on all the SimRunners in order. Uses the - DirectoryManager class to log the directories in which each parallel worker is - creating input files and running simulations. Uses the SweepReader class to read the - output from one or more calls to mooseherd.run_para(). - Has configurable options for reading in the variable sweep in parallel. - - Parameters - ---------- - moose_runner : MooseRunner - Constructed MOOSE runner used to run the input file with modified variables. - moose_modifier : InputModifier - Used to extract and modify the variables in the input file. Specifies the comment - character. Variable definition blocks should begin #comment character#* and end - #comment character#**, e.g. #_* and #** for moose. - dir_manager : DirectoryManager - Used to control how many and which directories are used to run the simulations. - moose_vars : list[InputModifier] - Used to extract and modify the variables in the input file. - Specifies the comment character. Variable definition blocks should begin - #comment character#* and end #comment character#**, e.g. #_* and #** for - moose. - n_para : int, optional - Sets the number of simulation chains to run in parallel. , by default 1 - keep_flag : bool, optional - Flag used for allowing multiple calls to run to keep everything or to - overwrite each time, by default False - overwrite inputs and outputs with multiple calls - """ - - herd = MooseHerd([moose_runner], [moose_modifier], dir_manager) - herd.set_num_para_sims(n_para=n_para) - herd.set_keep_flag(keep_flag) - for _ in range(NUM_PARA_RUNS): - herd.run_para(moose_vars) - - sweep_reader = SweepReader(dir_manager, num_para_read=4) - sweep_reader.read_all_output_keys() - read_all = sweep_reader.read_results_para() - - -def generate_ground_truths(moose_runner, moose_modifier, base_dir, num_ground_truths): - """generate_ground_truths: used to generate the ground truth by running the input file - with no modifications, and save the results to the required base_dir under the - sub_dir_name "ground_truth". Creates 1 ground_truth dataset for every 5 perturbed - datasets - - Parameters - ---------- - moose_runner : MooseRunner - Constructed MOOSE runner used to run the input file with modified variables. - moose_modifier : InputModifier - Used to extract and modify the variables in the input file. Specifies the comment - character. Variable definition blocks should begin #comment character#* and end - #comment character#**, e.g. #_* and #** for moose. - base_dir : Path - Contains the base directory to save ground_truth sub-directory for running the - simulations. - num_ground_truth : list[float] - Number of ground_truth datasets to generate. - """ - moose_vars = list([]) - dir_manager = setup_directory_manager(base_dir, 'ground_truth', num_ground_truths) - for i in range(num_ground_truths): - moose_vars.append([{}]) - run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, num_ground_truths) - - -def generate_dataset(moose_runner, moose_modifier, base_dir, param_names, param_values): - """generate_dataset: used to generate the perturbed and validation datasets by running the - input file with modifications to specified parameter(s), and save the results to the - required base_dir under a sub_dir_named for the perturbed parameter. - - Parameters - ---------- - moose_runner : MooseRunner - Constructed MOOSE runner used to run the input file with modified variables. - moose_modifier : InputModifier - Used to extract and modify the variables in the input file. Specifies the comment - character. Variable definition blocks should begin #comment character#* and end - #comment character#**, e.g. #_* and #** for moose. - base_dir : Path - Contains the base directory to save perturbed_param sub-directory for running the - simulations. - param_names : list[string] - List of the names of the perturbed parameters. - param_values : list[float] - List of values for the currently selected parameter(s). - """ - moose_vars = list([]) - n_dirs = 1 - for i in range(len(param_names)): - n_dirs *= len(param_values[i]) - dir_manager = setup_directory_manager(base_dir, str(param_names[0]), n_dirs) - for param in param_values[0]: - moose_vars.append([{str(param_names[0]): param}]) - run_herd(moose_runner, moose_modifier, dir_manager, moose_vars, n_dirs) - - -def generate_validation_values(param_values, num_validation_values=2): - """generate_validation_values: used to generate a specified number of validation values - for the selected parameter, so that the model can be tested to see if it can correctly - determine when the parameter has been perturbed to a value that was not present in the - training dataset. - - Parameters - ---------- - param_values : list[float] - List of training values for the currently selected parameter(s). - num_validation_values : int, optional - Number of validation values to generate for each parameter, by default 2 - - Returns - ------- - validation_values : list[list[float]] - List containing a list(s) of validation values for each parameter, to be used to - determine the value of the InputModifier for that parameter for the run to be saved - under validation_datasets/param_name - """ - validation_values = [[]] - for i in range(num_validation_values): - distinct_val = False - while not distinct_val: - validation_value = random.uniform(min([val for sublist in param_values for val in sublist]), - max([val for sublist in param_values for val in sublist])) - if validation_value not in param_values and validation_value not in validation_values: - distinct_val = True - validation_values[0].append(validation_value) - - return validation_values - - -def generate_datasets(output_file_path, parameters, num_validation_values, moose_runner, moose_modifier): - """generate_datasets: used to generate the unlabelled ground truth, perturbed, and - validation datasets by running the required functions with the necessary parameter - names and values, and save paths. - - Parameters - ---------- - output_file_path : str - Contains the path to the folder where the datasets and model(s) will be stored. - parameters : dict{str : list[float]} - Contains the names of the parameters to be perturbed and the values they should take - for each run. - moose_runner : MooseRunner - Constructed MOOSE runner used to run the input file with modified variables. - moose_modifier : InputModifier - Used to extract and modify the variables in the input file. Specifies the comment - character. Variable definition blocks should begin #comment character#* and end - #comment character#**, e.g. #_* and #** for moose. - """ - param_names = [[key] for key in parameters.keys()] - param_values = [[value] for value in parameters.values()] - - perturbed_path, perturbed_vals = Path(str(output_file_path+"perturbed_datasets/")), None - validation_path, validation_vals = Path(str(output_file_path+"validation_datasets/")), None - paths = {perturbed_path : perturbed_vals, validation_path: validation_vals} - - for i in range(len(param_names)): - validation_values = generate_validation_values(param_values[i], num_validation_values[i]) - paths[perturbed_path] = param_values[i] - paths[validation_path] = validation_values - for path, values in paths.items(): - generate_dataset(moose_runner, moose_modifier, path, param_names[i], values) - - for path in paths.keys(): - num_datasets = sum(1 for d in path.iterdir() if d.is_dir()) - num_ground_truths = math.ceil(num_datasets/3) - generate_ground_truths(moose_runner, moose_modifier, path, num_ground_truths) - -def accept_file(): - """accept_file: used to allow user to input path to input file and input file name - via a tkinter user interface - - Returns - ------- - input_file_path : str - String containing the path to the input file inputted to the user interface. - output_file_path : str - String containing the path for outputs inputted to the user interface. - """ - - def submit_file(): - """submit_file: specifies what should happen when the submit button is pressed. - The values within the Entry boxes for input and output file paths should be - saved to their corresponding variables, and the tkinter window should close. - - Raises - ---------- - FileNotFoundError - If the file paths submitted aren't acceptable - """ - nonlocal input_file_path, output_file_path - - try: - input_file_path = str(input_file_path_entry.get()) - output_file_path = str(output_file_path_entry.get()) - - if not Path(input_file_path).exists() or not Path (output_file_path).exists(): - if input_file_path[-2:] != ".i": - raise FileNotFoundError(f"Specified input and/or output file path not found.") - - file_root.quit() - file_root.destroy() - except FileNotFoundError: - error_label.config(text="Specified input and/or output file path not found.", fg="red") - return - - input_file_path, output_file_path = None, None - - file_root = Tk() - - Label(file_root, text='Input file path:').grid(row=0) - Label(file_root, text='Output file path:').grid(row=1) - default_input_path = StringVar(value="scripts/moose/plate_2d_thermal.i") - input_file_path_entry = Entry(file_root, textvariable=default_input_path, width=30) - input_file_path_entry.grid(row=0, column=1) - default_output_path = StringVar(value="examples/example_outputs/ex1_outputs/") - output_file_path_entry = Entry(file_root, textvariable=default_output_path, width=30) - output_file_path_entry.grid(row=1, column=1) - - submit_button = Button(file_root, text="Submit", command=submit_file) - submit_button.grid(row=2, column=0, columnspan=2, pady=10) - - error_label = Label(file_root, text="", fg="red") - error_label.grid(row=3, column=0, columnspan=2) - - file_root.mainloop() - - return input_file_path, output_file_path - - -def accept_parameters(parameters): - """accept_parameters: used to allow user to select which parameters to perturb, and the range, - interval of perturbation values, and number of validation values to be used for each parameter. - - Parameters - ---------- - parameters : dict{str : float} - Dictionary of parameter names and their corresponding values in the default input file. - Used to allow users to select which parameters to modify, and show them the default - values so they don't include them again. - - Returns - ---------- - parameters : dict{str : list[float]} - Dictionary of parameter names and their corresponding list of values for perturbation. - """ - - def submit_parameters(): - """submit_parameter: specifies what should happen when the submit button is pressed. - The values within the Entry boxes for min_val, max_val and interval for the selected - parameters should be saved to their corresponding variables to allow creation of - param_values list, and the tkinter window should close. - - Raises - ---------- - ValueError - If the range or interval specified are invalid - Value Error - If there are fewer than 2 values for perturbation - Value Error - If there are fewer than 2 values for validation - """ - nonlocal parameters, num_val_values - parameters = {} - num_val_values = [] - - for row in rows: - if row['checkbox_var'].get(): # Check if checkbox is ticked - param_name = row['param_name'] - try: - default_val = float(row['default_val']) - min_val = float(row['min_val'].get()) - max_val = float(row['max_val'].get()) - interval = float(row['interval'].get()) - num_validation_values = int(row['num_validation_values'].get()) - - if min_val >= max_val or interval <= 0: - raise ValueError("Invalid range or interval") - - param_values = [] - current_val = min_val - while current_val <= max_val: - if current_val != default_val: - param_values.append(current_val) - current_val += interval - - if len(param_values) < 2: - raise ValueError("Insufficient perturbation values") - - if num_validation_values < 2: - raise ValueError("Insufficient validation values") - - num_val_values.append(num_validation_values) - parameters[param_name] = param_values - - except ValueError as e: - error_label.config(text=f"Error: {str(e)}", fg="red") - return # Stop execution if an error occurs - - if len(parameters) == 0: - error_label.config(text="No parameters submitted", fg="red") - return - - param_root.destroy() - - param_root = Tk() - - table_frame = Frame(param_root) - table_frame.grid(row=2, column=0, columnspan=2, padx=10, pady=10) - - headers = ["Select", "Param Name", "Default Value", "Min Value", "Max Value", "Interval", "No. Validation Values"] - for col, header in enumerate(headers): - Label(table_frame, text=header).grid(row=0, column=col, padx=5, pady=5) - - params = [] - for parameter_name, parameter_value in parameters.items(): - try: - if float(parameter_value) <= 10: - x = parameter_value - elif float(parameter_value) > 10 and parameter_value < 100: - x = 10 - else: - x = parameter_value/2 - params.append({"param_name": parameter_name,"default_val": parameter_value,"min_val": parameter_value+x, - "max_val": parameter_value+5*x,"interval": x,"num_validation_values":3}) - except ValueError: - params.append({"param_name": parameter_name,"default_val": parameter_value,"min_val": "", - "max_val": "","interval": "","num_validation_values":""}) - - rows = [] - for i, param in enumerate(params): - row = {} - - row['checkbox_var'] = BooleanVar(value=False) - - checkbox = Checkbutton(table_frame, variable=row['checkbox_var']) - checkbox.grid(row=i+1, column=0, padx=5, pady=5) - - Label(table_frame, text=param['param_name']).grid(row=i+1, column=1, padx=5, pady=5) - row['param_name'] = param['param_name'] - - Label(table_frame, text=param['default_val']).grid(row=i+1, column=2, padx=5, pady=5) - row['default_val'] = param['default_val'] - - row['min_val'] = StringVar(value=param['min_val']) - min_val_entry = Entry(table_frame, textvariable=row['min_val'], width=10) - min_val_entry.grid(row=i+1, column=3, padx=5, pady=5) - - row['max_val'] = StringVar(value=param['max_val']) - max_val_entry = Entry(table_frame, textvariable=row['max_val'], width=10) - max_val_entry.grid(row=i+1, column=4, padx=5, pady=5) - - row['interval'] = StringVar(value=param['interval']) - interval_entry = Entry(table_frame, textvariable=row['interval'], width=10) - interval_entry.grid(row=i+1, column=5, padx=5, pady=5) - - row['num_validation_values'] = StringVar(value=param['num_validation_values']) - num_validation_values_entry = Entry(table_frame, textvariable=row['num_validation_values'], width=10) - num_validation_values_entry.grid(row=i+1, column=6, padx=5, pady=5) - - rows.append(row) - - parameters = None - num_val_values = None - - submit_button = Button(param_root, text="Submit", command=submit_parameters) - submit_button.grid(row=3, column=0, columnspan=2, pady=10) - - error_label = Label(param_root, text="", fg="red") - error_label.grid(row=4, column=0, columnspan=2) - - param_root.mainloop() - - return num_val_values, parameters - - -def generate_labelled_dataset(folder_path): - """generate_labelled_dataset: used to create a dataset by extracting values from the outputs - of each run, using ExodusReader class to read the data and PyVale to create an array - of sensors used to extract measurements of the required field at given points. - Assigns a label to each dataset depending on which (if any) parameter has been perturbed. - - Parameters - ---------- - folder_path : Path - Specifies the location of the unlabelled datasets from which the information for the - labelled dataset should be extracted. Should be the base directory - i.e. either - perturbed_datasets/ or validation_datasets/. - - Returns - ------- - labelled_dataset: np.array[np.array[list[float], int]] - 2D array containing the list of extracted measurements for each dataset and its - corresponding label. To be used to train/validate the model. - """ - sensx, sensy, sensz = 3, 2, 1 - labelled_dataset_cols = (sensx*sensy*sensz)+1 - labelled_dataset = np.empty((0, labelled_dataset_cols)) - - for file_path in folder_path.rglob('*.e'): - if "ground_truth" in str(file_path): - label = 0 - else: - label = 1 - - sim_data = ExodusReader(file_path).read_all_sim_data() - field_key = "temperature" - - sim_data.coords = sim_data.coords*1000.0 - - xmax = np.max(sim_data.coords[:, 0]) - ymax = np.max(sim_data.coords[:, 1]) - - n_sens = (sensx,sensy,sensz) - x_lims = (0.0,xmax) - y_lims = (0.0,ymax) - z_lims = (0.0,0.0) - sens_pos = pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) - sens_data = pyvale.SensorData(positions=sens_pos) - - tc_array = pyvale.SensorArrayFactory \ - .thermocouples_no_errs(sim_data, - sens_data, - field_key, - spat_dims=2) - - measurements = tc_array.get_measurements()[:, 0, 1] - - measurements = np.append(measurements, label) - labelled_dataset = np.vstack([labelled_dataset, measurements]) - - return labelled_dataset - - -def model(output_file_path): - """model: used to train the Random Forest model on the training datasets, use the model - to make predictions for the validation dataset, and verify the accuracy of the model. - Outputs the pertinent information to the user, and then allows them to decide whether - or not to save the model as a .pkl file. - - Parameters - ---------- - output_file_path : str - Contains the path to the folder where the datasets and model(s) will be stored. - """ - perturbed_path, validation_path = Path(output_file_path+"perturbed_datasets/"), Path(output_file_path+"validation_datasets/") - training_dataset = generate_labelled_dataset(perturbed_path) - validation_dataset = generate_labelled_dataset(validation_path) - - paths = {perturbed_path: training_dataset, validation_path: validation_dataset} - for path in paths: - for folder in path.iterdir(): - if folder.is_dir(): - shutil.rmtree(folder) - dataset = paths[path] - np.savetxt(path/"labelled_dataset.txt", dataset, fmt="%d", delimiter=",") - - X_train, y_train, X_val, y_val = training_dataset[:, :-1], training_dataset[:, -1], validation_dataset[:, :-1], validation_dataset[:, -1] - - rf_classifier = RandomForestClassifier(n_estimators=100, random_state=42) - rf_classifier.fit(X_train, y_train) - - y_pred = rf_classifier.predict(X_val) - - for i in range(len(X_val)): - print(f"Row {i + 1}: Actual Label = {y_val[i]}, Predicted Label = {y_pred[i]}") - - val_accuracy = accuracy_score(y_val, y_pred) - print(f"Random Forest Validation Accuracy: {val_accuracy * 100:.2f}%") - - save_model = input("Save model? (Y/N) ") - while save_model.lower() not in ["y", "n"]: - print("Invalid input") - save_model = input("Save model? (Y/N) ") - - if save_model.lower() == "y": - joblib.dump(rf_classifier, str(output_file_path)+'model.pkl') - - -def main(): - """main: runs all of the other functions. - - Raises - ------ - FileNotFoundError - If the file submission window is closed (instead of submitting file paths) - ValueError - If the input file is improperly formatted and no parameters are found as expected - ValueError - If the parameter submission window is closed (instead of submitting parameter data) - """ - input_file_path, output_file_path = accept_file() - - if input_file_path == None or output_file_path == None: - raise FileNotFoundError(f"Specified input and/or output file path not found. Exiting.") - - moose_runner, moose_modifier = setup_moose_runner(input_file_path) - - found_vars = moose_modifier.get_vars() - if len(found_vars) == 0: - raise ValueError(f"No parameters found in input file. Check input file and try again.") - else: - num_validation_values, parameters = accept_parameters(found_vars) - - if parameters == None: - raise ValueError(f"Unacceptable parameters. Exiting.") - - generate_datasets(output_file_path, parameters, num_validation_values, moose_runner, moose_modifier) - - model(output_file_path) - - -if __name__ == "__main__": - main() - - -# Next steps: - # Refactor to OOP - # Test suite using PyTest (develop as you go) - # Improve binary classifier by: - # Allow choice of modelling frameworks - modelling class - # Incorporating errors - labelled_dataset function - # Accepting multiple simultaneous perturbations - generate datasets class - # Allowing user to define number of sensors + positions - labelled dataset function - # Expand to multi-classifier - # Examples + tutorials - # Packaging for pip distribution - # Stretch goal: more complex input files, e.g. 3D monoblock - \ No newline at end of file diff --git a/include/base/IcarusApp.h b/include/base/IcarusApp.h deleted file mode 100644 index e1d9f3d5..00000000 --- a/include/base/IcarusApp.h +++ /dev/null @@ -1,24 +0,0 @@ -//* This file is part of the MOOSE framework -//* https://www.mooseframework.org -//* -//* All rights reserved, see COPYRIGHT for full restrictions -//* https://github.com/idaholab/moose/blob/master/COPYRIGHT -//* -//* Licensed under LGPL 2.1, please see LICENSE for details -//* https://www.gnu.org/licenses/lgpl-2.1.html - -#pragma once - -#include "MooseApp.h" - -class IcarusApp : public MooseApp -{ -public: - static InputParameters validParams(); - - IcarusApp(InputParameters parameters); - virtual ~IcarusApp(); - - static void registerApps(); - static void registerAll(Factory & f, ActionFactory & af, Syntax & s); -}; diff --git a/moose-config.json b/moose-config.json index 5aa6fcf4..15d8faf6 100644 --- a/moose-config.json +++ b/moose-config.json @@ -1,5 +1,5 @@ { "main_path": "/Users/vc6725/projects/moose", - "app_path": "/Users/vc6725/projects/icarus", - "app_name": "icarus-opt" + "app_path": "/Users/vc6725/projects/proteus", + "app_name": "proteus-opt" } \ No newline at end of file diff --git a/run_tests b/run_tests deleted file mode 100755 index 79f4fc56..00000000 --- a/run_tests +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env python3 -import sys, os - -MOOSE_DIR = os.path.abspath(os.environ.get('MOOSE_DIR', os.path.join(os.path.dirname(__file__), '..', 'moose'))) -if os.path.exists(os.path.abspath(os.path.join('moose', 'framework', 'Makefile'))): - MOOSE_DIR = os.path.abspath('moose') -MOOSE_DIR = os.environ.get('MOOSE_DIR', MOOSE_DIR) - -sys.path.append(os.path.join(MOOSE_DIR, 'python')) - -from TestHarness import TestHarness -TestHarness.buildAndRun(sys.argv, 'icarus', MOOSE_DIR) diff --git a/scripts/install-format-hook.sh b/scripts/install-format-hook.sh deleted file mode 100755 index 44a2037a..00000000 --- a/scripts/install-format-hook.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -REPO_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/../" -hookfile="$REPO_DIR/.git/hooks/pre-commit" - -if [[ -f $hookfile ]]; then - echo "'$hookfile' already exists - aborting" 1>&2 - exit 1 -fi - -echo '#!/bin/bash -patch=$(git clang-format --diff -- $(git diff --staged --name-only -- src include tests unit)) -if [[ "$patch" =~ "no modified files to format" || "$patch" =~ "clang-format did not modify any files" ]]; then - echo "" > /dev/null -else - echo "" - echo "Your code is not properly formatted." >&2 - echo "Run 'git clang-format' to resolve the following issues:" >&2 - echo "" - echo "$patch" - exit 1 -fi -' > $hookfile - -chmod a+x $hookfile - diff --git a/src/icarus.egg-info/PKG-INFO b/src/icarus.egg-info/PKG-INFO index b84bc1d8..65e3943f 100644 --- a/src/icarus.egg-info/PKG-INFO +++ b/src/icarus.egg-info/PKG-INFO @@ -1,4 +1,4 @@ -Metadata-Version: 2.2 +Metadata-Version: 2.4 Name: icarus Version: 0.1.0 Summary: Machine learning for fusion simulation validation @@ -515,10 +515,50 @@ Requires-Python: >=3.11 Description-Content-Type: text/markdown License-File: LICENSE Requires-Dist: numpy>=1.26.0 +Dynamic: license-file -Icarus -===== +# Icarus -Fork "Icarus" to create a new MOOSE-based application. +A set of machine learning tools that engineers can use to assess the agreement between an experiment and simulation; that is, to validate the simulation with experimental data and provide the engineer with a probable reason for any mismatches to allow further investigation and diagnosis. + +Works by generating a valid and invalid simulation results from a given MOOSE input file and training a machine learning classifier to recognise when a result is invalid and what the most probable issue is. Invalid results are generated by running the simulation with user-defined perturbations of parameters from the input file. The user can also control the parallelisation options, the sensors used to extract data from the simulation results, the modelling framework used, the ratio of valid:invalid datasets present in the training and validation data, and more. + +## Installation +### Standard & Developer Installation + +Clone `icarus` to your local system along with submodules using + +``` +git clone --recurse-submodules git@github.com:aurora-multiphysics/icarus.git +``` + +`cd` to the root directory of `icarus` and run the following commmand: + +``` +pip install . +pip install ./dependencies/pyvale +pip install ./dependencies/mooseherder +``` + +To create an editable/developer installation of `icarus`, `pyvale` and `mooseherder` - follow the instructions for a standard installation but run: + +``` +pip install -e . +pip install -e ./dependencies/pyvale +pip install -e ./dependencies/mooseherder +``` + +### MOOSE App + +`icarus` has been developed and tested using the `proteus` MOOSE app which can be found here: https://github.com/aurora-multiphysics/proteus. Follow the build instructions found on this page to install `proteus`. + +## Getting Started + +The examples folder shows how to use `icarus` for different input files and with different levels of user control. Make sure to include a moose_config.json file wherever you run it, and change the values contained to match your system, and ensure that your project space has an folder for the outputs which is correctly structured (ie contains a folder called perturbed_datasets and a folder called validation_datasets). + +## Contributors + +- Isaac Magee, UK Atomic Energy Authority, (iomags2211) +- Lloyd Fletcher, UK Atomic Energy Authority, (TheScepticalRabbit) +- Luke Humphrey, UK Atomic Energy Authority, (lukethehuman) -For more information see: [https://mooseframework.org/getting_started/new_users.html#create-an-app](https://mooseframework.org/getting_started/new_users.html#create-an-app) diff --git a/src/icarus/datasetgenerator.py b/src/icarus/datasetgenerator.py index 60957b60..9c2b04f7 100644 --- a/src/icarus/datasetgenerator.py +++ b/src/icarus/datasetgenerator.py @@ -9,73 +9,84 @@ SweepReader) class DatasetGenerator: - def __init__(self, moose_runner, moose_modifier, parameters, num_para_runs=2): + """Used to generate the unlabelled ground truth, perturbed, and + validation datasets by running the required functions with the necessary parameter + names and values, and save paths. + + NB: To run the input file, mooseherder requires that the moose_vars be structured as + [[{param_name: [param_values]}], [{param_name: param_values}], ...] for each parameter. + """ + def __init__(self, moose_runner: MooseRunner, moose_modifier: InputModifier, + parameters: dict[str, list], num_para_runs: int=2) -> None: + """__init__ + + Parameters + ---------- + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. + Specifies the comment character. Variable definition blocks should begin + #comment character#* and end #comment character#**, e.g. #_* and #** for + moose. + parameters : dict[str, list] + Dictionary containing the name of the parameter and the list of values for + that parameter to take for each simulation to be run. + num_para_runs : int, optional + Number of parallel runs for running the simulations, by default 2. + """ self.moose_runner = moose_runner self.moose_modifier = moose_modifier - self.parameters = parameters - self.param_names = [[key] for key in parameters.keys()] - self.param_values = [[value] for value in parameters.values()] self.num_para_runs = num_para_runs + self.parameters = parameters + self.param_names = [key for key in parameters.keys()] + self.param_classes = [value[0] for value in parameters.values()] + self.param_values = [value[1] for value in parameters.values()] def generate_ground_truths(self, base_dir: Path, num_ground_truths: list[int]) -> None: """generate_ground_truths: used to generate the ground truth by running the input file with no modifications, and save the results to the required base_dir under the - sub_dir_name "ground_truth". Creates 1 ground_truth dataset for every 3 perturbed - datasets + sub_dir_name "ground_truth". Creates a specified number of ground_truth datasets Parameters ---------- - moose_runner : MooseRunner - Constructed MOOSE runner used to run the input file with modified variables. - moose_modifier : InputModifier - Used to extract and modify the variables in the input file. Specifies the comment - character. Variable definition blocks should begin #comment character#* and end - #comment character#**, e.g. #_* and #** for moose. base_dir : Path Contains the base directory to save ground_truth sub-directory for running the simulations. - num_ground_truth : list[int] + num_ground_truths : list[int] Number of ground_truth datasets to generate. """ - moose_vars = list([]) dir_manager = MooseSetup.setup_directory_manager(base_dir, 'ground_truth', num_ground_truths) - for i in range(num_ground_truths): - moose_vars.append([{}]) + moose_vars = [[{}]] * num_ground_truths self.run_herd(dir_manager, moose_vars, num_ground_truths) - def generate_dataset(self, base_dir: Path, param_names, param_values) -> None: + def generate_dataset(self, base_dir: Path, param_name: str, param_class: str, param_values: list[float]) -> None: """generate_dataset: used to generate the perturbed and validation datasets by running the - input file with modifications to specified parameter(s), and save the results to the + input file with modifications to specified parameter, and save the results to the required base_dir under a sub_dir_named for the perturbed parameter. Parameters ---------- - moose_runner : MooseRunner - Constructed MOOSE runner used to run the input file with modified variables. - moose_modifier : InputModifier - Used to extract and modify the variables in the input file. Specifies the comment - character. Variable definition blocks should begin #comment character#* and end - #comment character#**, e.g. #_* and #** for moose. base_dir : Path Contains the base directory to save perturbed_param sub-directory for running the simulations. - param_names : list[string] - List of the names of the perturbed parameters. + param_name : str + The name of the perturbed parameter. + param_class : str + The class of the perturbed parameter (geometry, BC or material property). param_values : list[float] - List of values for the currently selected parameter(s). + List of values for the currently selected parameter. """ - moose_vars = list([]) - n_dirs = 1 - for i in range(len(param_names)): - n_dirs *= len(param_values[i]) - dir_manager = MooseSetup.setup_directory_manager(base_dir, str(param_names[0]), n_dirs) - for param in param_values[0]: - moose_vars.append([{str(param_names[0]): param}]) + moose_vars = [] + n_dirs = len(param_values) + dir_manager = MooseSetup.setup_directory_manager(base_dir, str(f"{param_class}_{param_name}"), n_dirs) + for param in param_values: + moose_vars.append([{str(param_name): param}]) self.run_herd(dir_manager, moose_vars, n_dirs) - def generate_validation_values(self, param_values, num_validation_values: int=2) -> list[list[float]]: + def generate_validation_values(self, param_values: list[float], num_validation_values: int=2) -> list[float]: """generate_validation_values: used to generate a specified number of validation values for the selected parameter, so that the model can be tested to see if it can correctly determine when the parameter has been perturbed to a value that was not present in the @@ -90,65 +101,57 @@ def generate_validation_values(self, param_values, num_validation_values: int=2) Returns ------- - validation_values : list[list[float]] + validation_values : list[float] List containing a list(s) of validation values for each parameter, to be used to determine the value of the InputModifier for that parameter for the run to be saved under validation_datasets/param_name """ - validation_values = [[]] - - flattened = [val for sublist in param_values for val in sublist] - min_val = min(flattened) - max_val = max(flattened) - for i in range(num_validation_values): - distinct_val = False - while not distinct_val: - validation_value = random.uniform(min_val, max_val) - if validation_value not in param_values and validation_value not in validation_values: - distinct_val = True - validation_values[0].append(validation_value) + validation_values = [] + + min_val = min(param_values) + max_val = max(param_values) + + while len(validation_values) < num_validation_values: + validation_value = random.uniform(min_val, max_val) + if validation_value not in param_values and validation_value not in validation_values: + validation_values.append(validation_value) return validation_values - def generate_datasets(self, output_file_path: str, num_validation_values: int) -> None: - """generate_datasets: used to generate the unlabelled ground truth, perturbed, and - validation datasets by running the required functions with the necessary parameter - names and values, and save paths. + def generate_datasets(self, output_file_path: str, num_validation_values: list[int], ground_truths_per_dataset: int) -> None: + """generate_datasets: convenience function to run all aspects of the DatasetGenerator class. Parameters ---------- output_file_path : str Contains the path to the folder where the datasets and model(s) will be stored. - parameters : dict{str : list[float]} - Contains the names of the parameters to be perturbed and the values they should take - for each run. - moose_runner : MooseRunner - Constructed MOOSE runner used to run the input file with modified variables. - moose_modifier : InputModifier - Used to extract and modify the variables in the input file. Specifies the comment - character. Variable definition blocks should begin #comment character#* and end - #comment character#**, e.g. #_* and #** for moose. + num_validation_values : list[int] + Contains a list of the number of validation datasets to generate for each parameter + ground_truth_per_dataset : int + Contains the number of ground truth datasets to include per perturbed dataset """ perturbed_path, perturbed_vals = Path(str(output_file_path+"perturbed_datasets/")), None validation_path, validation_vals = Path(str(output_file_path+"validation_datasets/")), None paths = {perturbed_path: perturbed_vals, validation_path: validation_vals} - for i in range(len(self.param_names)): - validation_values = self.generate_validation_values(self.param_values[i], num_validation_values[i]) - paths[perturbed_path] = self.param_values[i] + for name, param_class, values, n_valid in zip(self.param_names, self.param_classes, self.param_values, num_validation_values): + validation_values = self.generate_validation_values(values, n_valid) + + paths[perturbed_path] = values paths[validation_path] = validation_values - for path, values in paths.items(): - self.generate_dataset(path, self.param_names[i], values) + + for path, vals in paths.items(): + self.generate_dataset(path, name, param_class, vals) for path in paths.keys(): num_datasets = sum(1 for d in path.iterdir() if d.is_dir()) - num_ground_truths = math.ceil(num_datasets/3) + num_ground_truths = math.ceil(num_datasets/ground_truths_per_dataset) self.generate_ground_truths(path, num_ground_truths) def run_herd(self, dir_manager: DirectoryManager, - moose_vars: list[InputModifier], n_para: int=1, keep_flag: bool=False) -> None: + moose_vars: InputModifier, n_para: int=1, keep_flag: bool=False) -> None: """run_herd: used to run parametric sweeps of simulation chains in parallel with configurable parallelisation options. Takes a list of SimRunner objects and a corresponding list of InputModifiers to insert the @@ -157,19 +160,12 @@ def run_herd(self, dir_manager: DirectoryManager, DirectoryManager class to log the directories in which each parallel worker is creating input files and running simulations. Uses the SweepReader class to read the output from one or more calls to mooseherd.run_para(). - Has configurable options for reading in the variable sweep in parallel. Parameters ---------- - moose_runner : MooseRunner - Constructed MOOSE runner used to run the input file with modified variables. - moose_modifier : InputModifier - Used to extract and modify the variables in the input file. Specifies the comment - character. Variable definition blocks should begin #comment character#* and end - #comment character#**, e.g. #_* and #** for moose. dir_manager : DirectoryManager Used to control how many and which directories are used to run the simulations. - moose_vars : list[InputModifier] + moose_vars : InputModifier Used to extract and modify the variables in the input file. Specifies the comment character. Variable definition blocks should begin #comment character#* and end #comment character#**, e.g. #_* and #** for diff --git a/src/icarus/modelbuilder.py b/src/icarus/modelbuilder.py index edc85376..773df0b5 100644 --- a/src/icarus/modelbuilder.py +++ b/src/icarus/modelbuilder.py @@ -1,20 +1,115 @@ import numpy as np import pyvale +from pyvale import SensorArrayPoint from sklearn.ensemble import RandomForestClassifier +from sklearn.svm import SVC +from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score import joblib -from mooseherder import ExodusReader +from mooseherder import ExodusReader, SimData from pathlib import Path import shutil class ModelBuilder: - def __init__(self): - pass + """Used to create a sensor array, generate the labelled datasets the sensor array and the + simulation data, train the chosen model on the training datasets, use the model + to make predictions for the validation dataset, and verify the accuracy of the model. + Outputs the pertinent information to the user, and allows the user to save the model, + and to delete unlabelled datasets + """ + def __init__(self, output_file_path: str, framework: str, field_key: str="temperature", + sensors: list=[3,2,1], dims: int=2, errors: bool=False, multi: bool=False): + """__init__ + + Parameters + ---------- + output_file_path : str + Path to the location that all outputs should be saved. + framework : str + The type of ML model to use (RandomForest, SVM, etc.) + field_key : str, optional + The field being analysed in the experiment/simulation, by default "temperature" + sensors : list, optional + The number of sensors to in each dimension (x,y,z), by default [3,2,1] for a 2d + simulation. + dims : int, optional + The dimensionality of the problem, by default 2 + errors : bool, optional + Allows the user to determine whether or not the sensor array should incorporate errors, + by default False. + multi : bool, optional + Allows the user to specify whether to use a multi-classifier, by default + False (meaning use a binary classifier). + """ + self.output_file_path = output_file_path + self.framework = framework + self.field_key = field_key + self.sensors = sensors + self.dims = dims + self.errors = errors + self.multi = multi + self.labelled_dataset_cols = (sensors[0]*sensors[1]*sensors[2])+1 + + + def sensor_array(self, sim_data: SimData) -> SensorArrayPoint: + """sensor_array: used to generate the array of sensors used to generate the labelled + datasets required for training the model. + + Parameters + ---------- + sim_data : SimData + The unlabelled datasets. + + Returns + ------- + SensorArrayPoint + The desired sensor array used to extract the values of the chosen field at given points. + """ + sensx, sensy, sensz = self.sensors[0], self.sensors[1], self.sensors[2] + + sim_data.coords = sim_data.coords*1000.0 + + xmax = np.max(sim_data.coords[:, 0]) + xmin = np.min(sim_data.coords[:, 0]) + + ymax, ymin, zmax, zmin = 0.0, 0.0, 0.0, 0.0 + if self.dims > 1: + ymax = np.max(sim_data.coords[:, 1]) + ymin = np.min(sim_data.coords[:, 1]) + if self.dims > 2: + zmax = np.max(sim_data.coords[:, 2]) + zmin = np.min(sim_data.coords[:, 2]) + + n_sens = (sensx,sensy,sensz) + x_lims = (xmin,xmax) + y_lims = (ymin,ymax) + z_lims = (zmin,zmax) + sens_pos = pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) + sens_data = pyvale.SensorData(positions=sens_pos) + + field_key_map = { + "temperature": "thermocouples", + "displacement": "disp_sensors", + "strain": "strain_gauges" + } + + errors_map = { + True: "basic_errs", + False: "no_errs" + } + + func_name = f"{field_key_map[self.field_key]}_{errors_map[self.errors]}" + factory = pyvale.SensorArrayFactory + func = getattr(factory, func_name) + + sens_array = func(sim_data, sens_data, self.field_key, spat_dims=self.dims) + + return sens_array + def generate_labelled_dataset(self, folder_path: Path) -> list[list[list[float], int]]: """generate_labelled_dataset: used to create a dataset by extracting values from the outputs - of each run, using ExodusReader class to read the data and PyVale to create an array - of sensors used to extract measurements of the required field at given points. + of each run, using ExodusReader class to read the data. Assigns a label to each dataset depending on which (if any) parameter has been perturbed. Parameters @@ -30,60 +125,45 @@ def generate_labelled_dataset(self, folder_path: Path) -> list[list[list[float], 2D array containing the list of extracted measurements for each dataset and its corresponding label. To be used to train/validate the model. """ - sensx, sensy, sensz = 3, 2, 1 - labelled_dataset_cols = (sensx*sensy*sensz)+1 - labelled_dataset = np.empty((0, labelled_dataset_cols)) + labelled_dataset = np.empty((0, self.labelled_dataset_cols)) for file_path in folder_path.rglob('*.e'): if "ground_truth" in str(file_path): label = 0 else: - label = 1 + if self.multi: + labels = {"ground_truth": 0, "geom": 1, "bc": 2, "mat_prop": 3} + for param_class, class_label in labels.items(): + if param_class in str(file_path): + label = class_label + else: + label = 1 sim_data = ExodusReader(file_path).read_all_sim_data() - field_key = "temperature" - - sim_data.coords = sim_data.coords*1000.0 - - xmax = np.max(sim_data.coords[:, 0]) - ymax = np.max(sim_data.coords[:, 1]) - - n_sens = (sensx,sensy,sensz) - x_lims = (0.0,xmax) - y_lims = (0.0,ymax) - z_lims = (0.0,0.0) - sens_pos = pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) - sens_data = pyvale.SensorData(positions=sens_pos) - - tc_array = pyvale.SensorArrayFactory \ - .thermocouples_no_errs(sim_data, - sens_data, - field_key, - spat_dims=2) - - measurements = tc_array.get_measurements()[:, 0, 1] + sens_array = self.sensor_array(sim_data) + measurements = sens_array.get_measurements()[:, 0, 1] measurements = np.append(measurements, label) labelled_dataset = np.vstack([labelled_dataset, measurements]) return labelled_dataset + + def delete_data(self, perturbed_path: Path, training_dataset: list[list[list[float],int]], + validation_path: Path, validation_dataset: list[list[list[float],int]]) -> None: + """delete_data: deletes the unlabelled datasets and just saves the labelled dataset - def model(self, output_file_path: str) -> None: - """model: used to train the Random Forest model on the training datasets, use the model - to make predictions for the validation dataset, and verify the accuracy of the model. - Outputs the pertinent information to the user, and then allows them to decide whether - or not to save the model as a .pkl file. - Parameters ---------- - output_file_path : str - Contains the path to the folder where the datasets and model(s) will be stored. + perturbed_path : Path + Path to the save location for the perturbed datasets. + training_dataset : list[list[list[float],int]] + The labelled training dataset. + validation_path : Path + Path to the save location for the validation datasets. + validation_dataset : list[list[list[float],int]] + The labelled validation dataset. """ - perturbed_path, validation_path = Path(output_file_path+"perturbed_datasets/"), Path(output_file_path+"validation_datasets/") - training_dataset = self.generate_labelled_dataset(perturbed_path) - validation_dataset = self.generate_labelled_dataset(validation_path) - paths = {perturbed_path: training_dataset, validation_path: validation_dataset} for path in paths: for folder in path.iterdir(): @@ -91,24 +171,93 @@ def model(self, output_file_path: str) -> None: shutil.rmtree(folder) dataset = paths[path] np.savetxt(path/"labelled_dataset.txt", dataset, fmt="%d", delimiter=",") - - X_train, y_train, X_val, y_val = training_dataset[:, :-1], training_dataset[:, -1], validation_dataset[:, :-1], validation_dataset[:, -1] + + + def classifier_model(self, X_train: list[float], y_train: list[float]) \ + -> RandomForestClassifier | SVC | DecisionTreeClassifier: + """classifier_model: generates a classifier of the selected framework for the + given data. - rf_classifier = RandomForestClassifier(n_estimators=100, random_state=42) - rf_classifier.fit(X_train, y_train) + Parameters + ---------- + X_train : list[float] + The training data from the labelled training dataset. + y_train : list[float] + The labels for each row of the training dataset. + + Returns + ------- + classifier : RandomForestClassifier | SVC | DecisionTreeClassifier + The classifier itself. + """ + classifiers = { + "rf": RandomForestClassifier(n_estimators=100, random_state=42), + "svm": SVC(kernel="linear", C=0.025, random_state=42), + "dt": DecisionTreeClassifier(max_depth=5, random_state=42) + } - y_pred = rf_classifier.predict(X_val) + for classifier_framework, classifier_function in classifiers.items(): + if self.framework == classifier_framework: + classifier = classifier_function + + classifier.fit(X_train, y_train) - for i in range(len(X_val)): - print(f"Row {i + 1}: Actual Label = {y_val[i]}, Predicted Label = {y_pred[i]}") + return classifier + + def output_model_metrics(self, y_val: list[float], y_pred: list[float]) -> None: + """output_model_metrics: prints the actual + predicted labels, as well as the final + accuracy score for the model. + + Parameters + ---------- + y_val : list[float] + The actual labels for the validation dataset. + y_pred : list[float] + The predicted labels for the validation dataset. + """ + for i, (actual, predicted) in enumerate(zip(y_val, y_pred), start=1): + print(f"Row {i}: Actual Label = {actual}, Predicted Label = {predicted}") val_accuracy = accuracy_score(y_val, y_pred) - print(f"Random Forest Validation Accuracy: {val_accuracy * 100:.2f}%") - - save_model = input("Save model? (Y/N) ") - while save_model.lower() not in ["y", "n"]: - print("Invalid input") - save_model = input("Save model? (Y/N) ") + print(f"Validation Accuracy: {val_accuracy * 100:.2f}%") + + + def save_model(self, classifier: RandomForestClassifier) -> None: + """save_model: used to save the model as a .pkl file + + Parameters + ---------- + classifier : RandomForestClassifier + The classifier model generated to be saved. + """ + joblib.dump(classifier, str(self.output_file_path)+str(self.framework)+'_model.pkl') + + + def run_model(self, delete_datasets: bool=True) -> RandomForestClassifier: + """run_model: Convenience function to run all aspects of the ModelBuilder class. - if save_model.lower() == "y": - joblib.dump(rf_classifier, str(output_file_path)+'model.pkl') \ No newline at end of file + Parameters + ---------- + delete_datasets : bool + Allows the user to determine whether or not to delete the unlabelled datasets. + + Returns + ---------- + classifier : RandomForestClassifier + The classifier model itself. + """ + perturbed_path, validation_path = Path(self.output_file_path+"perturbed_datasets/"), Path(self.output_file_path+"validation_datasets/") + training_dataset = self.generate_labelled_dataset(perturbed_path) + validation_dataset = self.generate_labelled_dataset(validation_path) + + if delete_datasets: + self.delete_data(perturbed_path, training_dataset, validation_path, validation_dataset) + + X_train, y_train, X_val, y_val = training_dataset[:, :-1], training_dataset[:, -1], validation_dataset[:, :-1], validation_dataset[:, -1] + + classifier = self.classifier_model(X_train, y_train) + y_pred = classifier.predict(X_val) + + self.output_model_metrics(y_val, y_pred) + + return classifier \ No newline at end of file diff --git a/src/icarus/moosesetup.py b/src/icarus/moosesetup.py index ab58c736..11d3799b 100644 --- a/src/icarus/moosesetup.py +++ b/src/icarus/moosesetup.py @@ -5,20 +5,29 @@ DirectoryManager) class MooseSetup: - def __init__(self, input_file_path: str) -> None: + """Used to setup the MOOSE Runners and Directory Managers required to run the simulations + and generate the datasets. + """ + def __init__(self, input_file_path: str, n_tasks: int, n_threads: int) -> None: + """__init__ + + Parameters + ---------- + input_file_path : str + The path to the input file used. + n_tasks : int + The number of tasks for parallelisation. + n_threads : int + The number of threads for parallelisation. + """ self.input_file_path = input_file_path + self.n_tasks, self.n_threads = n_tasks, n_threads self.moose_runner, self.moose_modifier = self.setup_moose_runner() def setup_moose_runner(self) -> tuple[MooseRunner, InputModifier]: """setup_moose_runner: Constructor for MOOSE runner taking a MooseConfig object that contains the paths to the main MOOSE install, the MOOSE app and - the MOOSE app name. Sets parallelisation options to 1 task - and 2 threads. Sets environment variables required for MPI setup. - - Parameters - ---------- - input_file_path : str - Contains the path to the input file. + the MOOSE app name. Returns ------- @@ -34,7 +43,7 @@ def setup_moose_runner(self) -> tuple[MooseRunner, InputModifier]: moose_modifier = InputModifier(moose_input, '#', '') moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks=1, n_threads=2, redirect_out=False) + moose_runner.set_run_opts(n_tasks=self.n_tasks, n_threads=self.n_threads, redirect_out=False) return moose_runner, moose_modifier diff --git a/src/icarus/userinterface.py b/src/icarus/userinterface.py index b8c33f17..026dda26 100644 --- a/src/icarus/userinterface.py +++ b/src/icarus/userinterface.py @@ -2,72 +2,14 @@ from pathlib import Path class UserInterface: + """Provides a user interface using tkinter to allow the user to control aspects of the modelling process, + including selecting parameters to be perturbed and defining their values and how many validation datasets + to generate for each parameter. + """ def __init__(self): pass - def accept_file(default_input_path: str="", default_output_path: str="") -> tuple[str, str]: - """accept_file: used to allow user to input path to input file and input file name - via a tkinter user interface - - Returns - ------- - input_file_path : str - String containing the path to the input file inputted to the user interface. - output_file_path : str - String containing the path for outputs inputted to the user interface. - """ - - def submit_file(): - """submit_file: specifies what should happen when the submit button is pressed. - The values within the Entry boxes for input and output file paths should be - saved to their corresponding variables, and the tkinter window should close. - - Raises - ---------- - FileNotFoundError - If the file paths submitted aren't acceptable - """ - nonlocal input_file_path, output_file_path - - try: - input_file_path = str(input_file_path_entry.get()) - output_file_path = str(output_file_path_entry.get()) - - if not Path(input_file_path).exists() or not Path(output_file_path).exists(): - if input_file_path[-2:] != ".i": - raise FileNotFoundError(f"Specified input and/or output file path not found.") - - file_root.quit() - file_root.destroy() - except FileNotFoundError: - error_label.config(text="Specified input and/or output file path not found.", fg="red") - return - - input_file_path, output_file_path = None, None - - file_root = Tk() - - Label(file_root, text='Input file path:').grid(row=0) - Label(file_root, text='Output file path:').grid(row=1) - default_input_path = StringVar(value=default_input_path) - input_file_path_entry = Entry(file_root, textvariable=default_input_path, width=30) - input_file_path_entry.grid(row=0, column=1) - default_output_path = StringVar(value=default_output_path) - output_file_path_entry = Entry(file_root, textvariable=default_output_path, width=30) - output_file_path_entry.grid(row=1, column=1) - - submit_button = Button(file_root, text="Submit", command=submit_file) - submit_button.grid(row=2, column=0, columnspan=2, pady=10) - - error_label = Label(file_root, text="", fg="red") - error_label.grid(row=3, column=0, columnspan=2) - - file_root.mainloop() - - return input_file_path, output_file_path - - def accept_parameters(self, parameters: dict[str, float]) -> tuple[list[int], dict[str, list[float]]]: """accept_parameters: used to allow user to select which parameters to perturb, and the range, interval of perturbation values, and number of validation values to be used for each parameter. @@ -110,14 +52,21 @@ def submit_parameters(): if row['checkbox_var'].get(): # Check if checkbox is ticked param_name = row['param_name'] try: + param_class = str(row['param_class'].get()) default_val = float(row['default_val']) min_val = float(row['min_val'].get()) max_val = float(row['max_val'].get()) interval = float(row['interval'].get()) num_validation_values = int(row['num_validation_values'].get()) + if param_class.lower() not in ["geom", "bc", "mat_prop"]: + raise ValueError("Invalid parameter classification") + if min_val >= max_val or interval <= 0: raise ValueError("Invalid range or interval") + + param_data = [] + param_data.append(param_class) param_values = [] current_val = min_val @@ -132,8 +81,9 @@ def submit_parameters(): if num_validation_values < 2: raise ValueError("Insufficient validation values") + param_data.append(param_values) num_val_values.append(num_validation_values) - parameters[param_name] = param_values + parameters[param_name] = param_data except ValueError as e: error_label.config(text=f"Error: {str(e)}", fg="red") @@ -150,7 +100,7 @@ def submit_parameters(): table_frame = Frame(param_root) table_frame.grid(row=2, column=0, columnspan=2, padx=10, pady=10) - headers = ["Select", "Param Name", "Default Value", "Min Value", "Max Value", "Interval", "No. Validation Values"] + headers = ["Select", "Param Name", "Param Class", "Default Value", "Min Value", "Max Value", "Interval", "No. Validation Values"] for col, header in enumerate(headers): Label(table_frame, text=header).grid(row=0, column=col, padx=5, pady=5) @@ -163,11 +113,11 @@ def submit_parameters(): x = 10 else: x = parameter_value/2 - params.append({"param_name": parameter_name,"default_val": parameter_value,"min_val": parameter_value+x, - "max_val": parameter_value+5*x,"interval": x,"num_validation_values":3}) + params.append({"param_name": parameter_name,"param_class": "geom/bc/mat_prop","default_val": parameter_value, + "min_val": parameter_value+x,"max_val": parameter_value+5*x,"interval": x,"num_validation_values":3}) except ValueError: - params.append({"param_name": parameter_name,"default_val": parameter_value,"min_val": "", - "max_val": "","interval": "","num_validation_values":""}) + params.append({"param_name": parameter_name,"param_class": "geom/bc/mat_prop","default_val": parameter_value, + "min_val": "","max_val": "","interval": "","num_validation_values":""}) rows = [] for i, param in enumerate(params): @@ -181,24 +131,28 @@ def submit_parameters(): Label(table_frame, text=param['param_name']).grid(row=i+1, column=1, padx=5, pady=5) row['param_name'] = param['param_name'] - Label(table_frame, text=param['default_val']).grid(row=i+1, column=2, padx=5, pady=5) + row['param_class'] = StringVar(value=param['param_class']) + param_class_entry = Entry(table_frame, textvariable=row['param_class'], width=15) + param_class_entry.grid(row=i+1, column=2, padx=5, pady=5) + + Label(table_frame, text=param['default_val']).grid(row=i+1, column=3, padx=5, pady=5) row['default_val'] = param['default_val'] row['min_val'] = StringVar(value=param['min_val']) min_val_entry = Entry(table_frame, textvariable=row['min_val'], width=10) - min_val_entry.grid(row=i+1, column=3, padx=5, pady=5) + min_val_entry.grid(row=i+1, column=4, padx=5, pady=5) row['max_val'] = StringVar(value=param['max_val']) max_val_entry = Entry(table_frame, textvariable=row['max_val'], width=10) - max_val_entry.grid(row=i+1, column=4, padx=5, pady=5) + max_val_entry.grid(row=i+1, column=5, padx=5, pady=5) row['interval'] = StringVar(value=param['interval']) interval_entry = Entry(table_frame, textvariable=row['interval'], width=10) - interval_entry.grid(row=i+1, column=5, padx=5, pady=5) + interval_entry.grid(row=i+1, column=6, padx=5, pady=5) row['num_validation_values'] = StringVar(value=param['num_validation_values']) num_validation_values_entry = Entry(table_frame, textvariable=row['num_validation_values'], width=10) - num_validation_values_entry.grid(row=i+1, column=6, padx=5, pady=5) + num_validation_values_entry.grid(row=i+1, column=7, padx=5, pady=5) rows.append(row) diff --git a/src/main.C b/src/main.C deleted file mode 100644 index 0cbd63f9..00000000 --- a/src/main.C +++ /dev/null @@ -1,18 +0,0 @@ -//* This file is part of the MOOSE framework -//* https://www.mooseframework.org -//* -//* All rights reserved, see COPYRIGHT for full restrictions -//* https://github.com/idaholab/moose/blob/master/COPYRIGHT -//* -//* Licensed under LGPL 2.1, please see LICENSE for details -//* https://www.gnu.org/licenses/lgpl-2.1.html - -#include "IcarusTestApp.h" -#include "MooseMain.h" - -// Begin the main program. -int -main(int argc, char * argv[]) -{ - return Moose::main(argc, argv); -} diff --git a/test/include/base/IcarusTestApp.h b/test/include/base/IcarusTestApp.h deleted file mode 100644 index 23cb1b65..00000000 --- a/test/include/base/IcarusTestApp.h +++ /dev/null @@ -1,24 +0,0 @@ -//* This file is part of the MOOSE framework -//* https://www.mooseframework.org -//* -//* All rights reserved, see COPYRIGHT for full restrictions -//* https://github.com/idaholab/moose/blob/master/COPYRIGHT -//* -//* Licensed under LGPL 2.1, please see LICENSE for details -//* https://www.gnu.org/licenses/lgpl-2.1.html - -#pragma once - -#include "MooseApp.h" - -class IcarusTestApp : public MooseApp -{ -public: - static InputParameters validParams(); - - IcarusTestApp(InputParameters parameters); - virtual ~IcarusTestApp(); - - static void registerApps(); - static void registerAll(Factory & f, ActionFactory & af, Syntax & s, bool use_test_objs = false); -}; diff --git a/test/src/base/IcarusTestApp.C b/test/src/base/IcarusTestApp.C deleted file mode 100644 index eadecb0d..00000000 --- a/test/src/base/IcarusTestApp.C +++ /dev/null @@ -1,63 +0,0 @@ -//* This file is part of the MOOSE framework -//* https://www.mooseframework.org -//* -//* All rights reserved, see COPYRIGHT for full restrictions -//* https://github.com/idaholab/moose/blob/master/COPYRIGHT -//* -//* Licensed under LGPL 2.1, please see LICENSE for details -//* https://www.gnu.org/licenses/lgpl-2.1.html -#include "IcarusTestApp.h" -#include "IcarusApp.h" -#include "Moose.h" -#include "AppFactory.h" -#include "MooseSyntax.h" - -InputParameters -IcarusTestApp::validParams() -{ - InputParameters params = IcarusApp::validParams(); - params.set("use_legacy_material_output") = false; - params.set("use_legacy_initial_residual_evaluation_behavior") = false; - return params; -} - -IcarusTestApp::IcarusTestApp(InputParameters parameters) : MooseApp(parameters) -{ - IcarusTestApp::registerAll( - _factory, _action_factory, _syntax, getParam("allow_test_objects")); -} - -IcarusTestApp::~IcarusTestApp() {} - -void -IcarusTestApp::registerAll(Factory & f, ActionFactory & af, Syntax & s, bool use_test_objs) -{ - IcarusApp::registerAll(f, af, s); - if (use_test_objs) - { - Registry::registerObjectsTo(f, {"IcarusTestApp"}); - Registry::registerActionsTo(af, {"IcarusTestApp"}); - } -} - -void -IcarusTestApp::registerApps() -{ - registerApp(IcarusApp); - registerApp(IcarusTestApp); -} - -/*************************************************************************************************** - *********************** Dynamic Library Entry Points - DO NOT MODIFY ****************************** - **************************************************************************************************/ -// External entry point for dynamic application loading -extern "C" void -IcarusTestApp__registerAll(Factory & f, ActionFactory & af, Syntax & s) -{ - IcarusTestApp::registerAll(f, af, s); -} -extern "C" void -IcarusTestApp__registerApps() -{ - IcarusTestApp::registerApps(); -} diff --git a/test/tests/kernels/simple_diffusion/gold/simple_diffusion_out.e b/test/tests/kernels/simple_diffusion/gold/simple_diffusion_out.e deleted file mode 100644 index 26b05edab2e59e58b7ebd7cc86879bfaf03c1f0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19804 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 -#include - -GTEST_API_ int -main(int argc, char ** argv) -{ - // gtest removes (only) its args from argc and argv - so this must be before moose init - testing::InitGoogleTest(&argc, argv); - - MooseInit init(argc, argv); - registerApp(IcarusApp); - Moose::_throw_on_error = true; - Moose::_throw_on_warning = true; - - return RUN_ALL_TESTS(); -} From fc2dd13c21ef89f7494d00e21f0064d9e2451dc3 Mon Sep 17 00:00:00 2001 From: iomags2211 <146826090+iomags2211@users.noreply.github.com> Date: Mon, 7 Apr 2025 12:40:42 +0100 Subject: [PATCH 17/48] Create docs/requirements.txt --- docs/requirements.txt | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 docs/requirements.txt diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 00000000..07f0ff1d --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,9 @@ +numpy +mooseherder +pyvale +scikit-learn +tkinter +math +pathlib +joblib +shutil From 608500bc64a344303f44f8b4cb4ca30e9eb87727 Mon Sep 17 00:00:00 2001 From: iomags2211 <146826090+iomags2211@users.noreply.github.com> Date: Mon, 7 Apr 2025 12:48:36 +0100 Subject: [PATCH 18/48] Delete docs directory --- docs/requirements.txt | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 docs/requirements.txt diff --git a/docs/requirements.txt b/docs/requirements.txt deleted file mode 100644 index 07f0ff1d..00000000 --- a/docs/requirements.txt +++ /dev/null @@ -1,9 +0,0 @@ -numpy -mooseherder -pyvale -scikit-learn -tkinter -math -pathlib -joblib -shutil From e69edfb1f46525a5ed442c6e20a84b1e7f951a61 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Mon, 7 Apr 2025 12:44:50 +0100 Subject: [PATCH 19/48] Updated next steps --- examples/ex1_2d_binary.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/examples/ex1_2d_binary.py b/examples/ex1_2d_binary.py index c3357168..d4bcb3e2 100644 --- a/examples/ex1_2d_binary.py +++ b/examples/ex1_2d_binary.py @@ -86,9 +86,11 @@ def main(): # Next steps: - # Test suite using PyTest (develop as you go) - # Expand to multi-classifier - # Fully configureable example + # Test suite using PyTest + # Optimise usability and structure of classes/dicts/input files, etc + # Improve classifiers + # Allow user control of hyperparameters + # Fully configureable example (decoupled steps) # Stretch goals: # More complex input files, e.g. 3D monoblock # Accepting multiple simultaneous perturbations - generate datasets class From 3b93e674896f9969d09bce69343ef861aeb6fe5a Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Mon, 7 Apr 2025 12:47:58 +0100 Subject: [PATCH 20/48] Added pyvale to dependencies --- dependencies/pyvale | 1 + 1 file changed, 1 insertion(+) create mode 160000 dependencies/pyvale diff --git a/dependencies/pyvale b/dependencies/pyvale new file mode 160000 index 00000000..909f9364 --- /dev/null +++ b/dependencies/pyvale @@ -0,0 +1 @@ +Subproject commit 909f93648a4386f235eeab3142e1369f0c7a26e2 From 22127e672252b4e367f180b9903dd9bc0a36177f Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Mon, 7 Apr 2025 12:54:11 +0100 Subject: [PATCH 21/48] Removed pyvale from dependencies --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 079dae41..a876fe0c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .libs +dependencies/pyvale *.la *.lo *.d From ab7812bf1d84a80f57f70754f2961618008fa7e7 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Mon, 7 Apr 2025 12:56:39 +0100 Subject: [PATCH 22/48] Removed pyvale from dependencies --- .gitignore | 1 - dependencies/pyvale | 1 - 2 files changed, 2 deletions(-) delete mode 160000 dependencies/pyvale diff --git a/.gitignore b/.gitignore index a876fe0c..079dae41 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ .libs -dependencies/pyvale *.la *.lo *.d diff --git a/dependencies/pyvale b/dependencies/pyvale deleted file mode 160000 index 909f9364..00000000 --- a/dependencies/pyvale +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 909f93648a4386f235eeab3142e1369f0c7a26e2 From 2ddcd56fb8c5430d2b8c91ba6c00c23a7b0ff47e Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Mon, 7 Apr 2025 13:00:02 +0100 Subject: [PATCH 23/48] Added output structure and requirements.txt --- .gitignore | 3 +++ dependencies/mooseherder/docs/requirements.txt | 1 + docs/requirements.txt | 9 +++++++++ .../ex1_outputs/perturbed_datasets/labelled_dataset.txt | 7 +++++++ .../ex1_outputs/validation_datasets/labelled_dataset.txt | 4 ++++ 5 files changed, 24 insertions(+) create mode 100644 dependencies/mooseherder/docs/requirements.txt create mode 100644 docs/requirements.txt create mode 100644 examples/example_outputs/ex1_outputs/perturbed_datasets/labelled_dataset.txt create mode 100644 examples/example_outputs/ex1_outputs/validation_datasets/labelled_dataset.txt diff --git a/.gitignore b/.gitignore index 079dae41..ed38ea0f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .libs +dependencies/pyvale *.la *.lo *.d @@ -71,6 +72,8 @@ temp_print_trace.* *.outp *.patch *.txt +!labelled_dataset.txt +!requirements.txt *.bib.bak *.out *.vtk diff --git a/dependencies/mooseherder/docs/requirements.txt b/dependencies/mooseherder/docs/requirements.txt new file mode 100644 index 00000000..296d6545 --- /dev/null +++ b/dependencies/mooseherder/docs/requirements.txt @@ -0,0 +1 @@ +numpy \ No newline at end of file diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 00000000..b7bf23a2 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,9 @@ +numpy +mooseherder +pyvale +scikit-learn +tkinter +math +pathlib +joblib +shutil \ No newline at end of file diff --git a/examples/example_outputs/ex1_outputs/perturbed_datasets/labelled_dataset.txt b/examples/example_outputs/ex1_outputs/perturbed_datasets/labelled_dataset.txt new file mode 100644 index 00000000..42ecf8b7 --- /dev/null +++ b/examples/example_outputs/ex1_outputs/perturbed_datasets/labelled_dataset.txt @@ -0,0 +1,7 @@ +140,259,379,140,259,379,0 +327,634,942,327,634,942,2 +452,884,1317,452,884,1317,2 +265,509,754,265,509,754,2 +140,259,379,140,259,379,0 +390,759,1129,390,759,1129,2 +202,384,567,202,384,567,2 diff --git a/examples/example_outputs/ex1_outputs/validation_datasets/labelled_dataset.txt b/examples/example_outputs/ex1_outputs/validation_datasets/labelled_dataset.txt new file mode 100644 index 00000000..4eb3e587 --- /dev/null +++ b/examples/example_outputs/ex1_outputs/validation_datasets/labelled_dataset.txt @@ -0,0 +1,4 @@ +417,815,1213,417,815,1213,2 +290,561,831,290,561,831,2 +140,259,379,140,259,379,0 +303,586,869,303,586,869,2 From 08eaba7b8859054a83fe6f8e2c6493fc29d783a2 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Mon, 7 Apr 2025 15:48:01 +0100 Subject: [PATCH 24/48] Improved exception handling --- src/icarus/datasetgenerator.py | 34 ++++++++++++--- src/icarus/modelbuilder.py | 79 ++++++++++++++++++++++++++++------ src/icarus/moosesetup.py | 29 +++++++++++-- 3 files changed, 121 insertions(+), 21 deletions(-) diff --git a/src/icarus/datasetgenerator.py b/src/icarus/datasetgenerator.py index 9c2b04f7..b01a5762 100644 --- a/src/icarus/datasetgenerator.py +++ b/src/icarus/datasetgenerator.py @@ -17,7 +17,7 @@ class DatasetGenerator: [[{param_name: [param_values]}], [{param_name: param_values}], ...] for each parameter. """ def __init__(self, moose_runner: MooseRunner, moose_modifier: InputModifier, - parameters: dict[str, list], num_para_runs: int=2) -> None: + parameters: dict[str, list], output_file_path: str, num_para_runs: int=2) -> None: """__init__ Parameters @@ -32,16 +32,37 @@ def __init__(self, moose_runner: MooseRunner, moose_modifier: InputModifier, parameters : dict[str, list] Dictionary containing the name of the parameter and the list of values for that parameter to take for each simulation to be run. + output_file_path : str + Contains the path to the folder where the datasets and model(s) will be stored. num_para_runs : int, optional Number of parallel runs for running the simulations, by default 2. + + Raises + ---------- + ValueError + If there are no parameters entered. + FileNotFoundError + If any of the required output file paths don't exist. """ self.moose_runner = moose_runner self.moose_modifier = moose_modifier self.num_para_runs = num_para_runs + + if parameters == None or len(parameters) == 0: + raise ValueError(f"Unacceptable parameters. Exiting.") + self.parameters = parameters self.param_names = [key for key in parameters.keys()] self.param_classes = [value[0] for value in parameters.values()] self.param_values = [value[1] for value in parameters.values()] + + if not Path(output_file_path).exists() or \ + not Path(str(output_file_path+"perturbed_datasets/")).exists() or \ + not Path(str(output_file_path+"validation_datasets/")).exists(): + raise FileNotFoundError(f"At least one required output file path not found. Exiting.") + + self.output_file_path = output_file_path + def generate_ground_truths(self, base_dir: Path, num_ground_truths: list[int]) -> None: """generate_ground_truths: used to generate the ground truth by running the input file @@ -56,6 +77,8 @@ def generate_ground_truths(self, base_dir: Path, num_ground_truths: list[int]) - num_ground_truths : list[int] Number of ground_truth datasets to generate. """ + if num_ground_truths <= 0: + raise ValueError(f"Some ground truths must be generated. Exiting.") dir_manager = MooseSetup.setup_directory_manager(base_dir, 'ground_truth', num_ground_truths) moose_vars = [[{}]] * num_ground_truths self.run_herd(dir_manager, moose_vars, num_ground_truths) @@ -119,20 +142,19 @@ def generate_validation_values(self, param_values: list[float], num_validation_v return validation_values - def generate_datasets(self, output_file_path: str, num_validation_values: list[int], ground_truths_per_dataset: int) -> None: + def generate_datasets(self, num_validation_values: list[int], ground_truths_per_dataset: int) -> None: """generate_datasets: convenience function to run all aspects of the DatasetGenerator class. Parameters ---------- - output_file_path : str - Contains the path to the folder where the datasets and model(s) will be stored. num_validation_values : list[int] Contains a list of the number of validation datasets to generate for each parameter ground_truth_per_dataset : int Contains the number of ground truth datasets to include per perturbed dataset """ - perturbed_path, perturbed_vals = Path(str(output_file_path+"perturbed_datasets/")), None - validation_path, validation_vals = Path(str(output_file_path+"validation_datasets/")), None + perturbed_path, perturbed_vals = Path(str(self.output_file_path+"perturbed_datasets/")), None + validation_path, validation_vals = Path(str(self.output_file_path+"validation_datasets/")), None + paths = {perturbed_path: perturbed_vals, validation_path: validation_vals} for name, param_class, values, n_valid in zip(self.param_names, self.param_classes, self.param_values, num_validation_values): diff --git a/src/icarus/modelbuilder.py b/src/icarus/modelbuilder.py index 773df0b5..5ad2cefa 100644 --- a/src/icarus/modelbuilder.py +++ b/src/icarus/modelbuilder.py @@ -18,7 +18,8 @@ class ModelBuilder: and to delete unlabelled datasets """ def __init__(self, output_file_path: str, framework: str, field_key: str="temperature", - sensors: list=[3,2,1], dims: int=2, errors: bool=False, multi: bool=False): + sensors: list=[3,2,1], dims: int=2, errors: bool=False, multi: bool=False, + delete_datasets: bool=False, save: bool=False) -> None: """__init__ Parameters @@ -40,14 +41,60 @@ def __init__(self, output_file_path: str, framework: str, field_key: str="temper multi : bool, optional Allows the user to specify whether to use a multi-classifier, by default False (meaning use a binary classifier). + delete_datasets : bool + Allows the user to determine whether or not to delete the unlabelled datasets. + save : bool + Allows the user to determine whether or not to save the model. + + Raises + ---------- + FileNotFoundError + If any of the required output file paths don't exist. + ValueError + If any of framework, field_key, sensors, dims, errors, multi, delete_datasets, or save + are unacceptable. """ + if not Path(output_file_path).exists() or \ + not Path(str(output_file_path+"perturbed_datasets/")).exists() or \ + not Path(str(output_file_path+"validation_datasets/")).exists(): + raise FileNotFoundError(f"At least one required output file path not found. Exiting.") self.output_file_path = output_file_path + + if framework not in ["rf", "svm", "dt"]: + raise ValueError(f"Invalid framework {framework}. Exiting.") self.framework = framework + + if field_key not in ["temperature", "displacement", "strain"]: + raise ValueError(f"Unacceptable field key {field_key}. Exiting.") self.field_key = field_key + + for sensor in sensors: + if sensor == 0: + raise ValueError("Invalid sensor array {sensors}. Exiting.") + if len(sensors) != 3 or sensors == None: + raise ValueError("Invalid sensor array {sensors}. Exiting.") self.sensors = sensors + + if dims not in [1, 2, 3]: + raise ValueError(f"Dimensions must be 1, 2 or 3, not {dims}. Exiting.") self.dims = dims + + if errors not in [True, False]: + raise ValueError(f"Errors must be either True or False, not {errors}. Exiting.") self.errors = errors + + if multi not in [True, False]: + raise ValueError(f"Multi must be either True or False, not {multi}. Exiting.") self.multi = multi + + if delete_datasets not in [True, False]: + raise ValueError(f"Delete datasets must be either True or False, not {delete_datasets}. Exiting.") + self.delete_datasets = delete_datasets + + if save not in [True, False]: + raise ValueError(f"Save must be either True or False, not {save}. Exiting.") + self.save = save + self.labelled_dataset_cols = (sensors[0]*sensors[1]*sensors[2])+1 @@ -119,8 +166,13 @@ def generate_labelled_dataset(self, folder_path: Path) -> list[list[list[float], labelled dataset should be extracted. Should be the base directory - i.e. either perturbed_datasets/ or validation_datasets/. + Raises + ---------- + ValueError + If the training and/or validation datasets failed to generate. + Returns - ------- + ---------- labelled_dataset: np.array[np.array[list[float], int]] 2D array containing the list of extracted measurements for each dataset and its corresponding label. To be used to train/validate the model. @@ -146,7 +198,10 @@ def generate_labelled_dataset(self, folder_path: Path) -> list[list[list[float], measurements = np.append(measurements, label) labelled_dataset = np.vstack([labelled_dataset, measurements]) - return labelled_dataset + if len(labelled_dataset) <= 1: + raise ValueError(f"Training and/or validation datasets failed to generate. Exiting.") + else: + return labelled_dataset def delete_data(self, perturbed_path: Path, training_dataset: list[list[list[float],int]], @@ -199,10 +254,11 @@ def classifier_model(self, X_train: list[float], y_train: list[float]) \ for classifier_framework, classifier_function in classifiers.items(): if self.framework == classifier_framework: classifier = classifier_function - + classifier.fit(X_train, y_train) return classifier + def output_model_metrics(self, y_val: list[float], y_pred: list[float]) -> None: """output_model_metrics: prints the actual + predicted labels, as well as the final @@ -222,7 +278,7 @@ def output_model_metrics(self, y_val: list[float], y_pred: list[float]) -> None: print(f"Validation Accuracy: {val_accuracy * 100:.2f}%") - def save_model(self, classifier: RandomForestClassifier) -> None: + def save_model(self, classifier: RandomForestClassifier | SVC | DecisionTreeClassifier) -> None: """save_model: used to save the model as a .pkl file Parameters @@ -233,13 +289,8 @@ def save_model(self, classifier: RandomForestClassifier) -> None: joblib.dump(classifier, str(self.output_file_path)+str(self.framework)+'_model.pkl') - def run_model(self, delete_datasets: bool=True) -> RandomForestClassifier: + def run_model(self) -> RandomForestClassifier | SVC | DecisionTreeClassifier: """run_model: Convenience function to run all aspects of the ModelBuilder class. - - Parameters - ---------- - delete_datasets : bool - Allows the user to determine whether or not to delete the unlabelled datasets. Returns ---------- @@ -247,10 +298,11 @@ def run_model(self, delete_datasets: bool=True) -> RandomForestClassifier: The classifier model itself. """ perturbed_path, validation_path = Path(self.output_file_path+"perturbed_datasets/"), Path(self.output_file_path+"validation_datasets/") + training_dataset = self.generate_labelled_dataset(perturbed_path) validation_dataset = self.generate_labelled_dataset(validation_path) - if delete_datasets: + if self.delete_datasets: self.delete_data(perturbed_path, training_dataset, validation_path, validation_dataset) X_train, y_train, X_val, y_val = training_dataset[:, :-1], training_dataset[:, -1], validation_dataset[:, :-1], validation_dataset[:, -1] @@ -260,4 +312,7 @@ def run_model(self, delete_datasets: bool=True) -> RandomForestClassifier: self.output_model_metrics(y_val, y_pred) + if self.save: + self.save_model(classifier) + return classifier \ No newline at end of file diff --git a/src/icarus/moosesetup.py b/src/icarus/moosesetup.py index 11d3799b..800c4e61 100644 --- a/src/icarus/moosesetup.py +++ b/src/icarus/moosesetup.py @@ -24,13 +24,22 @@ def __init__(self, input_file_path: str, n_tasks: int, n_threads: int) -> None: self.n_tasks, self.n_threads = n_tasks, n_threads self.moose_runner, self.moose_modifier = self.setup_moose_runner() + def setup_moose_runner(self) -> tuple[MooseRunner, InputModifier]: """setup_moose_runner: Constructor for MOOSE runner taking a MooseConfig object that contains the paths to the main MOOSE install, the MOOSE app and the MOOSE app name. + Raises + ---------- + FileNotFoundError + If the input file path is unacceptable (not found or not an input file), or if + the moose-config.json file is unacceptable. + ValueError + If there are no parameters found in the input file. + Returns - ------- + ---------- moose_runner : MooseRunner Constructed MOOSE runner used to run the input file with modified variables moose_modifier : InputModifier @@ -39,9 +48,23 @@ def setup_moose_runner(self) -> tuple[MooseRunner, InputModifier]: #comment character#* and end #comment character#**, e.g. #_* and #** for moose. """ - moose_input = Path(self.input_file_path) + if self.input_file_path[-2:] != ".i": + raise FileNotFoundError(f"Unacceptable input file path.") + + try: + moose_input = Path(self.input_file_path) + except FileNotFoundError: + raise FileNotFoundError(f"Unacceptable input file path.") + moose_modifier = InputModifier(moose_input, '#', '') - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + if len(moose_modifier.get_vars()) == 0: + raise ValueError(f"No parameters found in input file. Check input file and try again.") + + try: + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + except: + raise FileNotFoundError(f"JSON file moose-config.json not found, or points to non-existent MOOSE app.") + moose_runner = MooseRunner(moose_config) moose_runner.set_run_opts(n_tasks=self.n_tasks, n_threads=self.n_threads, redirect_out=False) From 0a3022c843ad86f205d31583a29cd4d3cbf5f4af Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Mon, 7 Apr 2025 15:48:40 +0100 Subject: [PATCH 25/48] Added fully configureable example (no convenience functions) --- examples/ex1_2d_binary.py | 97 ----------------------------- examples/ex1_2d_quick_start.py | 71 +++++++++++++++++++++ examples/ex2_2d_full_control.py | 105 ++++++++++++++++++++++++++++++++ 3 files changed, 176 insertions(+), 97 deletions(-) delete mode 100644 examples/ex1_2d_binary.py create mode 100644 examples/ex1_2d_quick_start.py create mode 100644 examples/ex2_2d_full_control.py diff --git a/examples/ex1_2d_binary.py b/examples/ex1_2d_binary.py deleted file mode 100644 index d4bcb3e2..00000000 --- a/examples/ex1_2d_binary.py +++ /dev/null @@ -1,97 +0,0 @@ -from pathlib import Path -from icarus import (DatasetGenerator, - ModelBuilder, - MooseSetup, - UserInterface) - -def main(): - """main: runs all of the other functions. - - Raises - ------ - FileNotFoundError - If the file submission window is closed (instead of submitting file paths) - ValueError - If the input file is improperly formatted and no parameters are found as expected - ValueError - If the parameter submission window is closed (instead of submitting parameter data) - """ - # Change to required input and output paths - input_file_path = "scripts/moose/plate_2d_thermal.i" - output_file_path = "examples/example_outputs/ex1_outputs/" - - # Ensures both paths exist and that the input file path ends with an input file name - if not Path(input_file_path).exists() or not Path(output_file_path).exists(): - if input_file_path[-2:] != ".i": - raise FileNotFoundError(f"Specified input and/or output file path not found.") - - # Setup MOOSE aspects of Icarus - change n_tasks and n_threads to desired parallelisation options - n_tasks, n_threads = 1, 2 - moose_setup = MooseSetup(input_file_path, n_tasks=n_tasks, n_threads=n_threads) - moose_runner, moose_modifier = moose_setup.setup_moose_runner() - - # Accesses the available parameters - found_vars = moose_modifier.get_vars() - - # Ensures there are some available parameters - if len(found_vars) == 0: - raise ValueError(f"No parameters found in input file. Check input file and try again.") - else: - # Accepts user-defined parameters for perturbation and validation - num_validation_values, parameters = UserInterface().accept_parameters(found_vars) - - # Ensures acceptable parameters - if parameters == None or len(parameters) == 0: - raise ValueError(f"Unacceptable parameters. Exiting.") - - # Initialises dataset generator - change num_para_runs to desired parallelisation option - num_para_runs = 2 - dataset_generator = DatasetGenerator(moose_runner, moose_modifier, parameters, num_para_runs=num_para_runs) - - # Generates perturbed, validation and ground truths datasets - # Change ground_truths_per_dataset to desired value - determines ratio of invalid:valid datasets in training data - ground_truths_per_dataset = 3 - dataset_generator.generate_datasets(output_file_path, num_validation_values, ground_truths_per_dataset=ground_truths_per_dataset) - - # Sets up and runs the chosen model - change: - # framework to desired framework: - # rf = Random Forest - # svm = Support Vector Machine - # dt = Decision Tree - # field_key to desired analysis field (temperature, displacement, or strain) - # sensors to desired sensor arrangement (x_sensors, y_sensors, z_sensors) - # dims to number of spatial dimensions being used - # errors to True if the sensors should include basic errors - # multi to True if it should use a multi-classifier rather than binary - # this allows the model to distinguish between perturbations to different - # classes of invalid parameters (geometry, BCs, material properties) rather - # than just valid and invalid results - # delete_datasets to True if the unlabelled data should be deleted - model = ModelBuilder(output_file_path, - framework="rf", - field_key="temperature", - sensors=(3,2,1), - dims=2, - errors=False, - multi=True) - classifier = model.run_model(delete_datasets=True) - - # Allows the model to be saved if desired - save = False - if save: - model.save_model(classifier) - -if __name__ == "__main__": - main() - - -# Next steps: - # Test suite using PyTest - # Optimise usability and structure of classes/dicts/input files, etc - # Improve classifiers - # Allow user control of hyperparameters - # Fully configureable example (decoupled steps) - # Stretch goals: - # More complex input files, e.g. 3D monoblock - # Accepting multiple simultaneous perturbations - generate datasets class - # Allowing user to define sensor positions - labelled dataset function \ No newline at end of file diff --git a/examples/ex1_2d_quick_start.py b/examples/ex1_2d_quick_start.py new file mode 100644 index 00000000..c605b66f --- /dev/null +++ b/examples/ex1_2d_quick_start.py @@ -0,0 +1,71 @@ +from icarus import (DatasetGenerator, + ModelBuilder, + MooseSetup, + UserInterface) + +def main(): + """main: runs all of the other functions. + """ + # Required parameters - change to desired values + # Input and output paths + input_file_path = "scripts/moose/plate_2d_thermal.i" + output_file_path = "examples/example_outputs/ex1_outputs/" + # Parallelisation options + n_tasks, n_threads = 1, 2 + num_para_runs = 2 + # Ratio of invalid:valid datasets in training data + ground_truths_per_dataset = 3 + + # Modelling parameters - change to desired values: + # Modelling framework: + # rf = Random Forest + # svm = Support Vector Machine + # dt = Decision Tree + framework = "rf" + # Analysis field (temperature, displacement, or strain) + field_key = "temperature" + # Sensor arrangement (x_sensors, y_sensors, z_sensors) + sensors = (3,2,1) + # Number of spatial dimensions being used + dims = 2 + # Whether the sensors should include basic errors or not + errors = False + # Whether the model should be a multi-classifier rather than binary, so it can + # distinguish between perturbations to different classes of invalid parameters + # (geometry, BCs, material properties) rather than just valid and invalid results + multi = True + # Whether the unlabelled data should be deleted + delete_datasets = True + # Whether the model should be saved as a .pkl file + save = False + + # Setup MOOSE aspects of Icarus + moose_setup = MooseSetup(input_file_path, n_tasks=n_tasks, n_threads=n_threads) + moose_runner, moose_modifier = moose_setup.setup_moose_runner() + + # Accesses the available parameters and allow user to select which are perturbed, what + # values they should take, and how many validation values to use for each + found_vars = moose_modifier.get_vars() + num_validation_values, parameters = UserInterface().accept_parameters(found_vars) + + # Initialise dataset generator and generate perturbed, validation and ground truths datasets + dataset_generator = DatasetGenerator(moose_runner, moose_modifier, parameters, output_file_path, num_para_runs) + dataset_generator.generate_datasets(num_validation_values, ground_truths_per_dataset) + + # Sets up, runs, and (optionally) saves the chosen model: + model = ModelBuilder(output_file_path, framework, field_key, sensors, dims, errors, multi, delete_datasets, save) + model.run_model() + +if __name__ == "__main__": + main() + +# Next steps: + # Test suite using PyTest + # Optimise usability and structure of classes/dicts/input files, etc + # Improve classifiers + # Allow user control of hyperparameters + # Fully configureable example (decoupled steps) + # Stretch goals: + # More complex input files, e.g. 3D monoblock + # Accepting multiple simultaneous perturbations - generate datasets class + # Allowing user to define sensor positions - labelled dataset function \ No newline at end of file diff --git a/examples/ex2_2d_full_control.py b/examples/ex2_2d_full_control.py new file mode 100644 index 00000000..48d8d040 --- /dev/null +++ b/examples/ex2_2d_full_control.py @@ -0,0 +1,105 @@ +from pathlib import Path +import math +from icarus import (DatasetGenerator, + ModelBuilder, + MooseSetup, + UserInterface) + +def main(): + """main: runs all of the other functions. + + Raises + ------ + FileNotFoundError + If the file submission window is closed (instead of submitting file paths) + ValueError + If the input file is improperly formatted and no parameters are found as expected + ValueError + If the parameter submission window is closed (instead of submitting parameter data) + """ + # Required parameters - change to desired values + # Input and output paths + input_file_path = "scripts/moose/plate_2d_thermal.i" + output_file_path = "examples/example_outputs/ex2_outputs/" + # Parallelisation options + n_tasks, n_threads = 1, 2 + num_para_runs = 2 + # Ratio of invalid:valid datasets in training data + ground_truths_per_dataset = 3 + + # Modelling parameters - change to desired values: + # Modelling framework: + # rf = Random Forest + # svm = Support Vector Machine + # dt = Decision Tree + framework = "rf" + # Analysis field (temperature, displacement, or strain) + field_key = "temperature" + # Sensor arrangement (x_sensors, y_sensors, z_sensors) + sensors = (3,2,1) + # Number of spatial dimensions being used + dims = 2 + # Whether the sensors should include basic errors or not + errors = False + # Whether the model should be a multi-classifier rather than binary, so it can + # distinguish between perturbations to different classes of invalid parameters + # (geometry, BCs, material properties) rather than just valid and invalid results + multi = True + # Whether the unlabelled data should be deleted + delete_datasets = True + # Whether the model should be saved as a .pkl file + save = False + + # Setup MOOSE aspects of Icarus + moose_setup = MooseSetup(input_file_path, n_tasks=n_tasks, n_threads=n_threads) + moose_runner, moose_modifier = moose_setup.setup_moose_runner() + + # Accesses the available parameters and allow user to select which are perturbed, what + # values they should take, and how many validation values to use for each + found_vars = moose_modifier.get_vars() + num_validation_values, parameters = UserInterface().accept_parameters(found_vars) + + # Initialise dataset generator and generate perturbed, validation and ground truths datasets + dataset_generator = DatasetGenerator(moose_runner, moose_modifier, parameters, output_file_path, num_para_runs) + + perturbed_path, perturbed_vals = Path(str(output_file_path+"perturbed_datasets/")), None + validation_path, validation_vals = Path(str(output_file_path+"validation_datasets/")), None + + paths = {perturbed_path: perturbed_vals, validation_path: validation_vals} + + for name, param_class, values, n_valid in zip(dataset_generator.param_names, dataset_generator.param_classes, \ + dataset_generator.param_values, num_validation_values): + validation_values = dataset_generator.generate_validation_values(values, n_valid) + + paths[perturbed_path] = values + paths[validation_path] = validation_values + + for path, vals in paths.items(): + dataset_generator.generate_dataset(path, name, param_class, vals) + + for path in paths.keys(): + num_datasets = sum(1 for d in path.iterdir() if d.is_dir()) + num_ground_truths = math.ceil(num_datasets/ground_truths_per_dataset) + dataset_generator.generate_ground_truths(path, num_ground_truths) + + # Sets up, runs, and (optionally) saves the chosen model: + model = ModelBuilder(output_file_path, framework, field_key, sensors, dims, errors, multi, delete_datasets, save) + + training_dataset = model.generate_labelled_dataset(perturbed_path) + validation_dataset = model.generate_labelled_dataset(validation_path) + + if delete_datasets: + model.delete_data(perturbed_path, training_dataset, validation_path, validation_dataset) + + X_train, y_train, X_val, y_val = training_dataset[:, :-1], training_dataset[:, -1], validation_dataset[:, :-1], validation_dataset[:, -1] + + classifier = model.classifier_model(X_train, y_train) + y_pred = classifier.predict(X_val) + + model.output_model_metrics(y_val, y_pred) + + if save: + model.save_model(classifier) + +if __name__ == "__main__": + main() \ No newline at end of file From 5706b8c79a58bbeef2d6b9b798cd8bfb9f3e97e8 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 8 Apr 2025 09:50:08 +0100 Subject: [PATCH 26/48] Added more comments to fully configureable example --- examples/ex2_2d_full_control.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/examples/ex2_2d_full_control.py b/examples/ex2_2d_full_control.py index 48d8d040..bfae4be9 100644 --- a/examples/ex2_2d_full_control.py +++ b/examples/ex2_2d_full_control.py @@ -7,15 +7,6 @@ def main(): """main: runs all of the other functions. - - Raises - ------ - FileNotFoundError - If the file submission window is closed (instead of submitting file paths) - ValueError - If the input file is improperly formatted and no parameters are found as expected - ValueError - If the parameter submission window is closed (instead of submitting parameter data) """ # Required parameters - change to desired values # Input and output paths @@ -62,21 +53,26 @@ def main(): # Initialise dataset generator and generate perturbed, validation and ground truths datasets dataset_generator = DatasetGenerator(moose_runner, moose_modifier, parameters, output_file_path, num_para_runs) + # Sets up the paths to where the outputted unlabelled datasets will be saved perturbed_path, perturbed_vals = Path(str(output_file_path+"perturbed_datasets/")), None validation_path, validation_vals = Path(str(output_file_path+"validation_datasets/")), None paths = {perturbed_path: perturbed_vals, validation_path: validation_vals} + # Generates the unlabelled datasets for name, param_class, values, n_valid in zip(dataset_generator.param_names, dataset_generator.param_classes, \ dataset_generator.param_values, num_validation_values): + # Generates valid validation values for each parameter validation_values = dataset_generator.generate_validation_values(values, n_valid) paths[perturbed_path] = values paths[validation_path] = validation_values + # Generates perturbed and validation datasets based on chosen values for path, vals in paths.items(): dataset_generator.generate_dataset(path, name, param_class, vals) + # Generates the ground truth datasets based on the ratio of perturbed:ground truth specified for path in paths.keys(): num_datasets = sum(1 for d in path.iterdir() if d.is_dir()) num_ground_truths = math.ceil(num_datasets/ground_truths_per_dataset) @@ -85,19 +81,25 @@ def main(): # Sets up, runs, and (optionally) saves the chosen model: model = ModelBuilder(output_file_path, framework, field_key, sensors, dims, errors, multi, delete_datasets, save) + # Generates labelled training and validation datasets training_dataset = model.generate_labelled_dataset(perturbed_path) validation_dataset = model.generate_labelled_dataset(validation_path) + # Deletes unlabelled datasets (and saves labelled) if specified if delete_datasets: model.delete_data(perturbed_path, training_dataset, validation_path, validation_dataset) + # Splits data according to modelling requirements X_train, y_train, X_val, y_val = training_dataset[:, :-1], training_dataset[:, -1], validation_dataset[:, :-1], validation_dataset[:, -1] + # Builds the specified model and predicts the labels of the validation datasets classifier = model.classifier_model(X_train, y_train) y_pred = classifier.predict(X_val) + # Outputs model metrics model.output_model_metrics(y_val, y_pred) + # Saves model if specified if save: model.save_model(classifier) From 05e463d95fc3c03e2e32c44603066207e19803c2 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 8 Apr 2025 09:50:59 +0100 Subject: [PATCH 27/48] Added tests for MooseSetup --- src/icarus/moosesetup.py | 10 +++------- tests/moosesetup_test.py | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 7 deletions(-) create mode 100644 tests/moosesetup_test.py diff --git a/src/icarus/moosesetup.py b/src/icarus/moosesetup.py index 800c4e61..20752cd9 100644 --- a/src/icarus/moosesetup.py +++ b/src/icarus/moosesetup.py @@ -22,7 +22,6 @@ def __init__(self, input_file_path: str, n_tasks: int, n_threads: int) -> None: """ self.input_file_path = input_file_path self.n_tasks, self.n_threads = n_tasks, n_threads - self.moose_runner, self.moose_modifier = self.setup_moose_runner() def setup_moose_runner(self) -> tuple[MooseRunner, InputModifier]: @@ -48,13 +47,10 @@ def setup_moose_runner(self) -> tuple[MooseRunner, InputModifier]: #comment character#* and end #comment character#**, e.g. #_* and #** for moose. """ - if self.input_file_path[-2:] != ".i": - raise FileNotFoundError(f"Unacceptable input file path.") - - try: - moose_input = Path(self.input_file_path) - except FileNotFoundError: + if self.input_file_path[-2:] != ".i" or not Path(self.input_file_path).exists(): raise FileNotFoundError(f"Unacceptable input file path.") + + moose_input = Path(self.input_file_path) moose_modifier = InputModifier(moose_input, '#', '') if len(moose_modifier.get_vars()) == 0: diff --git a/tests/moosesetup_test.py b/tests/moosesetup_test.py new file mode 100644 index 00000000..4a61d861 --- /dev/null +++ b/tests/moosesetup_test.py @@ -0,0 +1,33 @@ +import pytest +from unittest.mock import patch, MagicMock +from pathlib import Path +from icarus import MooseSetup + + +def test_invalid_file_extension_raises_file_not_found(): + setup = MooseSetup(input_file_path="input.txt", n_tasks=4, n_threads=4) + with pytest.raises(FileNotFoundError, match="Unacceptable input file path."): + setup.setup_moose_runner() + + +def test_nonexistent_input_file_raises_file_not_found(tmp_path): + fake_file = tmp_path / "input.i" + setup = MooseSetup(input_file_path=str(fake_file), n_tasks=4, n_threads=4) + + with pytest.raises(FileNotFoundError, match="Unacceptable input file path."): + setup.setup_moose_runner() + + +@patch("icarus.moosesetup.InputModifier") +def test_no_parameters_found_raises_value_error(mock_input_modifier, tmp_path): + input_file = tmp_path / "input.i" + input_file.write_text("Dummy content") + + mock_instance = MagicMock() + mock_instance.get_vars.return_value = {} + mock_input_modifier.return_value = mock_instance + + setup = MooseSetup(input_file_path=str(input_file), n_tasks=4, n_threads=4) + + with pytest.raises(ValueError, match="No parameters found in input file"): + setup.setup_moose_runner() \ No newline at end of file From 5d580c4be0d57831ac3fa09458b2bdd8bfaf813e Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 8 Apr 2025 11:21:39 +0100 Subject: [PATCH 28/48] Changed the way the sensor type is defined --- examples/ex1_2d_quick_start.py | 12 +++++++----- src/icarus/modelbuilder.py | 18 ++++++------------ 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/examples/ex1_2d_quick_start.py b/examples/ex1_2d_quick_start.py index c605b66f..0300637c 100644 --- a/examples/ex1_2d_quick_start.py +++ b/examples/ex1_2d_quick_start.py @@ -22,8 +22,9 @@ def main(): # svm = Support Vector Machine # dt = Decision Tree framework = "rf" - # Analysis field (temperature, displacement, or strain) - field_key = "temperature" + # Analysis sensor type + # (thermocouples for temperature, disp_sensors for displacement, or strain_gauges for strain) + sensor_type = "thermocouples" # Sensor arrangement (x_sensors, y_sensors, z_sensors) sensors = (3,2,1) # Number of spatial dimensions being used @@ -35,7 +36,7 @@ def main(): # (geometry, BCs, material properties) rather than just valid and invalid results multi = True # Whether the unlabelled data should be deleted - delete_datasets = True + delete_datasets = False # Whether the model should be saved as a .pkl file save = False @@ -53,7 +54,7 @@ def main(): dataset_generator.generate_datasets(num_validation_values, ground_truths_per_dataset) # Sets up, runs, and (optionally) saves the chosen model: - model = ModelBuilder(output_file_path, framework, field_key, sensors, dims, errors, multi, delete_datasets, save) + model = ModelBuilder(output_file_path, framework, sensor_type, sensors, dims, errors, multi, delete_datasets, save) model.run_model() if __name__ == "__main__": @@ -66,6 +67,7 @@ def main(): # Allow user control of hyperparameters # Fully configureable example (decoupled steps) # Stretch goals: + # Make tkinter interface optional # More complex input files, e.g. 3D monoblock # Accepting multiple simultaneous perturbations - generate datasets class - # Allowing user to define sensor positions - labelled dataset function \ No newline at end of file + # Allowing user to define sensor positions - labelled dataset function diff --git a/src/icarus/modelbuilder.py b/src/icarus/modelbuilder.py index 5ad2cefa..41552015 100644 --- a/src/icarus/modelbuilder.py +++ b/src/icarus/modelbuilder.py @@ -17,7 +17,7 @@ class ModelBuilder: Outputs the pertinent information to the user, and allows the user to save the model, and to delete unlabelled datasets """ - def __init__(self, output_file_path: str, framework: str, field_key: str="temperature", + def __init__(self, output_file_path: str, framework: str, sensor_type: str="thermocouples", sensors: list=[3,2,1], dims: int=2, errors: bool=False, multi: bool=False, delete_datasets: bool=False, save: bool=False) -> None: """__init__ @@ -64,9 +64,9 @@ def __init__(self, output_file_path: str, framework: str, field_key: str="temper raise ValueError(f"Invalid framework {framework}. Exiting.") self.framework = framework - if field_key not in ["temperature", "displacement", "strain"]: - raise ValueError(f"Unacceptable field key {field_key}. Exiting.") - self.field_key = field_key + if sensor_type not in ["thermocouples", "disp_sensors", "strain_gauges"]: + raise ValueError(f"Unacceptable sensor type {sensor_type}. Exiting.") + self.sensor_type = sensor_type for sensor in sensors: if sensor == 0: @@ -134,22 +134,16 @@ def sensor_array(self, sim_data: SimData) -> SensorArrayPoint: sens_pos = pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) sens_data = pyvale.SensorData(positions=sens_pos) - field_key_map = { - "temperature": "thermocouples", - "displacement": "disp_sensors", - "strain": "strain_gauges" - } - errors_map = { True: "basic_errs", False: "no_errs" } - func_name = f"{field_key_map[self.field_key]}_{errors_map[self.errors]}" + func_name = f"{self.sensor_type}_{errors_map[self.errors]}" factory = pyvale.SensorArrayFactory func = getattr(factory, func_name) - sens_array = func(sim_data, sens_data, self.field_key, spat_dims=self.dims) + sens_array = func(sim_data, sens_data, self.sensor_type, spat_dims=self.dims) return sens_array From 73fbed0cebb754d8aaad93a6f43511b5ca15c49f Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 8 Apr 2025 13:41:43 +0100 Subject: [PATCH 29/48] Improved user control over the framework + hyperparameters --- examples/ex1_2d_quick_start.py | 30 ++++++++-- examples/ex2_2d_full_control.py | 34 ++++++++--- .../perturbed_datasets/labelled_dataset.txt | 7 --- .../validation_datasets/labelled_dataset.txt | 4 -- src/icarus/modelbuilder.py | 57 +++++++++--------- src/icarus/modelframework.py | 60 +++++++++++++++++++ 6 files changed, 138 insertions(+), 54 deletions(-) delete mode 100644 examples/example_outputs/ex1_outputs/perturbed_datasets/labelled_dataset.txt delete mode 100644 examples/example_outputs/ex1_outputs/validation_datasets/labelled_dataset.txt create mode 100644 src/icarus/modelframework.py diff --git a/examples/ex1_2d_quick_start.py b/examples/ex1_2d_quick_start.py index 0300637c..6d4c9b13 100644 --- a/examples/ex1_2d_quick_start.py +++ b/examples/ex1_2d_quick_start.py @@ -17,11 +17,27 @@ def main(): ground_truths_per_dataset = 3 # Modelling parameters - change to desired values: - # Modelling framework: - # rf = Random Forest - # svm = Support Vector Machine - # dt = Decision Tree - framework = "rf" + # Classifier framework + # For a comprehensive list of available classifiers, please refer + # to the relevant documentation: + # https://scikit-learn.org/stable/supervised_learning.html + classifier_framework = "sklearn.ensemble.RandomForestClassifier" + # Classifier parameters + # Note that not all parameters are required for every classifier. + # Any irrelevant or unsupported parameters for the selected model + # will be automatically ignored during model creation. + # For a comprehensive list of available parameters for each classifier, + # please refer to the relevant documentation: + # https://scikit-learn.org/stable/modules/classes.html#classifier + classifier_params = { + "n_estimators": 100, + "random_state": 42, + "kernel": "linear", + "C": 0.025, + "max_depth": 5 + } + # The field being analysed as used by your input script + field_key = "temperature" # Analysis sensor type # (thermocouples for temperature, disp_sensors for displacement, or strain_gauges for strain) sensor_type = "thermocouples" @@ -54,13 +70,15 @@ def main(): dataset_generator.generate_datasets(num_validation_values, ground_truths_per_dataset) # Sets up, runs, and (optionally) saves the chosen model: - model = ModelBuilder(output_file_path, framework, sensor_type, sensors, dims, errors, multi, delete_datasets, save) + model = ModelBuilder(output_file_path, classifier_framework, classifier_params, field_key, + sensor_type, sensors, dims, errors, multi, delete_datasets, save) model.run_model() if __name__ == "__main__": main() # Next steps: + # Docstrings + error handling for recent changes # Test suite using PyTest # Optimise usability and structure of classes/dicts/input files, etc # Improve classifiers diff --git a/examples/ex2_2d_full_control.py b/examples/ex2_2d_full_control.py index bfae4be9..9177acb3 100644 --- a/examples/ex2_2d_full_control.py +++ b/examples/ex2_2d_full_control.py @@ -5,6 +5,8 @@ MooseSetup, UserInterface) +def generate_datasets(): + def main(): """main: runs all of the other functions. """ @@ -19,13 +21,30 @@ def main(): ground_truths_per_dataset = 3 # Modelling parameters - change to desired values: - # Modelling framework: - # rf = Random Forest - # svm = Support Vector Machine - # dt = Decision Tree - framework = "rf" - # Analysis field (temperature, displacement, or strain) + # Classifier framework + # For a comprehensive list of available classifiers, please refer + # to the relevant documentation: + # https://scikit-learn.org/stable/supervised_learning.html + classifier_framework = "sklearn.ensemble.RandomForestClassifier" + # Classifier parameters + # Note that not all parameters are required for every classifier. + # Any irrelevant or unsupported parameters for the selected model + # will be automatically ignored during model creation. + # For a comprehensive list of available parameters for each classifier, + # please refer to the relevant documentation: + # https://scikit-learn.org/stable/modules/classes.html#classifier + classifier_params = { + "n_estimators": 100, + "random_state": 42, + "kernel": "linear", + "C": 0.025, + "max_depth": 5 + } + # The field being analysed as used by your input script field_key = "temperature" + # Analysis sensor type + # (thermocouples for temperature, disp_sensors for displacement, or strain_gauges for strain) + sensor_type = "thermocouples" # Sensor arrangement (x_sensors, y_sensors, z_sensors) sensors = (3,2,1) # Number of spatial dimensions being used @@ -79,7 +98,8 @@ def main(): dataset_generator.generate_ground_truths(path, num_ground_truths) # Sets up, runs, and (optionally) saves the chosen model: - model = ModelBuilder(output_file_path, framework, field_key, sensors, dims, errors, multi, delete_datasets, save) + model = ModelBuilder(output_file_path, classifier_framework, classifier_params, field_key, + sensor_type, sensors, dims, errors, multi, delete_datasets, save) # Generates labelled training and validation datasets training_dataset = model.generate_labelled_dataset(perturbed_path) diff --git a/examples/example_outputs/ex1_outputs/perturbed_datasets/labelled_dataset.txt b/examples/example_outputs/ex1_outputs/perturbed_datasets/labelled_dataset.txt deleted file mode 100644 index 42ecf8b7..00000000 --- a/examples/example_outputs/ex1_outputs/perturbed_datasets/labelled_dataset.txt +++ /dev/null @@ -1,7 +0,0 @@ -140,259,379,140,259,379,0 -327,634,942,327,634,942,2 -452,884,1317,452,884,1317,2 -265,509,754,265,509,754,2 -140,259,379,140,259,379,0 -390,759,1129,390,759,1129,2 -202,384,567,202,384,567,2 diff --git a/examples/example_outputs/ex1_outputs/validation_datasets/labelled_dataset.txt b/examples/example_outputs/ex1_outputs/validation_datasets/labelled_dataset.txt deleted file mode 100644 index 4eb3e587..00000000 --- a/examples/example_outputs/ex1_outputs/validation_datasets/labelled_dataset.txt +++ /dev/null @@ -1,4 +0,0 @@ -417,815,1213,417,815,1213,2 -290,561,831,290,561,831,2 -140,259,379,140,259,379,0 -303,586,869,303,586,869,2 diff --git a/src/icarus/modelbuilder.py b/src/icarus/modelbuilder.py index 41552015..3cb16d32 100644 --- a/src/icarus/modelbuilder.py +++ b/src/icarus/modelbuilder.py @@ -1,14 +1,12 @@ import numpy as np import pyvale from pyvale import SensorArrayPoint -from sklearn.ensemble import RandomForestClassifier -from sklearn.svm import SVC -from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score import joblib from mooseherder import ExodusReader, SimData from pathlib import Path import shutil +from icarus.modelframework import SKLearnClassifier class ModelBuilder: """Used to create a sensor array, generate the labelled datasets the sensor array and the @@ -17,19 +15,23 @@ class ModelBuilder: Outputs the pertinent information to the user, and allows the user to save the model, and to delete unlabelled datasets """ - def __init__(self, output_file_path: str, framework: str, sensor_type: str="thermocouples", - sensors: list=[3,2,1], dims: int=2, errors: bool=False, multi: bool=False, - delete_datasets: bool=False, save: bool=False) -> None: + def __init__(self, output_file_path: str, classifier_framework: str, classifier_params: dict, + field_key: str, sensor_type: str, sensors: list=[3,2,1], dims: int=2, errors: bool=False, + multi: bool=False,delete_datasets: bool=False, save: bool=False) -> None: """__init__ Parameters ---------- output_file_path : str Path to the location that all outputs should be saved. - framework : str + classifier_framework : str The type of ML model to use (RandomForest, SVM, etc.) - field_key : str, optional - The field being analysed in the experiment/simulation, by default "temperature" + classifier_params : dict + The hyperparameters for the classifier. + field_key : str + The field key used for the analysis field in the input file. + sensor_type : str, optional + The sensor type used to analyse the field in the experiment/simulation. sensors : list, optional The number of sensors to in each dimension (x,y,z), by default [3,2,1] for a 2d simulation. @@ -51,7 +53,7 @@ def __init__(self, output_file_path: str, framework: str, sensor_type: str="ther FileNotFoundError If any of the required output file paths don't exist. ValueError - If any of framework, field_key, sensors, dims, errors, multi, delete_datasets, or save + If any of sensor_type, sensors, dims, errors, multi, delete_datasets, or save are unacceptable. """ if not Path(output_file_path).exists() or \ @@ -60,9 +62,10 @@ def __init__(self, output_file_path: str, framework: str, sensor_type: str="ther raise FileNotFoundError(f"At least one required output file path not found. Exiting.") self.output_file_path = output_file_path - if framework not in ["rf", "svm", "dt"]: - raise ValueError(f"Invalid framework {framework}. Exiting.") - self.framework = framework + self.classifier_framework = classifier_framework + self.classifier_params = classifier_params + + self.field_key = field_key if sensor_type not in ["thermocouples", "disp_sensors", "strain_gauges"]: raise ValueError(f"Unacceptable sensor type {sensor_type}. Exiting.") @@ -142,8 +145,7 @@ def sensor_array(self, sim_data: SimData) -> SensorArrayPoint: func_name = f"{self.sensor_type}_{errors_map[self.errors]}" factory = pyvale.SensorArrayFactory func = getattr(factory, func_name) - - sens_array = func(sim_data, sens_data, self.sensor_type, spat_dims=self.dims) + sens_array = func(sim_data, sens_data, self.field_key, spat_dims=self.dims) return sens_array @@ -223,7 +225,7 @@ def delete_data(self, perturbed_path: Path, training_dataset: list[list[list[flo def classifier_model(self, X_train: list[float], y_train: list[float]) \ - -> RandomForestClassifier | SVC | DecisionTreeClassifier: + -> SKLearnClassifier: """classifier_model: generates a classifier of the selected framework for the given data. @@ -236,22 +238,17 @@ def classifier_model(self, X_train: list[float], y_train: list[float]) \ Returns ------- - classifier : RandomForestClassifier | SVC | DecisionTreeClassifier + classifier : SKLearnClassifier The classifier itself. """ - classifiers = { - "rf": RandomForestClassifier(n_estimators=100, random_state=42), - "svm": SVC(kernel="linear", C=0.025, random_state=42), - "dt": DecisionTreeClassifier(max_depth=5, random_state=42) - } - - for classifier_framework, classifier_function in classifiers.items(): - if self.framework == classifier_framework: - classifier = classifier_function - + classifier = SKLearnClassifier(self.classifier_framework, self.classifier_params) classifier.fit(X_train, y_train) - return classifier + ignored = classifier.ignored_params() + if ignored: + print(f"Ignored parameters for {self.classifier_framework}: {ignored}") + + return classifier.get_model() def output_model_metrics(self, y_val: list[float], y_pred: list[float]) -> None: @@ -272,7 +269,7 @@ def output_model_metrics(self, y_val: list[float], y_pred: list[float]) -> None: print(f"Validation Accuracy: {val_accuracy * 100:.2f}%") - def save_model(self, classifier: RandomForestClassifier | SVC | DecisionTreeClassifier) -> None: + def save_model(self, classifier: SKLearnClassifier) -> None: """save_model: used to save the model as a .pkl file Parameters @@ -283,7 +280,7 @@ def save_model(self, classifier: RandomForestClassifier | SVC | DecisionTreeClas joblib.dump(classifier, str(self.output_file_path)+str(self.framework)+'_model.pkl') - def run_model(self) -> RandomForestClassifier | SVC | DecisionTreeClassifier: + def run_model(self) -> SKLearnClassifier: """run_model: Convenience function to run all aspects of the ModelBuilder class. Returns diff --git a/src/icarus/modelframework.py b/src/icarus/modelframework.py new file mode 100644 index 00000000..7a01d9d3 --- /dev/null +++ b/src/icarus/modelframework.py @@ -0,0 +1,60 @@ +from abc import ABC, abstractmethod +import sklearn +import inspect + +def get_classifier_class(classifier_framework: str): + try: + return eval(classifier_framework) + except NameError as e: + raise ValueError(f"Invalid classifier framework: {classifier_framework}. Please check the input.") + + +def filter_kwargs(classifier_framework, classifier_params): + sig = inspect.signature(classifier_framework.__init__) + valid_params = set(sig.parameters.keys()) - {"self"} + filtered_params = {k: v for k, v in classifier_params.items() if k in valid_params} + + if len(filtered_params) == 0: + raise ValueError(f"Invalid classifier parameters {classifier_params}. Please check the input.") + else: + return filtered_params + + +class BaseClassifier(ABC): + @abstractmethod + def fit(self, X, y): + pass + + @abstractmethod + def predict(self, X): + pass + + @abstractmethod + def get_model(self): + pass + + +class SKLearnClassifier(BaseClassifier): + def __init__(self, classifier_framework, classifier_params): + self.classifier_framework = get_classifier_class(classifier_framework) + self.classifier_params = classifier_params + self.filtered_params = filter_kwargs(self.classifier_framework, self.classifier_params) + self.model = self.classifier_framework(**self.filtered_params) + self._ignored = set(classifier_params) - set(self.filtered_params) + + + def fit(self, X, y): + self.model.fit(X, y) + + + def predict(self, X): + return self.model.predict(X) + + + def get_model(self): + return self.model + + + def ignored_params(self): + return self._ignored + \ No newline at end of file From f46462f407269fc030b076aa2cc359a8ad6b0d81 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Wed, 14 May 2025 17:17:45 +0100 Subject: [PATCH 30/48] Minor changes --- examples/ex1_2d_quick_start.py | 3 +-- examples/ex2_2d_full_control.py | 2 -- src/icarus/modelframework.py | 1 + 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/examples/ex1_2d_quick_start.py b/examples/ex1_2d_quick_start.py index 6d4c9b13..c9a9db12 100644 --- a/examples/ex1_2d_quick_start.py +++ b/examples/ex1_2d_quick_start.py @@ -78,11 +78,10 @@ def main(): main() # Next steps: - # Docstrings + error handling for recent changes + # Docstrings + type hinting for recent changes # Test suite using PyTest # Optimise usability and structure of classes/dicts/input files, etc # Improve classifiers - # Allow user control of hyperparameters # Fully configureable example (decoupled steps) # Stretch goals: # Make tkinter interface optional diff --git a/examples/ex2_2d_full_control.py b/examples/ex2_2d_full_control.py index 9177acb3..bf514302 100644 --- a/examples/ex2_2d_full_control.py +++ b/examples/ex2_2d_full_control.py @@ -5,8 +5,6 @@ MooseSetup, UserInterface) -def generate_datasets(): - def main(): """main: runs all of the other functions. """ diff --git a/src/icarus/modelframework.py b/src/icarus/modelframework.py index 7a01d9d3..61b754ff 100644 --- a/src/icarus/modelframework.py +++ b/src/icarus/modelframework.py @@ -2,6 +2,7 @@ import sklearn import inspect + def get_classifier_class(classifier_framework: str): try: return eval(classifier_framework) From 9a407c83e34f1405906b126902173d9b8d132826 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 20 May 2025 08:53:45 +0100 Subject: [PATCH 31/48] Simplified and streamlined model building, added headers to labelled datasets --- ...full_control.py => ex1_2d_full_control.py} | 51 +++++++-- examples/ex1_2d_quick_start.py | 90 --------------- .../perturbed_datasets/labelled_dataset.txt | 8 ++ .../validation_datasets/labelled_dataset.txt | 8 ++ src/base/IcarusApp.C | 51 --------- src/icarus/modelbuilder.py | 104 +----------------- src/icarus/modelframework.py | 61 ---------- 7 files changed, 62 insertions(+), 311 deletions(-) rename examples/{ex2_2d_full_control.py => ex1_2d_full_control.py} (70%) delete mode 100644 examples/ex1_2d_quick_start.py create mode 100644 examples/example_outputs/ex1_outputs/perturbed_datasets/labelled_dataset.txt create mode 100644 examples/example_outputs/ex1_outputs/validation_datasets/labelled_dataset.txt delete mode 100644 src/base/IcarusApp.C delete mode 100644 src/icarus/modelframework.py diff --git a/examples/ex2_2d_full_control.py b/examples/ex1_2d_full_control.py similarity index 70% rename from examples/ex2_2d_full_control.py rename to examples/ex1_2d_full_control.py index bf514302..0043d5a3 100644 --- a/examples/ex2_2d_full_control.py +++ b/examples/ex1_2d_full_control.py @@ -1,5 +1,10 @@ from pathlib import Path import math +import sklearn +import inspect +import sys +import joblib +import numpy as np from icarus import (DatasetGenerator, ModelBuilder, MooseSetup, @@ -11,7 +16,7 @@ def main(): # Required parameters - change to desired values # Input and output paths input_file_path = "scripts/moose/plate_2d_thermal.i" - output_file_path = "examples/example_outputs/ex2_outputs/" + output_file_path = "examples/example_outputs/ex1_outputs/" # Parallelisation options n_tasks, n_threads = 1, 2 num_para_runs = 2 @@ -23,7 +28,7 @@ def main(): # For a comprehensive list of available classifiers, please refer # to the relevant documentation: # https://scikit-learn.org/stable/supervised_learning.html - classifier_framework = "sklearn.ensemble.RandomForestClassifier" + classifier_framework = sklearn.ensemble.RandomForestClassifier # Classifier parameters # Note that not all parameters are required for every classifier. # Any irrelevant or unsupported parameters for the selected model @@ -38,6 +43,17 @@ def main(): "C": 0.025, "max_depth": 5 } + # Filter parameters according to chosen classifier + sig = inspect.signature(classifier_framework.__init__) + valid_params = set(sig.parameters.keys()) - {"self"} + filtered_params = {k: v for k, v in classifier_params.items() if k in valid_params} + # Make sure there are some filtered parameters to be used + if len(filtered_params) == 0: + print(f"Invalid parameters for {classifier_framework}: {classifier_params}") + sys.exit() + # Print ignored parameters + ignored = set(classifier_params) - set(filtered_params) + print(f"Ignored parameters for {classifier_framework}: {ignored}") # The field being analysed as used by your input script field_key = "temperature" # Analysis sensor type @@ -55,8 +71,9 @@ def main(): multi = True # Whether the unlabelled data should be deleted delete_datasets = True - # Whether the model should be saved as a .pkl file + # Whether the model should be saved as a .pkl file and what it should be called save = False + model_name = "ex1_2d_model" # Setup MOOSE aspects of Icarus moose_setup = MooseSetup(input_file_path, n_tasks=n_tasks, n_threads=n_threads) @@ -96,22 +113,25 @@ def main(): dataset_generator.generate_ground_truths(path, num_ground_truths) # Sets up, runs, and (optionally) saves the chosen model: - model = ModelBuilder(output_file_path, classifier_framework, classifier_params, field_key, - sensor_type, sensors, dims, errors, multi, delete_datasets, save) + model = ModelBuilder(output_file_path, field_key, sensor_type, sensors, dims, errors, multi, delete_datasets) - # Generates labelled training and validation datasets + # Generates labelled training and validation datasets and saves them + header = ",".join([f"T{i}" for i in range(1, sensors[0]*sensors[1]*sensors[2]+1)] + ["Label"]) training_dataset = model.generate_labelled_dataset(perturbed_path) + np.savetxt(perturbed_path/"labelled_dataset.txt", training_dataset, fmt="%d", delimiter=",", header=header, comments='') validation_dataset = model.generate_labelled_dataset(validation_path) + np.savetxt(validation_path/"labelled_dataset.txt", training_dataset, fmt="%d", delimiter=",", header=header, comments='') - # Deletes unlabelled datasets (and saves labelled) if specified + # Deletes unlabelled datasets if specified if delete_datasets: - model.delete_data(perturbed_path, training_dataset, validation_path, validation_dataset) + model.delete_data(perturbed_path, validation_path) # Splits data according to modelling requirements X_train, y_train, X_val, y_val = training_dataset[:, :-1], training_dataset[:, -1], validation_dataset[:, :-1], validation_dataset[:, -1] # Builds the specified model and predicts the labels of the validation datasets - classifier = model.classifier_model(X_train, y_train) + classifier = classifier_framework(**filtered_params) + classifier.fit(X_train, y_train) y_pred = classifier.predict(X_val) # Outputs model metrics @@ -119,7 +139,16 @@ def main(): # Saves model if specified if save: - model.save_model(classifier) + joblib.dump(classifier, str(output_file_path)+model_name+'_model.pkl') if __name__ == "__main__": - main() \ No newline at end of file + main() + +# Next steps: + # Continue building test suite + # Improve classifiers + # Make tkinter interface optional + # Stretch goals: + # More complex input files, e.g. 3D monoblock + # Accepting multiple simultaneous perturbations - generate datasets class + # Allowing user to define sensor positions - labelled dataset function \ No newline at end of file diff --git a/examples/ex1_2d_quick_start.py b/examples/ex1_2d_quick_start.py deleted file mode 100644 index c9a9db12..00000000 --- a/examples/ex1_2d_quick_start.py +++ /dev/null @@ -1,90 +0,0 @@ -from icarus import (DatasetGenerator, - ModelBuilder, - MooseSetup, - UserInterface) - -def main(): - """main: runs all of the other functions. - """ - # Required parameters - change to desired values - # Input and output paths - input_file_path = "scripts/moose/plate_2d_thermal.i" - output_file_path = "examples/example_outputs/ex1_outputs/" - # Parallelisation options - n_tasks, n_threads = 1, 2 - num_para_runs = 2 - # Ratio of invalid:valid datasets in training data - ground_truths_per_dataset = 3 - - # Modelling parameters - change to desired values: - # Classifier framework - # For a comprehensive list of available classifiers, please refer - # to the relevant documentation: - # https://scikit-learn.org/stable/supervised_learning.html - classifier_framework = "sklearn.ensemble.RandomForestClassifier" - # Classifier parameters - # Note that not all parameters are required for every classifier. - # Any irrelevant or unsupported parameters for the selected model - # will be automatically ignored during model creation. - # For a comprehensive list of available parameters for each classifier, - # please refer to the relevant documentation: - # https://scikit-learn.org/stable/modules/classes.html#classifier - classifier_params = { - "n_estimators": 100, - "random_state": 42, - "kernel": "linear", - "C": 0.025, - "max_depth": 5 - } - # The field being analysed as used by your input script - field_key = "temperature" - # Analysis sensor type - # (thermocouples for temperature, disp_sensors for displacement, or strain_gauges for strain) - sensor_type = "thermocouples" - # Sensor arrangement (x_sensors, y_sensors, z_sensors) - sensors = (3,2,1) - # Number of spatial dimensions being used - dims = 2 - # Whether the sensors should include basic errors or not - errors = False - # Whether the model should be a multi-classifier rather than binary, so it can - # distinguish between perturbations to different classes of invalid parameters - # (geometry, BCs, material properties) rather than just valid and invalid results - multi = True - # Whether the unlabelled data should be deleted - delete_datasets = False - # Whether the model should be saved as a .pkl file - save = False - - # Setup MOOSE aspects of Icarus - moose_setup = MooseSetup(input_file_path, n_tasks=n_tasks, n_threads=n_threads) - moose_runner, moose_modifier = moose_setup.setup_moose_runner() - - # Accesses the available parameters and allow user to select which are perturbed, what - # values they should take, and how many validation values to use for each - found_vars = moose_modifier.get_vars() - num_validation_values, parameters = UserInterface().accept_parameters(found_vars) - - # Initialise dataset generator and generate perturbed, validation and ground truths datasets - dataset_generator = DatasetGenerator(moose_runner, moose_modifier, parameters, output_file_path, num_para_runs) - dataset_generator.generate_datasets(num_validation_values, ground_truths_per_dataset) - - # Sets up, runs, and (optionally) saves the chosen model: - model = ModelBuilder(output_file_path, classifier_framework, classifier_params, field_key, - sensor_type, sensors, dims, errors, multi, delete_datasets, save) - model.run_model() - -if __name__ == "__main__": - main() - -# Next steps: - # Docstrings + type hinting for recent changes - # Test suite using PyTest - # Optimise usability and structure of classes/dicts/input files, etc - # Improve classifiers - # Fully configureable example (decoupled steps) - # Stretch goals: - # Make tkinter interface optional - # More complex input files, e.g. 3D monoblock - # Accepting multiple simultaneous perturbations - generate datasets class - # Allowing user to define sensor positions - labelled dataset function diff --git a/examples/example_outputs/ex1_outputs/perturbed_datasets/labelled_dataset.txt b/examples/example_outputs/ex1_outputs/perturbed_datasets/labelled_dataset.txt new file mode 100644 index 00000000..e0a650ea --- /dev/null +++ b/examples/example_outputs/ex1_outputs/perturbed_datasets/labelled_dataset.txt @@ -0,0 +1,8 @@ +# T1,T2,T3,T4,T5,T6,Label +140,259,379,140,259,379,0 +327,634,942,327,634,942,2 +390,759,1129,390,759,1129,2 +452,884,1317,452,884,1317,2 +140,259,379,140,259,379,0 +202,384,567,202,384,567,2 +265,509,754,265,509,754,2 diff --git a/examples/example_outputs/ex1_outputs/validation_datasets/labelled_dataset.txt b/examples/example_outputs/ex1_outputs/validation_datasets/labelled_dataset.txt new file mode 100644 index 00000000..e0a650ea --- /dev/null +++ b/examples/example_outputs/ex1_outputs/validation_datasets/labelled_dataset.txt @@ -0,0 +1,8 @@ +# T1,T2,T3,T4,T5,T6,Label +140,259,379,140,259,379,0 +327,634,942,327,634,942,2 +390,759,1129,390,759,1129,2 +452,884,1317,452,884,1317,2 +140,259,379,140,259,379,0 +202,384,567,202,384,567,2 +265,509,754,265,509,754,2 diff --git a/src/base/IcarusApp.C b/src/base/IcarusApp.C deleted file mode 100644 index 5a60416c..00000000 --- a/src/base/IcarusApp.C +++ /dev/null @@ -1,51 +0,0 @@ -#include "IcarusApp.h" -#include "Moose.h" -#include "AppFactory.h" -#include "ModulesApp.h" -#include "MooseSyntax.h" - -InputParameters -IcarusApp::validParams() -{ - InputParameters params = MooseApp::validParams(); - params.set("use_legacy_material_output") = false; - params.set("use_legacy_initial_residual_evaluation_behavior") = false; - return params; -} - -IcarusApp::IcarusApp(InputParameters parameters) : MooseApp(parameters) -{ - IcarusApp::registerAll(_factory, _action_factory, _syntax); -} - -IcarusApp::~IcarusApp() {} - -void -IcarusApp::registerAll(Factory & f, ActionFactory & af, Syntax & s) -{ - ModulesApp::registerAllObjects(f, af, s); - Registry::registerObjectsTo(f, {"IcarusApp"}); - Registry::registerActionsTo(af, {"IcarusApp"}); - - /* register custom execute flags, action syntax, etc. here */ -} - -void -IcarusApp::registerApps() -{ - registerApp(IcarusApp); -} - -/*************************************************************************************************** - *********************** Dynamic Library Entry Points - DO NOT MODIFY ****************************** - **************************************************************************************************/ -extern "C" void -IcarusApp__registerAll(Factory & f, ActionFactory & af, Syntax & s) -{ - IcarusApp::registerAll(f, af, s); -} -extern "C" void -IcarusApp__registerApps() -{ - IcarusApp::registerApps(); -} diff --git a/src/icarus/modelbuilder.py b/src/icarus/modelbuilder.py index 3cb16d32..4751a71b 100644 --- a/src/icarus/modelbuilder.py +++ b/src/icarus/modelbuilder.py @@ -1,12 +1,9 @@ import numpy as np import pyvale -from pyvale import SensorArrayPoint from sklearn.metrics import accuracy_score -import joblib from mooseherder import ExodusReader, SimData from pathlib import Path import shutil -from icarus.modelframework import SKLearnClassifier class ModelBuilder: """Used to create a sensor array, generate the labelled datasets the sensor array and the @@ -15,19 +12,14 @@ class ModelBuilder: Outputs the pertinent information to the user, and allows the user to save the model, and to delete unlabelled datasets """ - def __init__(self, output_file_path: str, classifier_framework: str, classifier_params: dict, - field_key: str, sensor_type: str, sensors: list=[3,2,1], dims: int=2, errors: bool=False, - multi: bool=False,delete_datasets: bool=False, save: bool=False) -> None: + def __init__(self, output_file_path: str, field_key: str, sensor_type: str, sensors: list=[3,2,1], + dims: int=2, errors: bool=False, multi: bool=False,delete_datasets: bool=False) -> None: """__init__ Parameters ---------- output_file_path : str Path to the location that all outputs should be saved. - classifier_framework : str - The type of ML model to use (RandomForest, SVM, etc.) - classifier_params : dict - The hyperparameters for the classifier. field_key : str The field key used for the analysis field in the input file. sensor_type : str, optional @@ -45,8 +37,6 @@ def __init__(self, output_file_path: str, classifier_framework: str, classifier_ False (meaning use a binary classifier). delete_datasets : bool Allows the user to determine whether or not to delete the unlabelled datasets. - save : bool - Allows the user to determine whether or not to save the model. Raises ---------- @@ -60,10 +50,7 @@ def __init__(self, output_file_path: str, classifier_framework: str, classifier_ not Path(str(output_file_path+"perturbed_datasets/")).exists() or \ not Path(str(output_file_path+"validation_datasets/")).exists(): raise FileNotFoundError(f"At least one required output file path not found. Exiting.") - self.output_file_path = output_file_path - - self.classifier_framework = classifier_framework - self.classifier_params = classifier_params + self.output_file_path = output_file_path self.field_key = field_key @@ -94,14 +81,10 @@ def __init__(self, output_file_path: str, classifier_framework: str, classifier_ raise ValueError(f"Delete datasets must be either True or False, not {delete_datasets}. Exiting.") self.delete_datasets = delete_datasets - if save not in [True, False]: - raise ValueError(f"Save must be either True or False, not {save}. Exiting.") - self.save = save - self.labelled_dataset_cols = (sensors[0]*sensors[1]*sensors[2])+1 - def sensor_array(self, sim_data: SimData) -> SensorArrayPoint: + def sensor_array(self, sim_data: SimData) -> pyvale.SensorArrayPoint: """sensor_array: used to generate the array of sensors used to generate the labelled datasets required for training the model. @@ -200,56 +183,21 @@ def generate_labelled_dataset(self, folder_path: Path) -> list[list[list[float], return labelled_dataset - def delete_data(self, perturbed_path: Path, training_dataset: list[list[list[float],int]], - validation_path: Path, validation_dataset: list[list[list[float],int]]) -> None: + def delete_data(self, perturbed_path: Path, validation_path: Path) -> None: """delete_data: deletes the unlabelled datasets and just saves the labelled dataset Parameters ---------- perturbed_path : Path Path to the save location for the perturbed datasets. - training_dataset : list[list[list[float],int]] - The labelled training dataset. validation_path : Path Path to the save location for the validation datasets. - validation_dataset : list[list[list[float],int]] - The labelled validation dataset. """ - paths = {perturbed_path: training_dataset, validation_path: validation_dataset} - for path in paths: + for path in [perturbed_path, validation_path]: for folder in path.iterdir(): if folder.is_dir(): shutil.rmtree(folder) - dataset = paths[path] - np.savetxt(path/"labelled_dataset.txt", dataset, fmt="%d", delimiter=",") - - - def classifier_model(self, X_train: list[float], y_train: list[float]) \ - -> SKLearnClassifier: - """classifier_model: generates a classifier of the selected framework for the - given data. - - Parameters - ---------- - X_train : list[float] - The training data from the labelled training dataset. - y_train : list[float] - The labels for each row of the training dataset. - - Returns - ------- - classifier : SKLearnClassifier - The classifier itself. - """ - classifier = SKLearnClassifier(self.classifier_framework, self.classifier_params) - classifier.fit(X_train, y_train) - - ignored = classifier.ignored_params() - if ignored: - print(f"Ignored parameters for {self.classifier_framework}: {ignored}") - return classifier.get_model() - def output_model_metrics(self, y_val: list[float], y_pred: list[float]) -> None: """output_model_metrics: prints the actual + predicted labels, as well as the final @@ -267,43 +215,3 @@ def output_model_metrics(self, y_val: list[float], y_pred: list[float]) -> None: val_accuracy = accuracy_score(y_val, y_pred) print(f"Validation Accuracy: {val_accuracy * 100:.2f}%") - - - def save_model(self, classifier: SKLearnClassifier) -> None: - """save_model: used to save the model as a .pkl file - - Parameters - ---------- - classifier : RandomForestClassifier - The classifier model generated to be saved. - """ - joblib.dump(classifier, str(self.output_file_path)+str(self.framework)+'_model.pkl') - - - def run_model(self) -> SKLearnClassifier: - """run_model: Convenience function to run all aspects of the ModelBuilder class. - - Returns - ---------- - classifier : RandomForestClassifier - The classifier model itself. - """ - perturbed_path, validation_path = Path(self.output_file_path+"perturbed_datasets/"), Path(self.output_file_path+"validation_datasets/") - - training_dataset = self.generate_labelled_dataset(perturbed_path) - validation_dataset = self.generate_labelled_dataset(validation_path) - - if self.delete_datasets: - self.delete_data(perturbed_path, training_dataset, validation_path, validation_dataset) - - X_train, y_train, X_val, y_val = training_dataset[:, :-1], training_dataset[:, -1], validation_dataset[:, :-1], validation_dataset[:, -1] - - classifier = self.classifier_model(X_train, y_train) - y_pred = classifier.predict(X_val) - - self.output_model_metrics(y_val, y_pred) - - if self.save: - self.save_model(classifier) - - return classifier \ No newline at end of file diff --git a/src/icarus/modelframework.py b/src/icarus/modelframework.py deleted file mode 100644 index 61b754ff..00000000 --- a/src/icarus/modelframework.py +++ /dev/null @@ -1,61 +0,0 @@ -from abc import ABC, abstractmethod -import sklearn -import inspect - - -def get_classifier_class(classifier_framework: str): - try: - return eval(classifier_framework) - except NameError as e: - raise ValueError(f"Invalid classifier framework: {classifier_framework}. Please check the input.") - - -def filter_kwargs(classifier_framework, classifier_params): - sig = inspect.signature(classifier_framework.__init__) - valid_params = set(sig.parameters.keys()) - {"self"} - filtered_params = {k: v for k, v in classifier_params.items() if k in valid_params} - - if len(filtered_params) == 0: - raise ValueError(f"Invalid classifier parameters {classifier_params}. Please check the input.") - else: - return filtered_params - - -class BaseClassifier(ABC): - @abstractmethod - def fit(self, X, y): - pass - - @abstractmethod - def predict(self, X): - pass - - @abstractmethod - def get_model(self): - pass - - -class SKLearnClassifier(BaseClassifier): - def __init__(self, classifier_framework, classifier_params): - self.classifier_framework = get_classifier_class(classifier_framework) - self.classifier_params = classifier_params - self.filtered_params = filter_kwargs(self.classifier_framework, self.classifier_params) - self.model = self.classifier_framework(**self.filtered_params) - self._ignored = set(classifier_params) - set(self.filtered_params) - - - def fit(self, X, y): - self.model.fit(X, y) - - - def predict(self, X): - return self.model.predict(X) - - - def get_model(self): - return self.model - - - def ignored_params(self): - return self._ignored - \ No newline at end of file From 3b4c97bb50bc6ac7c6ed4bc77c853482380deb64 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 20 May 2025 08:54:52 +0100 Subject: [PATCH 32/48] Generalised labelled dataset header --- examples/ex1_2d_full_control.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/ex1_2d_full_control.py b/examples/ex1_2d_full_control.py index 0043d5a3..ca7e95f7 100644 --- a/examples/ex1_2d_full_control.py +++ b/examples/ex1_2d_full_control.py @@ -116,7 +116,7 @@ def main(): model = ModelBuilder(output_file_path, field_key, sensor_type, sensors, dims, errors, multi, delete_datasets) # Generates labelled training and validation datasets and saves them - header = ",".join([f"T{i}" for i in range(1, sensors[0]*sensors[1]*sensors[2]+1)] + ["Label"]) + header = ",".join([f"Sensor {i} reading" for i in range(1, sensors[0]*sensors[1]*sensors[2]+1)] + ["Label"]) training_dataset = model.generate_labelled_dataset(perturbed_path) np.savetxt(perturbed_path/"labelled_dataset.txt", training_dataset, fmt="%d", delimiter=",", header=header, comments='') validation_dataset = model.generate_labelled_dataset(validation_path) From f8a253f0c4bc6d8ca472c8910a4a942f76fc7010 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 20 May 2025 09:52:46 +0100 Subject: [PATCH 33/48] Made tkinter interface optional --- examples/ex1_2d_full_control.py | 39 ++++++++++++++++--- .../perturbed_datasets/labelled_dataset.txt | 8 ---- .../validation_datasets/labelled_dataset.txt | 8 ---- 3 files changed, 34 insertions(+), 21 deletions(-) delete mode 100644 examples/example_outputs/ex1_outputs/perturbed_datasets/labelled_dataset.txt delete mode 100644 examples/example_outputs/ex1_outputs/validation_datasets/labelled_dataset.txt diff --git a/examples/ex1_2d_full_control.py b/examples/ex1_2d_full_control.py index ca7e95f7..cf6a8286 100644 --- a/examples/ex1_2d_full_control.py +++ b/examples/ex1_2d_full_control.py @@ -16,7 +16,20 @@ def main(): # Required parameters - change to desired values # Input and output paths input_file_path = "scripts/moose/plate_2d_thermal.i" - output_file_path = "examples/example_outputs/ex1_outputs/" + output_file_path = "examples/example_outputs/ex1_outputs/" + # Perturbation parameters, leave blank (ie parameters = {}) to use auto-generated + # tkinter interface + # Format as {param_name, [param_class, [param_values]]} + # where param_name is the name of the parameter from the input file + # param_class is the classification of the parameter + # geom - geometry, bc - boundary condtion, mat_prop - material property + # and param_values is a list of values the parameter should take on + parameters = { + "max_temp": ["bc", [750, 1000, 1250, 1500, 1750]], + "thermal_conductivity": ["mat_prop", [55, 65, 76, 85, 95]] + } + # Number of validation values to use for each parameter, respectively + num_validation_values = [3, 3] # Parallelisation options n_tasks, n_threads = 1, 2 num_para_runs = 2 @@ -79,10 +92,27 @@ def main(): moose_setup = MooseSetup(input_file_path, n_tasks=n_tasks, n_threads=n_threads) moose_runner, moose_modifier = moose_setup.setup_moose_runner() - # Accesses the available parameters and allow user to select which are perturbed, what - # values they should take, and how many validation values to use for each + # Accesses the available parameters found_vars = moose_modifier.get_vars() - num_validation_values, parameters = UserInterface().accept_parameters(found_vars) + if len(parameters) == 0: + # If none have been manually specified, allow user to select which parameters are perturbed, + # what values they should take, and how many validation values to use for each + num_validation_values, parameters = UserInterface().accept_parameters(found_vars) + else: + # Ensure parameters dictionary and num_validation_values list are valid + if len(num_validation_values) != len(parameters) or 0 in num_validation_values: + print("Invalidation number of validation values specified") + sys.exit() + for param_name, param_data in parameters.items(): + if param_name not in found_vars.keys(): + print(f"Parameter {param_name} not found in input file. Exiting.") + sys.exit() + if param_data[0].lower() not in ["geom", "bc", "mat_prop"]: + print(f"Invalid parameter class. Exiting.") + sys.exit() + if len(param_data[1]) < 1: + print("Insufficient parameter values. Exiting.") + sys.exit() # Initialise dataset generator and generate perturbed, validation and ground truths datasets dataset_generator = DatasetGenerator(moose_runner, moose_modifier, parameters, output_file_path, num_para_runs) @@ -147,7 +177,6 @@ def main(): # Next steps: # Continue building test suite # Improve classifiers - # Make tkinter interface optional # Stretch goals: # More complex input files, e.g. 3D monoblock # Accepting multiple simultaneous perturbations - generate datasets class diff --git a/examples/example_outputs/ex1_outputs/perturbed_datasets/labelled_dataset.txt b/examples/example_outputs/ex1_outputs/perturbed_datasets/labelled_dataset.txt deleted file mode 100644 index e0a650ea..00000000 --- a/examples/example_outputs/ex1_outputs/perturbed_datasets/labelled_dataset.txt +++ /dev/null @@ -1,8 +0,0 @@ -# T1,T2,T3,T4,T5,T6,Label -140,259,379,140,259,379,0 -327,634,942,327,634,942,2 -390,759,1129,390,759,1129,2 -452,884,1317,452,884,1317,2 -140,259,379,140,259,379,0 -202,384,567,202,384,567,2 -265,509,754,265,509,754,2 diff --git a/examples/example_outputs/ex1_outputs/validation_datasets/labelled_dataset.txt b/examples/example_outputs/ex1_outputs/validation_datasets/labelled_dataset.txt deleted file mode 100644 index e0a650ea..00000000 --- a/examples/example_outputs/ex1_outputs/validation_datasets/labelled_dataset.txt +++ /dev/null @@ -1,8 +0,0 @@ -# T1,T2,T3,T4,T5,T6,Label -140,259,379,140,259,379,0 -327,634,942,327,634,942,2 -390,759,1129,390,759,1129,2 -452,884,1317,452,884,1317,2 -140,259,379,140,259,379,0 -202,384,567,202,384,567,2 -265,509,754,265,509,754,2 From c3c488760c66ab1407cdc37c5d79937b803e6e68 Mon Sep 17 00:00:00 2001 From: Luke Humphrey Date: Tue, 20 May 2025 12:20:35 +0100 Subject: [PATCH 34/48] Issac 2025 Work Package --- .gitignore | 488 ++++--- LICENSE | 1130 +++++++---------- README.md | 58 +- dependencies/mooseherder/.gitignore | 179 +++ dependencies/mooseherder/LICENSE | 504 ++++++++ dependencies/mooseherder/README.md | 44 + .../dev/dev_create_moose_config.py | 16 + .../mooseherder/dev/dev_para_multi_moose.py | 138 ++ .../mooseherder/dev/dev_read_exodus.py | 17 + .../mooseherder/docs/requirements.txt | 1 + .../examples/ex0_create_moose_config.py | 27 + .../examples/ex1a_modify_moose_input.py | 46 + .../examples/ex1b_modify_gmsh_input.py | 46 + .../examples/ex2a_run_moose_once.py | 51 + .../examples/ex2b_run_gmsh_once.py | 63 + .../examples/ex2c_run_both_once .py | 86 ++ .../examples/ex3_run_moose_seq_para.py | 103 ++ .../examples/ex4_run_gmsh-moose_seq_para.py | 108 ++ .../examples/ex5_run_moose_paramulti.py | 85 ++ .../examples/ex6_read_moose_exodus.py | 127 ++ .../examples/ex7a_read_moose_herd_results.py | 119 ++ .../ex7b_read_multi_herd_results copy.py | 110 ++ .../ex7c_read_multi_gmshmoose_results.py | 110 ++ ...ex7d_readconfig_multi_gmshmoose_results.py | 140 ++ .../ex8_read_existing_sweep_output.py | 54 + .../ex9_full_functionality_no_print.py | 62 + .../example_output/sim-workdir-1/sim-1.i | 92 ++ .../example_output/sim-workdir-1/sim-12.i | 92 ++ .../example_output/sim-workdir-1/sim-12_out.e | Bin 0 -> 105844 bytes .../example_output/sim-workdir-1/sim-13.i | 92 ++ .../example_output/sim-workdir-1/sim-13_out.e | Bin 0 -> 159724 bytes .../example_output/sim-workdir-1/sim-1_out.e | Bin 0 -> 105840 bytes .../example_output/sim-workdir-1/sim-20.i | 92 ++ .../example_output/sim-workdir-1/sim-20_out.e | Bin 0 -> 105844 bytes .../example_output/sim-workdir-1/sim-23.i | 92 ++ .../example_output/sim-workdir-1/sim-23_out.e | Bin 0 -> 159724 bytes .../example_output/sim-workdir-1/sim-8.i | 92 ++ .../example_output/sim-workdir-1/sim-8_out.e | Bin 0 -> 159720 bytes .../example_output/sim-workdir-2/sim-15.i | 92 ++ .../example_output/sim-workdir-2/sim-15_out.e | Bin 0 -> 159724 bytes .../example_output/sim-workdir-2/sim-17.i | 92 ++ .../example_output/sim-workdir-2/sim-17_out.e | Bin 0 -> 105844 bytes .../example_output/sim-workdir-2/sim-2.i | 92 ++ .../example_output/sim-workdir-2/sim-22.i | 92 ++ .../example_output/sim-workdir-2/sim-22_out.e | Bin 0 -> 159724 bytes .../example_output/sim-workdir-2/sim-2_out.e | Bin 0 -> 105840 bytes .../example_output/sim-workdir-2/sim-5.i | 92 ++ .../example_output/sim-workdir-2/sim-5_out.e | Bin 0 -> 159720 bytes .../example_output/sim-workdir-2/sim-9.i | 92 ++ .../example_output/sim-workdir-2/sim-9_out.e | Bin 0 -> 105840 bytes .../example_output/sim-workdir-3/sim-10.i | 92 ++ .../example_output/sim-workdir-3/sim-10_out.e | Bin 0 -> 105844 bytes .../example_output/sim-workdir-3/sim-16.i | 92 ++ .../example_output/sim-workdir-3/sim-16_out.e | Bin 0 -> 159724 bytes .../example_output/sim-workdir-3/sim-18.i | 92 ++ .../example_output/sim-workdir-3/sim-18_out.e | Bin 0 -> 105844 bytes .../example_output/sim-workdir-3/sim-24.i | 92 ++ .../example_output/sim-workdir-3/sim-24_out.e | Bin 0 -> 159724 bytes .../example_output/sim-workdir-3/sim-3.i | 92 ++ .../example_output/sim-workdir-3/sim-3_out.e | Bin 0 -> 105840 bytes .../example_output/sim-workdir-3/sim-7.i | 92 ++ .../example_output/sim-workdir-3/sim-7_out.e | Bin 0 -> 159720 bytes .../example_output/sim-workdir-4/sim-11.i | 92 ++ .../example_output/sim-workdir-4/sim-11_out.e | Bin 0 -> 105844 bytes .../example_output/sim-workdir-4/sim-14.i | 92 ++ .../example_output/sim-workdir-4/sim-14_out.e | Bin 0 -> 159724 bytes .../example_output/sim-workdir-4/sim-19.i | 92 ++ .../example_output/sim-workdir-4/sim-19_out.e | Bin 0 -> 105844 bytes .../example_output/sim-workdir-4/sim-21.i | 92 ++ .../example_output/sim-workdir-4/sim-21_out.e | Bin 0 -> 159724 bytes .../example_output/sim-workdir-4/sim-4.i | 92 ++ .../example_output/sim-workdir-4/sim-4_out.e | Bin 0 -> 105840 bytes .../example_output/sim-workdir-4/sim-6.i | 92 ++ .../example_output/sim-workdir-4/sim-6_out.e | Bin 0 -> 159720 bytes dependencies/mooseherder/examples/run_all.py | 30 + dependencies/mooseherder/pyproject.toml | 32 + .../scripts/gmsh/gmsh_tens_spline_2d.geo | 62 + .../scripts/gmsh/gmsh_tens_spline_3d.geo | 89 ++ .../scripts/gmsh_tens_spline_2d-mod_vars.geo | 62 + .../mooseherder/scripts/moose-mech_mod-vars.i | 92 ++ .../moose-test-cases/moose-creep-gmsh.i | 182 +++ .../moose-test-cases/moose-mech-block-2d-o1.i | 82 ++ .../moose-mech-block-2d-o2-moo0.i | 85 ++ .../moose-mech-block-2d-o2-moo1.i | 85 ++ .../moose-mech-block-2d-o2-moo2.i | 85 ++ .../moose-test-cases/moose-mech-block-2d-o2.i | 83 ++ .../moose-test-cases/moose-mech-block-3d-o1.i | 92 ++ .../moose-mech-block-3d-o2-moo2.i | 94 ++ .../moose-test-cases/moose-mech-block-3d-o2.i | 92 ++ .../moose-test-cases/moose-mech-sub-dom.i | 94 ++ .../moose-mech-subdom-2d-o1.i | 95 ++ .../moose-mech-subdom-2d-o2-moo0.i | 97 ++ .../moose-mech-subdom-2d-o2-moo1.i | 97 ++ .../moose-mech-subdom-2d-o2-moo2.i | 97 ++ .../moose-mech-subdom-2d-o2.i | 95 ++ .../moose-mech-subdom-3d-o1.i | 103 ++ .../moose-mech-subdom-3d-o2.i | 103 ++ .../moose-test-cases/moose-mech-thermal-exp.i | 119 ++ .../moose-test-cases/moose-mech-two-beams.i | 107 ++ .../scripts/moose/moose-mech-gmsh.i | 73 ++ .../scripts/moose/moose-mech-outtest.i | 115 ++ .../scripts/moose/moose-mech-simple.i | 92 ++ .../mooseherder/src/mooseherder/__init__.py | 28 + .../src/mooseherder/directorymanager.py | 302 +++++ .../src/mooseherder/exodusreader.py | 590 +++++++++ .../mooseherder/src/mooseherder/gmshrunner.py | 120 ++ .../src/mooseherder/inputmodifier.py | 197 +++ .../src/mooseherder/mooseconfig.py | 175 +++ .../mooseherder/src/mooseherder/mooseherd.py | 412 ++++++ .../src/mooseherder/mooserunner.py | 232 ++++ .../src/mooseherder/outputreader.py | 25 + .../mooseherder/src/mooseherder/simdata.py | 93 ++ .../mooseherder/src/mooseherder/simrunner.py | 38 + .../src/mooseherder/sweepreader.py | 291 +++++ dependencies/mooseherder/tests/__init__.py | 0 .../tests/directorymanager_test.py | 80 ++ .../mooseherder/tests/exodusreader_test.py | 328 +++++ .../tests/generate_moose_output.py | 50 + .../mooseherder/tests/gmsh/gmsh-broken.geo | 62 + .../mooseherder/tests/gmsh/gmsh-test.geo | 61 + .../mooseherder/tests/gmshrunner_test.py | 118 ++ dependencies/mooseherder/tests/herdchecker.py | 200 +++ .../tests/inputmodifier_gmsh_test.py | 101 ++ .../tests/inputmodifier_moose_test.py | 177 +++ .../tests/moose/moose-test-broken.i | 94 ++ .../mooseherder/tests/moose/moose-test-gmsh.i | 73 ++ .../mooseherder/tests/moose/moose-test.i | 94 ++ .../mooseherder/tests/mooseconfig_test.py | 160 +++ .../mooseherder/tests/mooseherd_test.py | 319 +++++ .../mooseherder/tests/mooserunner_test.py | 233 ++++ .../tests/output/moose-mech-outtest.i | 136 ++ .../tests/output/moose-mech-outtest_out.e | Bin 0 -> 336948 bytes .../tests/output/sim-workdir-1/sim-1.i | 92 ++ .../tests/output/sim-workdir-1/sim-12.i | 92 ++ .../tests/output/sim-workdir-1/sim-12_out.e | Bin 0 -> 105844 bytes .../tests/output/sim-workdir-1/sim-16.i | 92 ++ .../tests/output/sim-workdir-1/sim-16_out.e | Bin 0 -> 159724 bytes .../tests/output/sim-workdir-1/sim-1_out.e | Bin 0 -> 105840 bytes .../tests/output/sim-workdir-1/sim-20.i | 92 ++ .../tests/output/sim-workdir-1/sim-20_out.e | Bin 0 -> 105844 bytes .../tests/output/sim-workdir-1/sim-21.i | 92 ++ .../tests/output/sim-workdir-1/sim-21_out.e | Bin 0 -> 159724 bytes .../tests/output/sim-workdir-1/sim-6.i | 92 ++ .../tests/output/sim-workdir-1/sim-6_out.e | Bin 0 -> 159720 bytes .../tests/output/sim-workdir-2/sim-13.i | 92 ++ .../tests/output/sim-workdir-2/sim-13_out.e | Bin 0 -> 159724 bytes .../tests/output/sim-workdir-2/sim-17.i | 92 ++ .../tests/output/sim-workdir-2/sim-17_out.e | Bin 0 -> 105844 bytes .../tests/output/sim-workdir-2/sim-2.i | 92 ++ .../tests/output/sim-workdir-2/sim-24.i | 92 ++ .../tests/output/sim-workdir-2/sim-24_out.e | Bin 0 -> 159724 bytes .../tests/output/sim-workdir-2/sim-2_out.e | Bin 0 -> 105840 bytes .../tests/output/sim-workdir-2/sim-5.i | 92 ++ .../tests/output/sim-workdir-2/sim-5_out.e | Bin 0 -> 159720 bytes .../tests/output/sim-workdir-2/sim-9.i | 92 ++ .../tests/output/sim-workdir-2/sim-9_out.e | Bin 0 -> 105840 bytes .../tests/output/sim-workdir-3/sim-10.i | 92 ++ .../tests/output/sim-workdir-3/sim-10_out.e | Bin 0 -> 105844 bytes .../tests/output/sim-workdir-3/sim-14.i | 92 ++ .../tests/output/sim-workdir-3/sim-14_out.e | Bin 0 -> 159724 bytes .../tests/output/sim-workdir-3/sim-18.i | 92 ++ .../tests/output/sim-workdir-3/sim-18_out.e | Bin 0 -> 105844 bytes .../tests/output/sim-workdir-3/sim-22.i | 92 ++ .../tests/output/sim-workdir-3/sim-22_out.e | Bin 0 -> 159724 bytes .../tests/output/sim-workdir-3/sim-3.i | 92 ++ .../tests/output/sim-workdir-3/sim-3_out.e | Bin 0 -> 105840 bytes .../tests/output/sim-workdir-3/sim-8.i | 92 ++ .../tests/output/sim-workdir-3/sim-8_out.e | Bin 0 -> 159720 bytes .../tests/output/sim-workdir-4/sim-11.i | 92 ++ .../tests/output/sim-workdir-4/sim-11_out.e | Bin 0 -> 105844 bytes .../tests/output/sim-workdir-4/sim-15.i | 92 ++ .../tests/output/sim-workdir-4/sim-15_out.e | Bin 0 -> 159724 bytes .../tests/output/sim-workdir-4/sim-19.i | 92 ++ .../tests/output/sim-workdir-4/sim-19_out.e | Bin 0 -> 105844 bytes .../tests/output/sim-workdir-4/sim-23.i | 92 ++ .../tests/output/sim-workdir-4/sim-23_out.e | Bin 0 -> 159724 bytes .../tests/output/sim-workdir-4/sim-4.i | 92 ++ .../tests/output/sim-workdir-4/sim-4_out.e | Bin 0 -> 105840 bytes .../tests/output/sim-workdir-4/sim-7.i | 92 ++ .../tests/output/sim-workdir-4/sim-7_out.e | Bin 0 -> 159720 bytes .../mooseherder/tests/sweepreader_test.py | 34 + docs/requirements.txt | 9 + examples/ex1_2d_full_control.py | 183 +++ moose-config.json | 5 + pyproject.toml | 12 +- scripts/moose/monoblock_3d_thermal.i | 753 +++++++++++ scripts/moose/plate_2d_thermal.i | 74 ++ src/icarus.egg-info/PKG-INFO | 564 ++++++++ src/icarus/__init__.py | 14 + src/icarus/datasetgenerator.py | 210 +++ src/icarus/modelbuilder.py | 217 ++++ src/icarus/moosesetup.py | 98 ++ src/icarus/userinterface.py | 170 +++ tests/__init__.py | 0 tests/moosesetup_test.py | 33 + 195 files changed, 17209 insertions(+), 818 deletions(-) create mode 100644 dependencies/mooseherder/.gitignore create mode 100644 dependencies/mooseherder/LICENSE create mode 100644 dependencies/mooseherder/README.md create mode 100644 dependencies/mooseherder/dev/dev_create_moose_config.py create mode 100644 dependencies/mooseherder/dev/dev_para_multi_moose.py create mode 100644 dependencies/mooseherder/dev/dev_read_exodus.py create mode 100644 dependencies/mooseherder/docs/requirements.txt create mode 100644 dependencies/mooseherder/examples/ex0_create_moose_config.py create mode 100644 dependencies/mooseherder/examples/ex1a_modify_moose_input.py create mode 100644 dependencies/mooseherder/examples/ex1b_modify_gmsh_input.py create mode 100644 dependencies/mooseherder/examples/ex2a_run_moose_once.py create mode 100644 dependencies/mooseherder/examples/ex2b_run_gmsh_once.py create mode 100644 dependencies/mooseherder/examples/ex2c_run_both_once .py create mode 100644 dependencies/mooseherder/examples/ex3_run_moose_seq_para.py create mode 100644 dependencies/mooseherder/examples/ex4_run_gmsh-moose_seq_para.py create mode 100644 dependencies/mooseherder/examples/ex5_run_moose_paramulti.py create mode 100644 dependencies/mooseherder/examples/ex6_read_moose_exodus.py create mode 100644 dependencies/mooseherder/examples/ex7a_read_moose_herd_results.py create mode 100644 dependencies/mooseherder/examples/ex7b_read_multi_herd_results copy.py create mode 100644 dependencies/mooseherder/examples/ex7c_read_multi_gmshmoose_results.py create mode 100644 dependencies/mooseherder/examples/ex7d_readconfig_multi_gmshmoose_results.py create mode 100644 dependencies/mooseherder/examples/ex8_read_existing_sweep_output.py create mode 100644 dependencies/mooseherder/examples/ex9_full_functionality_no_print.py create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-13.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-13_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-23.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-23_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-15.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-15_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-2.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-22.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-22_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-2_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-10.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-10_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-18.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-18_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-24.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-24_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-3.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-3_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-11.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-11_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-21.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-21_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-4.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-4_out.e create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6.i create mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6_out.e create mode 100644 dependencies/mooseherder/examples/run_all.py create mode 100644 dependencies/mooseherder/pyproject.toml create mode 100644 dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_2d.geo create mode 100644 dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_3d.geo create mode 100644 dependencies/mooseherder/scripts/gmsh_tens_spline_2d-mod_vars.geo create mode 100644 dependencies/mooseherder/scripts/moose-mech_mod-vars.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-creep-gmsh.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o1.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo0.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo1.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo2.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o1.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2-moo2.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-sub-dom.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o1.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo0.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo1.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo2.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o1.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o2.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-thermal-exp.i create mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-two-beams.i create mode 100644 dependencies/mooseherder/scripts/moose/moose-mech-gmsh.i create mode 100644 dependencies/mooseherder/scripts/moose/moose-mech-outtest.i create mode 100644 dependencies/mooseherder/scripts/moose/moose-mech-simple.i create mode 100644 dependencies/mooseherder/src/mooseherder/__init__.py create mode 100644 dependencies/mooseherder/src/mooseherder/directorymanager.py create mode 100644 dependencies/mooseherder/src/mooseherder/exodusreader.py create mode 100644 dependencies/mooseherder/src/mooseherder/gmshrunner.py create mode 100644 dependencies/mooseherder/src/mooseherder/inputmodifier.py create mode 100644 dependencies/mooseherder/src/mooseherder/mooseconfig.py create mode 100644 dependencies/mooseherder/src/mooseherder/mooseherd.py create mode 100644 dependencies/mooseherder/src/mooseherder/mooserunner.py create mode 100644 dependencies/mooseherder/src/mooseherder/outputreader.py create mode 100644 dependencies/mooseherder/src/mooseherder/simdata.py create mode 100644 dependencies/mooseherder/src/mooseherder/simrunner.py create mode 100644 dependencies/mooseherder/src/mooseherder/sweepreader.py create mode 100644 dependencies/mooseherder/tests/__init__.py create mode 100644 dependencies/mooseherder/tests/directorymanager_test.py create mode 100644 dependencies/mooseherder/tests/exodusreader_test.py create mode 100644 dependencies/mooseherder/tests/generate_moose_output.py create mode 100644 dependencies/mooseherder/tests/gmsh/gmsh-broken.geo create mode 100644 dependencies/mooseherder/tests/gmsh/gmsh-test.geo create mode 100644 dependencies/mooseherder/tests/gmshrunner_test.py create mode 100644 dependencies/mooseherder/tests/herdchecker.py create mode 100644 dependencies/mooseherder/tests/inputmodifier_gmsh_test.py create mode 100644 dependencies/mooseherder/tests/inputmodifier_moose_test.py create mode 100644 dependencies/mooseherder/tests/moose/moose-test-broken.i create mode 100644 dependencies/mooseherder/tests/moose/moose-test-gmsh.i create mode 100644 dependencies/mooseherder/tests/moose/moose-test.i create mode 100644 dependencies/mooseherder/tests/mooseconfig_test.py create mode 100644 dependencies/mooseherder/tests/mooseherd_test.py create mode 100644 dependencies/mooseherder/tests/mooserunner_test.py create mode 100644 dependencies/mooseherder/tests/output/moose-mech-outtest.i create mode 100644 dependencies/mooseherder/tests/output/moose-mech-outtest_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-1.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-12.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-12_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-16.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-16_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-1_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-20.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-20_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-21.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-21_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-6.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-6_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-13.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-13_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-17.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-17_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-2.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-24.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-24_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-2_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-5.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-5_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-9.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-9_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-10.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-10_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-14.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-14_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-18.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-18_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-22.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-22_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-3.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-3_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-8.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-8_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-11.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-11_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-15.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-15_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-19.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-19_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-23.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-23_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-4.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-4_out.e create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-7.i create mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-7_out.e create mode 100644 dependencies/mooseherder/tests/sweepreader_test.py create mode 100644 docs/requirements.txt create mode 100644 examples/ex1_2d_full_control.py create mode 100644 moose-config.json create mode 100644 scripts/moose/monoblock_3d_thermal.i create mode 100644 scripts/moose/plate_2d_thermal.i create mode 100644 src/icarus.egg-info/PKG-INFO create mode 100644 src/icarus/__init__.py create mode 100644 src/icarus/datasetgenerator.py create mode 100644 src/icarus/modelbuilder.py create mode 100644 src/icarus/moosesetup.py create mode 100644 src/icarus/userinterface.py create mode 100644 tests/__init__.py create mode 100644 tests/moosesetup_test.py diff --git a/.gitignore b/.gitignore index 68bc17f9..ed38ea0f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,160 +1,332 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions +.libs +dependencies/pyvale +*.la +*.lo +*.d +*.o +*.a +*-opt +*-optimized +*-dbg +*-debug +*-oprof +*-oprofile +*-pro +*-prof +*-profiling +*-devel +*.e +*.nav +*.log +*.aux +*.toc +*.snm +*.csv +*.csv.* +*.dylib *.so +*.so.* +*.vrb +*.jou +*.pyc +*.mod +*.e.* +*.e-s* +*.cfg +*.lbd.* +*.nem +*.spd +*.pex +*.pdf +*.plist* +*.bbl +*.blg +*.spl +*.idx +traceout*.txt +temp_print_trace.* +*.xda +*.xda.* +*.xdr +*.xdr.* +*.mps +*.msmp +*.msmp-* +*.muds +# Latex garbage +*.lot +*.lof +*.poly +*.mpx +*.btr +*.tex-e +*.xml +*.xml.* +*.gmv +*.plt +*.slh +*.eps +*.dat +*.gp +*.plugin +*.outp +*.patch +*.txt +!labelled_dataset.txt +!requirements.txt +*.bib.bak +*.out +*.vtk +*.vtu +*.pvtu +*.zip +*.pt +*.net +.depend +*.png +*.svg +*.gif +*.tif +*.jpg +*.tiff +*.ps +*.bmp +*.mp4 +*.webm +*.ico +*.html +*.xyz +*Revision.h +*.json +*.json.* +*.bak +*.data +*.processor.* +.clang_complete +.failed_tests +failed-unittest +compile_commands.json +build +framework/contrib/libtorch +test.cache -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# poetry -# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control -#poetry.lock - -# pdm -# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. -#pdm.lock -# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it -# in version control. -# https://pdm.fming.dev/#use-with-ide -.pdm.toml - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ - -# PyCharm -# JetBrains specific template is maintained in a separate JetBrains.gitignore that can -# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore -# and can be added to the global gitignore or merged into this file. For a more nuclear -# option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ +# Allow certain files in gold directories +!**/gold/*.e +!**/gold/*.e-s* +!**/gold/*.csv +!**/gold/*.csv.* +!**/gold/*.vtk +!**/gold/*.vtu +!**/gold/*.pvtu +!**/gold/*.xml* +!**/gold/*.json* + +peacock_run_tmp.i +yaml_dump* +test/tests/outputs/format/dump.i + +# Generated header file +MooseRevision.h + +# Precompiled headers +moose/include/base/Precompiled.h.gch + +# test garbagge +*.FAILED.txt + +# eclipse garbage +.project +.cproject +.metadata +.settings +.pydevproject + +# vim garbage +*~ +.*.swp +.*.swo + +framework/contrib/exodiff/exodiff + +# Mac garbage +.DS_Store +*.dSYM + +# Unit testing stuffbmoose_unit/test_results.xml +!unit/data/csv/*.csv + +# gcov code coverage files +*.gcno +*.gcda +*.gcov + +# paraview state files +*.pvsm + +#Peacock generated files +peacock_*.i +peacock_*.e + +# On linux, shared libs end in .0 sometimes +libpcre-opt* +libpcre-dbg* +libmoose-opt* +libmoose-dbg* + +#doxygen generated +*/doc/doxygen/html/* +*/doc/doxygen/**/* +moose/doc/doxygen/html/* +modules/*/doc/doxygen/html/* +tutorials/*/*/doc/doxygen/html/* +ICE/ +framework/contrib/asio/ + +# Restartable Data +*.rd +*.rd-* + +# Checkpoint Files +*.cpa.gz +*.cpr +*.cpa.gz-* +*.cpr-* + +# Ignore petsc arch +petsc/arch-*/* + +# phase_field/tests/solution_rasterizer +out.xyz + +# JIT and automatic differentiation cache files +.jitcache/ +.jitdir/ +tmp_jit_* + +# Do not store ipython notebook checkpoints +*-checkpoint.ipynb* + +# HIT +framework/contrib/hit/hit + +# MooseDocs +site +python/MooseDocs/test/output +!**/doc/content/**/*.md +!**/doc/content/**/*.jpg +!**/doc/content/**/*.jpeg +!**/doc/content/**/*.gif +!**/doc/content/**/*.png +!**/doc/content/**/*.svg +!**/doc/content/**/*.ogg +!**/doc/content/**/*.webm +!**/doc/content/**/*.mp4 +!**/doc/content/**/*.css +!**/doc/content/**/*.js +!**/doc/content/**/*.bib +!**/doc/content/**/*.woff +!**/doc/content/**/*.woff2 +!python/MooseDocs/test/gold/**/*.json +!python/MooseDocs/test/gold/**/*.html +!python/MooseDocs/test/gold/**/*.tex +.ruby-version + +# Chigger +!python/chigger/tests/**/gold/*.png +!python/chigger/tests/input/*.e* +!python/chigger/logos/*.png +!python/chigger/contrib/*.xml + +# Peacock +python/peacock/tests/exodus_tab/TestOutputPlugin_repr.py +python/peacock/tests/exodus_tab/TestExodusPluginManager_repr.py +python/peacock/tests/input_tab/InputFileEditor/fsp_test.i +python/peacock/tests/postprocessor_tab/TestPostprocessorPluginManager_test_script.py +!python/peacock/tests/**/gold/*.png +!python/peacock/icons/**/*.* +!python/peacock/tests/**/input/*.* +peacock_tmp_diff.exo +*.e.diff + +# configure +_configs.sed +autom4te.cache +config.status +*MooseConfig.h +*MooseConfig.h.tmp +conf_vars.mk + +# GPerf performance +*.prof +*.heap + +# MetaData files in Reactor Module tests +modules/reactor/test/tests/functions/multi_control_drum_function/positions_meta.data +modules/reactor/test/tests/meshgenerators/patterned_hex_mesh_generator/positions_meta.data + +# Ignore share directory +share/ + +# Ignore vscode local parameters +.vscode/* + +# App Resource file (including modules/) +/test/moose_test.yaml +/modules/functional_expansion_tools/functional_expansion_tools.yaml +/modules/solid_properties/solid_properties.yaml +/modules/electromagnetics/electromagnetics.yaml +/modules/contact/contact.yaml +/modules/external_petsc_solver/external_petsc_solver.yaml +/modules/xfem/xfem.yaml +/modules/stochastic_tools/stochastic_tools.yaml +/modules/scalar_transport/scalar_transport.yaml +/modules/navier_stokes/navier_stokes.yaml +/modules/chemical_reactions/chemical_reactions.yaml +/modules/optimization/optimization.yaml +/modules/peridynamics/peridynamics.yaml +/modules/ray_tracing/ray_tracing.yaml +/modules/phase_field/phase_field.yaml +/modules/heat_transfer/heat_transfer.yaml +/modules/tensor_mechanics/tensor_mechanics.yaml +/modules/richards/richards.yaml +/modules/solid_mechanics/solid_mechanics.yaml +/modules/level_set/level_set.yaml +/modules/combined/combined.yaml +/modules/fluid_properties/fluid_properties.yaml +/modules/porous_flow/porous_flow.yaml +/modules/geochemistry/geochemistry.yaml +/modules/thermal_hydraulics/thermal_hydraulics.yaml +/modules/reactor/reactor.yaml +/modules/rdg/rdg.yaml +/modules/fsi/fsi.yaml +/unit/moose-unit.yaml +/modules/functional_expansion_tools/unit/functional_expansion_tools-unit.yaml +/modules/solid_properties/unit/solid_properties-unit.yaml +/modules/electromagnetics/unit/electromagnetics-unit.yaml +/modules/contact/unit/contact-unit.yaml +/modules/external_petsc_solver/unit/external_petsc_solver-unit.yaml +/modules/xfem/unit/xfem-unit.yaml +/modules/stochastic_tools/unit/stochastic_tools-unit.yaml +/modules/scalar_transport/unit/scalar_transport-unit.yaml +/modules/navier_stokes/unit/navier_stokes-unit.yaml +/modules/chemical_reactions/unit/chemical_reactions-unit.yaml +/modules/optimization/unit/optimization-unit.yaml +/modules/peridynamics/unit/peridynamics-unit.yaml +/modules/ray_tracing/unit/ray_tracing-unit.yaml +/modules/phase_field/unit/phase_field-unit.yaml +/modules/heat_transfer/unit/heat_transfer-unit.yaml +/modules/tensor_mechanics/unit/tensor_mechanics-unit.yaml +/modules/richards/unit/richards-unit.yaml +/modules/level_set/unit/level_set-unit.yaml +/modules/combined/combined-unit.yaml +/modules/fluid_properties/unit/fluid_properties-unit.yaml +/modules/porous_flow/unit/porous_flow-unit.yaml +/modules/geochemistry/unit/geochemistry-unit.yaml +/modules/thermal_hydraulics/unit/thermal_hydraulics-unit.yaml +/modules/reactor/unit/reactor-unit.yaml +/modules/rdg/unit/rdg-unit.yaml +/modules/fsi/unit/fsi-unit.yaml +/modules/misc/misc.yaml +/tutorials/tutorial01_app_development/*/babbler.yaml +/tutorials/darcy_thermo_mech/*/darcy_thermo_mech.yaml +icarus.yaml diff --git a/LICENSE b/LICENSE index f288702d..4362b491 100644 --- a/LICENSE +++ b/LICENSE @@ -1,674 +1,502 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 - Copyright (C) 2007 Free Software Foundation, Inc. + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + Preamble - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. - + Copyright (C) - 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 library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + This library 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. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser 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 . + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/README.md b/README.md index 10d5b18d..35b6be9c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,56 @@ -# icarus -Machine learning for fusion simulation validation. +# Icarus + +A set of machine learning tools that engineers can use to assess the agreement between an experiment and simulation; that is, to validate the simulation with experimental data and provide the engineer with a probable reason for any mismatches to allow further investigation and diagnosis. + +Works by generating a valid and invalid simulation results from a given MOOSE input file and training a machine learning classifier to recognise when a result is invalid and what the most probable issue is. Invalid results are generated by running the simulation with user-defined perturbations of parameters from the input file. The user can also control the parallelisation options, the sensors used to extract data from the simulation results, the modelling framework used, the ratio of valid:invalid datasets present in the training and validation data, and more. + +## Installation +### Standard & Developer Installation + +Clone `icarus` to your local system along with submodules using + +``` +git clone --recurse-submodules git@github.com:aurora-multiphysics/icarus.git +``` + +`cd` to the root directory of `icarus` and run the following commmand: + +``` +pip install . +pip install ./dependencies/mooseherder +``` + +`cd` to the dependencies directory of `icarus` and clone `pyvale` using + +``` +git clone --recurse-submodules git@github.com:Computer-Aided-Validation-Laboratory/pyvale.git +``` + +`cd` to `dependencies/pyvale/` and run the following commmand: + +``` +pip install . +``` + +To create an editable/developer installation of `icarus`, `pyvale` and `mooseherder` - follow the instructions for a standard installation but run: + +``` +pip install -e . +pip install -e ./dependencies/pyvale +pip install -e ./dependencies/mooseherder +``` + +### MOOSE App + +`icarus` has been developed and tested using the `proteus` MOOSE app which can be found here: https://github.com/aurora-multiphysics/proteus. Follow the build instructions found on this page to install `proteus`. + +## Getting Started + +The examples folder shows how to use `icarus` for different input files and with different levels of user control. Make sure to include a moose_config.json file wherever you run it, and change the values contained to match your system, and ensure that your project space has an folder for the outputs which is correctly structured (ie contains a folder called perturbed_datasets and a folder called validation_datasets). + +## Contributors + +- Isaac Magee, UK Atomic Energy Authority, (iomags2211) +- Lloyd Fletcher, UK Atomic Energy Authority, (TheScepticalRabbit) +- Luke Humphrey, UK Atomic Energy Authority, (lukethehuman) + diff --git a/dependencies/mooseherder/.gitignore b/dependencies/mooseherder/.gitignore new file mode 100644 index 00000000..59a08138 --- /dev/null +++ b/dependencies/mooseherder/.gitignore @@ -0,0 +1,179 @@ +# MOOSE config/output files +*.e +examples/sim-workdir-* +examples/*.csv +scripts/sim-workdir-* +scripts/*.csv +tests/sim-workdir-* +*.processor.* +# Keep MOOSE output files used for pytest +!examples/example_output/sim-workdir-*/*.e +!tests/output/*.e +!tests/output/sim-workdir-*/*.e + +# Gmsh output files +*.msh + +# VS Code +.vscode/ + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ diff --git a/dependencies/mooseherder/LICENSE b/dependencies/mooseherder/LICENSE new file mode 100644 index 00000000..8000a6fa --- /dev/null +++ b/dependencies/mooseherder/LICENSE @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random + Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/dependencies/mooseherder/README.md b/dependencies/mooseherder/README.md new file mode 100644 index 00000000..9da4ef53 --- /dev/null +++ b/dependencies/mooseherder/README.md @@ -0,0 +1,44 @@ +# MOOSEHerder +A `mooseherder` for calling multiple MOOSE simulations in parallel from python with configurable parallelisation options. Includes functionality to read and edit MOOSE/gmsh input scripts as well as reading the associated output of the simulation in parallel. + +The main use cases for `mooseherder` include running parametric sweeps of small to medium size simulations for mesh convergence analysis; fitting surrogate/reduced order models; and optimisation problems. + +## Installation +### Virtual Environment + +We recommend installing `mooseherder` in a virtual environment using `venv` or `mooseherder` can be installed into an existing environment of your choice. To create a specific virtual environment for `mooseherder` use: + +``` +python3 -m venv herder-env +source herder-env/bin/activate +``` + +### Standard Installation from PyPI + +You can install from PyPI: + +``` +pip install mooseherder +``` + +### Developer Installation + +Clone `mooseherder` to your local system and `cd` to the root directory of `mooseherder`. Ensure you virtual environment is activated and run from the `mooseherder` root directory: + +``` +pip install -e . +``` + +### MOOSE App + +`mooseherder` has been developed and tested using the `proteus` MOOSE app which can be found here: https://github.com/aurora-multiphysics/proteus. Follow the build instructions found on this page to install `proteus`. + +## Getting Started + +The examples folder includes a sequence of examples using `mooseherder` to run the MOOSE tensor mechanics module with and without coupling to gmsh. + +## Contributors + +- Lloyd Fletcher, UK Atomic Energy Authority, (TheScepticalRabbit) +- Rory Spencer, UK Atomic Energy Authority, (fusmatrs) +- Luke Humphrey, UK Atomic Energy Authority, (lukethehuman) \ No newline at end of file diff --git a/dependencies/mooseherder/dev/dev_create_moose_config.py b/dependencies/mooseherder/dev/dev_create_moose_config.py new file mode 100644 index 00000000..4400726e --- /dev/null +++ b/dependencies/mooseherder/dev/dev_create_moose_config.py @@ -0,0 +1,16 @@ +from pathlib import Path +from mooseherder.mooseconfig import MooseConfig + +USER_DIR = Path.home() + +config = {'main_path': USER_DIR / 'moose', + 'app_path': USER_DIR / 'proteus', + 'app_name': 'proteus-opt'} + +moose_config = MooseConfig(config) + +save_path = Path.cwd() / 'moose-config.json' +moose_config.save_config(save_path) + +save_path = Path.home() / 'py-workdir' / 'pycave' / 'scripts' / 'moose-config.json' +moose_config.save_config diff --git a/dependencies/mooseherder/dev/dev_para_multi_moose.py b/dependencies/mooseherder/dev/dev_para_multi_moose.py new file mode 100644 index 00000000..9a2e0809 --- /dev/null +++ b/dependencies/mooseherder/dev/dev_para_multi_moose.py @@ -0,0 +1,138 @@ +''' +============================================================================== +EXAMPLE: Run MOOSE in sequential then parallel mode then read sweep results + +Author: Lloyd Fletcher, Rory Spencer +============================================================================== +''' +import time +from pathlib import Path +from pprint import pprint +import numpy as np +from mooseherder import MooseHerd +from mooseherder import MooseRunner +from mooseherder import MooseConfig +from mooseherder import GmshRunner +from mooseherder import InputModifier +from mooseherder import DirectoryManager +from mooseherder import SweepReader +from mooseherder import ExodusReader + +USER_DIR = Path.home() + +def main() -> None: + """main: parallel herd run multiple times and read + """ + print("-"*80) + print('EXAMPLE: Parallel Herd Setup & Run') + print("-"*80) + # Setup the MOOSE input modifier and runner + moose_input = Path('scripts/moose/moose-mech-simple.i') + moose_modifier = InputModifier(moose_input,'#','') + + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = True) + + # Setup Gmsh + gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') + gmsh_modifier = InputModifier(gmsh_input,'//',';') + + gmsh_path = USER_DIR / 'gmsh/bin/gmsh' + gmsh_runner = GmshRunner(gmsh_path) + gmsh_runner.set_input_file(gmsh_input) + + # Setup herd composition + sim_runners = [gmsh_runner,moose_runner] + input_modifiers = [gmsh_modifier,moose_modifier] + dir_manager = DirectoryManager(n_dirs=4) + + # Start the herd and create working directories + herd = MooseHerd(sim_runners,input_modifiers,dir_manager) + # Set the parallelisation options, we have 8 combinations of variables and + # 4 MOOSE intances running, so 2 runs will be saved in each working directory + herd.set_num_para_sims(n_para=4) + + # Send all the output to the examples directory and clear out old output + dir_manager.set_base_dir(Path('examples/')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + # Create variables to sweep in a list of dictionaries, 8 combinations possible. + p0 = [1E-3,2E-3] + p1 = [1.5E-3,2E-3] + p2 = [1E-3,3E-3] + var_sweep = list([]) + for nn in p0: + for ee in p1: + for pp in p2: + var_sweep.append([{'p0':nn,'p1':ee,'p2':pp},None]) + + print('Herd sweep variables:') + pprint(var_sweep) + print() + + print() + print('Running MOOSE in parallel.') + herd.run_para(var_sweep) + + print(f'Run time (parallel) = {herd.get_sweep_time():.3f} seconds') + print("-"*80) + print() + + print("-"*80) + print('EXAMPLE: Read Herd Output') + print("-"*80) + sweep_reader = SweepReader(dir_manager,num_para_read=4) + output_files = sweep_reader.read_all_output_keys() + + read_config = ExodusReader(output_files[0][1]).get_read_config() # type: ignore + read_config.time_inds = np.array([0,2]) + + print('Herd output files (from output_keys.json):') + pprint(output_files) + print() + + print("-"*80) + print('Reading the first output file, no SimReadConfig = read all.') + print('Returns the first sim chain as list of SimData objects.') + print() + sim_data_chain = sweep_reader.read_results_once(output_files[1]) + print(sim_data_chain[0]) + print() + + print("-"*80) + print('Reading all output files sequentially as a list(SimData).') + print('All function parameters blank to read everything.') + print() + start_time = time.perf_counter() + sweep_results_seq = sweep_reader.read_results_sequential(read_config=read_config) + read_time_seq = time.perf_counter() - start_time + + print(f'Number of simulations read: {len(sweep_results_seq):d}') + + print("-"*80) + print('Reading all output files in parallel as list(SimData).') + print('All function parameters blank to read everything.') + print() + + start_time = time.perf_counter() + sweep_results_para = sweep_reader.read_results_para(read_config=read_config) + read_time_para = time.perf_counter() - start_time + + print(f'Number of simulations outputs: {len(sweep_results_para):d}') + + print() + print("="*80) + print(f'Read time sequential = {read_time_seq:.6f} seconds') + print(f'Read time parallel = {read_time_para:.6f} seconds') + print("="*80) + print() + + print(sweep_results_para[0][1].node_vars['disp_x'].shape) # type: ignore + + +if __name__ == '__main__': + main() diff --git a/dependencies/mooseherder/dev/dev_read_exodus.py b/dependencies/mooseherder/dev/dev_read_exodus.py new file mode 100644 index 00000000..d66ef61a --- /dev/null +++ b/dependencies/mooseherder/dev/dev_read_exodus.py @@ -0,0 +1,17 @@ +from pathlib import Path +from mooseherder import ExodusReader + +def main() -> None: + output_file = Path.home()/'moose-workdir'/'dice_output'/'DICe_solution.e' + exodus_reader = ExodusReader(output_file) + + sim_data = exodus_reader.read_all_sim_data() + + print() + print(sim_data.time) + print(sim_data.coords) + print(sim_data.node_vars) + print() + +if __name__ == '__main__': + main() diff --git a/dependencies/mooseherder/docs/requirements.txt b/dependencies/mooseherder/docs/requirements.txt new file mode 100644 index 00000000..296d6545 --- /dev/null +++ b/dependencies/mooseherder/docs/requirements.txt @@ -0,0 +1 @@ +numpy \ No newline at end of file diff --git a/dependencies/mooseherder/examples/ex0_create_moose_config.py b/dependencies/mooseherder/examples/ex0_create_moose_config.py new file mode 100644 index 00000000..751cb182 --- /dev/null +++ b/dependencies/mooseherder/examples/ex0_create_moose_config.py @@ -0,0 +1,27 @@ +""" +============================================================================== +EXAMPLE: Create moose-config.json + +Author: Lloyd Fletcher +============================================================================== +""" +from pathlib import Path +from mooseherder import MooseConfig + + +def main() -> None: + """main: create moose config json + """ + config = {'main_path': Path.home()/ 'moose', + 'app_path': Path.home() / 'proteus', + 'app_name': 'proteus-opt'} + + moose_config = MooseConfig(config) + + save_path = Path.cwd() / 'moose-config.json' + moose_config.save_config(save_path) + + +if __name__ == "__main__": + main() + diff --git a/dependencies/mooseherder/examples/ex1a_modify_moose_input.py b/dependencies/mooseherder/examples/ex1a_modify_moose_input.py new file mode 100644 index 00000000..6eaeb580 --- /dev/null +++ b/dependencies/mooseherder/examples/ex1a_modify_moose_input.py @@ -0,0 +1,46 @@ +""" +============================================================================== +EXAMPLE: Modify input script for MOOSE with mooseherder + +Author: Lloyd Fletcher +============================================================================== +""" +from pathlib import Path +from mooseherder import InputModifier + +MOOSE_INPUT = Path("scripts/moose/moose-mech-simple.i") + + +def main() -> None: + """main: modify moose input script and write modified file. + """ + print("-"*80) + print("EXAMPLE: Modify MOOSE input script") + print("-"*80) + moose_mod = InputModifier(MOOSE_INPUT, comment_char="#", end_char="") + + print("Variables found the top of the MOOSE input file:") + print(moose_mod.get_vars()) + print() + + new_vars = {"n_elem_y": 40, "e_modulus": 3.3e9} + moose_mod.update_vars(new_vars) + + print("New variables inserted:") + print(moose_mod.get_vars()) + print() + + moose_save = Path("scripts/moose-mech_mod-vars.i") + moose_mod.write_file(moose_save) + + print("Modified input script written to:") + print(moose_save) + print() + + print("Example complete.") + print("-"*80) + print() + + +if __name__ == "__main__": + main() diff --git a/dependencies/mooseherder/examples/ex1b_modify_gmsh_input.py b/dependencies/mooseherder/examples/ex1b_modify_gmsh_input.py new file mode 100644 index 00000000..d7c95506 --- /dev/null +++ b/dependencies/mooseherder/examples/ex1b_modify_gmsh_input.py @@ -0,0 +1,46 @@ +""" +============================================================================== +EXAMPLE: Modify input script for gmsh with mooseherder + +Author: Lloyd Fletcher +============================================================================== +""" +from pathlib import Path +from mooseherder import InputModifier + +GMSH_INPUT = Path("scripts/gmsh/gmsh_tens_spline_2d.geo") + + +def main() -> None: + """main: modify gmsh input and save to file + """ + print("-"*80) + print("EXAMPLE: Modify gmsh input script") + print("-"*80) + gmsh_mod = InputModifier(GMSH_INPUT, "//", ";") + + print("Variables found the top of the gmsh input file:") + print(gmsh_mod.get_vars()) + print() + + new_vars = {"p0": 0.0018, "p1": 0.0012, "p2": 0.001} + gmsh_mod.update_vars(new_vars) + + print("New variables inserted:") + print(gmsh_mod.get_vars()) + print() + + gmsh_save = Path("scripts/gmsh_tens_spline_2d-mod_vars.geo") + gmsh_mod.write_file(gmsh_save) + + print("Modified input script written to:") + print(gmsh_save) + print() + + print("Example complete.") + print("-"*80) + print() + + +if __name__ == "__main__": + main() diff --git a/dependencies/mooseherder/examples/ex2a_run_moose_once.py b/dependencies/mooseherder/examples/ex2a_run_moose_once.py new file mode 100644 index 00000000..bad367d9 --- /dev/null +++ b/dependencies/mooseherder/examples/ex2a_run_moose_once.py @@ -0,0 +1,51 @@ +""" +============================================================================== +EXAMPLE: Run MOOSE using mooseherder once + +Author: Lloyd Fletcher +============================================================================== +""" +import time +from pathlib import Path +from mooseherder import (MooseConfig, + MooseRunner) + +def main() -> None: + """main: run moose once with runner class + """ + print("-"*80) + print('EXAMPLE: Run MOOSE once') + print("-"*80) + + config_path = Path.cwd() / 'moose-config.json' + moose_config = MooseConfig().read_config(config_path) + print(f'Reading MOOSE config from: \n{str(config_path)}\n') + + print('Creating the MooseRunner with the specified config.\n') + moose_runner = MooseRunner(moose_config) + + print('Setting the input file and run parallelisation options.\n') + + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 8, + redirect_out = False) + + input_file = Path('scripts/moose/moose-mech-simple.i') + moose_runner.set_input_file(input_file) + + # Run the MOOSE! + print('Running moose with:') + print(moose_runner.get_arg_list()) + + start_time = time.perf_counter() + moose_runner.run() + run_time = time.perf_counter() - start_time + + print() + print(f'MOOSE run time = {run_time:.3f} seconds') + print("-"*80) + print() + +if __name__ == '__main__': + main() + diff --git a/dependencies/mooseherder/examples/ex2b_run_gmsh_once.py b/dependencies/mooseherder/examples/ex2b_run_gmsh_once.py new file mode 100644 index 00000000..22d4ba90 --- /dev/null +++ b/dependencies/mooseherder/examples/ex2b_run_gmsh_once.py @@ -0,0 +1,63 @@ +""" +============================================================================== +EXAMPLE: Run gmsh with mooseherder once + +Author: Lloyd Fletcher +============================================================================== +""" +import time +from pathlib import Path +from mooseherder import GmshRunner + +USER_DIR = Path.home() + +def main(): + """main: create mesh with gmsh in 2D then 3D + """ + print("-"*80) + print('EXAMPLE: Run Gmsh 2D once') + print("-"*80) + gmsh_path = USER_DIR / 'gmsh/bin/gmsh' + gmsh_runner = GmshRunner(gmsh_path) + + gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') + gmsh_runner.set_input_file(gmsh_input) + + print('Gmsh path:' + str(gmsh_path)) + print('Gmsh input:' + str(gmsh_input)) + + print('Running gmsh...') + start_time = time.perf_counter() + gmsh_runner.run(gmsh_input,parse_only=True) + run_time = time.perf_counter() - start_time + + print() + print(f'Gmsh 2D run time = {run_time :.3f} seconds') + print("-"*80) + print() + + print("-"*80) + print('EXAMPLE: Run Gmsh 3D once') + print("-"*80) + gmsh_path = USER_DIR / 'gmsh/bin/gmsh' + gmsh_runner = GmshRunner(gmsh_path) + + gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_3d.geo') + gmsh_runner.set_input_file(gmsh_input) + + print('Gmsh path:' + str(gmsh_path)) + print('Gmsh input:' + str(gmsh_input)) + + print('Running gmsh...') + start_time = time.perf_counter() + gmsh_runner.run(gmsh_input,parse_only=True) + run_time = time.perf_counter() - start_time + + print() + print(f'Gmsh 3D run time = {run_time :.3f} seconds') + print("-"*80) + print() + + +if __name__ == '__main__': + main() diff --git a/dependencies/mooseherder/examples/ex2c_run_both_once .py b/dependencies/mooseherder/examples/ex2c_run_both_once .py new file mode 100644 index 00000000..a8334caf --- /dev/null +++ b/dependencies/mooseherder/examples/ex2c_run_both_once .py @@ -0,0 +1,86 @@ +""" +============================================================================== +EXAMPLE: Run gmsh+MOOSE once with mooseherder with MOOSE reading the gmsh +generated mesh. + +Author: Lloyd Fletcher +============================================================================== +""" +import time +import os +import shutil +from pathlib import Path +from mooseherder import (MooseConfig, + GmshRunner, + MooseRunner) + +USER_DIR = Path.home() + +def main(): + """main: run gmsh and moose once + """ + print("-"*80) + print('EXAMPLE: Run Gmsh+MOOSE once') + print("-"*80) + + gmsh_path = USER_DIR / 'gmsh/bin/gmsh' + gmsh_runner = GmshRunner(gmsh_path) + + gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') + gmsh_runner.set_input_file(gmsh_input) + + print('Gmsh path:' + str(gmsh_path)) + print('Gmsh input:' + str(gmsh_input)) + print() + + print('Running gmsh...') + print() + + gmsh_start = time.perf_counter() + gmsh_runner.run() + gmsh_run_time = time.perf_counter()-gmsh_start + + config_path = Path.cwd() / 'moose-config.json' + + print(f'Reading MOOSE config from: \n{str(config_path)}\n') + + moose_config = MooseConfig() + moose_config.read_config(config_path) + + print('Creating the MooseRunner with the specified config.\n') + + moose_runner = MooseRunner(moose_config) + + + print('Setting the input file and run parallelisation options.\n') + + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 4, + redirect_out = True) + input_file = Path('scripts/moose/moose-mech-gmsh.i') + moose_runner.set_input_file(input_file) + + # Copy mesh file into the directory + moose_mesh_file = os.path.split(input_file)[0]+'/mesh_tens_spline_2d.msh' + moose_mesh_file = input_file.parent / 'mesh_tens_spline_2d.msh' + msh_file = Path('scripts/gmsh/mesh_tens_spline_2d.msh') + shutil.copyfile(msh_file,moose_mesh_file) + + # Run the MOOSE! + print('Running moose with:') + print(moose_runner.get_arg_list()) + print() + + moose_start = time.perf_counter() + moose_runner.run() + moose_run_time = time.perf_counter() - moose_start + + print(f'Gmsh run time = {gmsh_run_time:.2f} seconds') + print(f'MOOOSE run time = {moose_run_time:.2f} seconds') + print("-"*80) + print() + +if __name__ == '__main__': + main() + + diff --git a/dependencies/mooseherder/examples/ex3_run_moose_seq_para.py b/dependencies/mooseherder/examples/ex3_run_moose_seq_para.py new file mode 100644 index 00000000..9f6fd697 --- /dev/null +++ b/dependencies/mooseherder/examples/ex3_run_moose_seq_para.py @@ -0,0 +1,103 @@ +''' +============================================================================== +EXAMPLE: Run MOOSE in sequential then parallel mode with mooseherder + +Author: Lloyd Fletcher, Rory Spencer +============================================================================== +''' +from pathlib import Path +from mooseherder import (MooseHerd, + MooseRunner, + InputModifier, + DirectoryManager, + MooseConfig) + +USER_DIR = Path.home() + +def main(): + """main: run moose once, sequential then parallel. + """ + print("-"*80) + print('EXAMPLE: Herd Setup') + print("-"*80) + + config_path = Path.cwd() / 'moose-config.json' + moose_config = MooseConfig().read_config(config_path) + moose_input = Path('scripts/moose/moose-mech-simple.i') + + moose_modifier = InputModifier(moose_input,'#','') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = True) + + dir_manager = DirectoryManager(n_dirs=4) + + # Start the herd and create working directories + herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) + + # Set the parallelisation options, we have 8 combinations of variables and + # 4 MOOSE intances running, so 2 runs will be saved in each working directory + herd.set_num_para_sims(n_para=4) + + # Send all the output to the examples directory and clear out old output + dir_manager.set_base_dir(Path('examples/')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + # Create variables to sweep in a list of dictionaries, 8 combinations possible. + n_elem_y = [10,20] + e_mod = [1e9,2e9] + p_rat = [0.3,0.35] + moose_vars = list([]) + for nn in n_elem_y: + for ee in e_mod: + for pp in p_rat: + # Needs to be list[list[dict]] - outer list is simulation iteration, + # inner list is what is passed to each runner/inputmodifier + moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) + + print('Herd sweep variables:') + for vv in moose_vars: + print(vv) + + print() + print("-"*80) + print('EXAMPLE: Run MOOSE once') + print("-"*80) + + # Single run saved in sim-workdir-1 + herd.run_once(0,moose_vars[0]) + + print(f'Run time (once) = {herd.get_iter_time():.3f} seconds') + print("-"*80) + print() + + print("-"*80) + print('EXAMPLE: Run MOOSE sequentially') + print("-"*80) + + # Run all variable combinations (8) sequentially in sim-workdir-1 + herd.run_sequential(moose_vars) + + print(f'Run time (seq) = {herd.get_sweep_time():.3f} seconds') + print("-"*80) + print() + + print("-"*80) + print('EXAMPLE: Run MOOSE in parallel') + print("-"*80) + + # Run all variable combinations across 4 MOOSE instances with two runs saved in + # each sim-workdir + herd.run_para(moose_vars) + + print(f'Run time (para) = {herd.get_sweep_time():.3f} seconds') + print("-"*80) + print() + + +if __name__ == '__main__': + main() + + diff --git a/dependencies/mooseherder/examples/ex4_run_gmsh-moose_seq_para.py b/dependencies/mooseherder/examples/ex4_run_gmsh-moose_seq_para.py new file mode 100644 index 00000000..cca44c16 --- /dev/null +++ b/dependencies/mooseherder/examples/ex4_run_gmsh-moose_seq_para.py @@ -0,0 +1,108 @@ +''' +============================================================================== +EXAMPLE: Run parallel gmsh+MOOSE simulation editing the gmsh parameters only + +Author: Lloyd Fletcher, Rory Spencer +============================================================================== +''' +from pathlib import Path +from mooseherder import (MooseHerd, + MooseRunner, + MooseConfig, + GmshRunner, + InputModifier, + DirectoryManager) + +USER_DIR = Path.home() + +def main(): + """main _summary_ + """ + print("-"*80) + print('EXAMPLE: Herd Setup') + print("-"*80) + + # Setup MOOSE runner and input modifier + moose_input = Path('scripts/moose/moose-mech-gmsh.i') + moose_modifier = InputModifier(moose_input,'#','') + + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = True) + + # Setup Gmsh + gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') + gmsh_modifier = InputModifier(gmsh_input,'//',';') + + gmsh_path = USER_DIR / 'gmsh/bin/gmsh' + gmsh_runner = GmshRunner(gmsh_path) + gmsh_runner.set_input_file(gmsh_input) + + # Setup herd composition + sim_runners = [gmsh_runner,moose_runner] + input_modifiers = [gmsh_modifier,moose_modifier] + dir_manager = DirectoryManager(n_dirs=4) + + # Start the herd and create working directories + herd = MooseHerd(sim_runners,input_modifiers,dir_manager) + herd.set_num_para_sims(n_para=4) + # Don't have to clear directories on creation of the herd but we do so here + # so that directory creation doesn't raise errors + dir_manager.set_base_dir(Path('examples/')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + # Create variables to sweep in a list of dictionaries for mesh parameters + # 2^3=8 combinations possible + p0 = [1E-3,2E-3] + p1 = [1.5E-3,2E-3] + p2 = [1E-3,3E-3] + var_sweep = list([]) + for nn in p0: + for ee in p1: + for pp in p2: + var_sweep.append([{'p0':nn,'p1':ee,'p2':pp},None]) + + print('Herd sweep variables:') + for vv in var_sweep: + print(vv) + + print() + print("-"*80) + print('EXAMPLE: Run Gmsh+MOOSE once, modify gmsh only') + print("-"*80) + + # Single run saved in sim-workdir-1 + herd.run_once(0,var_sweep[0]) + + print(f'Run time (once) = {herd.get_iter_time():.3f}) seconds') + print("-"*80) + print() + + print("-"*80) + print('EXAMPLE 4b: Run MOOSE sequentially, modify gmsh only') + print("-"*80) + + # Run all variable combinations (8) sequentially in sim-workdir-1 + herd.run_sequential(var_sweep) + + print(f'Run time (sequential) = {herd.get_sweep_time():.3f} seconds') + print("-"*80) + print() + print("-"*80) + print('EXAMPLE: Run MOOSE in parallel, modify gmsh only') + print("-"*80) + + # Run all variable combinations across 4 MOOSE instances with two runs saved in + # each sim-workdir + herd.run_para(var_sweep) + + print(f'Run time (parallel) = {herd.get_sweep_time():.3f} seconds') + print("-"*80) + print() + +if __name__ == '__main__': + main() + diff --git a/dependencies/mooseherder/examples/ex5_run_moose_paramulti.py b/dependencies/mooseherder/examples/ex5_run_moose_paramulti.py new file mode 100644 index 00000000..e0801911 --- /dev/null +++ b/dependencies/mooseherder/examples/ex5_run_moose_paramulti.py @@ -0,0 +1,85 @@ +''' +============================================================================== +EXMAPLE: Run MOOSE in sequential then parallel mode with mooseherder + +Author: Lloyd Fletcher, Rory Spencer +============================================================================== +''' +from pathlib import Path +from mooseherder import (MooseHerd, + MooseRunner, + MooseConfig, + InputModifier, + DirectoryManager) + +NUM_PARA_RUNS = 3 +USER_DIR = Path.home() + +def main(): + """main: run moose once, sequential then parallel. + """ + print("-"*80) + print('EXMAPLE: Herd Setup') + print("-"*80) + + # Setup the MOOSE input modifier and runner + moose_input = Path('scripts/moose/moose-mech-simple.i') + moose_modifier = InputModifier(moose_input,'#','') + + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = True) + + dir_manager = DirectoryManager(n_dirs=4) + + # Start the herd and create working directories + herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) + + # Set the parallelisation options, we have 8 combinations of variables and + # 4 MOOSE intances running, so 2 runs will be saved in each working directory + herd.set_num_para_sims(n_para=4) + + # Send all the output to the examples directory and clear out old output + dir_manager.set_base_dir(Path('examples/')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + # Create variables to sweep in a list of dictionaries, 8 combinations possible. + n_elem_y = [10,20] + e_mod = [1e9,2e9] + p_rat = [0.3,0.35] + moose_vars = list([]) + for nn in n_elem_y: + for ee in e_mod: + for pp in p_rat: + # Needs to be list[list[dict]] - outer list is simulation iteration, + # inner list is what is passed to each runner/inputmodifier + moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) + + print('Herd sweep variables:') + for vv in moose_vars: + print(vv) + + + print() + print("-"*80) + print('EXMAPLE: Run MOOSE in parallel x3') + print("-"*80) + + # Run all variable combinations across 4 MOOSE instances with two runs saved in + # each sim-workdir + for rr in range(NUM_PARA_RUNS): + herd.run_para(moose_vars) + + print(f'Run time (para {rr+1}) = {herd.get_sweep_time():.3f} seconds') + print("-"*80) + + print() + + +if __name__ == '__main__': + main() + + diff --git a/dependencies/mooseherder/examples/ex6_read_moose_exodus.py b/dependencies/mooseherder/examples/ex6_read_moose_exodus.py new file mode 100644 index 00000000..8ee74433 --- /dev/null +++ b/dependencies/mooseherder/examples/ex6_read_moose_exodus.py @@ -0,0 +1,127 @@ +""" +============================================================================== +EXMAPLE: Run MOOSE once with mooseherder and read the exodus output + +Author: Lloyd Fletcher +============================================================================== +""" +import time +from pprint import pprint +from pathlib import Path +from typing import Any +import numpy as np +from mooseherder import (MooseRunner, + MooseConfig, + ExodusReader) + +USER_DIR = Path.home() + + +def print_attrs(in_obj: Any) -> None: + _ = [print(aa) for aa in dir(in_obj) if '__' not in aa] + + +def main() -> None: + """main: run moose once and read the exodus output + """ + print('='*80) + print('EXAMPLE: Run MOOSE once, read exodus.') + print('='*80) + print('Generating exodus output to read by running MOOSE once.') + + # Create the moose runner with correct paths to moose and apps + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + + # Set input and parallelisation options + moose_runner.set_run_opts(n_tasks = 1, n_threads = 4,redirect_out = True) + input_file = Path('scripts/moose/moose-mech-simple.i') + moose_runner.set_input_file(input_file) + + # Run the MOOSE! + print('Running moose with:') + print(moose_runner.get_arg_list()) + + start_time = time.perf_counter() + moose_runner.run() + run_time = time.perf_counter() - start_time + + print() + print(f'MOOSE run time = {run_time:.3f} seconds') + print('='*80) + print() + + output_file = Path('scripts/moose/moose-mech-simple_out.e') + print('Reading exodus file with ExodusReader:') + print(output_file) + print() + + exodus_reader = ExodusReader(output_file) + + print('Read all data in the exodus file returning a SimData object with everything.') + all_sim_data = exodus_reader.read_all_sim_data() + pprint(type(all_sim_data)) + print() + print('Attributes of SimData:') + print_attrs(all_sim_data) + print() + + print('Read only specific node/element/global variables using SimReadConfig.') + print('Use ExodusReader to get SimReadConfig with all variables then edit it.') + read_config = exodus_reader.get_read_config() + pprint(type(read_config)) + print() + print('Attributes of SimReadConfig:') + print_attrs(read_config) + print() + + print('Set any attribute of SimReadConfig to None to not read data.') + print('This example sets elem_vars to None and reads the exodus:') + read_config.elem_vars = None + sim_data = exodus_reader.read_sim_data(read_config) + print(f'sim_data.elem_vars = {sim_data.elem_vars}') + print() + + print('The attributes of SimReadConfig for time, coords and connect ') + print('can be set to None or False to not be read or True to be read.') + print('Here we turn off reading for time, coords and connect:') + read_config.time = False + read_config.coords = False + read_config.connect = False + sim_data = exodus_reader.read_sim_data(read_config) + print(f'sim_data.time = {sim_data.time}') + print(f'sim_data.coords = {sim_data.coords}') + print(f'sim_data.connect = {sim_data.connect}') + print() + print('Turning back on reading for time, coords and connect.') + read_config.time = True + read_config.coords = True + read_config.connect = True + sim_data = exodus_reader.read_sim_data(read_config) + print(f'sim_data.time = {sim_data.time}') + print(f'sim_data.coords = {sim_data.coords}') + print(f'sim_data.connect = {sim_data.connect}') + print() + + print('Set attributes of SimReadConfig to a list of names as np.array') + print('This example only reads disp_x from the nodal variables:') + read_config.node_vars = np.array(['disp_x']) + sim_data = exodus_reader.read_sim_data(read_config) + print('sim_data.node_vars =') + pprint(sim_data.node_vars) + print() + + print('Element variables are an exception as they also need a block.') + read_config.elem_vars = [('strain_xx',1),('strain_yy',1)] + sim_data = exodus_reader.read_sim_data(read_config) + print("sim_data.elem_vars[('strain_xx',1)] = ") + pprint(sim_data.elem_vars[('strain_xx',1)]) # type: ignore + print() + + print('NOTE: depending on output settings element variables may appear as nodal.') + print('-'*80) + print() + + +if __name__ == '__main__': + main() diff --git a/dependencies/mooseherder/examples/ex7a_read_moose_herd_results.py b/dependencies/mooseherder/examples/ex7a_read_moose_herd_results.py new file mode 100644 index 00000000..9deaebde --- /dev/null +++ b/dependencies/mooseherder/examples/ex7a_read_moose_herd_results.py @@ -0,0 +1,119 @@ +''' +============================================================================== +EXAMPLE: Run MOOSE in sequential then parallel mode then read sweep results + +Author: Lloyd Fletcher, Rory Spencer +============================================================================== +''' +import time +from pathlib import Path +from pprint import pprint +from mooseherder import (MooseHerd, + MooseRunner, + MooseConfig, + InputModifier, + DirectoryManager, + SweepReader) + +USER_DIR = Path.home() + +def main() -> None: + """main: parallel herd run once and read + """ + print("-"*80) + print('EXAMPLE: Parallel Herd Setup & Run') + print("-"*80) + # Setup the MOOSE input modifier and runner + moose_input = Path('scripts/moose/moose-mech-simple.i') + moose_modifier = InputModifier(moose_input,'#','') + + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = True) + + dir_manager = DirectoryManager(n_dirs=4) + + # Start the herd and create working directories + herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) + + # Set the parallelisation options, we have 8 combinations of variables and + # 4 MOOSE intances running, so 2 runs will be saved in each working directory + herd.set_num_para_sims(n_para=4) + + # Send all the output to the examples directory and clear out old output + dir_manager.set_base_dir(Path('examples/')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + # Create variables to sweep in a list of dictionaries, 8 combinations possible. + n_elem_y = [10,20] + e_mod = [1e9,2e9] + p_rat = [0.3,0.35] + moose_vars = list([]) + for nn in n_elem_y: + for ee in e_mod: + for pp in p_rat: + # Needs to be list[list[dict]] - outer list is simulation iteration, + # inner list is what is passed to each runner/inputmodifier + moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) + + print('Herd sweep variables:') + pprint(moose_vars) + + print() + print('Running MOOSE in parallel.') + herd.run_para(moose_vars) + + print(f'Run time (parallel) = {herd.get_sweep_time():.3f} seconds') + print("-"*80) + print() + + print("-"*80) + print('EXAMPLE: Read Herd Output') + print("-"*80) + sweep_reader = SweepReader(dir_manager,num_para_read=4) + output_files = sweep_reader.read_all_output_keys() + + print('Herd output files (from output_keys.json):') + pprint(output_files) + print() + + print("-"*80) + print('Reading the first output file, no SimReadConfig = read all.') + print('Returns as SimData object.') + single_sim_data = sweep_reader.read_results_once(output_files[0]) + print(type(single_sim_data)) + print() + + print("-"*80) + print('Reading all output files sequentially as a list(SimData).') + print('All function parameters blank to read everything.') + print() + start_time = time.perf_counter() + sweep_results_seq = sweep_reader.read_results_sequential() + read_time_seq = time.perf_counter() - start_time + + print(f'Number of simulations read: {len(sweep_results_seq ):d}') + + print("-"*80) + print('Reading all output files in parallel as list(SimData).') + print('All function parameters blank to read everything.') + print() + start_time = time.perf_counter() + sweep_results_para = sweep_reader.read_results_para() + read_time_para = time.perf_counter() - start_time + + print(f'Number of simulations outputs: {len(sweep_results_para):d}') + + print() + print("="*80) + print(f'Read time sequential = {read_time_seq:.6f} seconds') + print(f'Read time parallel = {read_time_para:.6f} seconds') + print("="*80) + print() + + +if __name__ == '__main__': + main() diff --git a/dependencies/mooseherder/examples/ex7b_read_multi_herd_results copy.py b/dependencies/mooseherder/examples/ex7b_read_multi_herd_results copy.py new file mode 100644 index 00000000..2ae353b5 --- /dev/null +++ b/dependencies/mooseherder/examples/ex7b_read_multi_herd_results copy.py @@ -0,0 +1,110 @@ +''' +============================================================================== +EXAMPLE: Run MOOSE in parallel multiple times then read sweep results + +Author: Lloyd Fletcher, Rory Spencer +============================================================================== +''' +import time +from pathlib import Path +from pprint import pprint +from mooseherder import (MooseHerd, + MooseRunner, + MooseConfig, + InputModifier, + DirectoryManager, + SweepReader) + +NUM_PARA_RUNS = 3 +USER_DIR = Path.home() + +def main() -> None: + """main: parallel herd run multiple times and read + """ + print("-"*80) + print('EXAMPLE: Parallel Herd Setup & Run') + print("-"*80) + # Setup the MOOSE input modifier and runner + moose_input = Path('scripts/moose/moose-mech-simple.i') + moose_modifier = InputModifier(moose_input,'#','') + + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = True) + + dir_manager = DirectoryManager(n_dirs=4) + + # Start the herd and create working directories + herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) + + # Set the parallelisation options, we have 8 combinations of variables and + # 4 MOOSE intances running, so 2 runs will be saved in each working directory + herd.set_num_para_sims(n_para=4) + + # Send all the output to the examples directory and clear out old output + dir_manager.set_base_dir(Path('examples/')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + # Create variables to sweep in a list of dictionaries, 8 combinations possible. + n_elem_y = [10,20] + e_mod = [1e9,2e9] + p_rat = [0.3,0.35] + moose_vars = list([]) + for nn in n_elem_y: + for ee in e_mod: + for pp in p_rat: + # Needs to be list[list[dict]] - outer list is simulation iteration, + # inner list is what is passed to each runner/inputmodifier + moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) + + print('Herd sweep variables:') + pprint(moose_vars) + print() + + # Run all variable combinations across 4 MOOSE instances with two runs saved in + # each sim-workdir + for rr in range(NUM_PARA_RUNS): + herd.run_para(moose_vars) + + print(f'Run time (para {rr+1}) = {herd.get_sweep_time():.3f} seconds') + print('------------------------------------------') + + print("-"*80) + print('EXAMPLE: Read Herd Sweep Output') + print("-"*80) + sweep_reader = SweepReader(dir_manager,num_para_read=4) + output_files = sweep_reader.read_all_output_keys() + + print('Herd output files (from output_keys.json):') + pprint(output_files) + print() + + print("-"*80) + print('Reading all output files sequentially as a list(SimData).') + print() + start_time = time.perf_counter() + read_all = sweep_reader.read_results_sequential() + read_time_seq = time.perf_counter() - start_time + + print(f'Number of simulations outputs: {len(read_all):d}') + + print("-"*80) + print('Reading all output files in parallel as list(SimData).') + print() + start_time = time.perf_counter() + read_all = sweep_reader.read_results_para() + read_time_para = time.perf_counter() - start_time + + print(f'Number of simulations outputs: {len(read_all):d}') + print() + print("="*80) + print(f'Read time sequential = {read_time_seq:.6f} seconds') + print(f'Read time parallel = {read_time_para:.6f} seconds') + print("="*80) + print() + +if __name__ == '__main__': + main() diff --git a/dependencies/mooseherder/examples/ex7c_read_multi_gmshmoose_results.py b/dependencies/mooseherder/examples/ex7c_read_multi_gmshmoose_results.py new file mode 100644 index 00000000..fcb16248 --- /dev/null +++ b/dependencies/mooseherder/examples/ex7c_read_multi_gmshmoose_results.py @@ -0,0 +1,110 @@ +''' +============================================================================== +EXAMPLE: Run Gmsh+MOOSE in parallel multiple times then read sweep results + +Author: Lloyd Fletcher, Rory Spencer +============================================================================== +''' +import time +from pathlib import Path +from pprint import pprint +from mooseherder import (MooseHerd, + MooseRunner, + GmshRunner, + MooseConfig, + InputModifier, + DirectoryManager, + SweepReader) + +NUM_PARA_RUNS = 3 +USER_DIR = Path.home() + +def main() -> None: + """main: parallel herd run multiple times and read + """ + print("-"*80) + print('EXAMPLE: Parallel Herd Setup & Run') + print("-"*80) + # Setup the MOOSE input modifier and runner + moose_input = Path('scripts/moose/moose-mech-simple.i') + moose_modifier = InputModifier(moose_input,'#','') + + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = True) + + # Setup Gmsh + gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') + gmsh_modifier = InputModifier(gmsh_input,'//',';') + + gmsh_path = USER_DIR / 'gmsh/bin/gmsh' + gmsh_runner = GmshRunner(gmsh_path) + gmsh_runner.set_input_file(gmsh_input) + + # Setup herd composition + sim_runners = [gmsh_runner,moose_runner] + input_modifiers = [gmsh_modifier,moose_modifier] + dir_manager = DirectoryManager(n_dirs=4) + + # Start the herd and create working directories + herd = MooseHerd(sim_runners,input_modifiers,dir_manager) + # Set the parallelisation options, we have 8 combinations of variables and + # 4 MOOSE intances running, so 2 runs will be saved in each working directory + herd.set_num_para_sims(n_para=4) + + # Send all the output to the examples directory and clear out old output + dir_manager.set_base_dir(Path('examples/')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + # Create variables to sweep in a list of dictionaries, 8 combinations possible. + p0 = [1E-3,2E-3] + p1 = [1.5E-3,2E-3] + p2 = [1E-3,3E-3] + var_sweep = list([]) + for nn in p0: + for ee in p1: + for pp in p2: + var_sweep.append([{'p0':nn,'p1':ee,'p2':pp},None]) + + print('Herd sweep variables:') + pprint(var_sweep) + print() + + # Run all variable combinations across 4 MOOSE instances with two runs saved in + # each sim-workdir + for rr in range(NUM_PARA_RUNS): + herd.run_para(var_sweep) + + print(f'Run time (para {rr+1}) = {herd.get_sweep_time():.3f} seconds') + print('------------------------------------------') + + print("-"*80) + print('EXAMPLE: Read Herd Sweep Output') + print("-"*80) + sweep_reader = SweepReader(dir_manager,num_para_read=4) + output_files = sweep_reader.read_all_output_keys() + + print('Herd output files (from output_keys.json):') + pprint(output_files) + print() + + print("-"*80) + print('Reading all output files in parallel as list(SimData).') + print() + start_time = time.perf_counter() + read_all = sweep_reader.read_results_para() + read_time_para = time.perf_counter() - start_time + + print(f'Number of simulations outputs: {len(read_all):d}') + print() + print("="*80) + print(f'Read time parallel = {read_time_para:.6f} seconds') + print("="*80) + print() + + +if __name__ == '__main__': + main() diff --git a/dependencies/mooseherder/examples/ex7d_readconfig_multi_gmshmoose_results.py b/dependencies/mooseherder/examples/ex7d_readconfig_multi_gmshmoose_results.py new file mode 100644 index 00000000..685a76c7 --- /dev/null +++ b/dependencies/mooseherder/examples/ex7d_readconfig_multi_gmshmoose_results.py @@ -0,0 +1,140 @@ +''' +============================================================================== +EXAMPLE: Run Gmsh+MOOSE in parallel multiple times then read sweep results +with a specific read config to extract certain time steps. + +Author: Lloyd Fletcher, Rory Spencer +============================================================================== +''' +import time +from pathlib import Path +from pprint import pprint +import numpy as np + +from mooseherder import (MooseHerd, + MooseRunner, + MooseConfig, + InputModifier, + GmshRunner, + DirectoryManager, + ExodusReader, + SweepReader) + +NUM_PARA_RUNS = 3 +USER_DIR = Path.home() + +def main() -> None: + """main: parallel herd run multiple times and read + """ + print("-"*80) + print('EXAMPLE: Parallel Herd Setup & Run') + print("-"*80) + + # Setup the MOOSE input modifier and runner + moose_input = Path('scripts/moose/moose-mech-simple.i') + moose_modifier = InputModifier(moose_input,'#','') + + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = True) + + # Setup Gmsh + gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') + gmsh_modifier = InputModifier(gmsh_input,'//',';') + + gmsh_path = USER_DIR / 'gmsh/bin/gmsh' + gmsh_runner = GmshRunner(gmsh_path) + gmsh_runner.set_input_file(gmsh_input) + + # Setup herd composition + sim_runners = [gmsh_runner,moose_runner] + input_modifiers = [gmsh_modifier,moose_modifier] + dir_manager = DirectoryManager(n_dirs=4) + + # Start the herd and create working directories + herd = MooseHerd(sim_runners,input_modifiers,dir_manager) + # Set the parallelisation options, we have 8 combinations of variables and + # 4 MOOSE intances running, so 2 runs will be saved in each working directory + herd.set_num_para_sims(n_para=4) + + # Send all the output to the examples directory and clear out old output + dir_manager.set_base_dir(Path('examples/')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + # Create variables to sweep in a list of dictionaries, 8 combinations possible. + p0 = [1E-3,2E-3] + p1 = [1.5E-3,2E-3] + p2 = [1E-3,3E-3] + var_sweep = list([]) + for nn in p0: + for ee in p1: + for pp in p2: + var_sweep.append([{'p0':nn,'p1':ee,'p2':pp},None]) + + print('Herd sweep variables:') + pprint(var_sweep) + print() + + # Run all variable combinations across 4 MOOSE instances with two runs saved in + # each sim-workdir + for rr in range(NUM_PARA_RUNS): + herd.run_para(var_sweep) + + print(f'Run time (para {rr+1}) = {herd.get_sweep_time():.3f} seconds') + print('------------------------------------------') + + print("-"*80) + print('EXAMPLE: Read Herd Sweep Output') + print("-"*80) + + sweep_reader = SweepReader(dir_manager,num_para_read=4) + output_files = sweep_reader.read_all_output_keys() + + print('Herd output files (from output_keys.json):') + pprint(output_files) + print() + + print('Extracting SimReadConfig from the first moose run at:') + print(output_files[0][1]) + print() + + exodus_reader = ExodusReader(output_files[0][1]) # type: ignore + read_config = exodus_reader.get_read_config() + + sim_time = exodus_reader.get_time() + read_config.time_inds = np.arange(0,sim_time.shape[0],2) # type: ignore + + print('Simulation time steps from the first MOOSE run:') + print('sim_time=') + print(sim_time) + print() + + print('Indices of the time steps that will be extracted from the sims.') + print('read_config.time_inds=') + print(read_config.time_inds) + print() + + print("-"*80) + print('Reading all output files in parallel as list(SimData).') + print() + + start_time = time.perf_counter() + read_all = sweep_reader.read_results_para(read_config=read_config) + read_time_para = time.perf_counter() - start_time + + print(f'Number of simulations outputs: {len(read_all):d}') + print('Time steps extracted from the first MOOSE simulation:') + print(read_all[0][1].time) + print() + + print("="*80) + print(f'Read time parallel = {read_time_para:.6f} seconds') + print("="*80) + print() + + +if __name__ == '__main__': + main() diff --git a/dependencies/mooseherder/examples/ex8_read_existing_sweep_output.py b/dependencies/mooseherder/examples/ex8_read_existing_sweep_output.py new file mode 100644 index 00000000..f62f0208 --- /dev/null +++ b/dependencies/mooseherder/examples/ex8_read_existing_sweep_output.py @@ -0,0 +1,54 @@ +''' +============================================================================== +EXAMPLE: Read existing sweep results + +Author: Lloyd Fletcher +============================================================================== +''' +import time +from pprint import pprint +from pathlib import Path +from mooseherder import DirectoryManager +from mooseherder import SweepReader + + +def main() -> None: + """main: + """ + print("-"*80) + print('EXAMPLE: Read Existing Sweep Results') + print("-"*80) + + base_dir = Path('examples/example_output/') + print(f'Reading from sub directories in:\n{base_dir}\n') + + dir_manager = DirectoryManager(n_dirs=4) + dir_manager.set_base_dir(base_dir) + + sweep_reader = SweepReader(dir_manager,num_para_read=4) + output_files = sweep_reader.read_all_output_keys() + sweep_variables = sweep_reader.read_all_sweep_var_files() + + print('Output files in json keys:') + pprint(output_files) + print() + + print('Sweep variables:') + pprint(sweep_variables) + print() + + print("-"*80) + print('Reading all output files in parallel as list(SimData).') + start_time = time.perf_counter() + sweep_data = sweep_reader.read_results_para() + read_time_para = time.perf_counter() - start_time + + print(f'Number of simulations outputs read: {len(sweep_data):d}') + print() + print("="*80) + print(f'Read time parallel = {read_time_para:.6f} seconds') + print("="*80) + + +if __name__ == '__main__': + main() diff --git a/dependencies/mooseherder/examples/ex9_full_functionality_no_print.py b/dependencies/mooseherder/examples/ex9_full_functionality_no_print.py new file mode 100644 index 00000000..656bec24 --- /dev/null +++ b/dependencies/mooseherder/examples/ex9_full_functionality_no_print.py @@ -0,0 +1,62 @@ +""" +============================================================================== +EXAMPLE: Full functionality, code only, only print at start and end + +Author: Lloyd Fletcher +============================================================================== +""" +from pathlib import Path +from mooseherder import (MooseHerd, + MooseRunner, + MooseConfig, + InputModifier, + DirectoryManager, + SweepReader) + +NUM_PARA_RUNS = 3 +USER_DIR = Path.home() + +def main() -> None: + print('Start minimal full functionality example') + + moose_input = Path('scripts/moose/moose-mech-simple.i') + moose_modifier = InputModifier(moose_input,'#','') + + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks = 1, + n_threads = 2, + redirect_out = False) + + dir_manager = DirectoryManager(n_dirs=4) + + herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) + herd.set_num_para_sims(n_para=4) + herd.set_keep_flag(False) + + dir_manager.set_base_dir(Path('examples/')) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + n_elem_y = [10,20] + e_mod = [1e9,2e9] + p_rat = [0.3,0.35] + moose_vars = list([]) + for nn in n_elem_y: + for ee in e_mod: + for pp in p_rat: + moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) + + + for _ in range(NUM_PARA_RUNS): + herd.run_para(moose_vars) + + sweep_reader = SweepReader(dir_manager,num_para_read=4) + sweep_reader.read_all_output_keys() + read_all = sweep_reader.read_results_para() + + print('Finished.') + + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1.i b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1.i new file mode 100644 index 00000000..719299b7 --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12.i b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12.i new file mode 100644 index 00000000..8fe88ffa --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12_out.e new file mode 100644 index 0000000000000000000000000000000000000000..900e8d63f88a776f2ddb4e6c5e3a3653f1c09533 GIT binary patch literal 105844 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

=%# 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1_out.e new file mode 100644 index 0000000000000000000000000000000000000000..1c6160b238716cb89913a8385e93829a06ed51f6 GIT binary patch literal 105840 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20.i b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20.i new file mode 100644 index 00000000..8fe88ffa --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20_out.e new file mode 100644 index 0000000000000000000000000000000000000000..783b70226621d91a3506d28d1922fa455903ad3e GIT binary patch literal 105844 zcmeEv2Ut_d_cmA&dtJm9vG;}r1;z+=L=aG(=UEA8%zV_a`j=lG` z_TJat*1G=BxidF(G+Dmq+26P1dEU&-xijyaIWu?e%)N8xdU&?WWn*KL2Vf5<1F+Mm zv@)$cPGw_b3qhL#CUu-jW;Chv7-GNt+JrcnQXPjOOkV)QTAfm5WXB(XV}~-8Mum|M z0qj{=7NLn1A|ZKUF`dk)GV!#iiy$|um5^^Lc@fT`)*?+Kfd{#ZavqspWq>?|1ISYd z<&4LO!cu8ujUkNXP8qLB2JxJEyntb^ao7f+ z-N-<>C{r|u&FLlJF9hVxoS`AfO$k`lA~$$#@|x5p4Q2>Gv_WB`I<8*hhB94(sXiAA z_NoEL?1lE&D_X}BVEzd4mk&IsFZ}LLgueo+h~!KmjB(K};t%yez^`Cc__KrfdV@}n z?L~}>_CUlYOww8nJ#p-$ot;}&Cqf_1^QgZL@)!?@qdPfYI$ zaSIsJ=Z9@U{H4s#3xswMKV^Ox_j~gTfw=h;I%pwD0zKL!x8P%cpnLun%v(?cE{oe+ zkYo|J#C(W>c1QDK+rTy;){&^2y{w&Dqva=kbxWHa1xkTGq$W;-!?9p~+Hdan72mZd3PmJz_e1)*jm0_n8C&%tNt&O1|xo04` zjZIadEDD`gt5TS-Z6lFzUV|&>|_!k1N`tXqvcnS-7PaxFWAuHs1dTF;eihOiB?~ z)VDa}F~=2okAb8Ro>(|=;MY2AZzXvALf{JZp7nW;N$}Sa%Tzc~u7R_a@nIu}A4Wi) zO!}$&cz&cxhX#S)H_|;l2XP7u`U{oGuiz|QNr55xy!uApC3bbLScc+48AQ%Ts)#h@ zz_up-pkK?^ng!mXy;7%b{Jm*Ed8JF+=kq_ygJeku1;#^TGCm zKXg+0d>gW58vdq>t{_DDVJ;WlvrU8_5#3Atxai(wDT(Ob;qgWH zex&dtqWg%a7u_ev@OPYu?hDQ*x-WTr(S6PNMfVL)FS_q|exi%kh942#51dbQKXE?M z{ml79_ixU}-PQt|jg9DLYQM9b_Y%+VCQC@t+9jHou}x3STvBLBprLKf(7syjQH#YpHt$qAzTZ9&+zd%S^)q)gU08@_?!oy!{Rejd=^>^fX^=R zc_cnh5}y&_8mS)u4uG-%M?g71c|Zj~ML;Eh1W*~^1gHY23aAFC4yXaB38)3A4X6XC z3#bRE4`={r2*5{w_&Bl&z!}gK&8 z0PO)C0389H0G$C|fGz-UKv#edz!%UB;0N#r1OU1NdH@0eJpn<0U_b~U6c7fG0m1=t zKm+m;m?{FcB~b zFc~lfFcmNjFdgt4U0CDU=Cm|U>@Lizz*4|6z;eI}z)HX> zz-qu6z*@jMz;mit>;dcr>;vov8~_{y90D8$ z9042!90ME&oB*5zoC2H%oB^B#oCBN(Tmbw5xCpoexD2=gxC*!ixDL1hxCyugxDB`i zxC^)kxDR*$um$7-{e=NVxD5S80mZls z{lx(#xD5Rz0j0PM{iOkAxD5S2035gs{bd1;T!#K~fbv|1{tAGKT!#Ki00{tP=&uZL z0!X;O3b<7PC_{fWKy?7h&|d>k6M!=G*8wyOiE%l&A(dR&Hnv|W8JLqFQC z0hgg4ZP$>?(2urj#AWD5+coAg^rP*Xa2fj1cFtUeezaXvE<-=st{Io1A8ps1%g~Ru zYr$pcM?1N28TuuFmH?EYAMMl%fHL%>om>GZLqFQd4S+KAqn+FVC__KmjsQ@GHbdLB z21vOdZPy0S8i0PZod*DA=ttXm0#Js2v|U>O%FvItYX?9X`q6gn0VqR1+O7itW#~uS zbp)Uc{b;*R0FouUCKLqFP14L}*%3~d(!h~<8? zorcTMkG6~BGW4VEv|NUMw4IL2(2us$a~b;4cJW+>ezcu|%g~RuGjbXF(M~2VLw`6R z0e~{}qn#1~C__KmsTTlc=tnyx0Z@j1v{P>Y%FvH?>H|O-`q55(0VqR1+NmD^W#~sc z^#`B~{b;)Z0FgSa1UHyD62^rP*D08oa0wB1ku%FvIt8wNlb`q6g70VqR1 z+U`dH%FvIt8v#HW`q6eH0VqR1+UX|%%FvH?8U;WZ`q55515k#3w9{w+%FvH?`UQY8 z^rM}|08oa0w9{As%FvH?8V5ib`q56~0VqR1+Gzp+W#~uS{R%+YAOPBFB485tqn##m z8T!#qQ@9NMXs4-MhJLiuG%iCw+G#qMp&#w^8<(LU?KFeS(2sVS$z|wAJI&%U^rM|- za~b;4PICY#LqFPSE?^G#qn+jfP=^rP)oaT)s2cB{Dz z{b;*2T!wzM-C8a~KiX~`m!Ti+w4Te*KL@Y@fHL%>oi+kchJLiuCIHINk9OJ&KpFbc zPFnydLqFPSD*$EaM>}l;pbY(Jr|kfgp&xCx1AsEL8QN|qfO0?DZWjP$=ttY_2JGT~ zwA~&6%FvIt+Y3M$`q6g#04PI0+HOApW#~uS9RQ#V{b;*`0FolXN# zhJLi&834-AW@x9gfOFix3*7Snl%XH(bOC@e^rM~r0H6&0Xs3$+l%XH(bP0em^rM|F z15k#3w9^#;%FvH?x(YxU`q56;04PI0+UYs~W#~sc-2k8r{b;9~0FfHL%>?H&M7W(&v#$PLH?$P35^$Pcgs z6ad%*3IYlN3ImD&iUNuOiUUdjN&-p&N(0IOegHTC$^sk#ibzWq=c) z3ZN>W8lXC$2B0RO7N9nu4xlce9-uy;0iYqE5uh=k3BVc96wnON9MA&b0%!?n1#ktp z0o(xu&>A2Gv;lYkJOOP1?Evio9RM8xodBHyUVttDZ$MXo55O1D4d4gx2Lu4R19|`g z0X+dhfM7rfAQTV=kO9I0azF$?0Z;-|fJi_TAR3?s!~kLe8bBOC3(x`dfOvobU<8-| z34laEFF+EYH=qxoFQ6ZwKVSf0AYc$+FklE^C}0?1IN(RX2*60dPk>Q?p8=x*zW~Mn z#sbCx#sek*eg#YfOae>>OaV*uumP|UunDjkum!Lcunn*sumi9YKmoe|y8(Lu zdjb0Z`vC_42LXowwt!rK+<-iQynuXw`~W*Z0f0TAAfOPSFrWyaD4-aiIG_ZeB%l-k z`LYwpSrgz2@Bt_RSnpU@a{y=)EC-h1dyw7sL%U@s&~~K(wE%7aUw{gL?Ht?YTmY5< z>*{-ed}tS}SFBU4PpnI6JN z2OuYw3Cms=AO&;>!~zBZCIRq#!uEeosW$3m*joOhKcW2Ca{i+~qsbtLmxz=8t4%;G z|9`a!@bdTmkC(p>4v_wfzeJrjPHj}-o6`oB(fD690bVOpp-Kk7e`J^{5)Xq)Zc-^F z5xpf{x_0$zE5QMS^}h@h{Kte64_#cGT&t9L!FCD~sUa#MPNg*&C6JdDib~+kdXp-_ zSWl-nN$S0!M8g$y0R%j+BVfDcCYAH$nMX5~^1=s?d=1m)_nkt$_Hf$)- zX(f#tHf~a{QNwx-8;cyNTrYJ*7nLzuR6m(gp^A)b;oPJ}vk0Z4MH6L<<|-Fegi8y# zqKVukqPcU^=8YPuoEtTjr(%PEPg{RKMS41kq)GioF7=zFjsEShpI2L-%n2KPn;>lr zj|77O8i~Xoc1B4qFPPFlIziG-6(MQVRMN<$Ws`<28@ZtQoYNAd4Yy5FDH7lnR*g#F zggr9i^a8Pef=bd=VS=(t8Z~U$uqki~^^um~e=m$JzN1#3V3NSL4k~kd{}&Y`I5eA; zkw|0-T6KJaN+ws}X)J66k$eJ5ByJL^QrS(V5l(Vrv|8Uqu9Zir44LU6ffH71GUzn$ z`g4>qB@_3%NjiFWmwNG?N;0EKmP;gRE$Wu2%76?-Zjzc>olL2UlqYCRINSTi4++&K zwOk{MH0a`F!WJ^Pe+zCWBxK^Ib3%Bf9xh_ZM552~BIEuC(8bCGMv*4jg)=3=JxS)Q zmJ{N(E226XxNeg6(f~id?=Ew;cVFL~^Y=y!ZsTFh?mqT=^Zveg5=n6V20l1LNHD0f zLshKTEH46XlD2VrQ*WtofdKoMbI(L!B+T+6;3ffK>B(?J<=A35y~TsI!%H}1$*1To>j0do5BQ}KM7ZA%lkv5 zlxy_Sa>kwZ-#S9!5+yhEPRj;iH%SKNN?XnpVMdWfOBCASw_0;LLcC9@kt>92L7MA| zo1_N2iz{I_Gw~jDRzIepDhclVrK$^a;jOb_B#f7IDaIdWI<%ps*JVr`nV=O;{uD%_ z7YJ3&Yn!qvWvXK=U39cbmPylblQc|~;9CJkm__$sY3INQjdB>(!0lLGpJH**wXRZ9 z5vFe5*+AGQrGi#!m|%oiKmrWHU`VHcf=5QGa7w8bhW@~5LA@|-kWf5Zlrk7$N1L^@ zrX2>?uiqe>x>xLAvz6{!t<;L+!WD(RFeXdNj&h^%zj2|5xn3I&c0rLVm9hv0UhYL5 z(v<-Tv*=!}J5#balabKUxgLxhj9nvQ;6lfWg*vDBS%v)E>>Nvedt$=%@8U3s&awdgk^iV0r-f)j3PJ%Z} zzBRI8BUn95Q&bu2hefu0D3Vzd6jZdPQj98i6p-1^qDvl}+Q^f|H4lqy!8Mc<3M2LG z)DUh>sWUxS+}OzVyPrX$Vku`4=@fO7KpRji6XcroeP2eB|E=qC?|;E{IsNlutc0BF za_Xj-b6w8pY)d6WgXLV8Q$Mt@=9-doT~2%IS^C6BBFVWfr?sJQBO-lYpXv-w4q)nk z_jUPy;8_5B1P)I{Rfg=i&f9!r`iz@BCA7f`ZZm?#alI46J2`!z`XE~ooLQAI=Sm-$ue;Gw>QW-41KL;A7BGjuD za`?cCRa}A@csrCU6XjY(Mh^@vzlhWG*Z=T`u%fe(2%Vn(6f~s$xPg5wT1>2ENC$oG?^DFMOCk1i!_$XJcuJ~Tw^EG z>)A87WGd#fydA>80H^b*x&?Dv)andzGNI{zS0e<)g*kvg$h(Dqz$MrL2s66{Bo^7y z9$RUGelV@&lEYXjb(&bxY=BU$O(sa|6Kc89cbz1>$XVWwwB{nE(kf+m<1MXfJnSa1 zY!RYFqB0oZ(Jx%2GA_I2y-mu?QU)iqU_*<}j&6P zM57E0DLge4FVmKFu@Z?!mO*1lS<9AQ0yOa9sdQD5im)O4Qn!sPLa1RzJ-?Ze*|2FA z6sZpZAuQ|W*JCqF3J=_aWs4b8r^_^yicqGPD`H`RW(q!NhkE#Ap(0a)v1r}JNiTg`EwTzrBwC@CwK^>t z6F#=1hasX~XC5X(rC3nMc-4c^x=C&@CFsFb>CK&jSai!f2Q6#aN_Ap}?FXAp9gF%y zPKfGd#AvmKnYC`AVOy$UX2oUA28!Isl2Z?gEOgX3IZ0O~*36`U5Zg8`Xvu&Ndu$6k z2Tquwdcv7vfdQe#Lp#*KhoCewn98pEWLloZp&mk zC$+p%gbA`N(I|_ND`eu$8@(LflC!dw%`E(TF5Q?$xpMQ;OyIJRN$ zx4X|Qr>q4y^?>{*f2ezaHZzMJG{QaZL04YZ3+!rtcNIr4u*8;8jt1Y zvJvj0r0xQf%L_g?iTK#Bo+?3;`TJ2~PX>>;V%2(?DhcoG;w6;bq)Fzq+=fQ2$`}_3 zqX#r)Mzw6|Wt82%&UDmng$-fBk_o@-om|Y6J}U@~%x)Qtl!QvLbZi43R?g~HkQJ38 zoOqeuxv_>2Uf%7ElNGr4tW=rcW+F5nvl;&(A?qhns{0QKVR8XaC{o_Zw)~oc>d5pe zgBm`f3-`g&4sR@PHYo{(5~rs8M}(=VSiM+BC{Fa!*bgZM8(MTj5?(RDkHGWu#oSy( zkL9&25W>hNPIwk&G{IZu3V10=$KSQH{JNZyFkOFb%|(jcyI}V*2-mQR{iV@y) zQJb=16(^pw-+s43vkJ)^J2h-p68hYg!F?EH%UEn%*Q_ERC5VppK;&d}j zVZ|a_RLM4&imeD?>C^pN(`?v1PB5Gf#_lGyDpg~&#)etmG{g1p(!nS({)&c(u zGkVy(A$u-Q>|*_m*)onC*sBnpe76;)k3k2kT;urE8PrLA)&IsN3JEQJP$-USGJHoJ z2`#&C^Ns1ZH5z6)_Ci8SX8~%hLX)6W$zT&U*dGtpIYdS4;2w$iz{c|79PevV)1=*_5s|8X{q)XSACnuxC)# zr*EpG_!d%%cRf<-#{8BP7n$LfZdMaBYc2uMAHyIiN(HY6%QM(-&vF|^$zj{~%uf|7 z2>Iv@+Mx;F{WHRv-ISKJoKU0EMwz1V?ox)YbXiV_D;YH^d1N}>%(eXe;}D^iwXjIb zs7`gOIdzdO;)7-br!e#k`1)UlZ!f^UB5m7A1H8U>w`hToUD#7CnKLVC`P&~ES8fVI zXN$^=8e(hV%O~K5AUw^DO0i=h+-X6umfbjMN< z3fF>kwQYGjG;3(?rBjjq144Lh4VIgvVuPx&oKRRU$OeJ3UePM8EcMvL^8OH(MVbq1 zZY;?jOEpYaOaD|LJfr8mt4f&-Hy^NU-*ICc#+&WMK0WzvLj$uW$>l=AoEzh4h2$S> z3C@hCQsT(nY{_J+rS@S;Sl(=urG08EQd-`yIbn((OXLzWC#zdQ#=Q^^jyZWWjX%(&K(2HRgHwWeSRhvQS1+W1EikL<^`xWpxICfKG0UvWac`OlhK&T@2P6=7zl z9V!X6Y~jcOUcJifv}1%8y!{7F0MlqQJMB2(w^~Z7gm z&T3S&S^fI;ZA80q9j$69sS+^_@gYqHZy@18Ylb3OuKcoQT9M^l2R8|C`l6vkBc&>6 za)1>X7Er^|dYzFyag2i(jdkK&1@=Fb_txkPZIkr44Wdq)oHj!rC(Qhd0oD~ci`5vG zuf#wd;e&OsvK#Jh!h<-RG^e;lXPt)l=rO_kjGCE&|AP&?`b)hsv{yz#mQ1|mBuhVK zu};G%;q5DUcN7bqNd$ z3F6cmHb>1K!W5s|vyM=!>Lue}Rxp>9d#vkiptZm~B^i9A3bvU_eT&ykV%gWVnI5SK zaa&9L^c*{6U6C^+6gK4%-etCgGz$%3{{U9^7WLX05T-s~EYS|nZAOT-0SoUl>LaXq z;RPPj@OsE#n+@wU%;MV`RuaM*GAMGY%I2oDk}!jQi&+8#Z8m*E3!XE>*1Y(ITU^^B?gwH~qfTyzS-f&=U2l^JdqBZ>0ls;J zs|I6X1qwXtgKtr@Z3!&p%;;ihy^K{SjA7vkZZj^WR zoLM(D!)JS$e9q0<`hZiZWEQyD-vOayj{pmNcQ_0j7 zHOX{7YOM`3osU{K8_i-qYORKuT$!vtQ_>Qe=cCqYnCX1fqAL{Cy;#esCIBgW3hQR0 z!V}!&39dK~!rZJaaw-i)LTl!u85Y@0C{~pPL-z~`Q_e@NEpn#wQR`--S13$SCGS+aoC_hiz{udCd_QcY~6erRuZuLrRm3= z)@lgbcAh8fM#^UMw0CX3LyjB+PV9Z*7mAZF732VKzQvM#5~Q zV~^po@w4JKHva=J^LAyMPiM;=5gg-XaX*AL0P(pV%b48~;YwsUMueLKdOd#eB%_ZH zAf@FEI|ZR|6IP!31qRDI2VuWfv43X8O!;rQh6)`#WJ^hr+Hd)77Myy+?whG;l0#Mz zW<2#~q?V7d`QqsedVhh@3L6>|lM9&MXE~u#7a1qd9dU$7^&jbi}DQ+Ax_gO{p!T!{Hnw6zW=|OTSsWHAU7%;q&SY&l79T zWn3bk2^oqlKbOs)vWbT6FLZ{qZ!uV2WMgkFd>;jNF3-5omR|y3r}yl=>Lr>oe9|MD z)$$@IDdl3~j9hC7vltLt(`=IBGP{Bb3R|k-|G-?&C-t|Xvu)0o;k?Znp|Hl(uZvH% zX@)iVjn_Q=RPdd*l$KE$*rYV23|2BU0KKq3%yPk{HN8!iE9a2V(!HvH(AYI123B3L zf}qYRewJSXzPS~%V4Cl)aMVQsUt-a~)l>K+OWI!1@*W$eKH2>OU}SoYy)XpRMPERbV?91G-FAjbkZ z7Ra$cjsjEhXAxvpG!*kCm6 zWV~EzoNqxf7IkS7aiDoGi8<2aLu;wN*TN4GKZapjX788 zs=YbvcxvvANlhf?aB)MSEoI~@%wgNcUC#HYc~J~+cU~ANiFs5`3=`pajfLhgOJBtt z7Wf;lGlzxzuUs*Q1^v8kn8Qr}e&#SMUpI4@mA{NR%hXq4o7*p||swk!JW=`)4;nri;?GBy|W^7kF!{B9p@ceLhs zzrpKin}UBxW1C!{t#&x}+x*9F>fGQ-jnjb#Y3<;93-bJNhdLH$(ZR;9;P%e`ot|wT zJCX?Dd@WJ{A1n`rq^o1^cq2XI@%UCbQnNGP7e0= zRsTT)eC*C%(>YV$ozgnmxOeD%lVsxX1JZ#Dg(*ZqT3`lam5-3cDFrO&PCA3M*a zja;w&oU80ZTDhp*=?S~Mw)_70;FUwv5F&&rA?$c8Ve#t`mc9sKd{YVI4OXDis1>ghsBc+y)YH9hXy+B7 z)79FKwC(gZpUyp)PsyQvPHR?4sq?*e??1bH(5hR$ez;R`!}frNXS>XjekMZLK9&f_ z-KG;E{>q7jrSC=<-%7&x&k&ZM4`KNaBuuYg3DfHo4eMX=iQViERPJc=+;Q7N8np7n z*L+nf(eC#Xri87UO#NEU+}>{aINCL??D9M1PSFku5%PDsN0?sQ z2-9mM4R;T8IdZ2hji~gh`GHlnX~?26eRug%8hG-2|GNrz8jxr7rM|_^P~Wbyp(l&X zrk$hO{ndX_7wRdScwo=``n2U2@9sbLIz?;Wb}Vx>r1$oa_ucHCRsKSRaL@uG98bJR zg!sQNCPMm!dkEtTC5-=PBIFnGlCb<^2-B+^VS3q6c@;ZDqdI%3qEP;}3pVAaVUa@? zw_K*6K?62UxqapV?LK95<-=1d(r%mQ{dVb`Y*U((-9KUH#g!luV6P7-J2z;j>6M=v78N%`#M_B$P z3Davj5%k)4g+|y6wcT|A&FQR-i? zTT$hdBQp5*9KP-T~6)mv0d@Hj?FL9LqrJgenW)g z^PUnR{_2%PNN@L!Fg^)k{Bh78F~7b<$e(;AOs`sm=~anFJSY*{_sct~ytw^-fOH@Y zf0}#c%&o38^srCIWv=6B&zZYw9R0aA4UkO_-B#!&^>uI<_(#wT+HuC+X_BN3R9bk_ zn<4`n(?$h6YP%0xusve1aa@}ji-`~(I)Dhr2h1caehI?TO9|r}N(BB<+X>6BDq;EC z5T@69!t^3yzc0G9r7C9U!>uaX&VAW=N6B2Xym|Ss@JcU#H;0>cUtQ68{!w$-S>0bf z>-Yh4xXH<`Z+f;eU-xJe)x*E5k2ED8FYm3`JIK`>Zv1D>3GYM4B!^EN_3!m`Npg7q zkeY`Jh9!rE(6VlNZLMc=S7t^yrXRo)av|rjVJZ|P@o7Y zIfZ&^syP<;TAO;>k9X)ednNTad_fW1tt<7IzuLY?D+TqKI#w~vJr@tF`SBh+{#Ks8 zKIfay`P-QDWBJRNUN66Ly#i?WU*o3iF;u2O2}4Uny_8bF=ht@)2yaBYb#C_8s79gG zxAmo_2c2?JpV5wg`+QkJeF}e0s=P8k?W!r()i=*=>it)zN<)9zM7`JhHj;R}rQWlW z1}Z1DWnoVnetbWV|AD73#Q8Qe{>oo@ejz;n`dqK#T(4?0^wrRi@>9ZS_#}fov|uO= z4j9tvQ}af&XH@rdwKiX;fq5(6ZZy$__Q<#I^VK1rY4@&;Bj$dU(}3fWhOa-ubvCiw z#%8mY&;U>S;91^rG@!}qUd`=)=3x^*zJ|wt#M4JJzM*+Je@mXX91_X_;%*art%{e6Y`(UbgFK@bD(Tv|j1>r0TitI>bM)r!h;f@A>p`0*xLs>1WyMUNq{L zk^_eO<))F#oSRe}8ctQue{kGb^($5N+|>R+pFC9gNLSSL?G>v0ZT*^lzucfoZH;Sr zoLf<)tk%?>BYx#!cYgdfkAIt|FKFgt{J}gw8=ik0)9e0UTrVw+tABrfkBVKXwnp=H zOFi>aO|4qCPfFU**t*-)1?D@_n2x#Kznm{j)j!@HKA}oQ8vWSj%hichXtZIf=lTu3 zX>_I5`R-PDLZhD5zH_wmVH$PqgGst)9uFTeA7}9g@bq;!UscX;%kwM6@-Oj$>*d1q z^0-O$^3^-~erQAWmwUW@U+5Xt9SE8@$Myx)o_IFvRAMNNd!n(wU|*ZY)jX8%Zdg^S z8Tn-3$B!kcrby$sa}OWU*iD~1wxaoI?69vp-kjIdSW{K?@3ym(!@}`AJpL=5z5?f~ z&-u&p{QPW|fP z9dW!U)yGDKXlq`e`f^jQJJh>Lb=xMD|9JKd)hV64kI6<-UBepnmhB0lx{6OqzIn2l zhr{^sp*;Rap8f&nyUO|Pcz!*3{t~WN4X#%$(qnqxU*`L5C+!NK3;x^VDQUIq;IY~c zJBjm7+o8{&yde$Gx&>b;982mR%p;xa{0FJ^OVfmrj7as36Pd9<_G%d?{2l9L#@qABkJ+5-SmJ`)nmxkjO8)HO`CI ztRjBTr5}P^D-!QzpRUaMSdnzBs(D_a@*C22>WFHM9d8kjR=Oq6!>$wQvfDk+w0lch zZ?botzxO0*-6m?ok$i#NRdV^CEMEI+ES)SD<0)61@jBV?e2VgX%X2;EGri`&C5n(i zKdr3gK_c4Nwb1R_NJ8U_78{~0L3(^qT+3g*7x8bkHacWnC*nJQMu`HKx09}0%193W z)SPq)Sl`Re--&d-I=SD&LLsDcO~bf~C)#t@hszUrybzvlAm=&7c|&+U2|V8)xE^b` zUX4k_iMD$x4DLfB&NSIy)S(2CS2O&T@WGLU{=KQrp*E{XP~i5>KOLPJ&`QWi@ zNx(2kqifYdiGR6%14rDiL;PIag4IuEl5WS^m+iaNfx8vBd=-z^fu|e5c@A>kc|4yr zJl~33k1|}ZcoH$F@SlaeZArwNq|>qjPf0|>aLw-nK9KNpKYK3Szn_F1Dw7z|z6%NQ z%4_QS%!vdAtsVdJ*(wtFrcOt@f}td^@ZD10L<}9a(0k%b67ki)_)DkrBx3Wi{_6e*iTs&+pBV#uN%)J; zyA`n~i0m)l2T#6~Ct)z?dF}`0u6k_7{6Wu1NRQ7EKD#E6;8)u}#T`7$-7{SNGmm$N zr`y7LYI5GAJfC(v-@{ywGhDAbBw~$=UvTODMBy-Fd%3ISiK1A&FNYEwNyL)V?t24f zl8B<^Chj>?mB`fMEV^1&2j%X$#>e?@BHujPZpx-OBA;=$V{ba1 zyA!xPoX2~@(?xL}I1dEg)jS^=&)3NH2;_QgB??#j_vOZvB8mZhXGGMkLlhh9jDMRr zmMD(L47*r=B~k3(d)H%EA);73ted@SZlW0M@VMDY2~h;)-aownq;C~J>2|lZL{a;6 zsmMxCxciRF=ks_AdAib^$DZ-hPduNIJl~(V9`(3h1&Ja`b}# z<(Nw)A~vvf7)e&%OOc{(3i^c4~PhbjGwemS%jr4L>P|~VZ37q%V!Z``EDmnk9vgZ zYM4e)TYwr-O5$kIF`1Gy!EK*^4+w_;rY(f$MvK& zu8n)R(7hoodb{&Hr^`i&;GXV81i70%5#o)FA}rkt!gxv$#@mjtd_0JdZ==hE=`orJ zdaZWYc_(1@JHxwN)Jd~kTe##G+W5x0(eLX_q%G#De^Xv=LtS3gZ_$J#(B_}MO3FpG zrp^V8+gH0zr1kEOztiybcIqVm@Sw!Zxzz6P)$$$x%0~qE=}$zE|8|uK@m>@mEL|fa z@Tgu8#_K_Zd@k)ELcXyj|jX=N)aKS0#%8Suj&VP)Z^KmuT;>h zW@}QY%%2YTZctKUSiwWNA3k^g)WmIxeV^9U_Tr_ki2-_AdfL^zW9>%L@=CWKsux$& z3ijL9l$=+GIt+bX#A|g3E!OL>s5K8ruDN-Aa}AQXU#{ZvT(`$| z=c6YN{(Qfk?tJ}zYO(q5HalMoE;H&(H_6UR4xf!bwYcdnxTVXx3-Ydq+=X}*Pq_=} zrVrXF@O-tU0&lDh74q3Ojtcn>Y)Az?YD=h~m)_R>t)$88p+PppzQLedx4djgp}CLB zF4;VXA&xkt^1>ny#u2M4RYV{OYRf5Mts_NR5f7fn~Gm|o@#dd z2e0a_cWx^=a;d|gU)|9yTc(G*AdjBwj`3bc4&I6BZWpoHDe%nMwNv1o2lm5!>NTW7 zzWc{fK@akEr=XX|E}B^V>aI&g7EtZW3hPv{KhoHPkBYpxo`=RblsDb2@f%fF85FcF zUoILw*kj7r%d2U0@rap?+v;f4zNJA;V`kB)i7oUC8|0!<{Z?x`{I-C*i@Ds6$6LhH z89C1e&Rfu&kC5-RuUwA=uGd6rS`zbfx6mkR*wf@~o6zc1-?;ol#m+z)cfaY@hnI9z z(|N$84-JdbShr@5NBixeF+*)DZwsy95JT47HGsvdj&^2&aW+%3oD z)p@+9JY7A`bCUCx;rT@KeEqo|mAGC#sG-ljkw1-VL=BHZW(U8?1@pWk_H{>2r+VF= z5?W(D)fHEaA6d2rjoY*9?cRV3RC9jOsd2C7QcdGkt3D0gPh*b-mA5o)N&Rd7)vzq5SmFe;NE!WGD#!s8%`$uRvH6%P3du&@LYH)I{ zUnNmO;{%5*^Gd2l^W)-T74qW=>s5wO9At>Yo%!wRP@p3O_!O#%;Zp|KQje zG;ZjHS32*T+`Yx+b9uaRJe`sA%;vn&JfB)T-%4DM_FS)yG`{urf`jI^rv^tynSJYS z)KI6XPp)MbX#D<Wh8^zBNCbs8uwW>ZQ(pr>efDx-0YRw@$i5b=rU* z4yle(U5oe0q8N@Pu;SsXU*;Jl|tnj}Ba~#x&mL?xxPJU1x}@ zHv~cb(6Oa_8c}^P1KOozsF(O0Bgf6LK#m1+ERbV?91B=t0cm8(!av8vM@ePFcD_H5r@1t!ySxjqm-@V_S7jC1 zEcMwme*~zXT-^$|^GN)raw>WPbo=*v$?@_KtO|Dl@siJR@`USouN#$3=#=Rd~ zLK;@evDdZ8kJ6xDzWQof50eHKI27fTUm@-8PFe@P&oA|V)1%Oss?JjXqHSFNtXN6v zH=x}3=3m=L{hH4z?bLH1cZYC!2Oh5)Pe(Y9J?B;Pe3E#+FSs5BxLz?*d5s=}t9|Jq zm5+W}bW!1a((s1I&$g}6RT}DhE#Zg5MWsRaPn10RteCWC!3!6Ag#}A{EI+YGYCJCO zz9DaqXpaPG_cA;B7B1u<4LCej(JpcZcV}{WB_3}mPj`p&gm7L*o=+a0Zx^OVp})Ca zp3-nd#}|#)otDZAPTze(@`E&dbc+>XTX#rh6&ER24! zM(j}UI50PpkkwvB9s~=oXXn0>5K4fcr<#Lsz;eK75o;CNAhSy%;Syl?|weX;X zE7Sgv%03@j@4M>@ci(XN5gxA~Pv^~f>T}*3EFTrb7xKNGtcRc%&zRFS{H-+nh|iK& zi{44Yw+^hZc~n`bpNDVrdq6zV734*Dycay(C(d(@^G@gabl~|e<$6r#dM%cQAHLGS zxh2@^sj}%G&z?x-m8!aa?l3_r?^y6uZRZP8dBoQ#oyrxK$~7NDtN#5(Dvxay-nsca zsa%m%ggPvi%7blR7GHT>Di7G>^!!vc?$+Y+V?5qeo(}X8c-|%R3i({-`NDZ3=y93r z^=Io$E;iJ+@U@bUYRslVLo4nq`?-Y}jdpB%v)dUmeGaC5l0r_14_?W@JGYpvTG zZ6^n<6vIR~zT*dTn5Exn4m199<}k~Dx;f1BGwV;7{vFN7S^3<}VOIWD<}kCAM zeKcWw@LWXT??qUCvxty?>mr2dHHvN`g?k%mOg zIUA$zN4sC?`Qq=BLut3Ng-;fFGn#fjeXfH2tqRnWG&eJoPFV<4?vq2fOt0lsUDI2C z#p4~-+{jxyHrj!zLe@=QnedRx4_B%tkC{M29lXO!tg26Ybn>Y6HgXv4X4k(#3tdCn zNj^f`ami9DZNIbRoTf>%QQ7@lYi-iIde_eN(=V-S5*B_!*zt{o#eYUvdVj+B781tq zO;~>O2+RL75%lsbLYQ7IR8wPr;FW!AsqWJ84~3n)X>@RvmrwNbsdE0X+y@h2J(yG2 z^ZS)<)8K8(S8gd(ga#~do!IVSDD8SNu<)Wc8tVC?)zm*ez;m8`rOM|W_=l_S**5jB zHEm3U@E|Q=$43$te-B~lM-#@^nlS#)gyr{`u>5xrrq?OL^opa}Q6)+Yi-7xBm2D@u zy#7dIw$|!=_EbL_`TXM;O^uUO(Z<{8*5VkI^)7p-i*y$aq&ICU&|S2f_x5K;_cWs& zYHu^V=)R1$$lI&ivr93q{yV219~#-62;s}+h;Y1zJz?=92}}QyFg{p!BJe*XEWbyD ze5#omxA}swd!ua+O#y^s<{EiSI|4X?D)9VCbdTpoi)m9wvue_WZi@NOe zcIZU4F`ifFEht4}2A9^ID-lE^r{xJ6v86JN*ivs`saNha^vI5q>!ysP-Cei1IewT$ zyNnvO>-FR7)UCJskP>H{T!Ypx@Co?xH(}v7L^%FuC&J=iB`p0h!uY}n6>5B8J0S0f)>Lmdzn7}o7^*4#^=tEfY+!N)&#g7t{` zCl@Wdp&6BZUUzTV{+G1J%VIb8?!QU9UYpgpn%_K1&R%OhHgt+TlK$EJCHWXY*_rlFJp=Zwz&h>_Av}4q?ZGh!Fqg4}_)nA&f7KF#d&veCgrktwdTrdE#Ap0rFpUZe&?Iq$?Le= zoG*U<*SXKr93Ph)7SboLtM(B16V1mxg#69dNy_wdF&}68C$Bqa< z%wcA)12lBqlWt#Mj-rah++OEfdD5P>jqeNowUhQJQ9F31-i`*GJ=Js9idi%u|A1e- zqt{aZzMb=|``JMK9o;w0+g*VAUAk>^ugW^=xBgYgn*x7Rzr}ZEJyX|YVS5{Xd;^bP zh^N{{u9`S0U;ZDxAiE>7dVPV^jp`Z3kdD7F5{ zV|N-G@p+bHP7qZm{F?MiwSY#KYBtIAp*D>wGt=j>?Ysc}HC^Y`-_d^-jlC8d(CS(|js49h;A4AF8asS>txsp~Cx?aOMjn45PydYb?dAN5 zJiq2V|EgTCtz56yG_kUBMLlh8+N)y^XUVHbYWlLLy7RU-)c7HE^MF6^Q)9)ecRO|3 zKn*(S@oO#C)A$EH8;$u?pT-Y)xVEJ7E{%70_{%18D2*>;yYcU(OK7~^#p)+I!*drQ zyp$h@=QKk6M?5_|9~JmEbN-Dyzo#t!?Y3O6W?U~5?Y->g!!f%~&_3&Czj6yKMU$q} zm#3;Nq`jucK0dt-o)2$P{OWab3{CiQDY163PBbC<(u{YjS5VXYW8R6bL#Sz4lLjrD zy{D%B8)rV7J(`-dJF46rx}1l{@Z+C&{1H6;8qVj#`A75o`tkhNa=or_y_{(OmaiYT zJHDC@XgI~mceMlU*SyJ=uonKbuWKcZf6-dBPtVT7c1J&>y{FLOPv7~|q)$yfu8t~C zlZO7?kF=amlNwUTrhiVPy}quGHvaV^?e%>4>igw%JUo&gpUUH}N%Du3FqatL`KBed_)rXv>LjiG&~y4CfpW1@XWM1jjBgP_c*Y5XPPdAQFLWt-8Y_4Pf+YnPu!T(5gr+iPO zq?z-@vaROoNz+LkT3vWjfxAC&xsJzc%hEOez<64Ioe+q(blcp4@HC<&HewM4qk&=NZp=>+pOw^L$}`A?V@H z^%_Zxiu2DFwA)S$o${6aagBn+4IH2e>3@qv+h5-8_O2#Tc9_;aA<&P=*Ay94;oc1* zJMCDmNbsK|RP!)$<>=BR_;t-nS1Udx!S2hddNzH@-A7#hfXA!E(|zPTw>Yma&!;}m z_a)cE#PvE%4Cl5#AZNQ1!{zX;^K8zN`1*xPy?ba&v_*fi*&pAH#6({Xkz6WGqGlZO zZ|K~Ks3uGw-=cUeqO9e%XiwY-qG)H@Q|&KUFMO$KrIs$$xm$(H5Ak>tc)Dhsr#1x??o{pT?h3C_N=evvRF`nxM_4zSmZ@UgK@98{TQgv7rVvHQK@>1E0 z#OT>$`Hqh3iQ%v3rRx2xE}6YuQkNjrsy1}x{HZ%c(Y>9r%oWo zZFTRzKH7>HPmO-~VYn?Z9wdkBtELg-;@_6-h&xJ*gNjWE-`}4Y1FIB{TMc$Lqn(7*6uVhts2&*=4g9j+JCNSVAZC?w5RLAzKI=(X-&*K*E@E^ zH0$Q@p;g}#)2}`4MjTAwZX%bzWASc(<>@+ep0=E~7|-V{&-W*;M`^B?3r!f8kN*DR z6^$R!?|uBGRWvqNY^iO7D^XRi>K97BiKOB0au<8P!HWh3$S<$@Sc&>ApMIgZ-OseM zm(9hCE$7kJ#fKKZ;!uNDbE#LcWVvu6xaE5iCXXg8-bKRFZ6u7R6k)tF!tyZ^mTv>X z^w>lMycd+^GsQ9+B2d@ z|1-X$sbBeOt+qDIO*_s1bhfp610{*~S9I$AmR3F4-7ZfLA0oJcEr}rSGm5ZyuLw)$ zMHr8fFkX01K*-0DuzcGRrpHvm^y*97bgx*x%b6!M=$uWLB~7l=@T29U7kD0~vWc}G zEjy>6!8Pukk#9UeyO-%&($Qfo_4&9X&r+WowEbu2?(6ceqOLy=bDK0dfI7X}R>$do6nGpu0>x&aK{a zCeL=-{L$C_b&jm3m0opre-L+%2(G>Y5#&dG35)j^5z^^b5XMuIFy85e<#UFxe3J;% z<1!KSx)r$djdQ}61?s`H@t95Cu{}D{Hg8(_oPIoxcG%!BHX%VlJK2OQ|91Po_RjpR zrZ(#16(tpsPXf zX;3OddbhpTlk0k~_lNfncz#;fz4mu~zn^o6W-Pf?p-d=TUw3(x#u`kgR!jVodM6@=A=5N2*_3SoWr6ULV_nXox42%DQs zSPnN1!{skT#!lBbw=KW9=#}HE0Ovp^+R*`KG_E+f%1HiQ?1OEPn`&IY8@H+E4eUs zJ%3x5^tz&N<9>+Gz9z(B>iIIl^rdK@-#Qa3!pt3NC5(@3M$vEIKwBYTau#(0lN-_s z42P-^FkJ3;hkPm37cp}a>F)#l_A!qF#&;qgn4F+Hz~mO~28JW>E-+lP zj37>X-y4_tb0A{yYk%d!D-ilT)8go3c?g+)RQsPb`oPm0rt0s}3Bh{{!tRcXgy3l> zjPmBw@B9Cb_%vX*9D=gF{gyxb0YSSb{(Sn->rZ9+KT)?5=hV@M&-&8m-q{=@%vD2< zN65v2n9EzbVojPLx?ET%veqA>7VIwj@x2Pd`(A22v2KJghbf^B+#U!uyT`k0e*r=c zuKZY(#f1?0-0$aNP6Mx8K}7773h++rMu;ts#<~Ohs;J8xnqz(P(f23jyv5vlw_HaGqIg*`*)A_3Qng0A{sjHLxNex-KLx`f>{GJF zp+p%7TQNMu;z9$2zUl69G5-vqm$KEYU1G8FvHt;eFL6#DeMHfB1LnNNTv_BWK(4*O zPrqQ(bJY`~BQ$D)zR>$P>+XeR`G={)U`dL^-{eNWS0ur!svR)Lq3nQ}j_s-<_Cq3v)Y$I9RSe;5)T>-!y#! z{5O}z20ecU(UTOv*QO{#v}}*=I?Lg}Zz*pu-Z~EWISaLyI9>z3N65Gk$8zA$3rUU7 z)CRt+XhrLG2jGhc-IVrG!Aj>d{mrPG^Jk9nxrM$mm?Mn2O2|=Q#jn`t>(1`c(8c z@b}g&yO-_*{J4&WY8$IRmFWkdj@C1CJ?QhVZwltzWOC`Jw;)Fsav1=>;k~ShY8ylk z|FUI~l6NCdI$aU&_8e@=;KqY&#>Qty3;s!41GG$m-bPy1Xm%h7d&ChSp^_(Y|gW`i73K=>fYj9I{GX`-vyYH^(U9%C_=8G=i&T&|Kh*;-wyn@ z1OM&7e>?Es4*Y+1fC`*^E>T0Nlkz^$+3mHlkn&JbJ@=urf^zK%&b+@?m2$4?ej{Dj zL^-YAWpYdXKDEW5t8d9NX=*diO2+@!T57Y9RzOR<0_FI?cR|1o)1k`tC!x*)=f#w43sIpVG=NI7fM@I&VENR)O+3{z7Q)#(c_6!M$8; zbP46U=C=J2XF1Ac_^q`YufL$2r|dPGyR(~e+GVe5@m+&*GN}{Vn;873GJQ?d_2S$+ z^ie?HrvE?d^ClGO^UQBpZzBHd|n-)xbx49y;q}1ZFhS3MaK0w<)ZKFKqy*qqKqLXr8`h1G-Q6tJNdt&k#iDi_VU8gPL8a8f6|fi zs*3ck;7p;m2kK;2Usk6)tx0%BNCvenTzQMP#R$sd^Rm2WPFpCC(=}QT4~bzF!Tv_n zjlsFgLq4qU*r6OYw+}fsAlEXAD{HpV?^FxL%?VVVCbfy;-rOm&dhbDs%jF&ox)(rs zcb8l}(^^M)^|tq1YClSOjc;sxQQ=B$cUjx8zvVXN`FY<-Kf|Y#=Ovd#En4%jF2a5z z>Pm3V7k$p5Z!_ljV(ww&a6+!P6xV=%f3)0rikm$wC$^-N;yx2wcTDww_brO@-mzh^<+Tr#w}^_mmHZFND`#`>(MjhiuaI*bd03Ct9{UBT z8^F0v^f5+XdjFUl`sbd>y@(u-k?S(eukE4fEugpsEd!Zj2Pp2#i=(4ebSZAb(oNl; zC)0iTFME0{C~i_z9+{9sao3-n)Ye`_akcYSt{B-yzfMyd`K@OtuISj{B`>S7R$~7G z>gZoLX6_~W(EGvo+F{Og%%xZknbF9#gW{esJFJj5kK)#)S$unXmEsN@jtcfGpnRnE zTYk~pMEQun;(QBwLvg=N?F%chqPXuAQsQ{@&q1Z%$JIUs6qi1UQehKLaj#vB9Twt( z)fM|usJn}E9_X_UeLrH38|Kpc#&A4BE`5qywPfz%YZ?@{JF5M}hfvB#Wpi5c`9aEO z^`1QUl-HDxYs;AD`;;gjuA^SOMiu4bWz@XzL@C`jbo(s3it@2f>om8f|2(i=$;nMJ z!MYs#IjE!8%v=rnG@>v4=LwVZ7IS|hhd*+u8;Sqlf6IW~>BXOmKC6J!=SMoar~f?X z(^6#K7N>gMf2Uw|?y;q*jrl`s6Zf0>AsQJ&>&4bNt8a#h4Xq6aO#6QMjUHO-EgQ#a z5dSf>p6U4d%&QU0hSmzgVz4zMwq<}#)a}ml%qXx3aF{l6{(CT;-+oG8CLfjtXB@j-F%=e^ zU29wzWDYaeyqM*F)2q@r`b2=9` z%wPM`L~#7yUi*)~<~@1FaBnxkcP|%46V4 z3s-HNJQ+N0cUko=6akl4j|Rmwdtq~Q&ZY51w_$_ggOL?7tzh}=@R_W3F<9~AZHVZx zW|)8NrnL6GVTGICeY%x!qMb17yAp)G?noH@=TgGX=MmN~ov{85gvm2}N7($agym`= zEEhn4`tGkvO+66Q-f2BTmHuA->ephkUaSW15hM4U>sk%&cYeO9?UDuOzr%D6IgAF! zrRv{&zkUImcJ=e)``^LZpyEcSt)4*ijV?~y+FI!J#3O30q7-4)t~UsC-SsJ9^=X8i zuO^J2{RhJMcXkpsPld4g3kb{ghOk^52<%$r*jyC=yu#68bLRJezpVPvef!tZ&q-8W zc3RmBJUb+2UNl$?TTi_#nQnUqwj8+B9e9MkpBH)aR*IrESg6fWc8@cH#S+q`{3jZP zu2E-~Mn}02W?d0MnCr1039A<&?7RVC{UQnLFH6|Gb%f1dL|Cr%gypJ-V9zu9!6z<3 zs8RM$`>N{@khJ|twhj+`v!w6X4X2+IdBAH*htdM@5ZRYXR2#r~f5yS;`t9Iw#3rig zmm*j#%~gjZda!iP%X;Jc?uA?X4=p;?yqhrV;O z9%1v>6P9Z?VYv>_`*=m*D+%n)8+$3E;l# zSnZ_ZKyXrBd1mqAiC`D8>2y`oJ6I7^dDdJnxzO$GoRPcuHH2B~-Y4w!K*H#$2Exwk z5Y}%2Vg0WWHtzyq^J56hB}EvnsOEqF-2b*{`F_Q1ZoZ$s0^)5pMUpR%rz01x0 zWyR3ni(u-UWF5>q@aMYqv$sWWjQ*^d>xcfVnR)J?HRJC&v|i2REB;wCe0oD`mjB?; zntgp!hSvZ4^|SlbK6IVkFL7`+S3IXT_zt#nk}v4zH^7z;TK8uSHo#^Z*D-u^y^0dnQUIRFy_}I*9+t-2kyX)e_oy(0e&A0r$qHW120j>yuYW@ z&uvPHeEq5X6L<(;ovHuB3EXv--e(;Kuyyuy z{_@IUu=TIjFQ-!raV?717odI#&I`~l4E;SZkAChi=CfQP$n_Wk6XTa0D>)9qJ<4Vk zcBbIJ&*52_)f4bjZmcd9^QE7&<2UVxl{kG)`N=@q^7FubIxKEg5>Paf7Z-(f7JWn{7&?{f&ODK&wnVNHD2=J}dWoK+xu$-zJ*eguvintH|hJ2q=?NUuxtJ0jpkh z?QB*7|6bp@qK6iN|NURt-U}v!e||-aJhuhc^mC$^>qe-bh4Vq^$4CFWnCFT43y|w2 zaz#T_hSOL2^^L%F7G76F{TH0? zLBHce{%jt7|Afh(fLvn8wHji-uH{etCkNurrk>D$Zv(Nq-A4yE?1Y%$j58G#uV6=| zdV1O$N7%vf=oyHj?|YRl-4i^5z8~v7IGC(Yp99uDnRaZS2t-T0(N+0xp<>6!r9dJ!ak;{k{zOvw1HtKMA=qkZUC*WUH(cvONHa)(t+QwH%0V%XH}uNPu|# zDf9UcTOcku>AA$^5{UhtwsZeXEr{JQtHh-?1!AY$dAxr26JlB(y2d{^3o&un!*8AXgw+BBSX+`AJC1 z?#i31+XRVUXNpSH6hPwI%1Og4-5`Pf2BG--UPxFzYNUmk9mIc%kHS4KsiJIF#6r6zEU9ypycIG(R9; z#)jBY;~p>FAxdobq*;FnRKu!*{Sl~h#kqaxL%&aBe4Q{SA9L>_M>BFok?^U{R~~5B zA)%q;)HSm#N#M*NBb(Ab;w!VDwcJdXctvSjx1Y%*9%&kvZ~FF;t?dw&AxnQxQhA`c zn75C(jL-{@+bm6-BliV7Trq&P5BpN6JC1YTSsybGdT+|_Xl!VA(t}!@1%b& zZ%VmO!YtoJ#P2dEyy_qOq_mqz;2|Tsok5?8U&Ez5&DN8|=dLK#w`CaN8a&W`Hd}^x zS$ObT%>9Vx09Wxt@-yOTH|@k#+d8cDn(0@gE(+%q(MKG8b1th7HC)7!h*4|Jr@yR5>9KtOV!)V_RkGqe(Aij@1 z?2^JQi0|a2`A16T5uehc4JA!?u-?VK0qWM{TpRlMqpv*XC}C~`a!|;nM?#;S+b+T* zB?&27U+YD)t$rB^6*kIB&lpX3JI?EVnk*o}V~rFKZt5k0^$+RulhP!hy`-bf z(t-q7W|J8Qr;-4%cG-UJN38AGS4Eu-&MBZz7y5=^jxgpvM2@$}MZcerzrRiR`w?L6X zqasS*(7#_)6J_mf>DSYlI?G2&K*B;h*P7h=LPFc(`25)$NT{RpUSq41B;?bE?i2oB zNywoGwkHbQNr;!#2$h{ySgo<|iMl?VJB~icpVA1 z7`?bI=^Fi^c(AzHPfZejyZBu7_n#y@Z~bV_ejO4XZu%nj+Yu7ZDLa;7dXa<+r<=r_ z^&nw2GUJMqw~(+K%YR+_T#dCB`wpmc!?{!FBS7ETm{Wtf(#UZdxr#~ntW6r+itE6)UZE+P>%_auBaq+vaPeNEJDz&SJYd5^xdp2^vbxkkv*fm}flrT?SiVA2Q( zv46R0iij=vTPUdb%K>nwAAKMd)&uT|bLFmDECr|9%H!H;_F#V^*6pmMJXq~29Ja;( zGc4EB?Va>>0?g?*>=91?N|<^~nlSwyC&KFX5N1xIim*P4g!R=RY|bab=H4VMhdE)n zhQpSDoWo}&%fRo6NWOw9{XEHUDX%sa-vlp-hrTleqTsgXcJ29jn&6}mDhc0IU}NzE zv0piLU^VK(ao_7jU~-<@zI4yaqv#J=O*ddCAxalfWP`g>&dIx{-nnalx4 z#g^lTeYy1ewrWO<3POgw3%aOs;VoVL56D%T-r2xNk?xWwB^jC_ZJs zWcvs(P0kywo+k?y`!A^_Ta5?Hq_?KSM-$IyvbuM9apRN#g?kQn>T+b8MSA?)RvV_S!cag9hr5uK9 z;vkVv$lX)YGFbFc=<3I2cOlT39{96sy*L<^=M1~o?+439&p5>CYKLW4ye_=xDTgJ2 zt&^0jGlAn$Qso{^KzIJ8-oq1bg2FNx&4R{4!qjI~gy~PnB#bV~ov?E|2;KKj>B;H3jxFRX(~|_p4@P1z8TRN7AKKgmO{qgf3ihq-&Bw*GQFQppM##W z(D|u?#Z=I{X4N}Usu}c`Sj%tNAr9K#pK9eb%fj?ZjdOL+%3;j0_~zC_VT7rBRuHCN zdz&!2m#YXf$9E)*kHj&;`d%bVj*Jp8xd)7Z;driF7 z(cbTsrW;;GrrDQTSE+M3U!+Hu82=K2@eZRN`5oti66aUgz3uLx6wqe8U`7te&pUBA z;K8G-sydzBi^i#sUcP}>um?&FtsF|F#VMVgwgGc;xKdieE97%UvvsE zzVpn0$lY;HfW99qC|g!om; zN}0FzLrj~*M*WCYup`%e_*dDV5Z!IR^>3$Qhz^yzvfG|MU#Pxb-#{h|_#NlpMJOo) zzx-3vBxCyg=gnO*+NM|j)PMVoP6g*e(I*>ytJ$3KBA9E69J`Qf45Y}*Y4a5Uk{7|p zr!n%7;4Cm1vv)DX#Ve~-?bd);tN0SpbzKl6&@{-Axd$;q=|Oh0e!-5D<@*=Y_iuK% zP3bw|_Ydq?Rip9fnfss0^gj&g*ttRUDMQ}@%+VdnWjSP#>k0@eDyGgzTL8(ys$-&z zDk6k=c0kL<7NzPV?f>;yp%hoFcA?C*f zarZ0v5c6EmyrX^{R;!^ts|&`t1oU}^zR%g5eL|S~0688bmo6j)KWI*?J`RG?8_G#V zG9Xy{tz+SpCy+F)c%o76C`jl%Y|AfS0tv#M2ai^5gm{zh>4DDP5Lf(2@XLE2#Cb3I zBC90^amIfMS9i-|mHE?WbjNWn0DU&0uQ}$78_H!lMk1F061!3-TRJ;~fQ(A z20_;(bz2xD?VRG(W%dPm zJV;En5ubGEIo4|IUqxL2&MBi$5BmCH&Nj?Ff*d@Si~bxfDPZ*Vo#x*msiQE~chHp9 zl>p_k69mhWy7%q>2L$T8g&rH{LDJVfyQ#*}kW{2s8mfPh&iSBjJBjw$Hs_v@T|6Y& z>0dqYxEAYU>?ffv66emNj|loM#GD$;rT2s3Sd3gBA*nj?hiAhK5Xc^VsdQ~G2v)S+ zTJAgw1e=}eb9$6Pu<5PjB*#@CSQ9qv=*k};n7c&D+*1++lY{7gywUqCr6}GIn*ail zg;^82E@938(`R&NaPBYk=|f*5%#mYro#;NpLBAe`Ya$3_;xmuhCxgIXM*9pyLlC&# zu>bzK1O&SU772E%L6DThR(J-2Ji`E)c^)9htX`BgV=M^L{@S))X*LKB zJlXg$t_ABm>`zCX7|yw%PbK=&`^e;QF!v5}Xd&0o^KAaTfAL@aZwLO{f&X^kza98* z2mU`hKt-kBbd>ASpn{6()Kb@pQ-0Y&o83aqDW4@1wVDi#DQ~l}heru5rnXDigemwq zQrkQ_ZWTS(r94)tZ9HW6opRr=+jq36i*jGs?|gYp0@gU}cc88p=VqdhHTu%$3NeSx zHA4t|0 zJ8*#VPEVckV)72k%jD|8^mXRc_U)DG39`qj?ZbZTN+L#oD$_rPy0t@dtWPTX8ez^R z%&kX`<;b;#;#H2mR@&7_g?NT}#Hzodf}Kjsvz@!CKsnMTyfugNUoLrjp1%v_`?l8l zq5DzFrzzI+T;_DjNBPvacN6L;?%6kG>-^~Rpg!NHPBysqr!svD)HUGTZ1g#TzTTK~ zZYY=Kc!6BiRB)F3iXT@RDPGQzOY;|Prh?n5WS6cMr-FRntlrYIk_zZKaCWhYF6Dnk zwI<4J0p)jN$|{FzT9lvg!@tk1noRi$wqG*)c8l^gUrH9u&cd3B{Q}gf;M_d)nTx&) zF=rL#jzo@)$W=iFYm8D-SvQ5^&7VvzFEpWeGQm%;KdGmJ4L_RgIS5qH%y;z%4P&Ul z={mMg{FAAGwaWJAr*EPB&uJ|FF#I{?Z=@j*+Tlt0OT=Fsc6J5UmDu-2T_etUpieaV zMq$ov%&kL?mB^(?1*_%-%-GOR@kS&&?b0-*cq;9FB{N*9;A>C*nmA_z6)Z}sTWwBK zK_=1HOw$)qfyVJk?u31)u8uaC!bx zDp>90JIAs0RM3TpH$f(JU88GabKjN>N=*@eV2(?+7|X z@gnk@uYC=mcn-YRkFy_BJWj9K?ABb0r?!J@*}anD$uBFI@er`y!~Uv2I%cjGeZ0|k zH|AtxF1;TNM=EkfQM|>vcWV9VbztUKnZuhXUQtfh66Zw}?}y!$qMSl1Wa^eLONK9? zLT1;vkJpN%LS{-G|Cyyig(#*;e!0+2g^cl_xG_k>?L;B-W9v3a6z%4q9C9s=(4~9tH2^f!CqpCCHBM`yRmER#&V4s zqlw)_V@d42#}bY0{hoX8(gbujy#L4FljV6n%$YMY=brh_otZm#W@lQtw8?B^W0Mu+ z2E{%W0$aF>+avi||Jqf>3TUe?Aq%5J6$;Q5+FF zzlx)c)JLIAF@e^}mi#hKG&zf;@YPSn*B}*NL*>h3DknmOvndLH5+8+2>7#HdeH1Ra zub(c8e59qwnRL@iXEykRmWGI6BWB4-PfL&Ja#@0QE+T;D0WCKw_cf1*D7VkMbb! zm!}f`<;47vQN~EBFQ$1(U$V2x{X*oJ#nlBKxvXjVY8cNI5&d3yl#}U?<}Dyc^3=jG zC+1ID9?koq@=VLOz`VJl-!G5qg6S`5c^%=*iTRV3NArGcd48BTd!P|DBu<1UO|l3} z{zLA04@xsn7>07*c;QKB-V(G!knSWe)eWixrfp=(Ew{FfAuOz`E-Y5o2%3jt(jRP- zS>-jxNz!PE35H+UaPX>>l3E zF5-wK>Us&d=&$J|{IeDFCokV59?eAMJCT9I)Fu4ODdvwB2T#hC&N-$(TFzaL_-HW9 zndG>g-n_Klrnqzfrg`aDVfsrNcMqJVxF49eJMCkpxO5PwxTKTmFG<|){&1S&erVqH zG_TTuWTm)yf$1+v+#cjJ#r@E{q+L!~9}@JRTZ-zo|}sV81u*55AAE zT;6`VFzl@|9#wMu(F~+<>c^=}Ii_P;vgJq+{C!}#qJEesugG6)OmzmA%M}(868EbQ ztb^%L*OS(vpjZb}%zFBO6zf6ztmzNOHQQlgBvZvo7$#q~{>Ls`cgcIpHu%_OTfARx z!;f9I-TUP>`q*W?sa$#df%MuKT>!>un~|6%{b7naSA+~3n*h=m?T}!jHcB6evsg67 zX&IVMZ8_5)d`rg4k-)4NQvIPn8Yac$qZm}bl1@vyjA=T}Z^O3FqQBXup>UG_kn)>` zry7VqW*VMV(@n!ma!F4s zn}$!-@}}W)Ri0`1Ld7!;U#fVf;VTu-G<>b%nTBswJT-KZ;cQI9H1#{B;+|FIU6Kp3 zl)9wUA?13fT+fv2m2y2&7KIwq^vI~>qpA^kYf8=x4Wv>*7`|8%zp3qXx-nX zF4p}>p8u@Jd7*>#d}KWz(eYBMkfgn7Z7<2=gtZ+as)n_ltgau@XwRGWAJdSnpwlhd zA!?Y?ZylEkq@|CkJ^#rM_o;gEsSgjS`uM32kE?p|sSi!($4`BDTJ@KF>cg|Detzo1 z3#vcrQy*SZ`_ZR9ysWnSr#>|G6MpK$YpQ;J>cboAxb&$HZ>jz0Qy<<|`_ZR9ysO$v zpZf5g+K)c<;RCfFedoHh z+S}NK>4X2vo8QK||6BL}|MCIgzrO$fm$$uj-Gu`5jGF1$GxoPeGU zre}2Nd0KiNlb%zhXG-Z=(E@;;?WE^5>3KWTGj#MDlFvYKKo1L-1f@V}PzIC*<$wm1 z2Ngg?K+p44230^+Pz_WEH9$>J3)BX6KwV%5=+Q`eT(bda2pWOLpb2OS>_Ico9JBxq zz!5Ou1e`%j&nOE9f2F@1UdtE-~qY-Pv8Z-L08ZX_<-(!9^&-{ z^t@R9t49B5DE;SH|PVx0JYX5fDusRtuKfI^c*9#Wnw`;&>zHs zcrXAA1cSg}Fa!(*!@zJb0*nNogHd2K7z4(FFTgl39!vle!IxkXm<*U;?P4e()nW0Db}o!6EQ7_yrsWN5D~V3>*h1 zz)5fl{0e>pr@CdnhC?qAPdL}vVrU%2gnI>f!rVu zumyQRK9C<200luIP#6>eML{v}87K})fRdmTC=JShvY;H$fbyUMs0b>7%Ag9U3aWwX zpa!T3YJu9I4yX(4Ks`_&Gyn}jBhVN$0ZoBDXa<^t7Qg{G0tTFbGiV7~0T<93v;l2F zJKzf1gASl0a08t{XW$MzKo{T%ynr|83c3Lw&>i#uzQ7Ok1igS3_yZjX0D&L~=s_?D z0inPEdV@Y741|LSU<8q%FNgxsAO^&OexN^y1My%07zhS|!C(j&3WkBCmjPv!kL+?l1IR~qc~AjplwA?SN`QQ1R|Zu8`N*ycssZwmT^-Z_ z$EsE>M>c8a1;|I5IRS6bRoSFdH{~Onbn;O?vPq}z z%11Wo)I<5mCY^khk8IM(Px;6uoq8%C*`!l1q?11&AK9dn4)`mZbP53E zBb#&z1mq)|bP59GBb#*61M-ngIt2srkxe><0P>MdI)wuAkxkke0QpEW(ylk?qioVH zO!>$r?ZTChY|<`5`N$^ijLJtgX&0${WRrG%m5*%FE=u{xChek?k8IK@M)}D02eE*B zWRp()0Qtx!o%#dvkxe?q0rHVeI>iI>kxe=c0OTW^bQ%cAM>gp+2#}9#(rGXtAK9ec z5I{cCjIGTC4AK9eSI6ywKNvH9Ed}NbO69De%@{vtCeF?}%Ht948kdJKA zX)+)m*`(7HKt8fbr>TH^WRrH&0QrUi(rG%Fp={FWE9E1bboyHP$R?d;Dj(UT(=6p9 zn{=A3d}NbObCi#4(rK>pkxe?yQ$Dgur*D*xY|?4I@{vtCEdb;rn{-+T7ATu^S_H^P zHtDn&kdJKAX$c@7*`(7_Kt8fbr)7YAWRp(c0`ief+ARmZNxN0bM>c7< zTKUK(?bawC*`(cCMdI_(7HBb&6_1;|I5 zk#@TQS2k(42au0!((VVaN7Hfi@0 zARpPJ-9bP;vPq{yfP7?=PCo2w&7k8INE2p}KXq|;GAKC(%tV}N{Q zlTOD0`N$@nP5|CVgqn36PI$(&;j| zq-@gZ3LqcZq|;SEKC(%tYk+)YlTOzG`N$@nZUFL;P1@ZA5=l0O*%bRKC(%tzm$(`(&>rvkxe>1 zRX(yWfoFhxWRp(M0r|)#o&E;oBb#)30mw%->GTqik8INEA3#2`NvBtUd}Nb$uL1c; zGt%x2c&lvE?w#_H4ec^vAbg}Fw95pC@R5$tE>mXdGxec}J`eaz{VAEUVtN*glaA0% z^o77@>SxK6UHVLYE~1YFK2!forkt3b1LLG4bP|0h@R|B$L_bO{jFV>2N%X1YmNw}m z`d9K`oHT<@qOZkP+N6`{cgc%!(hNF@KA3#cCY?loOn!`$X3$Rb%@lx5nn62LKaJ24 z+KK*}LYPK22BPn#h_Xq$V#-H0Y4@4(kqwwxk8IMert*vWtV- z%11V7S4a8CChh7fAK9dxo$`@Q+SOA&vPrx8%11Wo)Ij;jE(aPaAK9c+BjqETbZQL9 zM>gry1dxwx(y1vRAK9dnJs=<1q*F6MKC(%>=74;p8EMx7I4GO6b5uUENjs)|WRrGI z%11V7=d65WlXfkYk8IMemGY5I+PNqn*`!@-Y#jNlTIC#k8IM(P5HAK9c` zPvs+W; zD4VnkRX(ywJA?9(P1^NVKC(%>KFUWnX&0t^WRrH`%11V77omJ)lXgbsBb&5~R6epv zyS~atHfa~7d}Nb$(aJ|QX&0k>WRrHW%11V7*H8J#ChhtwAK9c`obr)P+Qlm$*`(b7 zUE`WRrFyl#guEZlv;&P1=2~ zd}Nb$qm++q(r&c!kxkl-Q9iOsyRphgHfi^T@{vv2jZ;3dNxSjNM>c6ULHWog?ItQ8 z*`(c<%11V7H%a+OGtzD{n4)abZmRN;P1;RUKC(%>>B>hoX*Wap$R_Q+Qa-XtyRVgx zY|?I~@{vv2%~C$HNxRv~M>c6UNBPJm?dB>U*`(b(YTBb&5aseELU zcB_<+Y|?JE@{vv2tx-O*NxQYmM>c7?b2tH$;QSeGspt6f@~l=$N_SKTp%~d z18hNFkPqYs1wcVi2owfIKv7T(d6S`56}g80x#eVx`J-N2XqHLfG_X^JwY#^1^z$>0ze=L0(uY( zLO>`mfZm`F2m|3D0vJIg=nJAiG>8GQpdaWD;y^qY00x3VU@#a0hJs;WI2Zv&g3rMy zFdB>jW5E|-92gHKfQjHsFbPZsQ@~U(4NM0!z*pdFFcZuIv%wrN7t90SfcannSO^w@ z#b60o3YLLy!E&$ytOTpTYOn^Z1?#|i@EzCyHiAuHGuQ&Qf^A?s_#W&4JHaln8*s1( z`~dcXePBQM5gY(NfrH=>_!;~H4ud1$C^!a=gA?E+I0b$Mzk$=>4EPjF6a z0^Xo2=mva1chCd)0zc3b^a5Jo4|E^^1cD%-2f-i&gaQNT4f=pE5Dp@M5k!K%APPi- z7!V8kf&L&4#Df7~AQ%J&gCSrj7zT!e5nv?v9E<{^!5AP7UyB?JK}t&#}M^O zoC_9WxEUM*e}Ko(33Wj1_q8!}2DDF5Jx1LVb%g3kMnU<}_Mm!4b&l#A)itVTRL7`( z;n*bB0mmfK9>K9lv_o(V677$Q7*+;VL3Kq93~`JQ=XB&Q&Y9CNTn=`Dli((JjrBqq z;+RFp77%3niyBaSA{iA^`TJMGRMfPJ((7XML7ISgja%o=o~EoKSq5D7+aQpQ7j^+)?59LWMB`mw6Wd z$?c%ZYNkp23o*oK0-*&4O&Zzh8wEBFwzJb1BQ*8x>Nlue&#tyz{ZtF>Xb5oAM~9ly zPYfBT4-RhHutC$t0YQOH8w53NqPN!v*f-S$HqhAzG-=qVNxgddhV>fhQbu)e?d2Kx zemIS$L7jT`bsD6c{lnv)9b3Dn9kAYq1EidzRcurgDv8DmUxZ0qUr6Z{8mnoe575+W zq^W1$tbtv#`gSB=!;}G1j<=4}2gc&n-C=qW6W<02j}(EuV)dHNfiYNjO+CA2c8w5I zY>$)y{`bbI#=AyD#>QyyISYM4egA}3#J6V#C!^75VumVGwq+RQ}8l7-sB`&o2cSV{ukV<7E1}G_AuU zW8$5~2?F{gl%7Vy6foVBfP)56(pWe(Hw8@hBw+5rA+cIQkh4M(bIx?UxAleuf8>7cJeekU=e2y+K1|Pi=XKM40hZIs578$COu~YuH zETA|=>7wFOM#H#+CYAL{xt>YJWr%cYqNs--s?F~Oq<+dUU7$D@q&TlQXsXIyT#f9^ zq(1HR{$z&wIQ0A_+ZG8cZ<&U{XfGL)v_BHUk%s1;mucbP*a)%nCkbRS5m4WxMofBZ znQWR|E;KYon?}`f(AXtg;6o!aU^<5fa}N$OV6+ac8g$31?P*$F8d|ndk_Aj&y)z)- zfTRgpm|<)*t^#7w2t$)D5Gx)Wtfxy#gJ}9ArWxBsW!IZk-8rB)PIPj$DCZ=9mej*^8^sP97ekaGFf>db)3VijioNfk zT+%r!Tc%+;Cs7J$-rL0}!ytn$M5~TqG@k6wlEatjupm1&lZB%U%|DImBScqKib!hI zlC3Py$~YEA8RFjS%dljX(>cvswv`Rxkzs~F^o^$WXUQt3v9dBeHcE6n`bfex)LHVO zmW^z|M&dF>pL%|@%H}sk(yD?YMN2kHv>vwt()u&&l!slL;-quVqg6KJ9I66}mU>2J zh^{F^n)`}_Y`K2)J!ncS=~cvgi8^Rd2Mj^6y0G_;eW`i=x6aG)pTK$f{rknV5v=Fs zOseLG)PDxU*ylPG2NZiKM;H3T*8?7I!+&?jWil?FVYaBk21S|4jCp3 z7-v$|pGzBPq+`45RdTpe12N6XRl|=xf_GO`%lUqtwEt zXY90*k@6l~Vkl{uUk}kRpv(DWhlPZ?7-5VG*NUqDQI!yhi)#Q8P#qTjMJ%BM0;bgk zWLjl&kJv#mI1Z*%E^(YTO3eo5R2u{|L?i}CX^E{|@1u4SwaV#sM_O`{(nkbospBnW zYHHj;W8OoE8jU_G3b%f7l1hEu%|F^CJuRiOLkkVf+Lx0B3=1(v8Dc`i6W8BCBP(dy zJ6rN8xQ&_Q#EC<6pk7P6N5VZ^^LM?Z0qM+aNPGZ_^89xiqDE$Hz*LT5VxyRK_%eh* zGkShNb|OY=A*8r#XgW=scZk(!!nCPWmZV$R+*3f9HkD10ETA3!lGlxN#wf$oj{FG` zrG|~t36Xpf0w$i16QU$B&<86YW=y_Znq$cVY9n=leei&0l6a_xk@}eEz%&D-oS@N= zf^ot6aBXa45T2G#8jNfQO~d;34ec8@sc-*L>y3cH!8m@U`81h>rhjD0EYcg-Xd=W` zjxa`$n7Sx!B$|kk#)OL>Y!oxLF`f0$T9461#l%KpsEtU6}ftoH(-rFRWTuC7y)ops9 zC6#z|#5VKbpaQ0vp4d~&5D+yU^)O6J2kH#n%BdXrP4${q*~}I!oiuStHUQTY^e`Dc zHBJwUh?A){ARY}03Yy;Tn`|0ZIW}Ay5@iTVZHovEKRy^mmH|`Ui{)CIfA}(D_2?eB zF+vv>O^*eMeizdz53Bp}m0D(q-`C*cF^v_bif!)YtvJGK@e?0xj#R?_%YayA{N^X2 z&WMdtJ2Frl(UWb=G)FY@9AwJy{fi$5O;~K2OQ$jc0cE#ETFnRZ4__)^TGx;kXecvG zrL8HXG{4%Y4AW}hn6ulFqzM|Pb$~Gc;DAWFIME}8ey{f*Lo`1_5fB{~2`$c~wUG7{ zbNdfvw@jMXq~>oFae=Ju7p?8B3)GrAZz6U0m7IlJIpK;MzX7D6#sGsZ0;l{CeN3o6 z%7UW}0#e&X{?;Wx7oBWRwoF5M&LL^PGxAFOvqZ!91Bx@XYTnWL72Q-H)!Gyl+q4}* zqKs(Ly;ph6-M95kleezoNUc7OdUoj)Dm!Ts zW16pFbc8-SJQ%G9k}|ceZ0>1Pc3-F2YPUc`Jg^iK^Im7JX{9X)7%g>6tvxI@in(o@ zXmmuT(-maFMiDz+nmsp`1jLVb_-gk3tF! z&FYZEPYfdPY5}#sBvcoZVg6PY0nxGv7x$u~WAH2UK>R4lsD5i_{&_iR!1s>VmYk$y z--YbQ(8Y+}Qz2=9K7=}Z&0l3Yu7=}BrUo5)@854gm>;m8J}SVN@@#C{B<5%MKX6OE zZJ04Y7v@flqYU|--ACL~Pg{lPNy17}z;vI*F#nvA z!9Sv;4AXrU!~APKjV8^;CY6TAW8^Jz*JvYNF@THV)(M-?OCN!APl9~Hpk=5X{N76q zXafCNqM`VKx?KGI{}u(LALXb1i$@DHj1B9f4L1hGhQ+?$7;(_lHtRBg)=@o}@c!zO z$C9m#ij8I${gghj;hGTLLDQ*or`E~0WO`$?V30mAOo!W2(Xqj}CzlXP8s;}eaCbDJ zVrgSU&7zB4Q-_8nTRGhu!j@=gy4*~$vZhrwYa`pxQu2uqx%_+oEvYuLj}yWf(RPn9 z=#y1OOEgTk)6_wOn?ZQ_rDlea-fYzo6sgU@W&=lz?Za=Gbh-aE_?xQ9DgH4hDV#^_; ze~6mlC;I<^^YSNt8qMHW2mCKw(c|R}8FPA)r|u7&qNwE{e+uEE-nJ6t9%aN+uHov^ z8R;Z%1AO2VMFGvdQD|z_r1~3m3TR%x%?B>OEy*z5wig97_bR{;5f~O5q}SplY!Imw4rz2_m>*DFen-XPDRl9|xG+OBZVl7B5F?DV?JDB<#bcnr+S&RvFUWTk#BmDMqrP`Smc}&OX{G^cq%rk#F)t zeOhC9`9g$&?ns%mN|qi*%wJ_Xz~XIRX}n{@f`If^o#@zrAiQLW9`80Et_;`Nrn_K%{|&dc#K9;h#o%=)}`{kJ@YjT(c!i4Y40i)1XQgz)WaD3_AeUG>?T#x{D5Klh>)02 zy3v*DPrA$xNKZ0`>2<;H<(9COKfWCzwsHg>(uy`D>uOHE%4WqwwZSfoBLn^XFV$Z! z;JqTP+chK7kHF+|3P1^2S2+ zwCnNYf*JdA)BvqK;OOE~+cXZE?jIeDX4GgB0*Z6Ndt2N5dYBL};V7Lf=)VYvpRM6> zlVs7bY0M8O9v762KyCj}eS|i7+r<3iAs&lNSlNWil4zKlp;=q-V`dij=+)6xACv)| z543I{agQGD&9qawLLt*pIEkZ zGDnVXcuGEFUVtcC2kBjci>Io>jS(qiQCHz|i<&g6Q>TuNNjH__hpWYh=8zfEO`24G zfkYE6X?>;payl>fwB*8v z9+3%*5?@x*nO-WGkfvp;jBgr3mzm!hm>&46B@M zV=E~w44BGsOR9@4?CIv*(cA+pzGi}-rs!f4s%+IGK)X*_+=Sz~IDWK`dpW>|lk#RpFpgik;WIUUMfC*pM zd%y8%)}CStnC4GPJ~lH`ElLPT`><&w>Cn=E^2sGMH}L`nJV24y$o>}rQ~$hpnioE4 zTpgO$E-)VN7z)Di3l))`Pmpg`uV?8g02gPe2CQ#+z%(z;EW0$LdwXeo&dt(|lDw5^ zQWitY1E%qjRm-mR(z)8RG{ZDM=VocZ)S8AuNy{!C@l>|D5pO!GCTtdH*v}XdZiv?7 zjWFUTYZ}=u)5gV_toV3o(Mc*o8>hx1v;ziw_|tEugG!o1QzmI%k6Nl>n%AS2U5%!5 zJ!)x&X`GoX-&0ZsOt>DkG{ZEnN6k7zVcVOwa=IE)q}oPA=Rjm6eeooibo8Qesm)>~$X7VtJV-^KW{nA?oHNTCm z9-dC+=r1B#pkZ{s#1(wsGCyFDF*sb8#>b=(-~533I6c0(g`Tby_uo{qxHNO^ z+)?A@>ekxRtF^nfbtjiJueoqx8;ASiX(>nb)BS+y=;7L|9scHUJ?v3|eC5@26 zHos!y;X^|>KI9DPM*Xy#XPQU(-TJ29ez=40Q` zF3MifsBxuWq;7tNidY!1C7OZm8fTlO;CmtUy4T$GMLh-I~T?A#9^x13+ zwz9}D@zX``t+jbMnlwxdm}0HX3rEd4xlzQn4l^eGo~*?cJIWYB_p4LgPb}G&=@I!f zf|1+&eL3M%HlcX^g)u7SuNchV%F*!=_&y5WT%P($n|}(xo8B|_tk*9l)jK^VS7p@c}uE{K1yDcCiUS-hPud$j)&0dqwp$|%5PFgbE?tWh-8$8(fK>sj0#*gA3Ro4eDqvN> zs(@7is{&R9tO{5auqt3xz^Z^%0jmO51*{5K6|gE`Rlur%RROC4Rt2mISQW4;U{%1X zfK>sj0#*gA3Ro4eDqvN>s(@7is{&R9tO{5auqt3xz^Z^%0jmO51*{5K6|gE`Rlur% zRROC4Rt2mISQW4;U{%1XfK>sj0#*gA3Ro4eDqvN>s(@7is{&R9tO{5auqt3xz^Z^% z0jmO51*{5K6|gGspH+Z8N`2LNjT-u*UK`tS`we+l*|lnInu}MwTJH0|%S=faFV|w$ z#NTbRCyW>0|DfqUyYmU-g=7AFP__QCgz>!mTE2p%W+aSfo7$^cqtcsAQw3rtzJPE3K?QqG3XOM=`zFDARODvHYxrwPGTEskNr*Oq5?TJYihs z*CSzE=D#ChT&!Q7w+Z8N{TC#ROPvz(Wm2!DyhXuAg^q9kio2}rUcbeQcf4T-`?{?k zjOKNZK51XayEU(_xi~(k-fdoS^UR0FoE>=CvISfBndrfb{?>nGwn7!St?^pOwd!p5 zYuk=PMz3(**~-qo);irGM=`!+HWSmU7G`4pf_6+SKOvHdcsX7&8UG-Yx={6DH=eCw^z$|qH|=yS^VWM{{`yReYxXcP z{r)p1=P$*?@^#-b5wGGQCgZndvb@(!mj9B;ye2b|*O=1W^|#ON*Yoel-D_5PmaQN1 zZg}%`-IJp@yWHVzsV~0g_U-QG@G59>-c5d6j~dd&Un7=cV^O zo%-jh+}t*>%$TANr|s;RS+jk5-)&5c-}7T)`ifCZ%s+G^6U#eaW+Gne$4tiG$z*x^ zm@I!0lX;D2GOxkBQ~#Ov6K5XgUBZL6&KS9rw;TKLPL2NSc&jCE-Zp>KmNVZf;kk0! z@}}Er)o}`F$Ll}M`fC5MlDy`GJr}aB_2%VYW|{UwTSs1S_m%yxCfe<6|INx@bpA0+ zjF10qiZ?S>N`I|AZe4cGg#+%M$ zd^aY`b7i9Z?%9~kYci90jo@9LcI~z1+uXcs!4kJ>$NKTkyRK|{d*L_UzP#g#%D+zK ztsA`Fe15MJce)&2W~$F!-ptm&>fF1%d4tSzAI%FJ!>j$d`j_Zkj=cESKjwRQY1Phl zzB4oDoA)&n;}_d9F@5J$Cg*2NE?=F=cxRc6@4{qxo0us7k5WwLWzS?@-*B&fUHywZ zZ_T?+TrjL}lmqwh-Rhj{UMTN)GErhs>kz|4^HhEvF>hxTnLw7DSn`P1#{vVB>2m(>+cRXbRocMh!lneWxN z-1So5<~_Fd=Pti3pT8t@5_f9g^K)pEw!F!YM}FLwt2D3MC}_l+3oCiqdpV0=+p=qC zi@x!p`?|R@Io^=T>7h)_pYsuu%iA**kIDGcm?-a>J(J~kW-_lfOy=dxyFQ;evDnoW zyhrZYBXZ3w$~{jX>Ro^99PWPf*N!}T4DWC=T7R-wOWx+Ip!PjuPjcr))hA7@o}1hM zb+qq!=k2^+fw4DVo*l(C_e*}!;!^pYCHqybJ!0q`CdW%NIX#Za`R6gYe0C<|onn9S=UlXG%!;_VugiGF=;K5zN_(e5cDj`HTOyG-A=I*`|ojP2vp=_aqxxr_Vp=^I)!`?mCq z`~9{tIev!8>35i%zdMu5A7L`y7AE7rVY0kFOqPF&$-E{qnb&#l^L%mWf-7aYU%vQN zb;JF+_sQ_iE~f_bE?bXI(CPQ{&fzb{JZpNJyRIvEYw(Ty+@*o{o(5IMafhpa?8@D9 zJa4e0@TEJkzP#eR0s{jcS7_n1I@`g^kBcxlK84BYAxzFco5|(BVlrMMCgR&;dyDd3 zF!vC?^#)b`#p*bD;@BRcU^1q$Mv87;+_-oUVl;6hPw}1mZ!es zOWq-0Yi;q*vhvp5caN!Xvpi?3KN}YPV>90H@s9m@_*Gu%O!$#8KWSUIJQ;kjafupC zj=y4J`koR@&aY*1`4&vZYr#Z(R*lK>nln-ULB?cW;Y{Qe*qQfO-0S7_xtn;;eGOMF zZZVg4i?8VXX4Wk3HsM7l=dAC=omM+Onz{HI zZ(Pjd{EyS>@+vlYZgu)+TZ>K?2VS~U`Un%_ua+@6eJ~UAFDb<2@}rrIXJ9gZcP7en zEY4*4cbUj*UOp!Cdc%E#+YP_8;1}L&+~d=|{;tb?nzkspci$lHopXHo=iL`@kBc|I zue)&?cN@DVOOKIrdE3aZu4Ehc9e3_GzE13n!n{e%BGKiZmg7~6UzxN$Tg?_8kBYUr z9Q+LvoJ+vEbdqS+QrZsJ-D{R zl;H!4-sCrl&zPJa`;S=u2PWekV={h6 zCd>Ph$?|71nb&S6@+#)e{mxZAUd3-e_s{BkVnd(qy!)c_L5F)!=Us!E<}I1)8TYK% z;Pr_Md3oo9TMFe^`~`RQo_fl*T`X_;@IwC3nuEA~ondxw*Zj$=R}8Vuk>{TlzN_<0 z4li?$iSc}yn3%ry29xvu!{qYMnTWTf0F&{3m?$rID<;c-z(ig>D>0eZB;IrC_wg}~ zKXCtmqer_V2p9Sy!%$e#P}bzk$?KR5Ty`|Qha|90iwcD)?_ zZtf87Rbgc{S(S z0(U3tE^pzw3irqMI53d=9zFg24W~-nC+11bX17{%?`)mc{nD=;_ZZ{zH;UK1QReSU&%;`T4brwQ*q{>=<1gniG5tbACg#st zmx<*^{mDeU;i#7){wgNRTf$`d!Nnyh^h+GC+V8mM>RC|<)2qCStkiW(lJRdJI<2_9JaKw>i5Alf zBwp85X??&Z&)m+5)9Yrt8)TC=alGo(qPFYHC60^f6%)tB^6`n|B7Wj^WED~V(ZuN@ zzsCvVGXL8N<8u8H z^2S5E?0ENOBi^{*&&3+HxUR-Ks_AxW{>y6lqcWaHeieV6D({6X|3)>H*AIS9&sF;}Y(CedYL5xnsHWRM)U7 zj_bIy&w#<3-1c(k`sJptZc>Fimo65$w{KVOT;y8e9d9eE@nAK*t(yO#TKvHi5gZX#6O6f*bFA&UI#i2S<6QYhT=G|K~rvQ}ZQlYE5~~-46Wd*}KaL?iSzI zP|m&wcXO+9_}=eFxtrtW)syS{s__SE`UE+@XDPY-)Xp;A#St?8LqApC6jlC1nb++VB?lxEJKPuEGGcSFb#LP}z}t9Qb<8+3C(|ytA4K3J)g&%puQyU$~<3rT+2WtMwYWW>9Ue_Wj{$5qy3t9fw>@u&>V^v-&xOPU}*hNlG zTvskz(FXIPc+c>Ln!1H6bKjE%4o;iih4)x~qFRp2Cwcdile&!?SCV&c+Oj|!-irJD zQrUgkHzm2x2$xj{#x3GLKK{DPV~%m3_8XT5ug|2$Z>Z@9)%+f6`LQbAU>W~PV^!W^ zRsKGe*F%-pQLbCD^}?_rcX`02FYotlwTJu9d$axUq#rO}`$b=e{lI&9+q8ane>v|N zJgmajzD>B_){dj2N>cXQ8&F^!zL@6wSGj>jU@xWAgd zM9qIqE+3yy#ak@nKPV;33-^%aPcAO=8rn|gsxPSSv`JTSb%e7n1XP))db*}Zv->+NY zXIxvp1*@=T8rSCU(D+egCpErPPA^hK&i{2KwR{s5Z?B4fO_g^>mH$}g)ugM;tFE5w zd+z&nzMUNp)))MCm|brkq|bJ@x5FeJ_~oREfjz$E0T;)-y=s4%2Y4U+s(R(tTzBt) z_x|9qTsQwkEvGJ5xUSE}&#n(%!F6suv;BSd3D>pibHM)ERXKhytD643n*Xg@ew&In zT*hx!N0s+dm48p=HC^TP8xLvZ7reAhbsk#77@O~xZ+LL)B~Kgl3F7+5Jevv~EY5>= zt{GLaNHZQ(tIPQQ-Rkqeog?b(wHwI;4S(jpb}};$tmkqqbV_+1SfG>MP!a2wZO|mI zSK(^>D>c2In!k)%ev^vVPsJav$}_6+_p7`n%DfKe;s)CVcN={%lpFrKb#=$@^Lc3H z?EMS&4B;Ujh3|MTJ;#G*{~lMj!Ph)ETfmHKSDmxZzTEZg498z_0g89(uV~oryP(^U(Q&c5J8^$3x=|{80XJeI6Q? z_2m8B*VK3eHGPasS31bNGHH3lR}O1B%(}vj0YhD{ z8iRQFo_ZU;ZML0<{WWNb+peiR%)aHko;%m^K6Co-ow&Lb?^Eh&-^l|<^WNXzs2lMt zg7@xU)uZrWAKtsO^QA}EHu2sqi+7*BbDkRCp{Dz*`Nyl}e^&9v%J{pA%kp+-k>xk9 zCG(oyMdfvbM>d^elcnJj9y#}h+v&4Ax$&D5;g`-CdBmw4hAl-p@Q4zBId!Ocfrk&Q z%>F4*l!yKE*~WiXOy^-=_g(j8%SJq`i+_!6yUOyg>fh|{aN{c;R=T>ozKv0hFIUqm zsQEqA^4CD@k@MGn{?z6rkLF` zsOjU>{PWcEfim7%Y)6V;w5%#`sVx6#ah2CDmDfDhd2GcKoemadb%T6QoVquKRrV>f zrAh1|rm0!WYg5HLtmNd5v3Z^|R_xY-k+bZJvLbztPFeb<0V{N@=#QB`ufhr*$-YS+ zRg)F;I99yOv8`(Ov-0;;^X-$%y}qvEY?E>Sz97q~R9lwYuY%0uzE0(}k@?qZ(za)8 z8`hzn?V8Tde_>9YgWG2QsTON`@TW1Jy?d~RcC8jyy*`K4>oNJ#<|sc_=Rt^@XZ@+H zR$rel);B-RYTWtG_SN1CtcKm!z7-2pQ9~!`-&aG<*J6-bZl;QJO2)m>UzNjExu45C z{*G07&13$PySyCJ;|=TDKJ3q3bz@kEi&Oho+Mr`DS3A^h+vgB-&io|v|gJ9m~-zLYjPv!6~7nxS>yRTHmscW18bahfiCv;KsEeE`CqB|{N!@?JF7TX zRow4nIbj-A?qivUT^5;_uP^ftSzck{n8N6`QL$>imSY z{i()0W9HwPOJqpf5ZisMWsAEdyO(;$oPHU7$>`aXv0s;zj@WdcIlle=LH93S%HcRi z>EB#e&F3MPEA1=eb}#*S*P+p3^>rF1Z!V3d!~jSYgyY~S+xab{=r<NLg8d=PUP*iTz+ z{TbHkd7Ecmg>tE3Ipu$%=36Y6o7GCj>C#rkT_npnQ&E;1TT|unSmkw;X*ag{`?uQY zr^&0auXl3`>ptqwO5dy*!@O$`oZ2;9%RC-yTKnk>u+F+aDlFOL!aBCUzri_AENkCv zN{QH7&se)>JGvjpvzN8&aoxLHiIQqqSozP(`D#~F%k5Wj9;moIR5_<)xogYGJZ^=_ zyy~<yvXlvVX%q#k6^sF*CE%QvSMfzGH>da_v-{A5`24 zvYfo1$#Nfgsyr6SycRBD+N>@fZqbpf*P|lq%XSQ5ev^M^zCPcw?lE46s%t8-u3rzl z61z1Y`j=;1cb~n0by?(`uT244=Fxxljr{F4GxwbhzWbH!VD7rt)0zc*r-nzB|A?CJ zC$(G+73a2!8>z}UA8<`LHG1`1v|7Azk{rVi&yIuWQw--G^3+<@Rx*9Xj2`k)+dAo1-SbKFF z^O{-gv}?>l=H>9D%*0XI)Udkp&r$PDQ_JE0oru$0#_g6{mGfAYJ5lB_*iPnkI1lS} z)c&_c3&t~TyMFbv$De1tM!e{Jt64+l_gw4HFWX+`Tit*6Lz`=?dwk}ZV>bb;1qx=Rr-}5JOxz8)AIH*GuH`6*< zPWEtB?l&rrS1PYntk-32_cbTCF>SB-%sp>xWxX!78($)KIP1CL*|N5GJegnfS7V>; zzQ=m}a-c?APaoEOO7!WKB~jkO<3HJchV7Jj&BYncYgo69yZC|z57ls;^7m2mWs%F3 zDx~84F5~j`vYfk_RJkuy9;a1amzmaP^rdND)0wvawGD+f-eKB0zb`A=uLtYpQDNOh z*LAFCwG%$K-TN`$7vBz>e|i+_ac@uM_55 zEJ4r9MT}uR4y-P?%pQ4&;V$KORP*W7aua2oqmC->@3NfDHDtME>Zm*x$h>yuVA`$& z%hfzKjA^%r&M6a+i)p`~W;k)7G}CtP(JuGb(0N}m zkn=q`qm~O)aeAw`J5@PoPlQC){bQUzx%d;D#nA%-)YwHLT5flys&Adesg91`75ul{%tt(&%C4i z7e}7T;nBRxKU&S#MlCm3#W|z_OJhmM7+dY=)TJ3z&sYC^) zYcR~Kz5NBItKRI($1SF*VL#=6sOFojmYXW$%sr&yR#D|NROK#Fd0<@RwSfn1ZghX~ z%{kn!(ZjZznmy&-+eSYgy4;U@v>Q2M+?Sv64&Abr+_}+~w{|+2`|-2AoE`e(R)J}! zdE-JkJDlk|oL7Gr<+x_#HD0jR_*;fnW0@GXaACqfER>1)jIWtkZt7$v;yk^~MBEJ< zm@LPZ$#Q*}$fJ32Ci6Pay?4DRz#h%!ezRuZc=PKB?!D~tkzws_a}W2*b;kBN#XA`8 zT-x|cHQu^Qx22^H;W@F}>wn1f+gaYYX8l!bo~_|E%H6;2?oyr?Z29~`(1BS@4EK05 z;didf#C%VEm|U(h6LAjCU@~qdCd)a>WVu(E%ws*1c^&7j*-8yR()b_V^~-Ig>wc!^ zUQ_a&9QwqUyDz(bwBZ^@-v0ZYH)?A3bC(Y$H*ZwMr^>87MqWMJ&Sm39Z{Y+8%V&PR*M_(2U;fuBMZe*04IR4w=<f1cztA)k6b9C$M zMK^o$wuSP{=={Box2+QO_|)0Q++{?a9J`l2<4zCub~t7;i8pK2tH_Z`1$g~s(`Vnh ze~(vj8TMtTn?{~@PFRbp?G`dIWV@O0-^j`2e8repuHt$|agM$l$wb_5^D8Y9c$39Fmfy+d!0rCYWwX3#8(t~o$2oZ>X6AXC=;~H=AIikAofi}S@za@@ zugN4Pmdm=4i8x<|Ga0uHljW3TvfM08=CPECye3TH1-wfZx*O=k?Rp%$y|Tt(-mG%p zM_cwE8mOHp#$sPCL2)EyT-S*@LTi$TL)_3mny}XXY;BF;9ThA+WIe*CY zf-}!K_M-hezv)a2y+w@8fxs>|b0wUuq|BvS9Kr`Qi%jMxPsxeifRJ z*ZaA3>2q&a^BP{+?p#`Ph-*p*e7!8+S3KM5+7}-3lw`*`f_IJG4(*p~0|6;?d{WQOH`FCG% zy9?`L226?J^|iZ(Ol^~u*NePW|Ai~b?sRLKkC)ogaD{HP6VJT6 z$}wY*D-*-+9hmTsyTinMjcPNo+~u8&;v9aPoyoYvm@LPIiE`hBGLgrj0*;iIZp}N# zn`P=ZzSDLX&zyJ6ti~gU@-p8q8g(ju0k7&bZuya7PP}F>pIap_=ixQoCu~2{V?D2y z+pl-&2G@9n@tb<|ZMc_z*6xRszkkGN=0= z3gNs=`Jp>sem0+1bY%S-M=j@-Mi*JTBHtcf;cQ$`^-HyRnd^rGXFYt%3m3gS`L8nt zcK=iFynjVwHAgWFY{8`e4iod;YsJKJ=f^P-Cr=m?aU*@0EN3ATgyn_^DrQziMg2%Q#((Tos>- zmyW5l^t1E+{4?$SYbTf2Re0X&o%Uk2dq0RS(IleB|{zjc0 zeD|Z7e>Yk9qZ7|F(5-)`^*Ua-SGAWOZx-+(!y9)j(r6|xxO~Q*8CjO|91FkESD!g) z_oJ!JqQ0(L%~1?%?`Oh4-+s;C})?`Zc*-vcU%8=&L zL@Fia-R^rmJ-_R{uHT>UfBm(tz4lt)@8|4$Fx=x5T%xa)~QkUq{oeuk6yav@M?Cg zGHd!NCHZ<#wxn-+2}ma`IQd(<2BdGy^O3aHNPb+YntmZtTJr4FB4g8DPkC%qdB$V& ztB(-2?v0SJeZ91Ktj?M75?1$S7qC8FI>7o0?1AO@WeF_TNlVi6OnXAzEruxn(69Sa zKAtFBD_^R-TtZ~`ZaqEb;$B|c$yO`Xxyh2dEobu_rbtQJvP!K2+>#~jGyXX)8r39e zeR4j0wn~QNamua0k&lvj-BDkvfyd@;q>)3};oo-!*-q*W*E=vLH zd*unR99J1&xvuyUDc%B^>GP$CQd#&d=b3ymU}kn!il-Fm8~-M4$edhWhi%C3ESF^7 zov*HL(NCbGj}_Zf{k~UUey#$HvpIcx?V)29K?4 z-OKClbA2u)>DIY6URuKHI+OtGW7P$$uX`@A95zpZ46N@c z23U?2Iue%4Cz$VuUSlRe*f4(T!K5H&*qK9KR4a?sQ>UrJyidBg` zw(jsRNq67oUcV%)PCZCi-Eqkh*2l6$!ulS!l&~BQ$r6^UPzsjvw&>;vDMD`y&1(AJ1=170p2oY%-IXc#P5HWUyopo_Agnzo3`n*yR!moG5 zj3_OF@Iq}VYXN=E$i`8ae~NW;ux~G?V>5`;{Ysycb^9EfhQ7~{BbwtHtpZC%Z}~m% z#&i(fRch0?Dgt5DKj{}^+aSuO?_5!+6$qxR_7`0LK%a{q7JJI9he-A19}FiLLBw?z z7oumORy>>Hw&gOc(E-&5#7;cUGHI}&!5@+Bdj}%eGfUE_p+Sso|)*ghx5&HK#l^A zi$2ecb=|!`VoDdp)XkilY`YCala1s?UHb{qz3x@y^?VG%Sq82$=e9!B4uj%hgT{j3 z!`&&eV?00*H>#{M-US2`+Uwg6907siL|ZLC`n-N3w#Bt1$LC-X}lqBpN@KH8N9!YYkJl~1HW zIP>iDbtBI})UDZFc6sX{YEI*eovOD%(D5sK%X2XZ?n!5R>ses5!~9{cZcuORt3w@n zp0T3vZP8TQj2T_B<%^{87A^KPEoO~(zywcL= zmv>_f2+s}tJbE;JZajZkjfPSy2;~OV*}P*Qs`z!qm#I@AD)Z9IaXqs!ZpXYM*3svg z-F*Xwq0TJS-HSf)obMAC#Ol=@obGO$XuW^X11&E`TsZcir}B2_Q5(>AuR%3WUS=JWVoI$Eb<< zIarsDeYL2w1a+UF&js{-!*NJEAy*}cW~;6rbU7Yk(?kPm~o?Ey6$5s0LTYlKeYWkdhlZDpiz0^Oh>5x_5Qy7ae zzaQ(mupN<{IACLmkj<*daAIXJi1q+j9!|CyUnyix3c^!l|Q(XH=8DpgD z%;xEOv2}y6?-J@9N8Mb`=O21rvA$j$#}94fqU)#lMF0MHx}Fg5EPc;x5Iqeq^~(AJ zqN5rKZMOG8G^fX+U4eTc`fY5RRNF6z-m-KOG%ST^=aoIG_nJerq0WZ)Q$9oVAZ_y& z9$lyINK`RT$86nX?4!@~yLGs>Fky3TT>qYds z*fFTL`~o=;RjlsvkPQOS#nGY@K^-6xM~0SL1cQkF=Y9FRED%YJI&B!41<|)$gjeh7 z`x1_Ath>5|zOP`1T*aldYZy0S-URDDW8XT|k)ZAY&L^01vc8*;gYvRm??9wgP-494 zB#1WgM(E3(2hnAv-3JuzfassDsx__j^=6H10y>uRxYCF(5YbYrd1hu-g4-_;yPtUhuL z0?{l%n28h3Z%Ul}s0Z!4=&>$hp@5#JVW%^6>3Mh3=&tj!MCef~%F{s;>3!>d$pc9>h}OQ}EN#00L}??2|5LOcV+rPCu#TSJY@aXc*rM)j^r80& z*4G+2_9K^=uBT6_LY)@94~0oJAEM_$$=g|dB=opeCbTa-MPJXYlM7}apzC{Gu3&Xc zCOsayzM1{$aV_}JqA8%SkP5a4|NWs?r8MMM_+oJ zSdJp(vINn7t%Q(#%6)d(+r%V#U0mH4twT&(+ueI=+vucvO^m%Y(Pmh+{* zcXAwb9aydq5S_R`usWE&o}w2`zdYZ7sHUi0_XWLQzfdZzzHuD(3 zZ$@L(Cf}|{TyG6qQ7Tckae~+2hsc3>MOPMJnD`Q8!=D)*}CD_SBEkjel3*?+W}~fxj#8cLn~gz~2@4y8?e#;O`3jU4j4W z6<~sXR~~+>Ie_sVt-EN9ffD1MysOx?^$z1|s^_+HYk$TCatdM+PBP9#dOwSZ9^>5O zMuFkPHH=fL<;{d+D;X!#tTP3LyBQ~?-4!9HzG3`@`LkGe2>TA8juWSwD33nDobTtc z$gv8!7BPY5gL~=Lnlru&wwgt(-N|^abhD~y^Jm;XE$!+uFlSs1PMuxzjBFc_89WuS$k5cUD8_mCktn{{8)2xKXFuoUd$3Gb##_(g@l4E+%bu^LVjXNUC zcxo}D=I-9XxbJ%WRA1^0IYi69esA7Zx+Wfpg+e|qQ~&7pB?ETtIzn_PcFN>QJ3LYj<5Q%(UbAH z+qtrGRwd)D9+zG0(#d!pKX^{}b2Q_zb-nRN*=LOV?b$cW51wM&7f2;H=DcIvRU?|# zM()9Q0P~$#cbV(!tAaWuobEz<&Sy3ceUBhV0&*>3_}kCyP>tTt_>Rm9S#j`-z zFCnWK{+JBGhvMgq_v3d>`Y%L`*Vle0%TiuTX8y z@Sk-&I&|_4!}rb*N8ZU}eB%4rO*}e@@wQLCvU=1w#>=C3(8|m5jOT&$*{|YF8P73K zr}RiT$au6qFjgEf0OLf=OR#Pd_F14#6zZPleD3zC_|5MXH z-`9R)_^)z8U*=z6_$x0+A5aQl_)>-7lfIwv?p(g&bD{y`t+g$8%-p?<*P@Cot$QhN zuicfIw&xkoTTPcE?$mMdt`z34VVwr{RijQ2>e6*!eGa4VTaII$0dhGr{J;dJyonyy zrwi`!9W5CCTU9NSIuXO)w`IBEI!yw~o}-dQVPyuJ2#HI}Af9D{i+tV_c_C)Bxuy1O`^-`eO~#c}lPiCkia zzwAbep~hs@EiN~q0T~1SEd*GJVM`Mj>AX= zxwbLrTbF7;kLy#%ABI~Z7=EXpx@Val!*2_H=u=F8?%e*h)~^#7{=rk(=Zxrm zbeV}^4`CU@U$B9Hars$#9$okMvL4RxN4KvyICeV537GGTbp_aW9d#~oy1!)5XDRx6 zA_w(hxjGpB#TQF2@7d4ro2%XIJF6MrUeyP;+vU(`)D}~p!SGvV+YUH1iR#(RpT2u7 z!_Uh+*Z7HH_*uQCY;SC4_;ha|z274le(Vw%I7xZfNY5uWZ;o|$v5%gAtj>GXU4}lF z(YJ`>_(kt~ESH4VPkC^oyn^9>OO|))t;6^Z5T_d$-eY{#^&jaB`@#4sq_^%2_GkD% zbB;bRpx52YJ>$mq@8+GgWq(>V!!P|+^|p8})q9XuQT3RM)qOA@f^{db&lPnJqOO4R z89oJlDL2bOf1a>hjr6{=BGW6=m+|enVXB*^72~TNr}3+q-Y3Tf9T{|ra*j)lse&MS zU(cS^BKgkv4sKafBc9Co%CCuj(?a#7&mL-sR-nFT+uBC_#z^bfyc*U;VxJkO19GS< zLZ3J2Yl9s0_XU=VUcc>*U%P&OV|F{ z|1&mn{5+*)_pv|YQMEI-#%Txt84pX9Q)`>m=g)ZPqtkEpPn`W{ta@;}*T`e9{*2{~ zb>2sA-u~}c^0PW3&Ul*rzhiT`FRra)jFkQz^SJrEf5(LDKmTXU>39AabN+IF#w?%h z>px?TU-)Oty}tkUmF8ampZ&`Sw@!9{>bdn2!dxAlefKr%!Rg$%(9ynyFk@k=_TmAq zKwh{nc6471Qzsfv80K{ZCYIgta=W7e<4kAVcsFevjCj3d+HIweptPOl%~^iL4ZPeeF>7s7GX5{~O4IEmUU zr7~i{W8lRFBO*?M-Cg5S<=k?xRnVHd@?{82@AF}W$(aFQ@%W&1npZWL-rn@<3oi}E zuk*{?5?v1?HaZH&7f%J%8SfVCh@D_Q%qP^l_Y8T$jZ+CX??$-#M#A+kBb?r4!s*k` zW3zq%g!3;U9G8f2T&Kb9nP775I2GU-#_YS^qH#a=m-gtKWcEXN7 zEF;`}72)b@3D-Z4aC$Qcr~i>~emuhY-ylrY*wfHul_i^Dk~psudVFV)oFz3QgWrA2gSp*JtBik+MQr5lUsE1L?`H0 z_;%d>^2~g)>srsVjb8{m{%S(l`I9Pyt=H*Ixc)_i(|bVoU+vaEMmRqe!udB5jw_FF zTw}o3YR#tB0aXwX^5JB5l@EAE%zfJ?yAc+uuV_(UK==LHVkKSpv;pQt^&jIo_ZC?1 z{nYgKz#6cOd!=@(wF)M!;+ZVIod+Xkx*0Sr`DH%M=++pW!D)mYFXa<%zJ_r14+z(v zN;thz!s*u%&hIhd{5KGe>lWd-yut6+R6)Hp-REb>ldScvm%-;&tb^62SKvM_X<1L( zec;UN5a(r#2K#1fmp*nQVfK&#{_84#!*uzq$0n~VV9L8A)0KnX!>9urP8HXOn46iN zyR~-m1Hz5#2|FLGPPlqo!u5YAoZe8v>FW^AZx`YGpA(L21L3$N5RfDgHq=-`@U{%4 zwhUwN^)HAsJzWW&Us7QaiG_uE4Goh$)WNa++BdaTwJ^^&1gaW!U}n;&e^&380dvE- zQqvmZ!0_pw3p-kRm``ol@Ku=PLb&ld!p#>Fu3njN{hEZ+t0J7fJmLHz3Fm)qdQraBCb zY-jL?bGl%>;Mi?uSfATvPRW zCpb;^+0lFE8kqNXW=_EVESN6wfbEa_!NlAVN#_T+o7*(so;gD|hj8OO!p*A@u0ES^ z{pp0$qo2EH^{ol(m-(G={!gf{1pr(W~Y}L(th?>%KqN2mg&9 zl-->afSFnOfU=JLfV4_BBbBR;2spJ*hq0XWtv}T6Hl0 zr-C9Zj2g!K;b#I4i&VlpO`E`G)Rm@`8+I^xklVRC$tvbkmTlaq>Ml#T@ifBC&m~+v z-3OTMpFlXh0R;64=O-bYe-YuhdJvAQ1tRqH^XBHRfvCCbe#iu7L&(Q#Swr-*An?47 zZ@JPJx}RSkbF&$8I3dn+p#&STM9qJ6m5B8bZ4r$ z);V?cih>ftjd_HdZzo*6A>sPzJ_@YfEW+u}Ae>(d;rurcjw_yUTpJ+bVS3*8J@kFb zJ;R3_3VR5lIl;YT9CaXwZ>y0YH5UA}4W$?SGaYGyhPYOzvf-tVYP9m0*{2{*r(aP>n7*B?eWz2k(_=Mm0t6yf~U z3CAT%IIbFqT(`3!&6w`H#n+CT)1puJRm(nD$R7>CvT2X~6yAb=(dzM*wkg05EhamYWG%VOP-pKI!6qr4zdD`6s9Wd+v`*`o@HN~3w(TVQ`O@tfU6K-CLaP`K7 z>klBTo}`m-`tgMGdqX&XJ;HH4BOI3=2xbWGH-+*+cxicJMYbb^_Y_Ch={|zsbN#x` zE4f0z!ni5HgWm!F^H!_;FKOVRYW+gz}_}foIWKw43N`+ zIgMKVjla6WwEM9}b2gh6dp>*a>%qtncAS|+xcPB}s~<$`MU^Am)joP;b--y-qgv%@7Sv^|BWpketW#T z=)bY)QnRQOpZ~_}{Kfyq|GS^npYh*3>%acbnB$xG-9^Sz_hVRm5QaohUOVEcOGqEf>!uEBJ(sb96_ruF`B%+Alo`c|&r>m%yD zNBvRgCq#d`4>8Mi0J(Hv;R&TN?Z=*hPe#Rqy=z~9Q;P1GzOM(v0{t|3pQG#Oe!jUf zHTf>!@Tn|+ly)pQWWN)KDH3q-Pt&*1{|OEji(Eg?Ne2i0ZTB|Xod5@&m=@I0&ADPkgFfJ^|eIABOfF zOZVATm||U}S`Mym8-{mOHNnEhDW~5{E5O3l${X|zZDFB(L3$5!IaoM8c=CCRL9lQ{ z{U_gP-*K$|-#lACgX@?2g?e95|33PuqdyP1?jhGn2Jxf^Pjhir+ZkW*{wCdAHhm~~&-=bPY6u^^9$n6QakC7();+H|(xC@l z{Dzf1FZKa1NAWeY3&Z~#v-6r*FTs9$)SH0%5r6zRe_7<}K&}u7?ie@NN-q(@jmk!J zg~&qSwMl!H2mXWrUp4O5jP5hb>W@XgrJR3|404H) zOBurNFIBj!q7H&muRGqir66=)>zka5IuN4yWb|NV9t11PF1oP!DFnHOxObeeg~0nx zcQ#ym2!YEs$zPps1A*q53B^7|gMq8;aJ(JotFWGj{q#SRte!pU zKSw`v^dF5}TF6B|r=bFDGm_j35QgOV||5V>sX+MgenL3rc$sPoD_AgnN_u3eh$ zyZUtW%C&a0A=D;iOUGn)2zlI?pB3~JLNe|7A1#6)BxILK0{wo25cglD_YUOY*cRt~ zu>Jw|+o7Hv>dT^^4El?as}#BD=PmN2G>0y`2clOg{Thtv=aCMS8@_SygQ)%A2YNVo zgCL-&p!MuCh+LvQD|LSl`Z>cK-MAJ7h?vu`W8;=r5dOV?W^ShygkLMRj}MW8@bj&= zHIyQ7+!N;~V|^{x|LHgC(fvnR{a5HmKR?F$2mLQDy3gg>>hcM_QX%$8(7`oo^z#vG zCidAv_lJ!>_xi=Xi&YRUfAP7xK@AAkUVjtZgMPlsa9Ylj^m`ChQ7L0G+XOq;`Qyj=)BQnNu9e6Y3yT6x?WIi) z!Q${!H;t{|Ky0Mzg}2iQ#B9qOE}BydqPH%q!tc?~0r0gSJ#SnE(d{eTZ?==VH<G(gC`4PA;uzUTj3Nfh|%2VxNVsa#0;oi`cUpNj{R_68SCli5!wEmoF4r? z9!@_K{dCZOE^@6yuAQ(N%tSH}p$Ee*tpIA(tw|eF!(LEgS>O%ft3Q5b+^S!9H02-e*{5vFXAr z?a#0@EjGt*m?|v!aBFVbjS5&28=Y0#?hQ)@>%E+J$_f@gdS3SKT|F#5S2M|f!Eji7 zWLH9AxiyZpaGv(D^(NTwfO=O^UmpG5qkl7U4M#3Vh%b*_;j+RN61J||GiW!#05PyA2VVuEW5eV!}C!-EVHXg@>*RCOIth?ne<#(dTQU!Y^zbQ zG+p}Csa%?0Zaq5v)HfXGvy|CnV+`6)*i+14&_V z%Yp-EKtg4*dGm!hNRZNt_nABq;%y#08R_i=%a5H}W^pYWmK$z);-6{;aTPb}KUe|8 zts4KWY0r3w^YIq+DHsZIj%I6|B;RnXjPsgUe**i*pG1o7a-R}NahXw z@$Q-Na1i7tFmj*w8 z_#@+dg_j{^Lx9|-tId#nwTlU=h=*j~lX;HU)F8Rn(-`T%Uyu|z{pN|GBNJvZ%%6l!F0*O{zt{)8U4T*#2fMd)pNbGme^wRw>90NBW)Qa^H*sqCtt5Lrl z{glvOgj^Sp>luhODpS3qEkGRqX>g0JC8QL(OCG-c3@MIpj9ygwLvs7>!2TOHK=P3l z&OMHaAvyR+c6;j!NS<`A!R2{9BrB&zW^DcfNk12UGjEE8qz`LH8@Ua@u^-OA#riwg z-++2_Jy`uU=;w+4uaL_Gxu(F1egRK*<%htE2)zoMyJjFh)Y-Lc-eM5XIBaZwTN_fE z4a;h+Cql}ugy9P3(;>zEf}r;98Aus*P&IlyR>Z^ph{`~-3S#d(S*m07 z7-DtMlbmG3Nl-9Nn-zV@x5GwmZy=jLf_2i^XNWp0QTG@6Tu0x7$gu;t0*NqEcYa^`Y2C0B&%Pcl zEG7OUrWK}{{v=*1a@)gi7LtYchPaPWUrn46`X$|QwkM9Wrmi`BbPch8xO9zqWel1B z?yd7@$u2Tq_23Tu>^6+QF~1D!tg&wq>dZ&oo#>N`zHP{H=MR@q@5nso=j|loQ)0>@ zvWEnHIOpO=_lxnH5H{-8&e_C!LeYboSh^4D@PKcdYz@f5h>AtJKRy%Zy$|-cU0Fe# zR-1ZcT%!Bj_AF1DJa869E6mGcoeTEeMx9ZpdjfrI(bpU~P7#jlJBccOUs$abNd#&w zH|IngC7~I%`^E=MAc2#uPZ(u35#Np=f7O@K#3v@MN`;q8JUtE^UaY7}+-EPDQF=&^ zxb>1g`+LYd;u?DI+ozSYF;2$(2(Iqn53Wz44t41BDONWEeO{yQ6y!LATwx^2X`J=l z-jzgfO8BYsd_D>He!SkY<2ec5(>m>P*mx3P6pnc0GEG`&F0^DyZ4@ntF{Ei<#BNOIK ze3P9VhFVq=ep%SEs}+reANq0p938q3C>#4>{yx^x6hqStpkf`usEpiGZXm0)&b;q$J;K-ih zwa;3Jf1>pE{q>5(uS7{(K3R?U`TtTD3ASK7f_ZhWuC5mQDp5xkb*0cJ4t*CRhYxa9 z5y73DJBce4Nfb|gK)mjzEq} z{GJHz-)WX>EFe(}Z1?3p5)i>g;}*X3H4@n)C26~19};eoHsI~OdJ-zG^61wumxO5A zmR8aImV%YO1bwW!OoDtr`TbUJCqeyg9+XzD##n>-_gJ?H`=+DL3e;`*X4xB~fN;$w|pwBJk8bwfhS_AB|0~to$;DL`WGA?IZj_ z!alFBo9=8t!gTC6>^40_LNm9XF?lhNgw8p6>{XFG7cai#^3U&M-6rhQ;B=yUqOKlV%NFjqe)b9o0Xh)ArZXntLUJlLIl#~GPm8fkjVZ% zK~^$fNQ9B$Cd-Bz5}xq=$n7Hfe{PwBKP-&rkg#k1Lv^>T$LNoFX{@uvzA8?qS6|d! z&G{(aLEn?ep@3XEB+6@jmsYtniMn$9Q4cj;5>!;$f=g`{;}TVg zpl4hD%QaI;q|?sg>n?62;;P(XoAp{Gg8zE{f*di47+cn+^k6f_WX#iFN7y<=>)h8rs!@W6Q0{fGw_hZeqpI8&2%%%QyxtmB-t?m7t+B-;; z;KH@m*0zQ+dl0@lgpJo%Gd|532y*&|*`ZV)Es*nivSLMt& z{)GtpKXuf+&_JSYmae>Y><5VwJ(kP;c!@;mRyw9Tex=7pnRnvfbNRoPHW1

Wg7>tBG*_in0;vGDH}7x%r>$ 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 z%0D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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8.i b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8.i new file mode 100644 index 00000000..e6aa08ad --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8_out.e new file mode 100644 index 0000000000000000000000000000000000000000..98b389f6093951c0fb07cb0f628a312a18b8bbaa GIT binary patch literal 159720 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17.i b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17.i new file mode 100644 index 00000000..719299b7 --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17_out.e new file mode 100644 index 0000000000000000000000000000000000000000..c67905c2339fb30dd7b3e5149718b86a2ad24cad GIT binary patch literal 105844 zcmeEv2Ut|O_cnG^ENkzMy;H1!U>pmIil8DQsKdYvFak5<%urRTUF^O0-d$bm8he+u zt$po%bys)o^?%My?$FVh<$Ip}eak%0J4wz>-khA|<|g;%=63AllHbC@q9C9cpaQ@$ zRH>G!E20h$lPOeT7{c^LF|5`olzMjj5jd78Q-&%r z(s4jB7MA&kh6s_6yo8uerdJwxTGU05>s1QKH=VpB=TNDU#!lct?oymbrd8@7PvHRa zSfQNp=uucMgRD7(vD|6nwa6k~OCGPdn2%bZvnUVpG%}>KD4t%1bQ$9zUHW(tavjRh zmVz#5HyINa0-0b-l{!!ZQ7kcxbrh;nLmgT4!Zd&)fZ}qkN*1Bi=~Wsv1T8RaK54## zlfW&Kjl5D|s77v3se@!%jY@5hMQU^kuvrXpqYbg1Fwdfas!*s8b|B3$JYF_T9;FJy zHURBL2Fe8)f1A?R4ZwG&8KS}}b?2p3iBGv$Xmi9d{6ngxnC1=kYdr_B%Jek(sQ zy%WSOs?VGswgvH*HoqPqw1oI+^TW8`o8JJ4TR1=iEhI{yN1GH7eC!W&FJjNU#Y4em zaiaxE4spvYhZtygG%vOdYy)B)iMkb&xu`-zz2u?ctVLiPPR!%Gj{=Sn>j9wf0tgz3OVW$)($L=|!jiDd~ z<|Da4L~Hp;hj9w`>MQLe^jJb$w~7ZD{2F2l zuoB{@&tEhiM#B6h=&`V9`40Xph4^}*^F&>-?-hTT&VvQ)D}ig7rr*vfZZO8>yx0L_ zT#!PxBJa22p2fJVJs9m7HMNI3)!Ah05etaF(vDz>s=geWULZyE-QC-m<-n1WkWJ=rOJJaUNmz*hW%kNEF0nSXfBWzAz36)W~$o0Jw_jA&hD8IF9ASAIO%EVSx^q z54Iotp_>+>3^}lUr9GB5jd&d6TaaCI@Hba<1tH2$aJlGSXd(QF=w9W=MfWyKNksP^ zk1x6p1BD+E-6uS~=sr7*zcWO1UvNIreaYjC?%$kWbYJoGqWgyDC%R~D_z}^4&-q06 zBj*#{Pn=J5zi>Y8winneEJQb3`(5C?S9yN7SwfQ0E*b5RvD_KUnXz0M%aK9vJUzMH zGq#_M?ImOT$k-k-)PG*R^LCxrKG6_!Gxd*o=R32@|0m}W>qS!k#q(cu#UpuP)-Qa^ z9+}1&;&|iV=8D(xf4h5?*`55`-P^2X7{`nM*04BE`?tH|xccAjisRgWyDQE^{_UiTO8295BD>c43Lohm5U@ZT)DP-=rl`yVd7g+-_`@V{LB7J27?-ueGu z?g0Ml=l_4X?(@nnSOA~Fh|gZ|IVCEXQ8D5 z`0Ns&N8)0&ujh250~{cpC!H0q{8;j%C6D5r9ZQ6aZJ2 z!~li@h5?2HVgYf0ct8Rm5s(BJ0T>Aw1sDw&0~iY!2N(}X2221<1WW=<2224=1xy1> z2h0G>1k3`=2FwA>111GW3@Pl;bk=mj_hfGW1sjRN^x9R|Zt!GW1skRO2%AR|nMKGW6F3NB}59 ze=R_5fQ0+&fLj-UGW6F2)CZsp{S5#O0VqR%BS2#S%Ft$LyC#69+>f?v#%1V7+gWoN z`q6eaT!wzMoh_H4A8lvHW#~uSHRm$)qwQL78T!$7Ex8Q+XuDQihJLhNYc4}S+O7?k zp&xB$&t>RGJ2`L}`XvBI0Lsvhc4`Yi8T!#qP5_jlAMNA}KpFbcPVE3FLqFP%08oZD zL)*0nNVy+v*8$KTfPS=HM*zyukGAUsKpFbccAWtzLqFQi1%NX2qwTr?P=o%#S!hJLi2Cjez=v-W_#059%GJN4r-^rM};xeWbir~X`q zezcPhm!Ti+`GRGW4UJ267qt(N2T74E<;)8JD3S?c@hQ8T!#qa)2NAqn-Q# zC__KmDFA>n^rM{=0Ft4E<=QKmf|nk9G|CTP=RG+il=7^rP)IavA#3cAK~i{b;+* zT!wzM-4-rGKiY09m!ThR_am2~AMLb_%h10VupNLh^rM}A0-y~2Xr~?T!IZhJLi&aRAEDk9Il% zKpFbcPA35Y8T!#q*8wO)KicUA0A=V$JN*Vg8T!#qHvuR^KicUQ0A=V$JKYAL4E<=QJAm8V zk9N8XKpFbcPWJ#PLqFQ-J^*FtM>{gX{Edi|ntpRNS_5cTfBcLt7 z3E&K92Oxm<04bmYpd+9YpfkV)&;`&H;0ovl=nm)sa0B!NxC1-@y#T!deE^<-z5p*k zKY%x&Kfnjz3m5)0>S`lfCiui3<2l> zdVm2C4u}9m0-^xXfEd6~z%amYKrA2*5D!QIBm$BEBLE`-qX44;V*q0T;{f9U$$$xf ziGWFf$$%+3|u4nSfb<*?>8Kxqx|q`G5t0g@8qX#egM%rGRCC<$x7{m4H=% z)qpjCwSaYi^?(h4jet#n&44X{t$-f^+W^}EKLK_Cb^>+*b_4bR_5ywe>;q81e!v01 zLBJuvVZafymen0_0K|mouVL%apC7>vv7@#=73Qz)25>N_I8t?<444^Ea z902)p6Uf;R-~{jhC;(XRSXYYyXcH_4mf?Gl+xA1d>www#_8~ zECbfn_W=3OE?BQvr&ym@mspQjhgg4DcbI2IKxIHxKy^S(KrKKWKs`VM0P2Nk3?Kkc zfC_-;9G)Yq0oVr510De`04@T41zZAL23!GL1zZDM2iySs2Dk~h1-K2k1Go#g2e=P- z0C)&MPAn6ay(vHn@B)MY;sG-Ncs^nKzo<~@wK8li|IwdNer!4a(VyO+lfz5IQUBE@ zAeR5X+5~v{qyOXOkHG=bfAJTgQHQDYN_=x#r_}5JizdKpWjfT!;`fgXQ%BNKr<5C% z3We9MF(%l!j=pnf>;*@J2hz3j%H{kCSmo!^Kz7={(@8nNdVXaoHng&m8}9=2in?7 zG-^q6+vY8r+1WO;Z7y=8b9<=#-IV%ZQT4%RI)M*nuWPmj(X*%R7*n;>J1 zj^R2TG!ls??2M9HUNEI+aJa-p=`XQsC9!jGY+>tY=YZyGnUNr4xO0>;ARJy{4OI%9 zut!FiRv`8aS4!Li3{ZB7ovov7E8rCBBO}58UKm@vt6CdwkifPMN@IKf7Zt>JU@j{o zk;uZ;sv+S@nLGebV__qR)Duu5ah6CGir≷Uw1wtF&%%wLD0v%T5mooUm$xP7?~R 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-2_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-2_out.e new file mode 100644 index 0000000000000000000000000000000000000000..3670687eb69995789deb3a7d200fbf41ef53378b GIT binary patch literal 105840 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 U&}R(#CS#5_=Bgma6yys3AGsRT9smFU literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5.i b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5.i new file mode 100644 index 00000000..f8fd18ce --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5_out.e new file mode 100644 index 0000000000000000000000000000000000000000..5e2518e56962db13f34cfe3f3b46809f4e2fb3d2 GIT binary patch literal 159720 zcmeF42Urx>_xHixOYD8^8WjNxiog{WD+(%B)MbGMR+rtCT@~6mKb|CYBW)= zF~+DdiLu09W7k*`TdeQ*%)Lt!(B1ITpqyotcNE7QH++2-Z*KG33XQ^J!bSrtqCL+<$x z2s3XKhGO1$#goCjrCc!w=}z)ey`b%H-A2~j@~B(t^!lzEeXOV?G!Mn3KiF2Y+B1xk zrpaSj^?%P;a&tOWS7Jf0?-|cJdtHi`kB+x$Iv_=B zOc+nCF;*nURSNFptFJ?JK?m(eaE~#NE2&ZI)GDL@>&0q#qH4xPHWtE&AXQ7mHCpa z6gNMx{w0t55>9K}cg)+)8LY+mcS z6-s;F;1J`=3{9tYob?aB zFUN_IFd9((p+6cX$LgaPRKJo>OTLVCI?eCIcFd)}dDfxgB>zF_w+@fhQ~sEBcv?=k z4lju%nRWPwoZmXU9-;g(>+qIb-a5Q{nErld)*YWd9lnt9tizWwo^|+I#*@RQN;D@Y>o8sYj>)*EWqFsxf-JQzsdY%b z-l^9!^?IdVk5qX(@|3!#u0N^kOX~WOx;~`Z{*LV~>$RhPk`VLWIzBq~ccF`8KN9CZ z$8lcK!EruvoR8>uDO5<--gLB=#BsvW4pFLxqn#|TAJS>hTlXL9kgcNAE!rV+nA-0c z7Yd}OkF`Dj!4JQe_2NSx9+dU*LmwWI_2NSxTF;Lk`tWzzU-F?3Ps{rGp%2f={-_Uq zcuDR@ANugJ-0mOx(ArP7f=_t0(vx(9@ne~>VpQLA@Bf=Kx5zungB204SWCtO@S|H z2ATtUcGVBG1g$`8&<3;x?SMaM4?2JV5C}SgPM|Xg0$o5?&<%74JwQ(o40?gypbt=k z5TF5}APj^9Er@K zumgMpz6CqMF0dPLum^kx_JZ%hKJWwB4}Js(z(H^b`~(hzpTRHSS8xRU29APb;5aw| zeg`MPDR3H`0cXKEa2{L$7r`ZP8C(H>fUDpdxDIZBo8T6>4eo%u;7@Q5+y@W9L+}^) z8$1G!!4vQlJOlrL=imi+30{HM;EjA#)fvMqAS=iQvV$BTC&&eIgFGNF$OrO+0-zu$ z1PX(XKoL+B6a&RU2~ZN00;NG2P!^N} z7f=_t0yp3e>Vf*80cZ$3KqJr?c!DOt3wQ$`z(7;r3z~uEpat*)EkP^L8ngjzK|A0N z+Jg=t00e@LpcCi}fRr zdJqi^zz9sBKZpTlU;(jU02m13Ks-nQgTP=g1Plekz;G}Ej0B^=Xz&Rb1IB`JU_6)r zCW1*|GMECUf@xqnm;q*jPr+wk7MKm@fVp5Em=6|!&%r{l2rLFmz!zXC_!2Aw%fSk; z608EN!5Xj@tOM)82Cxxq0-M2CU<=p^wt=s~cCf<<|3DUy6=aikb_{b!AK5uUF6kpX zH^?J>WakC>q>t?Upn&v|T@VzKKC%mgkED<6BA}@BkzEWFmp-yffRfTjb}3L=`p7N= z%1R&Es z+N50_=_8x8bCEu>NxQnzM>c8aDt%;=c5c!~HfiTBePok%^`wt%(yqSrkxkk)kUp|W zyN1$7HfiS}ePok%jiirk(y6iZk*xxrfP7?=PE7#$$R?e<0Qtx!oxB10$R?e90Qtx! z?HC{*X-3*L1-{ZI?V5q6fNavPIUpa|q+JU@KC($WKR`aRNxPPSd}Nb$tpNGRChb}S z@{vv2wE^TKo3v{S$VWD5*A9@6Y|_pjkdJKAu00?h*`!kkKt8fbrvN}cvPq{vKt8fb zr;dPpWRp&v0Qtx!ojL>ZkxkkK0rHV%O+gpXRobLeH|Zmrbm}gBWRp%kq>pUUsi*Xj zO*#cjAK9c+FXpUUNiBV3lTIOkd}NbO8W19F(kT>>k8IK@43Lj( z(kUE}k8ILO3&=+{=@bFTM>gpc3CKq_=@bRXM>c7v1LPykNV~qEpR`Fkz4Vby+C@tr z*`%F8`p72jjM7IoX=jo?vPrxC(nmIF7bAUSlXhn5Bb#)xNFUiDAQq61Y|?1}ARpPJ z(?CEzvPq{nKt8fbr+7d_^mNV{QR zxU@;T5rBMTlXfEk`N$^iMgj7XP1=nH_AvPrvffP7?= zPU8Xj$R?d80P>MdI!y%RBb#)Z1jt7==`grS7?6)_(rF1;EN#;13qU@yNvEZNd}NbO zUjp)xO*$+O3g3vPrwO(nmIFw@&)V zChgWsAK9ec2I(W4wA(0sWRrHAq>pUUZnN}}P1=1WePokPTcnTd#b7HSAK9eSHb6eI zNvE#?`N$@nwgd8!O*-uWMd+IfP1^kk$VWD5cL0!& zY|`lGTUAAK9eSuYi1HlTJqf`N$@n zegotqo3uL$$VZxyPRGD;Y45@C1Rx*Tq|@(!d}NbOCjt4$CY??J@{vtCod)D1n{+w@ z$VWEmbQX}0Y|`l*ARpPJ(|JHXvPq{4fP7?=P8R|B$R?dG0rHVeI$Z{rq)j?q0puf_ zbov93k8INEDj*-(q|-G(KC(%t>wtV@lXf=%`A9R;=_a@(ZPMws^pQgs7r}U9cI^B~#vPq}=(nmJw^g#N^CY>HiAK9eSU(!c5>GZeskxe>1l0LF8fyaP+ zWRp%$0Qtx!ot^^nkxe>11LPx{bovL7k8INEIUpa|q|*yPKC(%>mw2N$FF`BW%)1>0il zvN2HlZi-5qv@0%sWRrF!q>pUqr1bBQk8IMel=P9E9h8pUq4)sjB4NvGP4xk?||q@A1ekxkmUOCQ;!Q$6V;y8@^$ePokP4Wy53(y1XJAK9dn2OuBW zq*Eh6KC(%t#(;celTMz1d}Nb$O#t~wGt$lrcuSkK^N~KXNjoNeWRrGHrH^dV&R6=# zCheL@AK9c`bLk_Sv}+-KWRrG&(nmIF*HZe(Chb~DAK9c`Yw07Kv}+@MWRp&9rH^dV zsh#wZO*;8YAK9c+d+8&abm|~|WRp$-(nmIF7btzC8EMxMbdok{*ID|=ChdZxk8IMe zi}aCA+I5vavPrvc(nmIF*IoL^ChdAiAK9c`Pw69@v66ePok%q0&b-X%{AaWRrH`(nmIFrIO!vsw2PNMvPruH=_AcZyFp;E zv`M=m(nmIFH&pt_ChdkvAK9ecaOoqPv>PFPWRrFyrH^dVZj|(qP1=o?KC(%>Po$4* z(r%3Okxkl-l|HgbyK&M-Hfc9r`p72jCP*LIq}@d6Bb&6FBz4 zO_e^4EtEd8NxMbTM>c74ZI(W=NxQG4k8ILzi}aCA+HI9S zvPrvb(nmIF_qFtqP19m412?BwK>1!M);Kz5J=`>QlK;_1ImJOpggDmRG=cL1S*3npem>as)HJ!CiocC0<}RM z-~#FbSKtQRK|N3(Gyn~O2WSKu15eNdcmZ$V0~lxud_gnN9JBy_pe1MpT7x#AEocY) zL3_{v1b{%$5p)8bK@jKyx`J+?JLmy=f?&`K^ag!^8iW812nAsv9B4rVhy+nU2l|43 zKo6pU0T_V^^anA(3@jiP3;+W`9Eb-AU=SD#hJc}97#I#lfRSJn7!5uFW58H24vYsA zz(g?dLu2K*h;?yV47Pv+;2d~> zqOlH2y{(O5Q$X94wgYKL>r3mJiDdfrpzV;E(6+!nt(=Fk?rH)WN$t);8+8$KzsLoM+qq;`*jOrNGFC3ecb-*!6 zX^-Goq_jhD3{u)3l`*Ues)L%6k1@nCLOG`+cjcTp6T_8Y7dQ%TfR|V=l%X86=ok|S zpig2O|4Z0Az%sBLtN@6iv_Ds4xCX2R>%e-j0c-@Dz-I6jKpj=ud)qMl8f*uMsq81D zBkHQsj=^z9X(tTF@H2q;%6aZMhPS|LECMZ*<0`hLa@>lrXZNKl*33#Axv1^tk_O6|k=Vf3*t8^^gCLuYUp>O#jKh0Y*c#&a9<3#>Z&Q=KrDw z)SgH|}5YX9AMGX-9|I$eCUk6k*H%3Qm4B;w&d_qFy z8xt8Dtu(y~{t>fyRW}*JN(Dqt$lr{gPkYU=0h(`76 zHEI|d9@eN{cq0#OV{K^TMw+mCn#Q3X^&5D&xoPXWHPEDv8t50)IqdClDpfrfx5h5@ zQqTVG@y`B!f$0Zydv}1;b2N{Qi9sb%1>tKjN$U$KgQ8+pEw!O4w+1S=#-843T zeDzZYNImWsrwxn6tGo4DB__TL5^Yif2gPbt0bv%byUNYg)3pI&D%&G>=Rrn8QO@e!8axN;BI@X};AFEYs!e}>EK7f(51FBTsD&O$%PFlUPlbfS- zruG_xCQ^%DkF@_(*kKKp7^5DqeUCIJk0fnxRhtf7ef{MZTG9@Z+^bUQ43ygdZ5qMI z<*lk=Fsj3~5t>-Ng{~mq@kar57M(_~j)*ZvtCi2@(06O-6G}=E-YS3JAivJ&e0aaV zv;yM2_ets6v&tgFaO`Gj{MjB*ZybnEFNGRoaaKv=&-Q>CJwmDt+DKH40a|tcfm(WH zL*fSaR@rt8L$!%D>sUt*Y~RBhkNG9W%BfU{UqAgg8jD${o#aEMha5v^g8 zhS*cO1O>cbm7%#*s&oQbL)sot`7BHNQEd-MpPR9!lg7|n)ylU^=g#lF&Y6Drdhe3o zcgEmm&CQv8jD6p--)}yZD%hoNAYCEE#%MDmRobo@o&>yAe$ggNysvVCfIf+(r;{)R z%DEkxd$(XGDkr<9NwDr793rEBnl$}3WAghUhT91z{8LefCX=1skD2qCss^hJ4 zO|ihcMnu324iB~-97I5~2CW)&$I9(#U0oX5w^33AOj*4%Az(uC1ntZ)){LuwSTw@W zqzl7}M?`4pl2WHM{SniK?INOt2#(IN!pTCZ7iaYE6AhpR)w=yY$*;jML`fEgTK?b}l_*pn%st=D>J zIhX@N`{G0=R*P~@_GeE$%&<}Ht!kl*(S=3nwU%bh-%{*t2j!B%S=l}fGdPJ-K-=Cf zMj3|dG?8j~1f%g3fA$={tcL~Bv6&(qWoY|pRBKSWs!~OgqxNiNaaP8$Fh&>mR$qoa ztDM1U-oCA@i#F+XVdxu8>(8E5PG@CBcx)7NJo-qYRn%GXu9l5x!J2THqD?zLT4mdt zBI#8@B}IESidlr_f=g}(La1NCLm6m#DW{9pSUAp^}acI4`HQx25orV2<;0 z%9|GUoKqa<<D#v*_wT4PZ#M{UE6nk*e2rd0#pO^m!?gfZj;J7QQjmeDj zywf`_zo~sFo=!o{$=+GNz>UZl>Vjj_3Z4jHBhXwrpgV#4icqe&f+<}i&uWvx~;wDp`47NrgAhyKmD6oUcL1? zM;)q-Fve(Uuf)YK`q0epwZ*B)E&|FGMg>ZtrR^1)_GR1(P(wbg+N{;Yghip(ogM`U zSL-#=q2U@e9`T{{(teC8RTUQ(6{!R2EkzQY!sXYGKnuc50JJ+=ELBB`n+PAsPmB zIiKRNkXRQD#+YceQuW`f5+ZTs8bAps4-5YymZAd!rq=~zU1eL3*x?o&2U9DTG)^0( zRy|v)4Fc*6NdZz@%2sxJubo7$a)#ZJ_MD`&hHy1?yroV}j(e+Ydk9gb(#FK#)-O&{ zX|KEON1NoQr8IVEMMInRJ9f~LQ-rJRD>n8{9@I7EkO)wFvg z-ov$h*GnFd&dj=`2cRg=f2Sd8Wab7;;~1uF6q^oTx=3h7&ku-BM6((~Dt8U7r)k>` zu_~2boknFzzLjk~1?bgjY>E^CUGbN)Ze%b<8K!mQPmCxuY>+{Sl#>uJ>3p0RC7FRf zSn)7p%H`4>OA%0Q(uDQH1DeU=p&pvF7IRp-0a8y;sYt=N2yL`F))bDX<&y^^+gnxN zy>b1<4L#f&zt?&rU_=CtU+F$g=B*lNN}WYU<0_Rw*~$i^fyC6rs7+`hnv97TKiDWX zY-2j>p|x(_fY7-~(42L{&(e4b>tKCY) zwl%}_R##LTtg@ReyB=0qIZ)HZ$y=Mmo+~K?q`FNHw4@P_j@ULH9Av;W(^K{o8w5m+ zM?KW5=|G*STRDv*zqMY|D%;qCrIRKu$r5l)K@XGBQ{(ioh;lMjhsL8pK|wRxeN#-s zD#u2vBV%;oX>Acj!}kwHkww5X_hPZuwjaKXSUtK2ZZv50W_m10>36Z7^02z^U#Ufg z_<;>B9@AN2s@S$(-YQ3UHGblQ&5=gfe;E*~jNkku)){4^)G>uANAwgMGu;uDI0soX zeEZ_ZTcwXpcj+`HAfV{BNU!-|`{7FlOz#@f4h=W4nuTs@wTG3BVr$#RjE=|*x`OQ3D9VnPZqJQ90rBJA zc)D0Y-*dRug3d%#AFG6R930S4N(v~B6Uo#4ml@*X0(U5q_hj3CPN8(vCT)z)7_LS? zSnB4D?bRlEKxK_nhWu9nQ-%`T#lC>nOMq1RQAkBYn>r-%69WTYEg<)o#Oh)-Y~RXC zK(uV4m3vWU3w~uDh94yvB&9T^RadKjwk2rsfQUpQ$+!7d)oPbU@N!Bxe5Kl`b^ox)-98nL*=&>xKc6Wmo7R> zCOpMSJMFuFTVd5jR72~Sxo%P>i7QC~Gkg}q_H#-m|A>+@%89ni$<%)ghpR zU&<|+(HJclt_{;`a9he88-aUriJ^pHds75=M-wZS+M?7fy4baLXxOurGrS>ekA~LE z%~UIEU1gg#vJ)*Oo(K`kzxCgqY9snMA)FCycZ*J&qB7c}VTPTi-YVP-!pk4u_m5T) z&rqSoigvN`3{|R?Msv=lH~T07v94-#)8O>?c3rfm9%lM;u;wVbTb9nz!Je&5jbdvH zC)JNU>EK{%$GA!rkKg!l#yN>7p~~> z@`lVgJ&9BIJ5Ev5au7d-Xd&OW5*`?1#8a-(^3oaUq-+Dc;}k^!ZM{)wZPldt8+8h3 zTffaaF2C)`FvGSN1+?`lKxYWk$A)XwcnKTckB8?RBBPAxBe6bKWqWf@9&1vDNq!o& zwSA~ueyerq{b<|v%L)-N_2UhRDcTWGUeBkKr0w<4`ZkAjx-o1Is9b)>#NsJ*<%My2 zof)@=>0O8hBW-((qUyZ=hEb`M&5Qd0GSgI-dUou3ZwEwWj1VuO#HO)*qh#1oWzU{s zR(^7o-n#&8(vJ>g@^)}I-Z7}$4UW;`0RoHii!QY$f-Wb~{eY(Cdk2;Q6Qd;V!`7N@ z%NCXy(%oC-83JpJ6hqtVVTPT3v{C3atn?z^l!yBC#_;k5gO2V_mw+wq=?KwDv#_IIp^vfuDJfwG}ChN+uz1oD~w}LT7 z9e$)|-HEXSiy!{by?WbMIq8U^FsMl&D-pVa;E5Cm` zMA^y)JfvmTrRZu-xym-hL$$#!j3Wd6{4dR4FW|i*el2~w_`mPlqLqN+#Gc}jxx^%G z|Mf@O8#h_N`ZldIWk|I}K0bjCLEO!aO!me?^t5a7A&BRgd=$ zMl-5Zi2;>!!CPC~_Ij8YF!3mzBIv&eh@Y+Dag!9$uxV@$s5~wx8iDG8QCfpKW!uE| z;~^f4OkCN-%93Q*nxRcw@O@@h?$OJmt2R6nIv;4=-s2uU+MBJc$MmG$hPsKFB;`&4 z9UbGOLed{z2`R*S0W)gQ*|Sl^8yc;z`N!)uwD{14^~i0HhLM_BJaI{nyjk#?7W#=3 zE6HXM3**dTyfdX$|yu8PiA*8^xw=;zThr=y9;8DWX!vq1~QVa*EHMgF{>f z58d0f%JCUzXnVDZ&+H5nGCRYB%+1holj~h4q5t#g{~wyfj;;KEz7^k9pkph)OQCm9 z4{lG-ziL0&2hgc0f)B=srUDyYfEuGAfV|zR$pE)l;R9XiaU4ko5RYe;O zsbrB?;bMzgHFI%sakAY{ip8v5 zPU^QWS?tR&Qu*~2emhDlogzUyS2=^1d)jm1LyyRW#VB7^(pXj8A#m1IW+8Hp7NxYvhoQH$3S*c$VlXGWW55StTiSlq$Qgd0fKeK~{MNI20eKNm}E z(x=&W6-_c~!G@V-+m%wZY2DJ9*;<3~R;0}N(qm%4^cuzX^t4k@w6c}fX3{ehT5Chc zww*6ohSq@ABY{(HuKkAUK=|DN%j5(6fFUGMG2r%ii`HDJ0wDS6+_thFdHAnn7} zk>o>r1Bxe?(A>le81Mi^QX~6c1Wfz$;^|)aq;qv>UAwS&ykjUF$1hYwdOktCS>4Uv zQvfc`(hTTsf53Dv&g{E1qkDVle9q0@jgqpJX;l_O`va!)kyZPy^)k5Hvp2(ZKj&s| zz_gl%ijwwSJmRTrc_ZF>R88D0&~Sj!5Un$7@kSWsCu=IvE>p+FS*`eZVbMv-ppKJc z26aNhyFdMAJ*cERv}Tg-^{BlXrh7eV-_>Xa*Q54kn9iBW{yimiz{KlOdoxV;deo*f z6t=x}E2p>sNPeWS?`l-JgPU}LYrPJl((GO36d76r+H*ac<|-!!v~DUJn(k=^OnyCT z?<%KzJ!;?8Xa?7#_GXyw^{CweGwXWPx=|9}|7vwuhjwRZ!uuVSh6p`Dj%UV|kGvqN z-2v0PVz%#k8BY?3{?fPGo%Uvk*W=-R2}#XDtAuv1a=O>__GXxA*Yws^qkx%mO>YgD z?lrx=N9;_yrWYAz;yq>xn2F)UZMaPQthkfY|G; zTk;SoZQHw9=+YZ+-%J@MY0R#GXhuLx6sp->i(Nd7MEsiIqYSZ4YbC6%4+OI>4bg#K^VH=10 z;^`?!8QS`&TLgY|na1mbt!mo7r$k0)@rWKZ zy$%&=+P_a$Ia)PL3YcoGZ3{=u zIk8ccZLK#Z|DLSf6+6ZlN%yPM+)wP;m+2Atbb^uF_I)|=Q#Mg}{e>|m^{*Ig-^%8A z1HO-fHuDy!|Q92c&!E}YiTo`4xNi0!F1anb3WL6wAU z&G3KVS}!o=x1lrbnlH`kHhY}PGp3!}2WDDkv?bs1GtbUieCI8>GTIn%QJUO`CmHG@ zFFGD(_`sz-N1J!N3(EF`0|J@@Li^&W3$Y@UbFx3%PXX_I6|*AEdv9>cB@AC;(c|o? ze3B*gQPK7zHZFZK`v-s#vHJ9n5B6x-&umgYi+`^JRll}DL$3OuFZtLL&=P|WZL6c>QEjkOr+V#>t*6mU z?$Z5V=!4C8Pj^gpDBw`Qp@2gHhXM`-911uTa46tVz@dOc0fzz(1sn=E6mTfuP{5&p zLji{Z4h0+vI23Rw;84J!fI|U?0uBWn3OE#SDBw`Qp@2gHhXM`-911uTa46tVz@dOc z0fzz(1sn=E6mTfuP{5&pLji{Z4h0+vI23Rw;84J!fI|U?0uBWn3OE#SDBw`Qp@2gH zhXM`-911uTa46tVz@dOc0fzz(1sn=E6mTfuP{5&pLji{Z4h0+v{AU$l57J(B?%8Nf z%~h{Y@;193cX8@A#X1+ScYm*HL1fv)@w%P<@>saoH*vhiDZkI6pC3saulz}#5~`Ua z6UWP)-f$!2-jc-eV$0_A@_P7V;&?uH)g5nD;{3Z`{Hl-7et(g5x>un|qq{Hmn`j;P zQKmmAU>#>-`Na54#J`j{U6kJ=aa`orHE~?z|9j%NSidHT<6`}j$`d;6O`If)ST?P+=5=2zahp1W%i(_LO~-_c&92XgMxu*HF8 zm9)I-je(w57e({3V>kU&I@dg&ukw=~gXRQyRVh8J->+qVWn%mk6VrcUV*VH=miJ~N z-byCoUuUAc?M#%Pn~A)BV%EHZV*X}TJ}SOPR2;ElR zJm;SyBl}F|-e;EiwP-SqH~ek-%hyiP+;vju^ebl`^Qu!j8C&OH$&0nP)9I@ly}ev= zUnv@Rsv{HQmzkLU8x!;Y#l-U6nTQw5MEo&Kl=lS_< z^li87y!NTirPq~P&C3o9JQlNmm{-HD>K%oj?`F#QkFA)PeuIhmotaqvD<j?U!|J%k zSBo(*euRnXYnhnemx<-uFcB{|6Y+B~QQk5p%Kw3hyn>m?>oC_en=rlM%e_22>d&=% z4ld%o^!_*ZOrOHLl^k`yLaUR!(`U_`?hRVR+Z*%ODu3ZVZ@J|D#m7^!@umsaOO$O; zhc_7OQ*X)_H+WUQ9yMMR-09VF$eCN~e3~(3yig~mOkY}(iTPcbvi#%+OvL+ziTIP5 zC~rR#<&S0}uboWfHJ69JYHTPtZ4-|ueR1ZZ)w{U*XG_4H&G&dumtg~MzJAQR_&gu+ z)1XE?@OH~Cfw$-JwxtV)ntRUS&GUVFI&#<}-ssNCX4yCA;vu}9h>}drb zw_L8$YZkP82Z?B2kJ)=?p_ZwE@n{#qvTTE#?OpYVt`oqpMMr5o>CwDjUl z*{kue3(+Gx|J8_xobYiQ*!&I;et2wa^)Ebm*M&oF_qaQncU;+I`}d`m^ENNScYoJ3 zJNGU2=5ziafxG?{`Rme|rM+5LF4el>s=-W*Ph?{HN+#wn#KiLRnTQw3M0^z!tf)&4{Qo*`}7X) z?&)#O)o`A7dRcu^c$R;-f7Z#b%l-NhZ)SNJS?%gL?%sLzkwLtlSK#!&559=I#l-l} zOiW+I#QX)ASpGH>@eVQ({|po5^=6{{oJ{03g(-R6I?1D6-N<(JpdZ&4A6WN=aTeE} zTGVUp=T&*=&R^Y%?>NNOu^Ze^+@HyNY}sGN>DF&N$U{A+_QYqr{Vl(RmBzH=&36ay z-sh9R>n*N2^pBlqy*hZd-ZXdlZl;Xy@@8VXiHZ3=m{|TM6Y=&k5q~ffCD5X{#khJ@<1LkY~Yx2F^_rhM>Uqd z=rfLY>DB6H+~-;zu)%GFd3!hB;&03N2JQWM{ZkKmFHgwlqM67mEAPAFc5%z}1Rj0BGVq=yU>)z(^_+3K`8e+yeW=0to)vlE+Q5?xW%{OLOw7NHiRBA25pO>e@s~1D-p5RoUyq5rdN7gK zINmSnX3MK5S98OZR{6aOSK?8PPdzw%sutJgu0Oi`@?fsHcxrR2mM?klvCB5?^8b!^ zGgkI~#cJ@5u|@kejcCMM)%gD6xG#0wqj-<6&QxBpvy{^}D{~)=Vq$y-6Vttzn7=p^ z%NJxK-Zm!U|HVXkt(YjkAQO3wV@h6yo^ySr>Kn?P9>tCRlb(L{$xR-0@5h<>&o$uM zuT>%EqPz0YkvW@~YaZZzR_V_8zRJhDhiyGJ^4WaesUDx#FT6KzU1w3z>0hnojVk2x zscp!$vvsxEvp)UGlPTlT-!d_M3={J=U}E{fOo{jM5fkyhW}>{7Oq5@eiM;wSk=H)1 zKRIs0-k|Q>l(k=}=M~Cx-J-~>54Jw%5h1NhPwElC!z$Er8dJuDtG_E!v+GL(@6q9s z%jPG)^G>&ixnA&#;ccqtJhM1_GjCjGcb?Om8|@6J)cR@c!Wv8&-?W>F>AjekKah## zzhWX@3nt=MVxl}xCd$9eL|$%82e`Emf8?fNZ`GdFf$XsJi z_l>E|!@e0`SKnw657B+I=Tx^wyl1^%PW#O-!aL7*b?H%T8*f|uw&%AMP24m8>s9v# zj@a2DvV(6(^*u}(AFzfg(^apSn12RSmY;W#iFl=$h(C^r^2#t#{z9hYWxUBmUg6x( z!f!NA@_Xp<$;rb<=z<{x%_11^(B}x{@`~erfZm(e*;sN z|K=bQ@mewwe-RVqEn}kmdQ9Y1lZm{RbEET+8H?ig^8RHy&bv6d1Mjz|ZT(}*|Kd@R zpRRivaGr<%qc6}q|3j`B;{MwS!!sWISd;(sg9SY3{?I^I&qci5h4T4wZd3CnCoC?i z&EC1WYw}#CjBgBP%Ji*&GBJODCYIMT5$_li@eeam-nUGYf0Bv3HZYM_3+r`= zb;z4c=v}SowROBr(Z{)_{!=c|-+1f3Y71+hN*r(0pmOPzv9%J%Jx1Of_Sb@XN#nVC zdKDaJNgQvub!ymxJ>Mmb4{H78@=J%4#)E=2-(>5RH12)!@$EIvN#hOU8V@^PH)&j% zo+W8qSw19bT#5f%(zsH7;&mbSQ1VMQuH@e_aelFWE{Wq}{m&V zJ>@ut%JeZw^V9OhpUQYD8ULy*@3<_#lgtb4OUkR46IZ|V+cvv(Gaj~o-0R9_Tz8aO zdvDd}C3w&3CnN8B6yrS#H1gwrzT(|`OsV|H!mlU4=BfTh(*-sGTpyqvZ7aa{hjD`F1j%jDN3yEH95NzlO}Kv&?G)56>MP zHQ6tUM^2n_tIOKGTyt|!KGV3GJY?hTW#P>XTzz}z%=uH=@;*{a{kG3`35qcMaJ(g z%Zrlbd&sh7y@#?pjqe{Asiw6zs@xTZwti7Uf-Si;VH-!1xq zhhF^i;8_nH54A+@Z2S9V9$ItL`R1xgT=T46lxc1@t~qiCq4SjAxYbf0X47mgT$1yb8#?+VOrT;_|P+b*|yN-oF*mH{rT39^RO!8_%Q4 zUaVQH;zl0%Q7#KV=EEbpNA=9TxhB`12>NYlTMO65PtSXPRX(ounlbpK>J`_Pn$@S# z!x3CtpiT`}b(9<*BBwtU^RIj(m+vRz)t2#_$nw_8^5@FDB4u8_+_-qci-wy0ynmJ1 z%d!u6$)n>NPuSi374LW9nPI}`D|z2-i_ZN1>^rWz{P8G@M+vTLHR97-Q~h|W(2CQ)%uu6Ma{1_VCfSc)$`S!pZ{nk$DhjSW##T9bSl&5QXG%DJ|b`7sUF<)<^Edr?;YaCrO!Uf(fA@agnzST)vKO7dSHdt ztu77b`U8tpEe3bu`gZ5%^a-BA`#sA)-P}UY`~A2xAaGkT-tX&&zdp!$LXMY{)4R+0 zW99NbGM+)k? zv6Gj1|9m^Hgmm7{O%o5?*fP_Ln`$*#vyf*PzZNq@lD;x0v{nj69 z`b`^diSE8Vf2qFQJbPp1Ma4XL%&o3t7TvzjV?rvNF1KYi@BegE&pa*mQe$Bsh( zQvU(h7VVv3;QhO=s{PUs%lmiOQ(E7Ct{hL0(|d~fUGK@|FUWYKW&GQ+yt=Y{t<1|! z=GBA`^wx~~Ea)DObL%nw)1&M7fDXG0`t7*GV-t$(E57?5Zuv2G&hk2ixW!}bc0;3r z+jS`0>%WwJ&(A->?eT3dHf)+&z}Hu3CayuDcK4G~sJ* zIkWU(1J8YOe506N<&~Vjmt6k3jHi|HE6MVv%JLV=yuOfmt>p=S_G_?hsv94)zwhET z-eY(|fk5rwZ;tSI@9AGR&TisyV=N1MZ0^ek{`qse(YqG%ftLO=&pDmr14~u98Z_|} zKH&5p-#<3x;RCiDsc+D#`GA%42k#A@D#tsC>Bie~{wTTpK^bp~jNeg~rwkAf^k3b_@74iY`K0X zkMD3~sQ(<~{~)+P{mCVG-1;x(&dAl0$BlDdw>2l9lmu8;Q)Sg2e;oIYO8UrR2(QpOu6G&K4hX-%|AR_@*#O z_W0$CUVO0U)H0{~{J;m-DL*7+)?qomO-^?c^9R3{%TJT>R5E@AS>ETOeA5M)S6i8v zFCS5RQLafLula~6;kl2m9?XaT@TTczryhK`X5EG_>P+OrvtN!0TDpJ_i*A0X$5Ssp z^v0XLyqs2)9cCkXUOGq z%Xr0Q{7JIBfwKH&GOwF5ufBX_nZu*!2MpmO2j4GMvvMpSv90IsQqJZ0h)y@_ew^nN zAO7_7@U9Dg;=@;t3JS<`lMjzvxu8{^Kt8;|mUAnM?&QNi`b7VS&jUW}MYl(PJXyzw z{W-D5$*haz_!v1I`Y7|Sk<0tacxPq&?XtXmvivMEuPB+9hL6e{e&LsdR(zDc(!l`> zj`5MpU%uYhJeZGcvBGWOl@LDScCCFSRG;w?^M_OpJimmG=(*icZsQ|9qQKeSX#*MOxQLrQ zR+ckDmb*^oF+=9nhnd`K#`f{TEa}T%GJN4TEHSYRWAHMw~+RA{6wx4>kmYbHB4r|#I{cwQ=R}|_m zhkEHRCFYxXMJ|^^#;GRbj+Et`kmXL6dF+yTtzxF=iXFP|`HS^kd*#uD=1o{w)h1iN zzI253E}Cbydyt8BJ6^g+t*W@sG$ilP$6fcbPHh^GzY>~*1)hu>KeotK7I5cQ(7ZN7 zSU|C5vrpB@C5OeNzoDFOu2@cUO~(0N#zp^}QjVuAcbm*3MCSF9nJTUHUzsPI>F*C6 z?rm~r5r1y!(r;>g7V6fwM(%`@tdH9_Cnj84$9h%?e>||u0oF}_$Wpc4B-Ulg?@RMU z6lFo<8}|IlwJ{6Ix__v;${{)YTKcn#`LsXC<@{xw?`7NxvYf-R+T>M6ioWcz2P4_mJ%)|QiIWwu$b59nz@S*4TKmNhOhZcXaIOjbUT65_3I=drT z$cPo!`wS0eeZDW!GT_Wg*1NZ{_Th1@Sg*~l*K1!v9?Gz}^yicFxyt2A$~e9AL zI2&c$7+KD9S?+9^M@N~L4>SA`aaZiYHI_8n()|7eFl6iGyhNFvqb00FC8GTAtZP9-NGn71CaZ!`v zOka9bxn7&Geh>4Uo42?oi^{Shu57MXEF!L2agU-QOxyk3Y}ciIS@@#iXJ>s`oQ1b| z*;CcrAcs?=KZl$zn_RB6jI%(-Ei21G|2dWGc|hhdNap3n3@47>+`VHtGj?vhB%pmL zGfZ{AUwqjU7M*3pQ1y^LtY7^xh4wA@lj%nO(&Jg#Yb>g4>ph1aZDNsy9%-Mnp3NdO z_e1kNSdsmj@CCi;C^Qa;73SfqtJC~c< zHDE?veSO#XC}z0Zt^Sq`j79I>w6{&}-b~+eK*z4vaxH&WxIIChvTQ znPJ!8P5#iIW`?YPZ~7wCn?(oB`*zZjl}!Ibp5=ufj$rzb8yzaOSitmk_C373VyGPU zk^U-jzDT*;DH$hP#$6`M36kaJmU*aTUPYL3%JH^~hje1byLCK&e2|5ivhB)Wx9|>T zJk|PmbC(6oXxP4g*^BPXaA%ym_qtNdpv(99%tDV?^z-7q^Gyn3(W~eGbM9DP7Cl1! zb&Jxs@LgU>Qk^|1?Q?JLhr`7d`gKEitb^xdd|bBi-$%$eLB)|Y0+iibNko{%5g z=Ogc)huSg2zTMGFk6n_(+tS}i%s2k7T&|&vQ&z^EF3YJR%Uvh($o5j^70ZnGw&z^- z$vtMO^6U1U`nt>%FzWl*k$IR&yZ3h9TIHB2V)hqBy_}h;Yhd1^7u}i3i_LgAx<50i z!fvg3U7DG4uMIl0{17ufFZSS7sr_;|PWpGs`F!Pa8X2dej9WmKBg-9eL*{|~L&@tT z;usb*AN&b3c^(>lJty*y>oe!Y-c8K3I%3|fa@m+^zxVU*=RKL}Cu8uQE7_T8PrCw< z1u=cys=PH`wPU9Ff4{n3ZV59@Hy63!v_%f*N&iYY-we6jSP|#)c^OwP%gHLsT_N+p zP|0f;baqeJ`DtHf@(T#B*ATjV8GWxt7R>+rsMCG7hpfN*fmfb5-}P@>W#4f3IM%=Q zrK-m!4P^a2Cv;j~pd0J|afKBTt;1RW3P1i_XY(#Oye0i#%lT%?<#y?!V+dE*GC3^x^G!vB(q`HnEL zoQ8=wQ<;c6iHUMHGEr_39JeWt3rytIhiebMx_+opeXd_UsB@``J-K#kK+%{BZMmk` zuJB`qt2}sEgYC8dDZ#sht?uzv_9{Fui+j#NUsvWWeTudiUwO^`B@aI)@~X~z6dhN#-CSQD zvEYaE{sDJ+_`)@he`(i=hiu+B<(BUh-t(8~WuLMfJm|@(B~{A$@_?beykb_xalbz! z6P9?~;*Br$U(wD#2d`M>$;P1D*O)TAbA$R>f{-5HxUxW3(H;5|88<#lbvn@v)S1kx>*Ry6tCWafC;?G&1iTOO4 zvfSZpOo=n{HWP76Gf_?`Q_9`(jEOvSOym{Do9%PD+z9<~-N#oQ`o^UY@7<PIvE^z-(pPZ{-s~2xkZpJU2Vmfk!Q-;T~F~z@c2NUxpFtOYhOvK5{L|oi|Rmz#lM7aZ)$b&H@FR#tqBPLt9 zx$PG4jw9C8{Y|}!cdNXpKzTgB)y<<`o0i&09yBdT+h<4s5B%rsiaZh3c-zjK{%LtQ znm60DxclXTQM_Tt1|JoSZotc}`R8owjo&b3xcMih_zm5em~RCW%MD^m9Bn)kaceM9 z&H|>C>wbobJicX0UTyt(?QK_AdTsxjx9;ofwEjkO-f`QG-;VxKfp^X|{-xWuTkyP; zn=$vcXx<@9RTuS(^Ssr@z#BJn>bP%~X$PwhJI?F(@6~sAo!Puh^Q}jn&&*}Y@O*ow z_+8dBWxnBKm{=}=DRG`_@f;P!ZO=qGLzq(Tm6}Y+9G8vysg)~nT1>S;vMR?8d#fM=k3GFbk1GNz}p;-ig+}8DsS=gXR{mK?Z|yvKYdU= z+?~7kaJp;$-HDf+HgVNCgELcxMm!%${!?9nTVT(iE=!dQf`Z1 zn36}nb4{w8c3;$_KKC`Bnh(7{*iyetgKy{@;WEtiu)GW#64Q6&b!y%$eZ+Dwx?^rO5UWc{^4#` zls9soJz(p!yWD+LiH@`W&dIBL8FNhIxjOB`)UuW|nXP@ha;ia3tc*Dz9+Hw3# zzdgK8;qg=3v5UN3-K;SMT;h0rbJlx(AH3x5`(38=$(5Ve`N3uC`GMznWvBXX&HRq= zJVi#GEBj^~Q-=RkVT!-wGp5WJyO=4u|v+nFnQ z?QY5nooqFA{ygLzTKs3P0>gLz`Ez8>J;$7Qxg&3WTKVz~ukqOro$9?F!E3)MnfI4% z{dsMVUVQ@(KI7Hvx?dZA)RmWS^yHcLU`d|sVcq71N;YL;Sb{13v*VaD-*3H`vfTHJ zm=fnJ4<_QSVoEvxIQuB&{)+9WO_SD*CU4|b>V*1F*gJ<;jBI=L*0CsFqQlvH{oMz0 zrykP|Ue0-mDZ`QxO!50=W6FF-LYT7Lu02eNGqEaD;@-aGL*q4O?}pVuL(_pN@56mB0FS!-FCZSj7>i z5BSb3#EO>RbZN2IaGyJ^I=CEv;l#5xTsrF8>CU`Rg7(tU8kczCY}bRU;yK7%M~XIC zJnG2qzjC))_;JULKFV-v6jS^wE;41l1#wJSuIMzT#2N3pTZ#M7nJeXZ59dm`vsGNl zBfpU=dHp~3&ODx~@B9B$(wrt#LW)L0hDO_wxk+Rem&}=`%&uF8WV}i#N+l}IrBql* zqb3b1O;RZuXi$;(?ao=B-hci6{QlQp>#^5f>-BoxeTJ*f?NVW$U1=<1Ifr>->pU(Ps#ozrZJK-2on9`}j>de{}pMMS;}~tpe7kBpz7b zj^n^`G-LwDRYfFj{Cb~hTSX>krykntn@JQ_s=shpl0_zNF`DgKDoREu1V1(OjnnCv zzA9e*NMB{Eq|3dK!J?Hv-YX`Fw~1DMI~pp#$2-3AMXT=Glg@EEf8wb;qQmC%3v}4J zYm;^U^aZ^Ztz>mV`M~O?@`3d!t^(GVp?~MH91_5CS@FoAG2eP#rSQqb>W9itHWU!q z(W@o~+Q$(o;m6u#%bUosf;BwR(R`gBU6*j64!K1WyQPo3=te&wIOfa4;StWIMUu)1U8f%P%t0qbkk z2P{W&Jg{7m@jAaUMoF&L7a=98g0uI-bxsz|?!=Z+b;ROxhv z4*0P+hOhG~aK;n29U?lH({8NZeEV0W`~79+t$n7I*{z#osxSQ3`4ewlb=UcmFB5rL z`KK<`tgn*oE8thMI%Ru+)ivq^*2jomXMcRftAOPQ;Z?F+S|X5aY{lqqhyZ@!5RV_7 z*C9^*PVx;!24e1s>lU;gvf!d$-E|7ukFs*6Cp18`QbX=~_#n&nNWNM~<7w6%R>sgX)TQSAn20qNMai z74XAerMGOMpPN~&dSO0dCBzy(-EY->1Y&l7O$~NvgP55@i^Tqx5dEY-Y0OBcp9^+% zEz1jl=*-$ye=8M?%9szux-Hmej5?oD_cr=iqVFK&xP)9cAtBTF^l`o6u;E-+uI}&e z5HCnjlm8MAeBQmphp1gV@kA5y%mJus*65>SVK0_G&yfUpXwAi3O#2PAn zFc=*Ku~X9K7M;?-NH8DF)#-o5zADr?fx52fbM~(<$6 zx*#~R{m$yoOCUZ^p}cv>h#R>x zSfZ;DV&7f19TmC;<0{Mp)~&%l1=Pty-FxV>9er0J$4cZH4uWs)H-;#b!G^@s3L`dk zfZ&auzK{2K5QsJE{ytIx@h0b^)sEi>e#O(%kDeC;-!?~LzpM%H$NH)Vj=cbJ^-n_& zO`ivG#rIFI&@{xj81u?lcNF_{P-h?NUPqrY^qqtpUy$n@2r}o7m3VCh8%#2Gg|2!D zg6`|nGk?T`VCBi+++7DCzBtgw|5OIV%WarcZ&45YbG-*&glPajXlJqD;2hu^80w9C zvl{qw3@5Z!WniSA1G9NOtdqe$S=70Rx>4w}1AXcF$8x+!E{@$I6SfKq#cMF$#C$T=xno~H)R~LAV(3$Wz9W&N5V`1jP1hJR;_WaHybT%E=i3B= z&K2XD2PT7Hcg=i#AWx03 zz;DoaAC?RlZ)1Kv*3H4bW1P>*=?bpXP@+H&!PX{Az1yPdno;$LHyVA`IC;VfcV`VmdPSBA)Y5W^y;z>h}W!) z43&BW@$%IPX)i-C#$&z?>&~%#Nqs%2BZ<1B|MOve=OBjyat#H+NH3plD=6pD3Z+(! z91uL)f2wVQ8VJgN27OQ}2SG^nhow6nfndt`HKvW`5dYX(f8WJc>X&?HP{?YC4;S9E z@21>tY+*M-%QMO}IvS)WMGcYGUi@Q|w*1ml#S4t|_M z*ZJ-}zF-mv?tW+p47LVAO6^~Zq0dze34s@f>GKv354ihh zMMM1Q7n@Hv)9YxTb?T^CdY=A?FGKnwkAFmU&IEymzm7mA z8w7)=9~-xO48*@5qaKj-8RDN@H+DTSgp0>NVg3qNx2qTX=sK`EbRAgTJ?L|d^S$&M zIq3P%a;bnoE3xy4@nR6<43KeoI0gi@x9atO)Pms3@T4F;MG%ziXl&Q30fAu8lU4;f zwh?@}HTE#|d*h$+ZXkUwE<`1na-L34hb`(*Evmf6;y*FglTy_=RMjcz! zrSq(hEBXc^hbG4rKsnv7ELpgWa_!otQa+eoPu2IkjMmWi;kwb^R-OF}f~s8?W46-! zWyz6{b4$*HV9S74$926y5c~N~tGGM}{I_jd7C?`i$JQNRmoCL-_dh{!t2JS0nJzsq zc8LGb?*>7|<%`|}8|nMxFYhPzr|EgDKe_NC<=UdN?((p;AV~L^3#41?NP&= z==J;H!|4y(=<&NVD{`pi0(!p4*qPC)7TsYPi#`-jp=#OkmxtJiT2$)e^2D5EEjLQ#ynkL zw(fs@>Zl_?U3#2ZA9_Bsz6r=d>sctxio!$6VQ@NWhFt-!w(__qT8R^Zq&pI+1IP z@_wpSnNSZK&N2q*e@{0L)ge=Ao{S9#6YXh#Lk z-ekg95B&DSZ(ciNr6!tg)N96A?p8axxNR3>x#X6WYWr`-QtI4OM};34DF>VH#kxJ% zXMj4Ci`8{QpLgi%^_PR?TF{SKyK#85rAj8_+&(;0aeoivctPcXtYiaYpA9?n&ek!u zd$t`)h@QvT7_HbTZ?K24w%YElaN#&(b#lVw54W!}R!e1G$ja ztgFDj64c2+-9>+WIN$3WN74Vd@);Me8!y5_LmB4}uj`jjY+-n#2ODZsUT4+}r(bE$ zy};OYHneTuxsb7q*B_rb_cvn`nUrk$tAnw=Tp^~s(u%RRd>z&_=OJS)=jl=Jv=XBY z<{x040rq`HosX!ik3Oa7TZJ4w$d$x6mpnQ%(3^5Y&gXk?&NIBos^8`L-i+gt1He@|J$}jc07P>7};yFJNpQITS7#y@9deNjq%5w1BZuY-v<0yN0m> z^9oo;k0aZcgE}6lI}Lqqqpv@5Tt%)MjPtA!J7Cr=#(C4spA(+#VR)w-S2jzJVw}_z ze~C|dz^oz1^)1F2F!oi4e!;YG#;!Qp>1gF(#x8=QLZHDlL2R^gD|6UJ`s{hHO60vJ0b zgK(+ki!rKV-W=;rVP7fg#G~$Q^btYdFUWBax%M->e20rOzYJ!aXSZodO%Z2!&3)I7 z7k4u}jl@}=W%PP~?|u1B-4kX_-qN^Jv)3^W*-sh++ua!Zdj%2q+aECY*3+&^pK@XB zC&)gLe(HfS8uJ!dw;TIrqK*ve9zh=o^zGv~6n_8Z;zg&t2%9#ZaUOR2XLMLT!)vp4 zn)j-Y;kgUVW3pTrr_>T(-UoV~IImfIxy7GZv+ncMzWzRpL#dx?p*)R?EAAeV8_PKK zJDieoAp_$v%u8Y2MC_Y^I*Od``%d)nL|=NJV>$Q?%cb;<;rW!jePBWuUT62_uPV_D z@8b`f_j3j^ywu8t`$Hx$yupM0z86eloQ5w~U2%CU<2Yw+)NH{RW=&$;+5Q_(GixLl zRW9+u$YUF{wrhEWdl@>pla^~G19jw(Lx=D-;( zFJ?{Cpf;6fTFjcm`}TTYK7esM=IQy%)+u7238xeL0(A>HpMoCFxB4z}7$R3P!wVSM z-=c*c{}&fW9KB2LLtm#pI&b@l;nmb$KA`ZJ;rUCvS6)y|?@!xu4_{f%I7OdSntkIZ zw2z<76BnWj%`?H+l67U3vnHrkHo<>OQt}ea%#t)uHDXt2+yQ zq|x^|$I(pBOO|Uq!^^bVsY;Izuj$#+hW#20ug6g-X2e>C*P68YfG&L<=gRI*7Nh#H zTd(Yzt<3NY=C>cRrg2=k+|<`c7^ipd28>Gi$v9nZ96spY3yk|PzX9vgu}>X!^ilU6 z`Yc6X1LPQvT>Tkd(Qc_j&UE+NaOy_1$#iWc@N4HJ@pn9?S54h>j25 zwTK>vJ)x?j$1uDzISyq(^gfhZBdz*o0mIwaFjTPImf=Obd+Vf=jWG-Jc33wA`wCEp zUU#gn4Ciy|6Z#HCj>E`BIUj^&JyfRWLC?FBzR&32G19u5QnmCMXW6a7?8%yp^VsAU z6C9^9&Z3%mOWf#vsO_Og$8LH(HO#kppEedsIiyiNU8}P1&5W}|cH|uOV#Zl4P505*n+&fn^f_OiUT1l zs1t^|-_Ykh`c6O&`aa8Yxl!KmHQ(3GVVot6{T|d?GR_*gHk}JZ8E4b)N{_eipznv9 zo(>7V&p6wNzEW>cVVuolPmcA`W}Hnr64&f%Wt^Gr&i$^F8Rx~z3ig(JVqA!M`o8(6 zZnqNlNuv&3FIJbXAM3M$^PNxEhvis^TvT^Jjlrkc-i-4ke}=hY!8jXeRHcN|_dBnN z^+`uu7-zm=UzqPI`u9!C5F_zzG%hQZ7`TUV-e6jDRC@~J9361~n-cxIH+-^1|HdsC zPh&nC>y}_&BI-~cRyP8Ds6XpV&m)$@9l6%){(t^~1E!WkWF$Hr!1lpefy{xQ|0@Ii zLDzZKEc)#8cRWngE@9Ta%kicT0^>(gVpIi#%B)5 zl}elg8S|od#>pAwwyRc-de=LWu;YYu`g}c|AL&ildbLQx_B+K9PHzz5^oJ78uaR*6 zeT3tBPB<>Qe^j#WrB{0Tuugf){JhRqx-ZqCECn-Tu$k>NbjUD2u$Y|n@y*=zuwuX$ z$v#CTF#I|wRZJrsboZ;Z9*pP&&Euno4sPfLMYq6MD0yD)ym``_Zb`ad^`G&<`-Gd9 zBwT$u;ritWt2gyM;q-k7=jTDtpKx5JgyZT4ub%Jo%D0O_fS$>q6b%h8YbVkD#?pT4dn$law(%L!z&fyb^IleU|8uaAdVK$j?k!ka z9kr`R+6eR}7X0W5+6rnfr+ImePb~Ma+$Nr0tw`9h^jN~q2euKmUaE|6{h5T*J4rbG zlZ5l5-zR4MsA%1X`?^K8Nlf6B3nk_(NwC_-yjI+p4?^Jk$&VcDQc=mxIq- zYh_DdO{QPpK*v_Fy3jt)AVCAn(%Roz=N$)w0;Te)U$=qgnr{~04$GH&^>jJ#x1AyE z_)s!o=f5-(uHK2T{Tn|KPVY3~^mh=>FO_iqdkM!?ML4c^5Io{j(^H2c2vc#^{~CW0 z{6F~T?A#v--o}rfJUCwiZma8iuiO^`@7I&*F}t>aou*;mf)~TULf*~0_2z3Z5exUf z^y~x7tN5+_Sp7`7uhg}Dk^3hQcC1FP6LwySaP^sl?SEcHIK2?U=|>aJuZ(_w^N)Wx z;kb$k$8{A#vV=L$6tBbj67QA`bDu+C@ZQ9|xjVpjWOlFVpa$@`qU_7Ncpugd&eM)i zxeIHeulJaUd4r|!hiH!cCs?N6*>$Il5@ zpF_C*iG3#^uqb8J~P4jv`_Aqfi7S- z?BIdM314B=WRa22*AE8W-%?7B$y3Yy``Ln>+(E*QlS~OaA67)Tdip&?wto&`_14k- z3RwNQg!9WIoWBO)xV{jMOBcdr#?{O(83<8xbDwEnw1bfE-zI)v>H>i;M?OwCS_QsO zT=tr3q=Kh$n%2sBpJ464)AVWZjo>hPe%MLt05FeL-O}6?3VIG3J~m%0EMIpi`Pz;P zHH014+$P+-1mWsM2-m-qaC%jQ(+?z^Un$}IZ3xSCsEcr1rVueK^Tpknqaj*pcT{BH zX$XCzpt;`B2ZAnt`XakA6Z{iw?=F_Q4qjDWev|flgDW{8a=Jg=*ZSK!#rsdZz~a)h z=d*0HVM$S1!?AOv<(@84%T3o?5q4bmgK+b*gspGvAY8u&;q(aM^bZlvk54#%7s7E3 zARHInuj{Qh*-}LyMoc2NQ}Z;0Rp>d?p5oK}(w;p{Ql0<-2}|wxi$24;2`08FDht5P z`9SLFb#!0r(x&Gbv3FqgkA+se@Xw(CbXk&v^Xl@o;sr1!s-Cc8UN+(8*AuSZjBx#Q z|7=!o7~%Av6V6YZaQ*>=V%59DMJ@FCadXLq?@D3)hA)f4?i_;<>y~rN zZ=^!tywhRD53<3>uJA<4>n3pb&o2y83IpDeVYW_peu0(bs$KeLM}tA1>z1I#obt8K zsVn@$LJ2#5{DH9ZXLb;-zLIeLI)u|ZN;v&k!ubUg&VL8txb6^+D<7i#azEYJX9lrb z18$E$nFryExN-G4A~v0K6%5%BP-{l3*;2RH|1Y^Wai z8my-tJF9!i4va=UxH7h+xZI^|^!QxK*Mu97Anbf?2jS`u5U$^auzD(238$YyIKODZ z`BxK;Yd+z)_z*qCSgBaw4&qiSi~6X|hwzVGs^)Q35PG_5>B8e>5EOfScY~4{`0eRF zKi)`T$Bsuo{I|so2k`@N>y~gcwEhCt+c!4c7DsBDDUeg+*pIK^UBW& zSHFmG{WXNuv;IjqeO1EwHZVTb`+z6+Cf^dG} zg!6A89G5)dxC$XwZJhah>GNkuMj_6W}R-H0HO*{9Fv7c z2wx!)IKa>yLYfO2oqC%f(Cgsq?*>V9ztQYF{h$L}A9|fpiZKRz`h0%yt4df}I;CQ5 zabUTN55x3qe@D3SAi~YleQMZxJ;L=j5>C&DaQc;m^V1@n|1QFDT_7Bn`~UtO^1ld6 zcdt3n9DN^bXIxn9Tu}5kZ&IfjqnX3|J2qaL9Z{^j?C;oUN8jNnm81WS6~y~>%uV?_ zHoTKpwQi@|f8%ZIJ|rxB_}@5C|Li4s=D)GMwq|Pj{Qt%ly_x=tQ~w*Y^Lqb{*?#l? z#;pFQ|HiC8@9)@%<@;}6YL5T$-+Au!dHx-9uRs3pm|Lg+^ttt_1jndXgS6)5f&0@m zp{VQzu!~CBWN{`2YYH^E$4p?;i{SXKe@Lhf51_9F6mDu%7ouS40+fw z_(M0{U-;=p_23iWQB-4^(%}Fe{_=^V5-q`FrS6ysTPA~t{^R$NPLeoQ$9Zq8561p# zPVb`%r=K|h{p8WV7rDkG*F^}CcCw0S)rR$Xxg~kqU(|@75t^oy~ru30ly&Inr*u_fp4Gp6%G15Hs4eJ+Bs@!;G6VuyUkH4y1#EFZ^1Vu z9M8o0rC8sF{d-aGH|j^DUl{tQA=e7z>V@#3FORAUdm&2iM*sAzp%D6bSd5*4H-rSg zY)u)r9fH#pQXEfYX~c8ujVly{zA1^iSrvvZax0Iz+YJ*d(|448%5QNcNiL zLB!ej8|$tNf$+JLmk#i&hxId{dCsB*5EdA*VssG?LfZx5x6j>z&@Ed%CS0q4P@5SQ zsw=6!rXcXbbu|c`sqreqz!JxcaK0MrA7KA$)JsHtYxHYFf4Z+I%hiBfWe|7P&F#?3 zjSxTQp^sF`UWmyui#}|i15rQAZN(CdAoA`c`{4JtAfi{b=FH&z5aCvPT-!~k$|9epbT@t3T`_a%EnyzENp zM=@7{zsqdNW_9|#HJ#{lQEg`+?u$*Ec(oAXwruPDvQHG^9PP^9`q@L=vfS5p-<5D2 zhV!yme;oV&r$_hsWc8n;A0Pe4AlF9ZQi6mK?Q*I6Qy?)y>V?djde|5{@W`A2`(eYu zcb*&PiPPuGp9Ci;(dY0(N=|9%=7M0@J${H~3dC16lx;1(1Mz9&-Axi!LA?KnnpaN; z((e&z?oiM+!m%XIJ7PV3E}!ksL%oxzpN@Vq=wF6h>d5sJl9s0~@=DTzWV+)^rCcr~ z^17yK!Y4>bm-dgXmw=5=+fIBNI~q2wSn&C3!YA19qM&3$+G*I3R=-6meWGarkalQlV7i0e=PA_o?>Z_oiBIjQvf?WE@wFfpSrH76> zx*bvm!7i!Odm&lx)K7oiZb%Ajc;mfz2qaeY9Ie}#3W+m~^;63CLBg4-S#=uGkl^I$ z^yy~>lnPqJr6cN*mG~;wULlA<%_y#0tim1#tIs}Q|$E}Mmb%(@ym9?L1=2>&zM2p=&oevF`$-&91S5M(Jk4R# z+xN_-)#9+pXK>7I5mneUV#3OE-NzyM#tHA%A1;twG~eIQCKHl#Q{3O!)9+ui<6N9~ z!}=QRUxs?KQ9l6vEz-H5eS6dIMKuVjX%&Rj$A*ERC_NHnPNQtxV?ETmeQi909 z5kCbu9)j~U|EK=!0PHtIy;x5F*+BIBg#PD|OCGtzA=6})p7oW(ka;lfO3nH8ka2m* z^-tUTAiZ~kmTcryNHNOw3F0)&Zy0L0r|EelT zb(rH`vfvJ+uDCk3-P`@YF*{#_^^dsz_d`*Shx&8SPlxl*9fe%S|8ix`%LqL9eKcfk z)6!QPa~(48bt`wuTR~<(@6x8C0?3q<7PKYJf{gT6jZ=RnL&k_%n@n5MA-!Z?TG?G4 zNO#+pG4fp+q%R72d8d-TE|mt+{c`tltbp@bSZ{>=M^SGd>MuY)%EkKgfa8)xuB#xN zo_HZ{oFoVnwbGJ5j)1I7^7;3o)FErF$iS>h3CJ3hyV`5j5y(70_Im4vlaLvaleXUW zDr6cxsQB?o(-!f_AI8)AJ2_CG?sO4Kh$KY8?D zgj_Ozxw56-Je-vt3E5#%v5pxPAUqS5czcXI2rWZ;hvf``tY437P6c~H){*jSP5G-K z%h&AYHl3l6wa~Bew(4cblAgN%ZBQ>{^`CjHto0~l_GlINn=$wA`0qShe+~O(QEv_E zhoj#F^q&bF7yo};#J{9hK|T09SsA07E$eZc82C;5c&)dE=rSdO8)Pq806WG>6=x9b z@kaZ8`KJ(#y}OQFsv1Vr`>dbl)D9qOJ*f+}nnVya{-f-LYZqX`b~fa`-2)cM8f z9ypFZ7tr?;a=bvUdxWne6FqZ54_W6jV&QxkM|iw8dE+8+V)I_|*s~As$!d$a$~+S0TvD58@sh0TlleCKb~|wsnXD^4 zpp!Vuxz^vW8$;H(23)!_U7OfxcYQA zLon}*brIOtg*xX^*NyWL8^QVB8H60Y$VLC3CVZCMxHm&dBz)=mv^9kUYY-x1d5-w1 z)R^=}Eg>EsujQVu^Chl1V^+ssmmn_A8L}_dekQ#3F;5ohpC!CuUw0Y=-6KwVpMzTB z-f)pGh52r*d%*R%&OjY^)IErUZ;N%?xjqwhPG^!Sr)xQ$^Jx=DUtQ$zL9UY|&b=sAX_7ICtxZu3 zn4wIfLhX%Dm3xu(r?(m|2wp@&gh}_GJQE{9iw-^ClTb?nvU6qA%cP0l>swZp15$`@ zOr}_E<1XS;ANE=P5ZxD>jdY(^Hh&ZAZegD$>U=_7W%P+bUm|P==%^kge=!d zk#QvU+q7HpMej-60&`jOTL~ma=uofl;0cKuF{JF&^BNMKIP%_&+C%iZ3R&Hhww{Ds z2oYHDD@kyMipqH{`nl2_am_aoUr12!szVPhdtltak}?uY{dKrtl+b+4k&7xevv z99D$o^8Zd^->fZ5+_Zqid5u1}ao{%+TUzl{GJ4oV0|jm)ku)=H*Tj=J)HR@pBOpCN1*ez^!W-pJRR^)+J(}G3peeZUyHf zHyC{tkfRN`hLhMI&$7si>m)9=K3nop2#FgIn%8a?O=21p8k(z1NwmFRvfk(}64@eH zH$3q-i74LgW4qssgrAn1`%rrT2_L;ANudT7W&La-*w1AuM?Kbn#Aeo79ZVWPU1@U*G=-fN#|8ZiJU%8Vt+n-$lFjzVn>y9 zk2!pw#EhR(a9>ZJL~Cm&EZ$f`qBe+MyzldcM2YX=`+TSV*H)ZxP8h|-jqfnO0_$F4 zUmfb$qV6a3q3gu@UP6u<u{i1gCoQWjn+rdno7q%p3-w0na{PpEH<|5Zw5_kJlU})nt!XNjd=*f~zgg+-x*1*}9@Mjj6PxWr1 zeSJz9R=FhZ@{h_3(e5P9d*Hgu#>FIVT>A_u(R>p7aL%Zwj)cUPKDxG2Mlf|N9bFJ9P~V7xfBS0)QpanREGXNcq;qb+(yC=dlWi+IIY`1^vJ>q$%J3= zaY$+rJ^od9lOpOb6aJ~+YaWIs5`Mv4v6hQ#2|w*>(G)KM;S0Vb@aTTmTpWgZ+RxTG zVjtyWb#|ie0rZJRUwWKbj)%ylOZcOc1uo4)312T-OX~a@!q1<$Q2cZ};dhLF{_Tt# ziC5H1OYM0_;uqu?wK&cr@!DOD>d#_G{PagtEbWGoc8vR*3er=|6N$DScjG^^5h7hC^V$h~~BR z0$8_$KJBBs8r;Gs@qRp^zt=pnHmZ4hIasZD=rHMx7nmCLwEf)q9n>5uY!BQOC2YL8 zkFfdNF2dHm&L>=-FJW~WYY3;SO*o$f`kVmkOE`{l!f_Qq=*yQ@i!0(Fy6$_7ao&0e zt$&hc+f1Kp3f;ZGudo)@9bEJ_f3gv{B|O{~1s8!Qla#R~KLD)Onm^N6^#Dv=&dJJ+ z^9413lO@T^ClEFow-Yu$W*gz^=)W)6zU73|8A~`_6T=ziJ4$);rwe{0s2zJU^q}@hrGWu8TSm8x2lJiza|sBv_5K z9-iGa5=;jj7+zjl0BTw}+fQFTLfBY)l(6|zHwart??YUlBVl!74iZkcns7cHg!4T@ z|L*$3F^X_pQsC%2X~=DYWuAQlZAqL6OGq{>Zva#scPkfjmp`C%^P+QwobH+aD5hp z(-}`V-9W>!-)Lc(#x5{_#Mn7_Q9KDCSfe*NKN{8?45;2X4d@g?T>kB2U&d+qh>B7n_Xh9%^!HV-OGYfp zwS!e-wi@Z@&ISFADWB)*s=_P>?}4WpM-evO*+tmAjz3}Rwm&3X-x|W|?AuQ`U0=fa z+$5ZD1mQSF6P9Z`A5;%*Sbpr_aWKnD*t$L}5$wFauYOiI798!K9pd{Or@vD^X_~(2 zU9f%2M5HLv->GjB`JI?a_cP~>salyT3wmzB(z`#!!Sn(}DXGm_gpK?X!sb7GCv4qj zBf|9!B&^QVDfIWssqRuW!udQUtnWTw!f`kej!OdM#~9n4>!*kv$v_3>VPQ4(~g+z49PU=E6> z9e-sN{UU7KQBBzVgI$EJt1%*6Um;<29y$?L*GQFcJ{pAeZF)plj*3Tw<@zLF`FpvI ze3q^VXooM@S+CdxCL{0q=(Q(D&{mwP{M)ZT$i<7h+?juruyOn%!sU+;u1SpCGKSgM1~+v5M|<{)elMPvp;f zs+%6*69v!You39)Rd(kDHfu@rf$|t$ZQf@Qm^Vqib4P(HEQ&k*Fh4U17FO53nC2z| zT6a1;6Ss$hGJW#o(gX&^<}VqSHg-Ds6H_}+5jHO`L)f~l4utLFO((2QQU_sm_lOYA zr%8wP9ZUB${=+du6j-i8x?k{p`DDgGlqetjd_C9$i0q9Ahdc*V!C}kXuhOXcF0iv|b^s_H9X`LR1#KR`-i2VSUc^!5?3b-*i9kKOAlVESDaA?mw>aXwoHJq8=|Al(9md z%&ydXGuVSi#%&EdJ!T6ZhV?8_>O3fbDP7x+OTIFL8E&)9^H-dJX%{^M>BgiWzh%ag zx{Yr^{BT@^w*PLz#+43)&2K(T*t+zqgzeKEMOdAC(+R6v6%U*bJ+J=wI`09N!}KMv zT(!DHvF70X#WK}I!|8T|ga2`&p5JTn?Uyc5I{R&mPGS`qG_07#Q zdDnD{{JFXyH@MDTBc%W&zgiXN?NkMk%ahFJNAn09U6cu%F9|1XUBDf}_6_F~R_DrI zV0C@^fb)?D*7xU2U^&+DfaRLtOr~b(J?WGcAsSgR%NI28iN^M3lId}WC?AerB6pof z_XCf!{u*4Z^WlhZQlo|l3?AGtXso#?j2m-QSz)Mv4IIQ&$D7ubV2c9C!J^a*fv|lUsiN8ZlLu z%$?>oWyfz-qOn>l`$RX7%sI#lxN^stC^YN~TRMnOhA(+J`I$Dq^42CPzT-Sm5E;Kz zP&JER*>|hucd>a~Woxuka=?-}9X6`3(_!-_a)hmuZPNMEXYKSGSe@|#V0DKU0P9mP z2dwW8GhjKo&4A^a#3M4(zi3Cc^NFg0cIb)~xU^Sr^gI<Q* zq79~7E5+$tdG=t)(sctW|3uTrf=V_&7Ao1gg#c{dYd)|#>m-2Hm8ScB|MBVM0qYwm z4=jhc2(VmBL}0sp^U^7G>mc*Q@?UQgMId9v;vFX4%OR~};*SRrF_5M;Re9eeH%L8O zWH;W~3R0cLd?XVSAyv`O{b)ocZ0@@mVljLKZ2lO(v%+Z&MkmZq#JXba%S4?B)TN(S zvOdM=>yI3xkV^pD3>Ia^#nR7jTCL(n9Ha9I8oK%)9U&v+#<|7c>>=IDx>AHbHt z{`>en^z*>QGxDxB1w-1C_r8N3mO}!(tv)BYcb`j!+uEjQ~Wy8&=1m=z6dgmGQ#MH`An?)U!Mo+d_>(S z^x1;G=aHiWxfsaaTA(;X%Ry%AD*f?O+#%CN ztIN;I6fy_QnQ^zr7BZ5(zJ`>QL&m(YPJ9|72U!lQ19#GWXEWt38G6q00s?-zNt`=Y5qaI{hK*d`Q0+lhPq; zu6gaCUy~s7mUE?*#B9h+axVStR|J`M#sioPNyyY+dvxwZC5(!gpNMtz^I^7+pw1lB z%|oBD=&Obt-;wJQ2yIUcvC^9Y*^?u)hiCOc_Hh1)Q(ucfDEw%y;y)II15TUQ&XIwv zqyUwP{IQUwxazdgGJ3q9XP$a5HJ08FhE9|A-UyjHZr`{)A_rqJ=JT;`3igGe&Scb8 zM<2??`d;8Tgc8W53_|s3<;IK@UEif;_@Cjc4F*`uTtD7ynu#9}s%(-ISb5KYt%2 zKf7l&K-THAJ02|#hpf<%rN-Cj@i)D_)~|6mWNAJTvlG&JHr~TLT{pIl&a-{#sB;^2 zjnO9oeWxMEG2}V|Lh0QJHPZb-SiWM=!TpCo_{nV1>wbnHyq$Zn=G;0ECMSM9BWwYo zcGM`fH6@VsNlfEp*AnVyWzpKA0$FL^{g?}M9P!2Ir<(>weazGQ09!X1`{tt#U7tU? z*~8E$8hv$te3&K~2!v^lB>-b=i{m4BgAS{p$6ziqO zW6dpzX~COm{W}}OH}pA&57VB0-&O}%*X*7JO-LFbP}!b|Abd1>@vUmQ{wMO% zMb6Omi*A^tWzm>0u3dcR`( z7N8D&{jBb<|9n{AsmMWj{%{@X0U@5@4ChachhBS1Jue%L`RdY&t&>Zv+QbCE}N*nA+? z(a84E^N!VVN8LK~p?$1xGje=JF8X?`O2(~Qc^!mB7gt3kI@0rV;NjaJhR}7Cp3*E) z2EuE*l9b<3&XPc3<0HK9rO7l|c@BY@$K37D7sEX6M9ed(fZ7~pY8dPAdJ`9ey+g`gb{KT-t_^ z@})ZOtm$<&#Zvw23=qP&km36GKzLm0>CHZR910)PhZk>wa948-RBpgX>)Ct}*0o{Z z9n_IRU3y-zKJ<9AzAHG6xAgpAx$c8-PkL#>a=PwSO-JP=dGvg!uaI`5$K_3stm89! z9=7=8ZJ9{#*G;~n%Z#>w@S#LcQJ^OXZ~BexUZD!YOE)I`wB8TG>OJDd6Y29)Y`lQ^ zU0Ame`{+8dI`q6{bqhJ4=c1gi`&i`gMlK}~mX<*E$p#SC&0zY~(EG@Xtb;q&({=nf zKH~X3dR~8ZeQY<^^-mP!E_DE5yH$hJTnYMjWZ9^TQ+h!7`gn)rIeH$wyf*!+g*-+& z&*o*Zt_Az3KdWPix>S$#iQ;_2=(@2SPdTnrl%s|pGfuh^g!TF=nMbtf>yoW4a2f%^ zu5n!_sz=cGow53!A^+mP75KLT|5o7N3jAAve=G2B z1^%tTzZLkm0{>Rv|9S&D`&%(> z6CYsQUY=Pb-n@x%o4H+l)`yjh>k&hZ5~Uu-)$!s%%~9@*>%8Xnknx8x9>cs3S2s=k zZy%?VgSzk0=M(xyB8Lrf?P5YL{Y~Qdrh${lqZx1Mkj?sWlNnF* z7PA)N6vjj0ppN(5I>vq3uOa6a&tTjxxY*^$USQmKQ?O4hVYxE)LI}JJBBiB_XSeT+vHQbU3?3MoU@X2?^?_qsQQt>xt-SIJtz8sy& zcva3jsjF(oc)G5d+pMC_cm#j_c3mTzalc)5_M+%x#@(}}=afhohz)Rb@bVezSoc=0J*H0fTBhPHUHyG;QXR(KV*!V zfX~$*9;@wO0`z%Z*T?K-{D*1g-mDWcz7;uk^P;U8pHc^MIbtBQu2Y?F)z`qR3okd4 z@4mvUTX?d6%Dh^P&oSSQbziY>3hH>HZUy=P`W`}#|8dcEO31ps&oQ3~9B(`*KQV&| z=o$_^PuiG(u#G=-X3u2&kDMDnPoakK6FfQ4r_jy#rX{rx8$FKkY3O>tIQBH-sO@BIvUeeSaWFI&#r<4K??_t^0rp?8hYB zANGL>=qX%s*YG0~kasTh{fbT|V0?~>y;vLLuX1jNQB5V|XI3+zYwQQcxA=JXuGR63 zueP45$e5{&PoLw}oXN5n8O)nvT`Jc%ZUpKypl%Q6vvMT*b|J@4M&G<{o zreD@N#`v9I7!`D)jq%(3TKeMwIgC>={|M{0VxJM}(DR(t)kUAP=j zw1k+c-evsVUh%J<-NN`UUNfvf2pA7yo~{>LSA%_BsAGe=^nS+rB%<$X;oS{B+o-bzb?LgWK9kY+ zGjhB{F8Y3U)bf_%lz1lKTfYXCjr91A9(H)%&no8swRfiBRJ~u^N0X9B0}Vn{(m<1t zy6t32$&jK{rlbhRe2{spB=dAC(X4sWfF(^NLlK&(jHNVclIL#k_1ASh*Yoyy_j|Rj zd);e&zn{I&K07(~I=rDLzfV=rVm#Vz-_uDLMz6;MHEr*TslNW)k$ieRI5nRZ618MJ zjFZ)@X43PqI55>MQ4OOy=IQIn)~&+66R1;;y0Yk_kG_G=hw_eX(%XmaSdtSHC8YAUl^UJWV?q46PGYNI)qE8k2b|Z%*a?PUm=|zt`Z>^!n zQMt*=vWVeLDQh~QcAMeNh`cgA=_A9FKltudHhtd@4>}8W_Zg3`n@4Z*Phvcp<~fQV zrv5dnoGo{pWIXOZc?_jB80mRp^YlEkbxW{s59(Y;UHWqg>qGTfU&_gHTtO~VdOlCs zdN{6Ncw-BtN`4<^cyou^zZ`p&;Vs!%R9IO-o7cnuG4pS{bqQ&(o-IO9EWiP=09N_{dt7#^X7E6(bt95orpe-=qrpI zV~{JB;Ym)nULZ7;9^Zs@%}?pS!z;DIZa+0)c<#L&Ck?|GUbONc-BpPUZ%^-6vD!Zj zFTQSa?(SxW7vuHGXyrwQ7wWJ^qy87e3;eZUW2gwm@m#)PFxKT_Un}Z#qHX~C(8&5~ zAje7Mnx-TA|Nb8iSk$$+pEzU-4xW;}VmE^RR|O_>4b?paru}OJ_@3}?OML%&>670T z1IzC9uNNQL@GUEPL;qU+bmNc#QcwHWYTglE7tS8+Ur+Ivu{iXiVgGu}lv1}snY#b2 zwMP}lny#(){NI{z`(6EOuK(ZMXHLKW`#%ZipVeQ_@hSDMIsX3nVuU-sg#LZ*_^tZa z+)tc^4)zf9IRBVFOR>|2Nn|zHYy$e1tvmA zG)62w2Kpba#B{H*0G(W?y=_w)U_pMymc0w;yk%R*u`RQ$wa4dfJyz*fLb$aX;r4q7 zS6@N6{^^9%iz1wU4`Kc83KPyhj&NL^gyY%{ZtrCGoZWX3ynR9yXYTk0TP!S}^{r?F z`-NxJFP27tO{3nHw@GTSCihd|y#|Bx%_*erBvNa+AIrO}6e zPZ+8#AL%yGT+fkk>(PYUe?_?ZHH7Q0Bb?r2!s$;Z=tnsJw}j)mOgOGz;FY+8`1sj_ ze*o{?c=LOTtC`k?WEg|P+`~S%`yRkX)fc)GU1q}C@jd6|>vX{M&VV_) z0uw;*g=X}&xJFoz@*|+bpg$$lCIfp5Cbqz``qp6RdK%$$G1_IqE;a+h6$E%zq%h@8&_`_eDZ z^j8Ie&E276ueS!l>bK&V%bI3^v2p0P@3K=s>$CS%&;1G7GO<1n6n~RNABfJ};l$x-cmoc&!5i+U<9N>v7@5 z%3&|SY3`s`8$OqT?PB5D3to9(ssDPQ#nm;SH==vr+ocm1wU$qm>Xj2B+**ln`>P38 ze}HiPrG(RKAe{bA!ujnY=ubEA!zZ@Nyaxj!LRVh zP?x)Z==&^W>wy!N;2w7R(&>3!;2gX!?p(r5u zYKji4JMl<}aO*h)_X$_;M!5c|gwt!M?-y2|aDKgn^M6Z_i*Q_e5N3U~Mmp#rMC2FL zxby_Wj$e_JuRaL?zLTwdm}3C=j7})Ll~)5iiDeqgpAUd-2Zfs|>EB;Cq{Z~UF}w-Z zr3y9K2998~tFrCM^f>L&i!SW_E-OU1buz(y!qt}$u0MfrdO`&C3FpTroIiaoljW)< z92cE4rm)#$ee^|$^wy9q;U9;Pn5vhf!|p@CYg6q9E5yOqGk>4rfokw%4E(GL8o)J6 z=2zEpao8;LboE_(RajqPGb>vv35+u=`pm3!wMS32y}yS(7r?E}2)Ca?u%2-JVuaJH zC8$r(k8u7~gyXtIIIa`)`^Dpp=X*YZsOgNC($FIi>SNVwlV<`!n$;T4U9RAF=J$%H z*$2SOT1WVdup+p*8XZ2S*#S-=zm{AsSP2`>+nl@R{ti|~yml$PD)WQG3(C>ryMS}M_MaxbfWAG49keCs_5w=vm(A{qI2sZKMuP<*t2dhkF z3k_E~YtLgMwGLb>A>4Wg;r1^RuD*eA{Tm3UXGA!CI){SwTSz$nrG(>hBpjClL=LyQ zp)}D3qMdqGLbT}Ixnoz?%$pYg!Mi8xXKBU*|4FP(_nsv1F)%O+`#uRg9{DA?d&o3|yDJmo*LZl7CWIv4_!cQq4*?Grc`m+p27Hwk znV9*W1K!>hZ`}X1z&7Pt(a_IF!OrTte=9*f!s(wS=tnqzEy8h05RPjPL``VAr&sX{Vs`v^UoHL~!q2;G?4FVfq58{3 zcKwWe>+d3*UNYhIiwNg8k8u8ZgyZ^6I4(M;F8hW~(YGrQ zE1a#<7x^Do^te;sngr`1HvF-s)DsmtZ}8`tNnN)fZ2p|(mq(6;9o`KF!J6~IKe#n8 zw$uTRmOTxOACyoRMZt5m_l^>>Ba>}qW?>*h)Sc^ZUUHxq7Oi*WUF zgzKksLRdW~!s%-g&QF@4KS3_?Kd$KXeRHxO-i0`krU`W;^dWMp$rg8m5D3e!bn~)2 z55Z<~R~J3F4t&y)(XL_u-ZQ-YZk{~`ZgUI0haWuyjxvv%8*)rxwNxf!;T@s9a6wo4 z++%wQw@xP9zBS?MiwW0%j&ORWgwwx8IKPX8^A9B)*B!!f=|PONzOs4cB!~;uv333- z0g=bFV@6DggmC4Aau+(MHe_DL!WkYy5Fm0eCuq|V@GjpraGkU+xXZ^KY2wl6s|(cD zia)q|S^2fvGHMt4EXOXe#o&Ns^ zfthRGmVlS7|Mt}qU!`)|MQ)w3rZ zU;eHC?|rtvq<`Ox)ero)X8o)Gt^e{h4fwZa`Rn`F-0`jLUvtMV-@oS0(}DgqcfJC_ z>Ahp9)_poBcb>{j^~W#3p=;#Dn8RzqzGmh$l^-f#KRu&d|2UnST)Ne1!O}Lc3*0|p zyl5fVEkC<@qi!D9sVI8nSQvqw^w!@Fm8xJja(T?A6~}Qs8~63G{s8vVeOB)e>PMsB zJoL9kE(PRj2HrEt8y4A9!S8{cY}Tpe;Pz!}$36P*xNA3KF#h;#aH;>4^9Qzri( z(rp`H+X?4OZ))Dbwl&A|M7vMJHo1kHK0mI9t$mI=Ee^)Q)~`Yj9{lFvItKS2Vm+PD z&h|e-J%7{>LO(6^pN(89$Yl!t3hvd@KLYHixB29={xzNJ`~GzCF#xa90g@x;W`O5M zxv$4Y27sr_$1iJpXM*R*?bGg$I|aPjaUCxo>jUq2n^VaE`n?NDCd;KGHa&;A zxOT+-IIP#f{)4EejrvjON9Rkh{&$e;HgdH?@FKZuI``}#tkh!d-cNLHuIS^FohhEc zUl^oN)ij3Ij~pU@K?D3;?eF>aRfBK$z4|qKoWVCce7R-8Y4CNJKJH3pBKR(Ci`p=K z4ftv}gc%Kcfon_LkH`9B*l&Y+&8V-3esbs^h+NLdbr!ntet?VEEJH1}ohlP)lCV=!q`` zO7bhK=^TYXk(P^NniO$89QS!xzXkh6QSTY*SE1iL^gn}KsmNsyk$)~9cbG2*F>0Pu z))w7?2sMH*Wmj3@klf8rzvZ7b!c&R+?kF{2Nk6}5m+-Js$>Vv8Vj zY--l)Vi5@WabkyY!4wE-e=*$c;0jz%#(g2IUx@uHP;V{jPeVU9^xukHlE_s7F;D75 zV&^JBTw}w#jH6W$O(q;u^ZEc$;tlUK=4^z>xiU+|e$0Z1l*MJ4`))$Sgcx_{d_s8Ur6rH#0-r4!J2s#U3*Y7)(P7+zLvn2CNmuES|-90z?u22NT z4Hc6W|GXVy1J-5yUa1FS>1nc); ze>3X&p?*C2JwX3FkQlx7x5OO!{D_uO$xY9}u(zI|O6IR#A}%d&gH4Zs??QdY{=1 z_)@hF5{}KW;?E|KkUnI(o9j$m(>c2AKAn%t)_Y@rJnA)~emnZn=b%{sN61B=vt+sM zLyCz|sPmU8kn*zF@;m&E0IOpSrV>_iGQTc_O-?1;a9)tT+uzm~n)8}GXJvY>M zLBI3pZ-QLYk!vEPor z)8{tXbv^DYWBmf`e~xm82o{%$-|T-i1MGkdJlxr*KH!C>L?$ zy(pxvmdWX8p|8{b*6cp5W9vh(e>CbHL;Y9iw-fyx@R50g&Yp@uBI2 zDrB1fcwVU@3mGL&%)JC3$k1FfCE}qMq~B6sVYMX`(j6BVAJQ>_^zo}yl$wr1TC35u zM8{l6yUYLJIUokoiVPLne|qCO8uxRs{s{IPqh2)X^U*I5{gsewC~~PowyDgOX#xYt zZYZ%;9&ZR)MJ-ulnpQ#9%+zZkhU*~nh|b0nU0#qmXJzl9qM4BKU{rX)%lD8GU3_+F zmI`E;FME4u#}LSvCqME@N*`n>S6g4z-S%(I?hnTLY1sc3_2!^{0Q%XX{~F{nL9SIG zxccZ@^NKRqr?anTXSN6krVshus8S8tnd^+cFQCUUTGhrRB^|O3JjhS5%7!d*QnONj z6l8vteYxRM2V|D4x_9UF3dqc9U0J;<9Wv7b^Hz2*`L|~Gjj_HJ`z2BDAnNZ&zeVW( z2)U||Ybf!n9kxDpEFo)8+&Qx7%y?oddslvWL?-Y^%r$r!~jAB%NcxW0~`sPi0kv(cv> zeZL^bDCE*5vF;0eM@^>lOw;ZZC*Q=b)omELawbO_ST=U(^*m^a*}Oxpk)RLdh=6P%#8ltxkv26Dc5VnbCBEH?djWy z`(QN}XZJP4<+7>4y$bsKz_=ZghCcm4oEJE*&RaNvY)L*=`@!87qa~MD|6g4V_SK>e zosY}v()o3)Pc8aNAV(&0O(d}vruX;Cogh)QQbW?KK9jJOpRK3Q98Lm*^!#6RZY92T z=f>FcyoguXmA()MUBWAx(VO5~N<18N+^61KPTVKGNpG&6OWZ7%MLrHo!5EGCkyxjJ zedkeUIqK5SsaT%~^p!%6ugGj7_ z_poma>TE{cZuF@{-zMZ3h+GaNCVQOaH?P$sMrq<`Av*s&@>r)-;E^{ZtRbt|a5DY9 z(@(9>>Y7F*&~L}@!MRt7|My{UcBRA@fHt zuS~*ywpZLO{7ga{6OQ@!(Rrl{j0WExT0nnq@Agq5Oo9Zh`k-^&NRc{@fA z%+v38Wb1^m?>y@4Mcp3snT5WF$dQ3u2T6=NzsLVjHHk?$9JAb|mqZuXTrHaTfJA9* zjjf+?pG2fJbx(QxfrQH!ow#g6=bL`@yMH!sE(x6=-IXCVjf712%zL>_mINpM%Dca8 zBt|LBkH{I1*Hqh6H)%}P*HR#*OakvU2R|ARB7(LfI0?;O zp0PM15n~eOk71oF_N_ymQK=B04r< zX&M;SF<*ss4%p{_I;3Bh^C?GPE#%mWTt`Sufczk>j|)glqh8FV!BTX8N=(I2%59XL z>)CROL}xnaJ$ZJPL_PiSGgbB`iBhd@ZaedmL>>v)=$L0iA`P8fY->VDq|D3q6*b}* zhhcsP)~&}r`uPH@a|3nHqt6xetwIiI3Y2@j-Jnbxn1LGH;|Zl-w%BfpGuSz=PMB#g|C*AMupv z^Ajb!^{L)QRrb<$RRTHy=6Z{h8%*A+ciPjoU95kXVx;Hpc_ZNNiYv-;1g? z5}SVD`s71SBsSsVvgR{C>CcI;?=CrWfW+z!-mVpxOZA5szmvE~V!AapsV<_|$I}mX zJrxfz((8!L5AUz*?_+h+QTGS>IHGSea;!zJ3nX^x)EA>S(&O1Y%=)OpdJ=oi>*04% zXA=8Sazbxw5{VnxY;w8c6p52MU0A1ahs6G_2+EZBMq-~E+Q+QlLt;x}s%IWvPGZj# z-Tg6m0><%}r#@^Q259$?6_OpIG#z^(@CGbgkWy1`4Vrad5WhuzDgE22nTsp@03mVqR$aCA!UXfG0XXxO9OXYZ4^oszer zpO}$2{_i0vbs89#VBQ+*o?@Q>b%vp?Bl?t}?{nm^KrT5*u*q4wJ%#?>bIas51FxA7 z8ZNBdIdCupnA9YOZfphbx@X(t(`SOmf-#=0xq0Bs_@q22Z3ElJ%79W!3$S?Xup)oj zIndHl66}2Wn6R;F8sYLqgsU?lTwf#MbgT)dJB^?ZoyYyxSCnuZYJ}tJfzZI&N6$ps zK-9Uq)HNHjAk;JRY;d|61X!vLxOHC|yq~{KiWTVtkHved!qks}vswD_!%K9*wx!E< zPM988be@Zvo>2-~=DLFPU5f}8eF>MZBV3&(;rg}`PG>1$bq7ci&PR%HzUGAE$RQk; zBY6Jq-L<2N2VrtDu6M`vLdX)`Ub`1JfN$pfZe5uWcw5eq@a&WV_nHNoyu1w9(wZf> zpAZ4Ihjz}l&$9=ML({94KF%VYG*~lMPpcwZOI zxt^~Eywvo7&%2|*b;mpHj{iJ9ybrcsSx};X9>C$lu#dgD8^Ff+kFdJp^9bkTNjP5{!g74-A{^Hn z(CfA|-(nF8_DL{v!>(1Zt#$M3S>x#EfiI$L6iqI`wi{;i7fCdNQ^8R2bTj(7W9Kz5 zdB4SAeYwo2;D-g6yxw&v;TORC^u|biX-&dL8DYZZe-f@Po^X9pgw-+CA*`;X1mS$> z_eHb5s)XavCmh#Z&@_|O37w?|)+5SiAMx%6hwjAuWK#gAH};RW`Ei?El5V{l`x(|e-ZAnT{rtc^%Z7uku2_@ga1&Tpuh_zCE(VL*uScJhzXrp_H4{{<_kx;nt6qEWEW*Y= z3ka8QCv4rlv4rh=HJ7kDVnYb0t3f!QB*OW&5su?K;kblg$f>e%V~d4=Y1qST(o6^Q z_o8J>@6813cb%b}%4Sgvv* zA~9r-_N~iwE^hhT!jFAApnqa=GE6E1v)B>)<^PO^)lp;09E`8R>Me(BKU?*ISx3ZE z<)Q>IPCXZ8nwt-daq9EDva>KPZhrKvzDV*n&KB+>Y`**)Ve9fv60YwwVRhDM6Hd38 za6UnV^YtfxIX(&Z0n1e&OcY9cUzZ1$EctEm<%RlhAy^=n8?>^N0loc$cO;K)f)yU3 zt5Z)*2NPz&Hj!=RU|iVV_UrvI(EF~txPIPu&>rlosz1gW6g4dymL%m6Hl|!8Y+gE$ zuyymd5w7nBVRbf7Bb@F>!upI6C7f?lG0X8@2w1MrP@?>{XGL!=}K3?;~3SeVSpC z*Tl~o$BiUxl>JHAyuT>n>U0R(w@i_+IzXSuIoBv)>VB4L>GdbdDtWjAPT8ZAGm%oMa8=f*4@ycaYM zD~>jmD+9GXsy)7E_JTB1E2`p2&yQ@&kB?`GN^AS5C2;6Y+b7VjQA_`#|^ zGPmoz$lZ(*GA{GYX8xQ|5KpbEYFHWylWTu_Bt8m-DbnWZrJ{R5?viz#FTVtam<9gH zH7_A-wAnz|d_V$W>qgLd=zsej)A`6$r~b7Nu)1@@fb$6j&bI_O4hA?bA);E8-xPdM znCQ&gS5$9TLv;4W?Cn}rO*BrWMvrc5CMriBm~5VsL&QvX@MhJ|hy8x9 z&ib7?AoVb4Y4Wz5;@{uj{?cDvx`d4z^a-2isS&m=l_6}Orw*_>hi?F@tMn3BpO#g? z`I-XDVXp%$*I`0t22R#|H@t+9L8)m{B0@yx(i?wQ^KPP5V0~*|z8q0|H6!if{SQPg ze#^LBGNDU;gfG$fFkiU%#|pRAJ6(f8s8%&@&UYw&cPqcjVrb}+ztOz6kNnNg9oV#l ztxFCqX8R@!1FNII6jH#d zvl7~hix1~}l&@`C@;8>XD-{3DtI#D|H;K+${@XXJ1X!I6NnmxGnt=6jECJT{L=JEq zeZX=_(&tD@L@(LC(joI-F%uMb=#T{-v)`UsWlQGr#IF=t>5!S5OK&;Q^Q$E0qBD%n z?;fvIa{WpuLnO40tl98VhzQ9|8Nh7RS@Qba^8sZG=^X37(X#;9{CYcJ>mG&z+ZP}V ztPZ_@vASY9!1}B$0oIrPe8+MG3j@p5t^>Ii`)RC@=(MFoIV_1G)6mClel{zYiZ*+@tgcMbS(%mJev z=IQ5hY@H+ao&2Z6>KdZYQ}m5Rj?2j91_#3|Z#P#4fxvt7!7}Sfkn!9&@Thk#q@Q*$ zkh%~8X>AL4Wgl1xX)cDl4=Hv++L&Os+{ITR^=U}&b9Ws`Es!$UbWbq771n;>^KgYXw zDY3vC(jP9ZQQut(>GLISiN8&Pv~us)4(!Mzqb1a>=!Beyzuus$lfz})2mhV^T9jy zC#SV-fs8X-7Q3CbhxDGhoa3rOkk0>EH1HJt{C0}UpxP6ykk+khIsdv6q}AVZHnql*Z40~FVgtviS3Y~=sqR1nqDurrmLkWNA&aApL8G?qaWrY zu`UDqMxahE>Y8#sW5v+71346t%K@@~v}Ake`oq3)SIy!+2!r5w!OL4auR->yWwu5g zYa#1G-@MCiOCht&A@#D{kZkP+3IoP2#EM*6uo zo2QYj^T)mrPDk_$>aIi|NA$ge9OB634cTc42YX`$Ah;W4zV)m+2u_VHJealzvU`%t zN3}>pwqoNH10g-N$gqRQ?b>WZ-bf9CGQm^5D4` zXJMWm4_g<6eX~*LC+eo4&v^7rMGj5mIu6z}QY?(gGt#-Xk|`UIn|8FGjrS0H3BdN@R9Kn@7Z-EDuy)6cK>x@|9dI2{DK zW9%)(tswiFaco9);>*(JPuzjCVXFKZB^MyW~?^NVy=;z9wH>>QLtv3i}|Avlw${*}4=XmWQ2rTAi zJkzLv>`sl8Q#o%Tn->#qa)Yi1+*-Ht!7J+LvTyqDyO8B2t$O}?F=Sb`y!i7e2xB1T zFJWB~_BEkS73y}PPXqcsMUKtDaqXg>xzt97YN+4>O^HnfMETV%fnjg zKp-ByJL&p9$UadUpJm<+*(>fi3_My3*+K=PcXmF6tou7oi!S;KS?3ijUGnLDiH$v& zr^m(CJ;A;QsPh_i>FdV&(EA$eD}x+wkjn+KSNZN+rTv4}FOU$nhz5cE3d2Q)A3?CG z=c|d;3J^@o+V%yVu%-R3Jz@8`)2 z9|ZnbiqVkE%ZOqfz24ZqTc}fpx;^M~7ky2TqX)U@`{Z(%lCr!c2*!P?RXVVX)=Ag? zUO``9r;BHn&e8(G+VWWWuDj zU-dRDr>{2~>Fdkp)3MGN`zRNypcdAk4J)FTgAX)Q(1a^+d`S+^m;Zu6Y#_0I@MQCuKy?n0tM61L^`KgASo-arRxHM z!N0Cc(RuY;oPv3JJZv4k&#`^<-%nPj=$|g@BZ0oOpXG=_F8cl+u(U2@5`En@ntPiT z4x`uWp~&0g>FdB#>YN_91O%R2<~l#5@0+bdWM-VdNw1UWc#*u*ATT}vU;o?#0jcdf zwL${~nhvDpBt1ShQf@X+{~cxP3b8LAb?A9yb@!r=A^N^R4to47S1Sk<;rXlACqZDC z@#sU&SrBZI9ND_27X*PqpVIXE=>2?@a=23g2qLoS51~RJ*fG?hD{wXaIdaBy?YVzI z;JR{|GX1^2V9V`jjo9@V*I}M={H>cu?^kS}DW{Y27IjNG9|LjprS}n*;{tL42(*T8 z8266yn--chRQ>{i`ygM_>2V;~H6TK^Y%mA}0T=dUmVh8{!Y3gK8V{cCZIPm{w?HX= zqzJt((`JY#s;ASRH~0%T4x5Kj9rMZm>exQY#p)EJ?rqNJE`9&8zV!UF9AA-Z@&BF! z`7i!=2L3w(|DA#V&cJ_X;J-8Q-x>Jt4E%Qn{yPKzoq_+~XMhQFR7*=gn9BIpKJ?7F zcbf5*S|QOnM3?cjKIPP1WXSMzZup5Fl4U%C9;uvIN9Rno&2;N2a$?+P*a}(>UuWDd z-I!)DSCw(wF`z)D`#i?8n4g7pm$1(Wb+)6fD*BkBuOV`rL#|9FbohN=7q#U~fco}C z@0#I^PueNZuTrr3k=6XxmsMz*dE`{Gb%DC(A@Pc!-sM~+d*Wy0*>off+;vV{p8 zRU)H*u9@*$XnZwU=>X&XShZ$vha%(U@O?(&V-v>HwtTnnhbV@363FM%bnf4rk|2YL z44nsgL(cQbJ;nnv^Sv*KVjPHhI-ilPqjL(`z9Fa+h`KiDGYft5kfRN`+?c@IUOIbY zeVITBp^r|%eT={UkENcqUm2fox;sm@6*AtAPfiWeT+eu!h_9i)4P`vz;;uMst!F$3 zNFPn&J2AY|m)>97cbefv^|U#p(m91}e2@9#Sho@TYEUN;b+@2TIr{$MI6?*@7oQ0@ z)Eo8q`#2_`oabE?B+B@|3EW(0bCmIYc_uN*SC;WHHQQ`@cn#yNx>@mh*Ad3cHeV?& zt%dP?@N$vqXnDrduPr>!QJwKzv2j($Rm#D}wV0oeb#mC(iaK=OIIC-mKFa8O8aYNF z*JOs@EdN9HtOXO`yKeiuCv?52&};q$S;j9}&QD7?pYfF&Iite-A>$(yQLE(|$9T`4 z)UEoxmhsAZ(khTU%Xlr`T0;VdFe<%EX#*Lb;#uWkZ*DW* z?_ZO2#Q}`>daVcQDd!ol-$&(EZgOJ0s-m;H1*#ZlW8N0)=zW3h6GEL!s5=6EtkHKg zaws8}I>Q&Onb)2=gW-1+I2D+*G5pY5N_iC~jDN6plkNUi#?LNkP18Gd#@DI4TB&U? z-3HKyJ%LMU2xhUyOB`*r(aA!|4Y0 z`*6P7`#CtSm5hHuc}$gBFT)SHFikc)lHsT9z3JK4$naJ39=reg#P}zENL*I5lkt1I zd;8}H9~eKYjZK!jd>G%B^e{O(Z`n6vhFCyHE91*^H1JB&`WM-J6V|=LK5x`{hq}Aa z=MVZeAx8?wHD@^EU-ByDyP_S#_nrmyV<~@z;7Ug8aE5Oo@Qsqb!1y;PzxUl1$oQ`? zxT?4w={GNcC*S??sLUzs8mE%iZ?H(!7E3i>Ng*EqH*j8uO2_&JFvLP)7xIjnId# zS>KDuQOa;!3XFeut%`ho4#W2~FV>&Al;IyC;*X|SGW^|3(x+W&VED_n=F2@_%lLPu zUW`5!%lIeHu+kd$k?~)CM!GrnD&sHRIP2U88OE>oVQNw9MU2NVPw)3^-8Jm%L7iyS zU5`G`(RT%MEJiN+evp#f*4<)C-`{VN;#6KR{Il28L_gB^`=M)XQ^iW@@wjew45?!H zGv7SzVs113?SssUe>5`wr!E9X#2GUFkqfmNF05w!-74Q}d>VyO8uPALM~{!~dxbg` zsQURBe7pL6C&om~@5Q=s?4$R8 zR!0$a>(GaCu)g&5WI5>lgXN<4!yPXTraIC0_oakV$x?d0o_`!)s86}xzwcHiGa3H7 zkMG=eE}{7f@5Jv>48Lq(yIgn}!#`Jk*Y@gshMyxdwQzkF!%wq4^DLd-2iQpey<+ow zu#R5;Y+oqq#Gvjn^r1SeuN-o0N3K4GpFLhG^``{Gzx{3GEt8`R|AW%KyhHn#0CAxu z4PWh;fC&bEd(CDr0psf}b3>Jx07)M)Q|)0)fXFE03!iHk{@2O-f7G96_+2@ZV|3*) z%3}UL*1h=G$LdIwZtF*u>^D6CiZQF~DFw6EII! zt*3-B0MlLtlD6Sq}RCWVt5)A8ug5jsO4v literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9.i b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9.i new file mode 100644 index 00000000..719299b7 --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9_out.e new file mode 100644 index 0000000000000000000000000000000000000000..3b2f81497311a8d5431d27dd85c9de5bf345c971 GIT binary patch literal 105840 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Ξ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 mqLY-bAH}*K`<BySuKv zm$k2T?cM)5H@QPcXO{1I_V+FGJntkqH+ge%lAD{{o15F-*)^Aig+(4fAwXF`0hK~6 zQ_DjX78aHev?yp$hA3ougF=fT_RFsh3z7LNLokHt3u0KU@mJ{C@rU3PK$$|Nz(~gc zg;-eTs~RLkLh>SFI+HqVKE=IKxa_~+unj=F zk%4l7h9D3d(@Vf_1>`O4pdrZ(VOZ57H+U`b8k7bVW(YsDK@q(&#M-8*OcQ2k%*BGe z>cX)?LVJt|((nYBKSKQF0}tv8zXwy{ub{#=Ia3H@T(pb$Lp>1iD_jfy3P60VPNT*4 zBF07gqCXEiF9aQPcX9>^ODm?Y2jPNheY*TmC-H}Ii?cxCM&K5J_$l+lxIfBIOz!}3 z3+mJ7hiyUprOdA@2n#^`l=)%YpUtm7#LefYfff=e(4$Rq3qJM-y611jyoFWZvba%# zB#XEu7efrRJDL~U2DSmQjzrxG$y}8xRUf%3jI{`igPiySzv!)S9l~hSlw6|yf0Bz= zr$t493+$DWOSG+tTvd^)5Zcbj#>$E1z~4{uiP38ypB47GGVGK>dp1q~cLXRc1b*ng#!LJ^+04pJW z>ik9HVI<67f*uPCyASYJK!~pwI#1LU`(E*f>3Xn0tMcF$NYQU+6*maua$f9!F)sGO z;tzT8yo6t??eHh^{wVHkjLUhk6GvXOllV)auRYpPc;-0~{tUVa*TT~u7b0b@nIu}A4Wi) zO!}z@cz&cxhX#S)57Iq54{?eJ`U{oGuiz|QDS;vRy!t`kC3bZVScVcp8AMJSg>Ra2 zU|SP^(68ld#{zHBUa8YI``NUgyQWKP`;%!cEyt!yYxlEh^PftWw)xMdEsEu3{STO4 zW{~?r80!p;DcT>rLc1@G9t#U8+84$l0UDW3;RjbSJ%lk09>=kq_ygJEku2bZ`C$9O zAG#?a%8&!wSIT24(}>40z6IGa3xBgkR}iB7IG2m=Ia}dJME43mF1oi_N+P;Kg;ExdZsG zpa1{my3Z-QU;%svBR+e<=al$t2-gDOGkkoGRuF*Cpz(PzKIg&bu=varpM@3&;Im77 z9*NJB#AigfMyed3JfH%gBA^nWGN1~eDxexb0;mqC0jLS61*i?E1E>qA2dEEd0B8tk z1h57)1~dUQ1>mDUd>m;Dumdy)v;edOv;x=zS_9eu8~~1hwg3WX2ap1s0PO+J02hEO zpaY;Ipc9}opbMZYpc|k&zzxs?&=b%L;12Kr^ak_+^aXeV`T@KE-hlpq0f2!38Ndf1 z2lxW~0R8|4AOH{u2m&Yp!GJ*k6#z%;YJdiSgSSwC4uH?;a4ZuB2nR#}A_2IvBpNUn z5Cez>3;_%U!~x;~34laE5?~l$IA8=|Bw!R^G++#1EMOd9JYWJ~B483=GGGc|DqtF5 zI$#E1CSVp|Hee25E?^#DK41Z0Az%^U7r?K8#egM%rGRCC<$x7{m4H=%)qpjCwSaYi z^?(h4jet#n&44X{t$=NS?SLJCoq%0{-GDuSy#NZ>2iOld05}LZ1UL*h0yqjd1~?8l z0XPXb1vm}(4e&eQ4B!vIS-?5KdB6q0MZhJ%Wxy4{RlqgCb-)e4O~5U{ZNMGCpMbl7 zdw~0Z2Y`nFOF%9_Za^OH&kJroE<=BQKmjg8e?dSYE<=A|fEAaazX+fxm!ZEHpg5PI zzXYHpm!ZEDpfs1EzYL%(m!ZELpgfnMzXG5lm!ZEBpfZ=CzY3r#m!ZEJKmtG+`l|zK z03_UB6Wm$=l%c;ipbh|K=&uW?2S6G6>jN49P=+=`+cg9<;(oN9HJ70uZP%E~(2urj z!e!`3+co7f^rP);xD5ShyJlR5ezct}m!ThRXUApeN82^$GW4VET5uWq(RMAl4E<=k zR$PXDw39uTpqv`Hfsmy4d}!DXs5nhhJLh@Czqig?bMIU(2sWV z;xhE3oxHgW{b;BDT!wzM(*Q0*KiX*^m!Ti+B;zvlqn&&JC__KmNe=MgezcP>0A=V$ zJNW@nhJLh@KLBOuM>{D1C__KmDFA>n^rM{u0VqR1+9?QtGW4VElmL{W&CqtifI-}k zwo`E#`q6eFT!wzMotn$gkG9ir8T!$7S}sFB+AfsK(2us$aT)s2c6u&DKibK_W$5<- zgaJ^7eza3K0A=V$J4FCchJLhDBmiaTM>|CUP= zI{-i#`q6d=0VqR1+U^hlW#~uS9R{Eb{b;)*0FKicVc0Lsvhb~*z<8T!#qe*jR1 zeze_L0Lsv2Xs2_4^W47=+zSAdp&#vZ5r8uEqn$1RP=%FvH?x&ye){b;8@ z0VqR1+UYI;W#~sc-216%;EfDV9;fKGtUfG&WpfNp^905?DnKuPSP&==qd z=m+oucmw(a1^@;EWB?z49N-J^1NZ|JfB--sAPArY1Oo;ERDckG8lVAa0iggLKo2kg z!T{lb2tXtt3J?t#42S{50)_yF0^$JifCNAyAPF!GFdQ%fFcL5dFd8rhFcvTlFdi@g zFcB~bFc~lfFcmNjFdZ-hFcUBfFdHxjFc&ZnFdwi0un@2a@C)Eqz+%7>z*4|6z;eI} zz)HX>z-qu6z*@jMz;vov8~_{y z90D8$9042!90OPaashG!@&NJz@&WP#3IGZM3IPfOtN=v-MFGVC#Q`M%B>|-Xr2)v7 zoj}fd00%%1fIk519qVc#0BwThz%u*{vfF-Wx9kMkt_+|)z!A_Bpa5Vy$F{i$fMvkC z`WYY}+6C(s>lEt~>k{h`>k#V?>kjiQ2dDt31gHY22B;3G38)RI3qZXP4FCk-0Z;<) zoWpZuIRM+>S-?ZUIly_q1;9nXCBS9C6~I-%HNbVi4ZuynEx>KS9l)P}yMTLu`+x@k z^;#LWmjCEaC_lEG|L9L|(8=K?;>iDM6A;V) zUu^=s{89h$@<-zU>A(03*Qi63dIi2YtyAdr|3wqvwK5fIX7Kw*hN&rOuT#hk3V(@j zl%$)Ro4bny2Mp%_GEndz6H3}^LPF$fe@R!^PC+8o1%`zv)CRo-@-jnF3A|ZvP=x8N zHCltj+FEUG2m%xM>m8d(td$bBt3hKW9MLKKmGBOt!CG(dhg}XJH%TA1Z-b;0yq{>y z-c<*0$ikKkg9NcI1a@lBs9T$%nV5vt1JA3qB>5MpG)Vlw7T~mO-c-@tuSG!9rV@=> z(yVDSTiA@jx@j|!BbD1#>Dx`A4-(Z+ru0(;1hlfVZPmip->;Ref2)=XdxfukE4iPo z+}^jPUGtVUHVQkN=JHf*5a{9J;qI57P9m{wY-8WpHf{7Dhuyon^vImh=EnqSW3&&` z>7bEFJYZ*(>EjeQVpMt!-MO`RvjXqz$`7D*VFW6;_o(;DkLg zLbL+0N0>t5=4XJiOKh69ZrU6;h5ATK@V^(v7T-y&4Kqk!TL*=)z5j~};yoanm61qf zVQOV)m_jD^!_!#U2qO6elt>&UQh)zm3YBn@>w}cqZgRCeP@&6A4+)&GYJ*Org4dq| z^(mRS-%--3dmm|6zEeqNG|6&_M5#vI!W9{ip~z8EPpy&pD+1(UDg(~;e(*y=r9mlI z$pUnm5Sg%r4DR28+X)F-I7+%oJzU&zviMWKj0oZV?__n&DKgX0A5OCjex?(uG!d{3 zk*_8Ut|}S)Oed79fKsMb1VY0ISI9ym6u7k8SmBNm)A}%IHeq^L8V`FYY5WEmX_8en zy_Pv4yiyMrv1B6AXL^xw{{!e^Wdfr}lkCEo(%ZxBr&^2M)Y=Sug~s2_Gk0{xp)$ZcjG2KaE1`3Q)Gv# zSg%=L1RNzUAzDL}RJcHZeT=zhqA(I>c@c1w081u`GZG_VmKOn2JBN%i`A0I;5UK@U z@5qiC0acJN%W83yh;1N!y`Uaxi^B-zzIu%+%%Fh1ZD7wT*p|)D0GmGvS8CJyL!^|e zv_W#lo%Y{6Lg5l6*F~jegRr9{gL0)UXNoYR$f6|*?eIsfIUOP1r&P)Pglj>X>x!eK zF1w2>VK+1J9&}berlBGd?);^y3uEEUvta;?mozEHA4WQ~p{dtpOdJrV7Eb;YM4}f6 z6)hVWvMOb&V=P@zkU^G7({YqEO_ktB0Y;cb_h4%0zzFqn7}db-SYDrEanUueQc@A7 zZr<5I7@bl^S24OIy^Mis11SoJysT79(z-dCgFl~@fJX`!_Fv1QpYH3b8 z^lsd^Nj7z_*uiEi-H%$S8OMby3VUHp7MUI8M&tkBLJxC2r}pfEBKP-~`TF7IUeqC7 z8IUlG?$x|AC5tl|2~C~r!N@`H<{JzbI#w*yImOSMc9`X$*iquF)G7UfR0@Mr`*apd zFF;+gxGI}x!z?bMNNCzyh^V2zQXVMdJs5^l{mkjU#BPDz*i1!-8k&9?Rj7qqRcV-b z(41OkS7qo6b;`(e_cF{Wau%0)^J-ZcqE#vV;NECPKXZzlNnsg1REj`UIC8+GW(fy$%9iHd9t|XVUbO^hH^q-q@JA` z!mTM~rss+y8@c}UGiX#S$)8EFSstJe_o80kaJy5 z-4t`K%Nd<*sbpxdoa=JxhZg2sQ*y4$X-_>ca3t*4H;i;%XmmSx6iyutCaeT;Dr=-Z3&013klIs`;oOr(mKAiwNN2~qek)cKn zAI-qJ=RecO*jbJn%$cWTIiE*DQ)l#9&gYTP)M-VQ^LZrn(8<+$CEN;2Y5Pq5IG@+( z;4z_E1~=Q`E@FUOsS+y$UDIa)az8(XR$zpWn!pq5NQFQDGK$im(3yOH4m3!PM z$uub|#YSP>{O9M)pdnjDpk*sLl9{;AYz=h^SkPiDXfiKUio&{St2CC%JcuJ~Tw^EG zYS}ZmWGdz}y&b~90H^b*x&>ofRBLo0GNI}JR3ik%g*kvg$h(Dqz$MrL2s66{Bo^7! z9^2ml{a{+lC5N$68rquDY=BUyP9{j}6KdJ!r%n=HD}OX=qY^ z$O%!sj2O+b^v3I-HNn$_u>>KGImJ{B0LQ~GCABZ3Woo(!28VTNZhE4As}mj;T5&%iZm{FobD zn1%Z;;w2A?`}2*OX$bGvz~nKL0%OBAb$ToG@G^MC2dX0j+J8t0MTU2NjBQ4!6l<-Y z(4(iS%uE9kb`26WOh5T?l&HcoO`X93AY`{KG8;aa-hFYx%;u10*pO+M!B|r;rRmLv zYna&p$CT3!O=`4ZW*vm-odYn*BZWIsaNjHaGDOog6bRvlg>l50vK8W)V(R@vc3URX zIjQNDB218F;d)uH+)pOnywS?xEjcr5**N2dcL0%8}O`2p*(`~3%EA$}& zFnT~!W>m|jUPjsN>r6-OX4nuGEE({--pR#G=`({+&+L}bNJ*#^Q^z*&VdboD1({JP z!iksZof~rq;pN>ZoUFjTXMcqOZYDzWF`Dro60&|GrMmx+5GEJ!gd*jgY}2nPsE$ml z&?(^~x^N#X?eNC*W|NXoC~<1ae?*v?iq(sGgyKXmjs1{Pu%SseB;geU{0KZhUyRK~ z^q5}D0wIiSLWE~gdIP*=?guX=Y52Q#reBv+5~k~~&ACXidl&3JhTI_BJrzvqs|duK zy`~o#`_&M5$y6zayZ7k_5T+A`D|Eh^v{z%XN=(=Af8ddN2bIQGuIhna1Er#jWlx%*95;e?nEr#iHJ&7dK!6xPg z%VXFh@=kgUY%u_nVHaZ+dMMOz?J=59@L(Do2dCTA01x2L92*KRsI%nh|IH%Am+~`y zVc3PQ(kBmGjqHw+?rz;( zQrBcwAx!A6@Ked*v6Mb60G`PishG#~p$I%3H8w1nL1NTo6~IAJx(y32FC6Nr6N^hG{=Tn-ZXWTz{4O#Rt+WfF)X51 zql6JFjEjXeRA~wg!@0(`KYPOgxCKHes|;?_z~wJ}TQsK~X8Sr=eGon^%cOTOr`$ezm+yIB8Vwu~bO_9}!k-)+UehfV{lTtoQO8PrLA)&IdI3JFbpP$-USGJHoJ z2~E3i^MmQPIT~g;_Ci8aX8}sJpDN5>A%jiWV1GPV=MWgAfqNw40~^zabG)xfO_TC6 zYU=nb*xSK;Jw=qm76sF(0Fj$2yY#66f z>fzBa?uDqiRnQ`i+Cxpfrz&4?TsxiG%vb<4c&Y7YY zUb)I_FF=#*haDMz9PAH!3<^(!bqZKOU=ZHulF0*bItjNQa5vzetr$*dWHFw@V$1$n zBC(qVLVS8FtRWCNQn{wL!z^$1VWr?UthkY{s6*B+Y`&mY;u9&+R;kp3fayiX4pu03 zS}GPcoe+1`(TDl^!zN3(ygTi)Ow$`S+lLeOX$lMRg?sK|Pc7UqG=^5=P@$Bc7 z_34}HD87Z1;$4rFx-q{g#YJYgrJL2n%$!RA^v5tr3RJ-B!SW3D+cVvUfpXaPJ@Zq= z3_?D7gLY_ucmMRTW;dlJO(#?-)PaT|yt|a)D_y1&;z~x9LLQJ#H)AdT{5V9YWi>3) z(koNlYEE5bllY+7z$pwp1HS&3;oA$auZWAQw0GB^-7Q)mWEb{SOXiG9n*R1j#+93b z(9WbXqlVa8`0@$3AqY=%15@l+2zS~QuyP^Q`I=QgBGE<5ScfBz%&2M{CH=BWpYB)+ zLg8AFuC`5Yhei#Jy>u$le?SPYt-*4WRBTW+rV|Rw1=%1_77?US%TkX`Oz#h2S){SB z#>SHDF;&BKwe(K~!ZUi_yDI#%;pPLD?I&)G!+5iU*rzAoZD?ZDB)MEjm~&$st&seK zEy0=b6#h7JH(D~;YN>sg5|%gXWoe(#}c^&*KESnd#omNnnjp=lRyS9 zm!#e$&-4K&6j>z1I~l^m>J-nxO+A;fY*~)KesaeEV^t#|Zl9mYMHKtPp1q~ccE$uh z@(6@k4d~3N6t+X7xXr&(4VS&-PY0M|!$5f$thmG_ZwA<=1z&MOz4_0aTF!EGV-{g% zryVK@wQSD(AwHzZ;0+`^XwFb1%avc|Oe?ay>)R0=}FHuW(arq5z?PjeRY^y64Sn}&Gbk` zh}&A?r{~xq^NO4yp|B~B@Gi3{q*-VP`vuaofH3v>Vv2TnZZkrx4On=eQ6FK> z3or1HhSx&|+iaMpVHV%kFq070kU^1CRW>)JnS>eiTg29XEMn<*JjfvwBR{2Y|V>bxW%37vP&m zxN2|^tU!Theef-6wk?6FoEcpV&6lz2gfT2U!OeyTNaDGi#TXVY^up_6#vy%%V^=mL z!x5~Xo{wEoMe_@qoKkGTuq#sbeCg3hnAxD%oICAE3Zracw3)nyLLm-xOgs5fXebhj zJ%5_3{!jA$1R=ZX|0JJcz4U`mlg<>8Fw<8`epWNF;TQ?=92Ns9U2_T9$|V?X z!UhbmfFgO2{SOE;{=9gm6Q4|GhhpjcqF|39f9SuUA>#T3wzIm8xt9Q#oMlMZ%zVO3 zCuinO&G6Y?CZBUNw^CA%GDXXRYd&EnA6YeTu9wAZ&s+^N{hXV*gc%JD1xuPYd4yHj z{6W0fs~W2XY#6RlhbZ+5*bzo}Wlh4yWwOXf(H9lPe0Y&k%OZJ5EsKu+@u%O!P9;-U z)FjjSsJS-GbUtd{Y&47csJR+ua%D3AOi4>{n+p;%QW4Bay%OgSGlx5$~!N6nj!W-%W%SHn!_ zqh=Fk*L+m06yyG{qCj-b)=&%kI|>64TtNWJRY$M^hcxDzv4NYC@7630@X0Uy*Xid}4 zl)#W|u9QG^m{z4peFBT>nN=x4O8-nx6M@jwXQP?ULz$YUpDDN)SqGm2Pf^U2Uejwi z81}tN$&kixdc%grhsqH6kb|(dZhCc1C(LrKvpJ_8%<|xy3o>PZ(7NF%1$-SZ#hW>% zH*9!z6acHb<=UV$)?-1_i=0ddZ{dfhYm%ndavDNe2rR)@DMQ4!_khsEujHg96lyz} z(NSW;hH1jcK@0CJvo93Fqe7?>7|RC2P69fGTxg(X6gefKxRZWz|7b2DtPcr-y~gEg z)Gp=PY%^+E&@lPaMd?aynvOX2MjIv*rYW^)bU2)2ghE}bH0d{MH>b#&Kzv@E;dx@t zxr|HXGa*B<>F2WXQ#L`c{e?!C_ALg}i>!}Q!}n2O=kkmTZTckuc6!g=t6sPv!zVqW zSxql;q`zEDoRMn|VHN{obDB+LNM=`1L19xh{2!R>^+^3~=xm$wWjJp$M<}c@b???A z+cd+P{K0FU?h5$MTT06)bZkq6p7Y_?OLK>;>z1(o6}=sT3oj zE`uwyIfU?;G2G=O*={L)rtg*jqZ|AfruZSUlw{~POT(0eFgQ&0skDDi2-Ci>6va1( zFv~Cbm_umL!H2eGAyLq5;G|Bo?U1RL(QLk@`@e7xHtRDz=V*=vax9QzfgB6uSRls& zITpyVK#m1+ERbV?91G-FAjbkZ7Ra$cjs7Ss z>Xle^Z{UH`Vl3Lp<#yvvQU_zW{nqda9tDm2%2HCf_t?{)j2|SXt@@u2xjy2dF@Ce@ zNB*q2J2`!WC#NL+T>2P~S5LBfk$;V?F{QwqX7+kRee#?f@XB%`^?O6R zZFLz*J?~%NHKxZp>b`#T-wA{BQ8&l^`pHM$(vBlthS*6uQ>XpioAn$#hPJUiRdd_c zA=GBupY_ID4yM(k`)$Z4Z|l%`a`98;9TSNV_AO4>@w(zIE77`v)#Ox94Ol+UHuozomDd z&|Vda{O(**O}qSYzDoa*D(XyZPU)}LrmZ!fit7J-NE=kCIx5cnfkW?Y-G@Hx*_#OA z-tCBR{O)+d;twS({cnWv%_ai>y-I}T7f4wCcZi@@cvZsml2T>8?xD4dFQckkc^m92 z_bXNO-!%PM^%+!tyjtyPGoR7{<-7X?S;f%4o!d9C-(7|FDiGTw#IqyqEFYnsQTzp! zcGz3$?4!rjro!Q!-gmD!3=Ev;V@F04A$;#V5sp6&CPMrY;e@51L>Ql(F#a7x$Zu8= z!t&owm|j;2)9XG})jiy=vF9e97 zd)Ml9h5Uxo-b);&4)@nnx67VI^LiDc&M(`{DkGmu?GBZ$>=fYb;Jd8BGm8m2B7_6S z65+V7En)H35|;iC!uXyM#=nXP`Q<82SpJ`hpjW@Vgy}Vzsz;YBdE@za8d}|QvdX$7 z4c=M5YmFvWG~mUj@#~bOsGn1Jec1Z;R2Eg??urp{)RW$}28+*%{g%4t;YZtcBq zXI<*8S}}KLu{qSkuj!%P71q-(mK#eAspCmoKWH;@&G9}C!RIt5!%Kz{A$-z`2*>NT zBtra(HHnbEcnQMz{0QSeLs)*R2+MySVS4o?Os~E)wDy`K!v}Vw`eOEbhrKvT)xpl! zKkr>kgX7C+t8czZ17_v%I{s)L_1$4Tw9C;XI^e{f(uFRB(moD59Q&93M7xb1y}xs? zH+76^o1m;($3azVvRjKMu|x=0drE}kgE|o*ez`cp(tjn4?-*hH_lS_+mPUl-|Cuno zVhPjh0}cH?x{tM2Z>oQ3IfOhqO|=CUM@%iVo2tru|2}Ghfd-W*{MV_STd9Bk>BT(U zPgB{KO%Dpnf2V!_E`F!r1r>F>F~3>D!EQC_LP7c(*U>(AD-S?`@3HngdDE^l~pxS@5o3J(h!!%m-qr}VtoGdX;-18o>IC^>wg#Dx=2 zEtA8-apR{-C`)g=uF>`ae<@@9_Co%KJip#N|3t3WN2b@TIyB__ROcJVE>rE?(p##`bEboQ zzs%RZl2K*Ylqkp26KPQC7Snbu=s*L@&gYq)lO7#vw)pN_cjJ5)IlmjvZyC>j1k>wyL9Uk%)lK{E z`Ke|zs(((GER|fMq5UgY+xYb{)p{l@?Hb}jH5EGM8@IO$4Y@NjUybWUsOm#d$Ha@D zsmkq_CdFsWrh{$_>OF47PC95#k3L;`1<*mmRyXLn;5Qyt^5gq>{FN;Ir2-Cm~SNC6|?)imAbn0uTXwilmz8)M&>KMvTwBk?-bSG|5O!9Skr zG}7Nn^^B*X5Bu319DbdKCOq2cda?iwZCn1mZSEu*TGnz~)3XsYw7})M7F`$fa1=j2 zg2yk-)8FTO!#IB&&+jqM-;e3ls{+@nKaE;-`_a{WooMu?1+T`;n?oaK(^uuYzo8Mc z2R$kK;ZGXA!*9xj!S89<*DK+{GcVDwpeys54?9W?A5L}ObRrKmtg>wqerF;z#BQD6 z;BXacQ17WFiPiG3gdd;I;}_@Y&vCw6od0j0-)ok?TT!l8FxP7rjcxtR*d=U4vqM}IcR5K9~$vu*oH>l_juToAAiK-kK^fo;d}EM&iM|=t^LAfkC$TcpO)e2 zcXGb>oPRINuSr3kzYo`I4A-kOO=vN3Q~awnG-1_)q~0T^)A-%-XY5_O(Rk-olZNi@ zL*p*y*G(MmOyk1h9t{M$$JIVpzx~;Bbm*D-4%*GT>Cni%H!g+$Mu$2doa;Ph9vx~s zV*2|b*Lip`KYo$NKhM)&<9s7He@C95oagV$^*Y4$T1oy!v zUA*FnavO>B@#v?E9HL3Pn+HyN&zBO1o9%bb`Q%CL7yDN@H}nc=nKyWUO`lp=-J|U`m zi=tfXPbPjJCJsF|w=5aBr})_CrQVW$&C7MIs5wP?FaO+V!0d41-eq3j*)O+|p1XE^ zI9k0g>2YM{O4V*3(xc~zDk~zuE`?p{+#$j~9GO%}IFP@${)lVU3p|BkadtiN7_$Tt*?>-k3vk^NDz z(jclQ15}R!^E~}RykFOoG;ZWfyxXp-HPz-mcW-ccI~MO*Ii7A5=h1QA;yj;HEMLo# zT#vn6uQNn*!+lV?wg714S$Pa)1b zmFKgY=i8L)F_7yui0Fph^qF1kFwuRP{>wMZUy05>;rZEw7essG*o=1HDN$cJn#+A# z7*X{f(Y)h(7ZR-eShUL7Dnyw})_zgF@g%5{+uz^SM@Znx<#lSjD8$_&T>cx6_bX4= zo%6VJ-ab4Z$Y03!JJ;hD*Xte8jeO}ia&$wY&)-kiVayexJCJ8h*}1kP^!@0!H)N%W z_Tvs|g6kNf%{?{NK3@z`E8~l}#2hCfHj`$o9QU56{PwKa{P+PG^!0u1l_w~7_jCCZ z7H@ocp6(0hnZ|kJc|JvWzEY;g*xXz%DbZ~mJX2TsJkd)g_sjqJCDB)~`Y_>a8=~9j z-Dc&~nnYK2$EMx&yh*5L$)0g8i9~zF>F%zv@kHypc=g~Z*NC=co+j-b0>l66cx1dAsv`>hXMKOph;Rxn3|%|J46r?4toh-({F&K-t$sA25Dh ziO)NU-nsAUw} zf7~VdU5y@E&yObhGh-jyPL3h^qvUvyM;@YIK4;at?`?=auK46xHzpCiXU!rDIzbR9FC z=r>D-w;1n343(?a9opH27{U`rSFoN#4C|7d6lKd1!{PJAranDL3n9{Gn!S|cEyMxQUcsw0XH-+=O;sEw~;EuGcIYHZdQ) zYZpsHN5p(s(q%Cnlxt9#LMLIo8d2wBuP;-n&%4|ust@~0y?V>9e)afB-B-`P*!e;y z+NG<-m3kp3X}c1MB@1=e)7tjdReMG_5y6eTMwt9M5#p&G2unAa2t2*Z5P^4iWy11V zN?5*^2-9OTVS3G?{o4LIw%^E?G}uG;X!Go4H1OVHhr_c@Q@?kc+P)YI@p?c57sQbwT0IDy-xwDz7rALuuepf-(E?C zc*}bdAzk-Igz;Dt#ygd;d}b1s?`6XDSWg7KMm3^NeX3SY+|ZwToww-r{&QXGbFy;K z#VG}-Y-;_#3XI-Gz3bjTyFs&t_9^RD%Ik$K?eS?(p6m5m(+*$k`g~N6qYh(|93KyK zrZryevI?!gjtFkURYZ`>dJ-1zC1L6I!Sxk+S`&d++mWz*juMt{UBdKONd&z%Hm3DP zjMBPPm`FRd-#R^X+ZXEY-}jGx=f2Y3gQT(YncHCgwrGF5h$*yZ`@EHIcr2k^B9{H7 z%)5`aKfnHT*%L!ZB;)n0WWE>->@f?GX`2=bR+M2KhON`!Rz8xzKJfe5^j zr3lMsFk$)rMg%>!wGtG#40U{bJ@8|N{M z+zLB3+k)1sm3v65Bv0BxQ8dD~@=WSb@!Qc;Pb{g!mnj8GM!lu2bA26X*EfOM^$f1i zd0$ytf3t2&?%pkFiHS2iOlr7;2(I;1BFOueBtksej0oxaITL{=rZo|GpIQ+ipYl_Q zkZ(dzTS1Rn->9J1oCTzE;ZB*hYFL>{3cK82Ue1l?^Bdv!c*b!exbs|yAg{2V z2=VIOCqlZGtBAnUcNP(Nca|qYKHIcZ$hVG!GCk^2L9f>qr0S&ty;>FkBN_gxO$-utjdQQJqC_O}(>JFVLa z@@+muh_~Z=TOr+(+j|9`B15UbTi%8W`7A6>g?t-drh*1|ftYX@=eOT*3-@twGdp91A z>9FXk<=(UV-X9yVYv|tnua=D)zTj(H!QHpAtsuWg+G4!L?of z{-#YG>EASFV70*;)&|qTJq|>d7#T&QXLNpIwdpF2uCU_M$C@ED>SV=Sz51`BQA=!x z^qdmL-3TsU%j3cPS4ao*QGsVT=hgFkKJ$EMaXkiby#i=LLf+@y=kA~hudFK8voB2J z_Y{kYvDeeMsHI7lc6FyiYoBe_Jb!5#dpUOn;?{u1JQ>^QnMz7yI^~I8vb_!+{O9X8 z+nRi*gEuUzvuslscflSgZ)(ZoHRb8La-L?Kw<^!456^cb*P|BK>mrR`u+FodER-e; zX>@k2br?-(xPRSXi*q#I_ey`8?=WwjH9q{0sjhVBQ|rQsp$0nS_1=$P+pVEP+Bb># zPCar$yN#k~}^pO9ep>bXRR^|TvB^~J{MSJPZLVNu^laIMdKfwyc+$?g2pd*u!(5$ zD~%71F1055FpX~+J!NOTnKZt1-rp*Y+D+qgS?rX0&gJexE^vrv|Tkk+W-xfD3U!n=M@+_D?vMx<1o|xOou>p;L zzPRJ{kMC*x@js_L?hJabxYoAXgx55F@@1EIjV{pm;V-V`*}sOnE4chTi#O4dr)$l5 z-f-U5JfEgK-^Wak+eNruLuvfg`=tlR+R=nOuY5!At)mHbZ$~{Jp`i&aBW~Hj{lSD5 zQ{Lu%4|+Fj5M5)`DBy7@?BDA(O(;A$`ok8`<9qDq{@Xj#_zzzftzPhoyU=a~IkYDs z-hP(Oy)@@ZV7wplvV1-k_^Zv`X@ckA z%Qs+roDdY_r)7sCLhM*UE=B5bDnLS*NNv-jpy5u z>#>;YET~92M_UXQ7 zz_lA=q`mX(a+@8zRq9b~a*xnO6Qu6r2h<+xA1Zb4aM|KyZ77G}HsSIJ9&a{JcbM}` zjc2Rp|h~qpyM%E|7YC zIGHDZ?^)7*RW9}`S7)TO@7@zN*A!SG?Q`Vgb9E4v_Nlije*ejD(%#pi;`g5D&)tDc ze#(N!JI&MW;yhzG?^>SE3ZAbm*CUqewNdI5^m*WeBS)q3QoSYx1{at5Oe_4?$vQHr z%%=UWSyA()18iHo`b8?2dJi9eXz|=4Qm>ZxW_|toQQFV>Vzu2ze5Ibt%8h*$D3^Nn zn-a83S2EcZy#73&tvufdu17Pj*CVM<`IeW@?;aubIo>~LQi;-+0sv2N(Y`9s;#?hs&qhjvnBOvFOl}|Lt)r{X^>Y z%w=sYa%lPt|7l3l=^73bC!K^mC9Zp*;-)fYw5su&)-@deJCAR=GyfZC9g^c zDBP|-trH{d|7_|n$0{qO{WmDuw)W}EU2iTA;qfN1bft1Jo@0eM?^~WvYo6~hrpJ9N zuGcrIPpkMtj=zRUeU{~3zI9F?sn4+!(@KAeminx?R_(DI()-uE(ej18)Tj6#U*})D zB$Xw4JFTxvq_SMK>a8ofLppG|{N39EyQBl7SGU#IDZ|~$T>cx6cZ8>N=R8nv0&nx= ze1v=_a6ObT`Lnd&4#@r9NM0#jSKrl*+B9dDLonO)4*N zi!@X=k@|d;yk9%AqtxeK#R=QKES38FuK#PuHaNdvCCayuzob4}*AKIcD8yZ8zk>WV zk9U}-gLcDt7_S4*=M&F&G1nuA>!p|aoN3>}U^z+Z^E&SNxj8{nc`f&Di3&2qTu9%Qn}X0Zl`N*sa)Oewr0~Ckhf7viuRMr2h4q$)Y3{S_w3yEy4PRa zea+>?dAuGx-AB$-lk?u-`JChVLVFVQ@Z);TYnREzhRSQ6c)c$15e;6npy81j&%|i7 zU+}`UNiA<0!|oSdw%v00U<|wUI$C^o`BTPl$I+E+8{`#(7Sw6yg**u*R*M4KruvxO zt!F2%^R`*GvQW9-PZ*C^4_vz?;g>IBc(>iQ*%gvX2aW+&t7cf#!TjcUuk-LiPz0cx-+UaAfYEdTO^>2;hi zy~@%s&&I3A6fQ!e8jUTfC@7(!)Be6`)3Q5NjW2k*`Q(u_;Pa>f&APmyzP8=-hvmyf zy+3{XLmm8pdJGuReu!&5+IhxxwfB*Yw6*h+^}`xf*-dI#1@2ihmk8m8HwZgEhOqdR z2upvDFupv5@qZ&MzsZEV^?RM*hJ89_6 zBeS>Unn*(&0`C`Ia+3xI8v5VMMX7JKMsAe{6{21V8=f~Rzm)bI5bRd1Qw=I@((s_0 zlgIAX34=q!<`gF^+=j5@WeJPFn6UJ)jzi!(LKy!e!t$F+SpJ6y(<_`Xy`pK1bI_&- zVF7gLhwZuNE?-R}4I>>6?16T$)8^!oMr~=RovS)*=|?)~a>pL0kCdf~T{gLkA74gg zAIkQx7IvNX&U12h!PB%s#JLgoT$7c6=sb@oy29el=ly5+d*~ z%S~8*u7u@(iZH#x2-9mf9kRHrZL{^yX?&9kbwl$1Nu$rajrMqwKqGQjyl#8?1J(CD zGB{>pJF1!FI&zq+7Y#a_e{AW;GpVol+>*f+HPo|BoxQtZeNo3UA@!Sv)Y|PJm*jSD zRh+P}gs|h~35y>_So(#8@%anhWj{Vm#Uo7IX&-s@d)()8&xth8&s#!6@hUf-Wr^j<{=MV#z)ozAEJ!Rv=>r@x}! zg{~>DM?a#SpWjLJn={X$U+6;M7_l_`rDPj5TB`p8Tgy}V&FumH)_-~a~?3;X*Ccb!5O1EMN^2bKN4pz-vBov7R4 z2!}~KA35~0tJ`-&twTfz?{X&WcqC!*0|-kG&-VqsZiMllAuPWb!ty^$m|iyt(`znG zxZruahi3pyI@TxZ`1Ou7?%GK2k*m+p*yZkL+)5?UsG(N|<<&;gFqicol-I`7&|DXC zjoGlADr4d=_kRh`?cbl-)BB>9_IMrCa@)~X4!$<7(&%GS!ooucJ3fxE_-hGEzlkuu zX@v0)B`m+ugy&C~UcQ9s8?YCR|u+O^ojkQTGp45$$s)ucLOKxV?P$=_`%#-8=4X8rU%TI_X}1XVQV? z$;W$rEx4fK96MwDUavoP$$M>da#%Rt(impx*CvMr{B??n#SWo z`6eWB%sq9IW?SluM44Xj%8$P;PHMBcb zyeP8l*LQYQQLEFdvC`Glf0ioupdBr#zkQ%x_q_9A{qp_+Ut~el?}CGSzPV?p-|-%C zv%Ze!;q&~sipO8d(>rp$L!954=LhSXh5VN@y_#5Zy?ki+h7KA7{(;rzvUezq+CvQ}KL@m#M4bV!A} zCmw9Dqj4)DAGSZ}N(T=qP%$d@FB&!3s{MPb$uzQA7gY(jW;CKj{d0d;D@()Ud`C83 z{eXsjUo<7@d~O=HBKAt&Hiv0g#FOELW{;y`fjh^v_CLkLn6BV|(JJ9$L$0MH0;CS%0a@V3g>CkrdPpiK? zqC*NfC!KQiqOmnJ39D|_qcPEQ-&X$n0*xt{>%K*tlny@H*5R2$d3X-EC2GuqlEyGQ z?#koe=jmH>J}u|}!t?Xt`FH1fjpTYc)8TeSXSiz@(h>bGHa%f^g$^q@bkt2JUz$|x z=K7a4_tL}``>RYy>PQntS|5Dt;z1KEzAX>F3eS(`75HFNcr}gpOzP-w2hXXRPW{DY z`h6N-Gs0t#Zx0@Rz>iPo@i+7Ig*cy_^Lz08j`RH0T(9L^uRC99GWj{)(t7 zH0eaH3NkBCnlyJw!4nA$XwtaNSG*!Dc(@TiK9I++!_$9aeB%pn{%<_LQ#}7KT(1vY zuOK?ky;HvE?)B;T_WS(%bbCq1y7xbRZPI8u#_RUjwjVCi(NTwTo&2RN9krv^ys_Hq zbW|0C%a~0GbmY=`6YQG4qa)qN-L@!LijJ%?qgKgv1L(+-A+s)>@65wK{CEWx-zFDN zKbG?~<@_~xeh+y5bGcr2T(38DVt9Y|U32cxiI0DumZ$N4I^kWN{Wn7b=!9H{>vdmr zf{w3op^>xyemc(QaMeE-?W1G&pT4&9+gv)fLsCWc-&g6FzoWi)`?iRV**o%W;UGsk zX3g4Xlh#=CuoFMNl*hlv)34xszj6NGcz)M;{zJH4kGNh3=w#O_^|)5+U5=Z^a| znojzy(yT6bs?te)$8CLKC<5`ejOf##5S=(`SITaG1F!U>1H+Xaff|NNT;)1 z==+Oaq{I5nj(t9jAg=Q9TRq!Q; zPa~dhAFfA3uGevrs9WVW=GSK=!K<>o{i84vJ2$lR+A-HiWNmtD*2^x$;M?itvfKV7 z^!SPSG#l*b#&)7f*L zx14tf&&Px3`+@5*lpXhz)@FhJ45Z$X6)!Wo<$X!^cE6Drv zcprGWTbySn=iSBgnalH?!}VCo_1Z%cChe-(qVOt`X!YXu$>QBeLYLF`A|h-_+{-pa zREHeNkgrzFRzES2m{_&{NnJnSRll4(X)cMXy7i;GbUle|QKizPz4=MRp`{%@>O8sY z#pR`Vyu&=*F3zLnyd!u%ZF#=!xgIL6*G7^s)oQHrnF~oQm+&F?_T?nueDu=FTfi+; z&1>Jo2ohh|dPnn}i6pMnpzGV$4Ix8@J#k*MayyCbV%tp8&y~asmK_Z)`i8`mo=|tG zbp`I$WAbA8c|1>^?iA-4&3VW1e1`IT*K$2}aJ@k9{cgo~IJ6{*P3J8>Qs@OqY;YlX z!x=qEI2gJ3Kp`zjsFUB->GgRMA9E(KwQ?4TyBBzA?v|4zPE}R0A+{fhs~B`JblwUw z^v?|quMZ32u9nN!^LR3z?i}Y?$aydEe1`LUhj2aKalM+7#JmwxX3hb*w{!0@`IAUu zc(d1^tL`U>JlH;3yAQq`)3yXj zocwm@u-gifcz9~}DK(0c#7mv4ciiVs5>ISX&L93aNnFus^TPdQNaB#eCG0OvAc-EA zexKLB5J|L~w6x`h*(9-Mxpid+U*zsJE}zfiX0PenG3JBb|Xp4CoO4HH$O?*Et}nY`hAkL&1%5x z%9Bab;@89HeaK6aCT+}9uv!z6H0+{cUtm%07UA+nEZ+N1Jlz=1bA$8dx zJ*slO3e#aLr&v#DeTBv^?7XpSac?@>`_pm+c%dIES9=7im-knmHHV=4TvDELKiQxVQ@7bVy@(aS^c@UNk z-ZK$+;Qk8o-m@eupErc%TOZm7>fuM2UXQ6#vA&bVfrm7DaO}Gd53AA0Lgls>t(8Cx z<)*BU%kM+APVLrKnpuo0$DcMV8VmE2ww0@T!a6~(^P84F%u|KBt<%03SFjSbdvo~F zjSpjq;J)8Y1bKlwu+ACc<$gw3I(x!+x)H`(hp>DC2+MagVS3ajf?fyn(_VwG6#Vev z0Ueavbzfmi71cg$+3VER)l_q=dA>=74$wjFmsiYG1knKdHouQ)Qk2R|KiKFXv!$LA zmy*u{2GFis7R~Codj;ZilCX4y2t17!5yrcguzYqBmhU#g z^q5Bky*{dFtLwL0AJToG{bK98-Yq%Tg zzq_!2dR3lruIKJZ>RJB(+B?&5s=Ba`t28M>8B#J7CC!tREW4yc6p}`Y2;msQp$y49 zA2U5srjkm9GTu^&%1}y5Pohx~Nl63mZtpu?*L%HR-tW(+`&#$<-~a#5deCz^>+EFJ zJUl;x(X@IW`|ttS{AFCVU!M@HJ@`aP#r;0aY3QnbD5XJ|I&~Xi`$mM(^?oDlTn}M= z^aCQ16<{_k9I!f=TFOBgO=4I=yc(}m+5vgN&RejZo;$OkJm_q|N4TM1eg zsmWjCg+W(f==duKNziTApEOT!3TVGxdfrQ`1vFQjduJDT6;vZj(oDT1K+ZLAjNh&O zgsqx{=^v#(_x4*CaGJ1lnS}9~ID)XgYJ|;+C2X#oI>Yha2NQgKKEljBxaxbfBf4wm=Bno;_JZX1_8tIFbWv1v#n%qyp+FQng&@dW3VLcDIscF)gMQz)`);DhnE56X0IGKFzQb^8)BQp-PU46e!9 zc3qvR>zxSGKW9o99pO{|J-7A8ATU19uLI+2p9)M)W(6?0Z$<#a(QFC~SMm!Yd#v(S z)hGIM2qLc(t5(U9rGbyNhGb5WMO#z_gd!4&;wR6xwQr-zw4;yie9cQE6IRF^>zSmX z-lqcXx!*O^8{X*NQy4i?{gAZGGCpW4|6N6fJj#FfXI1i*|JI!s_625cN-8iu`Imt4 zeYXghoX9j_auoxC;ZSJ>hU)_##BY#jnt$~pL`vVx7T%Q&p?!*@1sl^LL@P46^F=iT z8+C2BRH9#J7I-`<;adwq8{VCFObUj;pYIp1npFdVwaM`|n`|Ml@YDk%`o86GW%_og ztH-%;^wC4#6wIMt7c#j8$Weq`-y!y<)3R69O~8AWXCXCp1Vrihj#t+5f{1Ce0<~o6 z*Oh)6O2*T-L#W%Cq~d|y5CW+tE8<2%$hvXm&wHJg0M-C19i)tAoO|7y@HyZShr!{5q0J` z=ZHS{(DyXvG+^!rJ!E~3Hws0Ys0xi z=wpn&i!o;-=Jq3pD01aO^wupu!xc{gZ;ANkC8Lf2Z{w_j!&x-n>-T0BKeQowr<-xr z;CF~>ycEB{+!~@RHaSb3Zh-haqvPUSH2Tn7 zjPIYEM9kfc92v;v2+?mf`3meifF~X~=xuijc&qZA7U&89Zz`Lc$=(u2U07RuRHEdxB^oaVgz$-o;w)KY%P7OOq>>7PSJC&tdr7=b>G z=v#m}l9)RKIm(f%6L?e9Hto2PPS1C*E^d$lo*v)rYolHP@1UM}XTWsexz+jB^wa)F zKAHQC>jR!gk!;htJm9(XoNHD31Uv`+vHnd9foE&epQTZXwG8_UP)Fx5b2;ck|C}fPf6Mx>v_^LTf+P^JEOLjMXk1viJvulquwQoAV z%j9?TJ;^rdrl=gX;mY=3qizPyJwzW4`fk9SEXR^4t~-=-oU+!lwDXi>|BqHN zk6V=ehEE&D_3Wi=D!jxc1`?=)tB>zB9kqzEbO`Ksd6Z5aP|#gvxLJm>ApP4)3LFnfuV`Z>x?V0mSaC2b>TQ?fj-%+Z|Zo=S;XeHk4KI` zQk-U`=aW7=Qyi#xpP+Gx;w(0Opyzv&}5p{ELE(d)!vA+HjF((^yFC&L9a($yXGx$`! zNgl;1{MPD!@GHf+H`aXmWgCj)r+wnC6s;GO;1vD3M>$9f=EpTiQTD61%Z~k0K-q=N zI@3CEnz9plf6nkek2>_oeeAfxf3dbjqmigL*O68q-PKFVQc z(IKhUC6s-Q>Xuc$^m(Mn<~3VtVAaC@4%Dr}IjdnG)|dY8$mCqaT>3m2j=RWJKyf@K zPA&}pPI0P-s=cJ>`R-f=UorZ;KN#s1#{8r>HNoG@=F;byJbm56Q*9K-+O2!_-7tzn z>e{wyMpGQQFXcsn<`hTtsBZM2E>=31>06*K5$9t5`Y^tq*_>E@%%#tf;c!7NdcWYz z##&SQ9N)hBvCoJ8xtaKEhwHc~%2DdMXJ=jl(cD=AJ?hP2{rG825kw zX#>_xoU_Y}yud|R#C)t$<{uT9D;o^?efoQ!Y)?=61wYsL;r;Dd_D{2==M1k6f~W5G zP}w%T*4>;GqhtQ}-nXVt$Bl#B;d|GxDo+_y+g=Xq=jwmG-t;;B&$?9Y!5ZazF+zXV zgxw#$A4k~vtl@pu|L^m++5F<+eU?vac+K)F4zK^$*GJf|fA~451kY($&z@HnxUY+{ z=T3SFUd#C&XE=I*Q>(6QP39D^YmJ<{QU51cU3Cjuo)ZcCPw%nhotOf3gSE?RW>aTas_zmDK?A?>BunMaaO;dG5T<0v>3; zxuUA>)>mq_B3jP0@C0Gk#|XP`LRkG6!p<)stY0f({Z$E@mqXb6YlP)WCoGo%_;0+Y zcX`1#2okB`@_%fCV>b47@e1DHtx^?f;qd^t9qPM(?$865{xe!P%shaz``P*4g@yEU zj$dsnRjdZntSKVtpX)(?e;KikJzZ*k;ooiAr_>3%7A5SyKmFX|-})@V&YvNypFLsy zH3^$nMc8~UVYzw<%T*77LYJH}X8J*J%NHXv(NS=G{yU!l--F=0<@%tM-61$CIxaI% zi+*khkQ%kCJ>Yb1WA>Fn1+YEwWpLinS+IX)^TW&Ijlp2Lim14SXsMO-qWPT*ju2*T zUP9RYd4$m)86@odWWxHj64rk%Ve|G8Hh(W+xm*duB|_iJ^6NaYJ#7qqugW&-a!DBY zpPaO!&y)UqeL>w^RYfj%U&w#n4e=kA*}u~VdwP->*qyS|9HaY9U^T0F~V@A_7Rqg z3&AyaHRA;Fppe4WmbQu`GfMI{!C z5_U~LcaYg1Nm%_M!pt{z6V}gyu>N6$&AUn1d{x47%^@t81%xd+kg~h?1VqlTw_12l z4T4ppUc4F1fPjT_r8;{&!B13B{nLk+^m9MAU)Bw81}2ur?L1 zQ^`<-9VR>5J3Qn{54z9xoRYenFl+8D!tAGa6IOqmu=5s#^`q~pF#h)lo422^`9Xx` zI!ahB=|8{s|5W<-&8Wwc@4f@4IYX!CVa;%VpHFLTX7ArW7tQ7mP30{o!~1)GeM`vT zw*FmDk1#5db{<~u@e9hhdFjaC^;D@mEuR^~>)j6)R@I5C|6QNe$u7Tg_wPETBVQxq zZ{BWZzwYloGp{kc-oyCI|6Mcr4#Vrc3}5KqHN)RIyk@_?;m=C}`}NNq-e=Eg_}|IE z^Qr<@hn913>7sDd%7PReFb3z*d$U&_JqC_08bh0wngAy-$8V-5{dt16gTl`$B*06V2oQrE};k0tX1mM+)= z+}UeJRu)@>yItJ)0GTFm>onLW9Ci=f;-hB{#dw0-0rS|u z_k=+RDyg&b_<9Ti!xu|C53GlPEP*?F0!M)VfV@d%zX14q_O`74rU(AB7yekT_XduC zmAcfv%n**h8TL;r?6H(`#m42>r&Rzb@tl4d=65Tab&s=UT8-yq8k}(UHF* z+a)eQWC@?cj~Hu+P>onHgMQyQ?8}oK-M)ZB%SCa&5Wg;4Z^-P+qkad@Pe8wy=sykf z==YD9dja)hqFZ}63=A2rHzn&1hzT^wU85a8#FFFsgDa$`BliUF@pOXxa*nEZ< z3qjj#A8p`ur#1A}pH&_Dk z1#2v|YsNzSEW5~W$MqrZ{6Chp3$8(&f#l=s*%lBdlCj!yjtaznaLzAS`vGE~H(1E} zpTl)0?yo}qL7Xo}zpdy$Za9z4UyEE1kZT>J_|(S5T`Y$a3eD#2@9iPEKL5dT_qmWP zb1AYcP7;!iOuWD8Z7C#nrjjMs#Ub%<{cS1Ln~*s5$cv|HHz48h;Oe027m$$mYwo>W z`ye4>qWHU)_PE}U`|YT|jq}y$CxQND!+C7}9ONoQE;Hi$Y(|E#7ybO*b9d&f?0-Ql zhDO)u2+^PWavnExGt4GCc;{SS9F-^AK6pJ>OdceL-d6*!YI~EdZ$yfYJZd0Y-m4vM zA1O|@IDS`EG?B+DjeQB!HR7BT>ysjazQ&ld8gq4#<6q?BlBiuRkG!~Q#J?f3$#6^` z@tQyNq%(pF{{^7 z3rK*D+^Hu{N#xif*V(4uBZybgO_g!dB1aURC>pxOMR>Il?Rce5-?pHFmhq>Wpx%6nzxX_X*~7V{R>S+(xd&B((EMk6~XS3Co@9 zm%a5H2@PNNwl>e41p9s4q4%nt1ez$!n)K)+@psL-S=wt#{CW$2wOlbbVV( zj;Uo_S9sk`eBXRl$oH$ndK>#asN0Bh5$I!$zFnB}0doym4g)^q$|IrO>(#Wao{+GT zN?F+*Z%EiqckRedGZLyiuBmW?9tqCr+Pm?7EeTro=KhO2)+Auyo}F4IkbnsVhQF#G z6My@?qpQXW5r5gEku!eQV7-fdG1NWBxjOW5LEl@Lvl(-ZkmEIS0SQ}DcfxszED38P z1%5B;NLb70ySD^wNtpWALDv%nBy@}XwMws#Bt(CnMQGyy3AT!TbA!)>1m)$)@S;2E zynR2nPWeRwzq~xRLe~`QZniJRkGfu*Gew{8=-YugIhea0IsR}7kg%kXq$MkINw{ny z6(;n7glmtMeP>cY!Y64v&u-pB!eWc19((U6p+kNp<@<$6sJ(WjOw(}^@?}X|E{rB2 zskN!oRI*5jbJyVz*AZ+zJcRx8s1v}sDAs4+5c*nR&KAr~LyqUjl|sVDOH1%t)JV8v zdfd;;<|O=D*~qBto+P}sSJFUEhlCfdTAiGIfP{O$)_kkFj)bdGd-jQSk+2_&Un&Xa zlCT8&iSB^IqU2B9djmP?r7xjMK1b2kYROvfFyyC zIP)8!Tj|fu9rK90xcnjbY<(!O-rzfM8y;LcRWcD=gmkrA=>HG5`#COymsHPD zKGy{kpXZ94m&-t7p|D$?KrUhH1j6*&I|!?jC+ysL!urS&)^|K%a|Q^T`=ENr$7bz3b?goT6z!vU1v$RbvQKS1J&ue~rFh%;v;(9fl3xQt=fCu^$@(G<8Gur=8AKpeQoIje+rz5%zNS1O|BW`awq>!J_S zx`A`^u}}CeS+K5Jb$$Lj6Z-iLWA8uSz7V!$$3{vjZUnXR`yQvx6ceUq%Mqrp&_q9% z;kRxSVdr)e#%JeE!uk#pHs=aqbLr0mF&yfI-|OXMdciUk&!Y*B7^YE(4pn0t+6MMS{iMX8u~U1lT)bf3NAWlVC9A=kdyx6R=WI zbj1SSF@&k!HwfETAgoS>uydCQ<5T*Ku)g|)&ACaK+$8$nhhsQ83CmRhBFR= z6Kz$d%3Xuque#q>&)0Jp~!Kb()q}YcuR88^xk8xADI{!v5@B@XZV+Zp^c7)z z&RijkujNO=)tsE=0}53i zek{}lSQEDKM7HV+Sl4>tAC0x|K=U|BmpHx~D2p!zw^d$&im;CG^n+?3E9I}ozm!9m zx@a_E`j!=h(XBW@m^r`Qgz=$f64uv>Fge<-z~s*4gWnuEL-oLL?TR8QkuzSlP1PXl z<;vc7&izK#ehDb4HZvhBlJhsr_v|L(lKR?*7i++bQpNtspIc$R{kHXDMc%MbQY&rM zyo;dNG}h!ke>4cE4_3xq&Ld3CnM;268-A4$MmPIDVdhE}62|BGCt!S+YXFmTv;ml0 zQ#W8Z=9mD(CB{dV-8OdVGM6FiQ+JDQdul?o+H&un8~cK+6{s>^P#jHGthY+al~8| zvSy>IcEsWevfRHay+A;OD0k=n$`&&tvizHU-ls;9Nnb0|RWdZxzyGu9R*YPQdW)UG z@m&YK%bDtZpq%N?lL1DTyAPPT6T-myBmv_)K?InbrPqPYrGVieJ-~2X<%6_af$bMI z--U!jbz1!!>DQftI$QiCPeIH*X_>vZcSDTiCMEi*Gr&7Nc7FdB`d;6b&jK;tzQCIr zxPFEGFNppc&kG%zMc;o-%Z0ngvHD?uChF*Wj?COq^tph(#+YM{x#`H!i(EC3x|UD& z`hpK|;y`g)i0Lgz3@IgPnjDC~P_r(_-~+^Y&EroJeF3qBW$sfxUV_;9W#cM7`a;b8 z38rH^1|cS4s?UowGl=n2$gQ=h`CFO(KGY52oDcdGqVHSG>A_qVm zBb-Rhih3X82+5860uHaPg~T49`15QbAxZCNnecUpKSg!u-FJhyPnQ3HS0Qd(M#l!nqgan%pMKrU=nmlA1N8Ak-#eJ&jJb8laR|BAKysY$;>D|C zA*I_&<8<*FNb!_Zd()H($p$msUpC4>((Jh#s)pPlahX6<#<~NL;5ls%H#QRD`@_Xs zjp*0^=@v)ZynaEv$AM|%@+qw9*dIXM1)NJ5_F;XGV9qSe%^c=nx%?n`f@Epz?yHbu zexR_cxCc^#R~$|juY%-n1sBbWPC~Mh;+E*WdXQw=>UjT62P77)G~Hms4~c5$li%hK zLc;r3y2^W=Ktg4Jw7l0XtX0GPKRR|!1bsfDuRiAFVD1g%Xh*IrNE)2mqBKzoQY4Q{ z264!*}MSXG&>gORT_j0Ob^Ik~O4F2V$>jH^` zf^iXj){ywLBwM`YD%K+G+o8@G=XRq{Ci*VN93?h){s3}xBG-6GUOs}#t!;r6{!JTC z7v84%ZM};3xI>C*pqPYL1Efqpmfbn>DcKdb%lEqdfxW37Tq*ibL zkG;Z>bW`CUt)qMXR;DkCx{Ek>8-1$L_Y>ySVy-=MTt%)*NDeQGsT`_;6fxe^pjVq{ zUAxG+UHc)$W#pFWwId*9yLbGt^0kmMOV>?ir5Pl5uI;oso(st(D&w0>yC6BC_18{i zy6+#MAD7?pw=#Vz)D7U=DfBTyU;6KXe&^i#iMe#2;aG)S<&gYQvRkcM98%N{zm$_+ zP3tY6PHB7xDPfWZql`C0N{HCxg!kT%;#PmUxo-ue>`hb&IA#Ya>z|+L-1r?*mejxb zx`zJx=0w=78aW%Q%-=qvqrY#MIVbd4iN3CwqmQ|-kwb&!x=nMhaBU8}F@~NmS~2jx z6H>z8^o<&!2Pye6JMx2fK+4_GesgMQp8I{9GpytwrM5@tr~GtCxmmbij?h9#DRI=7 z{U;q#3ZC5Cqfc`&mDVx+7}U{yW{&{;U6;z<($3 z-wFJ80{@-B|K|iKpQ2u&&&D>C+uPzN(oQ;*^F8avoz{CPM@#9Xds$a0hnOJ#7`N)9^#((7hOQK+ zQ`mVv|7ptMokiPV`vb~8YIJu&}lf~;!HZXH)iZoX{^(*KMQqJaIO)3Qqk8N zb1E?R+As&pl}vHFvLcd`6(|qhfmhu^eUy7>UZ|NuyfSPL)?L{Dfw}>lQ$(K&=o^nY zc9?q-Ildy-RLZ^Ls9B;~HpRVLs`;|DiQ-O4$UfiSM7f=aJ!AhggmRtn&UfqGQp)Au z$VShK8p^rdws3OH5aq1gk)>2UhjJ>g-J`Akf^zbl|4eYwO{~|k{~UG7>|Cq>`rJa_ zO3aDE+$YHK7`c)u_jQe@zAuuZxI44mBn1s9uIl#$b?HfzyXEG~+}QV&o3X~f4|%baOVjhqhDm2B7n{fdG4Y3#%d!fC1)o-9U4#9mVI4bn8ht*X z?`O>E!CV34*o0hyl>6$z%Fz=GDefG{)%m(RD6Xzf-s8&}lzZDuIbxJWxi2!7C<`j5 z+?>|kyjU$nxmNqMYg-+oT-V8Xl{uWH4!?`*zh`xaI$RYD>m}^hp)MQe{Lx1M zeJ^3oKbX55ISi01opN`)aMu@1SWQ0`Tns|p&2DX!+Og7~)`6xUa{V4ce##q~I=^6uI_in~Er(Q<|j zhIa2O9g6EL)M1s~N^x^M=7=_*q`2iGCn{YODQ%zGU=%b0g zxtKEtbLs!i499ciT1j!uZa=Z(MpN8avA9xqF^b!~W=-|Hm6V4_l+3)PM=6h`abp5T zWKbUJ{xuG($5S3FABzr&rPSb%jg_FtgR5$CR< T&lvPg#vE_VRY8s^$QAxS^8wWx literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16.i b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16.i new file mode 100644 index 00000000..e6aa08ad --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16_out.e new file mode 100644 index 0000000000000000000000000000000000000000..32cbd4702e3ca4fbf404ff11d85c44af781a6f18 GIT binary patch literal 159724 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

k*CXHgUt+YMp38)5FV} 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 W?;oOLf{)9H?)l}^$93w<@&5q2$C%k9|c- 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 B=-mJS literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7.i b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7.i new file mode 100644 index 00000000..fdf63759 --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7_out.e new file mode 100644 index 0000000000000000000000000000000000000000..837c9c7d5df4d2435a203e3624ab71e23b194d24 GIT binary patch literal 159720 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 A+5i9m literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14.i b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14.i new file mode 100644 index 00000000..d3ed3f24 --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14_out.e new file mode 100644 index 0000000000000000000000000000000000000000..12f919fc262817a213d3d60be6657d12c213459a GIT binary patch literal 159724 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19.i b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19.i new file mode 100644 index 00000000..83eea962 --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19_out.e new file mode 100644 index 0000000000000000000000000000000000000000..f835f34ae99bae166ad843f6a6859e8bc35e1306 GIT binary patch literal 105844 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π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 R^wq+g9L&{5j&;Zt@js^U8~*?R literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6.i b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6.i new file mode 100644 index 00000000..d3ed3f24 --- /dev/null +++ b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6_out.e new file mode 100644 index 0000000000000000000000000000000000000000..2accd80f0b2f7907c331b73ed31c565a2cd583ea GIT binary patch literal 159720 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 z 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%0DW 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.0"] +build-backend = "setuptools.build_meta" + +[project] +name = "mooseherder" +version = "0.1.0" +description = "A herder for calling MOOSE and gmsh to run parallel parametric sweeps of simulations." +authors = [ + { name = "thescepticalrabbit", email = "thescepticalrabbit@gmail.com" }, + { name = "fusmatrs", email = "rory.spencer@ukaea.uk"}, + { name = "lukethehuman", email = "luke.humphrey@ukaea.uk"}, +] +license = { file = "LICENSE" } +readme = "README.md" +classifiers = [ + "Programming Language :: Python :: 3", + "License :: GNU LGPL", + "Operating System :: OS Independent", +] +requires-python = ">=3.11" +dependencies = [ + "numpy>=1.26.0", + "netCDF4>=1.6.5" +] + +[project.urls] +"Repository" = "https://github.com/Applied-Materials-Technology/mooseherder" +"Issue Tracker" = "https://github.com/Applied-Materials-Technology/mooseherder/issues" + +[tool.setuptools.packages.find] +where = ["src"] diff --git a/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_2d.geo b/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_2d.geo new file mode 100644 index 00000000..9d1f4f07 --- /dev/null +++ b/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_2d.geo @@ -0,0 +1,62 @@ +// +// Demo input file for parameterised geometries with Gmsh +// Author: Rory Spencer +// Date: Nov-2023 + +// Geometry Variables +gaugeHeight = 10E-3; +gaugeWidth = 2.5E-3; +// gaugeThickness = 1E-3; //2D for now + +// Parameterisation +//_* +p0 = 1.5E-3; +p1 = 1E-3; // Testing comments in the variable block +// Another test comment +p2 = 1.2E-3; +//** +lc = 1E-4; +filename = "mesh_tens_spline_2d.msh"; + + +// Create some points defining the boundary +// Will have vertical symmetry +Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen +Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 +Point(3) = {p1,0,0,lc}; // Parameterised point 1 +Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 +Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line +Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline +Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge + +// Connect things up with some lines +Line(1) = {1,7}; // Bottom Hor Line +Spline(2) = {7,2,3,4,5}; //Vertical up side +Line(3) = {5,6}; // Top Hor Line +Line(4) = {6,1}; // Centreline + +Curve Loop(1) = {1,2,3,4}; +Plane Surface(1) = {1}; + +// Top & Bottom +Transfinite Curve{1} = 10; +Transfinite Curve{3} = 10; + +// Sides +Transfinite Curve{4} = 50; +Transfinite Curve{2} = 50; + +Transfinite Surface{1}; + +Recombine Surface{:}; +Mesh 2; + + +Physical Surface("Specimen",1) = {1}; + +Physical Curve("Top-BC",2) = {3}; +Physical Curve("Mid-BC",3) = {4}; +Physical Curve("Btm-BC",4) = {1}; + +Save Str(filename); +Exit; diff --git a/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_3d.geo b/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_3d.geo new file mode 100644 index 00000000..d7250dc9 --- /dev/null +++ b/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_3d.geo @@ -0,0 +1,89 @@ +// +// Demo input file for parameterised geometries with Gmsh +// Author: Rory Spencer +// Date: Nov-2023 + +// Geometry Variables +gaugeHeight = 10E-3; +gaugeWidth = 2.5E-3; +gaugeThickness = 1E-3; + +// Parameterisation +//_* +// Testing comments in the variable block +p0 = 1.5E-3; +p1 = 1E-3; // Another test comment +p2 = 1.2E-3; +//** +lc = 1E-4; +filename = "mesh_tens_spline_3d.msh"; + + +// Create some points defining the boundary +// Will have vertical symmetry +Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen +Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 +Point(3) = {p1,0,0,lc}; // Parameterised point 1 +Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 +Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line +Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline +Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge + +// Connect things up with some lines +Line(1) = {1,7}; // Bottom Hor Line +Spline(2) = {7,2,3,4,5}; //Vertical up side +Line(3) = {5,6}; // Top Hor Line +Line(4) = {6,1}; // Centreline + +Curve Loop(1) = {1,2,3,4}; +Plane Surface(1) = {1}; + +// Top & Bottom +Transfinite Curve{1} = 10; +Transfinite Curve{3} = 10; + +// Sides +Transfinite Curve{4} = 50; +Transfinite Curve{2} = 50; + +Transfinite Surface{1}; + +Recombine Surface{:}; + +Extrude {0, 0, gaugeThickness} { Surface{:}; Layers{3}; Recombine;} + +Mesh 3; + +Physical Volume("Specimen",1) = {1}; + + +delta = 0.005E-3; +topsurf() = Surface In BoundingBox +{0-delta,gaugeHeight-delta,0-delta, +gaugeWidth+delta, gaugeHeight+delta,gaugeThickness+delta}; + +btmsurf() = Surface In BoundingBox +{0-delta,-gaugeHeight-delta,0-delta, +gaugeWidth+delta,-gaugeHeight+delta,gaugeThickness+delta}; + +bcksurf() = Surface In BoundingBox +{-1,-gaugeHeight-delta,0-delta, +1,gaugeHeight+delta,0+delta}; + +midsurf() = Surface In BoundingBox +{0-delta,-gaugeHeight-delta,0-delta, +0+delta,gaugeHeight+delta,gaugeThickness+delta}; + +// We now can use these variables to assign physical surfaces. +// Again note the tags! Physical tags start at 1 and tags are shared between all physical entities. +// Physical Volume("Vol",1) and Physical Surface("Sur",1) will cause errors! +// The names given to these surfaces will be used as the BC names in MOOSE. + +Physical Surface("Top-BC",2) = {topsurf()}; +Physical Surface("Btm-BC",3) = {btmsurf()}; +Physical Surface("Bck-BC",4) = {bcksurf()}; +Physical Surface("Mid-BC",5) = {midsurf()}; + + +Save Str(filename); +Exit; diff --git a/dependencies/mooseherder/scripts/gmsh_tens_spline_2d-mod_vars.geo b/dependencies/mooseherder/scripts/gmsh_tens_spline_2d-mod_vars.geo new file mode 100644 index 00000000..76b0f5c3 --- /dev/null +++ b/dependencies/mooseherder/scripts/gmsh_tens_spline_2d-mod_vars.geo @@ -0,0 +1,62 @@ +// +// Demo input file for parameterised geometries with Gmsh +// Author: Rory Spencer +// Date: Nov-2023 + +// Geometry Variables +gaugeHeight = 10E-3; +gaugeWidth = 2.5E-3; +// gaugeThickness = 1E-3; //2D for now + +// Parameterisation +//_* +p0 = 0.0018; +p1 = 0.0012; // Testing comments in the variable block +// Another test comment +p2 = 0.001; +//** +lc = 1E-4; +filename = "mesh_tens_spline_2d.msh"; + + +// Create some points defining the boundary +// Will have vertical symmetry +Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen +Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 +Point(3) = {p1,0,0,lc}; // Parameterised point 1 +Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 +Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line +Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline +Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge + +// Connect things up with some lines +Line(1) = {1,7}; // Bottom Hor Line +Spline(2) = {7,2,3,4,5}; //Vertical up side +Line(3) = {5,6}; // Top Hor Line +Line(4) = {6,1}; // Centreline + +Curve Loop(1) = {1,2,3,4}; +Plane Surface(1) = {1}; + +// Top & Bottom +Transfinite Curve{1} = 10; +Transfinite Curve{3} = 10; + +// Sides +Transfinite Curve{4} = 50; +Transfinite Curve{2} = 50; + +Transfinite Surface{1}; + +Recombine Surface{:}; +Mesh 2; + + +Physical Surface("Specimen",1) = {1}; + +Physical Curve("Top-BC",2) = {3}; +Physical Curve("Mid-BC",3) = {4}; +Physical Curve("Btm-BC",4) = {1}; + +Save Str(filename); +Exit; diff --git a/dependencies/mooseherder/scripts/moose-mech_mod-vars.i b/dependencies/mooseherder/scripts/moose-mech_mod-vars.i new file mode 100644 index 00000000..46fa6efa --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-mech_mod-vars.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 40 # Testing comments in the variables block +e_modulus = 3300000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-creep-gmsh.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-creep-gmsh.i new file mode 100644 index 00000000..929abe20 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-creep-gmsh.i @@ -0,0 +1,182 @@ +# +# This test is Example 2 from "A Consistent Formulation for the Integration +# of Combined Plasticity and Creep" by P. Duxbury, et al., Int J Numerical +# Methods in Engineering, Vol. 37, pp. 1277-1295, 1994. +# +# The problem is a one-dimensional bar which is loaded from yield to a value of twice +# the initial yield stress and then unloaded to return to the original stress. The +# bar must harden to the required yield stress during the load ramp, with no +# further yielding during unloading. The initial yield stress (sigma_0) is prescribed +# as 20 with a plastic strain hardening of 100. The mesh is a 1x1x1 cube with symmetry +# boundary conditions on three planes to provide a uniaxial stress field. +# +# In the PowerLawCreep model, the creep strain rate is defined by: +# +# edot = A(sigma)**n * exp(-Q/(RT)) * t**m +# +# The creep law specified in the paper, however, defines the creep strain rate as: +# +# edot = Ao * mo * (sigma)**n * t**(mo-1) +# with the creep parameters given by +# Ao = 1e-7 +# mo = 0.5 +# n = 5 +# +# thus, input parameters for the test were specified as: +# A = Ao * mo = 1e-7 * 0.5 = 0.5e-7 +# m = mo-1 = -0.5 +# n = 5 +# Q = 0 +# +# The variation of load P with time is: +# P = 20 + 20t 0 < t < 1 +# P = 40 - 40(t-1) 1 < t 1.5 +# +# The analytic solution for total strain during the loading period 0 < t < 1 is: +# +# e_tot = (sigma_0 + 20*t)/E + 0.2*t + A * t**0.5 * sigma_0**n * [ 1 + (5/3)*t + +# + 2*t**2 + (10/7)*t**3 + (5/9)**t**4 + (1/11)*t**5 ] +# +# and during the unloading period 1 < t < 1.5: +# +# e_tot = (sigma_1 - 40*(t-1))/E + 0.2 + (4672/693) * A * sigma_0**n + +# A * sigma_0**n * [ t**0.5 * ( 32 - (80/3)*t + 16*t**2 - (40/7)*t**3 +# + (10/9)*t**4 - (1/11)*t**5 ) - (11531/693) ] +# +# where sigma_1 is the stress at time t = 1. +# +# Assuming a Young's modulus (E) of 1000 and using the parameters defined above: +# +# e_tot(1) = 2.39734 +# e_tot(1.5) = 3.16813 +# +# +# The numerically computed solution is: +# +# e_tot(1) = 2.39718 (~0.006% error) +# e_tot(1.5) = 3.15555 (~0.40% error) +# +[GlobalParams] + displacements = 'disp_x disp_y disp_z' + [] + + [Mesh] + type = FileMesh + file = 'test_mesh.msh' + [] + + [Modules/TensorMechanics/Master] + [./all] + strain = FINITE + incremental = true + add_variables = true + generate_output = 'stress_yy elastic_strain_yy creep_strain_yy plastic_strain_yy' + [../] + [] + + [Functions] + [./top_pull] + type = PiecewiseLinear + x = ' 0 1 1.5' + y = '-20 -40 -20' + [../] + + [./dts] + type = PiecewiseLinear + x = '0 0.5 1.0 1.5' + y = '0.015 0.015 0.005 0.005' + [../] + [] + + [BCs] + [./u_top_pull] + type = Pressure + variable = disp_y + boundary = Top-BC + factor = 0.2 + function = top_pull + [../] + [./u_bottom_fix] + type = DirichletBC + variable = disp_y + boundary = Btm-BC + value = 0.0 + [../] + [./u_yz_fix] + type = DirichletBC + variable = disp_x + boundary = Mid-BC + value = 0.0 + [../] + [./u_xy_fix] + type = DirichletBC + variable = disp_z + boundary = Bck-BC + value = 0.0 + [../] + [] + + [Materials] + [./elasticity_tensor] + type = ComputeIsotropicElasticityTensor + #block = 1 + youngs_modulus = 1e3 + poissons_ratio = 0.3 + [../] + [./creep_plas] + type = ComputeMultipleInelasticStress + #block = 1 + tangent_operator = elastic + inelastic_models = 'creep plas' + max_iterations = 50 + absolute_tolerance = 1e-05 + combined_inelastic_strain_weights = '0.0 1.0' + [../] + [./creep] + type = PowerLawCreepStressUpdate + #block = 0 + coefficient = 0.5e-7 + n_exponent = 5 + m_exponent = -0.5 + activation_energy = 0 + [../] + [./plas] + type = IsotropicPlasticityStressUpdate + #block = 0 + hardening_constant = 100 + yield_stress = 20 + [../] + [] + + [Executioner] + type = Transient + + #Preconditioned JFNK (default) + solve_type = 'PJFNK' + + petsc_options = '-snes_ksp' + petsc_options_iname = '-ksp_gmres_restart' + petsc_options_value = '101' + + line_search = 'none' + + l_max_its = 20 + nl_max_its = 6 + nl_rel_tol = 1e-6 + nl_abs_tol = 1e-7 + l_tol = 1e-5 + l_abs_tol = 1E-7 + start_time = 0.0 + end_time = 1.5 + + [./TimeStepper] + type = FunctionDT + function = dts + [../] + [] + + [Outputs] + exodus = true + [] + + diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o1.i new file mode 100644 index 00000000..1462059e --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o1.i @@ -0,0 +1,82 @@ +#_* Variables +n_elem_x = 40 +n_elem_y = 20 +e_modulus = 1e9 +p_ratio = 0.3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = QUAD4 + # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo0.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo0.i new file mode 100644 index 00000000..f962bd08 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo0.i @@ -0,0 +1,85 @@ +#_* Variables +n_elem_x = 40 +n_elem_y = 20 +e_modulus = 1e9 +p_ratio = 0.3 + +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = QUAD8 + # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + material_output_family = MONOMIAL # MONOMIAL, LAGRANGE + material_output_order = CONSTANT # CONSTANT, FIRST, SECOND, + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo1.i new file mode 100644 index 00000000..8a852f35 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo1.i @@ -0,0 +1,85 @@ +#_* Variables +n_elem_x = 40 +n_elem_y = 20 +e_modulus = 1e9 +p_ratio = 0.3 + +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = QUAD8 + # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + material_output_family = MONOMIAL # MONOMIAL, LAGRANGE + material_output_order = FIRST # CONSTANT, FIRST, SECOND, + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo2.i new file mode 100644 index 00000000..4409d0aa --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo2.i @@ -0,0 +1,85 @@ +#_* Variables +n_elem_x = 40 +n_elem_y = 20 +e_modulus = 1e9 +p_ratio = 0.3 + +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = QUAD8 + # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + material_output_family = MONOMIAL # MONOMIAL, LAGRANGE + material_output_order = SECOND # CONSTANT, FIRST, SECOND, + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2.i new file mode 100644 index 00000000..ced3c313 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2.i @@ -0,0 +1,83 @@ +#_* Variables +n_elem_x = 40 +n_elem_y = 20 +e_modulus = 1e9 +p_ratio = 0.3 + +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = QUAD8 + # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o1.i new file mode 100644 index 00000000..82f7bf4d --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o1.i @@ -0,0 +1,92 @@ +#_* Variables +n_elem_x = 20 +n_elem_y = 10 +n_elem_z = 10 +e_modulus = 1e9 +p_ratio = 0.3 + +#** + +[GlobalParams] + displacements = 'disp_x disp_y disp_z' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 3 + nx = ${n_elem_x} + ny = ${n_elem_y} + nz = ${n_elem_z} + xmax = 2 + ymax = 1 + zmax = 1 + elem_type = HEX8 + # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [bottom_z] + type = DirichletBC + variable = disp_z + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = -1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2-moo2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2-moo2.i new file mode 100644 index 00000000..36613b31 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2-moo2.i @@ -0,0 +1,94 @@ +#_* Variables +n_elem_x = 20 +n_elem_y = 10 +n_elem_z = 10 +e_modulus = 1e9 +p_ratio = 0.3 + +#** + +[GlobalParams] + displacements = 'disp_x disp_y disp_z' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 3 + nx = ${n_elem_x} + ny = ${n_elem_y} + nz = ${n_elem_z} + xmax = 2 + ymax = 1 + zmax = 1 + elem_type = HEX20 + # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + material_output_family = MONOMIAL # MONOMIAL, LAGRANGE + material_output_order = SECOND # CONSTANT, FIRST, SECOND, + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [bottom_z] + type = DirichletBC + variable = disp_z + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = -1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2.i new file mode 100644 index 00000000..a5f8c760 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2.i @@ -0,0 +1,92 @@ +#_* Variables +n_elem_x = 20 +n_elem_y = 10 +n_elem_z = 10 +e_modulus = 1e9 +p_ratio = 0.3 + +#** + +[GlobalParams] + displacements = 'disp_x disp_y disp_z' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 3 + nx = ${n_elem_x} + ny = ${n_elem_y} + nz = ${n_elem_z} + xmax = 2 + ymax = 1 + zmax = 1 + elem_type = HEX20 + # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [bottom_z] + type = DirichletBC + variable = disp_z + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = -1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-sub-dom.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-sub-dom.i new file mode 100644 index 00000000..7d9aec00 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-sub-dom.i @@ -0,0 +1,94 @@ +# +# Added subdomains and subdomain-specific properties +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html +# + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 40 + ny = 20 + xmax = 2 + ymax = 1 + [] + + # assign two subdomains + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '0 0 0' + top_right = '1 1 0' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '1 0 0' + top_right = '2 1 0' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity1] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + block = 1 + [] + [elasticity2] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 5e8 + poissons_ratio = 0.3 + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = NEWTON + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o1.i new file mode 100644 index 00000000..3c6397cf --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o1.i @@ -0,0 +1,95 @@ +# +# Added subdomains and subdomain-specific properties +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html +# + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 40 + ny = 20 + xmax = 2 + ymax = 1 + elem_type = QUAD4 + [] + + # assign two subdomains + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '0 0 0' + top_right = '1 1 0' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '1 0 0' + top_right = '2 1 0' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity1] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + block = 1 + [] + [elasticity2] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 5e8 + poissons_ratio = 0.3 + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo0.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo0.i new file mode 100644 index 00000000..c10034a6 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo0.i @@ -0,0 +1,97 @@ +# +# Added subdomains and subdomain-specific properties +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html +# + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 40 + ny = 20 + xmax = 2 + ymax = 1 + elem_type = QUAD8 + [] + + # assign two subdomains + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '0 0 0' + top_right = '1 1 0' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '1 0 0' + top_right = '2 1 0' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + material_output_family = MONOMIAL # MONOMIAL, LAGRANGE + material_output_order = CONSTANT # CONSTANT, FIRST, SECOND, + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity1] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + block = 1 + [] + [elasticity2] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 5e8 + poissons_ratio = 0.3 + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo1.i new file mode 100644 index 00000000..7682f70b --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo1.i @@ -0,0 +1,97 @@ +# +# Added subdomains and subdomain-specific properties +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html +# + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 40 + ny = 20 + xmax = 2 + ymax = 1 + elem_type = QUAD8 + [] + + # assign two subdomains + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '0 0 0' + top_right = '1 1 0' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '1 0 0' + top_right = '2 1 0' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + material_output_family = MONOMIAL # MONOMIAL, LAGRANGE + material_output_order = FIRST # CONSTANT, FIRST, SECOND, + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity1] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + block = 1 + [] + [elasticity2] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 5e8 + poissons_ratio = 0.3 + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo2.i new file mode 100644 index 00000000..e7b4b574 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo2.i @@ -0,0 +1,97 @@ +# +# Added subdomains and subdomain-specific properties +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html +# + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 40 + ny = 20 + xmax = 2 + ymax = 1 + elem_type = QUAD8 + [] + + # assign two subdomains + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '0 0 0' + top_right = '1 1 0' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '1 0 0' + top_right = '2 1 0' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + material_output_family = MONOMIAL # MONOMIAL, LAGRANGE + material_output_order = SECOND # CONSTANT, FIRST, SECOND, + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity1] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + block = 1 + [] + [elasticity2] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 5e8 + poissons_ratio = 0.3 + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2.i new file mode 100644 index 00000000..7ea848aa --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2.i @@ -0,0 +1,95 @@ +# +# Added subdomains and subdomain-specific properties +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html +# + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 40 + ny = 20 + xmax = 2 + ymax = 1 + elem_type = QUAD8 + [] + + # assign two subdomains + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '0 0 0' + top_right = '1 1 0' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '1 0 0' + top_right = '2 1 0' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity1] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + block = 1 + [] + [elasticity2] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 5e8 + poissons_ratio = 0.3 + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o1.i new file mode 100644 index 00000000..6143d8a4 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o1.i @@ -0,0 +1,103 @@ +# +# Added subdomains and subdomain-specific properties +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html +# + +[GlobalParams] + displacements = 'disp_x disp_y disp_z' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 3 + nx = 20 + ny = 10 + nz = 5 + xmax = 2 + ymax = 1 + zmax = 1 + elem_type = HEX8 + [] + + # assign two subdomains + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '0 0 0' + top_right = '1 1 1' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '1 0 0' + top_right = '2 1 1' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [bottom_z] + type = DirichletBC + variable = disp_z + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity1] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + block = 1 + [] + [elasticity2] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 5e8 + poissons_ratio = 0.3 + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o2.i new file mode 100644 index 00000000..5750233e --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o2.i @@ -0,0 +1,103 @@ +# +# Added subdomains and subdomain-specific properties +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html +# + +[GlobalParams] + displacements = 'disp_x disp_y disp_z' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 3 + nx = 20 + ny = 10 + nz = 5 + xmax = 2 + ymax = 1 + zmax = 1 + elem_type = HEX20 + [] + + # assign two subdomains + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '0 0 0' + top_right = '1 1 1' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '1 0 0' + top_right = '2 1 1' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [bottom_z] + type = DirichletBC + variable = disp_z + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity1] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + block = 1 + [] + [elasticity2] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 5e8 + poissons_ratio = 0.3 + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-thermal-exp.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-thermal-exp.i new file mode 100644 index 00000000..7e690b02 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-thermal-exp.i @@ -0,0 +1,119 @@ +# +# Added subdomains and subdomain-specific properties +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html +# + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 10 + ny = 20 + xmin = -0.25 + xmax = 0.25 + ymax = 5 + [] + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '-0.25 0 0' + top_right = '0 5 0' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '0 0 0' + top_right = '0.25 5 0' + [] + + # select a single node in the center of the bottom boundary + [pin] + type = ExtraNodesetGenerator + input = block2 + new_boundary = pin + coord = '0 0 0' + [] +[] + +[AuxVariables] + [T] + [] +[] + +[AuxKernels] + [temperature_ramp] + type = FunctionAux + execute_on = TIMESTEP_BEGIN + variable = T + function = 300+5*t + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + automatic_eigenstrain_names = true + generate_output = 'vonmises_stress' + [] +[] + +[BCs] + [pin_x] + type = DirichletBC + variable = disp_x + boundary = pin + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + [] + [expansion1] + type = ComputeThermalExpansionEigenstrain + temperature = T + thermal_expansion_coeff = 0.001 + stress_free_temperature = 300 + eigenstrain_name = thermal_expansion + block = 1 + [] + [expansion2] + type = ComputeThermalExpansionEigenstrain + temperature = T + thermal_expansion_coeff = 0.002 + stress_free_temperature = 300 + eigenstrain_name = thermal_expansion + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = NEWTON + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-two-beams.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-two-beams.i new file mode 100644 index 00000000..e1f27114 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-two-beams.i @@ -0,0 +1,107 @@ +# +# Multiple submesh setup with two cantilevers side by side +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step04.html +# + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated1] + type = GeneratedMeshGenerator + dim = 2 + nx = 10 + ny = 100 + xmin = -0.6 + xmax = -0.1 + ymax = 5 + #bias_y = 0.9 + boundary_name_prefix = pillar1 + [] + [generated2] + type = GeneratedMeshGenerator + dim = 2 + nx = 10 + ny = 100 + xmin = 0.1 + xmax = 0.6 + ymax = 5 + #bias_y = 0.9 + boundary_name_prefix = pillar2 + boundary_id_offset = 4 + [] + [collect_meshes] + type = MeshCollectionGenerator + inputs = 'generated1 generated2' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + strain = FINITE + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz strain_xy' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = 'pillar1_bottom pillar2_bottom' + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = 'pillar1_bottom pillar2_bottom' + value = 0 + [] + [Pressure] + [sides] + boundary = 'pillar1_left pillar2_right' + function = 1e4*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 1e9 + poissons_ratio = 0.3 + [] + # we anticipate large deformation + [stress] + type = ComputeFiniteStrainElasticStress + [] +[] + +[Executioner] + type = Transient + solve_type = NEWTON + line_search = none + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = 5 + dt = 0.5 + [Predictor] + type = SimplePredictor + scale = 1 + [] +[] + +[Postprocessors] + [max] + type = NodalExtremeValue + variable = disp_x + value_type = max + [] +[] + +[Outputs] + exodus = true + csv = true + perf_graph = false +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose/moose-mech-gmsh.i b/dependencies/mooseherder/scripts/moose/moose-mech-gmsh.i new file mode 100644 index 00000000..b6dd5443 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose/moose-mech-gmsh.i @@ -0,0 +1,73 @@ +#_* Variables +e_modulus = 1e9 +p_ratio = 0.3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + type = FileMesh + file = 'mesh_tens_spline_2d.msh' +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [./u_top_pull] + type = Pressure + variable = disp_y + boundary = Top-BC + function = -1e7*t + [../] + [./u_bottom_fix] + type = DirichletBC + variable = disp_y + boundary = Btm-BC + value = 0.0 + [../] + [./u_yz_fix] + type = DirichletBC + variable = disp_x + boundary = Mid-BC + value = 0.0 + [../] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + #type = ComputeFiniteStrainElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = 2 + dt = 1 +[] + + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose/moose-mech-outtest.i b/dependencies/mooseherder/scripts/moose/moose-mech-outtest.i new file mode 100644 index 00000000..ea705aff --- /dev/null +++ b/dependencies/mooseherder/scripts/moose/moose-mech-outtest.i @@ -0,0 +1,115 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1e9 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress stress_yy stress_xx stress_xy strain_xx strain_yy strain_xy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + #exodus = true + [./out] + type = Exodus + elemental_as_nodal = true + [../] + csv = true +[] + +[Postprocessors] + [./react_y] + type = SidesetReaction + direction = '0 1 0' + stress_tensor = stress + boundary = 'bottom' + [../] + [./max_y_disp] + type = NodalExtremeValue + variable = disp_y + [../] + [./max_yy_stress] + type = ElementExtremeValue + variable = stress_yy + [../] + [./avg_yy_stress] + type = ElementAverageValue + variable = stress_yy + [../] +[] + + diff --git a/dependencies/mooseherder/scripts/moose/moose-mech-simple.i b/dependencies/mooseherder/scripts/moose/moose-mech-simple.i new file mode 100644 index 00000000..079a7293 --- /dev/null +++ b/dependencies/mooseherder/scripts/moose/moose-mech-simple.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1e9 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/src/mooseherder/__init__.py b/dependencies/mooseherder/src/mooseherder/__init__.py new file mode 100644 index 00000000..83b304f7 --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/__init__.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +""" +MOOSE Herder +""" + +from mooseherder.inputmodifier import InputModifier +from mooseherder.simrunner import SimRunner +from mooseherder.mooserunner import MooseRunner +from mooseherder.gmshrunner import GmshRunner +from mooseherder.exodusreader import ExodusReader +from mooseherder.mooseherd import MooseHerd +from mooseherder.directorymanager import DirectoryManager +from mooseherder.sweepreader import SweepReader +from mooseherder.simdata import SimData +from mooseherder.simdata import SimReadConfig +from mooseherder.mooseconfig import MooseConfig + + +__all__ = ["inputmodifier", + "simrunner", + "mooserunner", + "gmshrunner", + "exodusreader", + "mooseherd", + "directorymanager", + "sweepreader", + "simdata", + "mooseconfig"] diff --git a/dependencies/mooseherder/src/mooseherder/directorymanager.py b/dependencies/mooseherder/src/mooseherder/directorymanager.py new file mode 100644 index 00000000..0f8fffe3 --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/directorymanager.py @@ -0,0 +1,302 @@ +''' +=============================================================================== +Directory Manager Class + +Authors: Lloyd Fletcher +=============================================================================== +''' + +import os +import shutil +import json +from pathlib import Path + +class DirectoryManager: + """ Manages directories for running simulations in parallel with the + mooseherd. + """ + def __init__(self, n_dirs: int = 1) -> None: + """__init__ + + Args: + n_dirs (int, optional): number of directories to be created. + Defaults to 1. + """ + self._n_dirs = n_dirs + self._sub_dir = 'sim-workdir' + self._base_dir = Path().cwd() + self._run_dirs = self._set_run_dirs() + self._output_paths = list([]) + self._output_key_tag = 'output-key' + self._sweep_var_tag = 'sweep-vars' + + + def _set_run_dirs(self) -> list[Path]: + """_set_run_dirs: helper function that populates the list of + directories that will be created by the manager. Uses the base directory + at the start of the path and then creates numbered sub-directory paths + based on the sub directory name and number of directories specified. + + Returns: + list[Path]: + """ + run_dirs = list([]) + for nn in range(self._n_dirs): # type: ignore + run_dirs.append(self._base_dir / (self._sub_dir + '-' + str(nn+1))) + + return run_dirs + + + def set_sub_dir_name(self, sub_dir_name: str) -> None: + """set_sub_dir_name: used to set the string used at the start of the + created sub-directores. default on creation is 'sim-workdir'. Populates + the list of run directories using the new sub directory name. + + Args: + sub_dir_name (str): string to be used to name the created + sub-directories within the base directory. + """ + self._sub_dir = sub_dir_name + self._run_dirs = self._set_run_dirs() + + + def set_base_dir(self, base_dir: Path, clear_old_dirs = False) -> None: + """set_base_dir: sets the base directory to create sub-directors for + running the simulations. The base directory must exist. + + Args: + base_dir (Path): directory in which the new working directories will + be created. + clear_old_dirs (bool, optional): deletes previous directories in + the base directory and their contents if they exist. Defaults + to False. + + Raises: + FileExistsError: the selected base directory does no exist. + """ + if not base_dir.is_dir(): + raise FileExistsError("Specified base directory does not exist.") + + if clear_old_dirs: + self.clear_dirs() + + self._base_dir = base_dir + self._run_dirs = self._set_run_dirs() + + + def get_output_key_tag(self) -> str: + """get_output_key_tag: returns the string used to name the output + key files that map the simulation outputs to the various directories + that are being managed. + + Returns: + str: common string used to name the output key json files. + """ + return self._output_key_tag + + + def get_sweep_var_tag(self) -> str: + """get_sweep_var_tag: returns ths string used to name the sweep + variable json file that contains a copy of the dictionary the user + provided as part of the parameter sweep. + + Returns: + str: common string used to name the sweep variable json files. + """ + return self._sweep_var_tag + + + def create_dirs(self) -> list[Path]: + """create_dirs: Creates the specified number of directories based on + the sub_dir name within the base directory. + + Returns: + list[Path]: list of paths to the directories to create. + """ + for rr in self._run_dirs: + if not rr.is_dir(): + rr.mkdir() + + return self._run_dirs + + + def clear_dirs(self) -> None: + """clear_dirs: deletes all working directories in the base directory + that have the corresponding sub-directory name and their contents. + """ + all_dirs = os.listdir(self._base_dir) + for dd in all_dirs: + if os.path.isdir(self._base_dir / dd): + if self._sub_dir in dd: + shutil.rmtree(self._base_dir / dd) + + + def get_all_run_dirs(self) -> list[Path]: + """get_all_run_dirs: returns the list of paths to all the directories + that can be used to run simulations. + + Returns: + list[Path]: paths to all created directories. + """ + return self._run_dirs + + + def get_run_dir(self, dir_num: int) -> Path: + """get_run_dir: returns the path to the run directory based on the + input directory number. The directory number can be greater than the + number of managed directories in the run_dirs list in this case the + directory number will wrap and point at an existing run directory + allowing multiple simulations to be run in the same directory. + + Args: + dir_num (int): number of the directory path to be retrieved. Can be + greater than the specified number of directories and will wrap + appropriately + + Returns: + Path: path to the directory + """ + if dir_num < 0: + dir_num = 0 + elif dir_num >= self._n_dirs: + dir_num = dir_num % self._n_dirs + + return self._run_dirs[dir_num] + + + def set_output_paths(self, output_paths: list[list[Path | None]]) -> None: + """set_output_paths: sets the list of lists to the simulation output + based on herder input. + + Args: + output_paths (list[list[Path]]): paths to all outputs from the + variable sweep. Outer list is the variable combination run + inner list is based on the order the simulations were called. + """ + self._output_paths = output_paths + + + def get_output_paths(self) -> list[list[Path | None]]: + """get_output_paths: returns the list of lists to the simulation output + files. + + Returns: + list[list[Path]]: paths to all outputs from the variable sweep. + Outer list is the variable combination run inner list is based + on the order the simulations were called. + """ + return self._output_paths + + + def get_output_key_file(self, sweep_iter: int = 1) -> Path: + """get_output_key_file: gets the path to the output key file created + during the variable sweep mapping directories to given combinations + of variables that were run. + + Args: + sweep_iter (int): number corresponding to the sweep iteration to + retrieve. Defaults to 1. + + Returns: + Path: path to the output key file that maps output paths to the + combinations of variables in the sweep. + """ + return self._run_dirs[0] / f'{self._output_key_tag}-{sweep_iter:d}.json' + + + def write_output_key(self, sweep_iter: int) -> None: + """write_output_key: converts the output paths to strings and saves + them in json format. + + Args: + sweep_iter (int): number corresponing to the sweep iteration to + write. The sweep iteration is used to number the output key + files. + """ + str_output = output_paths_to_str(self._output_paths) + + with open(self.get_output_key_file(sweep_iter), "w", encoding='utf-8') as okf: + json.dump(str_output, okf, indent=4) + + + def get_sweep_var_file(self, sweep_iter: int = 1) -> Path: + """get_sweep_var_file: path to the json file which contains the + dictionary of variables that were analysed at the given sweep iteration + + Args: + sweep_iter (int, optional): Sweep iteration (call number to herd + run_para). Defaults to 1. + + Returns: + Path: path to the json sweep variable file. + """ + return self._run_dirs[0] / f'{self._sweep_var_tag}-{sweep_iter:d}.json' + + + def write_sweep_vars(self, + sweep_vars: list[list[dict | None]], + sweep_iter: int = 1) -> None: + """write_sweep_vars: writes the sweep variable dictionary to a json + file to log the variables used for each simulation. + + Args: + sweep_vars (list[list[dict[str, Any]]]): sweep variables as passed + to the herd to run. + sweep_iter (int, optional): iteration number for number of calls to the + herd. Defaults to 1. + """ + with open(self.get_sweep_var_file(sweep_iter), "w", encoding='utf-8') as okf: + json.dump(sweep_vars, okf, indent=4) + + + +def output_paths_to_str(output_files: list[list[Path | None]] + ) -> list[list[str | None]]: + """output_paths_to_str: helper function for converting the output paths + to strings to allow them to be saved as json. + + Args: + output_files (list[list[Path]]): + + Returns: + list[list[str]]: as input with Path converted to str + """ + str_output = list([]) + for sim_iter in output_files: + iter_output = list([]) + for output_path in sim_iter: + if output_path is None: + iter_output.append(None) + else: + iter_output.append(str(output_path)) + + str_output.append(iter_output) + + return str_output + + +def output_str_to_paths(output_files: list[list[str | None]] + ) -> list[list[Path | None]]: + """output_str_to_paths: helper function to convert strings read from output + key json to paths. + + Args: + output_files (list[list[str]]): output file list of path strings as in + the output key file. + + Returns: + list[list[Path]]: as input with str converted to Path. + """ + str_output = list([]) + + for sim_iter in output_files: + iter_output = list([]) + for output_path in sim_iter: + if output_path is None: + iter_output.append(None) + else: + iter_output.append(Path(output_path)) + + str_output.append(iter_output) + + return str_output diff --git a/dependencies/mooseherder/src/mooseherder/exodusreader.py b/dependencies/mooseherder/src/mooseherder/exodusreader.py new file mode 100644 index 00000000..93f3dbbd --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/exodusreader.py @@ -0,0 +1,590 @@ +""" +=============================================================================== +EXODUS READER +Used to read output *.e from MOOSE simulations. + +There are several different cases that lead to different MOOSE output formats. + +1) Outputs can have 2 or 3 spatial dimensions for nodal DOFs + (e.g. disp_x, disp_y and possibly disp_z) +2) Element output may or may not be present (e.g. stress/strain) + 2.1) Element outputs might appear as nodal variables if + material_output_order = FIRST or greater + 2.2) Element output is split by block if material_output_order = CONSTANT +4) Sub-domains may or may not be present but see 2.1 above for exception + +Authors: Lloyd Fletcher, Rory Spencer +=============================================================================== +""" +from pathlib import Path +import netCDF4 as nc +import numpy as np +from mooseherder.simdata import SimData, SimReadConfig +from mooseherder.outputreader import OutputReader + + +class ExodusReader(OutputReader): + """Class to read exodus files output by MOOSE using the netCDF package. + This class handles extracting the data from the exodus file and creates + a SimData object with the required data. Most used cases are covered with + by creating an ExodusReader and then calling either read_sim_data() or + read_all_sim_data() specified at the bottom of the class. + """ + def __init__(self, output_file: Path) -> None: + """__init__: Construct class by reading the exodus file using the + netCDF package. The exodus file must exist. + + Args: + output_file (Path): path to the exodus file to read + + Raises: + FileNotFoundError: the specified exodus file does not exist + """ + + if not output_file.is_file() and output_file.suffix != '.e': + raise FileNotFoundError('Exodus file not found at specified path') + + self._exodus_path = output_file + self._data = nc.Dataset(str(self._exodus_path)) + + + def get_names(self, key: str | None) -> np.ndarray | None: + """get_names: Extract a list of variable names from the dataset. Useful + for getting node/element/sideset/global variables names. + + Args: + key (str | None): string key used to extract a list of names from + the dataset e.g. 'node_var_names'. If key is None returns None. + + Returns: + np.ndarray | None: numpy array of strings representing the names + that correspond to the variables in the dataset. Returns None + if the specified key does not exist in the dataset. + """ + if key not in self._data.variables or key is None: + return None + + return nc.chartostring(np.array(self._data.variables[key])) + + + def get_var(self, key: str, time_inds: np.ndarray | None = None + ) -> np.ndarray: + """get_var: Extract a numeric variable from the dataset. + + Args: + key (str): key corresponding to the variable in the dataset. e.g. + 'time_whole' + + Returns: + np.ndarray: numpy numeric array containing the variable data. + """ + if key not in self._data.variables: + return np.array([]) + + data = np.array(self._data.variables[key]).T + + if time_inds is None: + return data + + return data[:,time_inds] + + + def get_key(self, + name: str, + all_names: np.ndarray, + key_tag: str) -> str | None: + """get_key: builds the key required to extract a given variable from + the exodus dataset. + + Args: + all_names (np.ndarray): all possible name keys extracted using the + get names function. + name (str): the specific name key that the user wants to extract + key_tag (str): the string tag that is prepended to get the variable + from the dataset. + + Returns: + str | None: the string key in the dataset to get the variable + """ + inds = np.where(all_names == name)[0] + if inds.shape[0] == 0: + return None + + key = f'{key_tag}{inds[0]+1:d}' + return key + + + def get_connectivity_names(self) -> np.ndarray: + """get_connectivity_names: gets the connectivity names in the exodus + dataset. These are of the form 'connect1', 'connect2' etc. + + Returns: + np.ndarray: array of element connectivity keys as strings of the + form connectX where X is an integer of 1 or greater e.g. + connect1. + """ + names = np.array([]) + for bb in range(self.get_num_elem_blocks()): + key = f'connect{bb+1:d}' + if key in self._data.variables: + names = np.append(names,key) + + return names + + + def get_connectivity(self) -> dict[str,np.ndarray]: + """get_connectivity: returns the connectivity table as a dictionary + keyed with the name 'connectX' and the table itseld as numpy array. + + Returns: + dict[str,np.ndarray]: dictionary containing the element + connectivity tables based on keys related to the subdomain e.g. + key 'connect1' returns the element connectivity table for + subdomain 1. The table has dimensions N by n_e where N is the + total number of nodes in the subdomain and n_e is the number + of nodes per element. + """ + connect = dict({}) + for key in self.get_connectivity_names(): + connect[key] = self.get_var(key) + + return connect + + + def get_sideset_names(self) -> np.ndarray | None: + """get_sideset_names: returns the sideset names as a numpy array of + strings. + + Returns: + np.ndarray | None: numpy array of strings corresponding to the + sideset names specified in the simulation. Returns None if no + sideset names are found. + """ + return self.get_names('ss_names') + + + def get_sidesets(self, names: np.ndarray | None + ) -> dict[tuple[str,str], np.ndarray] | None: + """get_sidesets: returns the sidesets as a dictionary keyed by a tuple + of ('sideset_name', 'node' | 'elem'). Gives either the list of node + numbers or element numbers based on the specified key. + + Args: + names (np.ndarray | None): numpy array of strings specifying the + sideset names to extract from the dataset. If None return None. + + Returns: + dict[tuple[str,str], np.ndarray] | None: dictionary of sideset + nodes and element sets by name. The key is a tuple with the + first string being the sideset name and the second being either + 'node' or 'elem'. Returns None if no sidesets found. + """ + all_names = self.get_sideset_names() + + if names is None or all_names is None: + return None + + node_key_tag = 'node_ns' + elem_key_tag = 'elem_ss' + + side_sets = dict({}) + for nn in names: # type: ignore + node_key = self.get_key(nn,all_names,node_key_tag) + elem_key = self.get_key(nn,all_names,elem_key_tag) + + if node_key is None: + side_sets[(nn,'node')] = None + else: + side_sets[(nn,'node')] = self.get_var(node_key) + + if elem_key is None: + side_sets[(nn,'elem')] = None + else: + side_sets[(nn,'elem')] = self.get_var(elem_key) + + return side_sets + + + def get_all_sidesets(self) -> dict[tuple[str,str], np.ndarray] | None: + """get_all_sidesets: returns all sidesets as a dictionary keyed by a tuple + of ('sideset_name', 'node' | 'elem'). Gives either the list of node + numbers or element numbers based on the specified key. + + Returns: + dict[tuple[str,str], np.ndarray] | None: dictionary of sideset + nodes and element sets by name. The key is a tuple with the + first string being the sideset name and the second being either + 'node' or 'elem'. Returns None if no sidesets found. + """ + + return self.get_sidesets(self.get_sideset_names()) + + + def get_node_var_names(self) -> np.ndarray | None: + """get_node_var_names: gets the nodal variable names as a numpy array + of strings e.g. np.array(['disp_x','disp_y']) + + Returns: + np.ndarray | None: numpy array of strings containing the nodal + variable names. Returns None if no nodal variables are found. + """ + return self.get_names('name_nod_var') + + + def get_node_vars(self, + names: np.ndarray | None, + time_inds: np.ndarray | None = None + ) -> dict[str,np.ndarray] | None: + """get_node_vars: gets the specified nodal variables as a dictionary + keyed by the variable name (e.g. 'disp_x') where the nodal variable is + given as a numpy array of dimensions NxT where N is the number of nodes + and T is the number of time steps in the simulation. + + Args: + names (np.ndarray | None): numpy array of strings that are the + variables to be extracted from the exodus dataset. + + Returns: + dict[str,np.ndarray] | None: dictionary of requested nodal + variables. Keys are nodal variable names e.g. 'disp_x' and the + variable data is given as a numpy array. returns None if no + nodal variables are found. + """ + if names is None: + return None + + all_names = self.get_node_var_names() + key_tag = 'vals_nod_var' + vars = dict({}) + + for nn in names: # type: ignore + inds = np.where(all_names == nn)[0] + key = f'{key_tag}{inds[0]+1:d}' + vars[nn] = self.get_var(key,time_inds) + + return vars + + + def get_all_node_vars(self) -> dict[str, np.ndarray] | None: + """get_all_node_vars: as get_node_vars but returns all nodal variables + found in the dataset. Gets all specified nodal variables as a dictionary + keyed by the variable name (e.g. 'disp_x') where the nodal variable is + given as a numpy array of dimensions NxT where N is the number of nodes + and T is the number of time steps in the simulation. + + Returns: + dict[str, np.ndarray] | None: dictionary of requested nodal + variables. Keys are nodal variable names e.g. 'disp_x' and the + variable data is given as a numpy array. returns None if no + nodal variables are found. + """ + return self.get_node_vars(self.get_node_var_names()) + + + def get_elem_var_names(self) -> np.ndarray | None: + """get_elem_var_names: gets the element variable names as a numpy array + of strings if they exist. Note that there are several cases where the + element variables may be interpolated to nodes and stored as nodal data + + Returns: + np.ndarray | None: element variable names as a numpy array of + strings. An example variable name is 'strain_xx'. Returns None + if no element variable names exist in the dataset. + """ + return self.get_names('name_elem_var') + + + def get_num_elem_blocks(self) -> int: + """get_num_elem_blocks: gets the number of element blocks (i.e. + sub-domains) in the simulation. These are used to partition the element + data. + + Returns: + int: number of element blocks/sub-domains in the simulation. + """ + return self.get_names('eb_names').shape[0] # type: ignore + + + def get_elem_var_names_and_blocks(self) -> list[tuple[str,int]] | None: + """get_elem_var_names_and_blocks: returns a list of all possible + combinations of element variables names and block numbers present in + the dataset. + + Returns: + list[tuple[str,int]] | None: list of tuples containing the element + variable names and block numbers. Returns None if there are no + element variable name or element blocks. + """ + if self.get_elem_var_names() is None or self.get_num_elem_blocks() is None: + return None + + blocks = [ii+1 for ii in range(self.get_num_elem_blocks())] # type: ignore + names_blocks = list([]) + + for nn in self.get_elem_var_names(): # type: ignore + for bb in blocks: + names_blocks.append((str(nn),bb)) + + return names_blocks + + + def get_elem_vars(self, + names_blocks: list[tuple[str,int]] | None, + time_inds: np.ndarray | None = None + ) -> dict[tuple[str,int],np.ndarray] | None: + """get_elem_vars: gets the element variables as a dictionary keyed by + tuples which containg the element variable name and the block number. + For example: ('strain_xx',1). The element data is given as a numpy + array with dimensions E_bxT where E_b is the number of element in the + block and T is the number of time steps. + + Args: + names_blocks (list[tuple[str,int]] | None): list of tuples + containing the combination of element variables names and + blocks to be extracted from the dataset. + + Returns: + dict[tuple[str,int],np.ndarray] | None: contains the variables + requested keyed using the input names_blocks with the data + given as a numpy array. + """ + all_names = self.get_elem_var_names() + + if all_names is None or names_blocks is None: + return None + + key_tag = 'vals_elem_var' + + vars = dict({}) + for nn in names_blocks: + key = self.get_key(nn[0],all_names,key_tag) + f'eb{nn[1]:d}' # type: ignore + vars[nn] = self.get_var(key,time_inds) + + return vars + + + def get_all_elem_vars(self) -> dict[tuple[str,int], np.ndarray] | None: + """get_all_elem_vars: gets all element variables as a dictionary keyed by + tuples which containg the element variable name and the block number. + For example: ('strain_xx',1). The element data is given as a numpy + array with dimensions E_bxT where E_b is the number of element in the + block and T is the number of time steps. + + + Returns: + dict[tuple[str,int], np.ndarray] | None: contains the variables + requested keyed using the input names_blocks with the data + given as a numpy array. + """ + + return self.get_elem_vars(self.get_elem_var_names_and_blocks()) + + + def get_glob_var_names(self) -> np.ndarray | None: + """get_glob_var_names: gets the names of all global variables in the + dataset. Global variables include the output of all MOOSE post- + processors. + + Returns: + np.ndarray | None: numpy array containing the global variable + names as strings. + """ + return self.get_names('name_glo_var') + + + def get_glob_vars(self, + names: np.ndarray | None, + time_inds: np.ndarray | None = None + ) -> dict[str, np.ndarray] | None: + """get_glob_vars: gets the specified global variables as a dictionary + keyed by the variable name specified in the MOOSE input file. The data + is given as a numpy array of T dimensions where T is the number of time + steps. + + Args: + names (np.ndarray | None): numpy array of strings specifying the + global variable names to extract from the dataset. If this is + None then return None. + + Returns: + dict[str, np.ndarray] | None: dictionary keyed with the global + variable names requested giving the data as a numpy array. + """ + all_names = self.get_glob_var_names() + + if all_names is None or names is None: + return None + + key = 'vals_glo_var' + + glob_vars = dict({}) + for nn in names: # type: ignore + inds = np.where(all_names == nn)[0] + if time_inds is None: + glob_vars[nn] = np.array(self._data.variables[key][:,inds[0]]) + else: + data = np.array(self._data.variables[key][:,inds[0]]) + data = data[time_inds] + glob_vars[nn] = data + + return glob_vars + + + def get_all_glob_vars(self) -> dict[str, np.ndarray] | None: + """get_all_glob_vars: gets all global variables as a dictionary + keyed by the variable name specified in the MOOSE input file. The data + is given as a numpy array of T dimensions where T is the number of time + steps. + + Returns: + dict[str, np.ndarray] | None: dictionary keyed with all global + variable names giving the data as numpy arrays. + """ + return self.get_glob_vars(self.get_glob_var_names()) + + + def get_coords(self) -> tuple[np.ndarray,int]: + """Gets the nodal coordinates in each spatial dimension setting any + undefined dimensions to zeros. + + Raises: + RuntimeError: no spatial dimensions found. + + Returns: + np.array: returns the nodal coordinates as an array with shape + (N,3) where N is the number of nodes and the three columns + are the (x,y,z) spatial dimensions. + """ + # If the problem is not 3D any of these could not exist + x = self.get_var('coordx') + y = self.get_var('coordy') + z = self.get_var('coordz') + + # Problem has to be at least 1D in space if not raise an error + num_coords = np.max(np.array([x.shape[0],y.shape[0],z.shape[0]])) + if num_coords == 0: + raise RuntimeError("No spatial coordinate dimensions detected, problem must be at least 1D.") + + # Any dimensions that do not exist are assumed to be zeros + x = self._expand_coord(x,num_coords) + y = self._expand_coord(y,num_coords) + z = self._expand_coord(z,num_coords) + + return (np.vstack((x,y,z)).T,num_coords) + + + def _expand_coord(self, coord: np.ndarray, dim: int) -> np.ndarray: + """Helper function to create an array of zeros to pad any spatial + dimensions that are not defined for the simulation. + + Args: + coord (np.array): the coordinate array. + dim (int): the size of the vector of zeros to create if coord is + empty. + + Returns: + np.array: returns a vector of zeros with shape (dim,) if the + input array is empty, otherwise return the input coord array. + """ + if coord.shape[0] == 0: + return np.zeros([dim,]) + + return coord + + + def get_time(self, time_inds: np.ndarray | None = None) -> np.ndarray: + """Get a vector of simulation time steps. + + Returns: + np.array: returns an array with shape (T,) where T is the number + of time steps and the values of the elements are the simulation + time and each time step. + """ + time_steps = np.array([] + ) + if 'time_whole' in self._data.variables: + time_steps = np.array(self._data.variables['time_whole']) + + if time_inds is not None: + time_steps = time_steps[time_inds] + + return time_steps + + + def print_vars(self) -> None: + """Prints all variable strings in the exodus file to console. + """ + for vv in self._data.variables: + print(vv) + + def get_read_config(self) -> SimReadConfig: + """get_read_config: constructs a SimReadConfig object by extracting + all the variable names found in the exodus dataset. Useful for creating + a mostly populated SimReadConfig and removing variables that are + unwanted. + + Returns: + SimReadConfig: data class containing names of variables to be + extracted from the exodus dataset. See mooseherder.simdata. + """ + read_config = SimReadConfig() + + read_config.sidesets = self.get_sideset_names() + read_config.node_vars = self.get_node_var_names() + read_config.elem_vars = self.get_elem_var_names_and_blocks() + read_config.glob_vars = self.get_glob_var_names() + + return read_config + + + def read_sim_data(self, + read_config: SimReadConfig) -> SimData: + """read_sim_data: reads the simulation data based on the specified + SimReadConfig object. + + Args: + read_config (SimReadConfig): data class containing the names of + the variables that are to be extracted from the exodus dataset. + + Returns: + SimData: data class containing data from the simulation. + """ + data = SimData() + + if read_config.time: + data.time = self.get_time(read_config.time_inds) + if read_config.coords: + (data.coords,data.num_spat_dims) = self.get_coords() + if read_config.connect: + data.connect = self.get_connectivity() + + data.side_sets = self.get_sidesets(read_config.sidesets) + + data.node_vars = self.get_node_vars(read_config.node_vars, + read_config.time_inds) + data.elem_vars = self.get_elem_vars(read_config.elem_vars, + read_config.time_inds) + data.glob_vars = self.get_glob_vars(read_config.glob_vars, + read_config.time_inds) + + return data + + + def read_all_sim_data(self) -> SimData: + """read_all_sim_data: gets all simulation data from the exodus dataset. + + Returns: + SimData: data class containing the data from the simulation. + """ + data = SimData() + + data.time = self.get_time() + (data.coords,data.num_spat_dims) = self.get_coords() + data.connect = self.get_connectivity() + data.side_sets = self.get_all_sidesets() + data.node_vars = self.get_all_node_vars() + data.elem_vars = self.get_all_elem_vars() + data.glob_vars = self.get_all_glob_vars() + + return data + diff --git a/dependencies/mooseherder/src/mooseherder/gmshrunner.py b/dependencies/mooseherder/src/mooseherder/gmshrunner.py new file mode 100644 index 00000000..475be2ec --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/gmshrunner.py @@ -0,0 +1,120 @@ +''' +=============================================================================== +Gmsh Runner Class + +Authors: Rory Spencer, Lloyd Fletcher +=============================================================================== +''' +import os +import subprocess +from pathlib import Path +from mooseherder.simrunner import SimRunner + +class GmshRunner(SimRunner): + """Used to call gmsh to create a mesh file to be used to run a finite + element simulation. Implements the SimRunner abstract interface so that it + can be used by the herd. + """ + def __init__(self, gmsh_app: Path | None = None): + """Create a gmsh runner with path to the gmsh app. + + Args: + gmsh_app (Path, optional): full path to the gmsh app. Defaults to None. + """ + if gmsh_app is None: + self._gmsh_app = None + else: + self.set_gmsh_app(gmsh_app) + + self._input_path = None + self._arg_list = [] + + def set_gmsh_app(self, gmsh_app: Path) -> None: # type: ignore + """Sets path to the gmsh app. + + Args: + gmsh_app (str): full path to the gmsh app. + + Raises: + FileNotFoundError: gmsh app does not exist at the specified path. + """ + if not gmsh_app.exists(): + raise FileNotFoundError('Gmsh app not found at given path.') + + self._gmsh_app = gmsh_app + + + def get_input_file(self) -> Path | None: + """get_input_path: the path to the input file to run gmsh with. + + Returns: + Path | None: path to the gmsh *.geo file. + """ + return self._input_path + + + def set_input_file(self, input_path: Path) -> None: + """Sets the input geo file for gmsh. + + Args: + input_file (str): Full path + + Raises: + FileNotFoundError: Not a .geo file + FileNotFoundError: Geo file does not exist + """ + if input_path.suffix != '.geo': + raise FileNotFoundError('Incorrect file type. Must be *.geo.') + + if not input_path.exists(): + raise FileNotFoundError('Specified gmsh geo file does not exist.') + + self._input_path = input_path + + + def run(self, input_file: Path | None = None, parse_only: bool = True) -> None: + """Run the geo file to create the mesh. + + Args: + input_file (str, optional): Path to the .geo file containing the input. + Can also be preset using set_input_file. Defaults to "" and ises + the input file specified using set_input_file. + + Raises: + RuntimeError: the path to the gmsh app is empty and must be + specified first. + RuntimeError: the input file string is empty and must be specified + first. + """ + if input_file is not None: + self.set_input_file(input_file) + + if self._gmsh_app is None: + raise RuntimeError("Specify the full path to the gmsh app before calling run.") + + if self._input_path is None: + raise RuntimeError("Specify input *.geo file before running gmsh.") + + arg_list = [str(self._gmsh_app)] + if parse_only is True: + arg_list = arg_list+["-parse_and_exit"] + + self._arg_list = arg_list + [str(self._input_path)] + + print(f'arg_list={self._arg_list}') + + subprocess.run(self._arg_list, + shell=False, + check=False) + + + def get_output_path(self) -> Path | None: + """get_output_path: default return None for gmsh as there is no output + to be read after the simulation has run. This information is stored in + the exodus. + + Returns: + Path | None: Default returns None. + """ + return None + diff --git a/dependencies/mooseherder/src/mooseherder/inputmodifier.py b/dependencies/mooseherder/src/mooseherder/inputmodifier.py new file mode 100644 index 00000000..c14b44dd --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/inputmodifier.py @@ -0,0 +1,197 @@ +""" +=============================================================================== +InputModifier Class + +Authors: Lloyd Fletcher, Rory Spencer +=============================================================================== +""" +from pathlib import Path + + +class InputModifier: + """ + Class to modify variables in generic text-based input files. + + Once variables have been modified by the user by passing in a dictionary of + new variables the input can be written to file. + + Variable definition blocks should begin #comment character#* and end + #comment character#**, e.g. //_* and //** for gmsh or #_* and #** for + moose. + """ + + def __init__( + self, + input_file: Path, + comment_char="#", + end_char="", + var_start="_*", + var_end="**", + ) -> None: + """Initialise the class by reading in the input file. Find and read + any variables that are at the top of the file. Default comment_char + and end_char are set based on reading MOOSE *.i files. + + Args: + input_file (str): Path to the input text file. + comment_char (str): character(s) describing what a comment look + like in the file. + end_char (str): character (if any) that ends a line, i.e. ; for gmsh + var_start (str): character sequence used to specify the start of + the variable block to edit. + var_end (str): character sequence used to specify the end of the + variabled block to edit. + """ + self._vars = dict({}) + self._input_file = input_file + + with open(self._input_file, "r", encoding="utf-8") as in_file: + self._input_lines = in_file.readlines() + + self._comment_char = comment_char + self._end_char = end_char + + self._var_start_str = var_start + self._var_end_str = var_end + + self._var_start_ind = 0 + self._var_end_ind = -1 + + self.find_vars() + self.read_vars() + + def _extract_var_str(self, var_line: str) -> tuple[str, str | float | int, str]: + """Helper function to split a string from the input file variable block + into the variable key, the variable value and any remaining comment. + + Args: + var_line (str): line from the input file to process + + Returns: + [str,str/float,str]: returns a three element list. The first element + is the variable key, the second is the variable value as a float + or string, the third is any comment string remaining. + """ + + extract_var = var_line.strip() + extract_var = extract_var.replace(self._end_char, "") + extract_var = extract_var.split(self._comment_char)[0] # Remove trailing comments should they exist + + var_key = "" + var_val = "" + if extract_var and extract_var.find("=") >= 0: + var_str = extract_var.split("=", 1)[1] + var_str = var_str.strip() + try: + var_val = float(var_str) + if var_val.is_integer(): + var_val = int(var_val) + except ValueError: + var_val = var_str + + var_key = extract_var.split("=", 1)[0].strip() + + if len(var_line.split(self._comment_char)) > 1: + com_loc = var_line.find(self._comment_char) + comment_str = var_line[com_loc + len(self._comment_char) :] + else: + comment_str = "" + + return (var_key, var_val, comment_str) + + + def read_vars(self) -> None: + """Reads the variables in the file""" + for ss in self._input_lines[self._var_start_ind + 1 : self._var_end_ind]: + [var_key, var_val, _] = self._extract_var_str(ss) + if len(var_key) != 0: + self._vars[var_key] = var_val + + + def find_vars(self) -> None: + """Find what lines the variables are defined on.""" + + # TODO: this needs to be made more robust to multiple occurences of variable block characters. + # Also need to handle cases when the start and end block characters are the same + + start_string = self._comment_char + self._var_start_str + end_string = self._comment_char + self._var_end_str + + start_found = False + for ii, ll in enumerate(self._input_lines): + if start_string in ll and (not start_found): + self._var_start_ind = ii + start_found = True + if end_string in ll: + self._var_end_ind = ii + break + + + def update_vars(self, new_vars: dict) -> None: + """Updates the variable dictionary that will be written to the input + file. + + Args: + new_vars (dict): new variables to be written to the input file. + The keys must exist within the dictionary of variables + extracted from the input file. Only the variables to be edited + need to be present. + """ + for kk in new_vars: + if kk in self._vars: + self._vars[kk] = new_vars[kk] + else: + raise KeyError( + f"Key {kk} does not exist in the variables found in the input file. " + + "Check input file to make sure the variable exists." + ) + + + def write_file(self, input_write_file: Path) -> None: + """Write the input file using the current variable dictionary. + + Args: + input_write_file (str): Path to where the file should be written. + """ + var_block = self._input_lines[self._var_start_ind + 1 : self._var_end_ind] + + for ii, ll in enumerate(var_block): + [var_key, _, com_str] = self._extract_var_str(ll) + if (len(var_key) != 0) and (var_key in self._vars): + if len(com_str) == 0: + var_line = f"{var_key} = {self._vars[var_key]}{self._end_char}\n" + else: + # NOTE: comment string includes the new line character already + var_line = f"{var_key} = {self._vars[var_key]}{self._end_char} {self._comment_char}{com_str}" + line_ind = ii + self._var_start_ind + 1 + self._input_lines[line_ind] = var_line + + with open(input_write_file, "w", encoding="utf-8") as out_file: + out_file.writelines(self._input_lines) + + + def get_vars(self) -> dict: + """Gets the variables found in the file. + + Returns: + dict: keys are variable strings and values are variable values. + """ + return self._vars + + + def get_var_keys(self) -> list[str]: + """Gets a list of variable names found in the input file. + + Returns: + list[str]: list of variables name as strings + """ + return list(self._vars.keys()) + + + def get_input_file(self) -> Path: + """Gets the path and input file name. + + Returns: + Path: path and input file name. + """ + return self._input_file diff --git a/dependencies/mooseherder/src/mooseherder/mooseconfig.py b/dependencies/mooseherder/src/mooseherder/mooseconfig.py new file mode 100644 index 00000000..f8d3ae4e --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/mooseconfig.py @@ -0,0 +1,175 @@ + +''' +=============================================================================== +MOOSE Config Class + +Authors: Lloyd Fletcher +=============================================================================== +''' +from typing import Self +import json +from pathlib import Path + + +class MooseConfig: + """ Moose configuration class that handles 1) the path to the main moose + build, 2) the path to the moose app, and 3) the name of the app to be used + to construct the command string. These are stored as a dictionary keyed + with 'main_path', 'app_path' and 'app_name'. This class can also write and + read json files containing the moose config. + """ + def __init__(self, config: dict[str,Path | str] | None = None) -> None: + + self._required_keys = ['main_path','app_path','app_name'] + + if config is not None: + self._check_config_valid(config) + + self._config = config + + + def get_config(self) -> dict[str,Path | str]: + """get_config: returns the config dictionary after checking it is + valid. + + Returns: + dict[str, Path | str]: dictionary containing the moose config. + """ + self._check_config_valid(self._config) + return self._config # type: ignore + + + def _check_config_valid(self, + config: dict[str,Path | str] | None = None + ) -> None: + """_check_config_valid: helper function to check if the moose config + is valid. + + Args: + config (dict[str,Path | str] | None, optional): dictionary + containing the moose config. Defaults to None. + + Raises: + MooseConfigError: Dicitionary not initialised. + MooseConfigError: Dicitionary does not contain the required keys. + MooseConfigError: Path to MOOSE does not exist. + MooseConfigError: Path to MOOSE app does not exist. + """ + if config is None: + raise MooseConfigError( + 'Config dictionary must be initialised, load config file first.') + + for kk in self._required_keys: + if kk not in config: + raise MooseConfigError( + f'Config dictionary must contain all keys: {self._required_keys}') + + if not config['main_path'].is_dir(): # type: ignore + raise MooseConfigError( + "Main path to MOOSE does not exist. Check path at key 'main_path'.") + + if not config['app_path'].is_dir(): # type: ignore + raise MooseConfigError( + "MOOSE app path does not exist. Check path at key: 'app_path'.") + + + def convert_path_to_str(self, in_config: dict[str,Path | str] | None + ) -> dict[str,str] | None: + """convert_path_to_str: converts all paths in the config dictionary to + strings so that it can be saved to json. + + Args: + in_config (dict[str,Path | str] | None): + + Returns: + dict[str,str] | None: as input with Paths converted to strings. + """ + if in_config is None: + return None + + conv_config = dict({}) + for kk in in_config: + conv_config[kk] = str(in_config[kk]) + + return conv_config + + + def convert_str_to_path(self, in_config: dict[str,str] | None = None + ) -> dict[str, Path | str] | None: + """convert_str_to_path: helper function to convert string to Path for + readin in json dictionary. Does not check if the paths exist. + + Args: + in_config (dict[str,str] | None, optional): input config dictionary + with string instead of Path. Defaults to None. + + Returns: + dict[str, Path | str] | None: as in_config but strings to main_path + and app_path are converted to Path. + """ + if in_config is None: + return None + + conv_config = dict({}) + for kk in in_config: + if 'path' in kk: + conv_config[kk] = Path(in_config[kk]) + else: + conv_config[kk] = in_config[kk] + + return conv_config + + + def save_config(self, config_path: Path) -> None: + """save_config: saves the moose config dictionary as a json file in the + specified path. + + Args: + config_path (Path): path and file name with extension .json to save + the moose config dictionary. + + Raises: + MooseConfigError: Parent path to save config file does not exist. + """ + if not config_path.parent.is_dir(): + raise MooseConfigError('Parent path to save config file does not exist.') + + with open(config_path, 'w', encoding='utf-8') as cf: + config_strs = self.convert_path_to_str(self._config) + json.dump(config_strs, cf, indent=4) + + + def read_config(self, config_path: Path) -> Self: + """read_config: reads the moose json configuration file at the + specified path. Checks if the configuration is valid and raises a + MooseConfigError if it is not. + + Args: + config_path (Path): path to the json config file containing the + configuration dictionary. + + Raises: + MooseConfigError: MOOSE config file does not exist. + + Returns: + Self: returns a MooseConfig object allowing the config to be + initialised by directly loading a json config file. + """ + if not config_path.is_file(): + raise MooseConfigError( + f'MOOSE config file does not exist at: {str(config_path)}.') + + with open(config_path, 'r', encoding='utf-8') as cf: + config_strs = json.load(cf) + config_paths = self.convert_str_to_path(config_strs) + + self._check_config_valid(config_paths) + + self._config = config_paths + return self + + +class MooseConfigError(Exception): + """MooseConfigError: custom error class for flagging errors with the moose + configuration. + """ diff --git a/dependencies/mooseherder/src/mooseherder/mooseherd.py b/dependencies/mooseherder/src/mooseherder/mooseherd.py new file mode 100644 index 00000000..288c14b5 --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/mooseherd.py @@ -0,0 +1,412 @@ +''' +=============================================================================== +MOOSE Herd Class + +Authors: Lloyd Fletcher, Rory Spencer +=============================================================================== +''' +import os +import time +import multiprocessing as mp +from pathlib import Path +from multiprocessing.pool import Pool + +from mooseherder.directorymanager import DirectoryManager +from mooseherder.simrunner import SimRunner +from mooseherder.inputmodifier import InputModifier + + +class MooseHerdError(Exception): + """MooseHerdError: custom error class for flagging errors with the moose + herd. + """ + +class MooseHerd: + """ MooseHerd class that can run parametric sweeps of simulation chains in + parallel with configurable parallelisation options. Takes a list of + SimRunner objects and a corresponding list of InputModifiers to insert the + variables into the input scripts for the SimRunners. When calling run_* the + herd will first call all InputModifiers in the specified order and then + call run on all the SimRunners in order. Uses the DirectoryManager class to + create/clear and log the directories in which each parallel worker is + creating input files and running simulations. + """ + def __init__(self, sim_runners: list[SimRunner], + input_mods: list[InputModifier], + dir_manager: DirectoryManager) -> None: + """__init__ + + Args: + sim_runners (list[SimRunner]): list of objects that inherit from + the SimRunner ABC in the order they need to be run. The mesh + needs to be created before runnning moose so a common chain + would be [GmshRunner,MooseRunner]. + input_mods (list[InputModifier]): list of InputModifiers to create + the required input scripts for the SimRunners. + dir_manager (DirectoryManager): used to control how many and + which directories are used to run the simulations. + """ + self._runners = sim_runners + self._modifiers = input_mods + self._dir_manager = dir_manager + + self._n_para_sims = 2 + + self._input_names = [f'sim-{ii+1}' for ii,_ in enumerate(sim_runners)] + + self._keep_all = True + + self._var_sweep = list([]) + + self._sweep_iter = 0 + self._sweep_run_time = -1.0 + + self._sim_iter = 0 + self._iter_run_time = -1.0 + + + def set_input_copy_names(self, input_names: list[str] | None = None) -> None: + """set_input_copy_name: sets the name that will be used when copying + input files to the working directories for the sweep. The defualt name + is 'sim-i' so the first combination of variables in the simulation chain + will be called 'sim-1-1'. + + Args: + input_names (list[str] | None, optional): List of name prefixes to + be used for the simulation files. Defaults to None. + + Raises: + MooseHerdError: The lengths of the sim runner list and the input + modifier lists are not the same. + """ + if input_names is None: + self._input_names = [f'sim-{ii+1}' for ii,_ in enumerate(self._runners)] + return + + if len(input_names) != len(self._runners): + raise MooseHerdError(f'The length of the input names ({len(input_names)})' + 'must match the length of the sim runners ' + + f'and input modifiers ({len(self._runners)})') + + self._input_names = input_names + + + def set_keep_flag(self, keep_all: bool = True) -> None: + """set_keep_flag: flag used for allowing multiple calls to run_para or + run_seq to keep everything or to overwrite with every call to run_*. + + Args: + keep_all (bool, optional): True = keep all inputs and outputs with + multiple calls to run_*. False = overwrite inputs and outputs + with multiple calls to run_*. Defaults to True. + """ + self._keep_all = keep_all + + + def set_num_para_sims(self, n_para: int = 1) -> None: + """set_num_para_sims: sets the number of simulation chains to run in + parallel. Limits the number + + Args: + n_para (int, optional): _description_. Defaults to 1. + """ + n_para = int(n_para) + n_cpus = os.cpu_count() + + if n_cpus is None: + pass + elif n_para <= 0: + n_para = 1 + elif n_para > n_cpus: + n_para = n_cpus + + if self._n_para_sims != n_para: + self._n_para_sims = n_para + + + def get_sim_iter(self) -> int: + """get_sim_iter: returns the current simulation iteration corresponding + to the combination of variables being analysed. This number will + accumulate with multiple calls to run_* is keep_all=true. + + Returns: + int: current simulation iteration number. + """ + return self._sim_iter + + + def get_sweep_iter(self) -> int: + """get_sweep_iter: gets the current sweep iteration. The sweep + iteration is incremented with every call to run_* if keep_all = true. + If keep_all = false then sweep_iter is held at 1. + + Returns: + int: current sweep iteration number. + """ + return self._sweep_iter + + + def reset_iter_counts(self) -> None: + """reset_iter_counts: resets the simulation iteration and the sweep + iteration counters to zero. + """ + self._sim_iter = 0 + self._sweep_iter = 0 + + + def _get_process_name(self) -> str: + """_get_process_name: only here for monkey patching with pytest. + + Returns: + str: the process name string. + """ + return mp.current_process().name + + + def _get_worker_num(self) -> str: + """_get_worker_num: helper function to get the worker number for the + current sub-process. + + Returns: + str: number string taken from the process name. If this is the main + process returns '1'. + """ + name = self._get_process_name() + + if name == 'MainProcess': + worker_num = '1' + else: + worker_num = name.split('-',1)[1] + + if int(worker_num) > self._n_para_sims: + worker_num = str((int(worker_num) % self._n_para_sims)+1) + + return worker_num + + + def _get_run_num(self, sim_iter: int, worker_num: str) -> str: + """_get_run_num: helper function to get the run directory number string + + Args: + sim_iter (int): the current simulation iteration. + worker_num (str): the worker number extracted from the current + process number as a string. + + Returns: + str: the string specifying the run directory number for this + simulation iteration. + """ + if self._keep_all: + run_num = str(sim_iter+1) + else: + run_num = worker_num + + return run_num + + + def _mod_input(self, + modifier: InputModifier, + mod_vars: dict | None, + save_file: Path) -> None: + """_mod_input: helper function that uses the input modifier to write + new variables to the input file and save it to the specified path. + + Args: + modifier (InputModifier): input modifier for the specified type of + input file. + mod_vars (dict | None): dictionary of variables to write to the + input file, if None just copy the input file. + save_file (Path): path with file name and extension to output the + modified input file. + """ + if mod_vars is not None: + modifier.update_vars(mod_vars) + modifier.write_file(save_file) + + + def _run(self, runner: SimRunner, run_file: Path) -> Path | None: + """_run: helper function to call the SimRunner and get the path to the + output file. + + Args: + runner (SimRunner): for running the simulation, must be a class + that implements the SimRunner ABC. + run_file (Path): path to the input file to run with SimRunner. + + Returns: + Path | None: _description_ + """ + runner.run(run_file) + return runner.get_output_path() + + + def run_once(self, sim_iter: int, var_list: list[dict | None] + ) -> list[Path | None]: + """run_once: runs a specific simulation chain with the given variable + list once and returns a list of paths to the output files. Used by + run_seq and run_para for parallelisation. + + Args: + sim_iter (int): current simulation iteration which is the index of + the var_list from the var_sweep. + var_list (list[dict | None]): list of dictionaries that contain + the variables that will be run for this iteration. + + Returns: + list[Path | None]: list of paths to the simulation output. If there + is no useful output from the runner in the simulation chain it + returns None in the list. + """ + iter_start_time = time.perf_counter() + + worker_num = self._get_worker_num() + run_dir = self._dir_manager.get_run_dir(int(worker_num)-1) + run_num = self._get_run_num(sim_iter,worker_num) + + run_files = list([]) + for ii,mm in enumerate(self._modifiers): + ext = mm.get_input_file().suffix + run_files.append(run_dir / (self._input_names[ii] +'-'+run_num+ext)) + self._mod_input(mm,var_list[ii],run_files[ii]) + + output_list = list([]) + for ii,rr in enumerate(self._runners): + output_list.append(self._run(rr,run_files[ii])) + + self._iter_run_time = time.perf_counter() - iter_start_time + + return output_list + + + def _start_sweep(self, var_sweep: list[list[dict | None]]) -> float: + """_start_sweep: helper function used at the start of a variable sweep + in either run_seq or run_para. Sets the var_sweep attribute, deals with + the management of directories and starts the performance counter. + + Args: + var_sweep (list[list[dict | None]]): as passed to run_seq/para + + Returns: + float: performance timer start value. + """ + self._var_sweep = var_sweep + + if not self._keep_all: + self.reset_iter_counts() + self._dir_manager.clear_dirs() + self._dir_manager.create_dirs() + + return time.perf_counter() + + + def _end_sweep(self, start_sweep_time: float, + output_files: list[list[Path | None]]) -> None: + """_end_sweep: helper function called at the end of runseq/para. + Reacords the sweep run time. Increments the iteration counters. and + writes the output key and sweep variables to the first workers + directory. + + Args: + start_sweep_time (float): the sweep start time taken from the + _start_sweep() function. + output_files (list[list[Path]]): list of list of paths to the + simulation chain output files. + """ + self._sweep_run_time = time.perf_counter() - start_sweep_time + + self._sweep_iter += 1 + self._sim_iter += len(self._var_sweep) + + self._dir_manager.set_output_paths(output_files) + self._dir_manager.write_output_key(self._sweep_iter) + self._dir_manager.write_sweep_vars(self._var_sweep,self._sweep_iter) + + + def run_sequential(self, var_sweep: list[list[dict | None]] + ) -> list[list[Path | None]]: + """run_sequential: runs the variable sweep given in var_sweep + sequentially and returns the paths to the simulation outputs. + + Args: + var_sweep (list[list[dict | None]]): outer list is the simulation + iteration, inner list is the position in the simulation chain + that the variable dictionary corresponds to. The dictionary + contains the variables that will be inserted into the input + file before calling run on the SimRunner. If None instead of + a dictionary then the input file is copied with no modification + + Returns: + list[list[Path | None]]: outer list is the simulation iteration and + the inner list corresponds to the position of the SimRunner in + the cimulation chain. Gives the path to the simulation output + or None if no useful output is produced. + """ + start_sweep_time = self._start_sweep(var_sweep) + + output_files = list([]) + + ii = self._sim_iter + for vv in var_sweep: + output_files.append(self.run_once(ii,vv)) + ii += 1 + + + self._end_sweep(start_sweep_time,output_files) + + return output_files + + + def run_para(self, var_sweep: list[list[dict | None]] + ) -> list[list[Path | None]]: + """run_para: runs the variable sweep with the simulation chain in + parallel. + + Args: + var_sweep (list[list[dict | None]]): outer list is the simulation + iteration, inner list is the position in the simulation chain + that the variable dictionary corresponds to. The dictionary + contains the variables that will be inserted into the input + file before calling run on the SimRunner. If None instead of + a dictionary then the input file is copied with no modification + + Returns: + list[list[Path | None]]: outer list is the simulation iteration and + the inner list corresponds to the position of the SimRunner in + the cimulation chain. Gives the path to the simulation output + or None if no useful output is produced. + """ + sweep_start_time = self._start_sweep(var_sweep) + + with Pool(self._n_para_sims) as pool: + processes = list([]) + + ii = self._sim_iter + for vv in var_sweep: + processes.append(pool.apply_async(self.run_once, args=(ii,vv))) + ii += 1 + + output_files = [pp.get() for pp in processes] + + self._end_sweep(sweep_start_time, output_files) + + return output_files + + + def get_sweep_time(self) -> float: + """get_sweep_time + + Returns: + float: the time taken for the variable sweep to run based on the + performance counter. + """ + return self._sweep_run_time + + + def get_iter_time(self) -> float: + """get_iter_time + + Returns + float: the time taken for the current simulation iteration to run. + """ + return self._iter_run_time + diff --git a/dependencies/mooseherder/src/mooseherder/mooserunner.py b/dependencies/mooseherder/src/mooseherder/mooserunner.py new file mode 100644 index 00000000..24b04e3e --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/mooserunner.py @@ -0,0 +1,232 @@ +''' +=============================================================================== +MOOSE Runner Class + +Authors: Lloyd Fletcher, Rory Spencer +=============================================================================== +''' +import os +import subprocess +from pathlib import Path +from mooseherder.simrunner import SimRunner +from mooseherder.mooseconfig import MooseConfig + +class MooseRunner(SimRunner): + """Used to run MOOSE models (*.i) from python. + """ + def __init__(self, config: MooseConfig): + """__init__: Constructor for MOOSE runner taking a MooseConfig object + that contains the paths to the main MOOSE install, the MOOSE app and + the MOOSE app name. Sets default parallelisation options to 1 MPI task + and 1 thread. Sets environment variables required for MPI setup. + + Args: + config (MooseConfig): moose configuration object containing the + required paths and app name to construct the command string. + """ + self._config = config.get_config() + + self._n_threads = 1 + self._n_tasks = 1 + self._redirect_stdout = True + self._arg_list = list('') + self._input_path = None + + + def set_env_vars(self) -> None: + """Sets environment variables for calling MOOSE with MPI. + """ + os.environ['CC'] = 'mpicc' + os.environ['CXX'] = 'mpicxx' + os.environ['F90'] = 'mpif90' + os.environ['F77'] = 'mpif77' + os.environ['FC'] = 'mpif90' + os.environ['MOOSE_DIR'] = str(self._config['main_path']) + if not str(self._config['app_path']) in os.environ["PATH"]: + os.environ["PATH"] = os.environ["PATH"] + ':' + str(self._config['app_path']) + + def set_threads(self, n_threads: int) -> None: + """Sets the number of threads asked of MOOSE on the command line. + + Args: + n_threads (int): Number of threads. + """ + # Need to make sure number is sensible based on cpu + if n_threads <= 0: + n_threads = 1 + elif os.cpu_count() is None: + n_threads = 1 + elif n_threads > os.cpu_count(): # type: ignore + n_threads = os.cpu_count() # type: ignore + + self._n_threads = int(n_threads) + + def set_tasks(self, n_tasks: int) -> None: + """Sets the number of MPI tasks asked of MOOSE on the command line. + + Args: + n_tasks (int): Number of mpi tasks. + """ + # Need to make sure is sensible based on cpu + if n_tasks <= 0: + n_tasks = 1 + elif os.cpu_count() is None: + n_tasks = 1 + elif n_tasks > os.cpu_count(): # type: ignore + n_tasks = os.cpu_count() # type: ignore + + self._n_tasks = int(n_tasks) + + def set_stdout(self, redirect_flag: bool = True) -> None: + """Sets MOOSE to redirect output (True) to file instead of console (False). + + Args: + redirect_flag (bool, optional): True = output to stdout file, False + = output to console. Defaults to True. + """ + self._redirect_stdout = redirect_flag + + def set_run_opts(self, n_tasks: int = 1, + n_threads: int = 1, + redirect_out: bool = True) -> None: + """Sets all options for MOOSE run parallelisation and output. + + Args: + n_tasks (int, optional): Number of mpi tasks for MOOSE run. + Defaults to 1. + n_threads (int, optional): Number of threads for MOOSE run. + Defaults to 1. + redirect (bool, optional): Redirect MOOSE output from console to + file (True). Defaults to False. + """ + self.set_threads(n_threads) + self.set_tasks(n_tasks) + self.set_stdout(redirect_out) + + + def get_input_file(self) -> Path | None: + """get_input_file + + Returns: + Path | None: full path to the input file or None if not specified. + """ + return self._input_path + + + def set_input_file(self, input_path: Path) -> None: + """Sets the path to the MOOSE input file and checks it exists. + + Args: + input_file (str): full path and name of *.i MOOSE input script. + + Raises: + FileNotFoundError: the MOOSE input script doesn't exist + """ + if not input_path.is_file(): + raise FileNotFoundError("Input file does not exist.") + + self._input_path = input_path + self.assemble_arg_list() + + def get_input_dir(self) -> Path | None: + """Gets the path to the directory for the specified input file. + + Returns: + Path: path to input file directory, if no input file is specified + returns None. + """ + if self._input_path is None: + return None + + return self._input_path.parent # type: ignore + + def get_input_tag(self) -> str: + """Gets the input file name string without the path or the .i + + Returns: + str: input file string, if no input file is specified returns an + empty string. + """ + if self._input_path is None: + return "" + + return self._input_path.stem # type: ignore + + + def get_output_path(self) -> Path | None: + """Gets the file and path for the output exodus file based + on the specified input file. Includes '_out.e'. + + Returns: + Path: output exodus file name with path, returns an empty None + if no input file is specified. + """ + if self._input_path is None: + return None + + return self._input_path.parent / (self._input_path.stem +'_out.e') + + + def get_arg_list(self) -> list[str]: + """Run string getter. + + Returns: + str: command line string to run MOOSE. + """ + return self._arg_list + + def assemble_arg_list(self, input_file = None) -> list[str]: + """Assmebles the command line string to run MOOSE based on current + options. + + Args: + input_file (str, optional): Full path to MOOSE input file, if not + empty updates the input file. Defaults to "". + + Returns: + str: command line string that will be used by the runner when run + is called. + """ + if input_file is not None: + self.set_input_file(input_file) + + if self._input_path is None: + raise RuntimeError('No input file specified, set one using set_input_file or by passing on into this function.') + + arg_list = [] + if self._n_tasks > 1: + arg_list = ['mpirun','-np',str(self._n_tasks)] + + arg_list = arg_list + [str(self._config['app_name']) \ + ,f'--n-threads={self._n_threads}','-i' \ + ,str(self._input_path.name)] + + if self._redirect_stdout: + arg_list = arg_list + ['--redirect-stdout'] + + self._arg_list = arg_list + + return self._arg_list + + + def run(self, input_file = None) -> None: + """Runs MOOSE based on current options by passing run string to + subprocess shell. + + Args: + input_file (Path, optional): Full path to MOOSE input file, if not + empty updates the input file. Defaults to None. + """ + if input_file is not None: + self.set_input_file(input_file) + + if self._input_path is None: + raise RuntimeError("Set input path before calling run.") + + self.set_env_vars() + + self.assemble_arg_list() + subprocess.run(self._arg_list, + shell=False, + cwd=str(self._input_path.parent), + check=False) diff --git a/dependencies/mooseherder/src/mooseherder/outputreader.py b/dependencies/mooseherder/src/mooseherder/outputreader.py new file mode 100644 index 00000000..024b2dc2 --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/outputreader.py @@ -0,0 +1,25 @@ +""" +=============================================================================== +OutpuReader Abstract Base Class + +Authors: Lloyd Fletcher +=============================================================================== +""" +from abc import ABC, abstractmethod +from pathlib import Path +from mooseherder.simdata import SimData, SimReadConfig + + +class OutputReader(ABC): + + @abstractmethod + def __init__(self, output_file: Path) -> None: + pass + + @abstractmethod + def read_sim_data(self, read_config: SimReadConfig) -> SimData: + pass + + @abstractmethod + def read_all_sim_data(self) -> SimData: + pass diff --git a/dependencies/mooseherder/src/mooseherder/simdata.py b/dependencies/mooseherder/src/mooseherder/simdata.py new file mode 100644 index 00000000..4504cb69 --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/simdata.py @@ -0,0 +1,93 @@ +""" +=============================================================================== +SimData Class + +Authors: Lloyd Fletcher +=============================================================================== +""" +from dataclasses import dataclass +import numpy as np + + +@dataclass +class SimData: + """ Data class for finite element simulation output. + """ + num_spat_dims: int = 3 + ''' Number of spatial dimensions in the simulation, required to determine + element types given that all coords are padded to [x,y,z]. Allows for 2D and + 1D simulations using any combination of the [x,y,z] axes. + ''' + + time: np.ndarray | None = None + ''' Vector of time steps with dimensions [t]. + Defaults to None. + ''' + + coords: np.ndarray | None = None + ''' Array of nodal coordinates in N by 3 where N is the number of nodes + columns are [x,y,z] coordinates and rows are the nth node. + Defaults to None. + ''' + + connect: dict[str,np.ndarray] | None = None + ''' Element connectivity table: + key = 'connectX' where X is the subdomain e.g. connect1 + Element table given as E by n_e rows where E is the number of elements + in the given subdomain. n_e is the number of nodes per element. + Defaults to None. + ''' + + side_sets: dict[tuple[str,str],np.ndarray] | None = None + ''' Sidesets by name and associated node and element numbers. + key = (name, 'node' or 'elem') e.g. ('bottom','node') will return node + numbers associated with associated with sideset called 'bottom' as a + numpy array with n_s entries where n_s is the number of nodes in the + sideset. + Defaults to None. + ''' + + node_vars: dict[str,np.ndarray] | None = None + ''' Nodal variable by name. + key = 'name' e.g. 'disp_x' or 'temp' + Gives the nodal variable as a numpy array, N by t where N is the number + of nodes and t is the number of time steps. Note that element variables + can be stored as nodal depending on output options or material output + order selected. + Defaults to None. + ''' + + elem_vars: dict[tuple[str,int],np.ndarray] | None = None + ''' Element variables by name and block. + key = (name, block num) + Gives the element variable as a numpy array, E by t where E is the + number of elements and t is the number of time steps. Note that element + variables might exist as nodal variables only depending on output + options and specified material output order. + Defaults to None. + ''' + + glob_vars: dict[str,np.ndarray] | None = None + ''' Global variables by name. Global variable include postprocessors and + extracted reactions at boundaries. + key = name (as specified in input file post-processor), e.g. 'react_y' + Gives a numpy array with t entries corresponding to the number of time + steps in the simulation. + Defaults to None. + ''' + +@dataclass +class SimReadConfig: + """ Used to specify na mes of variables to be read into the SimData class. + This class allows the user to only extract the required variables by + name. + """ + time: bool | None = True + coords: bool | None = True + connect: bool | None = True + sidesets: np.ndarray | None = None + node_vars: np.ndarray | None = None + elem_vars: list[tuple[str,int]] | None = None + glob_vars: np.ndarray | None = None + time_inds: np.ndarray | None = None + diff --git a/dependencies/mooseherder/src/mooseherder/simrunner.py b/dependencies/mooseherder/src/mooseherder/simrunner.py new file mode 100644 index 00000000..d93acaa9 --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/simrunner.py @@ -0,0 +1,38 @@ +""" +=============================================================================== +SimRunner Abstract Base Class + +Authors: Lloyd Fletcher +=============================================================================== +""" +from abc import ABC, abstractmethod +from pathlib import Path + +class SimRunner(ABC): + """SimRunner: ABC for the moosherd simulation chain. A simulation has an + input file which can be get or set. The simulation can then be run with the + given input files and then the path to the simulation output file can be + retrieved. + """ + @abstractmethod + def get_input_file(self) -> Path | None: + """get_input_path + """ + + + @abstractmethod + def set_input_file(self, input_path: Path) -> None: + """set_input_file + """ + + + @abstractmethod + def run(self, input_file: Path | None = None) -> None: + """run + """ + + @abstractmethod + def get_output_path(self) -> Path | None: + """get_output_path + """ + diff --git a/dependencies/mooseherder/src/mooseherder/sweepreader.py b/dependencies/mooseherder/src/mooseherder/sweepreader.py new file mode 100644 index 00000000..3be6b85c --- /dev/null +++ b/dependencies/mooseherder/src/mooseherder/sweepreader.py @@ -0,0 +1,291 @@ +''' +=============================================================================== +SweepReader Class + +Authors: Lloyd Fletcher, Rory Spencer +=============================================================================== +''' + +import os +import json +from pathlib import Path +from multiprocessing.pool import Pool +from mooseherder.directorymanager import DirectoryManager +import mooseherder.directorymanager as dm +from mooseherder.exodusreader import ExodusReader +from mooseherder.simdata import SimData, SimReadConfig + + +class SweepReader: + """ Used to read the output from one or more calls to mooseherd.run_para(). + has configurable options for reading in the variable sweep in parallel. + """ + def __init__(self, + dir_manager: DirectoryManager, + num_para_read: int = 1) -> None: + """__init__: Construct the sweep reader with a directory manager and + the number of simulations to read in parallel. + + Args: + dir_manager (DirectoryManager): the directory manager as used by + the mooseherd that ran the simulation sweep. + num_para_read (int, optional): number of simulation to read in + parallel. Defaults to 1. + """ + self._dir_manager = dir_manager + self._output_files = list([]) + self._n_para_read = num_para_read + + + def read_output_key(self, sweep_iter: int) -> list[list[Path | None]]: + """read_output_key: reads the output key json file produced by running + the variable sweep. The output key file maps which simulation were run + in a given sub directory. + + Args: + sweep_iter (int): sweep iteration to read. This is the number that + is appended to the output key file e.g. output-key-2.json for + the 2nd call to run_seq/para in the mooseherd. + + Returns: + list[list[Path]]: paths to the outputs from the variable sweep the + outer list is the simulation iteration and the inner list is + the position in the simulation chain. + """ + output_key = self._dir_manager.get_output_key_file(sweep_iter) + if not output_key.is_file(): + raise FileNotFoundError(f'Output key file for sweep iteration {sweep_iter} not found at path: {output_key}') + + with open(output_key, 'r', encoding='utf-8') as okf: + output_files = json.load(okf) + + return dm.output_str_to_paths(output_files) + + + def read_all_output_keys(self) -> list[list[Path | None]]: + """read_all_output_keys: as read_output_keys() but finds all output key + files in the first sub-directory and reads them. + + Raises: + FileNotFoundError: No output key files found in the first sub- + directory. + + Returns: + list[list[Path]]: paths to the outputs from the variable sweep the + outer list is the simulation iteration and the inner list is + the position in the simulation chain. + """ + output_paths = self._find_files_by_str(self._dir_manager.get_output_key_tag(), + self._dir_manager.get_run_dir(0)) + + if len(output_paths) == 0: + raise FileNotFoundError("No output key json files found.") + + output_files = list([]) + for output_path in output_paths: + sweep_iter = output_path.name.split('.')[0].split('-')[-1] + output_files = output_files + self.read_output_key(int(sweep_iter)) + + self._output_files = output_files + return self._output_files + + + def read_sweep_var_file(self, sweep_iter: int = 1 + ) -> list[list[dict | None]]: + """read_sweep_var_file: reads the file containing the sweep variable + dictionary for a given sweep iteration and returns it. + + Args: + sweep_iter (int, optional): The sweep iteration (i.e. the call + number to mooseher.run_seq/para) Defaults to 1. + + Raises: + FileNotFoundError: Sweep file not found. + + Returns: + list[list[dict | None]]: The sweep variables as passed to mooseherd + .run_seq/para. + """ + sweep_var_file = self._dir_manager.get_sweep_var_file(sweep_iter) + if not sweep_var_file.is_file(): + raise FileNotFoundError( + f'Sweep variable file for sweep iteration {sweep_iter}'+ + f'not found at path: {sweep_var_file}') + + with open(sweep_var_file, 'r', encoding='utf-8') as svf: + sweep_vars = json.load(svf) + + return sweep_vars + + + def read_all_sweep_var_files(self) -> list[list[dict | None]]: + """read_all_sweep_var_files: as read sweep variables but finds all + sweep variables in the first sub-directory and reads them. + + Raises: + FileNotFoundError: No sweep variable files found. + + Returns: + list[list[dict | None]]: The sweep variables as passed to mooseherd + .run_seq/para. Additional sweep iterations are appended to the + end of the list. + """ + sweep_var_paths = self._find_files_by_str(self._dir_manager.get_sweep_var_tag(), + self._dir_manager.get_run_dir(0)) + + if len(sweep_var_paths) == 0: + raise FileNotFoundError("No sweep variable json files found.") + + sweep_vars = list([]) + for ii,_ in enumerate(sweep_var_paths): + sweep_vars = sweep_vars + self.read_sweep_var_file(ii+1) + + return sweep_vars + + + def _find_files_by_str(self, search_str: str, search_path: Path + ) -> list[Path]: + """_find_files_by_str: helper function for finding output key and sweep + variable files based on a specific string. + + Args: + search_str (str): the string to find in the file name. + search_path (Path): the path to the directory to search for files + containing the specified string. + + Returns: + list[Path]: list of paths to the files found with the string. + """ + found_files = list([]) + + all_files = os.listdir(search_path) + + for ff in all_files: + if search_str in ff: + found_files.append(Path(ff)) + + found_files.sort() + + return found_files + + + def get_output_files(self) -> list[list[Path | None]]: + """get_output_files + + Returns: + list[list[Path]]: returns the paths to the output files as read + from the output key files. + """ + return self._output_files + + + def read_results_once(self, + output_files: list[Path | None], + read_config: SimReadConfig | None = None + ) -> list[SimData | None]: + """read_results_once: reads a specific simulation at the specified + path based on the specified read configuration. If the read + configuration is None then read everything. + + Args: + output_file (Path): Path to the file to read + read_config (SimReadConfig | None): class to specify the data to read + + Returns: + list[SimData | None]: list of data classes holding the simulation + data for each simulation in the chain. Will be None for a pre- + processor like Gmsh that has not output. + """ + data_list = list([]) + + for ff in output_files: + if ff is None: + data_list.append(None) + else: + #TODO: replace with output reader ABC + reader = ExodusReader(ff) + if read_config is None: + data_list.append(reader.read_all_sim_data()) + else: + data_list.append(reader.read_sim_data(read_config)) + + return data_list + + + def read_results_sequential(self, + sweep_iter: int | None = None, + read_config: SimReadConfig | None = None + ) -> list[list[SimData]]: + """read_results_sequential: reads the variable sweep results + sequentially. Can read a specific iteration with a specific read config + but defaults to reading everything found in the simulation directories. + + Args: + sweep_iter (int | None, optional): sweep iteration number to read. + Reads the output key file for this iteration. Defaults to None. + read_config (SimReadConfig | None, optional): object for specifying + which variables are to be extracted from the output. Defaults + to None. + + Returns: + list[list[SimData]]: list of lists of SimData objects containing the + simulation results corresponding to each combination of + variables. + """ + self._start_read_output_keys(sweep_iter) + + sweep_results = list([]) + for ii,ff in enumerate(self._output_files): + sweep_results.append(self.read_results_once(ff,read_config)) + + return sweep_results + + + def read_results_para(self, + sweep_iter: int | None = None, + read_config: SimReadConfig | None = None + ) -> list[list[SimData]]: + """read_results_para: reads the variable sweep results in parallel + Can read a specific iteration with a specific read config but defaults + to reading everything found in the simulation directories. + + Args: + sweep_iter (int | None, optional): sweep iteration number to read. + Reads the output key file for this iteration. Defaults to None. + read_config (SimReadConfig | None, optional): object for specifying + which variables are to be extracted from the output. Defaults + to None. + + Returns: + list[list[SimData]]: list of lists of SimData objects containing the + simulation results corresponding to each combination of + variables. + """ + self._start_read_output_keys(sweep_iter) + + with Pool(self._n_para_read) as pool: + processes = list([]) + for ff in self._output_files: + processes.append(pool.apply_async( + self.read_results_once, args=(ff,read_config))) + + sweep_results = [pp.get() for pp in processes] + + return sweep_results + + + def _start_read_output_keys(self, sweep_iter: int | None): + """_start_read: helper function to read the output keys for a specific + simulation iteration prior to reading the simulation outputs. + + Args: + sweep_iter (int | None): sweep iteration number to read. If None + read all of the output keys. + """ + if self._output_files == '': + self._output_files = self.read_output_key(sweep_iter=1) + + if sweep_iter is None: + self.read_all_output_keys() + + diff --git a/dependencies/mooseherder/tests/__init__.py b/dependencies/mooseherder/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/dependencies/mooseherder/tests/directorymanager_test.py b/dependencies/mooseherder/tests/directorymanager_test.py new file mode 100644 index 00000000..b8b3b23c --- /dev/null +++ b/dependencies/mooseherder/tests/directorymanager_test.py @@ -0,0 +1,80 @@ +''' +============================================================================== +TEST: DirectoryManager + +Authors: Lloyd Fletcher +============================================================================== +''' + +from pathlib import Path +import pytest +from mooseherder.directorymanager import DirectoryManager +import tests.herdchecker as hc + + +@pytest.fixture +def dir_manager() -> DirectoryManager: + return DirectoryManager(hc.NUM_DIRS) + + +@pytest.fixture(autouse=True) +def setup_teardown(dir_manager): + yield + dir_manager.clear_dirs() + + +def test_init_dir_manager(dir_manager: DirectoryManager) -> None: + assert dir_manager is not None + assert dir_manager._n_dirs == hc.NUM_DIRS + assert dir_manager._base_dir == Path().cwd() + assert dir_manager._sub_dir == 'sim-workdir' + + +def test_set_sub_dir_name(dir_manager: DirectoryManager) -> None: + new_name = 'new-workdir' + dir_manager.set_sub_dir_name(new_name) + assert dir_manager._sub_dir == new_name + + +def test_set_base_dir(dir_manager: DirectoryManager) -> None: + dir_manager.set_base_dir(hc.BASE_DIR) + assert dir_manager._base_dir == hc.BASE_DIR + + +def test_set_base_dir_err(dir_manager: DirectoryManager) -> None: + base_dir = Path('no_exist/') + with pytest.raises(FileExistsError) as errinfo: + dir_manager.set_base_dir(base_dir) + msg, = errinfo.value.args + assert msg == "Specified base directory does not exist." + + +def test_create_dirs(dir_manager: DirectoryManager) -> None: + dir_manager.create_dirs() + for dd in range(hc.NUM_DIRS): + run_dir = dir_manager._base_dir / (dir_manager._sub_dir+'-'+str(dd+1)) + assert run_dir.is_dir() + + +def test_clear_dirs(dir_manager: DirectoryManager) -> None: + dir_manager.create_dirs() + dir_manager.clear_dirs() + for dd in range(hc.NUM_DIRS): + run_dir = dir_manager._base_dir / (dir_manager._sub_dir+'-'+str(dd+1)) + assert run_dir.is_dir() == False + + +@pytest.mark.parametrize( + ('dir_num','expected'), + ( + (-1,0), + (0,0), + (1,1), + (4,0), + ) +) +def test_get_run_dir(dir_num: int, + expected: int, + dir_manager: DirectoryManager) -> None: + check_path = dir_manager.get_run_dir(dir_num) + assert check_path == dir_manager._run_dirs[expected] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/exodusreader_test.py b/dependencies/mooseherder/tests/exodusreader_test.py new file mode 100644 index 00000000..7ba2c608 --- /dev/null +++ b/dependencies/mooseherder/tests/exodusreader_test.py @@ -0,0 +1,328 @@ +''' +============================================================================== +TEST: ExodusReader + +Authors: Lloyd Fletcher +============================================================================== +''' +from pathlib import Path +from dataclasses import fields +import pytest +import numpy as np +import numpy.typing as npt +from mooseherder.exodusreader import ExodusReader +from mooseherder.simdata import SimData +import tests.herdchecker as hc + +NUM_TIME_STEPS = 4 +NUM_NODES = 441 +NUM_ELEMS_PER_BLOCK = 200 +NODES_PER_ELEM = 4 +NUM_BLOCKS = 2 + +CONNECT_NAMES = ('connect1','connect2') + +NUM_SIDESETS = 4 +SIDESET_NAMES = ('bottom', + 'right', + 'top', + 'left') + +NUM_NODE_VARS = 10 +NODE_VAR_NAMES = ('disp_x', + 'disp_y', + 'strain_xx', + 'strain_xy', + 'strain_yy', + 'strain_zz', + 'stress_xx', + 'stress_xy', + 'stress_yy', + 'vonmises_stress') + +NUM_ELEM_VARS = 8 +ELEM_VAR_NAMES = ('strain_xx', + 'strain_xy', + 'strain_yy', + 'strain_zz', + 'stress_xx', + 'stress_xy', + 'stress_yy', + 'vonmises_stress') + + +NUM_GLO_VARS = 4 +GLO_VAR_NAMES = ('avg_yy_stress', + 'max_y_disp', + 'max_yy_stress', + 'react_y') + + +@pytest.fixture +def exodus_path() -> Path: + return hc.OUTPUT_PATH / 'moose-mech-outtest_out.e' + +@pytest.fixture +def reader(exodus_path: Path) -> ExodusReader: + return ExodusReader(exodus_path) + + +def test_init_reader(reader: ExodusReader, + exodus_path: Path) -> None: + assert reader._exodus_path == exodus_path + assert reader._data is not None + + +def tests_init_reader_path_err() -> None: + err_path = Path().home() / 'no-exist/no_exodus_here.wrong' + with pytest.raises(FileNotFoundError) as err_info: + check_reader = ExodusReader(err_path) + + (msg,) = err_info.value.args + assert msg == 'Exodus file not found at specified path' + + +@pytest.mark.parametrize( + ('name_key','expected'), + ( + ('ss_names', SIDESET_NAMES), + ('name_nod_var',NODE_VAR_NAMES), + ('name_elem_var',ELEM_VAR_NAMES), + ('name_glo_var',GLO_VAR_NAMES) + ) +) +def test_get_names(name_key: str, + expected: tuple[str], + reader: ExodusReader) -> None: + check_names = reader.get_names(name_key) + assert (check_names == expected).all() + + +def test_get_names_none(reader: ExodusReader) -> None: + check_names = reader.get_names(None) + assert check_names is None + + +def test_get_names_no_key(reader: ExodusReader) -> None: + check_names = reader.get_names('no-exist') + assert check_names is None + + +def test_get_var(reader: ExodusReader) -> None: + key = 'coordx' + check_var = reader.get_var(key) + assert check_var.shape[0] > 0 + assert check_var.shape == (NUM_NODES,) + + +@pytest.mark.parametrize( + ('keys','expected'), + ( + (('top','ss_names','node_ns'),'node_ns3'), + (('top','ss_names','elem_ss'),'elem_ss3'), + (('disp_x','name_nod_var','vals_nod_var'),'vals_nod_var1'), + (('disp_y','name_nod_var','vals_nod_var'),'vals_nod_var2'), + (('stress_xy','name_nod_var','vals_nod_var'),'vals_nod_var8'), + (('strain_yy','name_elem_var','vals_elem_var'),'vals_elem_var3'), + (('stress_xx','name_elem_var','vals_elem_var'),'vals_elem_var5'), + ) +) +def test_get_key(keys: tuple[str,str,str], + expected: str, + reader: ExodusReader) -> None: + + name = keys[0] + all_names = reader.get_names(keys[1]) + key_tag = keys[2] + + key = reader.get_key(name,all_names,key_tag) # type: ignore + assert key == expected + + +def test_get_var_no_key(reader: ExodusReader) -> None: + no_key = 'no_exist' + check_var = reader.get_var(no_key) + assert check_var.shape[0] == 0 + + +def test_get_connectivity_names(reader: ExodusReader) -> None: + check_names = reader.get_connectivity_names() + assert check_names.shape == (NUM_BLOCKS,) + assert (check_names == np.array(['connect1','connect2'])).all() + + +def test_get_connectivity(reader: ExodusReader) -> None: + check_connect = reader.get_connectivity() + assert check_connect is not None + assert tuple(check_connect.keys()) == CONNECT_NAMES + assert check_connect['connect1'].shape == ( + NODES_PER_ELEM,NUM_ELEMS_PER_BLOCK) + assert check_connect['connect2'].shape == ( + NODES_PER_ELEM,NUM_ELEMS_PER_BLOCK) + + +def test_get_sideset_names(reader: ExodusReader) -> None: + check_names = reader.get_sideset_names() + assert check_names is not None + assert check_names.shape == (NUM_SIDESETS,) + assert (check_names == SIDESET_NAMES).all() + + +def test_get_sidesets_none(reader: ExodusReader) -> None: + check_sidesets = reader.get_sidesets(None) + assert check_sidesets is None + + +def test_get_all_sidesets(reader: ExodusReader) -> None: + check_sidesets = reader.get_all_sidesets() + assert check_sidesets is not None + assert len(check_sidesets.keys()) == 2*NUM_SIDESETS # NOTE: node+elem = *2 + assert check_sidesets[('bottom','node')].shape[0] > 0 + assert check_sidesets[('bottom','elem')].shape[0] > 0 + + +def test_get_node_var_names(reader: ExodusReader) -> None: + node_var_names = reader.get_node_var_names() + assert node_var_names is not None + assert node_var_names.shape == (NUM_NODE_VARS,) + assert (node_var_names == NODE_VAR_NAMES).all() + + +def test_get_node_vars_none(reader: ExodusReader) -> None: + node_vars = reader.get_node_vars(None) + assert node_vars is None + + +def test_get_all_node_vars(reader: ExodusReader) -> None: + node_vars = reader.get_all_node_vars() + assert node_vars is not None + assert len(node_vars.keys()) == NUM_NODE_VARS + for nn in node_vars: + assert node_vars[nn].shape == (NUM_NODES,NUM_TIME_STEPS) + + +def test_get_elem_var_names(reader: ExodusReader) -> None: + elem_var_names = reader.get_elem_var_names() + assert elem_var_names is not None + assert elem_var_names.shape == (NUM_ELEM_VARS,) + assert (elem_var_names == ELEM_VAR_NAMES).all() + + +def test_get_num_elem_blocks(reader: ExodusReader) -> None: + num_blocks = reader.get_num_elem_blocks() + assert num_blocks == NUM_BLOCKS + + +def test_get_elem_var_names_and_blocks(reader: ExodusReader) -> None: + var_names_and_blocks = reader.get_elem_var_names_and_blocks() + assert var_names_and_blocks is not None + assert len(var_names_and_blocks) == NUM_ELEM_VARS*NUM_BLOCKS + + +def test_get_all_elem_vars(reader: ExodusReader) -> None: + elem_vars = reader.get_all_elem_vars() + assert elem_vars is not None + assert len(elem_vars.keys()) == NUM_ELEM_VARS*NUM_BLOCKS + for ee in elem_vars: + assert elem_vars[ee].shape == (NUM_ELEMS_PER_BLOCK,NUM_TIME_STEPS) + + +def test_get_glob_var_names(reader: ExodusReader) -> None: + glob_var_names = reader.get_glob_var_names() + assert glob_var_names is not None + assert glob_var_names.shape == (NUM_GLO_VARS,) + assert (glob_var_names == GLO_VAR_NAMES).all() + + +def test_get_glob_vars_none(reader: ExodusReader) -> None: + glob_vars = reader.get_glob_vars(None) + assert glob_vars is None + + +def test_get_all_glob_vars(reader: ExodusReader) -> None: + glob_vars = reader.get_all_glob_vars() + assert glob_vars is not None + assert len(glob_vars.keys()) == (NUM_TIME_STEPS) + assert tuple(glob_vars.keys()) == GLO_VAR_NAMES + for gg in glob_vars: + assert glob_vars[gg].shape == (NUM_TIME_STEPS,) + +def test_get_coords(reader: ExodusReader) -> None: + (coords,_) = reader.get_coords() + assert coords.shape == (NUM_NODES,3) + + +@pytest.mark.parametrize( + ('coord','dim','expected'), + ( + (np.array([]),4,np.array([0,0,0,0])), + (np.array([0,1,2,3]),4,np.array([0,1,2,3])), + ) +) +def test_expand_coords(coord: npt.NDArray, + dim: int, + expected: npt.NDArray, + reader: ExodusReader) -> None: + check = reader._expand_coord(coord,dim) + assert (check == expected).all() + + +def test_get_time(reader: ExodusReader) -> None: + check_time = reader.get_time() + assert check_time.shape == (NUM_TIME_STEPS,) + + +def test_get_read_config(reader: ExodusReader) -> None: + config = reader.get_read_config() + + for ff in fields(config): + if ff.name != 'time_inds': + assert getattr(config,ff.name) is not None + + assert (config.sidesets == SIDESET_NAMES).all() + assert (config.node_vars == NODE_VAR_NAMES).all() + assert len(config.elem_vars) == NUM_ELEM_VARS*NUM_BLOCKS # type: ignore + assert (config.glob_vars == GLO_VAR_NAMES).all() + + +def test_read_sim_data(reader: ExodusReader) -> None: + config = reader.get_read_config() + data = reader.read_sim_data(config) + check_sim_data(data) + + +def test_read_all_sim_data(reader: ExodusReader) -> None: + data = reader.read_all_sim_data() + check_sim_data(data) + + +def check_sim_data(data: SimData) -> None: + for ff in fields(data): + assert getattr(data,ff.name) is not None + + assert data.time.shape == (NUM_TIME_STEPS,) + assert data.coords.shape == (NUM_NODES,3) + + assert tuple(data.connect.keys()) == CONNECT_NAMES + for cc in data.connect: + assert data.connect[cc].shape == (NODES_PER_ELEM,NUM_ELEMS_PER_BLOCK) + + assert len(data.side_sets.keys()) == NUM_SIDESETS*2 + for ss in data.side_sets: + assert ss[0] in SIDESET_NAMES + assert ss[1] in ('node','elem') + + assert tuple(data.node_vars.keys()) == NODE_VAR_NAMES + for nn in data.node_vars: + assert data.node_vars[nn].shape == (NUM_NODES,NUM_TIME_STEPS) + + assert len(data.elem_vars.keys()) == NUM_ELEM_VARS*NUM_BLOCKS + for ee in data.elem_vars: + assert ee[0] in ELEM_VAR_NAMES + assert ee[1] in (1,2) + assert data.elem_vars[ee].shape == (NUM_ELEMS_PER_BLOCK,NUM_TIME_STEPS) + + assert tuple(data.glob_vars.keys()) == GLO_VAR_NAMES + for gg in data.glob_vars: + data.glob_vars[gg].shape == (NUM_TIME_STEPS,) + diff --git a/dependencies/mooseherder/tests/generate_moose_output.py b/dependencies/mooseherder/tests/generate_moose_output.py new file mode 100644 index 00000000..49bd731a --- /dev/null +++ b/dependencies/mooseherder/tests/generate_moose_output.py @@ -0,0 +1,50 @@ +''' +============================================================================== +GENERATE OUTPUTS FOR TESTS + +Author: Lloyd Fletcher +============================================================================== +''' +import time +import os +from pathlib import Path +from mooseherder import MooseRunner + +USER_DIR = Path().home() + +print('------------------------------------------') +print('GENERATE MOOSE HERDER TEST CASES') +print('------------------------------------------') + +# Create the moose runner with correct paths to moose and apps +moose_dir = USER_DIR / 'moose' +moose_app_dir = USER_DIR / 'proteus' +moose_app_name = 'proteus-opt' +moose_runner = MooseRunner(moose_dir,moose_app_dir,moose_app_name) + +# Set input and parallelisation options +moose_runner.set_run_opts(n_tasks=4, + n_threads=2, + redirect_out=True) + +# These are all the test cases required +input_files = [ Path('scripts/moose-mech-simple.i'), \ + Path('scripts/moose-mech-sub-dom.i'), \ + Path('scripts/moose-mech-sub-dom-order2.i'), \ + Path('scripts/moose-mech-two-beams.i'), \ + Path('scripts/moose-mech-thermal-exp.i')] + +for ii in input_files: + start_time = time.perf_counter() + + moose_runner.set_input_file(ii) + print('Running moose test case with:') + print(moose_runner.get_arg_list()) + + moose_runner.run() + run_time = time.perf_counter() - start_time + print('MOOSE run time = {run_time:.3f} seconds') + print() + +print('Test data generation complete.') +print() diff --git a/dependencies/mooseherder/tests/gmsh/gmsh-broken.geo b/dependencies/mooseherder/tests/gmsh/gmsh-broken.geo new file mode 100644 index 00000000..2914213b --- /dev/null +++ b/dependencies/mooseherder/tests/gmsh/gmsh-broken.geo @@ -0,0 +1,62 @@ +// +// Demo input file for parameterised geometries with Gmsh +// Author: Rory Spencer +// Date: Nov-2023 + +// Geometry Variables +gaugeHeight = 10E-3 +gaugeWidth = ; +// gaugeThickness = 1E-3; //2D for now + +// Parameterisation +//_* +p0 = 1.5E-3; +p1 = 1E-3; // Testing comments in the variable block +// Another test comment +p2 = 1.2E-3; +filename = "mesh-test.msh"; // String variable +//** +lc = 1E-4; + + +// Create some points defining the boundary +// Will have vertical symmetry +Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen +Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 +Point(3) = {p1,0,0,lc}; // Parameterised point 1 +Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 +Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line +Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline +Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge + +// Connect things up with some lines +Line(1) = {1,7}; // Bottom Hor Line +Spline(2) = {7,2,3,4,5}; //Vertical up side +Line(3) = {5,6}; // Top Hor Line +Line(4) = {6,1}; // Centreline + +Curve Loop(1) = {1,2,3,4}; +Plane Surface(1) = {1}; + +// Top & Bottom +Transfinite Curve{1} = 10; +Transfinite Curve{3} = 10; + +// Sides +Transfinite Curve{4} = 50; +Transfinite Curve{2} = 50; + +Transfinite Surface{1}; + +Recombine Surface{:}; +Mesh 2; + + +Physical Surface("Specimen",1) = {1}; + +Physical Curve("Top-BC",2) = {3}; +Physical Curve("Mid-BC",3) = {4}; +Physical Curve("Btm-BC",4) = {1}; + +Save Str(filename); +Exit; diff --git a/dependencies/mooseherder/tests/gmsh/gmsh-test.geo b/dependencies/mooseherder/tests/gmsh/gmsh-test.geo new file mode 100644 index 00000000..1a69a7b2 --- /dev/null +++ b/dependencies/mooseherder/tests/gmsh/gmsh-test.geo @@ -0,0 +1,61 @@ +// +// Demo input file for parameterised geometries with Gmsh +// Author: Rory Spencer +// Date: Nov-2023 + +// Geometry Variables +gaugeHeight = 10E-3; +gaugeWidth = 2.5E-3; +// gaugeThickness = 1E-3; //2D for now + +// Parameterisation +//_* +p0 = 1.5E-3; +p1 = 1E-3; // Testing comments in the variable block +// Another test comment +p2 = 1.2E-3; +filename = "gmsh-test.msh"; // String variable +//** +lc = 1E-4; + +// Create some points defining the boundary +// Will have vertical symmetry +Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen +Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 +Point(3) = {p1,0,0,lc}; // Parameterised point 1 +Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 +Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line +Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline +Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge + +// Connect things up with some lines +Line(1) = {1,7}; // Bottom Hor Line +Spline(2) = {7,2,3,4,5}; //Vertical up side +Line(3) = {5,6}; // Top Hor Line +Line(4) = {6,1}; // Centreline + +Curve Loop(1) = {1,2,3,4}; +Plane Surface(1) = {1}; + +// Top & Bottom +Transfinite Curve{1} = 10; +Transfinite Curve{3} = 10; + +// Sides +Transfinite Curve{4} = 50; +Transfinite Curve{2} = 50; + +Transfinite Surface{1}; + +Recombine Surface{:}; +Mesh 2; + + +Physical Surface("Specimen",1) = {1}; + +Physical Curve("Top-BC",2) = {3}; +Physical Curve("Mid-BC",3) = {4}; +Physical Curve("Btm-BC",4) = {1}; + +Save Str(filename); +Exit; diff --git a/dependencies/mooseherder/tests/gmshrunner_test.py b/dependencies/mooseherder/tests/gmshrunner_test.py new file mode 100644 index 00000000..55bb29e2 --- /dev/null +++ b/dependencies/mooseherder/tests/gmshrunner_test.py @@ -0,0 +1,118 @@ +''' +============================================================================== +TEST: GmshRunner + +Authors: Lloyd Fletcher +============================================================================== +''' +import os +from pathlib import Path +import pytest +from mooseherder.gmshrunner import GmshRunner + +USER_DIR = Path.home() + + +def test_gmsh_exists(): + exist_gmsh_path = USER_DIR / 'gmsh/bin/gmsh' + assert exist_gmsh_path.is_file() + + +@pytest.fixture() +def gmsh_path() -> Path: + return USER_DIR / 'gmsh/bin/gmsh' + + +@pytest.fixture() +def runner(gmsh_path: Path) -> GmshRunner: + return GmshRunner(gmsh_path) + + +@pytest.fixture() +def input_file() -> Path: + return Path('tests/gmsh/gmsh-test.geo') + + +@pytest.fixture(autouse=True) +def setup_teardown(): + # Setup here + yield + # Teardown here - remove output files + all_files = os.listdir('tests/gmsh/') + for ff in all_files: + if '.msh' in ff: + os.remove(Path('tests/gmsh/' + ff)) + +def test_create_runner(runner: GmshRunner, gmsh_path: Path) -> None: + assert runner._gmsh_app == gmsh_path + + +def test_create_runner_err() -> None: + wrong_path = USER_DIR / 'wrong_dir' + with pytest.raises(FileNotFoundError) as err_info: + _ = GmshRunner(wrong_path) + + msg, = err_info.value.args + assert msg == 'Gmsh app not found at given path.' + +def test_set_gmsh_app(gmsh_path: Path) -> None: + check_runner = GmshRunner() + check_runner.set_gmsh_app(gmsh_path) + assert check_runner._gmsh_app == gmsh_path + + +def test_set_gmsh_app_err() -> None: + wrong_path = USER_DIR / 'wrong_dir' + with pytest.raises(FileNotFoundError) as err_info: + check_runner = GmshRunner() + check_runner.set_gmsh_app(wrong_path) + + msg, = err_info.value.args + assert msg == 'Gmsh app not found at given path.' + + +def test_set_input_file(runner: GmshRunner, input_file: Path) -> None: + runner.set_input_file(input_file) + assert runner.get_input_file() == input_file + + +def test_set_input_err_geo(runner: GmshRunner) -> None: + wrong_file = Path('tests/gmsh/gmsh-test.i') + with pytest.raises(FileNotFoundError) as err_info: + runner.set_input_file(wrong_file) + msg, = err_info.value.args + assert msg == 'Incorrect file type. Must be *.geo.' + + +def test_set_input_err_exist(runner: GmshRunner) -> None: + wrong_file = Path('tests/gmsh/gmsh-test-noexist.geo') + with pytest.raises(FileNotFoundError) as err_info: + runner.set_input_file(wrong_file) + msg, = err_info.value.args + assert msg == 'Specified gmsh geo file does not exist.' + + +def test_run(runner: GmshRunner, input_file: Path) -> None: + runner.set_input_file(input_file) + runner.run() + assert os.path.isfile('tests/gmsh/gmsh-test.msh'), 'Output mesh *.msh file not generated by gmsh.' + + +def test_run_with_input(runner: GmshRunner, input_file: Path) -> None: + runner.run(input_file) + assert os.path.isfile('tests/gmsh/gmsh-test.msh'), 'Output mesh *.msh file not generated by gmsh.' + + +def test_run_err_no_gmsh() -> None: + check_runner = GmshRunner() + with pytest.raises(RuntimeError) as err_info: + check_runner.run() + msg, = err_info.value.args + assert msg == "Specify the full path to the gmsh app before calling run." + + +def test_run_err_no_geo(runner: GmshRunner) -> None: + with pytest.raises(RuntimeError) as err_info: + runner.run() + msg, = err_info.value.args + assert msg == "Specify input *.geo file before running gmsh." diff --git a/dependencies/mooseherder/tests/herdchecker.py b/dependencies/mooseherder/tests/herdchecker.py new file mode 100644 index 00000000..c06c5154 --- /dev/null +++ b/dependencies/mooseherder/tests/herdchecker.py @@ -0,0 +1,200 @@ +''' +============================================================================== +HerdChecker: Helper functions for testing MooseHerder + +Authors: Lloyd Fletcher +============================================================================== +''' + +import os +from typing import Any +from pathlib import Path +from pprint import pprint +from mooseherder.inputmodifier import InputModifier +from mooseherder.mooserunner import MooseRunner +from mooseherder.mooseconfig import MooseConfig +from mooseherder.gmshrunner import GmshRunner +from mooseherder.mooseherd import MooseHerd +from mooseherder.directorymanager import DirectoryManager + + +NUM_DIRS = 4 +NUM_PARA = 4 +NUM_CALLS = 3 +BASE_DIR = Path('tests/') + +MOOSE_PATH = Path.home()/'moose' +MOOSE_APP_PATH = Path().home()/'proteus' +MOOSE_APP_NAME = 'proteus-opt' +MOOSE_INPUT = Path('tests/moose/moose-test.i') + +GMSH_APP_PATH = Path().home() / 'gmsh/bin/gmsh' +GMSH_INPUT = Path('tests/gmsh/gmsh-test.geo') + +OUTPUT_PATH = Path('tests/output/') + + +def create_moose_config() -> MooseConfig: + return MooseConfig({'main_path': MOOSE_PATH, + 'app_path': MOOSE_APP_PATH, + 'app_name': MOOSE_APP_NAME}) + + +def create_moose_objs(input_file: Path) -> tuple[MooseRunner,InputModifier]: + moose_config = create_moose_config() + moose_runner = MooseRunner(moose_config) + + moose_input = input_file + moose_modifier = InputModifier(moose_input,'#','') + + return (moose_runner,moose_modifier) + + +def create_gmsh_objs(input_file: Path) -> tuple[GmshRunner,InputModifier]: + gmsh_input = input_file + gmsh_modifier = InputModifier(gmsh_input,'//',';') + gmsh_runner = GmshRunner(GMSH_APP_PATH) + gmsh_runner.set_input_file(gmsh_input) + + return (gmsh_runner,gmsh_modifier) + +def check_solve(check_file: Path, check_str: str) -> int: + check_count = 0 + if check_file.is_file(): + with open(check_file,'r', encoding="utf-8") as so: + stdout_lines = so.readlines() + for ll in stdout_lines: + if check_str in ll: + check_count += 1 + return check_count + + +def check_solve_converged(check_stdout: Path) -> int: + return check_solve(check_stdout,'Solve Converged!') + + +def check_solve_error(check_stdout: Path) -> int: + return check_solve(check_stdout,'*** ERROR ***') + + +def check_output_key_file_count(check_dir: Path) -> int: + work_dir_files = os.listdir(check_dir) + + key_count = 0 + for ff in work_dir_files: + if 'output-key' in ff: + key_count += 1 + + return key_count + + +def check_run_sweep(check_herd: MooseHerd, + dir_manager: DirectoryManager, + run_call: int) -> None: + for ll in dir_manager.get_output_paths(): + for ff in ll: + if ff is not None: + assert ff.is_file(), \ + f"Simulation output {ff} does not exist." + + assert check_herd.get_sweep_time() >= 0, \ + 'Sweep run time is less than 0.' + assert dir_manager.get_output_key_file(check_herd.get_sweep_iter()), \ + 'Output key file was not written.' + + output_key_count = check_output_key_file_count( + dir_manager.get_output_key_file( + check_herd.get_sweep_iter()).parent) + assert output_key_count == run_call + + +def check_input_output_count_sequential(check_herd: MooseHerd, + dir_manager: DirectoryManager, + run_call: int) -> None: + (input_count, output_count) = get_input_output_count( + dir_manager.get_all_run_dirs(),'.i','_out.e') + + if not check_herd._keep_all: + num_sims = 1 + else: + num_sims = run_call*len(check_herd._var_sweep) + + assert input_count == num_sims + assert output_count == num_sims + + +def check_input_output_count_para(check_herd: MooseHerd, + dir_manager: DirectoryManager, + run_call: int) -> None: + (input_count, output_count) = get_input_output_count( + dir_manager.get_all_run_dirs(),'.i','_out.e') + + if not check_herd._keep_all: + num_sims = len(check_herd._var_sweep) + else: + num_sims = run_call*len(check_herd._var_sweep) + + assert input_count == num_sims + assert output_count == num_sims + + +def get_input_output_count(run_dirs: list[Path], + in_suffix: str, + out_suffix: str) -> tuple[int,int]: + # Go through all work directories and count the inputs/exoduses + input_count = 0 + output_count = 0 + + for rr in run_dirs: + dir_files = os.listdir(rr) + for ff in dir_files: + if out_suffix in ff: + output_count += 1 + elif in_suffix in ff: + input_count += 1 + + return (input_count, output_count) + + +def run_check_seq(keep_all: bool, + expected: int, + herd: MooseHerd, + dir_manager: DirectoryManager, + sweep_vars: list[list[dict | None]]) -> None: + + herd.set_keep_flag(keep_all) + herd.set_num_para_sims(NUM_PARA) + + herd.run_sequential(sweep_vars) + check_run_sweep(herd, dir_manager, run_call = 1) + check_input_output_count_sequential(herd, dir_manager, run_call = 1) + + herd.run_sequential(sweep_vars) + check_run_sweep(herd, dir_manager, run_call = expected) + check_input_output_count_sequential(herd, dir_manager, run_call = expected) + + +def run_check_para(keep_all: bool, + herd: MooseHerd, + dir_manager: DirectoryManager, + sweep_vars: list[list[dict | None]]) -> None: + herd.set_keep_flag(keep_all) + herd.set_num_para_sims(NUM_PARA) + + for rr in range(NUM_CALLS): + if keep_all: + run_check = rr+1 + else: + run_check = 1 + + herd.run_para(sweep_vars) + check_run_sweep(herd, dir_manager, run_check) + check_input_output_count_para(herd, dir_manager, run_check) + +def debug_print(to_print: Any) -> None: + print() + print('-'*80) + pprint(to_print) + print('-'*80) + print() + diff --git a/dependencies/mooseherder/tests/inputmodifier_gmsh_test.py b/dependencies/mooseherder/tests/inputmodifier_gmsh_test.py new file mode 100644 index 00000000..3ffe17b9 --- /dev/null +++ b/dependencies/mooseherder/tests/inputmodifier_gmsh_test.py @@ -0,0 +1,101 @@ +''' +============================================================================== +TEST: InputModifier with Gmsh + +Authors: Lloyd Fletcher +============================================================================== +''' +import os +from pathlib import Path +import pytest +from mooseherder.inputmodifier import InputModifier + + +@pytest.fixture +def gmsh_mod(): + input_file = Path('tests/gmsh/gmsh-test.geo') + return InputModifier(input_file,'//',';') + + +@pytest.fixture(autouse=True) +def setup_teardown_gmsh(): + # Setup here + yield + # Teardown here - remove output files + test_dir = 'tests/gmsh/' + all_files = os.listdir(test_dir) + for ff in all_files: + if '-mod' in ff: + os.remove(test_dir + ff) + + +def test_gmsh_find_vars(gmsh_mod): + gmsh_mod.find_vars() + assert gmsh_mod._var_start_ind == 11 + assert gmsh_mod._var_end_ind == 17 + + +def test_gmsh_read_vars(gmsh_mod): + gmsh_mod.read_vars() + assert gmsh_mod._vars == {'p0': 0.0015, + 'p1': 0.001, + 'p2': 0.0012, + 'filename': '"gmsh-test.msh"'} + + +def test_gmsh_get_vars(gmsh_mod): + assert gmsh_mod.get_vars() == {'p0': 0.0015, + 'p1': 0.001, + 'p2': 0.0012, + 'filename': '"gmsh-test.msh"'} + +def test_gmsh_update_vars(gmsh_mod): + new_vars = {'p1': 0.0009, + 'p2': 0.001} + gmsh_mod.update_vars(new_vars) + assert gmsh_mod._vars == {'p0': 0.0015, + 'p1': 0.0009, + 'p2': 0.001, + 'filename': '"gmsh-test.msh"'} + + +def test_gmsh_update_vars_error(gmsh_mod): + new_vars = {'p1': 0.0009, + 'p7': 0.001} + with pytest.raises(KeyError) as errinfo: + gmsh_mod.update_vars(new_vars) + msg, = errinfo.value.args + assert msg == "Key p7 does not exist in the variables found in the input file. Check input file to make sure the variable exists." + + +def test_gmsh_write_file(gmsh_mod): + new_vars = {'p1': 0.0009, + 'p2': 0.001} + gmsh_mod.update_vars(new_vars) + + mod_file = Path('tests/gmsh/gmsh_vartest-mod.geo') + gmsh_mod.write_file(mod_file) + assert os.path.isfile(mod_file) + + gmsh_mod_check = InputModifier(mod_file,'//',';') + assert gmsh_mod_check._vars == {'p0': 0.0015, + 'p1': 0.0009, + 'p2': 0.001, + 'filename': '"gmsh-test.msh"'} + + +@pytest.mark.parametrize( + ('input_str','expected'), + ( + pytest.param('',('','',''),id='Degenerate blank case'), + pytest.param('x1 = 1;',('x1',1.0,''),id='Variable only, int case'), + pytest.param('x2 = 100.0;',('x2',100.0,''),id='Variable only, float case'), + pytest.param('x3 = 1e3;',('x3',1000.0,''),id='Variable only, exponential case'), + pytest.param('order = SECOND;',('order','SECOND',''),id='Variable only, string case'), + pytest.param('x=10; // comment',('x',10.0,' comment'),id='Numeric variable and comment case'), + pytest.param('// comment',('','',' comment'),id='Comment only case'), + ) +) +def test_extract_var_str_gmsh(input_str,expected,gmsh_mod): + ext_strs = gmsh_mod._extract_var_str(input_str) + assert ext_strs == expected diff --git a/dependencies/mooseherder/tests/inputmodifier_moose_test.py b/dependencies/mooseherder/tests/inputmodifier_moose_test.py new file mode 100644 index 00000000..74ab52ec --- /dev/null +++ b/dependencies/mooseherder/tests/inputmodifier_moose_test.py @@ -0,0 +1,177 @@ +""" +============================================================================== +TEST: InputModifier with MOOSE + +Authors: Lloyd Fletcher +============================================================================== +""" +import os +from pathlib import Path +import pytest +from mooseherder.inputmodifier import InputModifier + + +@pytest.fixture +def moose_mod() -> InputModifier: + input_file = Path("tests/moose/moose-test.i") + return InputModifier(input_file, "#", "") + + +@pytest.fixture(autouse=True) +def setup_teardown_moose(): + # Setup here + yield + # Teardown here - remove output files + test_dir = Path("tests/moose/") + all_files = os.listdir(test_dir) + for ff in all_files: + if "-mod" in ff: + os.remove(test_dir / ff) + + +def test_moose_find_vars(moose_mod: InputModifier) -> None: + moose_mod.find_vars() + assert moose_mod._var_start_ind == 3 + assert moose_mod._var_end_ind == 14 + + +def test_moose_read_vars(moose_mod: InputModifier) -> None: + moose_mod.read_vars() + assert moose_mod._vars == { + "n_elem_x": 20, + "n_elem_y": 10, + "e_modulus": 1000000000.0, + "p_ratio": 0.3, + "e_type": "QUAD4", + "add_vars": "true", + "y_max": 1.0, + "x_max": "${fparse 2*y_max}", + } + + +def test_moose_get_vars(moose_mod: InputModifier) -> None: + assert moose_mod.get_vars() == { + "n_elem_x": 20, + "n_elem_y": 10, + "e_modulus": 1000000000.0, + "p_ratio": 0.3, + "e_type": "QUAD4", + "add_vars": "true", + "y_max": 1.0, + "x_max": "${fparse 2*y_max}", + } + + +def test_moose_update_vars(moose_mod: InputModifier): + # Changes number of y elements, elastic modulus and element type + # Does not change add_vars or other variables + new_vars = {"n_elem_y": 25, "e_modulus": 2e9, "e_type": "QUAD8", "add_vars": "true"} + moose_mod.update_vars(new_vars) + assert moose_mod._vars == { + "n_elem_x": 20, + "n_elem_y": 25, + "e_modulus": 2e9, + "p_ratio": 0.3, + "e_type": "QUAD8", + "add_vars": "true", + "y_max": 1.0, + "x_max": "${fparse 2*y_max}", + } + + +def test_moose_update_vars_error(moose_mod: InputModifier): + new_vars = {"n_elem_y": 25, "n_elem_z": 50} + + with pytest.raises(KeyError) as err_info: + moose_mod.update_vars(new_vars) + + (msg,) = err_info.value.args + assert ( + msg + == "Key n_elem_z does not exist in the variables found in the input file." + + " Check input file to make sure the variable exists." + ) + + +def test_moose_write_file(moose_mod: InputModifier) -> None: + new_vars = {"n_elem_y": 25, "e_modulus": 2e9, "e_type": "QUAD8"} + moose_mod.update_vars(new_vars) + + mod_file = Path("tests/moose/moose-test-mod.i") + moose_mod.write_file(mod_file) + assert os.path.isfile(mod_file) + + moose_mod_check = InputModifier(mod_file, "#", "") + assert moose_mod_check._vars == { + "n_elem_x": 20, + "n_elem_y": 25, + "e_modulus": 2e9, + "p_ratio": 0.3, + "e_type": "QUAD8", + "add_vars": "true", + "y_max": 1.0, + "x_max": "${fparse 2*y_max}", + } + + +def test_moose_get_var_keys(moose_mod: InputModifier): + assert moose_mod.get_var_keys() == [ + "n_elem_x", + "n_elem_y", + "e_modulus", + "p_ratio", + "e_type", + "add_vars", + "y_max", + "x_max", + ] + + +def test_moose_get_input_file(moose_mod: InputModifier): + assert moose_mod.get_input_file() == Path("tests/moose/moose-test.i") + + +@pytest.mark.parametrize( + ("input_str", "expected"), + ( + pytest.param("", ("", "", ""), id="Degenerate blank case"), + pytest.param("\t \n", ("", "", ""), id="Degenerate whitespace case"), + pytest.param("x1 = 1", ("x1", 1.0, ""), id="Variable only, int case"), + pytest.param("x2 = 100.0", ("x2", 100.0, ""), id="Variable only, float case"), + pytest.param( + "x3 = 1e3", ("x3", 1000.0, ""), id="Variable only, exponential case" + ), + pytest.param( + "order = SECOND", ("order", "SECOND", ""), id="Variable only, string case" + ), + pytest.param( + "x=10 # comment", + ("x", 10.0, " comment"), + id="Numeric variable and comment case", + ), + pytest.param( + "fun = $fparse{2*x}", + ("fun", "$fparse{2*x}", ""), + id="String variable, no commentcase", + ), + pytest.param( + "fun = $fparse{2*x} # comment", + ("fun", "$fparse{2*x}", " comment"), + id="String variable and comment case", + ), + pytest.param( + "fun = ${fparse 2*x}", + ("fun", "${fparse 2*x}", ""), + id="String variable, no comment case, retain whitespace for fparse", + ), + pytest.param( + "fun = ${fparse 2*x} # comment", + ("fun", "${fparse 2*x}", " comment"), + id="String variable and comment case, retain whitespace for fparse", + ), + pytest.param("# comment", ("", "", " comment"), id="Comment only case"), + ), +) +def test_extract_var_str_moose(input_str, expected, moose_mod): + ext_strs = moose_mod._extract_var_str(input_str) + assert ext_strs == expected diff --git a/dependencies/mooseherder/tests/moose/moose-test-broken.i b/dependencies/mooseherder/tests/moose/moose-test-broken.i new file mode 100644 index 00000000..f3005ba4 --- /dev/null +++ b/dependencies/mooseherder/tests/moose/moose-test-broken.i @@ -0,0 +1,94 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +n_elem_x = 40 # Putting this variable outside the block to test + +#_* Variables Block +# n_elem_x = 50 putting an equals sign here to test +# n_elem_y = 20 # Testing comments in the variables block, this line is broken +e_modulus = 1e9 +# Comment line to test +p_ratio = 0.3# Another comment to test with +# The next variables test strings +e_type = QUAD4 +add_vars = true +y_max = 1 +x_max = ${fparse 2*y_max} +#** + +# Another variable outside the block to test +spatial_dims = 2 + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${spatial_dims} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = ${x_max} + ymax = ${y_max} + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = ${add_vars} + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = 5 + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/moose/moose-test-gmsh.i b/dependencies/mooseherder/tests/moose/moose-test-gmsh.i new file mode 100644 index 00000000..6183bf97 --- /dev/null +++ b/dependencies/mooseherder/tests/moose/moose-test-gmsh.i @@ -0,0 +1,73 @@ +#_* Variables +e_modulus = 1e9 +p_ratio = 0.3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + type = FileMesh + file = 'gmsh-test.msh' +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' + [] +[] + +[BCs] + [./u_top_pull] + type = Pressure + variable = disp_y + boundary = Top-BC + function = -1e7*t + [../] + [./u_bottom_fix] + type = DirichletBC + variable = disp_y + boundary = Btm-BC + value = 0.0 + [../] + [./u_yz_fix] + type = DirichletBC + variable = disp_x + boundary = Mid-BC + value = 0.0 + [../] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + #type = ComputeFiniteStrainElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = 2 + dt = 1 +[] + + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/moose/moose-test.i b/dependencies/mooseherder/tests/moose/moose-test.i new file mode 100644 index 00000000..93020cb1 --- /dev/null +++ b/dependencies/mooseherder/tests/moose/moose-test.i @@ -0,0 +1,94 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +spatial_dims = 2 + +#_* Variables Block +n_elem_x = 20 # putting an equals sign here to test +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 1e9 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +# The next variables test strings +e_type = QUAD4 +add_vars = true +y_max = 1 +x_max = ${fparse 2*y_max} +#** End Variable Block + +# Another variable outside the block to test +time_end = 2 + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${spatial_dims} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = ${x_max} + ymax = ${y_max} + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = ${add_vars} + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] diff --git a/dependencies/mooseherder/tests/mooseconfig_test.py b/dependencies/mooseherder/tests/mooseconfig_test.py new file mode 100644 index 00000000..d2ba8dd5 --- /dev/null +++ b/dependencies/mooseherder/tests/mooseconfig_test.py @@ -0,0 +1,160 @@ +''' +============================================================================== +TEST: MooseConfig + +Authors: Lloyd Fletcher +============================================================================== +''' +import os +from pathlib import Path +import pytest +from mooseherder.mooseconfig import MooseConfig, MooseConfigError +import tests.herdchecker as hc + + +@pytest.fixture +def config_dict() -> dict[str, Path | str]: + return {'main_path': hc.MOOSE_PATH, + 'app_path': hc.MOOSE_APP_PATH, + 'app_name': hc.MOOSE_APP_NAME} + + +@pytest.fixture +def config_dict_str() -> dict[str,str]: + return {'main_path': str(hc.MOOSE_PATH), + 'app_path': str(hc.MOOSE_APP_PATH), + 'app_name': str(hc.MOOSE_APP_NAME)} + + +@pytest.fixture +def config_dict_broken_path() -> dict[str, Path | str]: + return {'main_path': Path().home() / 'no-exist', + 'app_path': Path().home() / 'no-exist', + 'app_name': 'broken-opt'} + + +@pytest.fixture +def config_dict_broken_key() -> dict[str, Path | str]: + return {'main_path': hc.MOOSE_PATH, + 'app_name': hc.MOOSE_APP_NAME} + + +@pytest.fixture +def config(config_dict: dict[str, Path | str]) -> MooseConfig: + return MooseConfig(config_dict) + + +def test_init_config_blank() -> None: + moose_config = MooseConfig() + assert moose_config is not None + + +def test_init_config(config: MooseConfig) -> None: + assert config is not None + + +def test_init_config_key_err(config_dict_broken_key: dict[str, Path | str] + ) -> None: + with pytest.raises(MooseConfigError) as err_info: + moose_config = MooseConfig(config_dict_broken_key) + + (msg,) = err_info.value.args + assert msg == "Config dictionary must contain all keys: ['main_path', 'app_path', 'app_name']" + + +def test_init_config_path_err(config_dict_broken_path: dict[str, Path | str] + ) -> None: + with pytest.raises(MooseConfigError) as err_info: + moose_config = MooseConfig(config_dict_broken_path) + + (msg,) = err_info.value.args + assert msg == "Main path to MOOSE does not exist. Check path at key 'main_path'." + + +def test_get_config(config: MooseConfig, + config_dict: dict[str, Path | str]) -> None: + check_config = config.get_config() + assert check_config == config_dict + + +def test_blank_config_get_err() -> None: + moose_config = MooseConfig() + + with pytest.raises(MooseConfigError) as err_info: + check_config = moose_config.get_config() + + (msg,) = err_info.value.args + assert msg == 'Config dictionary must be initialised, load config file first.' + + +def test_convert_path_to_str(config_dict: dict[str, Path | str], + config_dict_str: dict[str, str]) -> None: + conv_config = MooseConfig().convert_path_to_str(config_dict) + assert conv_config == config_dict_str + + +def test_convert_path_to_str_blank() -> None: + conv_config = MooseConfig().convert_path_to_str(None) + assert conv_config is None + + +def test_convert_str_to_path(config_dict: dict[str, Path | str], + config_dict_str: dict[str, str]) -> None: + conv_config = MooseConfig().convert_str_to_path(config_dict_str) + assert conv_config == config_dict + + +def test_convert_str_to_path_blank() -> None: + conv_config = MooseConfig().convert_str_to_path(None) + assert conv_config is None + + +def test_save_config(config: MooseConfig) -> None: + save_path = Path('tests/config/moose-config.json') + config.save_config(save_path) + assert save_path.is_file() + os.remove(save_path) + + +def test_save_config_parent_dir_err(config: MooseConfig) -> None: + save_path = Path('tests/no-exist/moose-config.json') + with pytest.raises(MooseConfigError) as err_info: + config.save_config(save_path) + + (msg,) = err_info.value.args + assert msg == 'Parent path to save config file does not exist.' + + +def test_read_config(config_dict: dict[str, Path | str]) -> None: + read_path = Path().cwd() / 'moose-config.json' + read_config = MooseConfig().read_config(read_path) + assert read_config.get_config() == config_dict + + +def test_read_config_exist_err() -> None: + read_path = Path('tests/no-exist/moose-config-no-exist.json') + with pytest.raises(MooseConfigError) as err_info: + read_config = MooseConfig().read_config(read_path) + + (msg,) = err_info.value.args + assert msg == 'MOOSE config file does not exist at: tests/no-exist/moose-config-no-exist.json.' + + +def test_read_config_key_err() -> None: + read_path = Path('tests/config/moose-config-break-key.json') + + with pytest.raises(MooseConfigError) as err_info: + read_config = MooseConfig().read_config(read_path) + + (msg,) = err_info.value.args + assert msg == "Config dictionary must contain all keys: ['main_path', 'app_path', 'app_name']" + + +def test_read_config_path_err() -> None: + read_path = Path('tests/config/moose-config-break-path.json') + + with pytest.raises(MooseConfigError) as err_info: + read_config = MooseConfig().read_config(read_path) + + (msg,) = err_info.value.args + assert msg == "Main path to MOOSE does not exist. Check path at key 'main_path'." diff --git a/dependencies/mooseherder/tests/mooseherd_test.py b/dependencies/mooseherder/tests/mooseherd_test.py new file mode 100644 index 00000000..291d270c --- /dev/null +++ b/dependencies/mooseherder/tests/mooseherd_test.py @@ -0,0 +1,319 @@ +''' +============================================================================== +TEST: MooseHerd Tests + +Authors: Lloyd Fletcher +============================================================================== +''' +import os +import pytest +from pytest import MonkeyPatch +from mooseherder.mooseherd import MooseHerd +from mooseherder.directorymanager import DirectoryManager +import tests.herdchecker as hct + + +@pytest.fixture +def dir_manager() -> DirectoryManager: + return DirectoryManager(hct.NUM_DIRS) + + +@pytest.fixture() +def herd_blank() -> MooseHerd: + (moose_runner,moose_modifier) = hct.create_moose_objs(hct.MOOSE_INPUT) + blank_manager = DirectoryManager(hct.NUM_DIRS) + return MooseHerd([moose_runner],[moose_modifier],blank_manager) + + +@pytest.fixture() +def herd(dir_manager) -> MooseHerd: + (moose_runner,moose_modifier) = hct.create_moose_objs(hct.MOOSE_INPUT) + return MooseHerd([moose_runner],[moose_modifier],dir_manager) + + +@pytest.fixture() +def herd_gmsh(dir_manager) -> MooseHerd: + (moose_runner,moose_modifier) = hct.create_moose_objs(hct.MOOSE_INPUT) + (gmsh_runner,gmsh_modifier) = hct.create_gmsh_objs(hct.GMSH_INPUT) + + runners = [gmsh_runner,moose_runner] + modifiers = [gmsh_modifier,moose_modifier] + + return MooseHerd(runners,modifiers,dir_manager) + + +@pytest.fixture(autouse=True) +def setup_teardown(dir_manager): + # Setup here + dir_manager.set_base_dir(hct.BASE_DIR) + dir_manager.create_dirs() + yield + # Teardown here + dir_manager.clear_dirs() + + +@pytest.fixture() +def moose_sweep() -> list[list[dict]]: + e_mod = [1e9,2e9] + p_rat = [0.3,0.35] + + moose_vars = list([]) + for ee in e_mod: + for pp in p_rat: + moose_vars.append([{'e_modulus':ee,'p_ratio':pp}]) + + return moose_vars + + +@pytest.fixture() +def moose_sweep_seq() -> list[list[dict]]: + e_mod = [1e9] + p_rat = [0.3,0.35] + + moose_vars = list() + for ee in e_mod: + for pp in p_rat: + moose_vars.append([{'e_modulus':ee,'p_ratio':pp}]) + + return moose_vars + + +@pytest.fixture() +def gmsh_sweep() -> list[list[dict | None]]: + p0 = [1E-3,1.1E-3] + p1 = [1.5E-3,2E-3] + + gmsh_vars = list() + for ii in p0: + for jj in p1: + gmsh_vars.append([{'p0':ii ,'p1':jj},None]) + + return gmsh_vars + + +@pytest.fixture() +def gmsh_sweep_seq() -> list[list[dict | None]]: + p0 = [1E-3,] + p1 = [1.5E-3,2E-3] + + gmsh_vars = list() + for ii in p0: + for jj in p1: + gmsh_vars.append([{'p0':ii ,'p1':jj},None]) + + return gmsh_vars + + +def test_create_herd_blank(herd_blank: MooseHerd) -> None: + assert herd_blank is not None + + +def test_create_herd(herd: MooseHerd) -> None: + assert herd is not None + + +def test_create_herd_gmsh(herd_gmsh: MooseHerd) -> None: + assert herd_gmsh is not None + + +def test_set_input_copy_names(herd: MooseHerd) -> None: + new_names = ['sim-name'] + herd.set_input_copy_names(new_names) + assert herd._input_names == new_names + + herd.set_input_copy_names() + assert herd._input_names == ['sim-1'] + + +def test_set_keep_flag(herd: MooseHerd) -> None: + herd.set_keep_flag(True) + assert herd._keep_all == True + + herd.set_keep_flag(False) + assert herd._keep_all == False + + herd.set_keep_flag() + assert herd._keep_all == True + + +@pytest.mark.parametrize( + ('n_para','expected'), + ( + (0, 1), + (-1,1), + (2.5,2), + (os.cpu_count()+1,os.cpu_count()) # type: ignore + ) +) +def test_set_num_para_sims(n_para: int, expected: int, herd: MooseHerd): + herd.set_num_para_sims(n_para) + assert herd._n_para_sims == expected + + +@pytest.mark.parametrize( + ('process','expected'), + ( + ('MainProcess', '1'), + ('process-1','1'), + ('process-2','2'), + ('process-3','2'), + ('process-4','1'), + ) +) +def test_get_worker_num(process: str, + expected: str, + monkeypatch, + herd: MooseHerd) -> None: + monkeypatch.setattr(MooseHerd,'_get_process_name',lambda _: process) + worker_num = herd._get_worker_num() + assert worker_num == expected + + +@pytest.mark.parametrize( + ('sim_iter','worker_num','keep_all','expected'), + ( + (0,'1',False, '1'), + (4,'2',False, '2'), + (10,'3',False, '3'), + (0,'1',True, '1'), + (1,'2',True, '2'), + (3,'5',True, '4'), + ) +) +def test_get_run_num(sim_iter: int, + worker_num: str, + keep_all: bool, + expected: str, + herd: MooseHerd) -> None: + herd.set_num_para_sims(hct.NUM_PARA) + herd.set_keep_flag(keep_all) + run_num = herd._get_run_num(sim_iter,worker_num) + assert run_num == expected + + +@pytest.mark.parametrize( + ('sim_iter','worker_num'), + ( + (0,'1'), + (8,'4'), + ) +) +def test_run_once_moose_only(sim_iter: int, + worker_num: str, + herd: MooseHerd, + moose_sweep: list[list[dict]], + monkeypatch): + # Force the process number to be not the main process + monkeypatch.setattr(MooseHerd, '_get_worker_num', lambda _: worker_num) + + herd.set_num_para_sims(hct.NUM_PARA) + + output_paths = herd.run_once(sim_iter,moose_sweep[0]) # type: ignore + + worker_path = output_paths[0].parent # type: ignore + stdout_file = worker_path / 'stdout.processor.0' # type: ignore + + assert output_paths[0].is_file(), 'Output exodus does not exist, MOOSE run failed.' # type: ignore + assert stdout_file.is_file(), 'stdout file does not exist, MOOSE run failed or redirect flag set incorrectly.' + assert hct.check_solve_converged(stdout_file), 'MOOSE run did not converge, check stdout file.' + assert herd._iter_run_time >= 0, 'Iteration run time is less than 0' + + +@pytest.mark.parametrize( + ('sim_iter','worker_num'), + ( + (0,'1'), + (8,'4'), + ) +) +def test_run_once_with_gmsh(sim_iter: int, + worker_num: str, + herd_gmsh: MooseHerd, + gmsh_sweep: list[list[dict]], + monkeypatch): + # Force the process number to be not the main process + monkeypatch.setattr(MooseHerd, '_get_worker_num', lambda _: worker_num) + + herd_gmsh.set_num_para_sims(hct.NUM_PARA) + + output_paths = herd_gmsh.run_once(sim_iter,gmsh_sweep[0]) # type: ignore + + worker_path = output_paths[1].parent # type: ignore + stdout_file = worker_path / 'stdout.processor.0' # type: ignore + + assert (worker_path / 'gmsh-test.msh').is_file(), 'Gmsh mesh was not created.' + assert output_paths[1].is_file(), 'Output exodus does not exist, MOOSE run failed.' # type: ignore + assert stdout_file.is_file(), 'stdout file does not exist, MOOSE run failed or redirect flag set incorrectly.' + assert hct.check_solve_converged(stdout_file), 'MOOSE run did not converge, check stdout file.' + assert herd_gmsh._iter_run_time >= 0, 'Iteration run time is less than 0' + + +@pytest.mark.parametrize( + ('keep_all', 'expected'), + ( + (True, 2), + (False, 1), + ) +) +def test_run_sequential_moose_only(keep_all: bool, + expected: int, + herd: MooseHerd, + dir_manager: DirectoryManager, + moose_sweep_seq: list[list[dict | None]]): + hct.run_check_seq(keep_all, + expected, + herd, + dir_manager, + moose_sweep_seq) + +@pytest.mark.parametrize( + ('keep_all', 'expected'), + ( + (True, 2), + (False, 1), + ) +) +def test_run_sequential_with_gmsh(keep_all: bool, + expected: int, + herd_gmsh: MooseHerd, + dir_manager: DirectoryManager, + gmsh_sweep_seq: list[list[dict | None]]): + hct.run_check_seq(keep_all, + expected, + herd_gmsh, + dir_manager, + gmsh_sweep_seq) + + +@pytest.mark.parametrize( + ('keep_all',), + ( + (True,), + (False,), + ) +) +def test_run_para_moose_only(keep_all: bool, + herd: MooseHerd, + dir_manager: DirectoryManager, + moose_sweep: list[list[dict | None]]): + hct.run_check_para(keep_all, + herd, + dir_manager, + moose_sweep) + +@pytest.mark.parametrize( + ('keep_all',), + ( + (True,), + (False,), + ) +) +def test_run_para_with_gmsh(keep_all: bool, + herd_gmsh: MooseHerd, + dir_manager: DirectoryManager, + gmsh_sweep: list[list[dict | None]]): + hct.run_check_para(keep_all, + herd_gmsh, + dir_manager, + gmsh_sweep) + diff --git a/dependencies/mooseherder/tests/mooserunner_test.py b/dependencies/mooseherder/tests/mooserunner_test.py new file mode 100644 index 00000000..25b9dced --- /dev/null +++ b/dependencies/mooseherder/tests/mooserunner_test.py @@ -0,0 +1,233 @@ +''' +============================================================================== +TEST: MooseRunner + +Authors: Lloyd Fletcher +============================================================================== +''' + +import os +from pathlib import Path +import pytest +from mooseherder.mooserunner import MooseRunner +import tests.herdchecker as hc + + +@pytest.fixture() +def runner() -> MooseRunner: + moose_config = hc.create_moose_config() + return MooseRunner(moose_config) + +@pytest.fixture() +def input_path() -> Path: + return Path('tests/moose/moose-test.i') + +@pytest.fixture() +def input_noexist() -> Path: + return Path('tests/moose/moose-test-noexist.i') + +@pytest.fixture() +def input_broken() -> Path: + return Path('tests/moose/moose-test-broken.i') + +@pytest.fixture() +def input_runner(input_path: Path) -> MooseRunner: + moose_config = hc.create_moose_config() + my_runner = MooseRunner(moose_config) + my_runner.set_input_file(input_path) + return my_runner + +@pytest.fixture(autouse=True) +def setup_teardown(input_runner: MooseRunner): + # Setup here + yield + # Teardown here - remove output exodus files + moose_files = os.listdir(input_runner.get_input_dir()) + for ff in moose_files: + if '.e' in ff: + os.remove(input_runner.get_input_dir() / ff) # type: ignore + + stdout_files = os.listdir(input_runner.get_input_dir()) + for ff in stdout_files: + if 'stdout.processor' in ff: + os.remove(input_runner.get_input_dir() / ff) # type: ignore + +def test_set_env_vars(runner: MooseRunner) -> None: + runner.set_env_vars() + assert os.environ['CC'] == 'mpicc' + assert os.environ['CXX'] == 'mpicxx' + assert os.environ['F90'] == 'mpif90' + assert os.environ['F77'] == 'mpif77' + assert os.environ['FC'] == 'mpif90' + assert os.environ['MOOSE_DIR'] == str(runner._config['main_path']) + +@pytest.mark.parametrize( + ('n_threads','expected'), + ( + (0, 1), + (-1,1), + (2.5,2), + (os.cpu_count()+1,os.cpu_count()) # type: ignore + ) +) +def test_set_threads(n_threads: int,expected: int ,runner: MooseRunner) -> None: + runner.set_threads(n_threads) + assert runner._n_threads == expected + +@pytest.mark.parametrize( + ('n_tasks','expected'), + ( + (0, 1), + (-1,1), + (2.5,2), + (os.cpu_count()+1,os.cpu_count()) # type: ignore + ) +) +def test_set_tasks(n_tasks: int, expected: int, runner: MooseRunner): + runner.set_tasks(n_tasks) + assert runner._n_tasks == expected + + +@pytest.mark.parametrize( + ('in_flag','expected'), + ( + (True,True), + (False,False) + ) +) +def test_set_stdout(in_flag: bool, expected: bool, runner: MooseRunner): + runner.set_stdout(in_flag) + assert runner._redirect_stdout == expected + + +def test_set_input_file(runner: MooseRunner, input_path: Path) -> None: + runner.set_input_file(input_path) + + assert runner._input_path == input_path + + +def test_set_input_file_err(runner: MooseRunner) -> None: + with pytest.raises(FileNotFoundError) as err_info: + new_input = Path('tests/moose/moose-test-noexist.i') + runner.set_input_file(new_input) + + msg, = err_info.value.args + assert msg == 'Input file does not exist.' + + +def test_get_input_strs(runner: MooseRunner, input_runner: MooseRunner) -> None: + assert runner.get_input_dir() is None + assert runner.get_input_tag() == '' + assert input_runner.get_input_dir() == Path('tests/moose/') + assert input_runner.get_input_tag() == 'moose-test' + + +def test_get_output_path(runner: MooseRunner,input_runner: MooseRunner): + assert runner.get_output_path() is None + assert input_runner.get_output_path() == Path('tests/moose/moose-test_out.e') + + +@pytest.mark.parametrize( + ('opts','expected'), + ( + ((1,1,False), ['proteus-opt','--n-threads=1','-i','moose-test.i']), + ((1,2,False), ['proteus-opt','--n-threads=2','-i','moose-test.i']), + ((1,2,True), ['proteus-opt','--n-threads=2','-i','moose-test.i','--redirect-stdout']), + ((2,2,False), ['mpirun','-np','2','proteus-opt','--n-threads=2','-i','moose-test.i']), + ((2,2,True), ['mpirun','-np','2','proteus-opt','--n-threads=2','-i','moose-test.i','--redirect-stdout']), + ) +) +def test_assemble_arg_list(opts: tuple[int,int,bool], + expected: str, + input_runner: MooseRunner) -> None: + input_runner.set_run_opts(opts[0],opts[1],opts[2]) + assert input_runner.assemble_arg_list() == expected + + +@pytest.mark.parametrize( + ('opts','expected'), + ( + ((1,1,False), ['proteus-opt','--n-threads=1','-i','moose-test.i']), + ((1,2,False), ['proteus-opt','--n-threads=2','-i','moose-test.i']), + ((1,2,True), ['proteus-opt','--n-threads=2','-i','moose-test.i','--redirect-stdout']), + ((2,2,False), ['mpirun','-np','2','proteus-opt','--n-threads=2','-i','moose-test.i']), + ((2,2,True), ['mpirun','-np','2','proteus-opt','--n-threads=2','-i','moose-test.i','--redirect-stdout']), + ) +) +def test_assemble_arg_list_with_input(opts: tuple[int,int,bool], + expected: str, + runner: MooseRunner, + input_path: Path) -> None: + runner.set_run_opts(opts[0],opts[1],opts[2]) + assert runner.assemble_arg_list(input_path) == expected + + +def test_assemble_arg_list_err(runner: MooseRunner) -> None: + with pytest.raises(RuntimeError) as err_info: + runner.assemble_arg_list() + + msg, = err_info.value.args + assert msg == 'No input file specified, set one using set_input_file or by passing on into this function.' + + +def test_assemble_arg_list_err_with_input(runner: MooseRunner, + input_noexist: Path) -> None: + with pytest.raises(FileNotFoundError) as err_info: + runner.assemble_arg_list(input_noexist) + + msg, = err_info.value.args + assert msg == 'Input file does not exist.' + + +@pytest.mark.parametrize( + ('opts','stdout_exist'), + ( + ((1,1,False), (False,False)), + ((1,4,False), (False,False)), + ((1,4,True), (True,False)), + ((2,4,False), (False,False)), + ((2,4,True), (True,True)), + ) +) +def test_run(opts: tuple[int,int,bool], + stdout_exist: tuple[bool,bool], + input_runner: MooseRunner) -> None: + input_runner.set_run_opts(opts[0],opts[1],opts[2]) + input_runner.run() + + assert os.path.isfile(input_runner.get_output_path()) is True, 'No exodus output.' # type: ignore + assert os.path.isfile(input_runner.get_input_dir() / 'stdout.processor.0') == stdout_exist[0], 'stdout.processor.0 does not exist.' # type: ignore + assert os.path.isfile(input_runner.get_input_dir() / 'stdout.processor.1') == stdout_exist[1], 'stdout.processor.1 does not exist.' # type: ignore + if opts[2]: # If there is a stdout it can be read to check for convergence + check_path = input_runner.get_input_dir() / 'stdout.processor.0' # type: ignore + assert hc.check_solve_converged(check_path) >= 1, 'Solve has not converged.' + + +def test_run_broken(runner: MooseRunner, input_broken: Path) -> None: + runner.set_run_opts(1,4,True) + runner.run(input_broken) + + stdout_file = runner.get_input_dir() / 'stdout.processor.0' # type: ignore + + assert os.path.isfile(runner.get_output_path()) is False # type: ignore + assert os.path.isfile(stdout_file) is True # type: ignore + + assert hc.check_solve_error(stdout_file) >= 1, 'Error string not found in stdout' + assert hc.check_solve_converged(stdout_file) == 0, 'Solve converged when it should have errored' + + +def test_run_noexist(runner: MooseRunner, input_noexist: Path) -> None: + with pytest.raises(FileNotFoundError) as err_info: + runner.run(input_noexist) + + msg, = err_info.value.args + assert msg == 'Input file does not exist.' + + +def test_run_with_input(runner: MooseRunner, input_path: Path) -> None: + runner.set_run_opts(1,4,True) + runner.run(input_path) + + assert os.path.isfile(runner.get_output_path()) is True, 'Exodus output does not exist when solve should have run' # type: ignore + assert os.path.isfile(runner.get_input_dir() / 'stdout.processor.0') is True, 'Stdout does not exist when it should.' # type: ignore + assert hc.check_solve_converged(runner.get_input_dir() / 'stdout.processor.0') >= 1, 'Solve did not converge when it should have.' # type: ignore \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/moose-mech-outtest.i b/dependencies/mooseherder/tests/output/moose-mech-outtest.i new file mode 100644 index 00000000..0dbbc842 --- /dev/null +++ b/dependencies/mooseherder/tests/output/moose-mech-outtest.i @@ -0,0 +1,136 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 2e9 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] + + [block1] + type = SubdomainBoundingBoxGenerator + input = generated + block_id = 1 + bottom_left = '0 0 0' + top_right = '1 1 0' + [] + [block2] + type = SubdomainBoundingBoxGenerator + input = block1 + block_id = 2 + bottom_left = '1 0 0' + top_right = '2 1 0' + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress stress_yy stress_xx stress_xy strain_xx strain_yy strain_xy strain_zz' + [] +[] + +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity1] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + block = 1 + [] + [elasticity2] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${fparse 0.25*e_modulus} + poissons_ratio = ${fparse 0.5*p_ratio} + block = 2 + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = NEWTON + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + [./out] + type = Exodus + elemental_as_nodal = true + [../] + csv = true +[] + +[Postprocessors] + [./react_y] + type = SidesetReaction + direction = '0 1 0' + stress_tensor = stress + boundary = 'bottom' + [../] + [./max_y_disp] + type = NodalExtremeValue + variable = disp_y + [../] + [./max_yy_stress] + type = ElementExtremeValue + variable = stress_yy + [../] + [./avg_yy_stress] + type = ElementAverageValue + variable = stress_yy + [../] +[] + + diff --git a/dependencies/mooseherder/tests/output/moose-mech-outtest_out.e b/dependencies/mooseherder/tests/output/moose-mech-outtest_out.e new file mode 100644 index 0000000000000000000000000000000000000000..d79c15826bcd72fe70dccd1210633f8ddf0d8a48 GIT binary patch literal 336948 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

9BaoIl%hmTUh*8GM~ytny^0PGPa`&OO8FH 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%0A&QL_r&IrnGEXD5T?$$NDEj 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 Q-+%8zx}X0BrMH6r0>J$8H2?qr literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-1.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-1.i new file mode 100644 index 00000000..719299b7 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-1.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12.i new file mode 100644 index 00000000..8fe88ffa --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12_out.e b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12_out.e new file mode 100644 index 0000000000000000000000000000000000000000..437769a67aa8cdbd762eb3161df43ea4207223ad GIT binary patch literal 105844 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 U&?g9ewJ;|KbG4CU9dbqd51Hv50RR91 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16.i new file mode 100644 index 00000000..e6aa08ad --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16_out.e b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16_out.e new file mode 100644 index 0000000000000000000000000000000000000000..32645e6a06290e9e8d63135240872b64e46aa9ab GIT binary patch literal 159724 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%0DlRW7k_I$eEw zqqrHX*LnYIW@IRzB8Zeva>PecmctoF8Sy|%+=|A>#YQn!cdeg9sgy^lg-y@cX(J=$ zJ-GN#(z3rEqG3Rn^N9`%adk1m5*4l$RsX#zArcqY03x6|Ec}aDLI(s)sSC)q%Jv?y z4OScnlPVWKP8+4FyFJwg0ZkF{0g_r`E4#hdPNG&h)$T|~PEy7QgO)nplBTA{JvH_{ zgs9ONqoQ!@7bmIY*WLc3O~TVsGCQ=;(5`(sQ9yHuCCX$C4Ub=cPmQdgDer8Fr{Feb zf)ghW(R!nnc8|Dwxc2XQ2?NrZ*%bc(6y^EvG(?R|+knX&!^B3h>+od?foAmlfb2w! z)KlSF2%7#0kx4jeHb3lOb`$CFw$s^)~6UC=>(026pRfvhHGOY z4R~5UVKA~iHMMIssNJA$y;=?4YrPRLI2gyT6rU#Z)bx)`nnh~k8cl@Q$`O_b5>pqY zjYJbM(h_&^gNv*UF zQhLcnbU4G5YPYD^_GXyU>dI<^Rd%yy*TX7{12tWoytPRjxspOas@wEHOEU53h;8S= zK?O`UJ+Y_QAs}iz>Y-Un2kJE4%E=u0ZS|T~+0GU$oiuStHW1eo^e`DcHBJwUh?A){ zXaE`%6g0KnH_M8rpJOr zzl-gZht+-mN-Z1jmWk9Sle)AJoXT(OS9;p{c z^h6so#Sx7>2iY=w`{Kt_V~$C2>0~A#pzO9tsrg|4;Y$Tf=^D}j4P}POv^9m4_E#H~ zVM+}gdv-gLG)}{m4iNSq91uwtD|)2R@AdX$i1ueF0;0nruEm+K7Sf(#Z~vj}mPzrN z)c%bkE|9hTqP2Z=dabSVCQ^rA$vL={WuK=wbzZ&jzCvor$PEHVGX#IG~{vA5b1A5~lkvGsMLO?ocG`$+rKT zLg{EDjZr3xL5qH{q|F=qt4+dyVvQ4r{8s@JhmzaHv4FNqfF$}+NTH!!9g_HoK?Ghc zp!S!z>S8nO-^wB&S~lV0UR1OdzcSb3M@bg-TRZ#D%LxO%b-Z@uBqjSUWIu+^Dtb?a zq(R0I>g=_DmFc(|jvtwtbm+Z*y8&T;z<$Q4AWPD-v2ByspW*+&E%jDrOOVdoks3#7 z@;kftxTT)3NO?Csp~rSUwhiC$fGHE#! zzpcQPN;H1yVzQ>eQ=GKZzWcWoHeF;jw2ejAjL#%)B`IL4&tlkrPD$e*QBsDfK8s=h zwVp z_=am-bWctD4(+`XZ^_igXhDNfZ`R?qRCG)*?#ac4l7{_F5!@Y(t5{mAs9AKeYwOT( zWGkn7L)Z}wZI_!#R@S!4c5P%AT1q|pcV(|=Bl9fhtu7>;jb~vC^5fJODMK=vje{a`CN9tjkKL;Bf zN_WdrI6648m8nr|YvCmMktZD-?CluWXa?YT7!sXAis%C}R&{Ogz8e`E<$vO5p7ND% zY4VV%sE3X>MUr{>993**Q-oBA|BGviv=g_VRXfBl#W(lSlK;V`$bYfrkk&s$P4g4| z|G;_q13!(X@j2yx;ffwFZ%CWdlRS05<7$~&4)UiEE!5jq3>~8^c*-?gT{$iEw<+mdlrrP$Rfc9Pmm?HG%7=uxZm$2deczDhsB-DaF z65C@{_BZF$u_ketgr`w^+lS)vTWd<`N89#aR>*)!A8&|D(Sd;KdOn3D?XQQnw>hNH zjbVR4arqq;gQw8N3**eDXxtj6cOgbtXxn2HRpQR4PtTg|p-3#$z2?yY!+z!oFX(EfUuYG)s96nYISy~sE5p+2QCynG?T zM0ccYS|v&kBlfQ{9boacuN2;~;Xpuot4?%GkO41QqQ|?F-pjPVV$1h%;yq0<;X&wg zw;ic%t8V`(K)jYqi&sX=pOx7H*@pIK7-Y2SQjP}=?S0fO)gD+!4h}&vCbNNl8KsVg z^sdwdT^aUQ8$Et27-ccxM|!rM7(1~1;Sb%bw||x6kJxdCXnDkrJAfnT`=9Kov4q!z z%9pL$wrs+oBN85sJ=Ex}k$73{- zLX7x%ur8VR?b)wkhz_rPPkC2yAfRf!p&nZC+rMZ$vzt&!`vaPd5h2!4>Rn3qCtdaj zq$e58MqTh*xy5be_iu-YtsH@ew4zOkx|$QOvR&~|ZLkaD$Ur~;OZL|bc&~_8%ch;% zz3CCPxQ!KT$1+x`Xl*`n;>9qyVjX9q}rk$pFoEo?&gLhcw-@Y+KqT}!H#`7 zYM@pgaCEWBZ5mHa_xBD)Gio$(0mZrCt*vc;J&X$&ca%;P^j`$T&(`p`Nup@jH1-D+ zj|<91ptgUgF+!WTZDRlN5RXO1t!!Lni8t)c(5@}`J~NAZ^y=tpG^9c21FhS8bd00D z*~)fIkMC`$8J9_X?iA43F-|JP|KXM3Qaq!9TJCX5#;catq9yTobF?<;U0Yj7`zy8z znBa(IizS8*2Tc5q)%chW1&r?`(Bj7>iQkfEe}faNYzs&|8RBMjg8Sh1?#r}pskXn~ z^Nj&+@4MiPG_~Q|G2FYR4_`E<*%NtwHC=Mv-r5w7upZuh%f*Ll?Fqw<8*c z=wk51B|Y+H#cNvVCr*^N`g3F}r`o!4C}2vv9VLmaY-h^>KfOw6w{tjPO1qs5`2H6? zRHbMc*(FI-%gyPd0=|@l2>LN_~4=h_cnIlIZJSCqt zFF+KngVZj;#Zy(`mWU*>sH%<9M(-wW#L-2w?LrTe9LtbyJ;ub{qn0wL z|Io05f75n0iQYMsi`lxIv~ORsIF@0E`1KWjJ4!2^C_x8TIhB`tI&$GdkI3kw#Fv$H zwwDUVrRmrz67-8(MRbN(!TUTW`cC{d}6Xv-bdtubJSdDLQLhbym?Za4bW*ClmkX+BEuv7Vb0SHNW(QTY9#|_C651 zDs_B4OywuXjva0K;T=$DFW{R;^weM&ozLvn=nD0C@+BJjRoM^-14sIIU zK(g)2soX}wiC+9%EUrnPY}-{f$*2XZk5+A0O3|)$OJQbP4aQrM(&kH#aRF0m6g$$> zPC?Pi7Ol70gCuW_P+?2{O83}yzoik>d>}!`T=;y zkO9XpR783{LB3ht&Cyc;F3yq-Sj+K%DPEj8c4Ttlcx*oM{l(_f5+8nl_!x={6 z{f?p`LQjz6nQ`%v7esY9U`kiaj$JR~Ndnnl`gXh1(G2l=JiIR`SR&B z=@FqeUMl?|vI5xd>&b#;mxxLt*)}3N2O=Zsizmr_e1JmQU$GMe6rHfT#6MuL|KK3r z*J?XH%hgQy-~J5s7Tjb@7$UK4e>V$VdgJYziNnN?ITSGYOK%y}{x-IHcsiM*zli97 zhSB}vSMY7i{(uHcaJVjok4YiE{Q-@!MtpM%JzYuezo}$#Y3AMD+uyrsJB`1$kC&gn zS4XW^`xYr)bK$}^7Wc(dQjjvV_ffZC{OB^7*9Y6ww0}ij8|m!FZ}$7a5vFJvnOs zD#r)Jukic5RVD4;%1Huh!|@2d*%WU3^&SG+`IVfc0masikLanf1FM`cpzTfi@yAC;1LFCRP`qng7eU!2d^X#Gtt>K(|8&t? zYi(bSbm>hR#s^HY*7k*?=9~;Dwzb)k@O!cjSL`TD2;Hwvc0X}sU#3UoQwTR36C0k=8B`=}Z-)N^*Locje;Yc@uKAL^Zga#bo-y_F>6m7j(UyG2&piE% z_|98GWsFhsqBNloPcqa*UUWQ6^?^%AjyCUj7nJ=62Lz1n5Yz`xUC0%ooD=-ne+qc# ztC)o}@4dk(7d^hjV#e81e3B*UQPKV*HZFbA`Uil)G3Jzy4~}RU79A-*ipBbaK zoW$#v(6aw+325EW$1rUlB1;&IY=<&T7!ZxaM4w9g_W^O)7n5N19SNA~mwX%vXpO>$ zwzc5{P;IbNCwc9Vy{FMM?$Z5V=z~ptPj^mrD&SPWsen@frvgp|oC-JuuxRKTf#Qvs&}P6eC_I2CXz;8eh=fKvgd0!{^-3OE&TD&SPWsen@f zrvgp|oC-JuuxRKTf#Qvs&}P6eC_I2CXz;8eh=fKvgd z0!{^-3OE&TD&SPWsen@frvgp|oC-JuuxRKTf#Qvs&} zP6eC_{AU$lkCR_@?)u4!ilcAs<4yWp8PhIutZgn{X@Ax+&GUH0jh8ii>=ssgMcjDF zwMP!Di{2JDUL;$m$~~9$iyP0^t<1xpM#jg>Hg#)wqchdwrl)K9pl*q)Gi>9#pJXl+ zkk@mKZQP^oy*v}I1vj^iHx|>I#C=|jiRG`gwoPX;e!aMHS$@vAagpEB=W*jQ|Dkc? za{Z>qjm!0K88UD}Yoja;&!w#H#-~IUS6jK%P+!YUiX;DYd}@*Z9bKu zc=jp0`cbr%w&1NOqTD(WL_tk%&QOYnDNYt#w#t{@74LHtEOL@Vwe}~>(INGD9??2;CY(LAy_>#*^OxHYOa{gbKSbn`5 zlkvQmj6amg@-8w_zOEV*d6~;Gk=NZOyfZUi{MFCEyJsysW75`{ywjMPZ9d;OmbV+c zYs%=l+j+}7h5l%jsS7Bo~wMnlc%`6O-lr&Sd$UnapbqlX?Ba zyZZaLTR-3_56H7=;YTiE+;2v?CPk-i=N(J6&r`7JGv21MPt23~XL*a`=MRVXTE?5? z81_x}&+hShp?fN=>F&*IEZBCp{iTn2$)-o!1jKL;V}-@DD?VDm#Q4DLOiaJhlZp9z zRA*xO6-}9pcY}%e3raCjUbByxEdL1;c@6YpGOwGwd%4_`wC67Kp65E&cW?GF@7z1< zfwRg29tg8P(Ry?14Y-n^CX*JHn2bB#C4`S>?u$8Nk~Xr7NQ{Ncsj+V)uC zwZWH{F8)Wh@1FU1mDiEyP25(#b73vKgLA7wXKgURyuF`3soCh`jD!F!hJQRd0tS-AE@ z&q{?B<>B4BmruWQerxW(s+#xqzbf%g6|z*xHX?|(-M{^;$I+GCYwh26PlV*WqO%U@?A-Z3+i z@sBcD-Y6!^|D4IZCNi1Vx4f6W=hJCEr+MInqu-4BYz6N=H+*lq#hrNP3+*Rsn`hv@ z&CJaQtjNWEw(euYi*@C#yo)sGP_ig*TK!OwSz+gR-Q|7z>|5o-D-5W7W?1u~9?_8* zy4N)CU}C&=2ouv+Z((A7^J6BKFI9+%cprCRGX4}M%NxjK`Nx^atG$(pyjEo9y+;@P z{_>Q`Tvy`gS1bNn&3k;aeM9J!gS^Y*fis6RI>!CHiq)*VEgSDJ{6xmC$6N5$Kg=%m z=f@d%v(7~?wVrF~2Y||E;4; zEML4a6Y+iyWitLkCd%{Z$wc{64NT-U)tiaD{w~6`Q!*S~SAHeet*m_hmtK!}z_+1Y zMs@4WyZ)BH!k7JCbN^bo+;^F7@{Tj-UyRJ~3vW~9%g?lDe&@|YFV~Bhb$~ZmyLHQn zE9ZITi4i&dvu5xZ@FM-EubM4pVm!AW6VtEXWMckL+cL5IIU^JCGEQV7exIpKl-GX^ z6Xka=%0yljhB1*>?+6~)EbEX>Uv}g{W#^u2+;kT2`Bkq{%{o2f-Ojby(|X}%-Z`gk zTSa!4cj|g;*Y%}7ylp?P;UVV>@fKlyn@u@zgg44LVMeChC3uymqZ-}ttmZK|a>GO4 zLIs!@Z}Bk`)AL0#G5^6qOe}w4Hxu!eo zT-XjT9<*TD;gFB~d9Rs8JHH%JlXu@zrUh$Wn0LPD{&L&Jd)zmVaYgJ;pYV2HE}8f2 z`H$R7JK+p#c9?tgEWZEd>N31q%h39h4TC&}7JVHtJER2@<6)1Pn7;NX6Z5y2#l-S2 zmN60Uh=GatmyR+~UW*J&ls~ctlX;zCGOrh0S7G`#Pp^$!pL^*kuQf$^@9+~!w3{xA2y&Gi02&(Up77|EklKLHl|2 z3F&J6UMSpSSWvBvJDTKVV!UKWCZ-Qt$He@b%P_J0{uNBbyF8wW_}YU^lsCOH6XkbV z&qQ7=yD^#9VXm80*&&2#a-Y~Jet`!sU+WpN${67mZQC{9YOqAchEE9RnS;a(NKQ!h+88o@;?`^{M z&t84gzeQ;tm@CWco}04qo~386t#sfG?^gW#6}jCebN_tbj`t{*k$23};M*@AW#X;V zr91v*u|AwVdphRpo?*P^z0);3qS|>3t6T5(w~?2b7$4Y*iRpo#GBJPg&zV^Madjr* zeax7MU+Xaw2`pn=+ zYhRDS-8=1?TxK&9M0u6WOq4$Y`w!)% zi(w+KtP^<9{e~yk4hrOkOUL@OuQ`+lKAHW`m{Py-UMD`?U1n-2-hI{d`fj&=<()&8 zEUEeDecq{5)}a~Qw{Y*(88>bEXg_aSP@f~y_8#0VZ~IGwynA>I^#6)!Hr`-jyxn0Y zrtj1;F@L5KOe|lgA`|ic9?L}hJ9C*RZ+dzr%GdnCL|%iVnaIoaQ`>cjZOAL$ZgW0j z;WJ);dB&#f-ugIyh4j~}8>VRD#>+)$^q0Sgj2kbzZRujK331m&yljI}IWrsxj+O=-f!c_SGBEnI-q*|_>iV^=JsD3KW>a@S?r8Q{CKZLmGiu=96v6m*NPt(%g>G< z7x7ERkBjo-t_xLud*Y^x{3mvf8<*?%Q{1>*|K)MxLZ?OZIzrx(rVwflTJp!Ezd?*8-A^#$nqF60}Z4*n0hdx^&z z_vW0%Yd!dMQGsKZd9CBcE>%DOoYy*V;LzIVAFJ_S)%1O8{#dpAB^9rmioaNu_m?Vv zfz0cyo62hy_xio=tMq3l@(vBFXX}0N7v78oA31kp5^wU=sww^JRpo4B=loehbiDCm z|GixXZseXf+Rutvnu&Yr`m<8$@^R1XHE;g1G#~dkKjli%{5!bEp)LW4_~t$((s z-@+WcRngF&GUpt^y?)MEbJOZvyv0A8d)D+k#al$)-_j@SHE)s2`{KR*U3l}K9&PW- zt-Sf?(QRD^zvRsq)GPi~uY+p*rkdVP&0k9`e^171Tt>wYRps4OMX8OO`1RDsYr1p4DuL5?L|o*) zJ10NR(1&r~zP}cnc_2OaZMEWI*|7%h+u+h;zjKGwxR0Fv{TVfXNwxeT6>o})e^r(j zTuzo>uA$27w#+MQ58gY={^~nwe#QeA2hRGV##cPRGACf>Pm_7~Vfg~1yLaQ=3b%>w zx@92r-_SUww9<*H6VismePp%Rk~K^KzXa^Q!5^1CLjI?Kf=-4{G^$zK{&PxVC7H zi;ps`=e>&TsP^lydOTp}z$ll`&hZ|7i%uS}%AI##FlS|#p;vhK^j8hM`W)VEVUt;Z zRn+iqxZkboc zj67)0B~$5rqq+WZ0rRG*b-AwhkF|PqZOsFFtXfyM<|!<pnk zuF_{8dg^O#T+r^X-(G*m^)+7l{SY#M2UVWl z|8%X>T<15xonNcoJaEmC=L2;ZR=%~N)5xk^J14`TnsttGZK0?ldviqc-iLoQt}bTg zy*GF2*45*j8tu^WM0!2$h_W6;lZWbhc3=nh=+I| z3fR+r4>!D?nND~82d;m)Vco;MFS)+>A1817dGnyK4cj}-`JC&1DbcG!fv>o3aGR+v z^9OQW-60wC)gR7vIgeS_Mz!TS7i))JM^38o=4yI(HGe0y{CpMfn2K+eBEx$%dK=d490bHkmM-M_zdnHyaD z#*T=b$@NPP{E*Z46xX|ddEj;9sXXXznKdhObml?dPApUD@vl7St2*Wd#{$*(1vS08 znmF;tpb?1i1kGxkE`;r@$Tl2T!>$w5n zqWM za-6He&6ZY?`R4WEeT=2M52%-$n}SEJ+8&dahknw!@~hiF^N{_;YP|7B{iw9)>&Sv* zdGO|_TqnK?;laAIjjPVy%7fj`{&;%*10Gx^L+h6Lebo3_HGPblzkyo5w~ALz#s5c@ zr&Hyxka?X?C-a&g&BN;*on0$iHy%;*&iHH9CvtPG$Xy{>_wlg0-GiGvAI1ClZk?0W zdWf5*wIBB|;wv8d^!()I-)85b1Ha2RanJ%DTH$!Hy`S9RA;0m-qc{%gRsY-{z6W4h|f#-H%6h z9(DCht{L3&W0z8I)_lt?ncG=gUSGf?LUK>~tb7?BeqTS(SaS~#pH=c;`2!DlcwpD! z-w&(J!#lWDx_IJqHC{?h|60vIUM^qmj*7QS#eb#B+pEg|Qs#9%pUi8)2p;7=rNx21 z$9dFR%`A_f&-1?9IvmTm^a$_E4rb){AMnWIdl$`H?#3e{T{4@NmEe(@@||xty1*^p z4cUFZ(Kc=|A6uWhbS7@8zpD9E%Uy1%*!^_C+|z3Ox}2^#rRE>4mgg!S;)?kGvb+Z+ zW%IZ`22OOXs6(rcb+$3h3ot|{>M8*S;0F|vtvr1X9Zhdd~$lqRW%Hfe$6;J z->u_vxu?5ToT)PIl#a5TTV+(aBUK)IWnSAY%rG}+{gA0^Sf_DScb71gV=d;ld3b!` ze8zJ2-2UpG4{P9-$u&pK*{sfts$1(0Ys%a!c38bXM|0*j`5*TCo!!iJM%~Mc4)kHJ z#WEGHAK@*B;m@T1`w4Qs+Y{t+*?v}WO31jb%~UyiRk=@99!q3i)4VX8;Cui3MXYDO zZXPS|USyqSPJQ^B-$$%Xg@(mH-&lot)ve|^*#})*rIyCJR_nr=6!zY+;S(eC9I>rM zu-yMp^Qi}}%(v{$)ko(4!F(1O@7})Ln0f26G+Ni_ z5^Fj0b*XXzHCT&XeQvC&Se`XsSg2j))B9NSd^dKj3D>D%Vdc**=c`a$F4v>JiZevT zohQp#&_I>@rOM+onb+;%Oh04k$WxQfG2OA1C4ZXGnf2_K;nRWR8?r7-ORW#?8o_*b zc~>eiVkGNW-P`^9GnHApyCHSQ#ExZcmY457?D9zF?Xhs>>JejD>luFaJ9yqx!)4Mx ze5;)Al2$I)f2xdg`j(2jK$WvkmHU&*~CBIi`9dAKR-G^D}m(s}f(V~yrBUL5Mr+Vh?dU!KUv zeE!O^s$}$9H4KyfpDWAx4qlbZ<$fsR{P;k{-7Cv^l1-M|K_~OTT{V%HTW%I~tYxm3 zt;?~XEyE{F+`Nqio>=ZOc0~Z|Rq2;imG|Uk-F>45^r=;bbqV96a@=Uk{JTEra-zf| z=KJ95Qo4{$%s1O~U0@a57h7DY!N?=8)$p3~k5ls%R?Ef6IKMnlaa~n80jk{PGLJ3I zRbJ?Koi{o9R@XKx=+v0<=N1Gq-Pi`#LyRMtHYodNhkQ8;xILngd+ipid!e5;Ro#T` z@w%Y#8Lz`Sj~>=-sAqrXKlj2i*X_lbe}y%kFTVUj4JSzdwx8vE9=GIjyBDfBZB$$z zRnA3KF8T#U9uHMsf3cuJ8y~e?7sG;nS=RICuxl(R{i_GuqGN%RJR?Up{F(L6U8wEU zf#q00-@eyY#7tw|L+^BFqdsL_e{WEErS>W7nyKvQvH9k(E;Fn>djGOU4Hqka4>g}b zEtg5fX|CdyQRN&_<*t``n1f_q>oqK>Z^8D{cbHkwy}1>hPDI{4T6em2X))8)t=(*K z&?crmKP76vt}g2}{Cceyg=(;X1-cEPqg_~!x=-8h8@7ja?{KFHQ6J=gItDygKRf}vHwy>b5Jq~ZIw3-FY z-+8>VbsE#{%9Hu`o&GFvUFPS#8}?#apHHr57%-9bnln1KqF+ANvwenBbF42|Kuq!H zyAHl#0ok$_?AG{8HT+ijFRA&0<#N6YRh;1}ZkQ^kxGHyz%%gHQnODaCENJxab-#@q z%Yt6*ay_!OE()x0abKu%wyJV(sXQ*p zy!v{upe02-+QmjQeYS@|SzH#epqEknM*8b4XylL{)$dhiy0aJC{y7Twt;*JZQD}L7 z7C1tCrTy%sEHK@@qKCZZFm0Ddt@~_k%Cs&OYVQ9%y&OKndI*0(HQxxeTwfVy*(nvb zr7EYQEcc@dGLLlFe<`m4C0Nkz8R`0Wy~6Y*d`|5A_!`q|(*K(2<)nof5lHzrza#xBrm^h6HTA-a3~YwtA%e ztJQpa)N+GVoW&~ca8=F?Rqh3uM{#Ud%B$NP>@Q{VFZWr<^zIk_9Q8N)`&$*B#{+va zebM=y%9`%6pgrHTJX&Ww3+l3ThQ-IibdU8-pVVEzbPG0(Z-3s(bb*aGb{L+X>6#w8 zsjrRWzZhnFTI#g@5A)%wIkQu z&cpPUi!D!Pxy1C^UP0YnH)s0FmUdaqnOV?vP1vvz4O!5fyhmzUalYy5p0Vr>)Z5A> z7p5DYi3R1=JeeDNR1FVG|FAb|zG$`F02RkW#VxMNL7r4@)*330A5>mfnZDW&r*_@g z&Gcq%ww)(_WBLV$YF-Un#`LQSWcs+?E2f{erhC(8W0*eVRQpRipE7;Dn_GQ*_G9|& zRm*&L567#!t@F7b>CA%8mJc{uxPTfKQGRR(G2d3T9L}c{XIEtv7u%D{sSkaqTyuVz z$4RTq>n7!Uc>3YN8m6B#w)TX%nD6kEo?e-@G5wQ#QNFdBG5z0uW$uKYX8K2)|IWOL zG5wjpp5=elgXwoH)_$?z{;C>gCo4K*dV~5IXFw>h_4|#NEA=9sU6IEyp^nP9%rLZCtyy>aGDGaRppnIJzb90ivqsNr%+NLBoMqlsX7I_fu0f5T<*;T3>7UU-9sgqYT!?V5>j@)o##-cs4%rFmSM$M0Rt_KZZ#zI%uU8=Q|8MCwqc`#%hGrZ~F zb!N9cYWPa}hx*C++z?R^I1&@1vC_<>$Kn z<8%Lz?+p(q`q$!1h z?ZoGGxU0*)*szRsc)`*K0$2F_#>CM72owHHLztZJGbWcS%|x818<~hZ_c@d0n3*j1 z6C8h#NB-1f;@4TS1d2v-M@08<3)Wwf( z@-{KO%LY&W0ndpI@Y!(nId2p;{HwY#Yq@JV*H(df5A%Y)>1#agQg z+^qdF{OW$*IY(6Y4HH)KE{&?4`fK~ocn)Oco$EiY;T;Cd%kX{eJG}L^fw^v!X~UZx z+~N6)^&oHPxp4KCNnLr(jE8eikG{wYj17z}a=sN4!(Wy$;g1bqV!p}SnOH8S6cceu zXJaC6oho=9gv!~^WVzomna5Zr^D52j9hxzz}cyH=%=yj8XG{Z_Zd^OhU`(p@_F3$K48yYbD*Ov}V_r&=))r_DenW)CyL2(S1^%Bt|%t*%20q;FZt+k z*9>{N*UGY$?qux3+l^bU55H>V?be@q*lz%y`?O5Ga(f}&#~Rn5qA8F!X=(5(TD}yo zSFClRe}1aLtIh~>f9@{NRr|rbKeF6rVpz2-6aMR4nV7HjSSFV9D#An@zcoz8z0X8BjVdrvZtwd{ z^8Tc($oQ8(Qbyfaj1gth0d$e_az3 z^Q~u0EXOoV#Obh~iMYd_Fj>w8Cd&1k!9*UNS2w1-dcWq4r)|_+bK8@N7Y*p}Pe$!t zUhPfpH#{Tm7Z)f$_ood+W#b>pd82&ho3IF8tOw5=0Ars3@2xcPA_;XCeUDSz*a`L+}DtGsr zJ51!^Z`nK=Fjo_|Tt{tsA zb3b=&TcnwLcoeU8p-RhI%i8e@U0xk%e*7jc{_*(L^|kBxM-_LJ`*H9#CWfnuGvObc zi;4NpE@xu76^)pP6S|0rxU-KlQBL$MB}$bU|?**?P?KQFwl zXy1uVc(&J#GI*xba7{^Lz8iNt@(QKLOf67gDX*0IREwv}i|`6%I7y{dV!Gs^z(PF-TnlZ6l_DM{{`ScYNaf{|*qMX}L z7?taBxyf#k$NJ%1A_NKZnEa#%#XC~xbTnN zgZuqnD3WVd6iT-vPadurJiW`U5-s@0y}s!kGk6=%`{-oG=sD)yFYh1t{8*i=jm2=n zO(y)`WM^W&DHWMmu2duwaWbrCB5vv9OqQeBP34Z$qg>=sCIjapFRwtBqiOnm+bq{v z!LB*Z&3zTfvKD_(rE|^^yH7rPF?P^r>3FvL`E%@u2;>D`?P|68;Z?8_an5A+L{vmUN}977Kt)ix^UxjV97-B2Y(%jsMeN4FV1b>8h#eq`0a%Cy z#$TTj>+^ZfoS8Ym%xnvUpELb7 zNEgT#N1P0XA+k}wB{SdD_cS=DcJ3|a48~V}hKS^A?GdTF;etq?jUF1*x%;J(Lv&4q zfcW@T0`ax21j2zn0^yp`j$|yfJoJVE8oN7~w_EZL8a?y$lcHsnXt?6Hz{sZ|oKI~U zJreZ|^&ieT|5_D~_52FvU(K}!kr4Jv1a%12f2_K*VdX-o|Hk$1Da7O6 zPSp(?N2}LADUugjwQD}jlTaUUYoJ5h*3;`=PlVE$Z51BcXw z%PC6BEYJ*RuZm<)ozo#aecK&)^{R0EX zDZ3U3*Pm~kO6kjRe3lFo~)Ilua+NVV%Va6TV+*>-2O zH9oE$@7lNb59j8!sgik~e>fS+C7o45)9Md}8FGqC2kI+Z<8C#gZ=AshE1q%&^K0My ztRJkasWhk`?8{O5jgQmEyY??<>WOXyswX}o!a#hh@#j9s@s+73T!)1q?dh_8rxu)q z_#^%cZTov5c5!9@)zH%rGupJuOQ;c|y}i1J^B+M}%P8mlGw}V+G==l4OB5i=*rfl$ z_RA0@v%jlY?l46Dcs(&IT#d%jG{1$`9bo&`{G>WItgZmxe;xD@He!9lY*>zg9W2*E z7f9P_**o&Ydf++jy?HuAQY)rI()}gTC;QSMVYIl%s#~rQx6#?RP}Uk^HwPKm zXw*Z@`_4H#oDjrh?!1;(yA5It{G{2)7}M;_{HAL|I`skm}EARqd6Ah zz7^y$Lp2~yYj~yqwD%CZ6-h)`Err;bl1h)h&V|@buoZNJ;}UbHuWi|zPl(#7t1A=3%sN2tDnDp1pLAm)8|zk2EJmcLeIz#z_WC2 zwB4Ws$x*kzi}v9AsTpb+`<(eB5cJX5 z!RE)`pmnlrU&8~cqe*q&QXhQ3chFbSi{;pcSgx)Gz)O_&%(RRGzLSdliu?n5iGWe{8r>e2gR{PiIz%m#l!KaNB7w_vJz2A!#e2R8dH@v}jJm@AV{# z9@os6KZ?fTG#|~@rQrMBq;CS%$)vgysLx93Tgq~*%3`^!h5>KpcfrDgM*7;*&fT#AyMqdiwUoSqVd~X=OPd(1CKJwHANGkGJvV)lkNuw@E zeyEuQiO=5uyz@byMol)q<0o5Z-OKjXeWg11J~`11p*|MWH<)r1QLe+lGyM20{}4W} zg)e;kqOuy#pF0O0_4);XFyICGq+T%;f#eSDH12nQNKOxYvh937Bu^4kX+AO@ zlG?T3G6TJkwCCtJvr%_wd`$D_*}B6&Xdix_farKpT@C7!&-!{!W;s;lC|51;3$1nm<{}K*;SUopMclnkT`!+AMjRjT9*am?U`70xkR}fk}ogntu42L|RZFEG#0uV*Omr2CBwAEiR_ z4aB{-jUnSGHfadSeI((dwKCCyW)BT0&icufDUx;rG<-pv7 zT2FbGu)30`H;Htb3!hfG^|x)7MoT_|hTimp*j>@AWUk%Lne^?Ok4fz75ys zO6EGmEC8O%!;M8Zxxmx=CT4SSEAZ4SH9qVPq|t!pBWc}S+J~QSAv$$s+*Gv4lE=`bgoR|l^XD|8(?<(_UKHvQ{N(1;KK3DD>kqx|`-U+9F;Qe>EcmC#J zBjD}(QQWlA1o!0}vQ=yVUb5`uvzudq7y6ce-anegaGH0ebrrNvoz)3?LUj@K*-w4( zc|$mMvRso?fwx<|=WN?j;JqpG3mzQ~eEHga4i)vlS9X5((pDbtcb$%|nGb;XMX!I? zwPJj}U3A=JQwqGZX(3CuzX9GJ^V!jHeBf11-JE}W4vqNd5R!MHb$e(Z-VUOZOLb3D zAADUSzU`C)f6jwk?fAIAVr=K`*`KExwM{Ri$(A^;G#rZ^$-09`W{SxML0QhyQNTUDQNl1I@3ebse;C zJk@!_>W1USAubr{NIKiP@m;QSXKPXgkM;}?S;j@Vao4Qg-!u-;yeO^P zNBfpgo!eCR1ohcQea}#ir#;t9g;plW##%+X;%kVA_#cT7)OQ!<$Y8mOgqg7IcGGmH4rM|T9|H!|fAj){Ik}7Ly%w#;~eAKwp<-oYdl-7pn4lr(yn*_DlqKw;yAyM$X zgT_`ipY@d1U7~%eR410|I#Hhj>YK=N%&?+dTbNKMz4mifI!s9G^zX{yeoSzvqIBG; zY{q}{w=HhMvlyR`4Q7j?QWmp>&kqkYVR^! zwHI=Gc0XhSh2MVG)pTe4qH1^%FZ39n%(BQkHieA$$Q2!ojU?kW)_zHIfh6OZH7mA} zSHO7ce3bZnT8NFOx@q2pt;@f{_A&RVPAJu#PkpYlzI!IJ9LKC#uBvc`d;fYbic(`j zT(8;x=<8v)fw#OJZH<{A#aJt3{+jVWbo*fM0VT$_Dfa#(M@_~jN@_xNN;=~meQVT1 zm$Qu5CCrLi1I$PC)ydSsjO;RCg}xW5K1q3t5gY{*pZrJ3AlQ$dR@E_<1c!A#aEG&jPH(Xp+k5{ zjL#mWAMa}LA`?R!=2>cEj*}J-tm8-0_+LJTt=n;$_E}S%g;dvp^*KJ4`u4IMmD5-* zGaOAmr<;G^H$omqN}@wFT^zzAcW_v5CEIU^cP*u2mOS{G0Igs6@!)m_H=46&iU%`C@@ z87$ZL=?quVO60=MB8Gc0)yd2G3&Sl-e7mYWlL`LwXQtNidL}4a+BTab&IC$dxgiME zVf>#ciCF78Fn-^7+jR>6Fn-*kWzuhg7(d1H{rT2AX{?}mMC%T+eL8r12X#XFsjfQp zc|(0KvK%gPEZ43v3|D;Vfc}pK40r!w$&o5}zPh9=SM)o>)l;~4UA&tK9^dld$u>(S z@J0N>@kP;0!0ijqhIg)F{Qq1vIn{KX@fQTX`f_>&% zR5z3Qd}Dow=(8NE49nH8hU4AqZFvtEZbgZq*ee5uyJzc9gVve5`cjz=MnaSpB@m1bhydGIRD^CP45c{$-UH6JU6|s>->V#=SJ}%GS+# zMf=LAPCeC~N_|qP?+MCroaM?FFkA(T`jnr3958Ynx2-<1fjWwO*_{yK{9Q3%C}h3s6z8O zv~C{l^QAh7>RM8t9O{dC2uCB!6^ZjGycc>)7;dGZ#l&6sxNQ8Ao9XqA;qEhO_Iogn z;R?3wZ_v_ZxH>}*&a#hZf}8E$eL23K2@YKHN5*ao6D-}R{p*o6G7wf+_A4Gj0D&qAFm z`1rgK=rVh{89uM(uSh@O#c*Rp5?=?1GhD;xtCqV<;^U*DsZpht3BIu=<>lo8CV20t zP3BI^Y0Rei7Ft)v_PPCLb^K3JU2Wmb9;Yr;|{)VJ_xQFwr3y1g(Uk=A=?@5E;0A)Q41OF zddq8()iMls#W9qZd!EM2Y<@ewZjibN+J}#SqEkV2KT@AG>U)WDoMpLW@b(N6|{e9--o25*Mq1f@Q>u{XeI%I1t<ZYTyK(9F-?8qM zh5$*6MSsUy8Y}HBOx6F6HR1~ELTg0+j>qoXEtw<``#YBRQ$PRNGxhISc&urdq0_?u z#%FY#n`9JV@qc4P=I8xyO!_?@{hcTJeAmBY;=kkXI@O5qnH>2$&+`9oo^0P`>A&;r z_Rs%2Cj05nxW8j|f87Ar?N5B&w#S0+_wgSa>lVVC;OP}E6FR`QDSK1qvqgZ+Z*6(> zeIu9(TwRSl9KfLFSDBf>F)dCx9BiaYiaX0HqCaQ^fKY|^|MM{U^(mb#KNl#u|8Vy2`INw)&+HR^pk zhuOeb{YBO2fXo?-pm|0HJ}HQd@%yu6Ug`)U^=WSq+b@Gyy-dXFe@DdcxC~5D}ZzO$gistRlvULqS)3W zreM>u{q42LH(=qYrxA;MK>t#tTbSm07++++WTUV48S}(3hP4AH5gGf`BX-^kvGsWU zV$$D$SUq*b>gyubZ#rWA%@NCm-^(Ig-4OcxyJ=m(F^Fu~{j*qG7lP7K&ThcZJ^6&~ zej27{0Pg$|_b0YK0;h`0eJ5Ugh1n@fyk56@0W!7h?Sa5bKZM*Cbr;5zAEo5p#pK|0rDn zF-mFe)^ltiWKB`_`JwF)P(0;EbG9mYeGh&mpSTU&rakD-lwAdmJ~cqSwF77yWF=mzJ9+w9>N&r|8bXL2HzIc49c%l8d#9#p^0vIOI5b0Q}5v8Ao640FSm2 z(#L1kf{W7TYZ)g$!|eIPxwpN%fOB}vjw8%S(Dmwz|G7Zh(sXomd)>lH#Ev&3cHRrI z^=XLo*9}3eUK1kvR}>KO8>50){|ZF7dTbHl@;1iLONNEbAH#?E*Y_Jr3ywiVY<=xe zV?79Y(D@}}1{VTnv;}3!_JMZ@Pb$Z96S$2DOH-K|4h|XDJ8m3X0gTt2xVbCBK!0+> zuZWl0mX7)v*Pm``N9?!~vGaQoTmKNT{Ywz5cL5Q7Ib+27Ekmq-JYu;nAi`Cs2C-Mo zv-4MnLSp8Ped+xlA@a}F?L~{qA+#B!ZNglixO;`R1h{|LtGt~|f;c3YwZL`OW^Qq)%u;fH0C)s!|u$aL`` zm*kSczh$&gc)k;Oo)AuV^$rB*-q8^~T1GHa=-NQ|vSnb@YS!BBGu1L=!tUKdkA5OD z_Kiejez`GX>pKwJUyE41eTdcHgIK@2i1>dQf(RGa9vs zh^ej-nYuR=B3>Ri#*f_tp$zY7<6b3Y_yCK=I3&w%n%tjx+5~LB8S-eGl=vDjYF&+ejl0WjLWxD8H@G}^R>cl65d!o?6yz4}gE4E!m|n+z25A^ybmyWdMnAi8Zx-&|8Kh)`Hu6~6rfg!mt-@fukU{#jKO zM>p4kN0LOqxRvJMDF3?sVr>KaCezgN){W=iwU#p2&uE&Vwx(mst9ABm1`U?C?MSs(pNJ!WeE$EcN>spxxfh=PVaYRnoExJA=r0n>ix$N7@mocf;#R4E7s!<8=hE z-u-Yy^fl}e@#`LfSpObGxSHh<%T*7&_2MIy{6B(Vf&GC_op4B+DYi~(p)r2mJ66i{ zniE6?7WFPpc?w}Ms)vG{PeM?i)uFNCGT^QG;@ex}4d8Ue?UBTfGr&20PI=vcvgN{$ z?sHB*ltY8#QlU|Z%>NWYq~4?+k^Z3$_Wvor6WgZ3{Qc0l@k+e75gB1bmPN~!($932^?!|6u3d=bI)b0)n&e{KWezFf^~p=8;pdz)dgpbwSwno!+r>I< z84!K%wp3L~IfNh69-^_%61c0(Z|8}IgU`*UR`R_L;IdF`r04idu+G=7Ui&G-a&hRz z=ZT}Zh>ZK}5SiC_iAeqD3yAa&nTCj7sVpM;Ycmn?YY#%K|0%?BokA?vec-=5cYPL< z4Jr2y%ru^hpYQGt^jvSK0120Vja2cO1TkAR3>$CRLPXHEy9>r7LWt6l5r-vQz;|o= z*KJGj|A&xy`*_=iB48w&?`FsrTQ1U?btlmMDxPMcVzuHBEn@OjR@B~x&M9-`7eS=?_AF1Nz1_gz@GON4u79_17n$AFYYbK z{99) zb1$4fb?GrW_M`LXXuUS=w`KM4ddaMQ59_zyob^9vOS!hNT(=^@^S8q_g(Y(#c+Lcc zw(F0;&7NPOXP7d^zZ+HgI7ftMjI2MD`QNg3>I&bhg$hjkDw&IvEKkM%7UocPO z;^Z0^VVL_V(=cIO56pcYv}Am|9Ub@4c{#S;el**E7q2HgsHdCB>d)0+{WfZ|{v)I* zS3S#hqY#3IT1B+qdjVmETYjW_e+S>>f^FvZo56dMQ`7QIUEulbX#dmpY2Z2BAmN8s zG>WCmpxb`7~Ou!1i~F zP`xWuznJyg?7{laQDV97=d)b+x!KSj=M$-IRuH9X{@C?yA#lS3_YVCW34t$~;_42q zhk(hq>ONFzg8$GXQLt+}_}K)#v`&?E{Ei+noHn zCji1nSDpKQHw3Ta+TZl_MKOfA0KDtJC@#+V4d5mQwu&>i35FpJ%y_c~GuCh)w42 zIX|)x68g;Q!h4@U)QxM_m+tsL#JALGDyr%D`rfy4>^2(+yXR-yo)`{crt1#e^0@$^ z*L3X8&07qi`8Qf(9f}~->)7|RGgBbce!%bMj+b3^6PHY(|Nm!|Rg91!PK?LezxP zLwj9KAu`6eZ{_6_i0Bj?lbg^55i9xAUiahe@_WQl;IDuP2hYB}{-f!*l+H)8^_uwe zBmEnw-dd`U-^&~H8)8cRSFl{Xbe3y~5+vV`%6XyOh2JL?8sLd*fauV#G@#EhDuoq0+Rq7S~7oSU#1qEp@;E*zo= z(IHjWo^x;{V+}gLk=Em%7YF-cB-O*~ybkKivA#Tq^dI3qKcMaWU@5 z$lDs(%a)ec^V{M?~yXS*Fnd{bl!>9 z@1gx;sUCihh3MO{emUaQ{{hSOER^NyR)RF`WlgD?Mq*|;P*kY>d#q!1D@^O0*^@iUc)%c>b_?D z9-PeU*K$|!dopBf&(25T_c8|S8FAYGiRyV%{aWgGi1q*J#d1xYO1WM@`Uj_S<<03Z ze@I=>#%ec6yBAW@c_AB8TXn^bDU0CuLnDJWkF$gn&V=>$sgFRg|M4ov)@Tseh(u0K z#P0!o+cJkcfZq$cF{)jTKevi^EQWN`Hk}sy-bC8@?htz^J4oXvriAo~K$=Z<(-^UzkY=!7@7v5t>{uMv zk@;b?-h=l4r}voZXH&nmtiO~L<*K7x7a_;CId!-3BFHt<|M6_{O~|&Mzw+U%wU9OQ z{D5=?7c#@77W?LR!u%?ez8N_>_;XNsBvIQ687nMo0skF0!<2h`#IyI1A>QNhP_7!% zzitfNFtWZ9(H)j^;q_+j6C;=CdJJLN)!x*J+Sr*OT8?fVX$YaDOy^ z4`gdgjj_Hh4Ow?mq#E-TA**s~Z;7@7WUV#|skv`K$HVCSC|a*h`=7FUh00VPf1bpz zg8KKcT+1XVR~!_$w@vyX*8~Muzi2z!y@dP+)82cnl7;-BO>JrTJ;uDJ!TGnYZH2tC zPd;vLsfOIlu6Y+PS3=Go?%mDnYanNrmbCo{WynbhwVOF7406IOWipJ1(yi`N*Hs6S(bdcTQ+$l!huaS9YgZuT+ zN@V25=)P&vLV6W>hZjg>qiJi6u9-jDfTqN}9_m$Ih$cIE>_0x|6`CZpJfYn%A5G+5 z$`%^Gmc~??N3?Dm+gG-N)p=~h>PkjXpRKHKmcp|S>hjd*BlX4WRt|C$4rRGQG;oY52+&-L z;#Ft5wqBWw*O4qWpR?)-@-sRXGpQ{EdD`*y0w>xaH=QSswkEwqE)ye`l1N)G0uMdWNz^GrzA5SxJ3jqJUNy%Y z6?y`YN7L!NSF$O{{eVo=ZR1_YU32H?5h{;qY^M2QTIWIgX0kfH9;~jeJL_W+NPRz3 zj#A3C5(zfz?>Kzm3F6&PXjrWE1;sCTu|gz$Hj3PLopYrt6op>#FV)hJL0r>*EvZlY zP@vGLwH70Ekl)E^J$J73RGQ+1e4hD#8eqrb?Ghq~Te|!0&-l-@^zDsk&Fhv@bXnq`9XZnry&0=*# z)LGq$X4I#Q`j%6U-7MGnB*edaH(P#g7~-F)N-bHx0VO|{j@G-g4JDX4Xgh1aL@}Y0 zkC`5wh$1tO<=k$<>q|yzg>`2uqtO0&)pZh?C{*d-`n!2XC}dA>-+s|iG>)ZtyiO^p z!|Pa*K5eSAfa)$}eWpfG-_I<^hM|<}DdJb0ZkoLM0^&c}acxr1a>Of^oO?7-1tke8 zudK&^pO5<JXSs?k5Wk?9dw9(<#P2$GSE6|p;!6*c zDmkzUC6~roga>{>iRu@AM5#GQ}c4%*)1q;PfJk6nM@Qr(={nU#59q+lP1;Ggi&s^AIK1{!}<+>Vc91`<7qG4?_txvCa$1$Dnxsl8SxzR8d^P zk-gOgc_?m_n!CC4UK$_K`~h00K>P4%Izx z?3=JX&=m3SZOB}_>OSJ@N6DsMzKeKXLXr#K1mM5N#$PHK#zjfVPLJFrs!*c6v|#!# z3zSeO8vXTcC zSfhoKxW1ERO5;$H#23Nu!Xg@X(|jSV!`FY(*G+ZeS>0RWtj`Bo>U)>vc!kf4L9R7w zh=2abxo*QzNH9^?P~OuKUw7)ht~qLp_z$=I{ApN-_`YMdFCBP?cvlbJ8`39(cyD4;$ONm`J^o7_2;PveK24inup>Z4D6 zJ6H~`3d?0_fCSQA&Y~|3DRxtJICfCL4@E@<1Bn1MOSpq^_Lm=@9Qo< z$Gq}K{7s6(=a}I8RX&ai?$`0>Go^G#h%E>4b@o%; zJ=AA8_04BFY;-Bt2_!JEm$AEEgam?$gKi$Hkf5sTk>)umB-j&`H0`=K60CIGMrdV1U(TJ}HB!7z5 zxzN5WsuM|ddDN$p`r`dTINnjNrAUy(nX_?!DH0rX=e1P;HPUO3BRlw74P*r3juo&6>6ZrG&}EnA}%KDXvHA_r143DYM74Xlov&v7F`& zXdRv>eOIW?8LG=?ecY$BzQ~Yr+@xG}NRU<{>R2E^f-`@-U*~>8DTX%>Ho2@uDciUa z=hyq7ly_|dk8GBsRE2{tCXIZFQpbd5dlmMhR9VrHdp`@KRG}$q2PSPrDPNftvkSdx zOs4sVw9bz0Tj20l=RaN6=MeRM&vN9=rCeJf^Hbio^M0{-ofgz8d zpAm_<`2VO3=AXVtr0(4eMEaJOAy!8WvAVku>+=<{zWDouaQGpX3$Lfe2@aI?P{Qks z98_6lbqV6^u3d4AzYY-x#C~ zz_sN0pSdOp@xkvOPL=)+G3^o)Ki70X_{)@f4>$aO<&JZQh#YnWzmdl$I2WA&_f?+4 z%$YIZXs}#1Ger)pCE6z%#PVRG{)?9paaRzDvD*=wpM-xO!F2-sd=2RnMnq=`Uhkji z1|!xd4-wy;qKI(F;Gcg9mkPLNdt86{?gm7tOuA(exfCMj$sFj%>+FVkR@OT;pM>Cb zp>@&vG2rv%$Bn0I$>8>IM4iWj1K{A1Q+HZk@IR<|6nJ}rp#{f=0UGQ@I~!|Zl(-AglGK~UMbtHpbhAaq8>(Hgh$ z5F&p2Lf7#U2zb8hbCeVQ|BlF9uRaigYlClq=ZNiK|Mkmr$K4aas_InIG+qi!*dhMp zz|}ZJ;xz+A^88_lt&a%*A1~gM-c04iCB(c#BybV6}o#~bqZdGyzc34 z)1lWPpz6o9M3D~=a7q2i^6XT zbEb~J-e3NuA<4OTbP1 zYoB~IzOQ&vi68tT3Fd5WEAPrL2b&$MPHUM}gYl-()9!{egDTU;`IGO8NL=WQNIrZ7 zB6a4Gi1Zck5z%SSMXc^t#QK~>tnUCK9NJolaJfZ+Y{>UU8n=0OO2r|V6#!!2 zq{f2dN4YGeplq0X<9B0Cs0uhZHFc>icm^}CK35Z$<$(1BtY-N;)CJQI>=V7tgwWjZNvV znL?vrN-6(aEGG}F)YPRnUw;F38gu-A8c4t_)$Ikw=0{-WSk%+edjV`jwD(!btOpC@ zN_#WC5uo=pH16%gxiG5bkja%3eTc;RsfgsCiXu{H@B)#(;XFiiK5Rxr*PN^ZZ19sEo^Qb9lhX-k&cM&*p8hg#zb5D(uTB^^9}bfa9iL_OtQlnW z7SBDnIUSL>bsZx4ZX-nME?eX0b#dPT2}E?R`XHj~cOMa-Ry{;~-vAJfHP%45MhKzN z7yZHqhPNY?omZYXx&x}4WQ>e`RUwJ z7nrIcw(0yFb-aFc^4E@`~0Mr1u&_GyMPh3h6%5~-s+kh17o`@_f3vf2a&JOZ7(>QA`)F( z5XmpLM5IpV1R{OH4T$Kph9RO`4xB+By(QRZ&^O~b5RRdTfN)iYAeC#10o#5TpeebN z)ap3}NOS4)k9DpMNFnRnxH|31`d;%VSH)C?Kyij?mxoaUC_mEqx}-E2#vM7o?!xL1 zFk)3v`?M-<{ZDzRsGG`F91ko@VBIK*d=BZGB2+)9WA!T!i0(oz5FcJ85MNstARG}cK)75Q(J0>P zrIw09X!26w%R9evk=B>g8ImdE(S&^KL-(sbASLqz?anD`NVuJUtgcR|{>sX$+q;{G z*7wy}o;>lSp}x;0FyoY(aD6+f2{_t@ID@e^_A7_v?W{SZ?u9jHu&+!1Ck*PGk`n@= zE7}IcXZ>m*zG>D#IDX~>;Zn6mvb7`k$}xFJBS1*YalJay)LZv65g)=bI6-~ zq$oadhWu~5zIK}3pMm@Wq_F7ATD=PmNb=1!L19e;=Z|Xj{`+bLoDXJhVaj+t>IZ7u zidqi|b51Z5qv9-nb8@ENUi`8_rG79rIP2Dv{FtBhq;AKbdeXNqznns=jh<+Sf2 z)yZac&AeEjg;K1qStjMU!*X3WhQ)_p`m_j@K!I1M=|$z;kR!h9?KY#0kY!Z9Gd?92 zGR4Ga9G(>o^JnjoU0E<1GR{BQb#C-7$cPQU5zu1_83tm;aXqskW7Nsvd*mn5IGN_1 zX&s&?eT`HnjOsq8KAo)Z40V=61@E^(F5zLY@OPox7Uj)QSe5j&JE#`&-c0cOZg~fC zrWlT$(V-4mdvZ|lgLRO(Kc~v*oH1mIT>W#Ae--AhR`!pRV_^QQ=Ns(O@%>Cq(IJYv zKhyYy=BsI)Bkg-lbr!R_59O%OZr0Z-p5+K0$#SVEz=Gp*{95zZLE$f(qRL6nAiw|A zgG-BgA#dmk(J%LvAjd3L-SjV^|$m8CLhOBK6tM`YuK+$7IBE6^K9~KK4F5_JhJck$t0g zT0y~<$vf<}DM7xyjiK|6xsY44$Vpiz2XZ{a#r(Dnh3vS+Vz-Asf~*@Ag~xsLAuA@< z@2mQE$THj7Kk!QOe{nEBUX<3&W&33DeNLj|%maCynH(rG!T0UW?|KP7&Zg0U=FibO589VPbs|_@bp`4ZPkl34j_X{?wG|5L?$yiZ zVeaKd=SyQ1p-@d}Le=o;P%vvvitXN;kk8+IN9^}Q$Xk_qAsGL>ox7^?+tUKf`RM&k zC7oxG6aCug%#0Gq(Jw_p_`WwAC(t}T-$>ne+80Q5F0s0QMzcQq#!=rQ%8^aE?m&T{ z^ZLxqno#IvwaqE$4HQma@L|}oKqy$`OMK^pQW zeIGB{f%ikD?51JU@%?t)($$(u>mm2+m1K)q$8V3r@OyvSb#zCQEmC(q%a44J>F22W29}1pd_$s3@2?}BktPaYPgZy`Q6cU0f zAb-KM7bV}uLB4*+_U0$rkoT>pbXfBy$UB!3ZF(`4#$uYs#|Nq7&^~-Wp6E1EU1#bO zO?_8Wj@y(Apul8lLc!4ve0)mFe_H+s3MWpIw_PC%1>Y17=|rrAf=!jVof0NcpzrYT zl=mITzhmE!jGyn#U%DCnI2H%_-dz*z7vemUFVs~rrqQ0}|Eo)5`)*0GIzB_GZY1@= z=PU8GWI0xhWw~l?p}>Zjt01)o3OWy~e%gnRLsd^ffed~wLCkcZ?0pIp)Ne3Z?;nJ> zS3&7)7vA2{8_Opz84LOMTOJ#=e1!bH$=O?$y@34E;Z6_z*3r0+=J9b$>bhv(6snU) zb+f6@QtI1EIq-7{gzE$TK9SQ@wc7y&?b?D}CL5t}OmyaD+ow<{tE+mbOc4qm7oWa# zu^kFFq-!nyi2FUNPm6mTgaVaZ9n+h8A^)4|yOmYd`1z16PnPXgp;4da@o`M*PSC#7 zROdCTdr6G?Or^g4l;bJo`UM5a7DIUa1NbY<|jTT8BSR z(ua>LqLWT_|MLl;zW6##IPm96xcZ=A6*pQ|2J5_*9ImYJ4cA@nHdsFc@9*q(MgpJj zLlvc;cjNulzDsqC8UB1utW3}Ujlaj&zO8(s^biU%eRt@Jm_b3pc-@wduV};^B#*gC z-6h(G&o`ojzpseyOX_oj`r_wc202Ekuw27uLBRq0+nZHHq2Obeq4OAg9E{7~Wivhp z3MUn>TG%oL@As^CPOqAw;7_RHccg>2@5SITJizvq-%4GlrH_t3MfY$*o__c1UkHkJG)X)#i zwfY2wdYqqa*YS2ueK|$p&w40SK4L2xC5zAh)FF0FuK2vOHM!~P2L*5QUytPB{o671 zjmhMBG~(?bdHgw&I#=44NOcUU?q%xpk@|k29NQ_^IVkAzl-8fu4TZy+{O zq_?==GHQ0hBK*B$Ek5sa2-Y=UBEntLi1lXg_s9c$J(#>j)xi_{skFW`w85W`s&&vG zZyHT$UXIqyrhT`l&Tp!_m--k`Uv0{PkB31nC)_WrlQhZi8s6X4qeNZLL80+|nf2AR zP&ij#5C(YryubO|p6Y=@zhB+P?*NMcS!@EU-=8hRSqkL!b0yg6Fl(uOkSaymli&MvIIM(zrp8W251$Q zouLu?kUZ8Qbth;aKJJJP-fu)Vnfk<1U(8K7unyrW{qH@HfAQZQ__qiC?SX%L;NKqj zw+H_1fq#48-yZn42mbAW|LZ-#WK4Oos>U{$Nx1xK;(qDNO!W7&6SIeiGZDYm<9{jD z&4m5d9j!8KG80;CWL37um2dhk`{Lx!uZ(x!MDulGhG zUN@5DAJMuSw9lIA%%Zw+tdEZl_4QymWDF?RB__4QuCQHuC&SCG4zR)N&Beu7Cg`s% zW}=66Ef}S7f{Ca#zT4e!k_jJ`I41G?T_*JXhV9qqjbTDHrX`z&;&lQmJLZ*sRAE9w z_1wi4R?=8O^J=ti0_{_wIv-ixMj6&;!Z7Olk#hL4TvJCdf_*mXFC2Op-j8qVW0W14 zgzg9n)p<*pnD-~2w1kdhqN3g6?oZ#vM3n278Y%8!!hQP;YV`5;&(G5=wA;yqcJFZc zeKw5=t+`#MZ7lM?Nb)JPZWrxyr#e?yUA>{yXCd_+pd4FRE=O;M?>R7J!+tG>_jK&L z?3@B7NpN%CuLc<=Zr?0^V0r-)BmA&gFvpOIQe6|$dZCPoxM0%Ot~#9wZ#6m4lDdNl zw=~Otarhh))|)(8ZW;G)Wb+qj9o|0DXGe7!sBRhc`9gh{QI5Nm3y)KrBWAXZV0dLp zHcdm5m}ITX(Tn@$F$p8iPivV|#l+4RY*f1=%0#aS&2*Wo&O}Xe_`IO@JrgTE5i02lcPEus>@@29CWB}Ddo6Ixl)+qXJbx_ z_~7Hu_odOLDt9J1@}TG*p&}-6@_{jKoE1#md9#(7S{_VH`@<^zcXycR`KeFRPJdyd zvW#SBJ}zM*AC#e;4;q=srA`Zmb~Vx1O!Jp$T{YWxW;E6LKy^>DK4>iUZJ`_oST5fY zOmbGBqeb~?hNt>VQdRgTlU#K6%Ep{uOyUob=|PL6nD{3(b5H#2X5vQepQTr!!Ni+tbR`ViIeVs(G{QlDbh zH`kHn5b7ta5ZLZTC*+_ zKXq5f72C5+Z2N%+`;AqYn0E(~KE8=yVw^2+-B1{hk0;}DE%`PYJ80gD)@9Q^W2*Ct z>aL|eU#RbGmSds>%f$(1lE;R$RG$xLl5ezbQVLkYB-iLW{N6u{NtR5#Jh!BoNnBl+ z65wgWB&d5!G~B$-#C=$m^bTJqKQb@ZyP0}oyG;5wtbEjEz9YZQZ#tbP# zWGE!9BvdpZMIn_$D3vM6ySw-Pd)^Q4*Z14=Y5n%v*SfCj?0Yz;&e`iu7ofTasE?1- z*Byp4!Ox;JdK1IB){`^o8i(QJ863X%&W+)$**mrMpQVhCqP2+u{~gBbyTE`RZv*4` zcBSO`^81YEGy%@}uzQS0f|tOfD`yxFwN1T8S4hyfj^-OFu8r0WP#!PBDZW%PA3?j2UoXv_AlANaO||_ZA;Q%eD3h=DGnRYcwhM_P;K^| z@hZzdav;M3e30@#BgrjN{m>(m*GVFwzryGU^uhiiCmdf$oQC* zNi9h_z<8$!CHh(@GG1>tt*$!4FkS&GPW((NX1vx8>Y6>Rq7lCiHs3~ZinPv%@^n*P zyiTkRK8~y|UMJSab?U2{;m9V;D_T8);hb>z+MT7%aPDl~qMCD?;T&1_eai{Fo`y`; z(6mIx=e_k5TZwqaXMK~C#{o0O`|>@Rx=mq>x6$^53jz-rZ;6WjQyTR&_L02c7>Y}v zb-tA6GUd&qI(Xe!UF?_jkwkr2Gn@_YOvYSX!EkZ{I-ai_W;j(RD8_Xv&K5v#Zuem;h@$q^&w#!Y6@tKpS@~j}2@$MI_WTZN1yhrl^ z6sJn-unx@u2xo2(MF@|%w!Y98GuX97M|FrIv45xbO zt@nqX23EJpPS}$l!UP_ zHfGX%0>$C;g{{Nu!SbY2UVOi0b^58U2KCWNec|&UDta-$H1-Sj`6Y+eGo1FoZ7v%4 zxOVh(`*`E~O!a#Cb7mhHPVNiAL&i%OPKZ0 z`Zop)zs2vvzaLn9e~H(3V8PlaBA@X4O}l4JxEI5@7v9)^1g}G0;k13a&+vWqA_}y} z??-84%D78Mlenav=0hm1j@Cs}o-^iMw@yp8dlac-xl%Vx$`Xi-Ms0(_nSRGT(76ThyH z1MhSD@p0)CJ^gk-j>btekJpvOjiz;JlxH{P-A{CMrczxV^)Z?H!skKF!v-bCF$|~I z!Zzu+B*u66A6Sn+hbeE;uMrzye08~-#A5~-U&D6}i%-8|eD!2kT7D>Cd^ZfNx0>X@ z_^!Khu_A3RpVJ)ZE!P9i$u(}}L?Z0ZAFKdi5X45#U$ z?$pmu@$1wQQN0z$_%0h~|4?)b<7+!bUjN`T#y2|hs6Y(nPkr=H)J9vzH~o(CA`NxRhFCtQ3i3r~qMEEZwqPGDN{ga6J(m=$Q8@Mi7SymNo z3EmQZyJf|Uz~Mt`acS6fu&z(sFQ-)qW=Hp1Dh~e!lccoJ(0hZRXF4TdFYgj)q-ajr zGk{?29c9t^j~qbOvC}nCDMW?2{a}^jDRV@|!-&i$B7#>#q&^D~zHf--|09fu-U~$Z zUm)Tu4G~{C;JJO*mhyYf;4AK=p_sT0oV&*5NT%C?gW1*Y$vbnwTCLS-KJF)HHZFJN z>%G6gINPhp>9Zwl%sR__Rd5Ei0+Cw}hVOuU#A>$_ACIZ%7miJ~G*m_G_|s%W=HDZN zk3^*291?oXB-X?0DD?k@*FL;Ye8krU@J;{b zS5HPBP4>v;{1H{}~Gzg+-Z$5$F#E=>jVReWEcJLiM( znZeOjou;5Yy?U8TjU}wEA6@>ctVzX&S=Eyuvki?2Q#McwNKXAm?3GnNUuP-nxfWVsxxh;0Zz!BSdf2=PT$6~ zrsd88`wX!?s@~7QN=Z>sxFQEOznfcd(PahbPOaK@vh^sed03HVy7P(3_BHeSdpbuU zcD#E!V&~tiMFby?Nc|^7_=XVS*GELJ4iSCa4}kUc5wX7PaX%)hitZ?x zii*e@P|3P)IqG7kid*uez{dmfh#lweMC^RjF+}h&h}3r?!gmm{{7Xd*N?i1W)Zg=ac zAlMnl|Cx;UC7Sam#F*?)1;f+}HV>Ye0@6>}aPv#F3MYt}BN+D?vE%-Oh@Ee=LoEKl z6h!Ks5#if}SbiSvH^J)RebyuT0g{OLszb!rNeGfu+jIQ+b_nU*WuRe^2L2kk^{pW< zfa9+(YP!e;_jOw&o>I9VoUJvQ!;%BQK0!{lipPM(i~Q+l1HXas*x!fM#|eX4SE1&m z*`HMcAi=OW@O9}!<4A?Q1L zG=%%AaqrxS+K#V}0P&_*-ui>!tA3$jmsS;c4%Z&Pr+)@qu3TLblvxc9rx^Q%nnPff z_S(@7@5?e-`Tke6a4o2dUVFPqc%e#2)?q=pw&jQ&PcA_0{N#Oz#djzmwqDB~v3!SA z5X*0{5V3mN!id#3&_t}SON$We%VjDA7th#XnA;1XDX(&b62c(hrJ72+j~@8`nLg_^ z?tkfR^SOGf;Z|_{ctC8fCj*Y>mtKFK_#Ld5)>ki@up2h(CR*=MmVpf`zNFh~98iha z)2Q>oy$!KrEg!_rufg~65&Xn(#MUQq5aBCDgue?By=#c*pFpgyvj&Lx>VObGY0bK8 z`1jdbLY4xL#ULp(-7;cKnoFHNx+@!Ki_u@KZJezRJ<-!0fLm;kDs;Yg1>>TQ0uNd;J76T zD$S7r56QhEuO=Jt%fk@MH&GoC{y4zDzI6F9*ccdADUBT|UF~&u( zb!DY?g}pdvE$n1OJ6@^8rJnkAU(yS)<99KLop<0M7H{H$*!pz5Uv`A=#}Y*N@qYXf zJ$XGu^waQpIpXUCVto}TL#RXUz-VVnh|qTT+p8rC!2w(Nf_y6=Aktv%-o?4#8*eAI zqcaq|W*?gVPD2=66#2YXjGqDa7Plm%_SS*fG}{?9;sDy??yt}f4N{4(bmJT7JcZbC zgc)Mz=d496K5Z`|^{t5TwIRa)39)*z^AM}=r-g{G7DRlVgfPJkV#iW4A>w1R?CsNd zzrhs8v#|o}A#hrz<0ITJ%x`kByYQ-9@SgH{QSI?=a24PR3%ptl_CKC>Lq`Xgb$8i) z4t@*T9TkrbT~ky^coV3w@dgL6^$dxGxCHe;ToRD?Aaae@h$@Ump)-K$Ql$_5fBRCyx-L7eTCmFB`E~cqq-q;N z{vF?J`Y5$(@4sVq{@*^;q+adsyb8%U{NUZ=tI;gfus_p)F=YMDl|CJ&6a$R2H7y&8}i`#L31wH3;bLT0if}Z)?HaXnC_3xOS_n`O? zT95Z>vwR_hf2KIq)1>;r)K>)cRSk9t`gVzKv%n=rjN^Mw1FS+f*xd>50}E+x^UH;N zVAl4?qT#kZn2Fl|(W}1=TX~l&bT;Y1)+NdAHor??OZUa-qs^6g|M=H(-DN!3QuOuJ zVBIhsr_lKdiU(S+Pxu~>r~K!so&nL1Fr&UKsjoBOyyvR?7X3)@GUlk~rRRd<+`44> z!`QuUVx28T&MiOe%vSd;1%A)`CxrP zp!Lb`4`7}7DxK4_ijLpYc?pUip!IJkUjX43pF{OjseUQ-^_=+1SOlIvxUu#+A>6Ok zDa&aq2V76)e_7zZ8=Qm9rsfv!2B#$xxOX`*uzhpBbaK{Da4a>}4inu0j+Rk#CyfpV z$C(SieHrTq4!wKTmgDyUhxQ@;8H%2CJc-WxP<#ZfPa=FL@bem2{xYi9MD@F4RgH5fcy03&Vw%1;Kr9}u?(-fE2C(r zIIa|2imeyyUugm^+wH_n3UQz072n^_wk`t~sial;V^-2J#gzG_^?3#Oznm#;D5wuX(P4MX*WtdjZH~XIx-EedQ_;0-aVGdIFkigG z<{)@Ad>W9p=mXCWGxLfco&!%!@v-}Vn1e^7|A$F(^5AiBckG3fB=CqEZ_wwD`vkM& z1UfHA@%XtiY<&^ovqY5t8`Z0$`bViR{5gKamx?O{9a3)C+P4w7{E^Mdiuid2IfIol zu2tZ_>Zah12O;41k96pQId0(VoOW*7O57i~83h!4^~KLKD6??#X$8*eLHX57@#p`k z|Ae2gsshfa+OypO3+cF$&f`ACEWVxAhf%&7%72XN6%u`XT@zpDsjqzC8t}jIePsk; zQKyAXN`fKStvsXn;3^307E1Iw)dv9;>C-I@ao^+K$vTra4}rf?ce?%P<>2>v)|h)g z-M}yH;DfT50Pu4T`x;9F zR4@DPA7>j|IsuGDa%++_%xKaS+^~eP0y%AUMz@=B_J(;Pw0Z4f_)zc!}Xj$Ma|D81Ga4-#m-Q zeQnu#+}D@o!}~}__}dZH>!kXA#MkO*>I?4!I`cZfQ8)&6#3oy`y~q2%4!foVR2_gw z(HGAy&%6)ewSJPf&g4MY0~x2h8Ji*WXZMEUop&MB{xdhbZ5X&eFMi?N!+nv9yOvb1 z8w74{UyMqgEFJ%E{yV|93(|VL-;w3R{cKtO9-=o3?|U23e~A0PvcB+sAJ!M%H!|4Q zqAYtKVk$qV9Vx{7NfxUZzD*wm(XKWpn}jSODz;>6_eH#q&i7K&h10VjBJ-)^KdGl7 z{D*r_bK?XEPaabco#_MN+RcZ;?rT8!O3ztRdavjh?{8%1y(u2=LuKnrD4zr6e@OKb zsXpGfGvaHB2=R4Y6JiZ_7o<7IK-{!T`=wW(g_t-8|DM$cVaGiyk2`V=c>j{j1P_(@ z5S_{`%H-hvPV>x4KjU?YI#=>X z7^1HP%-s1J?1xWsrxssMc^j#d?T+7Cj4kKSQkMo~+WTO%PK%e9~&X7~Ze3X6X73 zyf044HUDd4KE#MvX!NS!eK2F@SXze8`FH%kc^02d>+yPw@QI8g{9oo0z15?reh~3B zZxi+P2og=Dgby2@fTS@R%?>`Pkg)%0LF?%@h<|w_&MVIq;#Z}fXmHpEaVKwYczJpz z#4WiaP`l?P#MXsBYRM3V*i_fc7u4}_a*w~ydy8L>^`G?QY$ZDGq4UovUYyqVP(B^X zf1m0dCHmQmsjorm>jxy|RWz&FkA-CGsHjtQS&-Nty2(;&6eOywj4Ra}goN~>nWV=ysnQkZkliYrMHBBpr@d zKl<(vBo1t}YERq*i4K*&@;%}pp?h5K2gL?R*d129Ej$1c^u?m}zhFHXEdzMd1_@$r zwj1aCL&xvwdZxp}cIA7bM-^cJRs6?~r6L81jC193=MX`y6SS2#NUzZUmw_ zNK6h%O`jFrb`Hf}%NHIEYk<_77q#$*EiM6mlTCwwW z|L>){kbIh%z4L{5Brk4nw9~_gMm3t(pg0{;H|YT7xl4HOMiHH&MO4>;_}FMqebu2T zKGWtT(MsfQ*Ly|eq9L*skmJdO#UV4tdppcTnvu!yJI(St4ai7GPFMy%?@F&%jB~Yl z6w*yT=2qETg*Hy!^g&uI3h7wxmoXXNM`Huc%Tt^ose2(ydDal#G8dvVZ6($1p*~89 zubEmX@=v&)wN)+(l+5qh@L&gW5A@CXqw^6tUU6tru;@XyLwxe~Ic3Poa_pn_fC67rBK_d26p*F$3y%?A$q?RLH=<*S zpEEY1yAk*0V|_FdU)vN=q{anj;ktel^4?Lx?d^EvH+n-xkt82}-dCH>)^!t+^X3(@ z=WpWYCoVLLD-}F|?8gs1S%AJFTVrSOQoUAWeY{!7_Ie zClt4W);*y-VU#zO=#;D>x)%kAk8!h!uR;|R{$TS02Ujl?Ry5A(QvFR7T;}2S(@hEa zKRUB8YW6q8sZf1iyx=(UGB%xnxA`J>hrCIP;slYadrf)I(*oq8&~$3wX58ocxVqt{ z$GATo8}HHl0*c#9>SFsS&lAdv`J1h3n=|*)**Ng)dqmp_q_~ zxLXvTiw)p@j^CM$?#{TM>WpnYt$8OA=bhr-S=u$o`(ji!_-Z3h-rW`Xbrr}%X`Wc) z6#Tr*^iy5NO)qJDO!E~KmrLsy%JYiyKBhYFsjfZokvNt3n(l$Zehf-%y54}o%~ngS zn3sq`opi)gqmQ8AQ|YU?R5TB6!NKc_xt@FC@8zeE|#Z^0`dkU;(KwQ(}f)o6V|5VKF;qJ zhywO&!SpOr{)v3~Kb~!FpF`tpn#cX8S=?n>mqvLmQr>W)b6_6T{X%>=nh;;Ub|Mp4~#>f=52 zRe-`u8{esW7NhXkxO*QqzCq!F5AvSR{D?ve^<$#1ok83=?ST?*$tXCjQttio#VAPo z*ZEG_W)x`99OZG$1_hkEb>u(??oVowH}CqcQ#78Xc`J%Dq;;K?$C~oiQXTyN$r0UI zs>Fw`4e{l*4uv%}E3TiVgu>H)TF2e*M&X8Mp3T3t9EF+vs66)Z1qz)sROZY6CsEu>TIWM~Gzf2- zGSR``rxV=>;^Toa^>rPE4R2IF*)5F1bC(Xk9p#F`_uOa=-r$eIUb!CF<{W}TTjo2N z{M?MVRWhDm@%J1dPXq5fnY9pwh}2dKiHt_Udz?-yZU2RW^<5{p2i&ExjOK?ZZXB&s zqC9?-_ZZc=Ms+V!A9d819}1Uqk=p+jukYRLvf#b=_*X4^D_QUyg`2z___kIKg{2-| zH}&dK6ng!h{71Xvi2J#VFQZooarM5LcnmE^Aup}22WnhKA*XBVvL@sI&$BUs=Fd`` zCas%Bd1@$cFV(^8GNN0E?<=g2e&VZhDGGOZ<@C968VY}_GpLq35k&}^%>Q}Q422gT z+^@Ps28Am`Sa@`w!F*BfKKgf1X#aKfcgMD&P~X0l=I!<a;%=TMbc! zl&3J`#6jVYgx+twUx>o3Jb6D)pGIL__0oA;HlVNsb&L8KI~0c0hFk0KdWaitw_Nv! zL=}AhV)HE&x1H9xQ=S&W`v9*8t8=W)ffbW})yWuZKUs@CC%Q+(h>r^!sIPk{Vl32bedU89oca1p zIj2!X$&9t*Y!0A^p6@oJtzV#s!L{?p>f`n8INkmra0QAe);?@7`#Xx*V^FUB#ScZe z{rOsSXg-SAB4%@0;sc425;Sj0aY>|Zjw0p3>oLM>z)y5+W>Vb;)JHA#Rf;0yMVj|b zi$oE-YWF){twfOmM`|<9sG!L0x$WlZw@~Eq=ZP}Q@1w{o2?os%?{eSD?9N>Id_ zErzdb;!(trsJGkg&!I@&_tUH&X`{%`e6x2=`+%ahecz$^!wyBIakrR#IE11OTdbS* zGYv)Yri`{ctcRik9P-3Xol%sNmBQ_^N*Z6#{56WhpNB{424_rHf~t5e+@ z)JHS*bq3;?RYDVYltbu4+eP~;svsb6l%h?OAaK^M+~wF(gP()CreXI@OK^O>{GGh_cd)1n)z3x}?Qjw{z?+9U?#C7Omabqo-RHHhRL5y534 zQa25;JSowL@Xkg=#{v=E4~X~(Ld2IZxOzH1yrY!@fo4Zz!~XPxf3U;>(a2Na!?_lF zWQrfSEpi<`J^KbYo>*p?Y~=#hoV`}J&YS?#kl*K=`R9U;^shEaRd-n4^|ozA`EJC< z`*{7>{4GRq%MhuwA1n)g z(v$D|O^!TrfuU1>yotVXP_^s}&5AymY6y&G&jY;BS=um?X^G~rjamM++5 zU(vM5xCwU7eSEz=X<+sC)VLM>WAN|0;yg5O) z5E~;VA~r9mg$V8^{+$=DYtun2&zD$4c%LDn(~gL)86rM(5bJC0L0B4fzCMkA9_WAH zoby!VIo`T3uA{`R46N=iefD8O)xmj$53Q0Gm}?tq#q23VLH!JAYSd z1+~HGH!cg@K<3tp-n_m!h>bsSU*M6vi~(YCYeW!RC#sKFp6m;V@FpRm(~gMlZN&P( zpDRav?HzgpGvC@sPs@A*>RvamIUhO*MvbYWe_zQMdR&YOaX* zZA&gH->WQbyjywb%w}p}4F3kbW{r$;O8$&?t znpDc!Rvl2}5B_w;WdPP*%{ ztgc5ZVtuSr1J;)h<~!3pad2EI60Wx$4z-Me1!^z3Z4$kpJVj!8%}04qi&UPnpMM)L z9dS!y*PDXc{{HDJghOC$;QRJhcZ)&(OGntYIj>=+uAYP088^hn8-9q*ON%2G_n;Ax zx)#LpC?7&BuV4pabv{cXR#!9?SRd}u!1|gLjpiqAzh<;(9+J^|@AEyNRrPBg_x{PN ze6Y~1BjHI)7AW*N1{|!*2j%eQQ37@KpuDMAd2Tl!tdh%);#;)>qh}mq^EsY~#VHLSQfG)*p8NkGmbbwiu{y1#B_q10`1pYJ!Lgxx#|;_|EAsha{#`!D!ZJHpCVDom<0S4|eQC>9jm3N* z=h(V8)b%n*cQoyJ_%#V8j!#wL>c2*84Aev;`9}g8h{bsaBew1z4q|zBnj@CC2C0td ztW4qqR@c=ISRbP<0qg769VFw_<2=V^9#Sxgy0F)SgO=~kjNi8>8qGblOFl6(x}-m< z>vX#S?t}bukf)on0~R!!7^O8D!veXi(Mx%?Fz0}w*OXCTU=&aFcUIIbtzTCeNn}dRM(e1!2OfA zUl^r34fm}+mGyn%K08%5w!TGd{vTJw;u_{5wobuLb%f{pRt83R?|di)R%cZdu(~bs z!1}ne7g%3Q?9hT#L;3H5rD&Dav%$WCD75PEdWC~^y=d9NGQsRddo<5?{H3&uc8G69 za=Vc`U&){QOGOHOqhO-h4x#*&078m)zFsf3E$KVrAUh%0MwN}{)exJ1KLxQkeLhvT zZd)|4Jg?^g%X_>PSe@EG!0JA&2iC_;HDG-SsUa!*V#$Bhv(QS9T!}zaBcyP3Nj0}1 z6)j(vQo3aw?q7{I7?@dsy@r?(ha!6U-EsoFDh1vF8SFid@ZMeDS4}N zCS~j+HPw+QH0FfrNIsW|R%LNPr6nVEfntAPgy-`@+}C`BchefTTT)`vOn z$3Eg~qa6~fka!^?3`p*J_F&RrB$BtvDqoXmgk+1fVy8uMK2e);9U=Zuq9-a!fY`xRV?U0c2r*r$nU^DGLX3sKU0o)E9p64@Y4bkeeuUx& zPgS_UjyQ28>%F+2qVq<(z?nZ`hZ&5r+C2Z?$mVgMNfw9ub+UC%gl8w_XL+Nk&St7> zNPRR?U#DU3ByYzzF`AGfTo|}<>1BwobINQDsDU{D7(+3=75MwV-7UP~TM#SAY)y#3 zed@A?cFic0h8P=T^)iuZ5VOjd_er`P_pKfLrKpYjV6qYS*JJZ-6o>o!(K^C&oAM4( z9Y3NQC{BFHiBexY*uyI?>wGN^ygz0Yx9~oh#KE-pKOY`|`0nx-ruA1Kt~&UN@S%?o zH^sH=g5_Pz+xPrHDvoOpc^vV~g4j`4+@K!of4HzSJ{$KZWF!8*oXt<9xFfW#g7UNx z-or9f=PT9iAU?vSsISwo>uBS?SutU-Gg%=!1^>PwIo>uS_NM_PZZ_v^p4tNOKRtvp z4V55%X5lKWch4a%LLpjr*=2~EAt|;jk^`|%73WWfY>2(quZg;T{2ST)af)-Nb@+Qt zmggts^(8tYGF0~*_3@GV8it+g%#Z(0?S`FUGXLz4OM{f4#LmKFLXZ@CfAQ?Q`1`*J zy;D^dXF$T_Ye%ahc@S^+Fzm)Jd|cjtzd8l)>xn!5U~gux0>p(2O>P)#M56)CFQ+){ zXQXau4COgbd8>&|`2wozNPNVPA-?wd15Yzx>b{FJVW-0Ug>K6)K+3Q7yB1dzA=%>a zgo5lYNc>SJDv$epCiLwP^W5VJ39H}AEUHt4_<~}OO)}>oe*50xvY%+m*u z{8K5(d0`hM6_1xaFC+ztw~~Es2!4WuAz|r;%`YJ#FuCNZXcHvNlO1<^W+B9XyInq2 zK;UmA`CAnCiq`cIo>9V-*M{iGs1x0W#l*+9g~ZoGX-HXpy~iV27xE{J&-iv zveeCL8Axp3U#fI{9gXX0em=#e(>gBYks-Y8IF9I?5TUxE)JGHXB{d$Bn}xOV#u-A& zkIjO+4JHFmOR2w6YZmYXN)5LwOF&9+km=lYH5g}eAI;tg$p$;Z@9+8oNv(WYzSr=1 zw9hwmgF`VSab!gET_b6Xr+J{biKK3~Fy(nncvZ$x9UH1^Lw&eYUw0w-L(ly`0jiMF zp|e`u9$z;q!UDyz?|?T;KwVf8`@Z-}ccryFq%3>y`KfC%Bo}I!f14N!$y+9$Ul!W| z$s%qW8dN(Wskf4Q$rqmoYK08#=}TEt#r-pRi{E^a&t$+s6u zZ+nZ+-`L>a*Pq^kWM?VS*Y*80exvy^ic6$*`2NN67*SqDs`H2Fo*6}abVyKNe)v3i z`1FCvAxL?d{h!TwlYN2>FI>ef*o7StC$ z53FT=(s_Ly7|5xAGguY1~Qk#uSJ1Y+WDav7o#+s7?yieL;P^A-*Qh zg_K>Uu7$JbL(12oJEDJX0Z*y-a)rb^;B8biF5^W5Px1VU(@!;kCu}*oC>)=UZ}Kft zr2-)3=7leP`hk#g#9_4KsD8{dssBRm*MB3MAD}n~S{Fxo_EO$Rs&kC$Dp4Q5sW1FG zZ%?WAm)!)sad!Mq8}0&+xf3sa`YrIxW?Wb}ClGi>UN?sqjRoEsJLzk^`2Ide;q9M3 z9pLdD`6sOlpO4+QXRfLggOt{zn?CA9(ilVY`1)jVaF;|n*1>lwPx3ty-6GEY`1R{>AWlE1_ON6yaj)=EL(9WAc$t5^xVVoQ|?j#%%Zr2ppc_v$1 zCdg5#GEQ+7<9Gk=l#(levz=@9SjN4{I z>(8E*jO&^5S9_GQ7}w1b%ELkm|3)@{oZ=qPIupt>neygS9Yd-)A2S ztQ45gjgfo{Adv|;%vBH$t7rVC_nPcpdYIvuJo>Tg0q%#X?9(4Vq{w)N>sKE+x`Xl9 z=p+>9jr+AGYHsUi<}>b#rG_VG#nKo>^Rp>#7p)7VJPhR>raBcwH+&5B@tpedVe@bx*v`&ojyrjGbsZJHuZ6H2gj3>T~ zY?-i~g$r+u_hmw#3tv;LU&jQWo?oK1^coXTvv|Rnlr+Y#X31OMxwsFY`jwvN+tQmaTh3c@hY(gb>xK zrMg4Z$3g0=iwRZkvERVAoCyuF-=(MG&4lRg&{aAp$pp46d#$=Tf${Hh>ew+jmhlTp zT{&L|_a}7w&J*h2#c(bvhku{RWjL!p&E!@}Fg`!4O@(8$X~f5m&5Ki90If@>JW-T) zE!C-^x*pWW6Y49M;cmU?;Uccdgiae1e86fE6OyylvvqAh6Lj8Zt>3diCZKhhdGI%e z@egt>y;iq|@pFCtzR33=<9lv?g2d@LjIaEXFGcTO;69jng@H~9G{(?8UUwEZm)7M_ z9)|LUP@NK@yH1b#*h77lGa+|c)D^YgFx(=gW3wI$G9fQ){JuJ-GQm1$wcUT%F@aZ) z6xik>CcsuMe)S@L#^3zfwuJ=`89)3Oy~!UZGk){OPyZk`oAK?mmO7WO`Ztoi1jS9I zb+?RfiRW$GM zFcUPm{6kf+E)&@K+WF#W7bZ|ZX^L1uFcYvfQGSZU6~_PV(!0&J%NhSX{%x(^_(~xDr|yN_he(ZxqpavX<&55+6g3)K?Z0GV4^Bn93-ID{i8)Wa(>$J9SEHq0m+A zKb5OBx`GJ~I+Zse;w}@E_%3RO=4mFd$fIb%$rvVZ&WY*$KfRcMt5dVK)U+@GkuFa% z`ySC)OY^TN&WG0RraZ-jH*z%986>*ns1G?y>I<*yEZ+4C0>>Hds1F}qXI{lVXGAU6 z$H)EH@qebiNMnLu8?WoRx|<1}e#50};VCA_&hl!_i(^dS{%a@eO|)9@c-eB9Je z=~r?-(b!M(3n?y&))i8oXO#CL)v2JmCy0+(!o-*0MEraKr?{ZJ15C)TX9KkhD0NcYtVIU3i{d<4aPrFBawPax$z&g!V~jib8%^N~P(4KpEHS5GZqo=f|Cr)V(mHL*qe^&d{-?8s>S|FRIn-A#6XJQ7-$FhIpPv#{ z@=4MRSLMg1f`_sUckUG#?{zzvkczb1=Oqs@A=a<_=gtdag1_#5uDzw42|kwN%x7lJ z1ltF48yw~_!RnLV@fEhvSVi-*D9(k})lr@!l(&WIcfWmddq|yv{61}fc?y< zlDqgEU&s2@56T-3FkH34g{4+@40m*|?D#$_CZupy+|!WxOo)@}jh!{ynUHyoYMo8D znBX4ywz2c{nBayY4>^}i8hL;71owc}Ia8kXlsB8|U_Dm1jQYUuW2~ z!ePFlModU%)u@c^ z224o681s%_-r9$yq+UIw&VNTh_5vY zOvu3c$p_DiGF2)0ReQ#8&E<~BUo~a8E9`%T zep<3 z*0ivT;fB9{!mqKI;kr*Za=jhSaBVYluX|6W5g$J`f12V}(>i>gV|nIL-v8;SQ(b%< zSsyjj7xs_RLsKO@@%xI@MQy%ehI{eA#<@;A7;Z~qi1xyX4EI~(?>*L940m{$%NfTW zhWq{Vtx|;V2i-D?VHLRkRZ!buvr7#3*<)E(K74;4iTnaI|Crz^`Dh(J&qsK+i&I{_ zUaXD|)y*V6_@$^X{Q3+&Id2)#XSk6}VC4p^^ROi-?A&iAbh=H0ig7Iys(E;S-IRVN z)Y^RVm(-JT9mSBte|-w!R3#ob%B&e Xn)3c3IwttIjOdpmIil87OsKdYvFak5<%up>fd+)vX-g}F^i*@a5 z@2k7IYp?%vZgPhrpfk(&Jp22Wd7gKYoSVEkImyjU?#<0@+s-Aog@r|4Kp{XGfMu9c zEmOT9T6^5sKPOX=?h|5tx+iT?D%7FEK#NmQ(~m! zfI=)R3kVApA|ZJZF`Z1WH1M>jiy+sl6p(Kkc~Q=xQX`F>z=PbyIFC%L)IpxY0pzhl zIpfizuv9u(V+dopQ^#wPLA<6sUSTmGwLoW48sw>DNM}(vtqkeX$3wcb@gn6ql%XvJ zUC?eaCd>yi!Imm@kOrbyVi@ZvOr?f8vgn3s00jVrLTnER4 zTObp8xu7tO+@Mki%d{Gm+8~S4=oDbHSmZ_=+z^3PEpmg`BA-EJ2*V8FC)hx*3U6d5(?l4o1u5FJ z4xo_G7NbHmJTm5u5P$i>gSx`+(FFJ_s0>KS5W*N2Z6f|q2L${IOW@BE;%jvpEw&Xg zF4`9TdD%H3=$FT}9Y|POF?~%47gX!N%MW!De;Bto3ly#kt|i1zogc>iQGQ~2dx%?5 z|9yVg4#Z#T{5pcr65^-M599u9em)R4f1n0hN3=kXHpwIS*dOR#0Cj?2VXS->H%1U- z5x2wwh=F!T^J2Te`WNd+)UA-rMHLq2Ef0%ejRfN$C;q@MddpvhFxoUVmuUZ=Pg*{OTIu&q|1& zHh1+726yocJjuUmoepmcqIu91GF9oh;sy;ibxC)HRd9m}wxY$>S zKjf{;0`^m-eyoNt9u4sp1!XfsDaT_wPV@GhsxMJCO|0Bdm#p`HD z6<5^v7sg|ZEAk!(i4~q$IB4M4Ic$?9czm?AQ14lv_u~2Bh-E4gDG!6QmGNOChaW~j zo=p0wM>F79nsjIo`28T=i*pdCh@ihvnf&U_(v=h#QqHR%^j%_C=Y(bWMJR*FX{QWG zR}M?gjSlo{`CGH_8}S&!#qzTL z2TU(B$O9mZb%w?i?GIj|-Iqd-g@qLD3uBNVjZCKugsYey!k7k+<2X+Ifoutu3w~`d zA8bGPLpL=<8FFCzN_{MK8u2*Bw;(%b;%}Dd3PO~h;BwKu*hKgd(Y?lxi|!qkl8Eko z9$$1H1qnYQx=(p}(S3dze`kp3zT|wO`-;aG-M=}%=)UIZMfWYwPjugNKGFTa`9${< z=M&w}oKJMWaz5_1W^@*!o2mUSa^7n^zdI};NpF|*c1U0D^yN%nuJq+dr+1E?-0tby zPx|(fzI~)`59#VZr`~zH&S{@$h*{tDk2&W%v&;V{=Mn2gQvSvBUv$MIIbqf>{Ky{P zjWfjY#=p%KujBuA_ZqW1`M0}wSj#Yu7yqqcah&#Vcg1n_zugtbx&L-ooQM3|U2&f9 zFL%Z3z<<>Z&=?FF;qlae(*inGaERf*S#+V)295SVTzU(OFlEqxx%w?~&i|bA|G(S; z{MXO_|8m{ulwGg@K7$dTz2I|7d^Ut@0q_|__&iB`Muh95$^yy($^$9@Dgr72Dg&wjssbc{YJlp18i1OBT7cSsI)J)>dVuz*4|6z;eI}z)HX>z-qu6z*@jM zzQ&H~N>&I2w0E&?tAeg#|xTmf7KTmxJO+yLAJ{06uMxDB`ixC^)k zxDR*$cnEj|cnrt|$PLH?$jkltz|GHP=q~`UJB>+bN%FvH?Y6(CY`q55K0F?K%KZhJLhNM*zyu zkG69KpbY(JyG{UGhJLhDFD^qr z+R2y8(2sWV<1+N4oqBT_`q55(xD5Shr@mZogx7!LqFOn3V<^7qn)AwC__KmDF%Qt^rM|(0VqR1+Gzj)W#~sc4FsSJ z{b;8_0Fdse z#%1V7J5A>@^rM|-a2fj1PBXa-{b;9IT!wzM(`+t7KiX*ym!Ti+G?&ZJk9L~JW#~sc z&F3=oqn#E2P=DoNAAoW{+HOApW#~uS9RTd- zeze^|0LsvhwmSqs8T!$7hXE)olXEy zhJLiuNdU^wk9Il*KpFbcPNxAVLqFQ-3;<>5M>{10P=Y8T!#q z*8wO)KicUA0A=V$JKY4J4E<=Q-vB5>KicUQ0A=V$JKYAL4E<=QI{=iSAMJD(aEJTR zPWJ#PLqFQ-J^*FtM>{1kf5F1+)RQ1+)XS2e<$_06GF(0i6Jy0bKxYfUW>{fCr!(pgX`5;05Rb@CNh* z_yBqVd;xxd-he)Uz5p4(A0P(=00IFDfD#Y{2nK`zRDgbfP(T3`U@2f3U^!p~ zU?pG`U^QS3U@c%BU_D?1U?X4?U^8F~U@Kr7U^`$3U?*S~U^ie7U@u@FfCBad4gd}U z4gn4WjsT7VjscDXashG!@&NJz@&WP#3IHqt1p$Qsg#lK8B7mZRVu0d+UjQWlB>|-X z$d{c!&bk06fCoSUz*v_$SE(Bm1 zu&#av$cJ{pdc``$`oy}#dc-=!`op@zJj(*g11bV41F8b50crqh0qOuyFGPI+0eAsa z06gdL99aRtHh2N>7;q7A3Ggf6GT;i}D&QL6I^YK2Cg3-~Ex>KS9l%|{J-~gy1HePT zBLH$@nXv2)0aAcBAQTV}mXl}gGTLWhGt?CRu4QgM@h;rSY?m|f-S&l(acuaEUiPsSgqLPoWG{1_jwSZDQX%KoMx)L}A}T>7Wd7u$Kom zkvjymXxglWot?6&T{C$aHVAmM_wo$0`8w z(CMI&NW5TIl$7#g_N`Vvh z#|YO7#9k3fiF=>{$}X|9b+m2f*u++-kMsopdtq$yu4-+BK?2)4C{r5zzo#UAeX>~> zi9{BmR`rii%H)A~8Vegiq?~{fiL*qiP;^&@2`9NeM5T3;tL4E;U1oYn;Dl8hbeb@D z{W(~lnu+_JC9Yk)rCs<=C7IEr$R!e$8g+|QWXMlEKe(LU|Za%GAnWXc&=7S^p>{F6}l}xUogdUd0!~RK{z)&Mi zimIm9GAD#r>ftJuLL~Z3FEZ|b09~w1U=(RmTsTvDc)9;nixDD8B$*J2l%^93+mmF@ zYC0iqyCSNSf$J>kAnoDl`O{_2_U`MabN<o0cQ!YWRf@|F%o8Z5iqrL$S9M4Bts3M zTHy7L?5Gh?1qrjP7H5gr2EMNs)FXXy7@<5suL+AVC}D3K*s}_@WD7LF=1;5IN&c|8E|laEX%ZV$!og*jbW6xzd+2RhUs^(GrDr_@mbR9U==&XKBLuEAF`Abt5#=@It!yp(hX;O_pjC5#2Q?JXII4D9bocyVX zL@y93ThupXRmwESSh|o9gDjJ#<1DdFli)`IMwmtSU~1>U2=#Ip)xhmoUY}xd(KWA9 z(h#O?-q}DHn_59LHH^^1EFb~~VKAf%gn|bJDRD}v5{CZ3X+pg)ZIDnrTNE-FVTTyC zG^ZWD;Y_`(sZ{tqtnFxP9-mR(Tf3WY2n5HI(l z4&Rjl3A5;4%{x=FIFpgk)VUsv9Q5u1{oq2!iiJ9-`kB)Xvm6vVOWLV)s=$yirJ+sR z?=1Gc0CmaYs%)MOv$%*Np=oa+qJ|2UJXpqiFbt>pnbUoV-2%I@nT8HEH2pHFR13GN z(lPO%Ikn8L%Fq|;RMFqv%P^MVgapi)H0!@lqPGLrmnU6*721=r>8pBG~# znQ&MHjX053NDRqnkPP|_OpH6_Cqtyy{ zWT;WY2Q#ql`Oow*c9!D?bLJ^o&gYTP)ERx2^LZpRby|_-d>#qCbaJ&`1-HUd+dfl2 z&gV5ccuc64!OeEKix?zVg^3k{uIaM?d0?PYD=@+bP2h=jv{J#pilQkaPKjqFOn%`Wn*OJ19Ea?TkQW#lP#RmB-mvjp zhDQOy7kS`|MRHwW2;6nYr2q<9m^?f{A(z1tA5<^nWmM^!IGa?YCk!)a#MW(kE%Rse za05)1LX)~u?39g~{rsF6G-Rs?v}`3u3KRF4t)Wf{3tEf?P2q(~Q8u!*PiLvjgE+#* zMRqc+mOX<@p<+JM+aU}La5|r+TQIgowMG{%6Po@{H9}Bam;(reyj%DOT!I~dFtb}g zVv$Ylu@wgB2h&?FC5)BQpouBX1_)K^6oT|Vp_c7_>LlSs&hmDoITtCVS|P(5Z|POz zVP}bHix4FerA`Nre&HgOaoJ7pZBk#BGB}|H8=7=3ry&dr*637*knoi9J4;vt&HQ9b zdjuY1rn+!K7afS7dC`R%pW&K*>ZK;cE3+zP0Tk-_&uj=SGJ6R#=);6cF{%4f1%u6S z{Q$d(sF#5ug{Ow%W!khZRw48?A=EIVp5MsG zY}hOdinND-5SDfG>#>m~l?U#@vc-&P(`6b;LnzbA14ChfW-2~thg$etVPK{N=?_RG zXu;?p_|{*9RspN!Qjt^b5TONEsWo;AV$n_S9Mr63D^!sgwjXRZ z4NU3}IU%Z-5u@1}X4blehHa{bnH85c8z{1!DW@J3S?H*7a`Ii3m@|_CLTuZ(pd|x7 z?6FPk95`Wy>Ir9x2?m4~5A84vJ_HpeG{S7FWLi1_l&Jn$_u><`@(iJ{B0PQz~O9REjXW$w& ze#{Ln%))&a@sbC{{rN`CG=vvyVDgwrfw5tmI=vNocp1Fn1J#iM?LQ=hBEvgB#x^5V zN+WHc(4(iR%uE9kb`26W{C@J|ED4LqG<60CfRNp`$ZYsvdiTW%Gn+%2VMC^224hXZ zl%_Wuu3=^a98*p^G^x>snRO7RcMiZLj~4Do!F{jqmm!+2p+E>XEQ}-0)U6QD6jSdX zvfDD5&Ph$L6k&oai`2{d$pdBL%^R&8-jXx3mW?xRcn1(kH32HQ8ZHLGN<)ZJXGU)W zggCZg@45uY^=Zyz^K6Lg98%wR2E9^#=GgFiLg7lyhj(~=h1*m=HQE#!wpb6rIt>iz zzH2Xu#1*R2%9PP~XBRJ_>?TbLr|CA- ztCjljAQ(NMDKn~NQ!k_J_I0MCb~9`U3ziJ{P4ARqruLaZsAqP|Xrv@mim788_^@(T zw}Q;56ye0n^v;brgz)li3{FYunFqp4NgDpHo$1%*)P&#l*XCTL*u4vOA46^s?w$%J z4NwN-&0f=sjQwgjykx49!`=Ju2N0$cMk;jyn)Fv=u}VzW@PFWudWSGgfIQ3t2S?fR zp50G8Qcs;FdzzkFB3_S0_XjKI%xQ;NuBk#o(^fnG57e?7T$|wja9Flfu~;+N=?d>w zz)VFCZ@Q=q*|3TePud^9TOrzoHA69^w@J~&SV$zyaxI4G*OY92i4rx;axI4Gb3KV9 z)4?X@2FqjEBXU>02DTW0$#8pP6?!SvaP2XgPw-$G90z~5sR16qpE))ZUQlPrzyCLj z5MRpA_>D(1HH-)gm4#~*5n&PE4@R6NjZB&bU>W(sgzt-s5_4)98a52O@KyShfvb_- zS<=8ye=+a+VK- z&9R|4-Aq?lvB)M>vIVAMD?(WM@BYncHtZfJ7)}FYcY{iqrZJjh!z^!_I!oYTkTR== zlJ*!DQL9nGh!w`g!Wyb{g@)mrNjv)pgiux)+@^uc-}i0NoOYP)>tOXE__QpO-ocz& z#zC<-!b$g%Cw2~|-WZoiVxT_^)@Pz3PJ9~JI;5@2EJFVyuamGX-?C+qsRgz}^M@iC zY(9sCIYSY&LdwrL6zL*7e&*v4&rEmj!<7HQp~!!6G-Y{ew#sjvUyl5bgMGD+&*t23EO-^QkkallH3rgG&?=n);wn9Mxp_ zjye*WcHia)({FP$%yR67gr?2{RO-O62!&Dxo3O$Dc(BePI79>YNW=#=rVrs(Y1{N^1tUzqyuqlV8H9X3pNW#Dw?lC^hfHo`m`*56zjYC?3SHPR zE=;9|N5i-mqFRG>4?$=;KVLBtiBP@p9Dr+@ZmMU-srNl0G{zvd2_;mG>6Mb@jVg1_ z6ut1uRc3nunq)uh$oS)61?({>JPp<8-GaK;%f{n%)kxyxE79g4?j-M!upBS-Y_Lf?9=7q(ob#Q4a#97a2QP zq1frESlDzz+*L;(5ukugmT-A@`e&J@H*B^KC+yP{5gq{d+{K<+)YtS&fUqr>47QAB zua${JqHDT_0ZM~Bb3UjPQep8Bz%y3ILtBIL8mjLLGVUQH8gx7=R8SJ-bx($Qnu0!-oYD=0<7^YMQ8$$5zQiiW|nNEl+8N-zFpzm}u*7DDfLxfsZ z!y+xcD$T9tv_&?F51I{}!q79|>wg)(y#V`)w0DvA=<>6>MGJ)N!k%WyoKZ>B-~PzB za#ImDHL1*~A+{F2d;)F=!qeQ~R67>JopvRxTu5`iW)+Y~bg?ql;mD&isv2iWudLF4 zcPtg5a4q<*woPw`Mh%U7NROXY{;xRVuRK<^z`PCvJ?xc(a4pr>ER)urX?qQZ6LSxiOAb zNcq8*;LLbR1&-W}mQ1l)S|6r_<;{9o`lq%crRfcu6Q=61L@vQKn=tJjt0|mj5vJTE zkip9(X?MvpeZUDt776iAhVZaD)pKxD&t)uImgBFV+%dpd)kuij=Vx*e#s08c4{5um z#soj|2!vS;=*+1UwnL-1&A&5JMB2(k6KEa-;Tm;1 zv+!9st5MNr*4EY*qTRTTX0?to1u>rX8y$h^NO6s zY7Em?VxW%j!8%yk4R<%;K^#t+Q{AF7PeXk47-4)y&CJ06!G`W$(k>a=Da{Z-Ue zksFN7nX`doo`(2LCS~W^Z2E*2JZFZjdGQOkxVA;y55%NKozf1oc;(o<-X;?EfP(P? zeDerb4Ti!B6nNGL-=b#Q5}3-F(Z$ew8LLhh!@?8XY^B4y8)9*u;V4T{aV(~hJt$`(eODQhT{;y}l=lP{Hq zBB9vxr@QL^B=1iUva9}2@>v)OjbGRMe(-71nIaNq`bx>qY9=-uBO#u{Vj#6^E+JdF z1j9|(fB_azqztnE0b$0U7teI!lgaE*EL~s>>@lQ({tFr+u1{b)tJ|4-34qC2hJ=mH zC(LwmX5Q2cpY3JxIX81FCG99vv@E#h6K3*}RrBV0S=W;&-gx5v)5IX%-b8=o;F zVK&mS$8g#BS#b-C|ACiz-Pz{T*>Xn&$9P%X4`B^Je6GhbX17GR5*dyW;pTu=i(fp+ z=;H%OX?nv>MJU{am8X4y!Sv2S*soRWpII?e|C_F1paveYrKU*hH~lsXPQ79G&9pQr zA+rcGo_aG<)5q9+@pJ~gzrbjQ4fT;J1^nJ;I-x=n6fV!?V^Y9xI-xRJ3E$j;J6-9X zzj0+@YUbM2)yq}dMdIb^*51>ry@#xQ*LIoCxnN=&4bR0hvmk0{>Qc8LccLN>HMZQY*>7#3WpCl2z%>(udeBYS*~?9=hTB)9(;2_rV0{TH$0_)uj8e9 zGspCX4bP5(U{$wV8QwZTL{K)T`r0KPsj!+g3OYp-~;o{qSKxpDua?%qD zwVlG~Ecw|T+Szpgnc@ zZJJ?C{@^uFPbGZkEwyEoIyNayErXQ|HlP>whgmMTG^e-8a^)Nnnz~mN5bE6n`oXFT zRuI%V)z9=xzz?@#7EJTg6^^81qcREm*M zm%$a<976ca818bCVz<;j(|1dN(G7kKQ~VHFYBKbjrD1A97#ybgRN6l$glS(ys^XhN znB|vz%po-B;6vN8@EB+|a8jq+cF5GrXg1%{{a?5ToAsHVb2P^SITpyVK#m1+ERbV? z91G-FAjbkZ7Ra$cjs{H+^$jP_IP8s$=c+tpRZ3bhOJ9K z%-iJDK4ZAndHdkiH&fDA3ZoL-jbT>))y6Qh(_&*-u-A2K+Us(U^>yBN zp#C)%HLuxIPrZtj@7?jqKG^9``IYy(e*?KKmUWU^k`y?H;%L z)z+Zt)Xk%FIXn0M)MZTVy?I-fr>#R@-yN1Oh&D6CzqM}`Lu)l@JLEtm`JURI+ZVg# zTSZv76=BD9gvE~`EWJBne7_OKf13#TP3cZp{(A`1%Z)I-VyGh4x%SCZ#c1%Pdp8WS z0aWgnG;ilUCGCAD;?&dy4z%Z-ho`Fcx<Srcjd@QWoz7QRKD zN;`hMeKn9aIBng2QQMp3%g=+b{GSs+uiGw!=@mmmJ_c=0YMYCOm8`XE*@P)n zc}aU^@Vnn>!1gt(bH{(7vVIjjL-jpqua({MT>jRQdNuOC@#*1v>UM3(ou)4NXxq&f zVy7m|rA?;J98!E#LnrwPhifI~6(T}-v>OqQCpIT6{(2&$f8<3N-z>uTDG~BZkP;#P z_YQ>V)txZCUeJC^Yin-X-lgG3jyUeo_NT!yBmXS1av@c?7mj{j)0@ietdF>Eyg_?+ zZPxvIuZGlHdH49bGu^1iGK7VHmj81i=w;WKFue}aFiE|Ap{=V>O{ekuv;pgA z$n(Kxc7!aU$}Rr)+DRJGfWglv9QAlb`!4!=;9y=$>eFY(Z;{LT(eBpA-so3fryXlg z)%KcKp4yi^zOB8!f>Zyv=H;S~zac_6!iNaQ=i3k={u()9>0cAZH=GFk-5L^>UkG9O zKOs!75W@8OOv6Way#CR1A=S#JNXCcz(0*<^R}WsWmNmY;oq#S1X(%XOqrdTTLTE`1Kef z9KX_t2=U$55+Qx5iG=apAp-wR7sB!zKv@2-2-E9N!t{!#8jE2S=1R}e{uK+IjVu>I zL-+YD%NyB)hA6$)=eiO|74Mp!*|TO1l@BOCu6Drz)bG{khK{xNP_O6Ci$B?&rJb+& zSZas5(3a-{ZvW!8!fBBH)SY^Zwi6-TtpgE`4=+oE_>I>SA${#Q!uT!|fq!j2!t&cm zSpEx%pjVq;2-C}WT@(9%>Ne7*LE_LqsrPn6fu=|18s(j0d$j3WXSp%l@y?L@M@QaH z3Fli|t+Xu_Gz zMX8V1@-eMKmeHQqC+I6RyhM8rD<(f)y&vt_wMd8Lj>BosMlVXvnmUyBtkJ*XY_sUOr5(MGa{1^Dm!O6>rke`qKwYFWwH$^K)P4 z`A(&Z?wXgUcGaMPI@=@99D-=T^%lR{ya}NJT8B{%W&LSDZJ!-ZqeH3uO}BFeY<{Qm zYt1SK*P2D;=L+toW83oZQg+-nKaW3^rw3QyTgLh4@cg>-{0}g_Diz^+B~s0FtK>d6 z^U?m*whkG2LQBI#OTWB$cP9-!H>v;YRds2$sLc4Emf-n? z^8CMXy*hBcrc(XzW6Al;MN`AlUdhGY6{Wf%qyGp#=|=mn({#+&aTo2Me`1Y=Wj&~N zSj^aEWlB(O?GuY5THL3aL-y+Wv;U+T<;vxYp7){}n~_gsr)p45>Sv1<(Bjm*i9~$X;y|kgO3ym;z z{xj}kZE84RsC)QxKWec1oUdZ5D^!0-Qe(hDAFA)~c7CdABh@>&wRFGnlIqKCJaR|& z7u6T}TC8)!Dm?s^9lu$S$N!C|AI|tl3C=%<=jY4wAI$YS$@LmeW1lAPi>SAO4mhOj zw&%nzG`8TmX}w%)(ir>pyI-&HrP1-*AI!QlmqtCwf84880~)1%a_39F0W_-Q>pTIw zchksUE%(jzI7A~iSbL6J*_K8wDYEGopU*tpogcr)<3Hu;*K@ug&VQNbH;w1thwJr- z>(z!1o@*sp{aafa7p&SoWNSG(=y;3j-4{Qj13%Tj()vVAIn~aQipCykd%WX-B{VkS-k7=1s?bCXGw82E(2#CMVF>Xp{I`~nk^0nk2=-|Zdb8PDVN(VdV>a%lr6dhdh+_HnQ0^MA|rdcpOwp-BZb@;-O|q)Giqr_t}G z(8MKA_uLI?NfXjwaMPk#O|26HUk+ z*lA!ndm8`3|LU=~wlw}xsCL@LDm>hRAMe29_h9MomF9f?7{5avo?mO8zntlHw;0!J z9SJ!3E=1OT59#LBxYp^HO49yS{jSr4u9Mcome!f^Rz(~?bg!0J?mlT@?UqMfXL%M9V3x4ABm2__WIk29a59u_>I``=fq1=t+@&znjuX!w8 zXD7z<&Yklv=lN{m`OfBgoaB1B5Y5{jzs<3AAmRHr#f&eKM1n7u8hK~uZ4%h`nosp# zOA!B_xt(ebsY!Z|nlp&JJ4||Q+o`$G>`&73;$dB5_q@b=)!BswYqlZYl^u_6_k;PD z;NIu*ARezDOV@k~<9WZF^J;lM?kwM3Ww{;)xn6^brn~c)3U0@V`bo>~TVM4eq3?!7 z1#kV8gvgwf6{_io(m%HOw2EpHSm|ObP3&|ckF|RBDI$^h`__yNJpGi&x+Epve$$fl zoxi-w;7YdKZNuf>EZ&)lJlze(GeE+55Ab}puza^!b3OJmy}DK=>W7n_H(OGgXxfdL zJoRBR2~T$KUFSw^5*p*Rv)TF~L{;LQ^Zud_NU-Hr$qCmgL}?gNt^W>RqVQ}SQRU!P z5;)6#YCz>ZB(Qbo+u<*tq_~3o9FO-qPq&Km1To%XZFoKpc)pvM9*=r)z1kA>qhCf$ zlU^s9kXZ5Ug3f&D-E5K{cYAQTmdCrm)6L{O4H@s>4S7BXc)q_eJuY@UHNulgKZm`${w_O?sNOBhtDQEJyDPbTE|2$|r>n(z?s492JRcp; zH<9b{i0gHXXrju#4ShC;Xl^Q747|3OXkHX~l0WY$qFFGt{KAgoh^F+g*b_BB6LtS@ zQ|fhCOTvFGG9hw9ITG$!c}`bJR}%K_;vdKAO(J0@@+6&KF_gPAxO_a1=f=}j;yjBu z?;W1cc9w6xdR&jkT(6}>bH(@TIgc_#Tk#hUgRc$Iwz?FP*QOKEy4GHs^ll!}wp`P7 z<5&-(t-R}S$&VF?=2aoL`nNU^%}VdfjTcFYrvK}R=vUA_yezse^dH0B>0ExA$E(ZJ zZDu?l-f~`Np3h>QuY&6VynG;y*e+KFXKKPeDLw3n|=dE48a z^tX^jJiq;c^tXD`{dA+bq<`M%Kkftcx}Zm#Cz|uV;Q6@md_%Y%<+)zHsdmd97ylwbG<0jy>gErcQRV2UI?oqBS18Ft83XY{$ zTM@xsVL=4>=5j=c*Ka3b=_V1z6HXZKZo=|;M_9f$2-72xFug`m&t9FH^z)3TiudP6 zN2x-DVBRN6jjd)*rs z%20>C^LLy+I-5$4e>iZgkDt;q^yh~xi;^ieQorEx+ zfkfbSs6>Q(Vj2>b?+(KBctZre6hmpv3Emgx#?__m;(k+hj%YyL<5s+TU{#-X3%a=H z%oZv2@XVL5Y0=!YOP*s3s^*EKE*(xEAG>1%ZC$!~oyoydXcNVlfxmWnMaw_Fd!WC+ zjtFjFcf#Z~h!8L6JYneu6UI}SFy0S@(ZxIO*^oZ0EL9fIS`#zI50p8OSsmr)*r zJf+qZzn$GvyCE&rX~t^%&;TO1!NZ6kubDuEc;{{smTm$Oc#8c&1l~?TM961*S;F%D zn+ST?N3|04+R&Qh^ZxX$`2@+nk1h9mjC9&hYg-SgKl^xb+9cr1gs4sm+Tv!tLPs9F zruMR?f3AESOqCxQs^ zWM_$x?)Xw7@H})R0`JqxM98P}4kF}xG^CZFhx>ji=rzfol-zluraDAJ%KbjOfLD=f zt=`sMlxt6f1uZ#aUj07f`_me`8ppRiJ%iRwUie$h0WwNd%s#=0xDVFoy{Fj48fP$Ty)i z74#@joC@Euaav+3)zzda#Uhqr!q@Uo0pjjEqi;hS{di>J0u&mApj z@#{mzl%98ombp3UOGsWRE&bH_?wZIBwCLmCSHJ3bVBgz%UtB8~X0#GqUkMT9Eh`cs zUO!7Bq|38`2t2cDwi0;5;wk1+vB-QXb8L58f^pfN% z38eb_hi++o44?*S7)-dKa&@ z@AJjmQMrcL?t8eNE-p0gTr0s<>~1BPiKEB zAM-!H8M zc`^T17_VgV{(VBar1*UTPq&v;;2m9+3i<4NNrili*-}A|O2w(5*O1n9c=+%(<&X5G z2?^x`yqgmmZ>4DPdsHkPJpOjuqJ>A(LFA(i1cb3`h%iRDjKf>dA@pR`I&%FkmcNWj*GS7D&*CT-IHHi+j zb{tyc`5KyZVRx@jRVvYhZR2;XJAQ%2uUYuV#kq@Ve6B5@=S;Jvan+`W`T6`s2M>Mi z`247r4z8rDAGmK69dtcn(TDqw>7ZQ;a(B^g zk?YZx>vfYRNp}`KIJ7!V+7|vL>f08Yc(ii6RlVlYgaa+SEYIYn3He8l-&xO&#>b7? zzG~BW8ejFoA9;Jdr*V7o$FJ?Wmd2@kd_DF{X`D2;@1V&QxLcLW{dv5XES+xy&U1?M zhVXnE@qG7kJ$~bQb)bp*S?}B?8)%Y!$kwLUD$}G~2_DT${Y4WM;~%v=2J_d$%LB(+ z+0leHA?HiUPSN<=s&d;)T%qwZ3wt}_yf>^w9*0iRG~T=6k$V-da`zUOkL2;(Sh|u0 z7>_@=0&ft{r$5WLbbYRe7uRbRO{}`l{%P-KH1TGwC#6Onriribj+th$izcqB+a`WT z2u*a-PCZ=zAWb;GQ5QD33QdUVyKRDPSDMfww!+3vxoCn_`;+lDUugW>_ZvEu+{E4O zOm1t*#{Vrp1Yj)7|UmJ5ti>(E3OCB zJL)wa(vKReUAJ=pO#0%f95gpk3eB;QXXSajAQ{}BUHqyjh zmA9TA4(Zma=M3HDOA{9#I(Z-;)W^ITlS-`sdkLBVRkArv+*j%SUrBI&T#BlGvH`Sz%`>n+>^zFc8BRML0I5{ z`V@GfT?zT(LTu&O< zJ>*lRd2gih$I1Kqe72Fw3Og;FTJeLlw{2{!{!=ljZ;K~?S6{eY>T}hj^KjRX(w=v^ z#_QtBOM5o&T8ZwSCG|cvzU->Hp;GVZ-(1}b*>Kl^%aeG#qdc8IDdACfy zXD#g;k*{@)&%303%0Jz<%VU?cchO0WKa7TU&{g+RQU8e4_rmsjn-;rCeWx{9xHZ>Z z?mp-8U>@%+OE;ztK6InTodrT#Ai z^RE1|TvdY{uMXJcQShDA z|Iw!H70cHD-4MP$VCj8EX^y(}1-(>T-$J#wo{}*2Q5=K}{zS^`BWS*m-K8)Iaj&n&R6NrT%?~u6Zw?CH3$2V9DOf54ih~%fUWEyl9>-fb;y# zc^mV5uJC+CJ-TqcPC&c-)!%8wHHhcDbH)IvR4!>Z(*417sl2{Z&{(RK%4?NfTjZ>- zR9>cU^DAo`O67T$ztGmwO8s9g(u5ubd)zK&)q zU<|uo>r!^p!x_e~Yx6e;PW4QQ-}cne)?fNZ8IQMWpQK;7a-A{U?Dc{+o4lwo+;G;! zZjKhlPpQ#LE#l9&>04Di?qp-pS78}?M+_5o+^7#>>5c2aiNN1OjBY_#{%=JAVfw8w zhME3njA2&3-;H5b{*-m$%uY*<$CIP)B9K zXP2DZj$OX=mTV_N`1iv^IPO@22=RO5B0~B`eF@`hLm2;2!ty&xSpF>u)9Wf>dJUod zJLmCTG!NEGMg8G+;F1pw)74(RJ0OS#mm1c4+>sSDU`o4$VYk}QKK&=myAM{6_hxEoR+J3Cp{DgKFX|v8J9#rkK#HmliVD0Ojo zq@R_aFg{qnA@Ii$mfv&2^5009UJD7+YX~)r@xPy^US1ltjLvv$NT&Tm!*cCv>`22t zMO3$HkU)bs*ZiwP&mBN6n9u%uB| zG4{up=RuiEp%WFzoc&ZM>OKjhf0^NPE*~1 zUItql zyKer34p$G;LFaa@xl-7PM#VoMgUS@41~13w5#xu`{!NogY>9eH!@B36^rq1*8Wg_v40mN`#8Qi7^yuh?5S@D!|noaNZc=_?JWyZKC<^G@nh`S9bzBPP?1MMtgc zZnMNG?m_MI)4qKsLfCFK5sr_XLWKCO9Ep(LIe`d#iY|oldlQ!50>bhiOqgCX2-8bP z2gSSj74)A@<9*+p>UsJjjg?02I$rJ(jr?%3-JHFrseVnx4&^I7q}txWdix1^X}?Mb z+~(aaO#?^VYh7mE7TW8}nBGq-xl`BIMJFkiB{?NEF6?z~Wr#@Cey{FUv9kl()2M99CqEn#}yBZ6LMs?fm?YCg$V74G*IafzLh_<{~tT&kOw zsyvPEV!1PRe=BOZGfrM=*J0W}c=`H1F3B|X{8iPf_Lr&RQu9mt!IP-p&Kd)T94acb?qz4E;VpAJubv6(wK06H3=xhW8BB!uaUF?}-X)F*d>yJ1fq!>N!txtISpI&5 z>D879dL`u-`+d=+edceksmyzw2A$aYAV`1NDEFP<=6Z2^31isj-H7RB3Z$%S_Nn3) zc6?IGI_sX3>V2EvYr8Ri&&E3jMJF9JhP_{E))(nCDkXflr{}SN`6=O5uXh%fT}lZr zTE6`0^T?F2aQsF}SV(VtABi&lImY8G|CDv*Out*k<4k|!`&5*b&(V0CmEYDFW_J2$ z3^RMZrJBbUClb$eq53PeXZF@yqhYz)Z7S5sgZ672x7KRNII5B~u%B=r))8x-9xu4y z1`U4Kpv1zjpyOo{P+wW{}xZL zVtflNIDbE$-v*w)hU*o^^?FUCzOEm%tmZa4zeUje zAJ(An-h&6J?$6$vAB_1-b;EilHmh=z>YSUp)jxEP>Z~?Yn(y>C?f>$2H_KPhjvt>s ze9);k40%&Z){o4f0O68hv$Ep>y^y)f_0~Bf8TX&OFNp-@YCJc=!Q7euu^1Sb(K3oSX4AE64di^ZXX@{BLr-6kM+) znlyD0y)f624%t+dx*nWF6DO~G(WNOoPuX|f#<50snov&iY}DS@G=9d1w<=FqN9ve+ z)%wLdXxy{S!#~fmqH$v{PRaeJJ&p4z)2w5wQ8dnF@a5zBt~@-6ABX-~h+mJVKgs!; zG5&ppcz*D_LCAjs*UN+JwTupTz3$qr^Hn;+DI_MJPECjPE}LBRwuBBH(RH5Z+ctE_ z<@=GESRXp1W5Nd8%^hjdb#1rP$DC-=$a;~nCE$5yw}ca0+}_e8yRxMV4d_afYU?ie z+8^g(FLu0ZE*>A&-wNrway~id*Yf;)dH#-EuRpk6iFDLwncumdz3J!+>nBb4c9o8* zYTsemY#klx{;25v-|gv$nO`e@j9W@awi!=XBhr zT9$)Oy`tlzek0__9y<2Uy|3pRwxVOp$d>F_Ifsssd7kR)b&HNZRLkelNFO@7-K{Gx z414LQ2eki{#E*2;!sYE29V$Ra#n!mJd$l(m6<%S1`phIA?#qvtX7Q7X^7L0YUnJx2 zk&EZIkLTZ;>2=zY>vfV&Y<_b7PL~aI;?(6|suZa}C!BxcdaOfTIzc^aU*p1c=!B9w zcl!Pd9Y2yB==4_=I^I(8W}L@BI&Nune52$sbe!zVied}5&~eS56li#)I~`Zgv+{xV zVLa@|k00Ri7xDBnIA1Hq|Dia~&z|S+!1db0^^(xZW!{xppuJ2d8v>t%C*Poxwgis| zT>O$w@@$;^chO)v@k5`(egRwQ#MM^rT{rHd6Z;J+I(^b3I?;ZV$LbTO>BQ1b&G!|) zPA6KlJ#=EtEIQ$X$BU1n9eH>@KYo|Tzsl3U=6vTk|8bsQG|PX91=s67*Xs_^UEO?l zno~0(muaT9IRA=x=V~_D`DGOGn0n>%!TYwPbJ-U|@(pf7I=Gcte7hK|n>yLzqqmn2 zXfXg-uab~epURai{E;ZS^sl%|)|ki>B7>Gqs|f3f zN9Ege^a1I8-Kl==HPe%$8q^L9`7PccdQoY>BM>avwW;< zc)o9#9`06LuNx#jANf?(uP+&NxoIf}OBsoJ>NTd$iTXsZUE}b4{2HPSe&su-aCH*4 z>gB!0C5{r+ucNIEb$=(puNt4))GVF^9c$3&#G{HN$iYHgdrMF5`fzzY9&Z&(SI?U9 zl!SGY0&i=c&lR3;8?HwJ*Gog<6k4}mMtG3HU!w=NH@K34MTdVdlyM@_5#bfSU5X_U z5y1ogaT4VTazVy3y$0uP!1Ae^i|6~2>+zQBb(su)Geu2YPm{R8lb01N(Sr=W z^^0uTdeAeXOa7kreq_Mm8`G{!?~&Mgac5r6UQVJfF7G{m?Isd+af?5_6F{OGOm@5{ znNK3GE>+pDf63i$Xo6Q0bWQH3Vv~*0nb?3K`fg_69_DZ}%28`PKWz^T*B=+#A*!e}S zlh{_XO4~15OkzI8`n5IW<8E;--@@a);OVY0o}@gS_ZiP;63^F(>(QL+)rG_jYk0M5 zwaFyz<*mepjmwj`Z>O3)nR|)Et=m3Rdeni$Rhi)$d?XJU94Tu!C$1kE^s73_vZyN= z^VgYsy-9qh_R9)5YDv69GVz*Foy3<9tUjFBlDG%q z8#mRgN#bUnA5(e8-z3g|=$WA7ZAqMT{&8Igd+xU3@>VJFgmiT{PXo>iVIiL=o^Ke} zBZ=wN_9KZeT5RhF4;6_gbYyQ>Hy%GGd9l^V$0R=avG?(+uSooxM7PhmLH_OG#@r#n z5WaKj*qGuZ{+^vK_B^jFRU| ze9v+{EV*7DH2%mR52|m9qysK{Z|JTWKqFQR=obHND(&y)K67}X+B8%*(!urZA*$?i ztU_`B!BqBjf!hua>9L70y(YkWl^gt$*RG=xB|eTj|5t6QZ}O&xg9W@VSVI4` ze2^9GS8SQGKvkHp4w>;-rP)IJz6`6M(AAmtn7-9P_w+b*9nx=E$!Z0t?cFyecD;8e zg8RXWFnJ;o;yo)!Sh_z5-({OPuO9Uqk~cVFLmTR;z4vSH-#X9^ zHDmQ-?8i{+UEOQHk9L09@Trh@AKiy`{8}RKcCLubzaAL9RIl*`OS3CJ*BOlla0Z2+75s7f|H={ zwJ__~=d&>DXPxBsYInlaJMRe7|1zJjy3d52J5E?19s2X-w6EJ}!sa9pCU;W@VL1K~ z5QZyK55xr~x`x^npeI)sds9IN);-i2^3d2C%p=231~k*}I|g)W7>$vF4L5t^{E~Np zsqeM+gNMbyAS^81TF(M><)7Ria%KW3ugTw9=-fb<>f%e-zCU4g8wopSLs%b8!uqxn zCg=GW!sMFVBMgU<2w}K3>5=hm1%jbZp2H~Ni+N|u^k9)ej)JAmbI`Yu-~2*a2&?a2 zvRK=F7z|cVatXKeft7~?&eZYefL?t}(yxt4psBm!#V^}jm^?tGY}m1oFm<~fVf*HU z)oBoB&R2>sKHCcjm7@e#iVdty~vB2cg*WEK5+a3eM)kG%ysIOGd{Olfb}&6CTE`wFu6tpz;LJ=0K=7#L*!gvK2j0}k=dD2ioIWU zkhyNQ7e>oT5|!y&kI!C0e-0(IcGb%hHbm<2a?v(dAR@P8vX6P>=)RnwkW$}1P<~R6 zQdW(4U0(dzPf{*WO!s${$qdo`-B%m&v;4QNVR3CVWLNa;V3tVJ9Xr$i{b}}tyz;-@hJ&nmx{-! zb-F-I{f|j?IUgY=;g?NSmo~&W#77P(iGmo@pt6j0g;>vGKM{3naBcv7BGI>$%~2YM zxq--Wm*vV7gOp_(>%xjOA?c;+$Qxc_ka+!d+jPw)NGNN3XZ+wDBuKrk36!mY_?34< zW;!QBTtT*_S{wa(Q-7|6-MtSGH>kzwVby4eeQE8xMOqH)B<#zwx|(4)mx?|Y(6^P% zc{mhvKO)B@b?8ICer0^; zVNN0Du0W2X$Q2EOy{>U8VoxAx)urV89r=(XC8@EfeiR7y9E8UXry#Mh`uf+{8c5t^ zekxF_4-!7L5S=mGAmLP#znauBNC=W^aoM;45?t1<-M{`G);jDjMcsLveR(b)B6a$_4LPT4G_v?~h|M@zRGB{pDf#C|sF-s9Xf^x1*FD==pw zlN%x;i5#}bH4Oxl^^Qw+Ed;^E#1VN`b3xE`V)d~ly&!lL<>~Ke27;uL(`u`&L9n{b zW2vDg2nJ_Z^{=*r#JfY5d4=;J@tE94-M(H(OwRUneASJW=K0<4AB4L7ILASs#pvsf zIaX}0_AunoLazBB(Cl}cxOWo>j>u5AmeL$guPoN*=7ZqUx!ZF^jX)4- zBB$=x1%l1ZP99!^K`^htJ+Q(M1mg;pQ9nn6V5sZsdign6)v+&)Iuo25!}|CSLEo*I zQ;fOG{&Fx}<{+@MwsI7xfFM8phfv&&emq+%_OAQ_f~N4f;#~Ui)by*rE1pTeKVr4* z_1zyJNSpJ_pkX8k0#0b@{5k~!m-U=`Q%-}xrao29_lqszg$E$Fim zeXB4h26Mk7$9?1i5L}LWE0sk*KkjYapO{OZ!z-_t+LqZM_?(zoqeP!a-$l;mIm1CP zkTlv_{X7VM`DykB(Ld*JOZ0q_4uYVEIvt;W0R-RJyCzv}OIZh(ipX&?${rkm#^}iGN?*#rkf&Wh6zZ3YsoB-vWJ!PR)yhFZu9= zJ1Z!cycdt}s}E4S)SNq>=r5$4(#E^L-cv|9?j7_k_n1HBP%>#+{VZ+DK_k>gMy#E( zZ=Tyf;h)cxeX)P}ovc!v&i7xABrHKv?5(rPl^&^&Aalh8e_Mc0_&qLioV-0#|m=|k)sE> zd??PIB4W@mp5pYhnOet>qqsxrK5(bXQ=FT*84}V-6vuJYfso;il>5*AJ?{jjl)FCv zdC~A#%IzFScg7rP%5D9eaV6%5D7PstnYC-jVU@vt5$YD<+)4D=g1&Ds=NRUyB8MV! zNl~2mJ7=on{3%Yi+s$E_^uLplDKhfamnqIi^Fw z38%`Aa{tn;n!57=Pq3$1?^FW`O=z9ipA~E+Sa#SD} zpW%6{9|Ko6qV;Q9QTwx7XQ|ybQE*0nKb7Oq2q3-~j^I8;hdy(TD za?PMP9qX2Br6y2ZNm<_AuZk3RuEKh;wF(q>ky*%g`dqo{Mo)G;T2675O3iELIZ#}2 zqoKY|V`!gqFZK+nrZ`<5=D)srQk>T7#ZL-$Vcm&+?jIdHCxbpa(boubf-zSGIc6hQ z1jQYZ@N*vDmEul&Eh61ObFAK`cHwyd#kDu)3AiN`*DEgm(MyWr@_1uDu1ci1o+l4C zcP*i~&MnX8FQ9)9*xC*H+NnlyEzJuO`=(=^iG6j{$>W?R`Xr$*oyX)9VXh}~EJZFm zJ+c4&e;Kfkobng*qtv_qM#JEF+^N0UgYo@x$ecSuzbrDQA>O4I~dCR~1I{L*2 zwrP0S{ktaYe%GHhJOB5(Yu10kpM5sp=Fghp<1hZRX8A4ttl7u+{?D3y{C}=DBkVc- z{Ik!VS2B1;ZYb!yWCJ|=j@zpv#lUULGKopbzhLL^)~p0s39ys9Wf5Ah0z1SbYuY~6 z!sa0=Z>IS7gK2T4u=V2`Sb6)!;Fn|Gf@Y9~f8(7wI$Ly9t2h6MAnf`RVfM$G5Juml zK$!Ue9m4qaC=%9x3t{tC5GH@RHetC!2+K8}z7OJF#SF?7_TImvvEu$B@OIG&_7~d; zT$@YbHL(xC<=3l!esj$S_TcS9Z#W<92eu=^c^(f8>Sc0QFbexbt%^t#uRV7J%+N(*&i%TSbY&;=AC!Y_pSQvcYv_|4TQ<_6(daksgZ=`Dkm&g2mQJCUJ22GR0x~V zI4UOf9RzylJb!R{5%_D!LoVkK_#9i^I?z=Jo~DOPT5df7H_Lg=Kl2`gqnB3Gq?(mr znH!YwaE%45^%9+0+VV^%aGZt9?j5H9=W>-#l+wN3PL@Hx4%JEa@?fG0@q+Z|Am)Gm8ncjuRv7eh*>vkB-p4 zZ|Hf$1%&lGOIUv)Ve`7_=i~4E_k`s-O<1ljh>-E#v(<18LbbhfaJ(n04MH!t77bC5&EDi7@j<{)F*Ua3qYsod;p_o)aej!Xm0y z{e6Ge%zWPhA-vMn&rRtcg;M$zn|Y?AOD~Khw+^LUiZzO*LUz4 zuqgRtHU|QpOiR+geV)GVVaZxIJ3sKe*s(#T&=fr08ts^9w+uXXYFCTK4g(K~TpJhq z?+M%ox1NoAa1FS}o`|+>3juC|O>)k0`tv=JCHx8lWn9Mu z<|iZ9YUFB$;L+Ciy_{?z)c@p;5v!*_pzW4_bnm#q-g7On9~S#TfYUhMLva!C4-dOJ zX}cPI-LmcQRo?yJ7jQ+TCUq$IX%;oC{d^kyMmr8z8#sV(|GOU}`+afkjQf{RKY^X! zGamiun_e^i(=aa^^8=BKhg{1bqONREY8(fm9;MaK&#;2j zxTf!q!tBpN{cfD^M?VGh563)h%wLRLF~}7NvEFXZqxnLJS2z-OsL=%We_m^C_wf@% zUwGzbUwIdz${l29=vPD3Ad&JlDd!>5GsUR9Y9B<3Z-io*WQe#mdvlkk9Yo|PD_T}2 zKt$3Ad)xM(xc+y4H|h`Lya4@b(Z3z@I@$alY2*Ur@`A*We1n86`tKuJ(m88~zJ-L^ zJ0ptAOCdpXVau4;3n1Rs#Bzlo9pd6vw{W5#Lu{wXfOfex#B%5GN)OG1SOxW?`+F=Q zrn>=ZH&j7P)7R`P8`W@q8~1mjeksm-qu*!rzl3@En13I+Ca_$?L?GE{d+x2P!I0c> z)u1e&{`>E-kW1e)&qI=UMn|01`_(0v<=KhD4s9amyF_ z`eeiFw;d(-L!z2(ckyk2#OXWIE?=z0^;O&#p#Cz>uSY-n?;ni+am;JQ{M*Qtj$B5N zCY|lsI8+MKj;0@RlE{ZtzeUH43IidfZ3?yXel(<5POO$_oCV2m>NU4d{szg>MQaRu zbRc>8myAUsQz3b5qwr~p0VI7|H{$EN&yds+|D=w-9*bRn#r<`tpNsQ`te^aF^w+_> zgP5O&Tq?*_2^p<6hUWBjBbjdNZXfHO3>oWQ6dx2UgY>eym!_E)Lb~Qg_js!tkOm(U zn{O3CnpM5|K^F_!=aY7`>S{=RDe}DF)m%uurk}Xfw-{1O9ih0*De-m=8L9PWLywLlF%hQDex@J629bFJk?|ge@{|d-T>3RJq{3&FOb@k&k z(T^jmJT6>L3^JG6R+iHD3(WX%*(TGNeq5z(eLr?>hYaD~h(|RSAwwXYy57?b*OzhM z9`!0X{|@~oqrU;>eZ>52$h8T%%!&V&dwKp9=EPY^r|YDlZFBU?*B?Sn2QQ zVfsf+@nH`j)Xdni81%4mom>YZr->S^Rx`M>+}TylMT|y_^K~@j|VF zkCOoXV|j&B2;mjWi)*Rq6Yq5Owg-a!#B)!dt)cH(;xY29wn#=C;i_8CsgkAdj|*lu zRe#LKs*e59s5^vn_tB>qeO)kTC+1#64lCrkKq4}T+%oAz60t7-M6IVa37b6k;!y2j zBzWgh*96lkByeWly=-$i;@=j&F38Q1_`1&3-gV;+;gy_9(O4Wwd``^1e4&lL9(~5d z{9(DXv8rR=9(6}>?g#p$qwgHd(Zt+I$PtQM1temn<-nH7&q+k`y`o7Qno0ORGoeWM zXA%li?+uwdo&>*tf8kE{DiY)%Q}nuj2np19s2h=PK=z(qZhB1cfdnLXgkH_#k$_SC zMZ25(*!o-)`%$beX*|x^qmLx|Zo{0JY%cx1FARtI2;}-kB37tJx;6Wgh(g|XnXnEL zp;h-()wq*{&$<>Ul~+STUlsqTXiXy_r^Nh?)on;{er(unN1FFdgPn(8E(zMTcW%Li z5hO_UsMVB=+kY$5ABVaNIA?)AF6es_bGq2vwWC;$a4F=@2L90qCSm91 zmud{T#@dAaHq?dSTow9ULf=i8!^hlt$N|W8i$wJ11xBBKLn0~f{9%S3 zBy#ty4jtPd63P8OwYKsmi8O!uMX8?VR|+p$L+F1`FYo;-_M^Fv=eZaFWiuE%T8C=kJj{ zQL_$!{gpv`V~pv~?HhNF(mLk>W}KnXKYZ$7@r;`E@)?f_Q&lb!rq5eOSlute&OIWm z509|E^!q?ejwfMr&k&X)m#|#1K;py1yL7F=N~?-e3{;`NM`)c^)J;A(+e`GH)}_Dq zr{rubTtb4S7$pzuJJsn&mTUzt_OpmCs64wYacg|C_CorV9yEXJ!+o zza*G2x*rn=J9mSyKDLDMRn#GDP7h&ozY>4eGs5KI`3O9q7DauFd4 zIk@Gdp^g!=sou9MsF2bii@ubp&x z5Ev@#|29`=A^km?dNVY-Z^HEKD+Yp-qJ*i1?+Md?Pk(-Z(G4N&TmfNyED7VgU7WuD zp3V`MB~0$LK*Dfr6#<5ez8~}4?e~12?s`EM47MDrx+RB6y8xz_A79+>fp5RWtwv){)_T&K9gsRSxSFK?RPb~N|?TP3t@C!^K_ZH zauHyBzEuF@dp!u4oaN7f%@qTNW4H=1T)6{erq}0CGm93Y#nE?M-bjCs!I1YU;?b2v z^I48jS$74Q7dX2t^$vagd0lJ1Wc~vpofE2f&&-+(d1RY7V)cM-S8YW9HaQX9+ewn` z#}fL>f7he0=a)16H6g(041<7~TiXJRPf-FezBdAa$$57M*xY@8SVm^X`yhF-7#GGa9E>j^6$ zW7@d_;SL)}Z~2ECFZ=vTr=eOfn1v*Ypt~| zajXKN=e?gBjt>IiA?-0;Pjx`JDBON}XB7SV*?8>JiD{7eZLxBqj{;1XwcBVmFd&ZD@Nymb4BPAjlM52Ck1oukmC(lU!``(CIBlR`^u=Z#yK(c0rb6rIS1L?Zc*fLWx0NeKvo{FHA{aq z2&He9wV$W;7RuclOyfc5v?p@>Hb)SyUsU{d>3R^VuIE-h*M+S9b$%^tdLgT^Ec^Y9 zSCCcu<#dek1;{!jXuS4-J|CtQVE;7g-m-H>66m9czV!PoOimQ$9!8G4$R!6^A8cAm zPPBq>{&Y`SumYjwnGA#BZXk5u8#{BwZ4mB0H*)OIi*$e4V698^^U@%1+h=tn5H7sB z$I60!pJ{q>kE%S8^Szg%<0Zbb0k zfY3AE;8U58l#hDt;_tUtQ+t9+Z)DqXDDVE9C1GjHDevRjRyW<~`~aU%!|L*| z(&x_fm!dGX2`{(c;#fsH6t&~r6&RR#6UzCr6(FD~a*Qq`Aa{3~gbErLM9IvR( zbN^eJ{zBB%v2(LVqt7e!U5hzeFgF1?(vi!K;?v{8?@%L0nUGJJt@sHfvU~8F1 z@q?5c(#|wdd{wh;>4t3-ud?%F)o?Dw+fmI+tgfYa5)!?|Q)g2?4T|5J?6N4IlA`g~ zmX=_>i2WSY&BM9J=o5s#J($ylxrdNL7rEY2eC3k#vROYUe)O!GoWm0+eo0lM;e)!WMir=UbAHC!> z#eelU^pvh7#eWif)`Z$b@hjSORrb*O+&ub)$~=l6_M$DIqln_WzdnA>R*vG^%Z{A* zCLC)V_NSt*80YAp&u<@}q3G*`Ig>G$)-fDn$hC~(AH26me8*;rf8$_=OwCq`|Krlk zukZCJ-)W|u+EpJYU+wYV149o`zPbm>M%?;A`7YY&Gp1L8@>K~MseC1a@}0CH#M`cm o@*NkMFy+Q^tOv2*iMm{zo5}jz9)!MhpUL@(xw^=)9=X>2580OMBLDyZ literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20.i new file mode 100644 index 00000000..8fe88ffa --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20_out.e b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20_out.e new file mode 100644 index 0000000000000000000000000000000000000000..c1e89dcec4ba411e7612526cdf26e2354ea76d23 GIT binary patch literal 105844 zcmeEv2Ut_d_cmA&dtJm9dvAyZ1;z+=L=aG(=UEA8%zSw*3j=lG` z_TJat*1G=BxidEu0Zo?gdG_}$d7d{jbMDMLXU@!>J9F>cxgMVFa@p9}W_k5k#$*h0{zfJq&vk{L}ZJ%-pXzcwLGrc}pa2-6q9uvVv38QJms;Mk!|rBPv| zg8+LLmPKe{g-A$VSWG7~s!TjB>LSREY9-{GMqY$-sI^GbSl~hKqMS#jR~aBr;Q;a! zLOJ6xqOeptnG=Mu+^OR=$snFHk5^F4M=Q|Tlm>Y!8PeGlOe;gW^zo1`ZM;Oe0cB`Q zK^L@}j0y9COt7U|8>xdRb{NJw(x|miM>f8g29O_6P_9?Y5>*DHTBn7e4W_k~+U_0; zZvIT<4v`w2+@#h<$@Dt4)+FntGbq7keUKY%i1mbd7Kl`9pg!1vRLAgm$vAnEIu6?a zv>O>H7iEeDu{pg2{DpwLnKLvbxhVmwTI2?=OO`g zV6U2R%wA}Zy`ptI0p^bofBC?J`oiztMEEP9ib%;6!Wb9rBK}Yh1pEqCgFicnuQ%xQ z*j~iAXkYZ_VdsUQWA2WgAYp06^tB*dKx_OeKh#P5VccRYP_Q1jb`U>xei-*#`HAUW zA#MTV*ZE;v5Pzxj^8%qA#7~_c#{J&>LLhEFg$`Osl0c6($u0QUALyRH1@jivfXm|c z79?53Es+c{(C%nnY#Z1H#5xjnvzN6~Yc$>EngrG&Fb;C!5B#FH>=g*3O;dA;_Ww>U zUY$0M0vFgTHJ4~x3%M#Hmp$6f%*M)z<-p%}@`=%_AYUQub7j~m#mTXIPH$rTKj|<|KHmVTr_f^wZN1PSkioAOwtzxH z{IvOt#=}UMzXUxtHqP(h&rXPM6gp4T75iTChv|G+poIgtcB%U9tl~yvT+WLfFvi6` zSo|R`o|o`zu?hY}-fzXdfpIx6cH+p3b`pQ7^mRcyioD;78;Ef^FPas33j@SoDt%oR zfl%cAR@{>qm$e78eT#^s;3BU-3%dw)!Q+Z{D4H&AJr-{11+K^|mW}s6LX1?rEt68k z748dJ1Cc!hRf3OzP9QnW9OLn3uDgGvEcF(ZUA4Iam_ocIG-@<g+gIvisndwZF}@AiJPm)-MOP4_{1BIm?wKaSkBII?eq3~Ku#`k}Z}a$~ zdoNP>5z&3f(~Iuoqxd^UME5!86Wtd)zUaQ<{G$7srx)F~JU`JzYr~I-?t9KBx*s{8 z=zijSqWd@J<8Et#&BjJ_Gqv9t&U=yPcY`G)>Ftu<4(ZFCzMSdHmA)M5^v=`PiC(QbVZ`tFk zafUeF__w*@b^PD%USxJB|91BVYZ>P8;=eU4j?@0_t~jp#x4Ysv_uuY{^N@eLE6x-C z<*s-g_^-MVI+IB!Jfiwi!PMfq|^V0OK)SNQAPfjtKTN){LeZ6|H~b~ zfBpRbFV}re*#!&WGZ^vN3qGgBXG6Fa0H5LGbF=~gd$&<5ZE@C394 zv;(vUbO3Y&bOLk+cmcWqya8PSJ^)`pH-I0&9}ocO4(I_01oQ+10fGS`fKWgfKn4g0 z$N>=m1waW<0U`lWfM|dk5Cez>XaG1`*8+3^9K6K?3;=vihhv!pKq88Kxqx|q-vP;h`G5t0g@8qX#egM%rGRCC<$x7{ zm4H=%)qpjCwSaYi^?(h4jet#n&44X{t$=NS?SLHs3fKwQ1=tPP1K11L2iOld05}LZ z1UL*h0yqjd1~?8l0XPXb1vm{j12_vf2RIM-18@Ow5pW4`8E^$~6>tr39dHA16L1S~ z8*m437jO@7A7Bf}1;`D^!~J=|&BtZv&kwNUGV~V!*mD{B3jzvp8TtzYif|eFivo&q z8TyL@N^lwaO9D!98Tv~D%5WL_e*ide8T!it9Jvhria|%FtgK zPz502{;J?s1E383)d4jCC_{fuKrH~u&|e!+2Y@oP8QQKcpdR<5?do$G`q6d`xD5Sh zyM|nbezaX9E<-=st}&OPA8qHvW#~uSHQ_S!qwSoz4E<=krd)=8v|TeULqFQCIhUay zZP$X!(2sU<;WG3~04)J1LqFQ76#!-EM?1L!P=gGU3~h$C zYYmWcKiaMhpfv#fXgd!8%FvIt^8}y_{b;+k0F+2$p&#w!13(%2 z(N4Yql%XH()D3_#^rM~p04PI0+Rh(?GW4UJLbwe5Xs1vvLqFOnjLXoEc9L-!`q56|0F|CWP=Dni1`x~r zXgdv;p&xA*$7Se8+iAHB{b)NKm!ThRr{^;CqwV6k4E<<31DBy6ZD-^%^rM|jT!#K| zKmq_|=tnyx0#Js2v{Nqt%FvH?N&=t^{b;A&0FnGW4VEh67NB zeze_>0Fcn{b;Ar0FezemB0Lsvhw)+);vOxf}(?q}|?ngUK z<}&o7ou+UZ`q55PxeWbir)gYDoN2Y_-v+HNNRW#~uS?E>uN zeze_g0Lsvhw%Y?h8T!$7djTjzKiX~|0A=V$+wBLS4E<=k0|1nvA8mIKfHL%>oelv| zhJLiuVF1d|k9Il&KpFbcPDcSKLqFQ-7yxDHM>`z{pbY(JrxO5_p&#vZ5`Z%Fqn%Cx zP=I&}L|-Gk~+)zZ2YZ0FYYL-~wm~Xa#Tu zxB=V&1kf5F1+)Qp06YP00qp?o0UZDx0i6Jy0bYPE0B=B7fDgbI&<)@R@CO6{x&wLu z0s%b%L4aUD2p|*?29N>50dhbDKmkw!RDei86d)R)2E+hj0UAIYKnu_T^niGP0bm4} z011FZKrcWNpf{iopf8{wpg&*$U?5-+U@%|^U?^Z1U^w7MzzD!dz)yftfS&=Q0lxso z0LB8w0mcI+0Dc8b1WW=<2224=1xy1>2mA(@0hkGx1(*$(1DFe#2lyS3444mC09XiE z1Xv7M0$2)I23QVQ0ayuG1y~JO16T`K2Uri-0N4oF1lSDN0@w=J2G|bR0ib}LfL(yy zfIWb{fPH}dfCGSo09!yVKyE-DKwdyTKz@K7pa8%gP!LcEP#91IP!v!MP#jPKP!doI zfPC2rcp^@Xcw1%4qyAngFkrX;3wT-#;=;Rf&f|B{!** zl8D}tE?v9&wUyw2!TMhY3jSk4iH9yOPOeo-ykI*8iPR945U0|bj1tJp3PmOGX1z(3 zV63mxnG*`K(B3xR? z6;0$W5zU>OHgDWm<=nWbJPjKJeA@c^DZZwYNSZWg?9!k~`sm*d`+2qX$(*q9w+Yh6 z@JKKippi)YVP}+-@`5S-610+bst8Hr#*)U(TQ+Uh(y1w$&pACo`f%GMl_CLNVb!Pv zPS_(OPA?GqC#WP{6(%UVq;aE`jheP>(nzR}^aTHVVQldowfY2;1h#chncMrns35_i z*{qC2B1_P!;}cXexdKmPVIzo?6Hp>?lSq}yZYqs%k{hGd`Yv*ql~GUxZh3E(Yw3Ui|!vhL1V(%-Zy?o zs5YtP8d;=47bg?8kiq?1a62I(3pa_E)W5ACP8PrGmk}Yn|DB?)HAQ9`D&aKC;Ac6Z zM%N3rA&Sr?z*QxKpXG#d4N%Ioswij}i7HuqFBLBBHdnZt#IimNnoWWcmd3*#N;*ZX znI=V5%WIhv!YlP~5lbNweU=v)_dkFxRwgitG$}5eDFOanzpKRvktC8#h(t=u35D%R zGH11%5Vu_s)ycqhleCux`1yTznX|q7`tF>+H)3!b4`X)svEQ5b_r;S)f*UmS!5Kn= zL6se3SIOtATraHY1q zKSWBoMjtI_-0AWrM zcU^Il)MR&YCG2J<-hYZ~&`J#xj4%sGfI%1x=@d}#$Ve4VDb>QzA2=xJYlq}9tDAHq7E8iiDQEg@_s|)$%AA@4+yf=4Va!C3Xw!#%3Bi)X?(Fs7fo` zs!GSigVxkCyDCFpXiz78buYu3B4=@#x2~4eae9qf0ry5T`dL%tObW~Bp;C;!;T}nx z1aFpnYh=SluzHxLs4~_Mi){H&B(o+csAx^47*+5nAhVxEmpnMNktd659v0bxYbYla zM(WwAA>5i$XL_!X!<@BeXrB8e$lAP;udK(HiBEIhH)11L6 z0ZjexzApa{JPTltz~QN=%8(t`d7E!czj1uXR;Q%On9W*K2~z492b_4n20ontJ4b7k z@W@c7g^y-n-SeO2W9%%)4c5$4vYgK&p`|nWEa&q`Xz8>f%lSMK`Wxh0qZ)37rM7*h zew@$i4DgsxD}$Tua2GLBuGWYZg0AJW0J%b;(hH36Q4@G#oupFoFQceUDuc!M=Rm_W zgnG3?4j)*tic2s9Z-;VaqFk%U=z*c-m(i3Pkw%3aJ}Z;DRSPz>^qQiGRw-iP{$^6@ zsz~u$UMa9J36_fBO=9+}UYzI1B2FzkkjQ8nRUcdbW}yg^ByD*3h7W1uf=+rtm_gsOmRrkw@H0j%HV_+Y-rKBoQ6;nr8B5a(Qzr|cayLNn)%6= z_6R)2Om*ReE?R+~c`?M9pW#}5>ZK;cE3-Of0Tk-_&uj=SGJ6R#=);6cv8ek}M}f_7 z{Q$d(Xq15=g{Ow%W!kbXRwB{JGH5KRYuVCEfCfH1^;K1*A#4P{v~44c5NeoF&u?aA zHf)*&McP9^2+O+p_1Mgk$^-Xc*pva9aIrX5(LPw30ldr18nwb<3V%x?AEgA4( zk8NS+zzH){PdHO7Fd(#eXonj35R^t}gxOZh8T9;OyT&40ID*BCCQQltKp%#S$#B&; zE*23krm~3MFrYxvtWMuF$DqjYvA`&UTA5Le2sZqFGGu0i8J@+g)RuQ&Iw&4K1J`Ns zV{UL^7Vf)8;Si%it9ssE!P1{~;k18Q%FZw;7>Q z>gyFkkDjJ7GYv@CHAvL(>&cIsM3azd>I@D5A-ipn+3>;g?u!#mV%e9DqrlB;1jL`(9r!L$q8&fe>z3m`9wcTOpn)mfk;P zw`DS&lUiOW!US2CXq3gs6*BSWjb09K$yr&;<{3A<1Bj%$2(?@b7lSC3DOzQ)qPGD; z9NVyWT_WVhG-tAPHpF!fsqZ_3UMW9oZ1^>yaHZzMJG{QaZL04YZ3+!rtcNIr4u*7J zH6F{)Wh2~0N!tacloxz%67jKLeN}=c^Y^2~o(vvw#j5o(RTAFW#Y-r=Nt429xebk4 zl`$?7Mh|GpjB44^%P6~jo$09E3LCDUH7ten-Y zAS)_GIPo&Qb7Ku5yu8~RCo6F8S*bF?%|vKEW;6anLe@{DR`(wg!sG&;P^7+-ZTU3? z)sg8{1~q&{7w&_lAKqBrY*G^nB~DBEj|kIJv3jwNP@L$cvma6lHnix5B)npPAA#rR zi@CXo9?NT4AcT=kobW8lXo9!Q74TA$j=yVX`E@xp;aB~&H5Vy%?}FXOkeh_Nr-Df% zR8e@d*YYA`zZwTGnX2V*_x|evgyn>ZDno=W{nc2k63aFGA9$qRUZabUYkY8Ulr8Vs zea9p9)LF8p>8T~+^;mSjv2xCuc9`XwDkQXQwe$Z#Eq8%y6WkxxWJ?u`HItpL@NNan zRE+SZi`tY8t2ptb{r0;RqFq=s6hp>_DVmrIiG*3M#jyOElFctsqJ~+n#jt#?Cy``2 z*u>mmc?^3*-qEOoEe2pR+}2!${wgh8d(7q&JeUT@!C!4^fCunrjSYnt)LHVc|E(g# zm+~`y|iqrB4~Sn%UhX z-d(-hrme}WLYPpgQfTDxSjw0X3D4xrRLo=fPz0Winj4nPB(yA??20!utf}QJ9|&7x zLvgy9uCQW}EvjT2OvP4&u=HR3ThnaVJx(y34#w^#wJJ?xw8n;6-ZXWSz{4O_Rt+WX zF)X59r-l(LjEjXeROt#0!?^}czW0U$a0`S`RvFx;fy>|5ZPA)`nC_mU@e4wl{+mq>a;e;8%VL`ApqneN<&DgT2*k^kbzA-i8h&GrlZ|G;(mUw#?Q z=B)$%7iRRZc|-PGp4i3u8?$8`Ij~nDJo#=bN*{v`R=LLUsWYgP_NxDlOB51X`k+u8 z)nxdNIucrT-{u?BZ)-Hna_ohKmd*myT7@P-sgl7aY_LBbtaFHp*1dao+wtQN_2-7cbFso<agx12u;}Q8&=%NSJWYE7dBtes_}`GXsa~pLBR4N zV+Sh~J3SQ(TTY0(>KGFul(5MXF7HnNEYtFa&GzAheVP*DBH*68*i(!8T7C%-w&jw+ zmeK6BGLcAhE!QwYWs+yk2bE&!QnxJcz*^HeL?oy+N_;bl_lLMwYN}fqme;ZZ-W4?H z)bNs?coM@2%wGJ#XZ4mBIi<%ochRiJHh17a`u!Js94x^$p=`5Nv1U`d)@X=?nV!*Z zlE9upS)aaXj^bNLsowQStsC=OQe0$)Te?|I%&fTtKz|H_q$m}<9xTsbzdg%s7$t{o z-!nf|tRUp0H)w|@c=yi;Yj#sx(sDwLN*iU0#=A=yzS3nmA+BW9sN|7f>1M9w?;nQ< zwXB6jT1Iu6Tg_>UY!M$c8#slbXTaD0GJJah_7!Q{P8#6#y}LyVgzUneX33mcNz32< z$hdM-5jtB`X4DW{3tv6~Hw58nZd9rr3*kznVa<&t#bc?4U)9n-6$sDhdGD%HX2Z<~EZcY77>Ds@d$CVXx!cgttVv3_kTB=Q zI9eg)2U~(Oc$!1lMZ9w0o?ka9Tx} za+5#?FPEg$!2Rs%X~DuwOPC~otw*1}~k<VP;dUTrk1lD z-B?AK*=dJLLM>Z3a)4K_GCS=Up#^XMK@-3<+RRQnPWY{slIA$3VYejFm%+~(8w#6J z_JWtwGrB=%`CSpX(Gm@x)`0t6x(pPAO0lR;Y>*?1I}X+iMI@3W7`JDnoFKENb4bc+ z{{?G`+&gOxzkjZb?FWn1JG(XPlieEj$zBa}9&)AWI{poT{|7_joLc@jRBRd@a%wq^ zIjjlZ(Zj_K?57nZd^yJT1uKkOhbG~lffHEc+i@mNR}(VteIA1dDp>B!kfNm zDA7o13YrpNMTP~`u(V!hWKSI9;6-DdI9GxF59PfzIz!teJ#K@j)25`&(8mcg|6+i3 zMb2V1hUF_UP)GP+9jxqzyPNPJ4kyj2ZqZq%AwGIcFh8SaX5jx|!>;~PuMF*#k&q=5 zZ#l`np0Ze{VU+Op6}&r&g-)X&G;B*B!(sX?Hutn<;)8?=gYab~xwxsISxxISgl`%M zuOe|9!lndqY7LvCW)ESi&+S=9s8#in@h>Zw%gR00^)}F2;GU8UK2inSOr^cW>n5@6 z>)K3@G=#XVC4PF29kQ;-84?Pc@(AxTTSA(JhOmDCt9y%j?FzZ4E04VGS7+IZb7AQ(8%wLBGYU3pMQ5Me1c~2Mb>_ zfmc)HCUbMQ{K74+Z4vhav8Yj}w8Jc3Ikv91NrXM1 zV7vg|Ji=9jv9JOKp7p`EsM)pzmU3ovF|=OBsuRYr@B}v-9w3S5au#D)xX=r)iv~@gJ}o*^M8Zs8DfwQ_#D-%g#B*2-q;{<( zWGk0oxCt9DzygYtLH0i&%=q)-nNEB%nH`FyQ}l*ChLq5MK|{p#32bNe#@1c}U~-lr zp_BE5nNH5Eo0{RXy-YsmW^JXU9c7A^1=o7QOg^$|-CQq=*`Bo;X8JidYY8(N8VZ)Q zZt@7LviXB}u~#)$3)nDGr;Sq^Rj?zB@XDHmjmu<7NusZJZ|1{`lvb9+Lt0s%KHvWI zo7kyj>WZ3VIv=&xhMCSst(%QzF(0*7!%VJB)}JZq3C;6SYcl-qt+HV)A^`%v(YT( zqt3q~`!t9!lij`vC|5X%-uGJdqVSh(qAc8B%Va+&fP@u(?wpJ5nHeh~ z*!|M4$DP({2;1YqehDeVLeYd)7dg{8y|o%<+nio38WLv9oL(f%bWU$=kDYCEdZuAE zK4V70Y@}n4;j;0w;x;z_126M-Wt&fD%N-FM<7II_gf#&1xgN`y-4fwSWH?5In*(}1 ze(@xuj}IWFPvcp7sR>%R2{QzgDq-X2neXZ@GpF9Xw=9O_A1b`E3@Qdc*FU zX=zeIRuN`A^=71&kFojU=?r>*fzb*Z8WU3r__fb+LZvP;PM*ofq=4UYLRFFqzPSZ= zy3##=K5FmlktJIm|~h482lsszTeQLvMMK_wR&s1-#{O(^c9pVB{CO9<;j zqG7LbxfZocy*As5S{5`+`E=1&rM65*oO+`TQwYlL$T%OviVas(Xjo6&XE2s2Fr_V?5&0GqrlGP85i2}O91Tjp1oJS zL{o-OdPK8YUgRXDTuhviYYkx*17d5MO;TKDS5QG=OEvr-nCtnZ{Wf&A&G|B%w^<_; z)|mQr@yRyLuqMCpnx~%%zVnvaGAaX`l%|%!N`{7@7xsr)F1WO&x5;wl91>c(R}~N% zyGF#ostZ;S)H&79@=L%sw_+Ad^W7DWx+vgFEE>3a3ZG<2-z!?)W5d)ZyI%l|OweTB zKUibKSfgI}ELy6nNb$PCel_rH051P*A%seqwK*|mmfumd{40v^EQNpB48~rtjwjue zz?w=i6B;tOLR&)!pBcklPEzca+GqK02{5|Bk70@*B1=t%eycQ0O$dX-G@nZQ=Y%lr zOGs6GYY4Oal8-fnCIftETNc+Fnhl)P>9!rR^fH>ww{-s(?!jh#rso{Zu|SRmax9Qz zfgB6uSRls&ITpyVK#m1+ERbV?91G-FAjbkZ7Ra$cjs)%I;EW0zd! zaFtk56g*RA{?)| zz#L}jtD3_CztdWCSjhkKWph~2&+EE5%=GVP4zu!gGlyCE%b3H=PD9LL!CpRp)2?rV zrfk}nMExEXzcS`kB<*l^XM;sQOrjohAHRG0+e}KT7j--~qb_Y>e0FR^SPAO1x@Fy& z1&`6Xl=ie;-fwrGDb&|g>z5a?xu}=F?*Qkw zduh8PwZ{7mUPs#${6iYseY z02*>)u(z-J4;tWOcjl_jnfmUK78>3_NxS50FeX=p3ABBy=?A>-9iYWS<}2Ri#Jl);qac`h5w>~-ny+*9OhB~X-h^ef0aOe%c`TE z?0HQ)FAtrr)_$OEr?>fd_I@%Y2m4i7y;4e@@4kKa$=!oi+x+GI?SkvK1vEO-WtQ|4 z5yJMdL^$p?oe1$)Oe8FQH^TT<5XOI+u>5=o%YPtYdi_e6UMFc-|B8?8X1}L$N1JDk zTNluv7018it6GV6zn3s2Y~^I?*K+2zcFV@mu5o3T-7a^McGz$uz~PUkt;d4Poia62_+_jK3#g`2`ap z|0;J0(`zeXdX1#v?tw0cZ?~lpm0mXAzp@SuSvaQePG3p`Pn_$2N8wHb@{GRNx7caw z+f_F7M3LFFb5y&(`Y-H4J!KR3?@n$&TYmQL{$sC`w9YNZGFL)+Zwq1Gr3xA}V8fJKr|;A5Q#MsTG^HZ#wrSpPS5CXoE{CV?UAyNMZRb|#+|L6? zQn#N~vX3{L(fWOY@+aEQ+!hf%zw^-btBDY{iy*@B8}>wqKj0Z*=>v$scj^%l_$Qwx zEWdGtq~_E$rr-(s!f<)m1xBM60vO? zSbo(A%io4Dz19(?7ZLk?(WNa_F*_b?QPFnpOV2q<=9=Zr%ZG(mdhxqC+_d|uiq6SL z%wcDBfAy?m`_17dC%V4w*~)y~qfJx~{;o07lybbhw_?vAS993u&sr1Sg^o!HA3x&X z>&fDj@V+6n4iyYb2@A(pri6v`6U^Zz0)K~;u#ms`o5qyscgK93>3`51X5~9<4zu#l zG>4g;%pZm3_8LpOEQoq{^<@$27niqimrynBSTWb1S7nj3ecsLsE3JP^+wQO3`O#`m z>iNDv5mIsr_0&{%Ebyfc^|T-F&~f$(>T&42BDh;u>XE$4zDO$t^_V(VG0Z&|53Bj{ z9z6aQp1uL+OXmD-%=xkWWlXOZU$|ZYwEM4dQ+69F)1ZW*C8AzPso%3}I|qa}rrkO> z`)gF=Q0m+IV$%ava#5erj(_`nUQT@qe@d#nB0ue_Dc03D&n@cxSEoutf7(dB*ZDS< zc)X$BvyuiXC$(i^PaA%GACLc@r!U0$HZlInUwD2YJpTqNND_(2(*|!f5y; zgFLigC=Cu6(&}UL#HLJWL2-`_CNEmi639h<3Hr-qZ!}Oyqv!!&+iJ)zaiJF zGuNvFjTloZp;go}s<`jlLZK*4<$e?Tot+jy!@CCTz3|gnD$9E)@5Z|gMnhWWnsrRRjRqg+^SYPqS{gjO$uI4fgR2|t^+l`Y;jR4mb{_vEPv3#_ zo#*`hcz&mO{@u7RX)@eb$xT0Dt}wIy5BF? zsZv|>Y98lSR4J=Hb;pQbdDxvFzs2L<;^_;T`51pN&(DVEAIJ2%_ZQboOXC{cOYTvz zE7jI)zIKUcUaF~G+xBru8yZ`0tGYn4BaP{p+x_#o!c_g^o#7LzR;1C7Y(8I^Sd~T_ zrh2Yh- z`R;^OqneSA2Y&cal4^=L#hrcdkj8HO)Ug%KPh*FD+5Y;Rp2nK0seiYfoe~y~=i%{R z^7IurUjxoxmgncs^MAqhYR>h#L=6qDPU;ffh#D5uXf`m;jmEFt9^pQ&DvfW|>f`RC zVN`##zUzo%MX5eEDnwiBJk^(*a?PRs4XWEZsr-jCuc=O1#rvpiB-J&lS%2y75UQ*A zxa8}{n|L^kA0Nu&f8gowbG|E_-;U?kljkqtde!85)h0cr_x&Z=ZyRY>_-yds9#2TC zod=HAao9neci0Yn_V_hvbjB_Ca^YA~??4{uT<1SX?O&QEEb&s1ni|s$w}LZCjf(EW z3ffj7)d$?{wCp8JcLcX5mv`auZt-*z7*Er(oOdA4=ONGcIM?F}*J~M3&2?!sZhn3e zazW#~X!T0s_e}ae$h9KzUi$I!tPd4Q$7-5q6)L|bZKsZ??&Nrrc(l?jein9(NSEH~ zdAi*j(t4x4Yx15Gq;;F9^@sBXa#zXaf3kS(tFv^nT#Tn&amHK4hUZh1=UblZk<9c; zenS)?gMM03+k-^3v1_5*xq*bn7cDkKS%UQVthk!LMla&uYE5*=xK6}3c}9r>m$s3v zo6ATJ{M4Lu30T+5&c6!jd}VUK2ZcgN=URqw6_2;)t`C%h|u;5-L7 z?>wH*YMyUJu16WJS3HRrRQS(A-nJy-bF z-2u+imh*Pt`RwKSe&Txk#q{d(oJ0&Aw!nMh3lj0gzxazP=Sak+qy5$W4-olN_dYWQ z_>%DFpLQu?j}zHnzV{!0E>FT>(DTd>%3bZ~jO0O2Nl1@R5k5O7kl>fwKE@q5!`;(d z{xgqvo2T2%d1`UqBRrpWJl{iHkJDVQ+azMOi(hc*eMI3fV_Uf^<%yzL{m%yz97)9D zQ|@~LW|D}agdHVuAv+KVW{j{ZJ4 zz86urt=`>EF`PuaTv+Y%i>)ML((>P*JqEs(zbw2`RtM$ox!TA1ZzA6`+HT6mI3k~M zr(vw8PC_q^$6s8Z6OL*`*-EWlp=}&eP=|}t4kCc z>W+VtIF=}m#SFX9UE<|~-v{i%S zlXQ_?Xd{~+>Nr#>NlRDBJLy9Cmqc*OPA7uAvYZI<6SBNm4DunTlAuOMTgyp-9 zFg@xMrk6AASm&=q)1PZ-Q0v22*FUICdz{+yx_q5r>UXcgs^j_gQ6GoRRmLvqOgnbI zcj8ztn5Pu9t?~9vHQI9Y{U^=ruG5A=;e$sk45FpB8Amn#bw3f@ab84_&woc)yh?o-jR%5T@5f>f~Y5!trK4+G(3(qbt6DP@ip&+MN2MBJJAy zcAdIMV`=B&n_b@?bEfU`tZO&1<9yos$vAz@Z85a@qoS8?-dsuRB?jJo*u#^SxO28m z$v%gP;3hsIf;?ak5#rt0Ojx=Ogz*$1jMtyAe994)uOkuk=w?fpUKglC@Vy#7%c7}E zjlRvVCAFX)zFQujb8@9^d)9eZ#bzz_EU0g$-&}`En|CW$X~S6BD)Q#TrptEGCWn%p zr;qDNYhE4qV1auhTJ%=uc~veIC4zgZ6A|QY_C$y`Hj1!x&k5rxK^Sj4!t(JTLcWbJ z5vIpzBIvcsVaM%&*>4SRbI~fAW!l0eKU1gcYe&DUJCU}Sr~XZOsSR~`*`P%el0ch( z{30nA)tWjNG;UkvI+51DGyZm?SKDY6`TP4NX3nK{hpv?G_*Xt6xKDl}g8a8DM2Ppi z2w~|O6M;wdoG@MwBII*%I}!4&^PC8Jl-lEtdKpW#A-0_w?%iI$^^PNtZ(Mw4Z%Z9Y zjH}o<)`8YgH7t`{@D8n4HRQsXB`0Zp`|i#TUxI0!62IPUxG#iOlPN|!fT zPCy50JFD@IB6YhF!L4jZ1i9~ABE-vcm+Z{bLii#rAz#Q`-v{yCw$cY3XTK@{Y9|Ny{tU zeyCAgO)J=MU0rfsUFtCORS~aMA+%WY>syN+((HIUhn}kW$4Pg=-Iq)R`Tn*WRKef2wF1V%3y9@HJ2i=8u z6;HYg>820bA@F>$r2=oP4Hfd)I*tnY4s1jPJ?coPpqJj({f(r_tD!+Q#J=I6n>W2| zNujw9%P!tDhveHcWM{dGFWf(MY3aZBq^$?J+= zcARW>><6zJt#@oKIdX}^pI_Y3EnB9CyC9FA>yGhWMGoG9>24LV*&*=E*||gDod@>A zeCju%LcaUPQ9%##Wrv`b$4;795QCbJ?AZG&PT}i>KCp@0@rIIH7$<$xm#!yHSBKkrcG!Ks&^_sQL!VC#@%bW z<-tWA)pQ;(>3yT3G}f(|nL|mGx^EB=!?Ww`h zQD)z|8#UBz>XU2fc^bd(!wH|kC1`w$6Z)bbfN%8=$7>f2rh2Kf-^psPsP1xdgVsqG zsZJa4!$H*%s%sHnVn)(PPhi9Y34K&kCJg;r1&U@2dOI_22-izx^u4=TvE` zpEdrDe0>nq4;@>|r!mzBcDr?IDBPbA+-6)}i^ucg>56imzMS_t&u1>r_b}IE9@h)> z3wyt|Wxp#l{?d*@9b6|iM2y${LFlB!zb*d@iL!V zk83@k@%3Vc2Tp-@Q=ssgFD_@O{;x7?w&|*Iw+5G=jlA024(=st~qKJdp&Z>Dh<$|1^^Z zo{ya83;GFqyy1FPfbjj^+X}UyhEl6m(6=M0q3ObNadQt*gU`}<|Lw=AA^gtCz6Uo@ zL*%A2@d5VKpsILONsds1?A)G%AyA$m>3pY~6RDy5xm{(-gWUzUREk`PcZR0}I|)1x zPvE6IpUXVo)m)DRQ7`d1Mvj|ffgB6uSRls&IToc`$-=C9qzq5bB@OKVU|6RvUJYGkne(tA#Q53r;?N(>xbMIUyq`tAWy1Wgrm-@V{ zUv(wfB=y-ilCQvIZ1+soL@ zJ1|Qc8nIoy{lFAyNSi-@oqf|?8mxZbHDKahY0xDy>i3Io(x3^~OHJ17;qC!07vtUI z>AG;9S)6w~&!-p9w>;P52GuN zRCZ&?$>iemq+z#@zdIf@RT`GNNNDp5anjIk=O^{uJWCpKIe2iTD@tj|Z10NK-}d8f z5|{Vj@ka1;F`Q=-=bg&)0XvEL3VNuRUWNabhBtZ8&bjt9Y544&c4wY;l7{d6Az;qd zKc(Sw7DbKd6D$o6dh>p4(ZbU3{5OIc>eW)2q2Txi;RU2&F9KKBf4EW_Hsx)v9#`$9 zVKIgU%S%k*?ldm9KsXXtGQ|GS=k;-#LMD)v*EDe8Ee{-8|N2TG{X3Xgt{ze*p z*k|#}g>R+dTLxCxG^#Ar&x1GlJs_Uw3i2X6-gBPrBj-8Gd8hMyI`Dj#a6P7Ty%tHs z4_$8P+!E~dMA`I@r;nxbO4VFHb(kQPcPx0aj`Mk`JmSlgPUQ+q<(dzn)&Bl0mB+RU z@7#QzRIW%WLLC-K<-xWuimx~(l?Uvu^6X@F?$+k=qdeYJo(}X8c;2S)3i({(`NDZ3 z=y8eb^=Io$E;iJ+@YRwJYtE)YLo4nm`>BN(jdpB%qyCptbo}Riq5NaEp+$aT7mQF^8Qd@4xw^%1Cp#&Ywpm_KoJ4!dV03SaC5l0r^}(FZL7qv zYwcSbY$pe;5W_?`zWoPtn5Exf4m19<<}k~Dx;f1BGwV;7{vFN7S^3<}VOIWD<}kC< zB6FD8s}l{+b0l<+ZEvc0O}q5nQkMqay|T3p`9%Fzje5~x6|9GK+huHCygThMvTgsz zj?HPCUEWTPFZPoLIam|-2goQs7cDxT^ z@$V6qKAJE-crGIF_aZF6SwzUcbrHh!8b+92E>z_n>0Y9WoT`g{EY-BqL@FO>vN`eJE0+V<4?l zq2fOs{2B zUCUd4+2bwMT+dr4Hrj!zLe@@Rk??@Z4^^rzkC{M29lXO!tZYDgbn>YECUO|%aoK%aYH!rLde_PI(=V-S5f*+-*zpa7#eYgzdVj+B z77)hoO;~>O2+RKy5%lsbLYQ7IR8wBSgV{~gnh4UOzhgz%+uL^$5Vp0N0lgr$E$7$2-V5%?bv zmfu6d@}EWoy%f2Kpx5gHRPPZsZbI|z)KGl@UC?zI)vU_%*We4cX!QAsf7Uy&oT>_J zsC*!I46L)OANYiP@Rtwx4@c<$P>?}*a% zB1#e={Bb7{j^{5=g!o~F2unYVFuvV{@sA`dzr#ex|6(q}^g2$MUfXDV_2v8hD=(wQ zqAokU9Xe5MjOUek^Gnf~!KHO)O9au#X?cQ1Y_3crHrF3m>ZLmkJ-of-+9@Mxch}8s zj_+sDE~7^6eD&xWb?fauq{Qheu0iYO`viRco3QX}A{_s-6JhbM5SIQZVSHhP@p}@M z-vGk$cO^`(-Gu2CPUF9f3V64uDm6a09gufKYpS^+Pk7Ey@X?Q* zU_D~~$wkYqZ$@RG*4|yZ?*;AgqS%c+`)<&#S7$j@_nSw_nX7F}wSDIrwo=vo#G8{u z2)Fw{gya4di4cE(Wg?{C?@Sn95MlgX3Cph!VfoJ?Os{5y>D8SYZd}j5?)QPzbo%9t ztE=Wv{k<1cI~*)RKYhN)xY+x++YAazwf@KbdN=?sJz(O@z-WIqCLl7tg`6( zS?Zgw?vA%5i%_ZUnLO)<t=J$)l{-1V=pM3a2w|%sG$8E7qkC?ARw0+H&ds-I>GRJEhv3%#_So4Qy zsApoQF^`LHHy`)7@?^PfWUA||sg>ij$1PKi*RAh$b6&hT+~z~fua1>wq=c`v-|;$k z$~x{g=Zc^Eb?&ot$H%3Fh4d-wsyzh$MDuYEA%F9Ak}~~V%*UDjDeKNz`E=&vto$+N zFtgKnbC}s{KMh^`xZ9T(qo^V=x7WE=p0sBj8Z|6K~e>PBmNB52Mb`_w07jN0zt-6-_t$P{ry1?JmZ_({pPt~P91H4rv`WZ841*bSvom&A+MQ{l;Gh_uD`t z0`z-pOo*oP&P$_;L=B0pe=pZ-6VvNfaT@n!qUZ2akEnh| zsdbMZxzpH)PqQR*f~Y#-*QA%K`82vzvq`4+b!b$XnLdwvN6|>x!XJkiL#XPSU6Y;d zz#ZXJUG+N z>jlr%CVdIq^E>pPPwD*FRrhFoNcl>GN;$&wo*@g$_i03RWjo|^8fc(#H>c)3Qg=7i zyo>J8;KU=U={m2$_WrYI?A6$SR#)R`>~B5+AKH7;*x}1+e>`(9B`h2_^7spQ`lp<4 z59d$h`8DVHSL1qZ;d;HIiItVh>uc-KULAWlOI}7&)92kaoVUKF#`mF{2K;%C8Y^D8 z)2Y*XYS2lKU2UvfsyRfYC% z`RY--W2@+ZMpLTzu5zILnm5@T*216mb*-fFFIt=S>DhVMuIQ(<_Y^w($y&v=m<6l40UeAWFx>rue!z20esXYD)p1v~Y3pVq! z{G53H3a-~qu2&U0DEg;Wm(HH2gRZL=c*Q5vf#=)gIy=#u4!F^L^XnPiY5%_`hf0TU^?=6z%uhvti3u`qO@uL&$v@p?!}u9kJ+64DCDBt)6FH6YV=9BK&&NJRVNu z$MrmZXP!QU^Eq<<<2=7`o_{3Q>l)W<5gpQO+*+@n%g`Z9?+vSX>fk`{A_N{P)4)omf z+k?YL>A)r|mtipvh-2H*ebv#~Mmd@!t<7xSU^RDCh{KWIU&-K{G^%_GG zmKYz~|Iv?V?#xYk5l@KX-ME2c3g#nW+l!6<^#LV4oBq)GWRfEZSoE=8#eAcQU+0-U zB0AM4zFW7x`?bh8;vf12&ThL;&U7b+OW|AQ*_(V zd(NAW=M&EJEyDG9!1dA-!|-e2ioLQW!DYzPnMI?B{_4RgMStu-v=6;E8*qh_P&;cRfySAci%; zt&BVC5kr~HYe!UcC-J)Z+kI%R2wEhUiO_AKSV8XQDgP^-!_- z^|{-C$vfEbcxzd@+V-5MBj?_IuDmr8&;JVBgd?` zSoQ)jdiGehz2iD!`0H7z`oAtAhH3Nm8rae#>CEwUQV$>(>;X=|qg{ zB*QCKFTQ(4VfhJ4H+@hqb9S+Mby9oh=$zttm0>?s}kaVh3Vc9rM=p zwjD9ex-oocwRgnyYfrlo2NJlO$mMTYyjx#*y3U-ZE$1!9^Et!w{fX;Qn(O646UODE zzdwIT<45#+7k_ajjm;HXYU|)iRMo4-`I4_AY53dR#h$JAqCo-jODjKAqJGP!pD%9r zGwtkUbKyeEd9-!$p~Wvd)TGs2>Q^jTE}RH%`JRNyqX~<5fv|KN2;(V57_W@5e2j$U z+mJ9lHWERv7q+yg`|qQRYW--8zu`etx1VU#on+U6i7r&}cCGum=f!DwjRk+6F6&Ku zM)c@^+IKYdD__0UmPWa0r{s@kTC3Mnl6Y@jeOw=H3MOeIXOzO+sEisieUeoTYT+H_gmQa*aV=OHSa zSo`79vkDqq^X_T+hW)gAnXV-r9mZ0h58LxB@wrahe{$}=HvdZM`tvZiNs|L;m6ux! zx%|?U2=16b!sLeui+7g@>3plg^%Z$SiNL$D1Y!AT3Cs5!5%h2_Nd&#l44}0}{G|JI zJ&AVo*f6~Ts09biDLw11WL4`BW_cURs7Z|dujx7?EDRcYs53m-Y?E>VxO zt9GBxvyC=?_+?++!|Q0Jmz~}3$K54@tFJ%=`4L~j;{8R0bo%9l@suQtcRFGDoF**a zB*OH#Lm9}>Bq(Snn{eg-wRh%k zHMLP6uPCXAgvt|2B_xeRoV#r(Luk@~5)CS;)7)u3X+9A$i$WTZF+-$^y+6Ev!1L3(?zO+``~93-hI96PwqJ`vV7cfzqt103VCk5u)t9E! zz@iULTTl4i1|8=qY7>kPg4|=_nIBBQ6Q-_lC2YTfu(}Y!%uP)ptj~VJ_;Mx_HfIH4 zbCU_n;l^RO{DsKa=^E#@3y4-~1a3s$lHyLnik1T7<372-7z_L0Fv(Vdl)| z5yt06A7Opp5+)~3k1)As5;zQp-5@Yr*Nn(tk}JGZdxVMdA&J?tEm}nCug7UqP7A@< znXS4jm(ioY_xd-2wGQA8);=l!K{~%ii;%B|yw6-YI8a z0by$vVf(>^(LL!Uzvq?<3lY|57-4+l+z691CLNgEbLqfvyz2mlt1FUB{#)F<$=`^~ zypmoPr&dYSY7%dG@a_;fJ1LH#ekZ4H-O71E(n26TKhY&no)2=WmAUe%6G2X`BSU{B z7sjsVZ|jm?SM+V%5AoU8gg8t+Uq+a|6z%g{XJSQ|xkIgl@sZ6a`t2KND+El=qE29P zLt261P!$4(%l!_K4_azyt9XaZ*z{T7-6@02__^$8fW;Ux&7mszfmAb*eHU9c_u?R@ zXCUG8UTvYG?x2r?o#l}re4zaMt!HLMza|>>ey7i^|D!xwH#ciChp9O?I81+~BVlx9 zTn;n$)~JZ_nJWa0Z>}RSIWk(nQ>^MI{NTgU;5lTn`4Bz zYRK^jxi}DWc}rKUNfShu3+qJI`a{%$-DN+%S3!8+ORXo?jS%KACDei21EFU3cz5kD zK*+(BAB(cM5F(%Z{anmx;FT+gh@Daa-f7(kvE|WNcVJ%?b(uqRtWQ4r{=}TOm|Kq= zeB}BJ(b1yqa&`$2{Y6T?^Na@YZ%gx*>qtQqFDoY7OXn@c+-90YmpCR;8wwkp|ELJ}DKcMa<&dH;XDEe-|oVS=OiyQ{X zwHNs57i@a2dO~!BMorKcdLL)qy|66*5b(FuZ}|0VGDIET6`1j|7$VzdORC-*4H4Z% z-%f5#hlnL}g3?XuA-u-&YSr~z2tVrBsw`B9^%nLopzamUok1UQ^nHLiYM7ge9PP*z z0eoYv%@M`k5Unh|$8O;fh}NsCo|Co^_*I$XMHQCO@1LdTi1wd^sKPT=S}`FIW!kl^ zw*LV{b}#L++%*OwnB2_*|ck^6@ax6`{Ram>|6!<1fuUj%rPFyWjRhFR}knsE&h~UMVIJ zbw-yeD7yqvp|*d08<2)5r}q-c_j~_TrZ0oKt2k$hKI-VZ6LW51ZpRP@%hd;br#A1K zrcZ$X=F-@p=g%N|lH&K;6lI8(?a^IlIUM*c3pWY8Fh31%rQQ<&{qa?gfUkMIqH$?Iq;9mheiBc z1pKzDzBy~&(Yh^ja|YWXT4i{;yV(VZ9DY0 ziv9-v-nwP?(tUs**U?aIWA&#p{Q%U_dSBjmo-ss zgXrO3wk(qT2+`AaBpWm6h&!mg?StvQjU=Kt~?hPp} zO{0H(!hcNfpno3v2TlZie2VoM_B&8_8t0CoPbd1)K1>e%`+~{+g&c#()k3dRH(PC_ zKQ~ewF`hU-fapb+cV*rXf@s^&y6h&}*DXZfuv8zSy~e+NU#$(%o-2ZtzU_l(*S{bC zh@)S}=IPsW6{{fHK2Op2rWDpu*snz0TbxTrpM~hV0CTeb{TtkYfw%mbwYa+ga1^fuZg-| zoO_2p3h4V3bFO3V4CJ_uT-NLp+Sy%{&p3-c`ZksncfaJvBhi0T-r7rUE$Tf- zZP%Uq#WZz3wJmPfeaok9l*hbxhc8KVQtnHiPw_o!M7d>8OgL}b@S^NW^3Od z_Lrm11m_0Prv-ftG3PqwzCjLWu9$PN6wVH@fki*HGN^bDO`F^-|o)k=5@{ zI#OO$k=_-YDb)5roy_XX>XfH73C{@0ptgl8Z}GMmL3w;$miNqQ3*~XTM(g1rF{~ok z--x;~ICpu-hxHvhl*8usA;$*fT1IhY%{Ka-YN5C}fy&dQHc{N0J4IISJxFo6+@nGF z0x0k9lB;K0>nN|@_MS`aM=7uIjg2oVT&e9YYa8~r+@?G~?>p&d_>}UzzvxnuxmXuQ5M`iooLLSAZ0#^En zzW{XuIM<0j#^_7$ACp7>+%vfsk>fFPU8ec9Jv6-q6t|#dAam>h#eI2kbhL^t#cf!+ zsr&O}x-b7_Pmcw~O^V7R6LKi-`m>YT+N&t8cHYVrBircLX=)?C^$f)o9UHvlWi{4H z>|a0~{p-fey+j{+KNw#-%$bh46w4tq8o72*+%sl}74qg$+`2T2Z%?mM+=0VU!F~ml zkJNt4FPfVuAMsb5Z$WP;?zgFZVI@`+_nksY9FP7vsPy}|+NXfx(kD?WY{Dt-wTrRC zLR_%AVm}IXcX7@Geb%AxN6c}$3eNJsbd zpXYp9ip<;MRImH*6s*oYwluXde`syueltHrBV%a2*g9wR%`mZ{wc&ti-!H$>Lu`3mm{oy z!H}NG_Z>Q4M&Bo(`9fQUuCx3pLu>Z+ogP}VuYb{+dpD1BaY&Z=msFt9&yi3F{|ESpP%xIq2Vc*9n`?B@EZC?}X)|zenEMwNYoF6#_1|h}%wi z3|wj9s*RH;gU9VItKNko;PUFxpqOSaY>v*kG`{FIY*2hKvO=a6ET0`dlhrN;D}KBU z5k1xn^RL~M*1k8aaMQa_w-QdY6J~u^g0R;e38Vj9O4#{4!uq8X*1v%;d4}%@n?IJY zTn&Wf0tisw{Z*-{2ZGu=tw*TR-^*Y9T5Q&f)!;p1LM6FenBFx(L24SwdJ|(O^ zjj;38gz>ZgKp6kdPQvD?5H^1SVY%KAmWu;{U8@|Ms{(*mI67?3{2uU^RX@6K|2q0P ziK@#^D|>-whs4Z_28&_qsh1_wZO_1#1DCo3kI?t?B5&SGQM3jNwK>Y}aYnFMLb{ay zM5E9(>g>|!C>O%4D zL^b_V1goXF>TpC4md<%uZ+zdqaBKgeMW>o~6J}j}mN3^3R}n@(aFej}288uHO;~?1 z!sgv0Z2o$}a_uH8*8zGTPlP6I+d!YUDsOXDm4d*U?4P{h z3&9evIux#7gn&_>E{e>hpEn>e(p0TK8ob0tgQ0;fZ0#@K_E_jRZ0`J?@^Z;YuxWmA z{o0H&FsXMfFWW0oxUFJ}kWtDm!mRh`5cawaVf2fi5O&^yuzs?H^>-vpo_;G~^AiZm z>@Uuu4;M*D}pM|n(HMOx}BXfau>gbFl*iWguNa}7(LZM z*m)ho`Yj-=|24wqT_9|J3}LyX2*VZC{O_Op|5mVkX;*t;cP}`?u@(JZV}|=kXUH`0i zxw*fr82Wn=Or4XggLw!3T(^Gqw&;z~pEYy+(4RFk&;7Gz{5^-(tC@VoKWm0hZ)nZ( z9~@e> z_jLNXO(~JDKb3z158BbZQ~4Me+Iq)Gxt#0s4iZzbEF=&;7-GmP-V=9z$Sa{E}lO$04{! z*{s6O6#Vx&JS($$0)EPk)um#-^mBInrv0!Ir_U)r8Aw}x9=K0O2I>R|fa|Abykev$ z{k$bBcd+sW?x+!bm5&#ID^ypIoc;OFnz`6H& ztgBlfylX>;Thks0nJ{?ei>)DjzcbEf<$ezc+Pw4IM3b8k7#wUB866A(Wpe6Ejr<{C z)vKpNHU&?4}^|0~;j!DR5yuV|6yw&0q6P84(92=%jYJ_!Bz=zkaUJTZR( za=k>ZXo$)Xn|Z;4zTXo*WAQGoAw(u?G-=g*fe5kBH9aF;A?(hA`+6&^A++E~O60dP z2x(s#ep}Q6LTrAup1AuAcwIs|+ZRd#FaL+dyy!aMoiJV;D7OpOO?X`z^-VZ$i+)w; zzaH~EhVof1TjbJ#9m_wAk-0t!Vn*4=Pp`3s=x{yTVmmqdK4uRX~ zg7ZD-cYMg7&7<$1F!>XZOANVIL+sbJ{Hg!sK-}5X6Z-FMAXc~g=-`H(5EGnnrlR5% z?5I>vPkZACJ2)Oa15xySuhOM^f=AHzW4#9lllAFyz}hF%j_nhHXsI{4D!~uSi*YAEpOv^*p_y=bp=FaZn zhmG1H=1QB9{P0X%cjEQ)tp2?S&ZnZEF8V*fytkMija)mCOA`e4!Gjv)3M5NpG(9Lk z2}#*qd2@A}Ao1%=QHh!YNL*VvX_%!OB+%a=6o20f3Cl-~v@o-S_)jrX8b-1ZpZl$P zPrVkzNB?}YpyD*d2TG65+LVv$Y`m_6dO4hTK)-(Ucg4JX%zuttxyZGf_!KukwFsC? z91o^7IbCWbR&OQm@DJS~^f$VyqP97b6`M8+7x~f8p}sLvF2^*CEHT}^rg5Y$p{^Vl zk+gavF}e}(qL+T&qmfbOyo};btUcJTK%EQDsiRLS`Yywq5X>z_jwt>oG_#7m^^%87v@vQ^=Tkf~G_{oGvR=*!tliQ}qa=C2=z68n(?{fU=%lJ%G7 z2jt7x5Ibtz=>o0+7SXHn;0(Gu9w-0^j_i2o;6XxV&?p@?)My@ClKK1#^ z1MNB_G<2N0W|k!hoEcF-G@ z4>T9^_7Rs6df{=KrHOOozJP}-2C(*FUkY`{aqc_o<0pZ>^to&%X94E^Kn^S9Ql|f% z^v~r@Dfda3<(r83UFL*W{bQe$b`uFaWMsE9=ri$axRj^adXo6u6{Y&N3?p2F2inhO z%MdRM4_=G8AMqUEDt<_QMm+7Now#aShm~G4{c6-j;hZA+h@)=~=Con%8{{xUt|Agz zok{79n@_^x6bHky(F;yA$@*Qngq0$ zbhKGokO0eUGUMP>5+K$t+t2-owH^DasI$R21@!4c-w@0Z#@vU<@fNx0_Y?B>w+Vkg zLc$6goAy~2kg&@wU-gvZNtoP5CpYJ65;{A1!{}*VBt+X{*eZoPgtuni?!3W;B>1TK z_SAwx60BrrFjwj;33{imdV9l6tTV9RGo)kZ=Aq96^xc3tfVn})aTd7}NLXa)g!_WM zBy3<*MClv)_ls(xti3J$dOA~Q`A7*!SZL>3lUrX%Xj>egKYIfSb#&fqY;}@^eA>`` z!v8A?IrPBxM1eaA@v<7BveOEyHTFGG*N1b*(P!O|FPr1e=GuHfj!@)^Bw=l4Q3nIO+aB%ie0Pggo52V6+z&&xU+*OOE;8a_ATszGk>`%nHot2aat6hb| zw)lUB<$AiklfF)XIsJw`!s%ZLQ;$g#rr+a4Slu4N%t=%c)<==Bz8Zwh`9#>s zCoI=+*fNlF_^f0Z_&pKHS5T#&C;2Vq)u!T`;3e_UcZNU|+}7N#JwHzqoD@PO;hPF< zEPf#NE2j>uMqN1Wd%Xxu&U4$Bj`{?1EN6;rYky0a+9poeK8LWn^@N=}O&Fj4GQ#?* z5hf?8o3Oc82+JW(Sgtx)b?i{ftcUx+S*vVNM@SspmsQ>2>6*gUdshyQ7>J<%Ulo7R zjsz)iJoaLus`Fy76OP# zokiF=`tR4@K2BAH^_3uO&UV7)E+s6-7{YKp5(S;ucf4Egcwi~+*EC3fkIY_YM#npo zIpC<+a{RC_mwx|tL@FiZEZFr96Low*zeUMfy}xR50IaS&-gme`2&n$L4^07epe}sx zwN`EoVQRJ)Vf&hd(ba1bcFut?KKH!|>$``rITnP;HEts;M-5@Q>WT*U?P$3y77Yu< zr|g$(9|5Mxd85_yWWi$pCADO$@nD(sR_gQJ31A^9URt+xC#+H0dSq6}Wia-OnKrvE z3k(mZ*ZbAVgYuD*^>UHDgsI_M2-C05C5-OV6~fLvC5(^jdBXaN5H?4aFuCV05|*Qs z!*ER;B=QNldrDdci#`fn{n+d-1Ul0Le|D`G2cz^L zuq3c`l9F{Ma9m2N+@lHT&fnB~c;Zb^SSF)c&{#;A`mBmD{Rx?b(M7ovc5Vk@e7che z>l;UyoW4%Nh0`3*b7LHqktt-NMgm|m%IuI^bmj5!wH+tkBWne_6FL<$6&9IZ`tq!a? z;L9c2`@Pb1!>h#FbuQ$N~9z zCl05a=>!o98ZFJ|5T=rMgz2AtN*LYrOv220wi3qYkX#Yt`>oY1}wN??$I)_JZHC_`X+g63g2317#c&mm%AAN2+ zEqB%-&K(f@`-7$PiK#H$Rr}H>vx`L?59fBh?I0YcmZTG=ztVs(x}8xRW=@|EzkTM5 zP65Vuo*6JXnwx>m?FW`a3mC5ai)4HgucydWh^Xhzkh$X$MP?S5<@g=WAZjCGKD=_j zNG6ZkRXd&%B4a+k{jO}+%o$KTtZmY8htu#X_3d35k)ooKr5&=BeML8u|DN?-vW@e* zehc2u`Q0CHH&DdrdkJt+tcR@)z|AA$bxWwol^8W3w0Un07$3t|MC201eKAVw%X$Zpmz*m1Ia|6=<7 z%?`IIJtzGBfgP)AG#)*3|5KU%hanw1H;6uE=sSQpxLAdka(W;FQZ}L4o(AgW}iXRDndGCWb z?IL-y2&nEOW$DDCPxh%&>%uNJxGY@`Cz+mJS2!KoN2tb3gWNn zIk{E9n} zP`3U=U!~pe&nNaY+5W)#6Z`fu>U|CZ4zWx7zK%KYHW8*wX`nqQ~)i@fGiu6iD^)J#nAJlCp(LUSe+!L~k zha@}ws|Oy}VttJLB-BOX+>-Df!H*TZm41c6L^=281(5E#s8pJ8YS z0=FCX-#?dtV7I^`!EQAOax{qI6PoAZBE8oN&p?o87$7sx0|c4Xi?U{n1wq8KOKIT!S)L|=LznH&!0-a!s6N;`CFFR z1s_Lhn@7j3qUXAl$11grhwQ#n?)!E7juv%M?hE^!FRw|!8i)N3)b--rO!TovU;11j z=CHYD$RUhes#Lhe>G=cCeW{QZHK!|&R#SnwLUlHZFDU=PwKT7#D#d@C0oKE>DpBndWLLJ3D`=)H2AAKIw=lj&j2G{;nrf-3|2ArFXK1a~k z8*|PL<+27$C$M%VTG8M2^+5Y_WEtLN`jl~~^Kd1bSGz3CBJSl&P_>05NuE4qy``)N)#5oW2 ziALWj%(;!Zb;z+2xfH2j)x3Zi8~Q2Uh-9Z-nx+&_rQNS&hAS0(?a5yg=WL*YMM-t5 z%}FZAB>I|Z`a&x3cwlGDrAt(xe5GmmA~7leYBhIj+E4*|53IYIP=NI&_BWtT6z2-i z#{hlzV2%yux+BL50 zjp%EDIcG6B@tm7Z7X`)B{~ zV^naX&*#l9_o?9235wY->7S2va!b9|yv27Y4=Q+UR(YOY3|9Krjp=)#ZXeFs zq0de9J&rlbn5%;v&B*0N?`O-A`jovC&&;MwEjfeY#a9mJIIO04#{`3&BMK>Bs+T9H)9OsV5Pvs9=M#Wcw;7uu_xHixOYD8^8WjNxiog{WD+(%B)MbGMR+rtCT@w5aaM!b zgi#k-*45wj>lqm4&BR|e%4pWv45nzU#cVLyv_s8tk8cQ3fNnhnSFR z8ci<|t4lD%QXN3O(IUBMTMXRE%WGg4Lhz=IQIT}Ec-quzY?v;&Z3df>3dA32P}pjS zZQ$vlHOJfBq}!z+{Ix*=r9KXgG0O$0e5ImdNPl?%(F7{!tzT z{tDK>zkHbA5@)theNpEneaX%x_6sG)oE_T0BbHT{uY>XYChJS(QBLX~&09>26s(V7 zKFpuGJev1a<*Cd2VBY-Jm&>ENp#G&UFA&arm_K!SH1F${*AMgNi7=yvBq-rYlbnhr z{vr3m`-NH1h@qG_QSoFkZ#mi_NOzK#>IT&TbsMR<70|Xd7>zx3#&}U9Xda45f3Q`v z)>Dj=rm178`oCr@xj9{GE3u$g>R76_cE+klu?moO$P>VdO5i0ui1J0E2PYywtQ7Qnu*G9Nd^v6=kYI}GQU+hcv7x(&QbqpxnMEUTZ3V~ zRLAYC=B4#kUDHLjX(adk!vQ_s5)$ye<6>i!UV7t0kM zqBCM|74fK&N7^h`u zI<@80KlqkS6eAJ2Fr@lJe>6;u>Z2G`zfw<2y^K1Y=67K`=h5GMb*MPWe?a=x;gLql zA5(`Xfn#5!+Uamb@-QzuMY3a z<<;TevOIP8NXAo#|Hydi@QIA44xh?+>hQUYCxzRJN(yvFlyq$SU-P6~f^z|iu{YYOQ(rtg|c9-?qSwBgL`7a$Go%_4c#kn7e z^PlrLujt@BA34uQbi5QQq-t+E+e_j&;cSN}Rm0g%me&uNwCC0RM;)@&bh<@5L=MyY zo#R4*%=A&)^Kbm{8(A;j^x*+nAK&!hVOcNU^r3oweA9=&$^MczeRx9F&o_N|TJ}f1 z>BIAKKYG)L7vy$-(}!w5;hR3ZBBf=(b1bOv2O5C{fcK{wDHgn%BPC+G!wgFb*B;td7#yl8(g z0BAuN(1CCe0V07OM1g1!0}Nmw7zB)fTI(iY2Gn>P4B`Mi$4G6NcrXME1qmP#B!OXI zI2Zv&f>B^J7z4(FabP@n2TTC(f{9=fm<*AA?0;F<1gV0ZYL$upF!aE5RzT8ms|p!8))WYycan#D zJ_9?zPVhPS0_*}`g57|FJ>Vb^w;5)D%8~_Kw_uvrt0sIJl0*ArR;1_TN z{0feO-@q|&9Gn0r!6|SWoB?OSIdC3a02jgU;1akDu7IoH8n_N_fSceJ_ygPqcfeh6 z5Bv%K0{6iK@Hcn}9)W+rWAFq#1<$~9@IpSS>WX0wkQ3wrxj`O~7vux^K><(@6as}o z5l|Eq1I58xpaduhN`ca#3@8iAf%2dNs0b>7%Ag9+fU2Mxs19m?nxGb_4eEfp;B8P3 z)CUcK8)yjJfd}vejX-121T+O+pc!Zmyg>`#1AKuWV4x-N2dzMB&;|s6wxAto4?2L3 zpc4oLok1561cE_V&<%74A)p8733`FvpbzK^LP0;!9}ECm5C(K097KRfpa)SP8pHqt z7zhRdBZvhiUiVPH5I0Y-vRU^Ey5#)5HRJa`980Pli{ zU=o-Nrhutn8ki1dfcL;mFbm8E?}HD(955Gr298EgTcf~{a1*bY7eJHSpC`~x{aPLNC5xiQQmePrha z`J|8R{GfpJkzEiJl0LEvgCf#Lc2Q7F`p7O0-jY7DOMsHnM|LStTKdQ?1IkJt+2ufa z=_9)Ws3?78R|1u#kL)Ty1IR~qRZtCRq+K1u8i0Ic*95fy`N*yf>HzYQT^GC!$VZxy zcJ)AgX_Iyhq>pUU&Q1ErChZzZAK9dxyY!Jw+IdJH*`%GP^pQ>4HIhEENxR0c8K zMEb}k?V3s-*`%G9^pQ>4HIqKFNvG!0N45rd1M-ngI<)}gBb#*c0puf_bn*q{Bb#*c z1LPx{v}1sLq#0?~68KA-v}*-g0v1LPx{bm|VsM>c5}0?0?2wFEstPid1*y`+z9(y6!fkxe@Fkv_6X zr@qohHt7^9ePokP{iKg<(y71nkxe=ckUp|WC$036O*(}E@{vtC=|GsYNvCi?KC(%t z2tYovNvB9aKC($CJs=<1q*D|iAK9c+G$0?@q*DwaAK9dx0g#V0Bkcx)LDDAejM7Io zX%{PfWRrF#=_8x8GfN-Yq@6|j$R_OuOCQ;!U7YlhP1;$dk8IM(CVgawfp|bZvPq{Q zfP7?=PD26t$R?c<0Qtx!oe}~0$R?eV0Qtx!orVGOkxe=c2jnB0bQ%H3M>c6U5|EEH zBke|k(b6XE#sKn>P1=nGgp+8IX@`(rF4HAK9eSR6stmNvCOmd}NbO(*gO&CY@#g@{vtCy$8rg zHt94IkdJKAX%-+K*`(cUK)%s{bb23rAZ^lVj`WdDI?a_nvPq{8rH^dVX`b|vO*+k& zKC(%t1=2@0>9kP#$R?dWl0LFYr;nwNY|?3w^pQc7+y%=l*%0mw%->9h-wk8INJOF%x-jI`Sg zxU@;TJ%D^gqn0FaMt(&-=|AK9eS_ket4lTL>K`N$@negNbnn{@gSkdJKA=_f!wvPq}I zfP7?=PCogqn5|EE<(&-c+AK9eSX+S=*NvAV_d}NbOX94-hCY{a!@{vtCod@J2n{>JW&P$tg zx(LWeHtF;`ARpPJ(pUU=@026n{>J@ePokPcchPO(&?`Bkxe??lRmOZr$42SY|`m3=_8wTx-WfX zp9c>B`N$@n{s!bDn{;{z$VWEm^azlTY|`l;Kt8fbr^kSNWRp%$0Qtx!?VbYik!Gab zGw@v6q}>bYBOBVeVxag)M`-5?hvFk0p`B|E;Zyrils*sm)czFLT$r8{S60>UPpl>U{1 z7$?o3lhW5xNZ6#4((h6joHT=WO5aQ|*rXY>Q~PNY9ig4l zU-K5Gk&S`UcT-Z@q+Mz0Bb&4cd)`i#g&Hgs~;NFUkI$+apVAKB2!wHhEF+0eXaJH7OgW~5ydh?X{K z7bAUSlXeE_Bb&4vD1Bs;c7vpkY|_psePok%vC>C2X=jo?vPnC$^pQ>4S)`9_(r&Qy zkxkmgNgvsyomKkCChcs}M>c5}FMVW_c0;6(Y|?J1^pQ>4B}gCHq+O!)kxkkqNgruO z+6@E4rA^w6kUp|WyOGjIHfc9X`p72jMoS;rq}>?lBb&4vD}7{>cH^XvY|?JL^pQ>4 zy(4{OlXerNk8INJUFjp6w3{e>WRrH2q>pUUZnE@|P1;S7KC(%>snSO_X*W&!$R_Qk zOCQ;!-3;j?%}BfVz)WeAcC)09Y|?JF^pQ>4y)S)alXf3SAK9ec9O)yQw3{n^WRrFu zN*~#z-8|_do3xuRePok%3#5;1(r%&jkxkltBznTs?UsWT(kAUzN*~#z-74uLo3vXkePok%Yow2C(r&Hv zkxkmIlRmOZyYpUUZm00MxVpHwkh2gZYUzy$Cv zmnZ3a2WgyegQ|ouiz;74IBfo@22a3K z@C-Z$FR=e(pj-#%z%VDs1#*KtATP)V@`D1PASeV1gCd|PCnOE9YH4$2s(o*)VKsbm1kw6ckKs1N}1~3o|0!9!EOu!5*U@(XSR$v41 zUi*?FanGOqrhk|28;#cz9>f_xx9C;$qALZC1x0*ZoS0QD!$`GewRC#aLkc?8>DIbK6!<+zA-aajzu zg8kq$xQn8(4obbPk6}wd+myBgX-Dfz>za*Z`}Uyike$%Bz&@>)zLvRdI+8@<1tO;s^x{|js#4$oSrz3aeoH-lARp3kT3%ClNV!cp? za?GM*OfY~x$!+{)uy=yxU$;8TD)s(fv0P&Uc+^-m32hXtxv`~(#*p|w1D;h(p+cUw6NQ2d) z#ZlwG`lqZv)$IT1pVbzp!^_hX{;O3$UH|`T6_D$n_#a>YBs7@*lYc|ZrdWejPj8Hm z(_5|oMGdGuk%sCS{QWCos%u)u>2)@Jq$WI3(>W-pdw_--AddfKkl?=#sA+AEjn$bV zHG%kygvLKEIzCo!vRO4K%Yj5S_@aPKA8&17w%9Zc8kic`Vjw}J)z?$gz@QOdb8s_Y zN}N8@fOjw38dzagA{jMEWS`-HsLbQ;Xkn* zWLe&tl)q?$O%nkvFz{;Pu5S|2G|JswV>W3#-8~yM@NjS7?wMhsfrjwTdTWfDeoDv) zeNm%h0^ym>QSL?d1EaIeNqygWSgjXj#^(nk#r29ga$H&E?l4wHkMVOTJg_PanO`5j)aE*tD#>30I zNmFmnrX*kE^a0Y32PEht;_>Qkqh5)LZ-c~Il)xeJdQDJ-4ePG)aQAj^;@!wy*&gWw z{O^rZjqhNx#M?CZoP|EQzP~{$652nTlhJ6j@g~FIc)eB^LA$Z?0gRL#P^0nH_(w)| z(;JnY+!|xBbk>=4(R%cHWc;VW4r{W-nT>eud$cumBx(Ceeurt`Oqm^x2UrZPzSM0=}AnSc@&uUpYZQ zpXAarNtgm=c@pr|AW9|+XXK`US)K&!Jvd}k$iMPYhS)54ZA*4+5u`!^v)nAc8nq6* zyj>`d^s6HR>cXvNW4uj|Z~EX{UHBYbgbg3PQqI)&9}g*{&S;6ziP-7?I~GtmMd{)a z(?`R&uO@@_O23||#zlxMYNApPUsao53P}BwMqPw*E=YG?@zvB8y|^0DnMr-xS^bF& z^$F*?k$m8w6J56vvi~$hPt^m%%;OD9bmIH z+^cG-1Jji=ig*!}HX%FKo5X*`i5}N_ty+r{iY_uz8y-QYdo_ob)`0?Mad>rXPsw6W zrhxWd>!Iaf4GJHK6P;Ks$~o1aBlR%LMzOD^jUmnu5o6TbTD5*jv6mf`OBQEk$2831 zBuWA8d%GBA7-`T&YvmD)#?$;ca`;jY3!-B)O*qQX{?n-5q;yrKizG)K*~;RqjALP( zA>pOI3`bTui_^SgTiFn6F&ZM!H=5C(BdeUr%8KyVDAq*uk;H1Kv*cAR8_|Nb;4(#@ zaelPQ_BTZ`tAa|3j%*aG9=8HA`?Kqmhh3ZEWO2@;Rkq_CDg!Dl_3X?LT~mfk_Z45! za((T4(3Du}tB98p_0^yb7$W0!#+Q$M8F~J<&dZ5!z?5Vyc_ zS5zOD9p`zMS6qHm`%pZclB!^F)tbtYvW=<1N&PiiG_!HKkHjrQv&mqJrfo0(>~CXd z*=}&;Iwi~Nc?xLn6@8Z1^AynD%ZeIR{q{Z|3HhzPw!i5RO(z#Z!ZeWcc6HsD^Q!KRP1yMGQDrU_^*69} z(Cbc*0z_(!y4dhYofePyP59kVN!1t4}F6s zuYb*q48>Cf7V#uUN+fAHoMD_E540q&Xi8jc6nz8tX6cm5e3V+)^o*U>ViEV?QbGyK z{(6Xp0bS0gIV>dCMUy!$R;yI~*Q$g_T)75N0?Na}zlf#ifPk5G0jaBO?-4uFhT~v* z-cx{4o57|?6VM%hY3oK7W0YY=NB-o9Lc=Cmgh)FH0aMP$ z$x%`n=z|pxGp1cG)3G!GwH95(AUvR%Djw>gMQ^i4WEvp-1dWCiOo-CQYU3@Dcv?Pn zFtU9$jXj$;Zr;?(v-xYSHv&dQ;rNy5(`3Gyp_cSnWHqkQn3Sz-GMh+DU7Xf}CZffh zeDQ;gV#hY7vmRROHeH-8-h!dtl6+85SKa=DgGtovNW+i}>kn0%dUhQTWk52$BB#vB3At2RldY~nPcyz?J^WY!@W|*F` zr`RDNYCP(pQA-EvY~9Kk9QoCHO{;8Y3zklrxFk!$H3dCPMo*2?!y?MbR2!a%1_cGp zYWGbu4XYd_9_ zU%yg|4DtIKTs&s7!c?*Cy}VV9@LK%D2b&{Ue3RvEwfNv<=>MrmM)P>$$nHfE+H z8gUL%Gkp2t$5&&F&vfYwCLo~bw#cmcVE^Gu2F&al(g6)ch8eUq6)EknHZsG^8aVds zb|h)ChM658>_0dlk}g5%kwU-M%a0-2pP>>E9Tv$g&eXM#_7r>j4@I|3rq`tQZxrPM zSv$n49jJ@Ys+~6$9eyR};8sq);>K?PDX2Nzpfll=AFa2==;ItX+8`jcZNzU~!gba( zd$MC1(sK@}`<;rDChwAv(^CCf!Sw$NqiUie8ko zhrpEeh2^VJZ~HaS#~U;MeUy46!!52s28&joKs~#33Kg9+DKYKW&}!0KW24Y|ASpB2 z%J!Z{MfY{4t#$`A!~;t<+e@9f>PkBh&?CepR{`LSJ6^wb{pe5?*%@#LH%^)Sn4swkj+Pdon)Y~{{4H=%#nm@S)F-7?uZRDN55D-|n# z>0+>D!&98J)4uw*6{;?x8meQ~hAEjOuOtP`@>vY~&nembBTC9J%V#m{zt+=eGHq;9 zX?Q$F+#>H_HRBZnxEKyd-h?4~6V5%!@+k%_L+#*~UTQ!S=+6-il^>{!#b5sKP(b=o ze#XCebTGqs;~;IUIWpcD|8ir*SJS|*%K%zO`C!7!t4kh7wlXRYE<&UrX zN2`cusL*0XyI6UKD&0z>IcL|KeUyM$S1r0}aQb_>E;>>Vv;8?(YYg2j%jD?b$X2FC zvD(5(_ajd_IM~}UuF)joco=QXBt^RLspsDObvLrh|H#it#4F#jM&3&}wf3PX?Uu-#K_YYCC{Y3via9)1HPovrV>VW@+ zD|)=VA$v|w;?(_$Qxvrv#7`mG$hWOT2FIE4lxwWKbVfR9+W@aPMNvR|ZxpJnnhbxV zP66%fw|T|ow<8&5+4iD<_Fe@TOcBQTNWB&>VZ;0J@SH<*j2V3->SI;*H|ONBCT*D1 zr%`*`hsx!*){xncw(Y;H5CPLa-jJN40|Djrd?rcSUk}x{Ib_m}VShm7@;fdbPoXO> zj58XnxHU}gLNu9a+hY_}=k+&?Mx$(A+y{`Ern}U0VAp#&ASz>&cnKvojr|)X%Z@5X z_7tn~ldH_$1!$LkbRd(rgCp^dLFI06oE{Gl*py#%X?0O_If?EEG&Ns4und?SC3zoK zYqmXGSY}9fZ|bR% zz~XIRnY?4efq?W@9cz4eBwn&ak9ViPmuY{+7VqK2dz#{7!_nui9;ww;xBnENyp~Ig zS4NAUm8pT$q5T<#>utKs<3U4vA9c&J2iB2;LwLNw7)ig3lE*`OS8A%R4Ew811b!T< zJ=#~(yAQs^^xA*)E2LDv^+=tYu%T8J$@dn%iw)`_G=ie z!)xC&-&Gt4C|hr+hc^87&x&VuQ!8nIK%?FiZHu8BT^atQ%l?4$B%@KUi+U-yS-D3qkFNU2Z0LNTb$g9_^k{FkQ;+E>y$ubMGfByv z0y;a!NrjX@yb@f9r;ntTd$N)#s-?APNj%Xc(=F#}k+I$eRtXX`!Du zQQq>;k*%C%>&BsgneBFzB(}1hEeHJcDzn|r;eeU#b|T>GU-VFwqGd#vBv~2!IijKR zQp%zDae77_boTd(pywtApVmNsmpOw3u~F>WCN2~siyj9@nj#ua0^02vC8zitIXEO_ z@zA|PtDKm1hW1yR#O%&6DZ4XF%H9l}H@RMQ68b-%{{Nv#?A*%#=Ueer1v z@id10PhwDx_+TBL>_+b&vGTRe0iwyDp0I}`uI%;PSFzx@Zfz$ z#|TG$@PeB(ayw-3nhnP?%;MV`4hF?dl?#ZOQxi*_Vp@sX*c+D?;;g+6lQQrq*SEWv=hgtmO*s-I{5WE8l z?FD@Eh@Ki8geOpNuMgj%7Oy3+H|8tPjCRc+HYeJ!xPzMwH;~kQIg8s!IMFLV7fWu^ zXV`WXO)_f1Mp$Lrl~S~8-7=Y3t-*LJQuci5F*#snjbcZ7+9@bn*-C3Ot?3bqU370g9AH_P+?2@#n=ez3|E8>QG&~h(x?&C=$mnR783{LA+Vr!_iX! zF3vIx=;?UCOfSwHyELPFdzpOB&C!jLww0+Wi=pEIGx^A>W7m3FTa?GSn zN_zFD-_(Ojrb9K8Os_{B)iBfRQOB-Ev$!60G{a2JOpfm<=>sNTk2;!Rrq`o(ouRPp z)vcW70wDE~!m+DSM5Q^p%4srG13Gd&n&B!Z2UIte9ZmNP1E#(nb##?8 zy&iS!YBY=MQAab(^m^3cfZ26Ds&16z_rIzRb?9)07QEk4X^7AhTl=r4V_-RWqCcs(B8mypsdR3&tHl{3AjcQnInyQWuHjRI!NHN6@z(`$N1 zkJ#CEO)oOc#(T^ZFdM^(+i=>r zw*B2Kbm@(^Z>9~CGUiagj4!=KQ2X21^5N+Wj{ZtS2Q;(}Nm;>{E&BsTnxkTMnS4wN z@$C<&PtfC=Tj=RZcmGW$i%YW(T{?tx@DJ34bm$z=JtQDl8_=aqrq^7!uuZ^y@yryY z4DEf?Eeb!n%;5FGs+#uiDbcanyiuY}@fM>w?GCJ_=g>xpF+^s%neg9e(y1p#?O)}TfcO>uke8~Y{aZO*Ky54@ z!8aOW)nD%+pq*dINgq(z+9?rzHLv@Ic5&XP%SP%NmT!5-CP7;^8gCMa)9aK9>cA?e z4ye9KKjrx7Xh1w45`%Y*>r9kg>SwbZ*vd+VDW5KSX|3(cQPnUdV7j%oFB~=J#70rJ zwb7jVd$JB!>^O5Y-LKAYKXGJVrbpy62}W-F_vPeI*~H-W7v{M1zhba|D_avy_&y5W zT%Pet+kXnco8GhctT)7#;hi2;R{K{uAyTIn%aja85$xlIv!^E zz@;Ncn^(LG%Kn1`0$PK@2jZyk|q67 z(f%VgE`7552Y^xW#>|foj%YZ@YEeFmmTFU^n7(*l4ekx#^e-NS&_`x1CoP%fcNFda ziX!f%$S<3rIgICc(p?fbvQd%)#$|AZb|fG^Ge&PYNzpB}W&hg}(7K_IVX7Y@OC5}C zhcZkZ5RJn$pGy1p0dd(EpKA3T37F-Vd>jdAi^GSuwXun)HrT1ty>`gn(`Yt#>HaVD z!DhXuJEuAoa4O(bz^Q;!0jB~^1)K^v6>uuxRKTf#Qvs&}P6eC_I2CXz;8eh=fKvgd z0!{^-3OE&TD&SPWsen@frvgp|oC-JuuxRKTf#Qvs&} zP6eC_I2CXz;8eh=fKvgd0!{^-3OE&TD&SPWsen@frvgp|oC-JuuxRKTf#Qvs&}P6eC_I2CXz;8eh=fKvgd0!{_~vkI`g8Lv9`Znn1W>gUIJ zhc6%WaOpK&or^cR^R;GSbj9THhTZ=3`gpN_@_3!&0UyLZKAb#W{hb13G_%Jhk5@Xe z@oL!ZCCTHZmVemK=iYb8Z#dLD>3Pko zL%lC8iscpG-TZy|eDiss>VNkc_F<4ujq;-g{Z#QMCdQ95G5vcc=8t1yd0!^ttzshn z6(-8t!9@A_naJyVrsfqA_ZO@2R%squVrMtkv5$C{Bc6O;!}+{@k;CZEtK6i=b?o-2OUOf4L*PPMK+`jNCUaHN_Zl7N5@8g#LV#(m+ zU6~laz{K>QnVA1iCYJBbM7($=;!j|ryib@Ye*_bG6=EW<2fWWkQ`4_XyYVp33z5Ti z#`2Js-sR`cXuyN+Pc2*GS!3RzPnCk@u6)2--`p7X!{r{_Z+OhH@wN8yrkampZ+PV9 z^^bQizrNBMUU6vfk+^-Me46&u?kxUzH&e#HYsbX&t4z%A%Ea=YG7+y66Y(cAQC>MF z%CE#kUNxD>%g6^z`1{?kJ$fEKq-0=Rj-Pq&IrV%CcK(5P-{d>vSHDkrQ0zY|8h==w zxBqVZlTs%t^VTi}zN%R*l(+aeuFhK?yUpr=o3)0%|lmr5}) zewc~r>zJ6|pNZu=FcB|56Y=vgQQmSU%Kw&$yh54C>k!wqnmn`V)314C%pdFa99YEr z83V8FnK_;JDm(5@m3GH?w+~vm+#a@wcQzNUSNZH6-ge2Ia}TEH;w_V|l&RRH0dMlI zU!&=tT;(+b`qX(+beB)t5ht&&_iM$J@nYSWGJR=TCgyi%%JS3hG7;}bCgM+HqP%@f zls}${ymm2>*E}BnthuS^dz*Pw`E#=ut@)B`f3OAJ+;W@ubsIJG+Vcmzhu`Bd-w$iX zgKxC$5qx7l?^wQgxV7(xymg`XPehNp&zs#`)hhRvyu8k`>FYnOmE_ZA;f;X6JZ+gW zUfYX_=^dGv|2Y%Ok7gp?I40tkXQI4wOq73yiM&=ak=GU;Im%>lIrV}^&wa1xgSLyf zE@E5aFz@QT-~D%X`iWjgt^_FlSnVAnEC887R@ zl<5QdGBN)=CYGPZM7+67iGThM6Xj``D1RLjd97w5uXlLVi*7%Dd9fECShD=$&ADsw zh_kU{yZ_mYhaL6v7~1+K550F}TkTK0dC!kW+~{*_Jny=y#g1>vt>7J=MDG5oWp3_Y z>cvO=ZW4F@Gy12cv&;LmuU@Ww)78V77@xw#^i@pEUyO<67cdbonu+)tCdxa@MERAO z$jgg~yj*!q!7pxAySknas`}Z*9yeTg%(mE#AuZG`iNMiQKdMn#05RAfMowe;s&|aGi7`&FtPj%CgL4nBK}Dx%InWW`FWYhYdTZ%x_*quJiD6f(t!YOEIqX06Z0IdKfb8n zx{qq|@LfN7l-_xeYvVV19=$W0_u0Cyg3I-vd5D+x!}?Pm@y^!+KCU*Q6K}mcboXAr zB;IIo&5^(FI_1;FyZz>QD|Rzw{7YXZrdybp-;0UmuQ3ttYbN3kXQI4qOq5@giM*;a zk(ZGhP8Ga)|^=a;@xuRWp#Ed_Rzq=xshm9IKVPf0^9{N_DrB4P- zMEn~}l-GhOz zWVhWH>-^G&>ze2f@7cee_v?AuJk$Cs?-_fr$(g=YdGNaEyZd|p#M_px-+ld-JiN(^ z4NazB^Yig9G3D9WF+G?V*D_`L<|9nZznzKYi!u>!9~1GHGEv^!OqAbM#%i@URyr|`n**ml{Pdk`Jm&UyvkRYY!u6kN z!cNEbT|EV`q#$&%=V)_Io=5NBp^23=D@9BLe;(x|Od2N{}zbq4Z4PYX#z1(NE-dUH$8LFFD-smu+FqI2He_LxV7wJ$%lPY{o&QqN^V1uw4sszlwMPfff}m-B90 z{{D@3yD`fBY(O0EP&@C*#gSWh^9s8QoY>NAS5UR~592?s!<6yOyP25YkBRw%nOOc) zCgQbWB7QX{%JXKT{0mIv<-tT=g?Q}L`KQ}k@^DL7mBa;yhwy^vzo=^A-i4p9zCCoz zt}fAC{KIPRVaoWBwM?0=dB(*2vzW5{{BumiE5}6qiAYfR)7$xUrc zzb+`#np?gcHnQ~cO?*(!v6dabcH+@n3qIe`|63l}E6Ho>l+SqBpL6`5UWnzPrP^M6 z_Js=%Y1g{K^F}}Oj?dp6)+zoT_x^j?{$qdU-xV3X;#lzJ5-BU6_D z`~Va2+ADv+IaiixR))gDZ5Me{NbAK4?$J#z$8C$z!75 zU;i-Z43GTBSfqd9dt5id^XH?cM?Ca_uJDPw3wg+$k-_fXi+HEAl?&zFuH`L`+T1i- zD({NxFkbiPw0TS!-xSJ}>D&HbV*bHQEN^5Y-Vr9^A7Y}sFPJF*7!!GIWFoIN>UD@Z z#9&gs9dihoH^^(WE#$Frs=fXxQYrky8`9mq=A)&g@bM;FZ_dWLD##+~u@umsQN1bVyGOkR| zkut6bJ7lp^R61}Z+<7d zQ=Mc?r%#rqU#7Qp{_#(VdfUj4q8EAMr-*@hc4`|w_q-kMgoV=V6#yzSjQ z+wSsS?$J%ZET-eVYM#DL?R+sFBd6by^AD2CcargB{M$ujc?D$ob!1-MWnLS3Wd7Kg zX#p`jddl?cJ=T5Ab=QU!vP`VY!#3Sm9@)yowKsOnUNF5QAMm&9^&wgVAJF;HtU7-F zy#I->XMghjY~FwB?>`N6pT+x!of*4t-!R_4+t_cPYdz%n2swR(T1q^?Z((Tk&bMAEK8UoHBU zhoAf7z$q^S54T0{>iF9Q9$t6znbw-AT=%F^jAdRft~+(2w|nq?uKQ*FUH>c9<@jH6 zx{I9u9l88T8P6=^e<#ZuF3We5c@>d)b>f4LCKO(Y>s-@U{eLcDY{3nm+`Br(Fp0-h zJXg0=)lEG5t$a3q#E(byj_I3!OI@x%8uIhfjyA4OoLTV9>Ox%aGi&%U%`>hqH)lYz zdt+i z>{N=!%nH_CuJ<;NiCNHS$kM-gOy6gFe)zqW9DgXMSCsSTmdiJm@k+?}T$Z<5l;5U+ z%p361$)&=8^9ele%9w)1XLxbTvVHX$-#*CAOCPSujAN1X>py2JL_@K}3{d70)Q8`{oPVX(} zkC)5)$#^Cizn3iUk}Us6nOBm`s|mMG`RUsM`uW_pDr(u<37_-0$&K>-aI*p*y!Gm( zQpYav!G(5S4C}swTc+&4x^=b>x72H~$fL$$Za#P@$C=O(+-wZ3x8}fFZf^4Vm6Asu zb942REh5*97vsO?lhY^5`Oz*@mY*%-xh2O}%M;~SlzGjQd2QzL`ldnUS2g2925mUl z^79Vd7TbGA;c^4Hb?&C>i%NO%xa&P9EV^-r$AwinQEBU3KKS9dz6IRw^1*AKzB>;6 zOM{18Ui9@W6Cd1rb^WKNcs{txp7O@d^W=DvoZeT=?|xe@e^$mDFXP{kt$XZ zGOreVsIP9~2O+n4f=8c8@Bgx%59zYIXu!^!JU*$!-qO4O;kNJMKU~qE7`J(?+hJ-} zlw0?=ZFsiJ3~r6TvFy|jv$@rG)SN5pW^!xAPr4rH634B@k0<2szDSM_meZ5u{E2e; zBoWW+nT(%PmUl~*e@^CgPUba_Czfj7CS>C_p7^*zgU|fG2aKw6xkv(!&);Wx`hAjVMnb#*WuXQ}>k3mhg&+y>G_6=OT z)^`F=DiW;!>&0Q7=sWYX=D96AVS?@BK3fLzp@00)Y5bQT^P#rEvroI6=0nR>yA(3z z9X{m5@83MI6yQU)9&T*XYx$5>3x-rVB*Ykv7ZR?I+xKfUPD5qBu^G|&t zm+vd%t&#CJ%kqZF^2f-$`pdj_@{x;Ik8%6E4j(lzDWT-kA$-K4(JfX_zQaejR2x=n zb^;&X?zb}!ETj3bH5(F2m=^J2^*%W3H)<+uzRK-lV87~o zcm#X!^hrNH+u{skY|>VxmJg+lqra-DV;{`CwWS#Wui!~pAedR56?eDquI7=QP>%SS!wb^rIj z*Yi<-OsR7$=VCcNK~9H0%KU5P^8Pa3DH(rA7`v~ zV93HFeC&#+&o{LWXq5hPV!qiI<#KssoLVyOSXs_dS?)BM$Com%)yxuGwM*|kf3kt=F5aKqx&@1< z*<#yg=MS^~B@4{;46(3Yzn1S)uO{v@jVL(sLC>#Qw+_uGT@25|f{!Ikdbh+S7IgD^ z$ovi?SWv0ubB{O3Cx@k^zp0#Wo>)$IS;qNB#zp^}QjWJQce~6ZOy>2JS*ooHTvZ^F z8Sji7?Q3ymQGaahF=$3(7Va^yPX450Y=Fn-M<<_O&-&Jgd@!`fe%8x)&{nh4RMun3 zZ%YeAm1H54n)dzFy*UfXxo@Pl#z8s!O!{++`Sjn)Me{L;vb3zt;+t>!z-FzRl_p38T!s815z z$8K1~BKv+{oE7|wg|A(^sYS(Km~M1PaM+CPENt(<#NxTju`t8!hV$QECx?5bKfj!B zpj>W@jI&9`jg#d(mgUZsd32R|`7zV)VaJ+XdY_qVcn|&YhL*)9)tyuomhZ`Uf1 zf`4H#=0Vl2ef)w&1#bDP_N}oja@EIQtZ(=Oix}xT_h+7;h3_d=xs|>>3y*kKd|i`U zV%W5d^tTf8?Or068!O{fm2r=Xa=I3f<<^yX)RTGjWTsyh{p>knG&B2^t=VSqMrJB| zqUxd+rJ1q(xJv!DVEyhDI6Z%HT^5sLWkSV#&sbDKtACJp2eQaTqfgCQ zR+>e&dD>Ug+9Ze5r9Y3HFPB`dyo|F@#;qvJLH{|G>%Cv*F-+#=!AwVgxwd=f3TE!! zeo0X0aAum}d8hR9zgcXKF(b7j2CzYmCluSe@DFAf`(vL+6)&@xitYCtyuX=67rU?j zyZu}irMnYe=BWJo>Me+n29lrpx(@Lj1BxQqM~d66>=CV z{Y~Y39&$O0jMGlW%_qz8ljV+=c|?i4+J4K-{ii)UbkEGp->f~h_85+bdpA5;f2uVz z>n2)!3msynFaK)syYU1w<@{^&C*i&D@EH}T*LnHGl!OYWt?YMYEH)g)o!27$qIhZBa zmxUV^-^t9!+yC0yZ6Pz8cI;dJq&G9&oapJhz8o_d3Vk%Y*nJlJxOD$QQ$twnng#!y zK2ngyj?sSBru+>#yea&@V5rQOLo8Rku8f1@n-aH-EN7%Fca+HE&UZ2|H)h^5;>G1V z7G^25*Sa-#17@jnr_JBPPccjFcR!x9w=%O7zR=ZtAM5%3SL24xE6vPtC-ZmNP@b8q z9_reBa$#(rw|x5^?8HoacgHS0a$XK^NPjai-=te|xu!BsMHzRdET@JncfH6X*Hf8S zJTu?kk$3q!x0$8JPdj!Q8!}7KxNqXe7GM_r*Eb5*tHdl(b3ZBR<(Vb_x{#AA4l?uOQg@$~+b4$;rGJ;4&tER5lX0rbxJ6_+vfMFO zWggf+l)R21j%i`*;qNeu_rdX3@*@9)0Utj3dNZ@EiJE`CQZ8oM=li(#8EwQA}UIx?r7WotS08U(c>oTEZ+dttHO7Y?Z_L(!Wa1H%l(}u84EtjErlP z<>Zv*u9SITsN^*YI(sJVdVe6Z1O!DkY6@MJ#on%y1M@%r#pRC2JvP{L|1)o#?*@0Q zv3Im*0vp`^e9a?MhqA%mle?`b(u)m#yUNO__K|FGmG6FNu;oiRye|Ep$@yl><+L&m zlW_xNIk*p}lv`8gFr5)V6%$b{AH~z${`g~hy+NLo~8E!7d zg#RfM^BrblIUN&mW-t+VDih^wVxrsDT?I^S(dMtoV@S;URw?Us9u@KMxw& z&nIqm0uT5jI%$d5b>95^;FX;M^YE$_{@xUF<1$l*HxD!6@4=M$nxWmVEccu#aVose zMBFM&l(U+Na;q|t#}Ov-%FnyBp0r}+K-^b78#?wx;F^VDo%+_T%EWLJ zQ~Y@wGclhxQkqoAX|tKJP9Zu$6b)yytjusk1!r{l8B)uGf#ZsWj`yZgE|? z*Y8JHjQwUmud;E-Z{Ph~m?^^}xtQYLyOW9el9*WT6DHymWFju^zbfU-V4~b1Oyt3s zl9$gG?iH7-(!5R!dDk&(8~&_a&3jc}RHQPV-|FSns6$(QG!J<%L_c6e5D)(6)XD-; zwRp$woBwHhD3-U{ytwy;qA|Q_*CuZjjcvj!t^Maz`%RxSWw_;grua?0nV4@S6Uz-_ zN*sM66LIS>QO-i9lWjwIe;bXCIea*56!s+4rWbK5cSk%FvAGBgucfCsXFrZ)IY+_DqR0r#=&L zb1+ekH&e=O^CMI8D0G@Bc^$CuqQ<1g_hVl0#$SI>wS4V-yw#FxaV;xs;_XU*dALaN zUA*1;l0Ld&-FU#%D+B)s@aFzM^<}a?8(TN**=Cn39*ake;r-mAc=h0S@(E6Xn*ou=WfqDuB&)S@x>w;rFIaQGtkU4PXz&&&wkG_3H! zBYAf5dRw-y8}Z$E{?-@n`C8WtVal*(6jS`aXqYlzUN@#J_g+aR;zTngu6I)=%4x}z za_4ttN*;}h`6+podg1r?9NW81$G_lj1t!hO*`p#&c@yPjw!?Q-!sMU zHGwJf{n>>n%S|7`M4Spti5vJWQ_5-3l_}*Gc40~$eKfn3ydp=je9;RUY&q!acf~Zi ze9I>kR0&i^1d3)g9r`&U&+w=kX^797Yy3IH< z^fa&T(%7R_z+qmX#JJNHUrc1m@Shq?@ppa1l= zZmZF|l{{{^awV_bEm^T+?Pe^PkG#W6|KL+(^zJ`?h|as`hzqZD_{I0Dp1$C9KKQm< zqvvCI{TF2m{5Ey3Gow#U`fCiU)Z2wfR!%LlieDA6?m{-VKv*7n3qj|X;zdhe}-k%rm*Y-WP=EZhD`qK60@9)m=Q-+&o zFvTC(m?`reNo2}$?W-^)&Y<>8iTgB+E9LCl!YskG@otH`tm>E(`~7DZVSkG(UGr|SFuKb17636+qdk&vO$c4Tf6nZ+e@<|(u5mLVCh zQi@WEN^>a{7SgCmgG!TBiUt}~B!0Vd)~EMhzdyhK_1Ajrwby#Ro_C+&s(bFfz;Y$h zf?NVW$U1=<1Ifr>->pU(Ps#ozrZJK-2on9`}j>de{}pM zMS;}~tpe7kBpz7bj^n^`G-LwDRYfFj{Cb~hTSX>krykntn@JQ_s=shpl0_zNF`DgK zDoREu1V1(OjnnCvzA9e*NMB{Eq|3dK!J?Hv-YX`Fw~1DMI~pp#$2-3AMXT=Glg@EE zf8wb;qQmC%3v}4JYm;^U^aZ^Ztz>mV`M~O?@`3d!t^(GVp?~MH91_5CS@FoAG2eP# zrSQqb>W9itHWU!q(W@o~+Q$(o;m6u#%bUosf;BwR(R`gBU6*j64!K1WyQPo3=te&wIOfa4;StWIMU zu)1U8f%P%t0qbkk2P{W&Jg{7m@jAaUMoF&L7a=98g0uI-bx zsz|?!=Z+b;ROxhv4*0P+hOhG~aK;n29U?lH({8NZeEV0W`~79+t$n7I*{z#osxSQ3 z`4ewlb=UcmFB5rL`KK<`tgn*oE8thMI%Ru+)ivq^*2jomXMcRftAOPQ;Z?F+S|X5a zY{lqqhyZ@!5RV_7*C9^*PVx;!24e1s>lU;gvf!d$-E|7ukFs*6Cp18`QbX=~_#n&nNWNM~<7w6%R>s zgX)TQSAn20qNMai74XAerMGOMpPN~&dSO0dCBzy(-EY->1Y&l7O$~NvgP55@i^Tqx z5dEY-Y0OBcp9^+%Ez1jl=*-$ye=8M?%9szux-Hmej5?oD_cr=iqVFK&xP)9cAtBTF z^l`o6u;E-+uI}&e5HCnjlm8MAeBQmphp1gV@kA5y%mJus*65>SVK0_G& zyfUpXwAi3O#2PAnFc=*Ku~X9K7M;?-NH8DF)#-o5zADr?fx52fbM~(<$6x*#~R{m$yoOCUZ^p}cv>h#R>xSfZ;DV&7f19TmC;<0{Mp)~&%l1=Pty-FxV>9er0J$4cZH4uWs) zH-;#b!G^@s3L`dkfZ&auzK{2K5QsJE{ytIx@h0b^)sEi>e#O(%kDeC;-!?~LzpM%H z$NH)Vj=cbJ^-n_&O`ivG#rIFI&@{xj81u?lcNF_{P-h?NUPqrY^qqtpUy$n@2r}o7 zm3VCh8%#2Gg|2!Dg6`|nGk?T`VCBi+++7DCzBtgw|5OIV%WarcZ&45YbG-*&glPaj zXlJqD;2hu^80w9Cvl{qw3@5Z!WniSA1G9NOtdqe$S=70Rx>4w}1AXcF$8x+!E z{@$I6SfKq#cMF$#C$T=xno~H)R~LAV(3$Wz9W&N5V`1jP1hJR z;_WaHybT%E=i3B=&K2XD2PT7Hcg=i#AWx03z;DoaAC?RlZ)1Kv*3H4bW1P>*=?bpXP@+H&!PX{Az1yPdno;$LHyVA`IC;VfcV`VmdPSB zA)Y5W^y;z>h}W!)43&BW@$%IPX)i-C#$&z?>&~%#Nqs%2BZ<1B|MOve=OBjyat#H+ zNH3plD=6pD3Z+(!91uL)f2wVQ8VJgN27OQ}2SG^nhow6nfndt`HKvW`5dYX(f8WJc z>X&?HP{?YC4;S9E@21>tY+*M-%QMO}IvS)WMGcYGUi z@Q|w*1ml#S4t|_M*ZJ-}zF-mv?tW+p47LVAO6^~Zq0dze z34s@f>GKv354ihhMMM1Q7n@Hv)9YxTb?T^CdY=A?FGKnw zkAFmU&IEymzm7mA8w7)=9~-xO48*@5qaKj-8RDN@H+DTSgp0>NVg3qNx2qTX=sK`E zbRAgTJ?L|d^S$&MIq3P%a;bnoE3xy4@nR6<43KeoI0gi@x9atO)Pms3@T4F;MG%zi zXl&Q30fAu8lU4;fwh?@}HTE#|d*h$+ZXkUwE<`1na-L34hb`(*Evmf6;y*FglTy_=RMjcz!rSq(hEBXc^hbG4rKsnv7ELpgWa_!otQa+eoPu2IkjMmWi;kwb^ zR-OF}f~s8?W46-!Wyz6{b4$*HV9S74$926y5c~N~tGGM}{I_jd7C?`i$JQNRmoCL< zg!xRaZXoSv`zQyiL-|=- z_dh{!t2JS0nJzsqc8LGb?*>7|<%`|}8|nMxFYhPzr|EgDKe_NC<=UdN?((p;AV~L^ z3#41?NP&===J;H!|4y(=<&NVD{`pi0(!p4*qPC)7TsYPi#`-jp=#OkmxtJiT2$) ze^2D5EEjLQ#ynkLw(fs@>Zl_?U3#2ZA9_Bsz6r=d>sctxio!$6VQ@NWhFt-!w( z__qT8R^Zq&pI+1IP@_wpSnNSZK&N2q*e@{0L)g ze=Ao{S9#6YXh#Lk-ekg95B&DSZ(ciNr6!tg)N96A?p8axxNR3>x#X6WYWr`-QtI4O zM};34DF>VH#kxJ%XMj4Ci`8{QpLgi%^_PR?TF{SKyK#85rAj8_+&(;0aeoivctPcX ztYiaYpA9?n&ek!ud$t`)h@QvT7_HbTZ?K24w%YElaN#&(b#lVw54W!}R!e1G$jatgFDj64c2+-9>+WIN$3WN74Vd@);Me8!y5_LmB4}uj`jjY+-n# z2ODZsUT4+}r(bE$y};OYHneTuxsb7q*B_rb_cvn`nUrk$tAnw=Tp^~s(u%RRd>z&_ z=OJS)=jl=Jv=XBY<{x040rq`HosX!ik3Oa7TZJ4w$d$x6mpnQ%(3^5Y&gXk?&NIBo zs^8`L-i+gt1He@|J$}jc07P>7};yFJNpQITS7#y@9deNjq%5 zw1BZuY-v<0yN0m>^9oo;k0aZcgE}6lI}Lqqqpv@5Tt%)MjPtA!J7Cr=#(C4spA(+# zVR)w-S2jzJVw}_ze~C|dz^oz1^)1F2F!oi4e!;YG#;!Qp>1gF(#x8=QLZHDlL2R^gD| z6UJ`s{hHO60vJ0bgK(+ki!rKV-W=;rVP7fg#G~$Q^btYdFUWBax%M->e20rOzYJ!a zXSZodO%Z2!&3)I77k4u}jl@}=W%PP~?|u1B-4kX_-qN^Jv)3^W*-sh++ua!Zdj%2q z+aECY*3+&^pK@XBC&)gLe(HfS8uJ!dw;TIrqK*ve9zh=o^zGv~6n_8Z;zg&t2%9#Z zaUOR2XLMLT!)vp4n)j-Y;kgUVW3pTrr_>T(-UoV~IImfIxy7GZv+ncMzWzRpL#dx? zp*)R?EAAeV8_PKKJDieoAp_$v%u8Y2MC_Y^I*Od``%d)nL|=NJV>$Q?%cb;<;rW!j zePBWuUT62_uPV_D@8b`f_j3j^ywu8t`$Hx$yupM0z86eloQ5w~U2%CU<2Yw+)NH{R zW=&$;+5Q_(GixLlRW9+u$YUF{wrhEWdl@>pla^~G19jw(Lx=D-;(FJ?{Cpf;6fTFjcm`}TTYK7esM=IQy%)+u7238xeL0(A>HpMoCF zxB4z}7$R3P!wVSM-=c*c{}&fW9KB2LLtm#pI&b@l;nmb$KA`ZJ;rUCvS6)y|?@!xu z4_{f%I7OdSntkIZw2z<76BnWj%`?H+l67U3vnHrkHo<>OQt} zea%#t)uHDXt2+yQq|x^|$I(pBOO|Uq!^^bVsY;Izuj$#+hW#20ug6g-X2e>C*P68Y zfG&L<=gRI*7Nh#HTd(Yzt<3NY=C>cRrg2=k+|<`c7^ipd28>Gi$v9nZ96spY3yk|P zzX9vgu}>X!^ilU6`Yc6X1LPQvT>Tkd(Qc_j&UE+NaOy_1$#iWc@N4 zHJ@pn9?S54h>j25wTK>vJ)x?j$1uDzISyq(^gfhZBdz*o0mIwaFjTPImf=Obd+Vf= zjWG-Jc33wA`wCEpUU#gn4Ciy|6Z#HCj>E`BIUj^&JyfRWLC?FBzR&32G19u5QnmCM zXW6a7?8%yp^VsAU6C9^9&Z3%mOWf#vsO_Og$8LH(HO#kppEedsIiyiNU8}P1&5W}|cH|uOV#Zl4P505*n+&fn^f_Oi zUT1ls1t^|-_Ykh`c6O&`aa8Yxl!KmHQ(3GVVot6{T|d?GR_*gHk}JZ z8E4b)N{_eipznv9o(>7V&p6wNzEW>cVVuolPmcA`W}Hnr64&f%Wt^Gr&i$^F8Rx~z z3ig(JVqA!M`o8(6ZnqNlNuv&3FIJbXAM3M$^PNxEhvis^TvT^Jjlrkc-i-4ke}=hY z!8jXeRHcN|_dBnN^+`uu7-zm=UzqPI`u9!C5F_zzG%hQZ7`TUV-e6jDRC@~J9361~ zn-cxIH+-^1|HdsCPh&nC>y}_&BI-~cRyP8Ds6XpV&m)$@9l6%){(t^~1E!WkWF$Hr z!1lpefy{xQ|0@IiLDzZKEc)#8cRWngE@9Ta%kic zT0^>(gVpIi#%B)5l}elg8S|od#>pAwwyRc-de=LWu;YYu`g}c|AL&ildbLQx_B+K9 zPHzz5^oJ78uaR*6eT3tBPB<>Qe^j#WrB{0Tuugf){JhRqx-ZqCECn-Tu$k>NbjUD2 zu$Y|n@y*=zuwuX$$v#CTF#I|wRZJrsboZ;Z9*pP&&Euno4sPfLMYq6MD0yD)ym``_ zZb`ad^`G&<`-Gd9BwT$u;ritWt2gyM;q-k7=jTDtpKx5JgyZT4ub%Jo%D0O_fS$>q z6b%h8YbVkD#?pT4dn$law(%L!z&fyb^IleU z|8uaAdVK$j?k!ka9kr`R+6eR}7X0W5+6rnfr+ImePb~Ma+$Nr0tw`9h^jN~q2euKm zUaE|6{h5T*J4rbGlZ5l5-zR4MsA%1X`?^K8Nlf6B3nk_(NwC_-yjI+p4?^ zJk$&VcDQc=mxIq-Yh_DdO{QPpK*v_Fy3jt)AVCAn(%Roz=N$)w0;Te)U$=qgnr{~0 z4$GH&^>jJ#x1AyE_)s!o=f5-(uHK2T{Tn|KPVY3~^mh=>FO_iqdkM!?ML4c^5Io{j z(^H2c2vc#^{~CW0{6F~T?A#v--o}rfJUCwiZma8iuiO^`@7I&*F}t>aou*;mf)~TU zLf*~0_2z3Z5exUf^y~x7tN5+_Sp7`7uhg}Dk^3hQcC1FP6LwySaP^sl?SEcHIK2?U z=|>aJuZ(_w^N)Wx;kb$k$8{A#vV=L$6tBbj67QA`bDu+C@ZQ9|xjVpjWOlFVpa$@` zqU_7Ncpugd&eM)ixeIHeulJaUd4r|!hiH!cCs?N6*>$Il5@pF_C*iG3#^uqb8 zJ~P4jv`_Aqfi7S-?BIdM314B=WRa22*AE8W-%?7B$y3Yy``Ln>+(E*QlS~OaA67)T zdip&?wto&`_14k-3RwNQg!9WIoWBO)xV{jMOBcdr#?{O(83<8xbDwEnw1bfE-zI)v z>H>i;M?OwCS_QsOT=tr3q=Kh$n%2sBpJ464)AVWZjo>hPe%MLt05FeL-O}6?3VIG3 zJ~m%0EMIpi`Pz;PHH014+$P+-1mWsM2-m-qaC%jQ(+?z^Un$}IZ3xSCsEcr1rVueK z^Tpknqaj*pcT{BHX$XCzpt;`B2ZAnt`XakA6Z{iw?=F_Q4qjDWev|flgDW{8a=Jg= z*ZSK!#rsdZz~a)h=d*0HVM$S1!?AOv<(@84%T3o?5q4bmgK+b*gspGvAY8u&;q(aM z^bZlvk54#%7s7E3ARHInuj{Qh*-}LyMoc2NQ}Z;0Rp>d?p5oK}(w;p{Ql0<-2}|wx zi$24;2`08FDht5P`9SLFb#!0r(x&Gbv3FqgkA+se@Xw(CbXk&v^Xl@o;sr1!s-Cc8 zUN+(8*AuSZjBx#Q|7=!o7~%Av6V6YZaQ*>=V%59DMJ@FCadXLq?@D3) zhA)f4?i_;<>y~rNZ=^!tywhRD53<3>uJA<4>n3pb&o2y83IpDeVYW_peu0(bs$KeL zM}tA1>z1I#obt8KsVn@$LJ2#5{DH9ZXLb;-zLIeLI)u|ZN;v&k!ubUg&VL8txb6^+ zD<7i#azEYJX9lrb18$E$nFryExN-G4A~v0K6%5%BP- z{l3*;2RH|1Y^Wai8my-tJF9!i4va=UxH7h+xZI^|^!QxK*Mu97Anbf?2jS`u5U$^a zuzD(238$YyIKODZ`BxK;Yd+z)_z*qCSgBaw4&qiSi~6X|hwzVGs^)Q35PG_5>B8e> z5EOfScY~4{`0eRFKi)`T$Bsuo{I|so2k`@N>y~gcwEhCt+c!4c7DsB zDDUeg+*pIK^UBW&SHFmG{WXNuv;IjqeO1EwH zZVTb`+z6+Cf^dG}g!6A89G5)dxC$XwZJhah>GNkuMj_6 zW}R-H0HO*{9Fv7c2wx!)IKa>yLYfO2oqC%f(Cgsq?*>V9ztQYF{h$L}A9|fpiZKRz z`h0%yt4df}I;CQ5abUTN55x3qe@D3SAi~YleQMZxJ;L=j5>C&DaQc;m^V1@n|1QFD zT_7Bn`~UtO^1ld6cdt3n9DN^bXIxn9Tu}5kZ&IfjqnX3|J2qaL9Z{^j?C;oUN8jNn zm81WS6~y~>%uV?_HoTKpwQi@|f8%ZIJ|rxB_}@5C|Li4s=D)GMwq|Pj{Qt%ly_x=t zQ~w*Y^Lqb{*?#l?#;pFQ|HiC8@9)@%<@;}6YL5T$-+Au!dHx-9uRs3pm|Lg+^ttt_ z1jndXgS6)5f&0@mp{VQzu!~CBWN{`2YYH^E$4p?;i{SXKe@Lhf51_9F6mDu%7ouS40+fw_(M0{U-;=p_23iWQB-4^(%}Fe{_=^V5-q`FrS6ysTPA~t{^R$N zPLeoQ$9Zq8561p#PVb`%r=K|h{p8WV7rDkG*F^}CcCw0S)rR$Xxg~kqU(|@75t^oy~ru30ly&Inr*u_fp4Gp6%G15Hs4eJ+Bs@!;G6Vu zyUkH4y1#EFZ^1Vu9M8o0rC8sF{d-aGH|j^DUl{tQA=e7z>V@#3FORAUdm&2iM*sAz zp%D6bSd5*4H-rSgY)u)r9fH#pQXEfYX~c8ujVly{zA1^iSrvvZax0Iz+YJ z*d(|448%5QNcNiLLB!ej8|$tNf$+JLmk#i&hxId{dCsB*5EdA*VssG?LfZx5x6j>z z&@Ed%CS0q4P@5SQsw=6!rXcXbbu|c`sqreqz!JxcaK0MrA7KA$)JsHtYxHYFf4Z+I z%hiBfWe|7P&F#?3jSxTQp^sF`UWmyui#}|i15rQAZN(CdAoA`c`{4JtAfi{b=FH&z z5aCvPT-!~k$|9epbT z@t3T`_a%EnyzENpM=@7{zsqdNW_9|#HJ#{lQEg`+?u$*Ec(oAXwruPDvQHG^9PP^9 z`q@L=vfS5p-<5D2hV!yme;oV&r$_hsWc8n;A0Pe4AlF9ZQi6mK?Q*I6Qy?)y>V?dj zde|5{@W`A2`(eYucb*&PiPPuGp9Ci;(dY0(N=|9%=7M0@J${H~3dC16lx;1(1Mz9& z-Axi!LA?KnnpaN;((e&z?oiM+!m%XIJ7PV3E}!ksL%oxzpN@Vq=wF6h>d5sJl9s0~ z@=DTzWV+)^rCcr~^17yK!Y4>bm-dgXmw=5=+fIBNI~q2wSn&C3!YA19qM&3$+G*I3 zR=-6meWGarkalQlV7i0e=PA_o?>Z_oiBIjQv zf?WE@wFfpSrH76>x*bvm!7i!Odm&lx)K7oiZb%Ajc;mfz2qaeY9Ie}#3W+m~^;63C zLBg4-S#=uGkl^I$^yy~>lnPqJr6cN*mG~;wULlA<%_y#0tim1#tIs}Q|$E}Mmb%(@ym9?L1=2>&zM2p=&oevF z`$-&91S5M(Jk4R#+xN_-)#9+pXK>7I5mneUV#3OE-NzyM#tHA%A1;twG~eIQCKHl# zQ{3O!)9+ui<6N9~!}=QRUxs?KQ9l6vEz-H5eS6dIMKuVjX%&Rj$A*ERC_NHnP zNQtxV?ETmeQi9095kCbu9)j~U|EK=!0PHtIy;x5F*+BIBg#PD|OCGtzA=6})p7oW( zka;lfO3nH8ka2m*^-tUTAiZ~kmTcryNHNOw3 zF0)&Zy0L0r|EelTb(rH`vfvJ+uDCk3-P`@YF*{#_^^dsz_d`*Shx&8SPlxl*9fe%S z|8ix`%LqL9eKcfk)6!QPa~(48bt`wuTR~<(@6x8C0?3q<7PKYJf{gT6jZ=RnL&k_% zn@n5MA-!Z?TG?G4NO#+pG4fp+q%R72d8d-TE|mt+{c`tltbp@bSZ{>=M^SGd>MuY) z%EkKgfa8)xuB#xNo_HZ{oFoVnwbGJ5j)1I7^7;3o)FErF$iS>h3CJ3hyV`5j5y(70 z_Im4vlaLvaleXUWDr6cxsQB?o(-!f_AI8)AJ2 z_CG?sO4Kh$KY8?Dgj_Ozxw56-Je-vt3E5#%v5pxPAUqS5czcXI2rWZ;hvf``tY437 zP6c~H){*jSP5G-K%h&AYHl3l6wa~Bew(4cblAgN%ZBQ>{^`CjHto0~l_GlINn=$wA z`0qShe+~O(QEv_Ehoj#F^q&bF7yo};#J{9hK|T09SsA07E$eZc82C;5c&)dE=rSdO z8)Pq806WG>6=x9b@kaZ8`KJ(#y}OQFsv1Vr`>dbl)D9qOJ*f+}nnVya{-f-LYZqX& z#5`b~fa`-2)cM8f9ypFZ7tr?;a=bvUdxWne6FqZ54_W6jV&QxkM|iw8dE+8+V)I_| z*s~As$!d$a$~+S0TvD58@sh0T zlleCKb~|wsnXD^4pp!Vuxz^vW8$;H(23)!_U7OfxcYQALon}*brIOtg*xX^*NyWL8^QVB8H60Y$VLC3CVZCMxHm&dBz)=m zv^9kUYY-x1d5-w1)R^=}Eg>EsujQVu^Chl1V^+ssmmn_A8L}_dekQ#3F;5ohpC!Cu zUw0Y=-6KwVpMzTB-f)pGh52r*d%*R%&OjY^)IErUZ;N%?xjqwhPG^!Sr)xQ$^Jx=DUtQ$zL9UY| z&b=sAX_7ICtxZu3n4wIfLhX%Dm3xu(r?(m|2wp@&gh}_GJQE{9iw-^ClTb?nvU6qA z%cP0l>swZp15$`@Or}_E<1XS;ANE=P5ZxD>jdY(^Hh&ZAZegD$>U=_7W%P+bUm|P==%^kge=!dk#QvU+q7HpMej-60&`jOTL~ma=uofl;0cKuF{JF&^BNMKIP%_& z+C%iZ3R&Hhww{Ds2oYHDD@kyMipqH{`nl2_am_aoUr12!szVPhdtltak}?uY{dKrtl+b+4k&7xevv99D$o^8Zd^->fZ5+_Zqid5u1}ao{%+TUzl{GJ4oV0|jm)ku)=H*Tj=J)HR@pBOpCN1*ez^!W-pJRR^ z)+J(}G3peeZUyHfHyC{tkfRN`hLhMI&$7si>m)9=K3nop2#FgIn%8a?O=21p8k(z1 zNwmFRvfk(}64@eHH$3q-i74LgW4qssgrAn1`%rrT2_L;ANudT7W&La-*w1AuM?Kbn#Aeo79ZVWPU1@U*G=-fN#|8ZiJU%8 zVt+n-$lFjzVn>y9k2!pw#EhR(a9>ZJL~Cm&EZ$f`qBe+MyzldcM2YX=`+TSV*H)Zx zP8h|-jqfnO0_$F4Umfb$qV6a3q3gu@UP6u<u{i1gCoQWjn+rdno7q%p3-w0na{PpEH<|5Zw5_kJlU})nt!XNjd=*f~zgg+-x z*1*}9@Mjj6PxWr1eSJz9R=FhZ@{h_3(e5P9d*Hgu#>FIVT>A_u(R>p7aL%Zwj)cUP zKDxG2Mlf|N9bFJ9P~V7xfBS0)QpanREGXNcq;qb+(yC=dlWi+ zIIY`1^vJ>q$%J3=aY$+rJ^od9lOpOb6aJ~+YaWIs5`Mv4v6hQ#2|w*>(G)KM;S0Vb z@aTTmTpWgZ+RxTGVjtyWb#|ie0rZJRUwWKbj)%ylOZcOc1uo4)312T-OX~a@!q1<$ zQ2cZ};dhLF{_Tt#iC5H1OYM0_;uqu?wK&cr@!DOD>d#_G{PagtEbWGoc8vR*3er=|6N$DScjG z^^5h7hC^V$h~~BR0$8_$KJBBs8r;Gs@qRp^zt=pnHmZ4hIasZD=rHMx7nmCLwEf)q z9n>5uY!BQOC2YL8kFfdNF2dHm&L>=-FJW~WYY3;SO*o$f`kVmkOE`{l!f_Qq=*yQ@ zi!0(Fy6$_7ao&0et$&hc+f1Kp3f;ZGudo)@9bEJ_f3gv{B|O{~1s8!Qla#R~KLD)O znm^N6^#Dv=&dJJ+^9413lO@T^ClEFow-Yu$W*gz^=)W)6zU73|8A~`_6T=ziJ4$);rwe{0s2zJU^q}@hrGWu8TSm z8x2lJiza|sBv_5K9-iGa5=;jj7+zjl0BTw}+fQFTLfBY)l(6|zHwart??YUlBVl!7 z4iZkcns7cHg!4T@|L*$3F^X_pQsC%2X~=DYWuAQlZAqL6OGq{>Zva#scPkfjmp`C z%^P+QwobH+aD5hp(-}`V-9W>!-)Lc(#x5{_#Mn7_Q9KDCSfe*NKN{8?45;2X4d z@g?T>kB2U&d+qh>B7n z_Xh9%^!HV-OGYfpwS!e-wi@Z@&ISFADWB)*s=_P>?}4WpM-evO*+tmAjz3}Rwm&3X z-x|W|?AuQ`U0=fa+$5ZD1mQSF6P9Z`A5;%*Sbpr_aWKnD*t$L}5$wFauYOiI798!K z9pd{Or@vD^X_~(2U9f%2M5HLv->GjB`JI?a_cP~>salyT3wmzB(z`#!!Sn(}DXGm_ zgpK?X!sb7GCv4qjBf|9!B&^QVDfIWssqRuW!udQUtnWTw!f`kej!OdM#~9n4>!*kv$v_3>VP zQ4(~g+z49PU=E6>9e-sN{UU7KQBBzVgI$EJt1%*6Um;<29y$?L*GQFcJ{pAeZF)pl zj*3Tw<@zLF`FpvIe3q^VXooM@S+CdxCL{0q=(Q(D&{mwP{M)ZT$i<7h+?jur zuyOn%!sU+;u1SpCGKSgM1~+ zv5M|<{)elMPvp;fs+%6*69v!You39)Rd(kDHfu@rf$|t$ZQf@Qm^Vqib4P(HEQ&k* zFh4U17FO53nC2z|T6a1;6Ss$hGJW#o(gX&^<}VqSHg-Ds6H_}+5jHO`L)f~l4utLF zO((2QQU_sm_lOYAr%8wP9ZUB${=+du6j-i8x?k{p`DDgGlqetjd_C9$i0q9Ahdc*V z!C}kXuhOXcF0iv|b^s_H9X`LR1#KR`-i2VSUc^!5?3b-*i9kKOAlVESDaA?mw>a zXwoHJq8=|Al(9md%&ydXGuVSi#%&EdJ!T6ZhV?8_>O3fbDP7x+OTIFL8E&)9^H-dJ zX%{^M>BgiWzh%agx{Yr^{BT@^w*PLz#+43)&2K(T*t+zqgzeKEMOdAC(+R6v6%U*b zJ+J=wI`09N!}KMvT(!DHvF70X#WK}I!|8T|ga2`&p5JTn?Uyc5I{R&mPGS`qG_07#QdDnD{{JFXyH@MDTBc%W&zgiXN?NkMk%ahFJNAn09U6cu%F9|1X zUBDf}_6_F~R_DrIV0C@^fb)?D*7xU2U^&+DfaRLtOr~b(J?WGcAsSgR%NI28iN^M3 zlId}WC?AerB6pof_XCf!{u*4Z^WlhZQlo|l3?AGtXso#?j2m-QSz)Mv4IIQ&$D7ubV2c9C!J^ za*fv|lUsiN8ZlLu%$?>oWyfz-qOn>l`$RX7%sI#lxN^stC^YN~TRMnOhA(+J`I$Dq z^42CPzT-Sm5E;KzP&JER*>|hucd>a~Woxuka=?-}9X6`3(_!-_a)hmuZPNMEXYKSG zSe@|#V0DKU0P9mP2dwW8GhjKo&4A^a#3M4(zi3Cc^NFg0cIb)~xU^Sr^gI<Q*q79~7E5+$tdG=t)(sctW|3uTrf=V_&7Ao1gg#c{dYd)|#>m-2H zm8ScB|MBVM0qYwm4=jhc2(VmBL}0sp^U^7G>mc*Q@?UQgMId9v;vFX4%OR~};*SRr zF_5M;Re9eeH%L8OWH;W~3R0cLd?XVSAyv`O{b)ocZ0@@mVljLKZ2lO(v%+Z&MkmZq z#JXba%S4?B)TN(SvOdM=>yI3xkV^pD3>Ia^#nR7jTCL(n9Ha9I8oK%)9U&v+#<|7c z>>=IDx>AHbHt{`>en^z*>QGxDxB1w-1C_r8N3mO}!(tv)BYcb`j!+uEjQ~Wy8&=1m=z6dgmGQ#MH z`An?)U!Mo+d_>(S^x1;G=aHiWxfsaaTA(;X z%Ry%AD*f?O+#%CNtIN;I6fy_QnQ^zr7BZ5(zJ`>QL&m(YPJ9|7 z2U!lQ19#GWXEWt38G6q00s?-zNt`=Y5qa zI{hK*d`Q0+lhPq;u6gaCUy~s7mUE?*#B9h+axVStR|J`M#sioPNyyY+dvxwZC5(!g zpNMtz^I^7+pw1lB%|oBD=&Obt-;wJQ2yIUcvC^9Y*^?u)hiCOc_Hh1)Q(ucfDEw%y z;y)II15TUQ&XIwvqyUwP{IQUwxazdgGJ3q9XP$a5HJ08FhE9|A-UyjHZr`{)A_rqJ z=JT;`3igGe&Scb8M<2??`d;8Tgc8W53_|s3<;IK@UEif;_@Cjc4F*`uTtD7ynu# z9}s%(-ISb5KYt%2Kf7l&K-THAJ02|#hpf<%rN-Cj@i)D_)~|6mWNAJTvlG&JHr~TL zT{pIl&a-{#sB;^2jnO9oeWxMEG2}V|Lh0QJHPZb-SiWM=!TpCo_{nV1>wbnHyq$Zn z=G;0ECMSM9BWwYocGM`fH6@VsNlfEp*AnVyWzpKA0$FL^{g?}M9P!2Ir<(>weazGQ z09!X1`{tt#U7tU?*~8E$8hv$te3&K~2!v^lB>-b=i z{m4BgAS{p$6ziqOW6dpzX~COm{W}}OH}pA&57VB0-&O}%*X*7JO-LFbP}!b| zAbd1>@vUmQ{wMO%Mb6Omi*A^tWzm>0u3dcR`(7N8D&{jBb<|9n{AsmMWj{%{@X0U@5@4ChachhBS1Jue%L`RdY&t& z>Zv+QbCE}N*nA+?(a84E^N!VVN8LK~p?$1xGje=JF8X?`O2(~Qc^!mB7gt3kI@0rV z;NjaJhR}7Cp3*E)2EuE*l9b<3&XPc3<0HK9rO7l|c@BY@$K37D7sEX6M9ed(fZ7~pY8dPAdJ`9ey+g`gb{KT z-t_^@})ZOtm$<&#Zvw23=qP&km36GKzLm0>CHZR910)PhZk>wa948- zRBpgX>)Ct}*0o{Z9n_IRU3y-zKJ<9AzAHG6xAgpAx$c8-PkL#>a=PwSO-JP=dGvg! zuaI`5$K_3stm89!9=7=8ZJ9{#*G;~n%Z#>w@S#LcQJ^OXZ~BexUZD!YOE)I`wB8TG z>OJDd6Y29)Y`lQ^U0Ame`{+8dI`q6{bqhJ4=c1gi`&i`gMlK}~mX<*E$p#SC&0zY~ z(EG@Xtb;q&({=nfKH~X3dR~8ZeQY<^^-mP!E_DE5yH$hJTnYMjWZ9^TQ+h!7`gn)r zIeH$wyf*!+g*-+&&*o*Zt_Az3KdWPix>S$#iQ;_2=(@2SPdTnrl%s|pGfuh^g!TF= znMbtf>yoW4a2f%^u5n!_sz=cGow53!A^+mP75KLT z|5o7N3jAAve=G2B1^%tTzZLkm0{>Rv|9S&D`&%(>6CYsQUY=Pb-n@x%o4H+l)`yjh>k&hZ5~Uu-)$!s%%~9@*>%8Xn zknx8x9>cs3S2s=kZy%?VgSzk0=M(xyB8Lrf?P5YL{Y~Qdrh${l zqZx1Mkj?sWlNnF*7PA)N6vjj0ppN(5I>vq3uOa6a&tTjxxY*^$USQmKQ?O4hVYxE)LI}JJBBiB_XSeT+vHQbU3?3MoU@X2?^?_qsQ zQt>xt-SIJtz8sy&cva3jsjF(oc)G5d+pMC_cm#j_c3mTzalc)5_M+%x#@(}}=afho zhz)Rb@bVezSoc=0J*H0fTBhP zHUHyG;QXR(KV*!VfX~$*9;@wO0`z%Z*T?K-{D*1g-mDWcz7;uk^P;U8pHc^MIbtBQ zu2Y?F)z`qR3okd4@4mvUTX?d6%Dh^P&oSSQbziY>3hH>HZUy=P`W`}#|8dcEO31ps z&oQ3~9B(`*KQV&|=o$_^PuiG(u#G=-X3u2&kDMDnPoakK6FfQ4r_jy#rX{rx8$FKk zY3O>tIQBH-sO@BIvUeeSaWFI&#r< z4K??_t^0rp?8hYBANGL>=qX%s*YG0~kasTh{fbT|V0?~>y;vLLuX1jNQB5V|XI3+z zYwQQcxA=JXuGR63ueP45$e5{&PoLw}oXN5n8O)nvT`Jc%ZUpKypl%Q6vvMT*b|J@4 zM&G<{oreD@N#`v9I7!`D)jq%(3TKeMwIgC>={|M{0VxJM}(DR(t)kUAP z=jw1k+c-evsVUh%J<-NN`UUNfvf2pA7yo~{>LSA%_BsAGe=^nS+r zB%<$X;oS{B z+o-bzb?LgWK9kY+GjhB{F8Y3U)bf_%lz1lKTfYXCjr91A9(H)%&;QrnnTAvKesLd7 zN+Jz32vJD`O+xCnlPM)bic*=9A{_HU=CP8@)2T$W=1BvVG?5HNXr?lj(x^$EyS>+6 z*Y#Y_+vnZy)w=F=ul4MQ4OOy=IQIn)~&+66R1;;y0Yk_kG_G=hw_eX(%XmaSdtSHC8YAUl^UJWV?q46PGYNI)qE8k2b|Z%* za?PUm=|zt`Z>^!nQMt*=vWVeLDQh~QcAMeNh`cgA=_A9FKltudHhtd@4>}8W_Zg3` zn@4Z*Phvcp<~fQVrv5dnoGo{pWIXOZc?_jB80mRp^YlEkbxW{s59(Y;UHWqg>qGTf zU&_gHTtO~VdOlCsdN{6Ncw-BtN`4<^cyou^zZ`p&;Vs!%R9IO-o7cnuG4pS{bqQ&(o-IO9EWiP=09N_{dt7#^X7E6 z(bt95orpe-=qrpIV~{JB;Ym)nULZ7;9^Zs@%}?pS!z;DIZa+0)c<#L&Ck?|GUbONc z-BpPUZ%^-6vD!ZjFTQSa?(SxW7vuHGXyrwQ7wWJ^qy87e3;eZUW2gwm@m#)PFxKT_ zUn}Z#qHX~C(8&5~Aje7Mnx-TA|Nb8iSk$$+pEzU-4xW;}VmE^RR|O_>4b?paru}OJ z_@3}?OML%&>670T1IzC9uNNQL@GUEPL;qU+bmNc#QcwHWYTglE7tS8+Ur+Ivu{iXi zVgGu}lv1}snY#b2wMP}lny#(){NI{z`(6EOuK(ZMXHLKW`#%ZipVeQ_@hSDMIsX3n zVuU-sg#LZ*_^tZa+)tc^4)zf9IRBVFOR>| z2Nn|zHYy$e1tvmAG)62w2Kpba#B{H*0G(W?y=_w)U_pMymc0w;yk%R*u`RQ$wa4df zJyz*fLb$aX;r4q7S6@N6{^^9%iz1wU4`Kc83KPyhj&NL^gyY%{ZtrCGoZWX3ynR9y zXYTk0TP!S}^{r?F`-NxJFP27tO{3nHw@GTSCihd|y#|Bx%_ z*erBvNa+AIrO}6ePZ+8#AL%yGT+fkk>(PYUe?_?ZHH7Q0Bb?r2!s$;Z=tnsJw}j)m zOgOGz;FY+8`1sj_e*o{?c=LOTtC`k?WEg|P+`~S%`yRkX)fc)GU1q}C z@jd6|>vX{M&VV_)0uw;*g=X}&xJFoz@*|+bpg$$lCIfp5Cbqz``qp6RdK%$$G1_IqE;a+h6$ zE%zq%h@8&_`_eDZ^j8Ie&E276ueS!l>bK&V%bI3^v2p0P@3K=s>$CS%&;1G7GO<1n6n~RNABfJ};l$x-cmo zc&!5i+U<9N>v7@5%3&|SY3`s`8$OqT?PB5D3to9(ssDPQ#nm;SH==vr+ocm1wU$qm z>Xj2B+**ln`>P38e}HiPrG(RKAe{bA!ujnY=ubE zA!zZ@Nyaxj!LRVhP?x)Z==&^W>wy!N;2w7R(&>3!;2gX!?p(r5uYKji4JMl<}aO*h)_X$_;M!5c|gwt!M?-y2|aDKgn^M6Z_i*Q_e z5N3U~Mmp#rMC2FLxby_Wj$e_JuRaL?zLTwdm}3C=j7})Ll~)5iiDeqgpAUd-2Zfs| z>EB;Cq{Z~UF}w-Zr3y9K2998~tFrCM^f>L&i!SW_E-OU1buz(y!qt}$u0MfrdO`&C z3FpTroIiaoljW)<92cE4rm)#$ee^|$^wy9q;U9;Pn5vhf!|p@CYg6q9E5yOqGk>4r zfokw%4E(GL8o)J6=2zEpao8;LboE_(RajqPGb>vv35+u=`pm3!wMS32y}yS(7r?E} z2)Ca?u%2-JVuaJHC8$r(k8u7~gyXtIIIa`)`^Dpp=X*YZsOgNC($FIi>SNVwlV<`! zn$;T4U9RAF=J$%H*$2SOT1WVdup+p*8XZ2S*#S-=zm{AsSP2`>+nl@R{ti|~yml$P zD)WQG3(C>ryMS}M_MaxbfWAG49keCs_5w=vm(A{qI z2sZKMuP<*t2dhkF3k_E~YtLgMwGLb>A>4Wg;r1^RuD*eA{Tm3UXGA!CI){SwTSz$n zrG(>hBpjClL=LyQp)}D3qMdqGLbT}Ixnoz?%$pYg!Mi8xXKBU*|4FP(_nsv1F)%O+ z`#uRg9{DA?d&o3|yDJmo*LZl7CWIv4_!cQq z4*?Grc`m+p27HwknV9*W1K!>hZ`}X1z&7Pt(a_IF!OrTte=9*f!s(wS=tnqzEy8h05RPjPL``VAr&sX{Vs`v^UoHL~ z!q2;G?4FVfq58{3cKwWe>+d3*UNYhIiwNg8k8u8ZgyZ^6 zI4(M;F8hW~(YGrQE1a#<7x^Do^te;sngr`1HvF-s)DsmtZ}8`tNnN)fZ2p|(mq(6; z9o`KF!J6~IKe#n8w$uTRmOTxOACyoRMZt5m_l^>>Ba>}qW?>*h)S zc^ZUUHxq7Oi*WUFgzKksLRdW~!s%-g&QF@4KS3_?Kd$KXeRHxO-i0`krU`W;^dWMp z$rg8m5D3e!bn~)255Z<~R~J3F4t&y)(XL_u-ZQ-YZk{~`ZgUI0haWuyjxvv%8*)rx zwNxf!;T@s9a6wo4++%wQw@xP9zBS?MiwW0%j&ORWgwwx8IKPX8^A9B)*B!!f=|PON zzOs4cB!~;uv333-0g=bFV@6DggmC4Aau+(MHe_DL!WkYy5Fm0eCuq|V@GjpraGkU+ zxXZ^KY2wl6s|(cDia)q|S^2fvGHMt4EXOXe#o&Ns^fthRGmVlS7|Mt}qU!`)|MQ)w3rZU;eHC?|rtvq<`Ox)ero)X8o)Gt^e{h4fwZa`Rn`F-0`jLUvtMV z-@oS0(}DgqcfJC_>Ahp9)_poBcb>{j^~W#3p=;#Dn8RzqzGmh$l^-f#KRu&d|2UnS zT)Ne1!O}Lc3*0|pyl5fVEkC<@qi!D9sVI8nSQvqw^w!@Fm8xJja(T?A6~}Qs8~63G z{s8vVeOB)e>PMsBJoL9kE(PRj2HrEt8y4A9!S8{cY}Tpe;Pz!}$36P*xNA3KF#h;# zaH;>4^9Qzri((rp`H+X?4OZ))Dbwl&A|M7vMJHo1kHK0mI9t$mI=Ee^)Q)~`Yj z9{lFvItKS2Vm+PD&h|e-J%7{>LO(6^pN(89$Yl!t3hvd@KLYHixB29={xzNJ`~GzC zF#xa90g@x;W`O5Mxv$4Y27sr_$1iJpXM*R*?bGg$I|aPjaUCxo>jUq2n^VaE`n?ND zCd;KGHa&;AxOT+-IIP#f{)4EejrvjON9Rkh{&$e;HgdH?@FKZuI``}#tkh!d z-cNLHuIS^FohhEcUl^oN)ij3Ij~pU@K?D3;?eF>aRfBK$z4|qKoWVCce7R-8Y4CNJ zKJH3pBKR(Ci`p=K4ftv}gc%Kcfon_LkH`9B*l&Y+&8V-3esbs^h+NLdbr!ntet?VEEJH z1}ohlP)lCV=!q``O7bhK=^TYXk(P^NniO$89QS!xzXkh6QSTY*SE1iL^gn}KsmNsy zk$)~9cbG2*F>0Pu))w7?2sMH*Wmj3@klf8rzvZ7b!c&R+?kF{2Nk z6}5m+-Js$>Vv8VjY--l)Vi5@WabkyY!4wE-e=*$c;0jz%#(g2IUx@uHP;V{jPeVU9 z^xukHlE_s7F;D75V&^JBTw}w#jH6W$O(q;u^ZEc$;tlUK=4^z>xiU+|e$0Z1l*MJ4 z`))$Sgcx_{d_s8Ur6rH#0-r4!J2s#U3*Y7)(P7+zLvn2CN zmuES|-90z?u22NT4Hc6W|GXVy1J-5yUa1FS>1nc);e>3X&p?*C2JwX3FkQlx7x5OO!{D_uO$xY9} zu(zI|O6IR#A}% zd&gH4Zs??QdY{=1_)@hF5{}KW;?E|KkUnI(o9j$m(>c2AKAn%t)_Y@rJnA)~emnZn z=b%{sN61B=vt+sMLyCz|sPmU8kn*zF@;m&E0IOpSrV>_iGQTc_O-?1;a9)tT+ zuzm~n)8}GXJvY>MLBI3pZ-QLYk!vEPor)8{tXbv^DYWBmf`e~xm82o{%$-|T-i1MG zkdJlxr*KH!C>L?$y(pxvmdWX8p|8{b*6cp5W9vh(e>CbHL;Y9iw-fyx@R50g&Yp@uBI2DrB1fcwVU@3mGL&%)JC3$k1FfCE}qMq~B6sVYMX`(j6BVAJQ>_ z^zo}yl$wr1TC35uM8{l6yUYLJIUokoiVPLne|qCO8uxRs{s{IPqh2)X^U*I5{gsew zC~~PowyDgOX#xYtZYZ%;9&ZR)MJ-ulnpQ#9%+zZkhU*~nh|b0nU0#qmXJzl9qM4BK zU{rX)%lD8GU3_+FmI`E;FME4u#}LSvCqME@N*`n>S6g4z-S%(I?hnTLY1sc3_2!^{ z0Q%XX{~F{nL9SIGxccZ@^NKRqr?anTXSN6krVshus8S8tnd^+cFQCUUTGhrRB^|O3 zJjhS5%7!d*QnONj6l8vteYxRM2V|D4x_9UF3dqc9U0J;<9Wv7b^Hz2*`L|~Gjj_HJ z`z2BDAnNZ&zeVW(2)U||Ybf!n9kxDpEFo)8+&Qx7%y?oddslvWL?-Y^%r$r!~jAB%Nc zxW0~`sPi0kv(cv>eZL^bDCE*5vF;0eM@^>lOw;ZZC*Q=b)omE< zG4FzPBeBl`b#zg;7=6mocRF%>LawbO_ST=U(^*m^a*}Oxpk)RLdh=6P%#8ltxkv26 zDc5VnbCBEH?djWy`(QN}XZJP4<+7>4y$bsKz_=ZghCcm4oEJE*&RaNvY)L*=`@!87 zqa~MD|6g4V_SK>eosY}v()o3)Pc8aNAV(&0O(d}vruX;Cogh)QQbW?KK9jJOpRK3Q z98Lm*^!#6RZY92T=f>FcyoguXmA()MUBWAx(VO5~N<18N+^61KPTVKGNpG&6OWZ7% zMLrHo!5EGCkyxjJedkeUIqK5SsaT%~^p!%6ugGj7__poma>TE{cZuF@{-zMZ3h+GaNCVQOaH?P$sMrq<`Av*s&@>r)- z;E^{ZtRbt|a5DY9(@(9>>Y7F*&~L}@!MRt7|My{UcBRA@fHtuS~*ywpZLO{7ga{6OQ@!(Rrl{j0WExT0nnq@Agq5Oo9Zh`k-^& zNRc{@fA%+v38Wb1^m?>y@4Mcp3snT5WF$dQ3u2T6=NzsLVjHHk?$9JAb| zmqZuXTrHaTfJA9*jjf+?pG2fJbx(QxfrQH!ow#g6=bL`@yMH!sE(x6=-IXCVjf712 z%zL>_mINpM%Dca8Bt|LBkH{I1*Hqh6H)%}P*HR#*OakvU2R|ARB7(LfI0?;Op0PM15n~eOk71oF_N_ymQK=B04rj|)glqh8FV z!BTX8N=(I2%59XL>)CROL}xnaJ$ZJPL_PiSGgbB`iBhd@ZaedmL>>v)=$L0iA`P8f zY->VDq|D3q6*b}*hhcsP)~&}r`uPH@a|3nHqt6xetwIiI3Y2@j-Jnbxn1LGH;|Zl-w%BfpGuS zz=PMB#g|C*AMupv^Ajb!^{L)QRrb<$RRTHy=6Z{h8%*A+ciPjoU95kXVx; zHpc_ZNNiYv-;1g?5}SVD`s71SBsSsVvgR{C>CcI;?=CrWfW+z!-mVpxOZA5szmvE~ zV!AapsV<_|$I}mXJrxfz((8!L5AUz*?_+h+QTGS>IHGSea;!zJ3nX^x)EA>S(&O1Y z%=)OpdJ=oi>*04%XA=8Sazbxw5{VnxY;w8c6p52MU0A1ahs6G_2+EZBMq-~E+Q+Ql zLt;x}s%IWvPGZj#-Tg6m0><%}r#@^Q259$?6_OpIG#z^(@CGbgkWy1`4Vrad5WhuzDgE22nTsp@03mVqR$aCA!UXfG0X zXxO9OXYZ4^oszerpO}$2{_i0vbs89#VBQ+*o?@Q>b%vp?Bl?t}?{nm^KrT5*u*q4w zJ%#?>bIas51FxA78ZNBdIdCupnA9YOZfphbx@X(t(`SOmf-#=0xq0Bs_@q22Z3ElJ z%79W!3$S?Xup)ojIndHl66}2Wn6R;F8sYLqgsU?lTwf#MbgT)dJB^?ZoyYyxSCnuZ zYJ}tJfzZI&N6$psK-9Uq)HNHjAk;JRY;d|61X!vLxOHC|yq~{KiWTVtkHved!qks} zvswD_!%K9*wx!E2-~=DLFPU5f}8eF>MZBV3&(;rg}`PG>1$bq7ci z&PR%HzUGAE$RQk;BY6Jq-L<2N2VrtDu6M`vLdX)`Ub`1JfN$pfZe5uWcw5eq@a&WV z_nHNoyu1w9(wZf>pAZ4Ihjz}l&$9=ML({94KF%VYG*~l zMPpcwZOIxt^~Eywvo7&%2|*b;mpHj{iJ9ybrcsSx};X9>C$lu#dgD z8^Ff+kFdJp^9bkT zNjP5{!g74-A{^Hn(CfA|-(nF8_DL{v!>(1Zt#$M3S>x#EfiI$L6iqI`wi{;i7fCdN zQ^8R2bTj(7W9Kz5dB4SAeYwo2;D-g6yxw&v;TORC^u|biX-&dL8DYZZe-f@Po^X9p zgw-+CA*`;X1mS$>_eHb5s)XavCmh#Z&@_|O37w?|)+5SiAMx%6hwjAuWK#gAH};RW`Ei?El5V{l`x(|e-ZAnT{rtc^%Z7uku2_@ga1&Tpuh_zCE(VL*uScJhzXrp_H4{{< z_kx;nt6qEWEW*Y=3ka8QCv4rlv4rh=HJ7kDVnYb0t3f!QB*OW&5su?K;kblg$f>e% zV~d4=Y1qST(o6^Q_o8J>@6813cb%b}%4Sgvv*A~9r-_N~iwE^hhT!jFAApnqa=GE6E1v)B>)<^PO^)lp;09E`8R z>Me(BKU?*ISx3ZE<)Q>IPCXZ8nwt-daq9EDva>KPZhrKvzDV*n&KB+>Y`**)Ve9fv z60YwwVRhDM6Hd38a6UnV^YtfxIX(&Z0n1e&OcY9cUzZ1$EctEm<%RlhAy^=n8?>^N z0loc$cO;K)f)yU3t5Z)*2NPz&Hj!=RU|iVV_UrvI(EF~txPIPu&>rlosz1gW6g4dy zmL%m6Hl|!8Y+gE$uyymd5w7nBVRbf7Bb@F>!upI6C7f?lG0X8@2w1MrP@?>{XGL z!=}K3?;~3SeVSpC*Tl~o$BiUxl>JHAyuT>n>U0R(w@i_+IzXSuIoBv)>VB4L>GdbdDtWjAPT8ZAGm z%oMa8=f*4@ycaYMD~>jmD+9GXsy)7E_JTB1E2`p2&yQ@&kB?`GN^AS5C2 z;6Y+b7VjQA_`#|^GPmoz$lZ(*GA{GYX8xQ|5KpbEYFHWylWTu_Bt8m-DbnWZrJ{R5 z?viz#FTVtam<9gHH7_A-wAnz|d_V$W>qgLd=zsej)A`6$r~b7Nu)1@@fb$6j&bI_O z4hA?bA);E8-xPdMnCQ&gS5$9TLv;4W?Cn}rO*BrWMvrc5CMriBm~5VsL&QvX@MhJ|hy8x9&ib7?AoVb4Y4Wz5;@{uj{?cDvx`d4z^a-2isS&m=l_6}Orw*_> zhi?F@tMn3BpO#g?`I-XDVXp%$*I`0t22R#|H@t+9L8)m{B0@yx(i?wQ^KPP5V0~*| zz8q0|H6!if{SQPge#^LBGNDU;gfG$fFkiU%#|pRAJ6(f8s8%&@&UYw&cPqcjVrb}+ zztOz6kNnNg9oV#ltxFCqX8R@!1FNII6jH#dvl7~hix1~}l&@`C@;8>XD-{3DtI#D|H;K+${@XXJ1X!I6NnmxG znt=6jECJT{L=JEqeZX=_(&tD@L@(LC(joI-F%uMb=#T{-v)`UsWlQGr#IF=t>5!S5 zOK&;Q^Q$E0qBD%n?;fvIa{WpuLnO40tl98VhzQ9|8Nh7RS@Qba^8sZG=^X37(X#;9 z{CYcJ>mG&z+ZP}VtPZ_@vASY9!1}B$0oIrPe8+MG3j@p5t^>Ii`)RC@=(MFoIV_1G)6mClel{zYiZ z*+@tgcMbS(%mJev=IQ5hY@H+ao&2Z6>KdZYQ}m5Rj?2j91_#3|Z#P#4fxvt7!7}Sf zkn!9&@Thk#q@Q*$kh%~8X>AL4Wgl1xX)cDl4=Hv++L&Os+{ITR^=U}&b9Ws`Es!$U zb zWbq771n;>^KgYXwDY3vC(jP9ZQQut(>GLISiN8&Pv~us)4(!Mzqb1a>=!Beyzuus z$lfz})2mhV^T9jyC#SV-fs8X-7Q3CbhxDGhoa3rOkk0>EH1HJt{C0}UpxP6ykk+kh zIsdv6q}AVZHnql*Z40~FVgtviS3Y~=sqR1nqDurrmLkWNA&aApL8G?qaWrYu`UDqMxahE>Y8#sW5v+71346t%K@@~v}Ake`oq3)SIy!+2!r5w z!OL4auR->yWwu5gYa#1G-@MCiOCht&A@#D{kZ zkP+3IoP2#EM*6uoo2QYj^T)mrPDk_$>aIi|NA$ge9OB634cTc42YX`$Ah;W4zV)m+ z2u_VHJealzvU`%tN3}>pwqoNH10g-N$gqRQ?b> zWZ-bf9CGQm^5D4`XJMWm4_g<6eX~*LC+eo4&v^7rMGj5mIu6z}QY?(gGt#-Xk|`UIn|8FGjrS0H3BdN@R9Kn@7Z-EDuy z)6cK>x@|9dI2{DKW9%)(tswiFaco9);>*(JPuzjCVXFKZB^MyW~?^NVy=;z9wH>>QLtv3i}|Avlw z${*}4=XmWQ2rTAiJkzLv>`sl8Q#o%Tn->#qa)Yi1+*-Ht!7J+LvTyqDyO8B2t$O}? zF=Sb`y!i7e2xB1TFJWB~_BEkS73y}PPXqcsMUKtDaqXg>xzt97YN+4 z>O^HnfMETV%fnjgKp-ByJL&p9$UadUpJm<+*(>fi3_My3*+K=PcXmF6tou7oi!S;K zS?3ijUGnLDiH$v&r^m(CJ;A;QsPh_i>FdV&(EA$eD}x+wkjn+KSNZN+rTv4}FOU$n zhz5cE3d2Q)A3?CG=c|d;3J^@o+V%yVu%-R3Jz@8`)29|ZnbiqVkE%ZOqfz24ZqTc}fpx;^M~7ky2TqX)U@`{Z(%lCr!c z2*!P?RXVVX)=Ag?UO``9r;BHn&e8(G+VWWWuDjU-dRDr>{2~>Fdkp)3MGN`zRNypcdAk4J)FTgAX)Q(1a^+d`S+^m;Zu6Y#_0I@MQCuKy?n0tM61 zL^`KgASo-arRxHM!N0Cc(RuY;oPv3JJZv4k&#`^<-%nPj=$|g@BZ0oOpXG=_F8cl+ zu(U2@5`En@ntPiT4x`uWp~&0g>FdB#>YN_91O%R2<~l#5@0+bdWM-VdNw1UWc#*u* zATT}vU;o?#0jcdfwL${~nhvDpBt1ShQf@X+{~cxP3b8LAb?A9yb@!r=A^N^R4to47 zS1Sk<;rXlACqZDC@#sU&SrBZI9ND_27X*PqpVIXE=>2?@a=23g2qLoS51~RJ*fG?h zD{wXaIdaBy?YVzI;JR{|GX1^2V9V`jjo9@V*I}M={H>cu?^kS}DW{Y27IjNG9|Ljp zrS}n*;{tL42(*T88266yn--chRQ>{i`ygM_>2V;~H6TK^Y%mA}0T=dUmVh8{!Y3gK z8V{cCZIPm{w?HX=qzJt((`JY#s;ASRH~0%T4x5Kj9rMZm>exQY#p)EJ?rqNJE`9&8 zzV!UF9AA-Z@&BF!`7i!=2L3w(|DA#V&cJ_X;J-8Q-x>Jt4E%Qn{yPKzoq_+~XMhQF zR7*=gn9BIpKJ?7Fcbf5*S|QOnM3?cjKIPP1WXSMzZup5Fl4U%C9;uvIN9Rno&2;N2 za$?+P*a}(>UuWDd-I!)DSCw(wF`z)D`#i?8n4g7pm$1(Wb+)6fD*BkBuOV`rL#|9F zbohN=7q#U~fco}C@0#I^PueNZuTrr3k=6XxmsMz*dE`{Gb%DC(A@Pc!-sM~+d* zWy0*>off+;vV{p8RU)H*u9@*$XnZwU=>X&XShZ$vha%(U@O?(&V-v>HwtTnnhbV@3 z63FM%bnf4rk|2YL44nsgL(cQbJ;nnv^Sv*KVjPHhI-ilPqjL(`z9Fa+h`KiDGYft5 zkfRN`+?c@IUOIbYeVITBp^r|%eT={UkENcqUm2fox;sm@6*AtAPfiWeT+eu!h_9i) z4P`vz;;uMst!F$3NFPn&J2AY|m)>97cbefv^|U#p(m91}e2@9#Sho@TYEUN;b+@2T zIr{$MI6?*@7oQ0@)Eo8q`#2_`oabE?B+B@|3EW(0bCmIYc_uN*SC;WHHQQ`@cn#yN zx>@mh*Ad3cHeV?&t%dP?@N$vqXnDrduPr>!QJwKzv2j($Rm#D}wV0oeb#mC(iaK=O zIIC-mKFa8O8aYNF*JOs@EdN9HtOXO`yKeiuCv?52&};q$S;j9}&QD7?pYfF&Iite- zA>$(yQLE(|$9T`4)UEoxmhsAZ(khTU%Xlr`T0;VdFe<%E zX#*Lb;#uWkZ*DW*?_ZO2#Q}`>daVcQDd!ol-$&(EZgOJ0s-m;H1*#ZlW8N0)=zW3h z6GEL!s5=6EtkHKgaws8}I>Q&Onb)2=gW-1+I2D+*G5pY5N_iC~jDN6plkNUi#?LNk zP18Gd#@DI4TB&U?-3HKyJ%LMU2xh zUyOB`*r(aA!|4Y0`*6P7`#CtSm5hHuc}$gBFT)SHFikc)lHsT9z3JK4$naJ39=reg z#P}zENL*I5lkt1Id;8}H9~eKYjZK!jd>G%B^e{O(Z`n6vhFCyHE91*^H1JB&`WM-J z6V|=LK5x`{hq}Aa=MVZeAx8?wHD@^EU-ByDyP_S#_nrmyV<~@z;7Ug8aE5Oo@Qsqb z!1y;PzxUl1$oQ`?xT?4w={GNcC*S??sLUzs8mE%iZ?H(!7E3i>Ng*EqH*j8uO2_ z&JFvLP)7xIjnId#S>KDuQOa;!3XFeut%`ho4#W2~FV>&Al;IyC;*X|SGW^|3(x+W& zVED_n=F2@_%lLPuUW`5!%lIeHu+kd$k?~)CM!GrnD&sHRIP2U88OE>oVQNw9MU2NV zPw)3^-8Jm%L7iySU5`G`(RT%MEJiN+evp#f*4<)C-`{VN;#6KR{Il28L_gB^`=M)X zQ^iW@@wjew45?!HGv7SzVs113?SssUe>5`wr!E9X#2GUFkqfmNF05w!-74Q}d>VyO z8uPALM~{!~dxbg`sQURBe7pL6 zC&om~@5Q=s?4$R8R!0$a>(GaCu)g&5WI5>lgXN<4!yPXTraIC0_oakV$x?d0o_`!) zs86}xzwcHiGa3H7kMG=eE}{7f@5Jv>48Lq(yIgn}!#`Jk*Y@gshMyxdwQzkF!%wq4 z^DLd-2iQpey<+owu#R5;Y+oqq#Gvjn^r1SeuN-o0N3K4GpFLhG^``{Gzx{3GEt8`R z|AW%KyhHn#0CAxu4PWh;fC&bEd(CDr0psf}b3>Jx07)M)Q|)0)fXFE03!iHk{@2O- zf7G96_+2@ZV|3*)%3}UL*1h=G$LdIwZtF*u>^D z6CiZQF~DFw6EII!t*3-B0MlLtlD6Sq}RCWVt5)9~>>gkN^Mx literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6.i new file mode 100644 index 00000000..d3ed3f24 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6_out.e b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6_out.e new file mode 100644 index 0000000000000000000000000000000000000000..dbe31bf7975cd1a9439ea4deaf3ebbc3bc349616 GIT binary patch literal 159720 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13.i new file mode 100644 index 00000000..f8fd18ce --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13_out.e new file mode 100644 index 0000000000000000000000000000000000000000..c7fa274dab71fbac5b9a9d49f8679b61c63d06db GIT binary patch literal 159724 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

=%# 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17.i new file mode 100644 index 00000000..719299b7 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17_out.e new file mode 100644 index 0000000000000000000000000000000000000000..fd82c86f519d2a3033f9b82d8bc486f17292e471 GIT binary patch literal 105844 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2.i new file mode 100644 index 00000000..113fcac3 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24.i new file mode 100644 index 00000000..e6aa08ad --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24_out.e new file mode 100644 index 0000000000000000000000000000000000000000..e53ed2b3ccd7afb09a3b7e0454425c3f320b05d6 GIT binary patch literal 159724 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 wc_zg1%Cj0ZVJ5^rb@!deE0_@L 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 XY0CSD=$PQ+GNOBaIrVX!`f~g~IU3KA literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2_out.e new file mode 100644 index 0000000000000000000000000000000000000000..2f5173d40e63bca7fb2a563bf6c73d50bab30069 GIT binary patch literal 105840 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 WcMW~Upl>qfcw?>#a!f(4@c#jFDAXeW literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5.i new file mode 100644 index 00000000..f8fd18ce --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5_out.e new file mode 100644 index 0000000000000000000000000000000000000000..dfd4c14a5f23adecfa2408f38e583019932e089c GIT binary patch literal 159720 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9.i new file mode 100644 index 00000000..719299b7 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9_out.e new file mode 100644 index 0000000000000000000000000000000000000000..28add40b67dc0e87334626f9e06cccf60250d5e6 GIT binary patch literal 105840 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%0AV&^&9LyPtNF*^ZZqG_NL1s?p5R=pX3+5C# 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 irTxDYt{w&>loD%(btv@^%Jff6@^)?LrqY+HP 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14.i b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14.i new file mode 100644 index 00000000..d3ed3f24 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14_out.e b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14_out.e new file mode 100644 index 0000000000000000000000000000000000000000..01412ac646676c8102e51e3cc6ba9873c6168ec7 GIT binary patch literal 159724 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18.i b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18.i new file mode 100644 index 00000000..113fcac3 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18_out.e b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18_out.e new file mode 100644 index 0000000000000000000000000000000000000000..3ba605ba8428729094d16f4ecc3d5198cd3d4f4d GIT binary patch literal 105844 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 VhCXA^HyLxhF;@jSrXW}N{{XC6)iD47 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22.i b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22.i new file mode 100644 index 00000000..d3ed3f24 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 1000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22_out.e b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22_out.e new file mode 100644 index 0000000000000000000000000000000000000000..9c50016b41e99e67e9e64301f72119cca83bd798 GIT binary patch literal 159724 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%0D(;z4QK$gU^mmrQlP01zs{~NhPbJ~<+ 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 P8PPqzocg#C+doRn_yQ^z2 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 B>E8eV literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15.i b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15.i new file mode 100644 index 00000000..fdf63759 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15_out.e b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15_out.e new file mode 100644 index 0000000000000000000000000000000000000000..66e9e2b163c317d6baf1d2a32b25dbb52c4e01b2 GIT binary patch literal 159724 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 xQYL)S*1`_6u}t{Ic>V88Xw&=_3{{Y^yqx%2= literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19.i b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19.i new file mode 100644 index 00000000..83eea962 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19_out.e b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19_out.e new file mode 100644 index 0000000000000000000000000000000000000000..cfae6550f480486a8e45397ba1b2ee45f9e0609c GIT binary patch literal 105844 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 l=t_4;(^ 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23.i b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23.i new file mode 100644 index 00000000..fdf63759 --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 20 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.3 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23_out.e b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23_out.e new file mode 100644 index 0000000000000000000000000000000000000000..b9a0ddeb8b06cea4546ae3f746a8f81b38f5778a GIT binary patch literal 159724 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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4.i b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4.i new file mode 100644 index 00000000..8fe88ffa --- /dev/null +++ b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4.i @@ -0,0 +1,92 @@ +# This is a simple MOOSE tensor mechanics input script for testing the herder +dimension = 2 # Putting this variable outside the block to test + +#_* Variables Block +n_elem_x = 20 +n_elem_y = 10 # Testing comments in the variables block +e_modulus = 2000000000.0 +# Comment line to test +p_ratio = 0.35 # Another comment to test with +e_type = QUAD4 +time_end = 3 +#** + +[GlobalParams] + displacements = 'disp_x disp_y' +[] + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = ${dimension} + nx = ${n_elem_x} + ny = ${n_elem_y} + xmax = 2 + ymax = 1 + elem_type = ${e_type} + [] +[] + +[Modules/TensorMechanics/Master] + [all] + add_variables = true + generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' + [] +[] + +# +# Added boundary/loading conditions +# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html +# +[BCs] + [bottom_x] + type = DirichletBC + variable = disp_x + boundary = bottom + value = 0 + [] + [bottom_y] + type = DirichletBC + variable = disp_y + boundary = bottom + value = 0 + [] + [Pressure] + [top] + boundary = top + function = 1e7*t + [] + [] +[] + +[Materials] + [elasticity] + type = ComputeIsotropicElasticityTensor + youngs_modulus = ${e_modulus} + poissons_ratio = ${p_ratio} + [] + [stress] + type = ComputeLinearElasticStress + [] +[] + +# consider all off-diagonal Jacobians for preconditioning +[Preconditioning] + [SMP] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + # we chose a direct solver here + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + end_time = ${time_end} + dt = 1 +[] + +[Outputs] + exodus = true +[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4_out.e b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4_out.e new file mode 100644 index 0000000000000000000000000000000000000000..dede9443bea0fa5cdfd39d07bd04d11920f3de6e GIT binary patch literal 105840 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≥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 literal 0 HcmV?d00001 diff --git a/dependencies/mooseherder/tests/sweepreader_test.py b/dependencies/mooseherder/tests/sweepreader_test.py new file mode 100644 index 00000000..bcabf69c --- /dev/null +++ b/dependencies/mooseherder/tests/sweepreader_test.py @@ -0,0 +1,34 @@ +''' +============================================================================== +TEST: SweepReader + +Authors: Lloyd Fletcher +============================================================================== +''' +import pytest +from mooseherder.sweepreader import SweepReader +from mooseherder.directorymanager import DirectoryManager +import tests.herdchecker as hc + + +@pytest.fixture +def dir_manager() -> DirectoryManager: + this_manager = DirectoryManager(hc.NUM_DIRS) + this_manager.set_base_dir(hc.OUTPUT_PATH) + return this_manager + + +@pytest.fixture +def sweep_reader(dir_manager) -> SweepReader: + return SweepReader(dir_manager,hc.NUM_PARA) + + +def test_init_sweep_reader(sweep_reader: SweepReader) -> None: + assert sweep_reader is not None + assert sweep_reader._dir_manager is not None + assert sweep_reader._n_para_read == hc.NUM_PARA + assert len(sweep_reader._output_files) == 0 + + +def test_read_output_key(sweep_reader: SweepReader) -> None: + pass diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 00000000..b7bf23a2 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,9 @@ +numpy +mooseherder +pyvale +scikit-learn +tkinter +math +pathlib +joblib +shutil \ No newline at end of file diff --git a/examples/ex1_2d_full_control.py b/examples/ex1_2d_full_control.py new file mode 100644 index 00000000..cf6a8286 --- /dev/null +++ b/examples/ex1_2d_full_control.py @@ -0,0 +1,183 @@ +from pathlib import Path +import math +import sklearn +import inspect +import sys +import joblib +import numpy as np +from icarus import (DatasetGenerator, + ModelBuilder, + MooseSetup, + UserInterface) + +def main(): + """main: runs all of the other functions. + """ + # Required parameters - change to desired values + # Input and output paths + input_file_path = "scripts/moose/plate_2d_thermal.i" + output_file_path = "examples/example_outputs/ex1_outputs/" + # Perturbation parameters, leave blank (ie parameters = {}) to use auto-generated + # tkinter interface + # Format as {param_name, [param_class, [param_values]]} + # where param_name is the name of the parameter from the input file + # param_class is the classification of the parameter + # geom - geometry, bc - boundary condtion, mat_prop - material property + # and param_values is a list of values the parameter should take on + parameters = { + "max_temp": ["bc", [750, 1000, 1250, 1500, 1750]], + "thermal_conductivity": ["mat_prop", [55, 65, 76, 85, 95]] + } + # Number of validation values to use for each parameter, respectively + num_validation_values = [3, 3] + # Parallelisation options + n_tasks, n_threads = 1, 2 + num_para_runs = 2 + # Ratio of invalid:valid datasets in training data + ground_truths_per_dataset = 3 + + # Modelling parameters - change to desired values: + # Classifier framework + # For a comprehensive list of available classifiers, please refer + # to the relevant documentation: + # https://scikit-learn.org/stable/supervised_learning.html + classifier_framework = sklearn.ensemble.RandomForestClassifier + # Classifier parameters + # Note that not all parameters are required for every classifier. + # Any irrelevant or unsupported parameters for the selected model + # will be automatically ignored during model creation. + # For a comprehensive list of available parameters for each classifier, + # please refer to the relevant documentation: + # https://scikit-learn.org/stable/modules/classes.html#classifier + classifier_params = { + "n_estimators": 100, + "random_state": 42, + "kernel": "linear", + "C": 0.025, + "max_depth": 5 + } + # Filter parameters according to chosen classifier + sig = inspect.signature(classifier_framework.__init__) + valid_params = set(sig.parameters.keys()) - {"self"} + filtered_params = {k: v for k, v in classifier_params.items() if k in valid_params} + # Make sure there are some filtered parameters to be used + if len(filtered_params) == 0: + print(f"Invalid parameters for {classifier_framework}: {classifier_params}") + sys.exit() + # Print ignored parameters + ignored = set(classifier_params) - set(filtered_params) + print(f"Ignored parameters for {classifier_framework}: {ignored}") + # The field being analysed as used by your input script + field_key = "temperature" + # Analysis sensor type + # (thermocouples for temperature, disp_sensors for displacement, or strain_gauges for strain) + sensor_type = "thermocouples" + # Sensor arrangement (x_sensors, y_sensors, z_sensors) + sensors = (3,2,1) + # Number of spatial dimensions being used + dims = 2 + # Whether the sensors should include basic errors or not + errors = False + # Whether the model should be a multi-classifier rather than binary, so it can + # distinguish between perturbations to different classes of invalid parameters + # (geometry, BCs, material properties) rather than just valid and invalid results + multi = True + # Whether the unlabelled data should be deleted + delete_datasets = True + # Whether the model should be saved as a .pkl file and what it should be called + save = False + model_name = "ex1_2d_model" + + # Setup MOOSE aspects of Icarus + moose_setup = MooseSetup(input_file_path, n_tasks=n_tasks, n_threads=n_threads) + moose_runner, moose_modifier = moose_setup.setup_moose_runner() + + # Accesses the available parameters + found_vars = moose_modifier.get_vars() + if len(parameters) == 0: + # If none have been manually specified, allow user to select which parameters are perturbed, + # what values they should take, and how many validation values to use for each + num_validation_values, parameters = UserInterface().accept_parameters(found_vars) + else: + # Ensure parameters dictionary and num_validation_values list are valid + if len(num_validation_values) != len(parameters) or 0 in num_validation_values: + print("Invalidation number of validation values specified") + sys.exit() + for param_name, param_data in parameters.items(): + if param_name not in found_vars.keys(): + print(f"Parameter {param_name} not found in input file. Exiting.") + sys.exit() + if param_data[0].lower() not in ["geom", "bc", "mat_prop"]: + print(f"Invalid parameter class. Exiting.") + sys.exit() + if len(param_data[1]) < 1: + print("Insufficient parameter values. Exiting.") + sys.exit() + + # Initialise dataset generator and generate perturbed, validation and ground truths datasets + dataset_generator = DatasetGenerator(moose_runner, moose_modifier, parameters, output_file_path, num_para_runs) + + # Sets up the paths to where the outputted unlabelled datasets will be saved + perturbed_path, perturbed_vals = Path(str(output_file_path+"perturbed_datasets/")), None + validation_path, validation_vals = Path(str(output_file_path+"validation_datasets/")), None + + paths = {perturbed_path: perturbed_vals, validation_path: validation_vals} + + # Generates the unlabelled datasets + for name, param_class, values, n_valid in zip(dataset_generator.param_names, dataset_generator.param_classes, \ + dataset_generator.param_values, num_validation_values): + # Generates valid validation values for each parameter + validation_values = dataset_generator.generate_validation_values(values, n_valid) + + paths[perturbed_path] = values + paths[validation_path] = validation_values + + # Generates perturbed and validation datasets based on chosen values + for path, vals in paths.items(): + dataset_generator.generate_dataset(path, name, param_class, vals) + + # Generates the ground truth datasets based on the ratio of perturbed:ground truth specified + for path in paths.keys(): + num_datasets = sum(1 for d in path.iterdir() if d.is_dir()) + num_ground_truths = math.ceil(num_datasets/ground_truths_per_dataset) + dataset_generator.generate_ground_truths(path, num_ground_truths) + + # Sets up, runs, and (optionally) saves the chosen model: + model = ModelBuilder(output_file_path, field_key, sensor_type, sensors, dims, errors, multi, delete_datasets) + + # Generates labelled training and validation datasets and saves them + header = ",".join([f"Sensor {i} reading" for i in range(1, sensors[0]*sensors[1]*sensors[2]+1)] + ["Label"]) + training_dataset = model.generate_labelled_dataset(perturbed_path) + np.savetxt(perturbed_path/"labelled_dataset.txt", training_dataset, fmt="%d", delimiter=",", header=header, comments='') + validation_dataset = model.generate_labelled_dataset(validation_path) + np.savetxt(validation_path/"labelled_dataset.txt", training_dataset, fmt="%d", delimiter=",", header=header, comments='') + + # Deletes unlabelled datasets if specified + if delete_datasets: + model.delete_data(perturbed_path, validation_path) + + # Splits data according to modelling requirements + X_train, y_train, X_val, y_val = training_dataset[:, :-1], training_dataset[:, -1], validation_dataset[:, :-1], validation_dataset[:, -1] + + # Builds the specified model and predicts the labels of the validation datasets + classifier = classifier_framework(**filtered_params) + classifier.fit(X_train, y_train) + y_pred = classifier.predict(X_val) + + # Outputs model metrics + model.output_model_metrics(y_val, y_pred) + + # Saves model if specified + if save: + joblib.dump(classifier, str(output_file_path)+model_name+'_model.pkl') + +if __name__ == "__main__": + main() + +# Next steps: + # Continue building test suite + # Improve classifiers + # Stretch goals: + # More complex input files, e.g. 3D monoblock + # Accepting multiple simultaneous perturbations - generate datasets class + # Allowing user to define sensor positions - labelled dataset function \ No newline at end of file diff --git a/moose-config.json b/moose-config.json new file mode 100644 index 00000000..15d8faf6 --- /dev/null +++ b/moose-config.json @@ -0,0 +1,5 @@ +{ + "main_path": "/Users/vc6725/projects/moose", + "app_path": "/Users/vc6725/projects/proteus", + "app_name": "proteus-opt" +} \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 02bf61c8..fb8011aa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,22 +5,20 @@ build-backend = "setuptools.build_meta" [project] name = "icarus" version = "0.1.0" -description = "A machine learning tool for fusion simulation validation." +description = "Machine learning for fusion simulation validation" authors = [ - { name = "arjavp-ukaea", email = "arjav.poudel@ukaea.uk" }, - { name = "barisc-ukaea", email = "baris.cavusoglu@ukaea.uk"}, - { name = "lukethehuman", email = "luke.humphrey@ukaea.uk"}, + { name = "iomags2211", email = "isaac.magee@ukaea.uk" }, ] license = { file = "LICENSE" } readme = "README.md" classifiers = [ - "Programming Language :: Python :: 3", - "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", + "Programming Language :: Python :: 3", + "License :: GNU LGPL", "Operating System :: OS Independent", ] requires-python = ">=3.11" dependencies = [ - "numpy>=1.26.0", + "numpy>=1.26.0" ] [project.urls] diff --git a/scripts/moose/monoblock_3d_thermal.i b/scripts/moose/monoblock_3d_thermal.i new file mode 100644 index 00000000..eedb1601 --- /dev/null +++ b/scripts/moose/monoblock_3d_thermal.i @@ -0,0 +1,753 @@ +#------------------------------------------------------------------------- +# monoblock_transient_thermal.i +# Author: Luke Humphrey, Lloyd Fletcher +# (c) Copyright UKAEA 2024. +# +#------------------------------------------------------------------------- +# DESCRIPTION +# +# Input file for a thermal simulation of a divertor monoblock. +# +# The monoblock is comprised of a copper-chromium-zirconium (CuCrZr) pipe +# surrounded by tungsten armour with an OFHC copper pipe interlayer in between. +# +# Temperature-variant material properties are implemented via linear +# interpolation from available data. Some of these material properties are not +# used for this thermal simulation, but are in place for a thermomechanical +# model including thermal expansion. +# +# Parameters describing the geometry are present at the top of the file above +# the MOOSE tree structure. These parameters can be modified to produce a +# monoblock design with the specified geometry. +# +# The mesh uses first order elements with a nominal mesh refinement of one +# division per millimetre. +# +# The incoming heat is modelled as a constant heat flux on the top surface of +# the block (i.e. the plasma-facing side). The outgoing heat is modelled as a +# convective heat flux on the internal surface of the copper pipe. Besides this +# heat flux, coolant flow is not modelled; the fluid region is treated as void. +# +# The boundary conditions are the incoming heat flux on the top surface, and +# the coolant temperature. The solve is steady state and outputs temperature. + +#------------------------------------------------------------------------- +# PARAMETER DEFINITIONS + +end_time = 30 +time_step = 0.5 + +#_* + +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Geometry +PI = 3.141592653589793 + +pipeThick = 0.0015 # m +pipeIntDiam = 0.012 # m +pipeExtDiam = ${fparse pipeIntDiam + 2*pipeThick} + +intLayerThick = 0.001 # m +intLayerIntDiam = ${pipeExtDiam} +intLayerExtDiam = ${fparse intLayerIntDiam + 2*intLayerThick} + +monoBThick = 0.003 # m +monoBWidth = ${fparse intLayerExtDiam + 2*monoBThick} +monoBArmHeight = 0.008 # m +monoBDepth = 0.012 # m + +pipeIntCirc = ${fparse PI * pipeIntDiam} + +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Mesh Sizing +meshRefFact = 1 +meshDens = 1000 # divisions per metre (nominal) + +# Mesh Order +secondOrder = false +orderString = FIRST + +# Note: some of the following values must be even integers. This is in some +# cases a requirement for the meshing functions used, else is is to ensure a +# division is present at the centreline, thus allowing zero-displacement +# boundary conditions to be applied to the centre nodes. These values are +# halved, rounded to int, then doubled to ensure the result is an even int. + +# Number of divisions along the top section of the monoblock armour. +monoBArmDivs = ${fparse int(monoBArmHeight * meshDens * meshRefFact)} + +# Number of divisions around each quadrant of the circumference of the pipe, +# interlayer, and radial section of the monoblock armour. +pipeCircSectDivs = ${fparse 2 * int(monoBWidth/2 * meshDens * meshRefFact / 2)} + +# Number of radial divisions for the pipe, interlayer, and radial section of +# the monoblock armour respectively. +pipeRadDivs = ${fparse max(int(pipeThick * meshDens * meshRefFact), 3)} +intLayerRadDivs = ${fparse max(int(intLayerThick * meshDens * meshRefFact), 5)} +monoBRadDivs = ${ + fparse max(int((monoBWidth-intLayerExtDiam)/2 * meshDens * meshRefFact), 5) +} + +# Number of divisions along monoblock depth (i.e. z-dimension). +extrudeDivs = ${fparse max(2 * int(monoBDepth * meshDens * meshRefFact / 2), 4)} + +monoBElemSize = ${fparse monoBDepth / extrudeDivs} +tol = ${fparse monoBElemSize / 10} +ctol = ${fparse pipeIntCirc / (8 * 4 * pipeCircSectDivs)} + +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Material Properties +# Mono-Block/Armour = Tungsten +# Interlayer = Oxygen-Free High-Conductivity (OFHC) Copper +# Cooling pipe = Copper Chromium Zirconium (CuCrZr) + +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Loads and BCs +stressFreeTemp = 20 # degC +coolantTemp = 500 # degC +surfHeatFlux = 100000000.0 # W/m^2 + +#** +#------------------------------------------------------------------------- + +[Mesh] + second_order = ${secondOrder} + + [mesh_monoblock] + type = PolygonConcentricCircleMeshGenerator + num_sides = 4 + polygon_size = ${fparse monoBWidth / 2} + polygon_size_style = apothem # i.e. distance from centre to edge + ring_radii = ' + ${fparse pipeIntDiam / 2} + ${fparse pipeExtDiam / 2} + ${fparse intLayerExtDiam / 2} + ' + num_sectors_per_side = ' + ${pipeCircSectDivs} + ${pipeCircSectDivs} + ${pipeCircSectDivs} + ${pipeCircSectDivs} + ' + ring_intervals = '1 ${pipeRadDivs} ${intLayerRadDivs}' + background_intervals = ${monoBRadDivs} + preserve_volumes = on + flat_side_up = true + ring_block_names = 'void pipe interlayer' + background_block_names = monoblock + interface_boundary_id_shift = 1000 + external_boundary_name = monoblock_boundary + generate_side_specific_boundaries = true + [] + + [mesh_armour] + type = GeneratedMeshGenerator + dim = 2 + xmin = ${fparse monoBWidth /-2} + xmax = ${fparse monoBWidth / 2} + ymin = ${fparse monoBWidth / 2} + ymax = ${fparse monoBWidth / 2 + monoBArmHeight} + nx = ${pipeCircSectDivs} + ny = ${monoBArmDivs} + boundary_name_prefix = armour + [] + + [combine_meshes] + type = StitchedMeshGenerator + inputs = 'mesh_monoblock mesh_armour' + stitch_boundaries_pairs = 'monoblock_boundary armour_bottom' + clear_stitched_boundary_ids = true + [] + + [delete_void] + type = BlockDeletionGenerator + input = combine_meshes + block = void + new_boundary = internal_boundary + [] + + [merge_block_names] + type = RenameBlockGenerator + input = delete_void + old_block = '4 0' + new_block = 'armour armour' + [] + + [merge_boundary_names] + type = RenameBoundaryGenerator + input = merge_block_names + old_boundary = 'armour_top + armour_left 10002 15002 + armour_right 10004 15004 + 10003 15003' + new_boundary = 'top + left left left + right right right + bottom bottom' + [] + + [extrude] + type = AdvancedExtruderGenerator + input = merge_boundary_names + direction = '0 0 1' + heights = ${monoBDepth} + num_layers = ${extrudeDivs} + [] + + [name_node_centre_x_bottom_y_back_z] + type = BoundingBoxNodeSetGenerator + input = extrude + bottom_left = '${fparse -ctol} + ${fparse (monoBWidth/-2)-ctol} + ${fparse -tol}' + top_right = '${fparse ctol} + ${fparse (monoBWidth/-2)+ctol} + ${fparse tol}' + new_boundary = centre_x_bottom_y_back_z + [] + [name_node_centre_x_bottom_y_front_z] + type = BoundingBoxNodeSetGenerator + input = name_node_centre_x_bottom_y_back_z + bottom_left = '${fparse -ctol} + ${fparse (monoBWidth/-2)-ctol} + ${fparse monoBDepth-tol}' + top_right = '${fparse ctol} + ${fparse (monoBWidth/-2)+ctol} + ${fparse monoBDepth+tol}' + new_boundary = centre_x_bottom_y_front_z + [] + [name_node_left_x_bottom_y_centre_z] + type = BoundingBoxNodeSetGenerator + input = name_node_centre_x_bottom_y_front_z + bottom_left = '${fparse (monoBWidth/-2)-ctol} + ${fparse (monoBWidth/-2)-ctol} + ${fparse (monoBDepth/2)-tol}' + top_right = '${fparse (monoBWidth/-2)+ctol} + ${fparse (monoBWidth/-2)+ctol} + ${fparse (monoBDepth/2)+tol}' + new_boundary = left_x_bottom_y_centre_z + [] + [name_node_right_x_bottom_y_centre_z] + type = BoundingBoxNodeSetGenerator + input = name_node_left_x_bottom_y_centre_z + bottom_left = '${fparse (monoBWidth/2)-ctol} + ${fparse (monoBWidth/-2)-ctol} + ${fparse (monoBDepth/2)-tol}' + top_right = '${fparse (monoBWidth/2)+ctol} + ${fparse (monoBWidth/-2)+ctol} + ${fparse (monoBDepth/2)+tol}' + new_boundary = right_x_bottom_y_centre_z + [] +[] + +[Variables] + [temperature] + family = LAGRANGE + order = ${orderString} + initial_condition = ${coolantTemp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] + [time_derivative] + type = HeatConductionTimeDerivative + variable = temperature + [] +[] + +[Functions] + [cucrzr_thermal_expansion] + type = PiecewiseLinear + xy_data = ' + 20 1.67e-05 + 50 1.7e-05 + 100 1.73e-05 + 150 1.75e-05 + 200 1.77e-05 + 250 1.78e-05 + 300 1.8e-05 + 350 1.8e-05 + 400 1.81e-05 + 450 1.82e-05 + 500 1.84e-05 + 550 1.85e-05 + 600 1.86e-05 + ' + [] + [copper_thermal_expansion] + type = PiecewiseLinear + xy_data = ' + 20 1.67e-05 + 50 1.7e-05 + 100 1.72e-05 + 150 1.75e-05 + 200 1.77e-05 + 250 1.78e-05 + 300 1.8e-05 + 350 1.81e-05 + 400 1.82e-05 + 450 1.84e-05 + 500 1.85e-05 + 550 1.87e-05 + 600 1.88e-05 + 650 1.9e-05 + 700 1.91e-05 + 750 1.93e-05 + 800 1.96e-05 + 850 1.98e-05 + 900 2.01e-05 + ' + [] + [tungsten_thermal_expansion] + type = PiecewiseLinear + xy_data = ' + 20 4.5e-06 + 100 4.5e-06 + 200 4.53e-06 + 300 4.58e-06 + 400 4.63e-06 + 500 4.68e-06 + 600 4.72e-06 + 700 4.76e-06 + 800 4.81e-06 + 900 4.85e-06 + 1000 4.89e-06 + 1200 4.98e-06 + 1400 5.08e-06 + 1600 5.18e-06 + 1800 5.3e-06 + 2000 5.43e-06 + 2200 5.57e-06 + 2400 5.74e-06 + 2600 5.93e-06 + 2800 6.15e-06 + 3000 6.4e-06 + 3200 6.67e-06 + ' + [] +[] + +[Materials] + [cucrzr_thermal_conductivity] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 318 + 50 324 + 100 333 + 150 339 + 200 343 + 250 345 + 300 346 + 350 347 + 400 347 + 450 346 + 500 346 + ' + variable = temperature + property = thermal_conductivity + block = 'pipe' + [] + [copper_thermal_conductivity] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 401 + 50 398 + 100 395 + 150 391 + 200 388 + 250 384 + 300 381 + 350 378 + 400 374 + 450 371 + 500 367 + 550 364 + 600 360 + 650 357 + 700 354 + 750 350 + 800 347 + 850 344 + 900 340 + 950 337 + 1000 334 + ' + variable = temperature + property = thermal_conductivity + block = 'interlayer' + [] + [tungsten_thermal_conductivity] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 173 + 50 170 + 100 165 + 150 160 + 200 156 + 250 151 + 300 147 + 350 143 + 400 140 + 450 136 + 500 133 + 550 130 + 600 127 + 650 125 + 700 122 + 750 120 + 800 118 + 850 116 + 900 114 + 950 112 + 1000 110 + 1100 108 + 1200 105 + ' + variable = temperature + property = thermal_conductivity + block = 'armour' + [] + + [cucrzr_density] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 8900 + 50 8886 + 100 8863 + 150 8840 + 200 8816 + 250 8791 + 300 8797 + 350 8742 + 400 8716 + 450 8691 + 500 8665 + ' + variable = temperature + property = density + block = 'pipe' + [] + [copper_density] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 8940 + 50 8926 + 100 8903 + 150 8879 + 200 8854 + 250 8829 + 300 8802 + 350 8774 + 400 8744 + 450 8713 + 500 8681 + 550 8647 + 600 8612 + 650 8575 + 700 8536 + 750 8495 + 800 8453 + 850 8409 + 900 8363 + ' + variable = temperature + property = density + block = 'interlayer' + [] + [tungsten_density] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 19300 + 50 19290 + 100 19280 + 150 19270 + 200 19250 + 250 19240 + 300 19230 + 350 19220 + 400 19200 + 450 19190 + 500 19180 + 550 19170 + 600 19150 + 650 19140 + 700 19130 + 750 19110 + 800 19100 + 850 19080 + 900 19070 + 950 19060 + 1000 19040 + 1100 19010 + 1200 18990 + ' + variable = temperature + property = density + block = 'armour' + [] + + [cucrzr_elastic_modulus] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 128000000000.0 + 50 127000000000.0 + 100 127000000000.0 + 150 125000000000.0 + 200 123000000000.0 + 250 121000000000.0 + 300 118000000000.0 + 350 116000000000.0 + 400 113000000000.0 + 450 110000000000.0 + 500 106000000000.0 + 550 100000000000.0 + 600 95000000000.0 + 650 90000000000.0 + 700 86000000000.0 + ' + variable = temperature + property = elastic_modulus + block = 'pipe' + [] + [copper_elastic_modulus] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 117000000000.0 + 50 116000000000.0 + 100 114000000000.0 + 150 112000000000.0 + 200 110000000000.0 + 250 108000000000.0 + 300 105000000000.0 + 350 102000000000.0 + 400 98000000000.0 + ' + variable = temperature + property = elastic_modulus + block = 'interlayer' + [] + [tungsten_elastic_modulus] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 398000000000.0 + 50 398000000000.0 + 100 397000000000.0 + 150 397000000000.0 + 200 396000000000.0 + 250 396000000000.0 + 300 395000000000.0 + 350 394000000000.0 + 400 393000000000.0 + 450 391000000000.0 + 500 390000000000.0 + 550 388000000000.0 + 600 387000000000.0 + 650 385000000000.0 + 700 383000000000.0 + 750 381000000000.0 + 800 379000000000.0 + 850 376000000000.0 + 900 374000000000.0 + 950 371000000000.0 + 1000 368000000000.0 + 1100 362000000000.0 + 1200 356000000000.0 + ' + variable = temperature + property = elastic_modulus + block = 'armour' + [] + + [cucrzr_specific_heat] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 390 + 50 393 + 100 398 + 150 402 + 200 407 + 250 412 + 300 417 + 350 422 + 400 427 + 450 432 + 500 437 + 550 442 + 600 447 + 650 452 + 700 458 + ' + variable = temperature + property = specific_heat + block = 'pipe' + [] + [copper_specific_heat] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 388 + 50 390 + 100 394 + 150 398 + 200 401 + 250 406 + 300 410 + 350 415 + 400 419 + 450 424 + 500 430 + 550 435 + 600 441 + 650 447 + 700 453 + 750 459 + 800 466 + 850 472 + 900 479 + 950 487 + 1000 494 + ' + variable = temperature + property = specific_heat + block = 'interlayer' + [] + [tungsten_specific_heat] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 20 129 + 50 130 + 100 132 + 150 133 + 200 135 + 250 136 + 300 138 + 350 139 + 400 141 + 450 142 + 500 144 + 550 145 + 600 147 + 650 148 + 700 150 + 750 151 + 800 152 + 850 154 + 900 155 + 950 156 + 1000 158 + 1100 160 + 1200 163 + ' + variable = temperature + property = specific_heat + block = 'armour' + [] + + [cucrzr_elasticity] + type = ComputeVariableIsotropicElasticityTensor + args = temperature + youngs_modulus = elastic_modulus + poissons_ratio = 0.33 + block = 'pipe' + [] + [copper_elasticity] + type = ComputeVariableIsotropicElasticityTensor + args = temperature + youngs_modulus = elastic_modulus + poissons_ratio = 0.33 + block = 'interlayer' + [] + [tungsten_elasticity] + type = ComputeVariableIsotropicElasticityTensor + args = temperature + youngs_modulus = elastic_modulus + poissons_ratio = 0.29 + block = 'armour' + [] + + [cucrzr_expansion] + type = ComputeInstantaneousThermalExpansionFunctionEigenstrain + temperature = temperature + stress_free_temperature = ${stressFreeTemp} + thermal_expansion_function = cucrzr_thermal_expansion + eigenstrain_name = thermal_expansion_eigenstrain + block = 'pipe' + [] + [copper_expansion] + type = ComputeInstantaneousThermalExpansionFunctionEigenstrain + temperature = temperature + stress_free_temperature = ${stressFreeTemp} + thermal_expansion_function = copper_thermal_expansion + eigenstrain_name = thermal_expansion_eigenstrain + block = 'interlayer' + [] + [tungsten_expansion] + type = ComputeInstantaneousThermalExpansionFunctionEigenstrain + temperature = temperature + stress_free_temperature = ${stressFreeTemp} + thermal_expansion_function = tungsten_thermal_expansion + eigenstrain_name = thermal_expansion_eigenstrain + block = 'armour' + [] + + [coolant_heat_transfer_coefficient] + type = PiecewiseLinearInterpolationMaterial + xy_data = ' + 1 4 + 100 109.1e3 + 150 115.9e3 + 200 121.01e3 + 250 128.8e3 + 295 208.2e3 + ' + variable = temperature + property = heat_transfer_coefficient + boundary = 'internal_boundary' + [] +[] + +[BCs] + [heat_flux_in] + type = FunctionNeumannBC + variable = temperature + boundary = 'top' + function = '${fparse surfHeatFlux}*(1-exp(-t))' + [] + [heat_flux_out] + type = ConvectiveHeatFluxBC + variable = temperature + boundary = 'internal_boundary' + T_infinity = ${coolantTemp} + heat_transfer_coefficient = heat_transfer_coefficient + [] +[] + +[Preconditioning] + [smp] + type = SMP + full = true + [] +[] + +[Executioner] + type = Transient + solve_type = 'PJFNK' + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' + end_time = ${end_time} + dt = ${time_step} +[] + +[Postprocessors] + [max_temp] + type = ElementExtremeValue + variable = temperature + [] +[] + +[Outputs] + exodus = true +[] diff --git a/scripts/moose/plate_2d_thermal.i b/scripts/moose/plate_2d_thermal.i new file mode 100644 index 00000000..ef9d7119 --- /dev/null +++ b/scripts/moose/plate_2d_thermal.i @@ -0,0 +1,74 @@ +#_* Variables Block +max_temp = 500 +init_temp = 20 +xmax = 10 +ymax = 2 +thermal_conductivity = 45 +specific_heat = 0.5 +prop_values = 8000 +bc1_value = ${init_temp} +bc1_boundary = left +bc2_value = ${max_temp} +bc2_boundary = right +#** + +[Mesh] + [generated] + type = GeneratedMeshGenerator + dim = 2 + nx = 20 + ny = 10 + xmax = ${xmax} + ymax = ${ymax} + [] +[] + +[Variables] + [temperature] + initial_condition = ${init_temp} + [] +[] + +[Kernels] + [heat_conduction] + type = HeatConduction + variable = temperature + [] +[] + +[Materials] + [thermal] + type = HeatConductionMaterial + thermal_conductivity = ${thermal_conductivity} + specific_heat = ${specific_heat} + [] + [density] + type = GenericConstantMaterial + prop_names = 'density' + prop_values = ${prop_values} + [] +[] + +[BCs] + [t_left] + type = DirichletBC + variable = temperature + value = ${bc1_value} + boundary = ${bc1_boundary} + [] + [t_right] + type = FunctionDirichletBC + variable = temperature + function = ${bc2_value} + boundary = ${bc2_boundary} + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + console = false + exodus = true +[] diff --git a/src/icarus.egg-info/PKG-INFO b/src/icarus.egg-info/PKG-INFO new file mode 100644 index 00000000..65e3943f --- /dev/null +++ b/src/icarus.egg-info/PKG-INFO @@ -0,0 +1,564 @@ +Metadata-Version: 2.4 +Name: icarus +Version: 0.1.0 +Summary: Machine learning for fusion simulation validation +Author-email: iomags2211 +License: GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + [This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your + freedom to share and change it. By contrast, the GNU General Public + Licenses are intended to guarantee your freedom to share and change + free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some + specially designated software packages--typically libraries--of the + Free Software Foundation and other authors who decide to use it. You + can use it too, but we suggest you first think carefully about whether + this license or the ordinary General Public License is the better + strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, + not price. Our General Public Licenses are designed to make sure that + you have the freedom to distribute copies of free software (and charge + for this service if you wish); that you receive source code or can get + it if you want it; that you can change the software and use pieces of + it in new free programs; and that you are informed that you can do + these things. + + To protect your rights, we need to make restrictions that forbid + distributors to deny you these rights or to ask you to surrender these + rights. These restrictions translate to certain responsibilities for + you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis + or for a fee, you must give the recipients all the rights that we gave + you. You must make sure that they, too, receive or can get the source + code. If you link other code with the library, you must provide + complete object files to the recipients, so that they can relink them + with the library after making changes to the library and recompiling + it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the + library, and (2) we offer you this license, which gives you legal + permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that + there is no warranty for the free library. Also, if the library is + modified by someone else and passed on, the recipients should know + that what they have is not the original version, so that the original + author's reputation will not be affected by problems that might be + introduced by others. + + Finally, software patents pose a constant threat to the existence of + any free program. We wish to make sure that a company cannot + effectively restrict the users of a free program by obtaining a + restrictive license from a patent holder. Therefore, we insist that + any patent license obtained for a version of the library must be + consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the + ordinary GNU General Public License. This license, the GNU Lesser + General Public License, applies to certain designated libraries, and + is quite different from the ordinary General Public License. We use + this license for certain libraries in order to permit linking those + libraries into non-free programs. + + When a program is linked with a library, whether statically or using + a shared library, the combination of the two is legally speaking a + combined work, a derivative of the original library. The ordinary + General Public License therefore permits such linking only if the + entire combination fits its criteria of freedom. The Lesser General + Public License permits more lax criteria for linking other code with + the library. + + We call this license the "Lesser" General Public License because it + does Less to protect the user's freedom than the ordinary General + Public License. It also provides other free software developers Less + of an advantage over competing non-free programs. These disadvantages + are the reason we use the ordinary General Public License for many + libraries. However, the Lesser license provides advantages in certain + special circumstances. + + For example, on rare occasions, there may be a special need to + encourage the widest possible use of a certain library, so that it becomes + a de-facto standard. To achieve this, non-free programs must be + allowed to use the library. A more frequent case is that a free + library does the same job as widely used non-free libraries. In this + case, there is little to gain by limiting the free library to free + software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free + programs enables a greater number of people to use a large body of + free software. For example, permission to use the GNU C Library in + non-free programs enables many more people to use the whole GNU + operating system, as well as its variant, the GNU/Linux operating + system. + + Although the Lesser General Public License is Less protective of the + users' freedom, it does ensure that the user of a program that is + linked with the Library has the freedom and the wherewithal to run + that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and + modification follow. Pay close attention to the difference between a + "work based on the library" and a "work that uses the library". The + former contains code derived from the library, whereas the latter must + be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other + program which contains a notice placed by the copyright holder or + other authorized party saying it may be distributed under the terms of + this Lesser General Public License (also called "this License"). + Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data + prepared so as to be conveniently linked with application programs + (which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work + which has been distributed under these terms. A "work based on the + Library" means either the Library or any derivative work under + copyright law: that is to say, a work containing the Library or a + portion of it, either verbatim or with modifications and/or translated + straightforwardly into another language. (Hereinafter, translation is + included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for + making modifications to it. For a library, complete source code means + all the source code for all modules it contains, plus any associated + interface definition files, plus the scripts used to control compilation + and installation of the library. + + Activities other than copying, distribution and modification are not + covered by this License; they are outside its scope. The act of + running a program using the Library is not restricted, and output from + such a program is covered only if its contents constitute a work based + on the Library (independent of the use of the Library in a tool for + writing it). Whether that is true depends on what the Library does + and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's + complete source code as you receive it, in any medium, provided that + you conspicuously and appropriately publish on each copy an + appropriate copyright notice and disclaimer of warranty; keep intact + all the notices that refer to this License and to the absence of any + warranty; and distribute a copy of this License along with the + Library. + + You may charge a fee for the physical act of transferring a copy, + and you may at your option offer warranty protection in exchange for a + fee. + + 2. You may modify your copy or copies of the Library or any portion + of it, thus forming a work based on the Library, and copy and + distribute such modifications or work under the terms of Section 1 + above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + + These requirements apply to the modified work as a whole. If + identifiable sections of that work are not derived from the Library, + and can be reasonably considered independent and separate works in + themselves, then this License, and its terms, do not apply to those + sections when you distribute them as separate works. But when you + distribute the same sections as part of a whole which is a work based + on the Library, the distribution of the whole must be on the terms of + this License, whose permissions for other licensees extend to the + entire whole, and thus to each and every part regardless of who wrote + it. + + Thus, it is not the intent of this section to claim rights or contest + your rights to work written entirely by you; rather, the intent is to + exercise the right to control the distribution of derivative or + collective works based on the Library. + + In addition, mere aggregation of another work not based on the Library + with the Library (or with a work based on the Library) on a volume of + a storage or distribution medium does not bring the other work under + the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public + License instead of this License to a given copy of the Library. To do + this, you must alter all the notices that refer to this License, so + that they refer to the ordinary GNU General Public License, version 2, + instead of to this License. (If a newer version than version 2 of the + ordinary GNU General Public License has appeared, then you can specify + that version instead if you wish.) Do not make any other change in + these notices. + + Once this change is made in a given copy, it is irreversible for + that copy, so the ordinary GNU General Public License applies to all + subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of + the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or + derivative of it, under Section 2) in object code or executable form + under the terms of Sections 1 and 2 above provided that you accompany + it with the complete corresponding machine-readable source code, which + must be distributed under the terms of Sections 1 and 2 above on a + medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy + from a designated place, then offering equivalent access to copy the + source code from the same place satisfies the requirement to + distribute the source code, even though third parties are not + compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the + Library, but is designed to work with the Library by being compiled or + linked with it, is called a "work that uses the Library". Such a + work, in isolation, is not a derivative work of the Library, and + therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library + creates an executable that is a derivative of the Library (because it + contains portions of the Library), rather than a "work that uses the + library". The executable is therefore covered by this License. + Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file + that is part of the Library, the object code for the work may be a + derivative work of the Library even though the source code is not. + Whether this is true is especially significant if the work can be + linked without the Library, or if the work is itself a library. The + threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data + structure layouts and accessors, and small macros and small inline + functions (ten lines or less in length), then the use of the object + file is unrestricted, regardless of whether it is legally a derivative + work. (Executables containing this object code plus portions of the + Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may + distribute the object code for the work under the terms of Section 6. + Any executables containing that work also fall under Section 6, + whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or + link a "work that uses the Library" with the Library to produce a + work containing portions of the Library, and distribute that work + under terms of your choice, provided that the terms permit + modification of the work for the customer's own use and reverse + engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the + Library is used in it and that the Library and its use are covered by + this License. You must supply a copy of this License. If the work + during execution displays copyright notices, you must include the + copyright notice for the Library among them, as well as a reference + directing the user to the copy of this License. Also, you must do one + of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the + Library" must include any data and utility programs needed for + reproducing the executable from it. However, as a special exception, + the materials to be distributed need not include anything that is + normally distributed (in either source or binary form) with the major + components (compiler, kernel, and so on) of the operating system on + which the executable runs, unless that component itself accompanies + the executable. + + It may happen that this requirement contradicts the license + restrictions of other proprietary libraries that do not normally + accompany the operating system. Such a contradiction means you cannot + use both them and the Library together in an executable that you + distribute. + + 7. You may place library facilities that are a work based on the + Library side-by-side in a single library together with other library + facilities not covered by this License, and distribute such a combined + library, provided that the separate distribution of the work based on + the Library and of the other library facilities is otherwise + permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute + the Library except as expressly provided under this License. Any + attempt otherwise to copy, modify, sublicense, link with, or + distribute the Library is void, and will automatically terminate your + rights under this License. However, parties who have received copies, + or rights, from you under this License will not have their licenses + terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not + signed it. However, nothing else grants you permission to modify or + distribute the Library or its derivative works. These actions are + prohibited by law if you do not accept this License. Therefore, by + modifying or distributing the Library (or any work based on the + Library), you indicate your acceptance of this License to do so, and + all its terms and conditions for copying, distributing or modifying + the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the + Library), the recipient automatically receives a license from the + original licensor to copy, distribute, link with or modify the Library + subject to these terms and conditions. You may not impose any further + restrictions on the recipients' exercise of the rights granted herein. + You are not responsible for enforcing compliance by third parties with + this License. + + 11. If, as a consequence of a court judgment or allegation of patent + infringement or for any other reason (not limited to patent issues), + conditions are imposed on you (whether by court order, agreement or + otherwise) that contradict the conditions of this License, they do not + excuse you from the conditions of this License. If you cannot + distribute so as to satisfy simultaneously your obligations under this + License and any other pertinent obligations, then as a consequence you + may not distribute the Library at all. For example, if a patent + license would not permit royalty-free redistribution of the Library by + all those who receive copies directly or indirectly through you, then + the only way you could satisfy both it and this License would be to + refrain entirely from distribution of the Library. + + If any portion of this section is held invalid or unenforceable under any + particular circumstance, the balance of the section is intended to apply, + and the section as a whole is intended to apply in other circumstances. + + It is not the purpose of this section to induce you to infringe any + patents or other property right claims or to contest validity of any + such claims; this section has the sole purpose of protecting the + integrity of the free software distribution system which is + implemented by public license practices. Many people have made + generous contributions to the wide range of software distributed + through that system in reliance on consistent application of that + system; it is up to the author/donor to decide if he or she is willing + to distribute software through any other system and a licensee cannot + impose that choice. + + This section is intended to make thoroughly clear what is believed to + be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in + certain countries either by patents or by copyrighted interfaces, the + original copyright holder who places the Library under this License may add + an explicit geographical distribution limitation excluding those countries, + so that distribution is permitted only in or among countries not thus + excluded. In such case, this License incorporates the limitation as if + written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new + versions of the Lesser General Public License from time to time. + Such new versions will be similar in spirit to the present version, + but may differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the Library + specifies a version number of this License which applies to it and + "any later version", you have the option of following the terms and + conditions either of that version or of any later version published by + the Free Software Foundation. If the Library does not specify a + license version number, you may choose any version ever published by + the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free + programs whose distribution conditions are incompatible with these, + write to the author to ask for permission. For software which is + copyrighted by the Free Software Foundation, write to the Free + Software Foundation; we sometimes make exceptions for this. Our + decision will be guided by the two goals of preserving the free status + of all derivatives of our free software and of promoting the sharing + and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO + WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. + EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR + OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE + LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME + THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN + WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY + AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU + FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR + CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE + LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING + RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A + FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF + SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest + possible use to the public, we recommend making it free software that + everyone can redistribute and change. You can do so by permitting + redistribution under these terms (or, alternatively, under the terms of the + ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is + safest to attach them to the start of each source file to most effectively + convey the exclusion of warranty; and each file should have at least the + "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + Also add information on how to contact you by electronic and paper mail. + + You should also get your employer (if you work as a programmer) or your + school, if any, to sign a "copyright disclaimer" for the library, if + necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + + That's all there is to it! + +Project-URL: Repository, https://github.com/aurora-multiphysics/icarus +Project-URL: Issue Tracker, https://github.com/aurora-multiphysics/icarus/issues +Classifier: Programming Language :: Python :: 3 +Classifier: License :: GNU LGPL +Classifier: Operating System :: OS Independent +Requires-Python: >=3.11 +Description-Content-Type: text/markdown +License-File: LICENSE +Requires-Dist: numpy>=1.26.0 +Dynamic: license-file + +# Icarus + +A set of machine learning tools that engineers can use to assess the agreement between an experiment and simulation; that is, to validate the simulation with experimental data and provide the engineer with a probable reason for any mismatches to allow further investigation and diagnosis. + +Works by generating a valid and invalid simulation results from a given MOOSE input file and training a machine learning classifier to recognise when a result is invalid and what the most probable issue is. Invalid results are generated by running the simulation with user-defined perturbations of parameters from the input file. The user can also control the parallelisation options, the sensors used to extract data from the simulation results, the modelling framework used, the ratio of valid:invalid datasets present in the training and validation data, and more. + +## Installation +### Standard & Developer Installation + +Clone `icarus` to your local system along with submodules using + +``` +git clone --recurse-submodules git@github.com:aurora-multiphysics/icarus.git +``` + +`cd` to the root directory of `icarus` and run the following commmand: + +``` +pip install . +pip install ./dependencies/pyvale +pip install ./dependencies/mooseherder +``` + +To create an editable/developer installation of `icarus`, `pyvale` and `mooseherder` - follow the instructions for a standard installation but run: + +``` +pip install -e . +pip install -e ./dependencies/pyvale +pip install -e ./dependencies/mooseherder +``` + +### MOOSE App + +`icarus` has been developed and tested using the `proteus` MOOSE app which can be found here: https://github.com/aurora-multiphysics/proteus. Follow the build instructions found on this page to install `proteus`. + +## Getting Started + +The examples folder shows how to use `icarus` for different input files and with different levels of user control. Make sure to include a moose_config.json file wherever you run it, and change the values contained to match your system, and ensure that your project space has an folder for the outputs which is correctly structured (ie contains a folder called perturbed_datasets and a folder called validation_datasets). + +## Contributors + +- Isaac Magee, UK Atomic Energy Authority, (iomags2211) +- Lloyd Fletcher, UK Atomic Energy Authority, (TheScepticalRabbit) +- Luke Humphrey, UK Atomic Energy Authority, (lukethehuman) + diff --git a/src/icarus/__init__.py b/src/icarus/__init__.py new file mode 100644 index 00000000..2f63d5db --- /dev/null +++ b/src/icarus/__init__.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +""" +Icarus +""" + +from icarus.moosesetup import MooseSetup +from icarus.datasetgenerator import DatasetGenerator +from icarus.modelbuilder import ModelBuilder +from icarus.userinterface import UserInterface + +__all__ = ["moosesetup", + "datasetgenerator", + "modelbuilder", + "userinterface"] \ No newline at end of file diff --git a/src/icarus/datasetgenerator.py b/src/icarus/datasetgenerator.py new file mode 100644 index 00000000..b01a5762 --- /dev/null +++ b/src/icarus/datasetgenerator.py @@ -0,0 +1,210 @@ +import random +import math +from pathlib import Path +from icarus import MooseSetup +from mooseherder import (MooseHerd, + MooseRunner, + InputModifier, + DirectoryManager, + SweepReader) + +class DatasetGenerator: + """Used to generate the unlabelled ground truth, perturbed, and + validation datasets by running the required functions with the necessary parameter + names and values, and save paths. + + NB: To run the input file, mooseherder requires that the moose_vars be structured as + [[{param_name: [param_values]}], [{param_name: param_values}], ...] for each parameter. + """ + def __init__(self, moose_runner: MooseRunner, moose_modifier: InputModifier, + parameters: dict[str, list], output_file_path: str, num_para_runs: int=2) -> None: + """__init__ + + Parameters + ---------- + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. + Specifies the comment character. Variable definition blocks should begin + #comment character#* and end #comment character#**, e.g. #_* and #** for + moose. + parameters : dict[str, list] + Dictionary containing the name of the parameter and the list of values for + that parameter to take for each simulation to be run. + output_file_path : str + Contains the path to the folder where the datasets and model(s) will be stored. + num_para_runs : int, optional + Number of parallel runs for running the simulations, by default 2. + + Raises + ---------- + ValueError + If there are no parameters entered. + FileNotFoundError + If any of the required output file paths don't exist. + """ + self.moose_runner = moose_runner + self.moose_modifier = moose_modifier + self.num_para_runs = num_para_runs + + if parameters == None or len(parameters) == 0: + raise ValueError(f"Unacceptable parameters. Exiting.") + + self.parameters = parameters + self.param_names = [key for key in parameters.keys()] + self.param_classes = [value[0] for value in parameters.values()] + self.param_values = [value[1] for value in parameters.values()] + + if not Path(output_file_path).exists() or \ + not Path(str(output_file_path+"perturbed_datasets/")).exists() or \ + not Path(str(output_file_path+"validation_datasets/")).exists(): + raise FileNotFoundError(f"At least one required output file path not found. Exiting.") + + self.output_file_path = output_file_path + + + def generate_ground_truths(self, base_dir: Path, num_ground_truths: list[int]) -> None: + """generate_ground_truths: used to generate the ground truth by running the input file + with no modifications, and save the results to the required base_dir under the + sub_dir_name "ground_truth". Creates a specified number of ground_truth datasets + + Parameters + ---------- + base_dir : Path + Contains the base directory to save ground_truth sub-directory for running the + simulations. + num_ground_truths : list[int] + Number of ground_truth datasets to generate. + """ + if num_ground_truths <= 0: + raise ValueError(f"Some ground truths must be generated. Exiting.") + dir_manager = MooseSetup.setup_directory_manager(base_dir, 'ground_truth', num_ground_truths) + moose_vars = [[{}]] * num_ground_truths + self.run_herd(dir_manager, moose_vars, num_ground_truths) + + + def generate_dataset(self, base_dir: Path, param_name: str, param_class: str, param_values: list[float]) -> None: + """generate_dataset: used to generate the perturbed and validation datasets by running the + input file with modifications to specified parameter, and save the results to the + required base_dir under a sub_dir_named for the perturbed parameter. + + Parameters + ---------- + base_dir : Path + Contains the base directory to save perturbed_param sub-directory for running the + simulations. + param_name : str + The name of the perturbed parameter. + param_class : str + The class of the perturbed parameter (geometry, BC or material property). + param_values : list[float] + List of values for the currently selected parameter. + """ + moose_vars = [] + n_dirs = len(param_values) + dir_manager = MooseSetup.setup_directory_manager(base_dir, str(f"{param_class}_{param_name}"), n_dirs) + for param in param_values: + moose_vars.append([{str(param_name): param}]) + self.run_herd(dir_manager, moose_vars, n_dirs) + + + def generate_validation_values(self, param_values: list[float], num_validation_values: int=2) -> list[float]: + """generate_validation_values: used to generate a specified number of validation values + for the selected parameter, so that the model can be tested to see if it can correctly + determine when the parameter has been perturbed to a value that was not present in the + training dataset. + + Parameters + ---------- + param_values : list[float] + List of training values for the currently selected parameter(s). + num_validation_values : int, optional + Number of validation values to generate for each parameter, by default 2 + + Returns + ------- + validation_values : list[float] + List containing a list(s) of validation values for each parameter, to be used to + determine the value of the InputModifier for that parameter for the run to be saved + under validation_datasets/param_name + """ + validation_values = [] + + min_val = min(param_values) + max_val = max(param_values) + + while len(validation_values) < num_validation_values: + validation_value = random.uniform(min_val, max_val) + if validation_value not in param_values and validation_value not in validation_values: + validation_values.append(validation_value) + + return validation_values + + + def generate_datasets(self, num_validation_values: list[int], ground_truths_per_dataset: int) -> None: + """generate_datasets: convenience function to run all aspects of the DatasetGenerator class. + + Parameters + ---------- + num_validation_values : list[int] + Contains a list of the number of validation datasets to generate for each parameter + ground_truth_per_dataset : int + Contains the number of ground truth datasets to include per perturbed dataset + """ + perturbed_path, perturbed_vals = Path(str(self.output_file_path+"perturbed_datasets/")), None + validation_path, validation_vals = Path(str(self.output_file_path+"validation_datasets/")), None + + paths = {perturbed_path: perturbed_vals, validation_path: validation_vals} + + for name, param_class, values, n_valid in zip(self.param_names, self.param_classes, self.param_values, num_validation_values): + validation_values = self.generate_validation_values(values, n_valid) + + paths[perturbed_path] = values + paths[validation_path] = validation_values + + for path, vals in paths.items(): + self.generate_dataset(path, name, param_class, vals) + + for path in paths.keys(): + num_datasets = sum(1 for d in path.iterdir() if d.is_dir()) + num_ground_truths = math.ceil(num_datasets/ground_truths_per_dataset) + self.generate_ground_truths(path, num_ground_truths) + + + def run_herd(self, dir_manager: DirectoryManager, + moose_vars: InputModifier, n_para: int=1, keep_flag: bool=False) -> None: + """run_herd: used to run parametric sweeps of simulation chains in + parallel with configurable parallelisation options. Takes a list of + SimRunner objects and a corresponding list of InputModifiers to insert the + variables into the input scripts for the SimRunners. Will first call all InputModifiers + in the specified order and then call run on all the SimRunners in order. Uses the + DirectoryManager class to log the directories in which each parallel worker is + creating input files and running simulations. Uses the SweepReader class to read the + output from one or more calls to mooseherd.run_para(). + + Parameters + ---------- + dir_manager : DirectoryManager + Used to control how many and which directories are used to run the simulations. + moose_vars : InputModifier + Used to extract and modify the variables in the input file. + Specifies the comment character. Variable definition blocks should begin + #comment character#* and end #comment character#**, e.g. #_* and #** for + moose. + n_para : int, optional + Sets the number of simulation chains to run in parallel. , by default 1 + keep_flag : bool, optional + Flag used for allowing multiple calls to run to keep everything or to + overwrite each time, by default False - overwrite inputs and outputs with multiple calls + """ + + herd = MooseHerd([self.moose_runner], [self.moose_modifier], dir_manager) + herd.set_num_para_sims(n_para=n_para) + herd.set_keep_flag(keep_flag) + for _ in range(self.num_para_runs): + herd.run_para(moose_vars) + + sweep_reader = SweepReader(dir_manager, num_para_read=4) + sweep_reader.read_all_output_keys() + read_all = sweep_reader.read_results_para() \ No newline at end of file diff --git a/src/icarus/modelbuilder.py b/src/icarus/modelbuilder.py new file mode 100644 index 00000000..4751a71b --- /dev/null +++ b/src/icarus/modelbuilder.py @@ -0,0 +1,217 @@ +import numpy as np +import pyvale +from sklearn.metrics import accuracy_score +from mooseherder import ExodusReader, SimData +from pathlib import Path +import shutil + +class ModelBuilder: + """Used to create a sensor array, generate the labelled datasets the sensor array and the + simulation data, train the chosen model on the training datasets, use the model + to make predictions for the validation dataset, and verify the accuracy of the model. + Outputs the pertinent information to the user, and allows the user to save the model, + and to delete unlabelled datasets + """ + def __init__(self, output_file_path: str, field_key: str, sensor_type: str, sensors: list=[3,2,1], + dims: int=2, errors: bool=False, multi: bool=False,delete_datasets: bool=False) -> None: + """__init__ + + Parameters + ---------- + output_file_path : str + Path to the location that all outputs should be saved. + field_key : str + The field key used for the analysis field in the input file. + sensor_type : str, optional + The sensor type used to analyse the field in the experiment/simulation. + sensors : list, optional + The number of sensors to in each dimension (x,y,z), by default [3,2,1] for a 2d + simulation. + dims : int, optional + The dimensionality of the problem, by default 2 + errors : bool, optional + Allows the user to determine whether or not the sensor array should incorporate errors, + by default False. + multi : bool, optional + Allows the user to specify whether to use a multi-classifier, by default + False (meaning use a binary classifier). + delete_datasets : bool + Allows the user to determine whether or not to delete the unlabelled datasets. + + Raises + ---------- + FileNotFoundError + If any of the required output file paths don't exist. + ValueError + If any of sensor_type, sensors, dims, errors, multi, delete_datasets, or save + are unacceptable. + """ + if not Path(output_file_path).exists() or \ + not Path(str(output_file_path+"perturbed_datasets/")).exists() or \ + not Path(str(output_file_path+"validation_datasets/")).exists(): + raise FileNotFoundError(f"At least one required output file path not found. Exiting.") + self.output_file_path = output_file_path + + self.field_key = field_key + + if sensor_type not in ["thermocouples", "disp_sensors", "strain_gauges"]: + raise ValueError(f"Unacceptable sensor type {sensor_type}. Exiting.") + self.sensor_type = sensor_type + + for sensor in sensors: + if sensor == 0: + raise ValueError("Invalid sensor array {sensors}. Exiting.") + if len(sensors) != 3 or sensors == None: + raise ValueError("Invalid sensor array {sensors}. Exiting.") + self.sensors = sensors + + if dims not in [1, 2, 3]: + raise ValueError(f"Dimensions must be 1, 2 or 3, not {dims}. Exiting.") + self.dims = dims + + if errors not in [True, False]: + raise ValueError(f"Errors must be either True or False, not {errors}. Exiting.") + self.errors = errors + + if multi not in [True, False]: + raise ValueError(f"Multi must be either True or False, not {multi}. Exiting.") + self.multi = multi + + if delete_datasets not in [True, False]: + raise ValueError(f"Delete datasets must be either True or False, not {delete_datasets}. Exiting.") + self.delete_datasets = delete_datasets + + self.labelled_dataset_cols = (sensors[0]*sensors[1]*sensors[2])+1 + + + def sensor_array(self, sim_data: SimData) -> pyvale.SensorArrayPoint: + """sensor_array: used to generate the array of sensors used to generate the labelled + datasets required for training the model. + + Parameters + ---------- + sim_data : SimData + The unlabelled datasets. + + Returns + ------- + SensorArrayPoint + The desired sensor array used to extract the values of the chosen field at given points. + """ + sensx, sensy, sensz = self.sensors[0], self.sensors[1], self.sensors[2] + + sim_data.coords = sim_data.coords*1000.0 + + xmax = np.max(sim_data.coords[:, 0]) + xmin = np.min(sim_data.coords[:, 0]) + + ymax, ymin, zmax, zmin = 0.0, 0.0, 0.0, 0.0 + if self.dims > 1: + ymax = np.max(sim_data.coords[:, 1]) + ymin = np.min(sim_data.coords[:, 1]) + if self.dims > 2: + zmax = np.max(sim_data.coords[:, 2]) + zmin = np.min(sim_data.coords[:, 2]) + + n_sens = (sensx,sensy,sensz) + x_lims = (xmin,xmax) + y_lims = (ymin,ymax) + z_lims = (zmin,zmax) + sens_pos = pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) + sens_data = pyvale.SensorData(positions=sens_pos) + + errors_map = { + True: "basic_errs", + False: "no_errs" + } + + func_name = f"{self.sensor_type}_{errors_map[self.errors]}" + factory = pyvale.SensorArrayFactory + func = getattr(factory, func_name) + sens_array = func(sim_data, sens_data, self.field_key, spat_dims=self.dims) + + return sens_array + + + def generate_labelled_dataset(self, folder_path: Path) -> list[list[list[float], int]]: + """generate_labelled_dataset: used to create a dataset by extracting values from the outputs + of each run, using ExodusReader class to read the data. + Assigns a label to each dataset depending on which (if any) parameter has been perturbed. + + Parameters + ---------- + folder_path : Path + Specifies the location of the unlabelled datasets from which the information for the + labelled dataset should be extracted. Should be the base directory - i.e. either + perturbed_datasets/ or validation_datasets/. + + Raises + ---------- + ValueError + If the training and/or validation datasets failed to generate. + + Returns + ---------- + labelled_dataset: np.array[np.array[list[float], int]] + 2D array containing the list of extracted measurements for each dataset and its + corresponding label. To be used to train/validate the model. + """ + labelled_dataset = np.empty((0, self.labelled_dataset_cols)) + + for file_path in folder_path.rglob('*.e'): + if "ground_truth" in str(file_path): + label = 0 + else: + if self.multi: + labels = {"ground_truth": 0, "geom": 1, "bc": 2, "mat_prop": 3} + for param_class, class_label in labels.items(): + if param_class in str(file_path): + label = class_label + else: + label = 1 + + sim_data = ExodusReader(file_path).read_all_sim_data() + sens_array = self.sensor_array(sim_data) + measurements = sens_array.get_measurements()[:, 0, 1] + + measurements = np.append(measurements, label) + labelled_dataset = np.vstack([labelled_dataset, measurements]) + + if len(labelled_dataset) <= 1: + raise ValueError(f"Training and/or validation datasets failed to generate. Exiting.") + else: + return labelled_dataset + + + def delete_data(self, perturbed_path: Path, validation_path: Path) -> None: + """delete_data: deletes the unlabelled datasets and just saves the labelled dataset + + Parameters + ---------- + perturbed_path : Path + Path to the save location for the perturbed datasets. + validation_path : Path + Path to the save location for the validation datasets. + """ + for path in [perturbed_path, validation_path]: + for folder in path.iterdir(): + if folder.is_dir(): + shutil.rmtree(folder) + + + def output_model_metrics(self, y_val: list[float], y_pred: list[float]) -> None: + """output_model_metrics: prints the actual + predicted labels, as well as the final + accuracy score for the model. + + Parameters + ---------- + y_val : list[float] + The actual labels for the validation dataset. + y_pred : list[float] + The predicted labels for the validation dataset. + """ + for i, (actual, predicted) in enumerate(zip(y_val, y_pred), start=1): + print(f"Row {i}: Actual Label = {actual}, Predicted Label = {predicted}") + + val_accuracy = accuracy_score(y_val, y_pred) + print(f"Validation Accuracy: {val_accuracy * 100:.2f}%") diff --git a/src/icarus/moosesetup.py b/src/icarus/moosesetup.py new file mode 100644 index 00000000..20752cd9 --- /dev/null +++ b/src/icarus/moosesetup.py @@ -0,0 +1,98 @@ +from pathlib import Path +from mooseherder import (MooseRunner, + MooseConfig, + InputModifier, + DirectoryManager) + +class MooseSetup: + """Used to setup the MOOSE Runners and Directory Managers required to run the simulations + and generate the datasets. + """ + def __init__(self, input_file_path: str, n_tasks: int, n_threads: int) -> None: + """__init__ + + Parameters + ---------- + input_file_path : str + The path to the input file used. + n_tasks : int + The number of tasks for parallelisation. + n_threads : int + The number of threads for parallelisation. + """ + self.input_file_path = input_file_path + self.n_tasks, self.n_threads = n_tasks, n_threads + + + def setup_moose_runner(self) -> tuple[MooseRunner, InputModifier]: + """setup_moose_runner: Constructor for MOOSE runner taking a MooseConfig object + that contains the paths to the main MOOSE install, the MOOSE app and + the MOOSE app name. + + Raises + ---------- + FileNotFoundError + If the input file path is unacceptable (not found or not an input file), or if + the moose-config.json file is unacceptable. + ValueError + If there are no parameters found in the input file. + + Returns + ---------- + moose_runner : MooseRunner + Constructed MOOSE runner used to run the input file with modified variables + moose_modifier : InputModifier + Used to extract and modify the variables in the input file. + Specifies the comment character. Variable definition blocks should begin + #comment character#* and end #comment character#**, e.g. #_* and #** for + moose. + """ + if self.input_file_path[-2:] != ".i" or not Path(self.input_file_path).exists(): + raise FileNotFoundError(f"Unacceptable input file path.") + + moose_input = Path(self.input_file_path) + + moose_modifier = InputModifier(moose_input, '#', '') + if len(moose_modifier.get_vars()) == 0: + raise ValueError(f"No parameters found in input file. Check input file and try again.") + + try: + moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') + except: + raise FileNotFoundError(f"JSON file moose-config.json not found, or points to non-existent MOOSE app.") + + moose_runner = MooseRunner(moose_config) + moose_runner.set_run_opts(n_tasks=self.n_tasks, n_threads=self.n_threads, redirect_out=False) + + return moose_runner, moose_modifier + + @staticmethod + def setup_directory_manager(base_dir: str, sub_dir_name: str, n_dirs: int=1) -> DirectoryManager: + """setup_directory_manager: sets up directory manager to manage directories for running + simulations in parallel with the mooseherd. Clears existing directories and creates + specified new ones with given names + + Parameters + ---------- + base_dir : Path + Sets the base directory to create sub-directories for running the simulations. + The base directory must exist. + sub_dir_name : str + String to be used at the start of the created sub-directores. + Default on creation is 'sim-workdir'. Populates the list of run directories using + the new sub directory name. + n_dirs : int, optional + Number of directories to be created., by default 1 + + Returns + ------- + dir_manager : DirectoryManager + Used to control how many and which directories are used to run the simulations. + """ + dir_manager = DirectoryManager(n_dirs=n_dirs) + dir_manager.set_base_dir(base_dir) + dir_manager.set_sub_dir_name(sub_dir_name) + dir_manager.clear_dirs() + dir_manager.create_dirs() + + return dir_manager \ No newline at end of file diff --git a/src/icarus/userinterface.py b/src/icarus/userinterface.py new file mode 100644 index 00000000..026dda26 --- /dev/null +++ b/src/icarus/userinterface.py @@ -0,0 +1,170 @@ +from tkinter import Tk, Label, Entry, Button, Frame, Checkbutton, BooleanVar, StringVar +from pathlib import Path + +class UserInterface: + """Provides a user interface using tkinter to allow the user to control aspects of the modelling process, + including selecting parameters to be perturbed and defining their values and how many validation datasets + to generate for each parameter. + """ + def __init__(self): + pass + + + def accept_parameters(self, parameters: dict[str, float]) -> tuple[list[int], dict[str, list[float]]]: + """accept_parameters: used to allow user to select which parameters to perturb, and the range, + interval of perturbation values, and number of validation values to be used for each parameter. + + Parameters + ---------- + parameters : dict[str, float] + Dictionary of parameter names and their corresponding values in the default input file. + Used to allow users to select which parameters to modify, and show them the default + values so they don't include them again. + + Returns + ---------- + num_val_values : list[int] + Number of validation values to use for each parameter + parameters : dict[str, list[float]] + Dictionary of parameter names and their corresponding list of values for perturbation. + """ + + def submit_parameters(): + """submit_parameter: specifies what should happen when the submit button is pressed. + The values within the Entry boxes for min_val, max_val and interval for the selected + parameters should be saved to their corresponding variables to allow creation of + param_values list, and the tkinter window should close. + + Raises + ---------- + ValueError + If the range or interval specified are invalid + Value Error + If there are fewer than 2 values for perturbation + Value Error + If there are fewer than 2 values for validation + """ + nonlocal parameters, num_val_values + parameters = {} + num_val_values = [] + + for row in rows: + if row['checkbox_var'].get(): # Check if checkbox is ticked + param_name = row['param_name'] + try: + param_class = str(row['param_class'].get()) + default_val = float(row['default_val']) + min_val = float(row['min_val'].get()) + max_val = float(row['max_val'].get()) + interval = float(row['interval'].get()) + num_validation_values = int(row['num_validation_values'].get()) + + if param_class.lower() not in ["geom", "bc", "mat_prop"]: + raise ValueError("Invalid parameter classification") + + if min_val >= max_val or interval <= 0: + raise ValueError("Invalid range or interval") + + param_data = [] + param_data.append(param_class) + + param_values = [] + current_val = min_val + while current_val <= max_val: + if current_val != default_val: + param_values.append(current_val) + current_val += interval + + if len(param_values) < 2: + raise ValueError("Insufficient perturbation values") + + if num_validation_values < 2: + raise ValueError("Insufficient validation values") + + param_data.append(param_values) + num_val_values.append(num_validation_values) + parameters[param_name] = param_data + + except ValueError as e: + error_label.config(text=f"Error: {str(e)}", fg="red") + return # Stop execution if an error occurs + + if len(parameters) == 0: + error_label.config(text="No parameters submitted", fg="red") + return + + param_root.destroy() + + param_root = Tk() + + table_frame = Frame(param_root) + table_frame.grid(row=2, column=0, columnspan=2, padx=10, pady=10) + + headers = ["Select", "Param Name", "Param Class", "Default Value", "Min Value", "Max Value", "Interval", "No. Validation Values"] + for col, header in enumerate(headers): + Label(table_frame, text=header).grid(row=0, column=col, padx=5, pady=5) + + params = [] + for parameter_name, parameter_value in parameters.items(): + try: + if float(parameter_value) <= 10: + x = parameter_value + elif float(parameter_value) > 10 and parameter_value < 100: + x = 10 + else: + x = parameter_value/2 + params.append({"param_name": parameter_name,"param_class": "geom/bc/mat_prop","default_val": parameter_value, + "min_val": parameter_value+x,"max_val": parameter_value+5*x,"interval": x,"num_validation_values":3}) + except ValueError: + params.append({"param_name": parameter_name,"param_class": "geom/bc/mat_prop","default_val": parameter_value, + "min_val": "","max_val": "","interval": "","num_validation_values":""}) + + rows = [] + for i, param in enumerate(params): + row = {} + + row['checkbox_var'] = BooleanVar(value=False) + + checkbox = Checkbutton(table_frame, variable=row['checkbox_var']) + checkbox.grid(row=i+1, column=0, padx=5, pady=5) + + Label(table_frame, text=param['param_name']).grid(row=i+1, column=1, padx=5, pady=5) + row['param_name'] = param['param_name'] + + row['param_class'] = StringVar(value=param['param_class']) + param_class_entry = Entry(table_frame, textvariable=row['param_class'], width=15) + param_class_entry.grid(row=i+1, column=2, padx=5, pady=5) + + Label(table_frame, text=param['default_val']).grid(row=i+1, column=3, padx=5, pady=5) + row['default_val'] = param['default_val'] + + row['min_val'] = StringVar(value=param['min_val']) + min_val_entry = Entry(table_frame, textvariable=row['min_val'], width=10) + min_val_entry.grid(row=i+1, column=4, padx=5, pady=5) + + row['max_val'] = StringVar(value=param['max_val']) + max_val_entry = Entry(table_frame, textvariable=row['max_val'], width=10) + max_val_entry.grid(row=i+1, column=5, padx=5, pady=5) + + row['interval'] = StringVar(value=param['interval']) + interval_entry = Entry(table_frame, textvariable=row['interval'], width=10) + interval_entry.grid(row=i+1, column=6, padx=5, pady=5) + + row['num_validation_values'] = StringVar(value=param['num_validation_values']) + num_validation_values_entry = Entry(table_frame, textvariable=row['num_validation_values'], width=10) + num_validation_values_entry.grid(row=i+1, column=7, padx=5, pady=5) + + rows.append(row) + + parameters = None + num_val_values = None + + submit_button = Button(param_root, text="Submit", command=submit_parameters) + submit_button.grid(row=3, column=0, columnspan=2, pady=10) + + error_label = Label(param_root, text="", fg="red") + error_label.grid(row=4, column=0, columnspan=2) + + param_root.mainloop() + + return num_val_values, parameters \ No newline at end of file diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/moosesetup_test.py b/tests/moosesetup_test.py new file mode 100644 index 00000000..4a61d861 --- /dev/null +++ b/tests/moosesetup_test.py @@ -0,0 +1,33 @@ +import pytest +from unittest.mock import patch, MagicMock +from pathlib import Path +from icarus import MooseSetup + + +def test_invalid_file_extension_raises_file_not_found(): + setup = MooseSetup(input_file_path="input.txt", n_tasks=4, n_threads=4) + with pytest.raises(FileNotFoundError, match="Unacceptable input file path."): + setup.setup_moose_runner() + + +def test_nonexistent_input_file_raises_file_not_found(tmp_path): + fake_file = tmp_path / "input.i" + setup = MooseSetup(input_file_path=str(fake_file), n_tasks=4, n_threads=4) + + with pytest.raises(FileNotFoundError, match="Unacceptable input file path."): + setup.setup_moose_runner() + + +@patch("icarus.moosesetup.InputModifier") +def test_no_parameters_found_raises_value_error(mock_input_modifier, tmp_path): + input_file = tmp_path / "input.i" + input_file.write_text("Dummy content") + + mock_instance = MagicMock() + mock_instance.get_vars.return_value = {} + mock_input_modifier.return_value = mock_instance + + setup = MooseSetup(input_file_path=str(input_file), n_tasks=4, n_threads=4) + + with pytest.raises(ValueError, match="No parameters found in input file"): + setup.setup_moose_runner() \ No newline at end of file From 2b7ca8e7b7efe6f8d4465aec286643261fe953f2 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Thu, 22 May 2025 16:48:53 +0100 Subject: [PATCH 35/48] Updated to match updates to pyvale --- examples/ex1_2d_full_control.py | 6 +++--- src/icarus/__init__.py | 4 ++-- src/icarus/modelbuilder.py | 16 +++++++++------- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/examples/ex1_2d_full_control.py b/examples/ex1_2d_full_control.py index cf6a8286..ab1a903c 100644 --- a/examples/ex1_2d_full_control.py +++ b/examples/ex1_2d_full_control.py @@ -83,7 +83,7 @@ def main(): # (geometry, BCs, material properties) rather than just valid and invalid results multi = True # Whether the unlabelled data should be deleted - delete_datasets = True + delete_datasets = False # Whether the model should be saved as a .pkl file and what it should be called save = False model_name = "ex1_2d_model" @@ -148,9 +148,7 @@ def main(): # Generates labelled training and validation datasets and saves them header = ",".join([f"Sensor {i} reading" for i in range(1, sensors[0]*sensors[1]*sensors[2]+1)] + ["Label"]) training_dataset = model.generate_labelled_dataset(perturbed_path) - np.savetxt(perturbed_path/"labelled_dataset.txt", training_dataset, fmt="%d", delimiter=",", header=header, comments='') validation_dataset = model.generate_labelled_dataset(validation_path) - np.savetxt(validation_path/"labelled_dataset.txt", training_dataset, fmt="%d", delimiter=",", header=header, comments='') # Deletes unlabelled datasets if specified if delete_datasets: @@ -170,6 +168,8 @@ def main(): # Saves model if specified if save: joblib.dump(classifier, str(output_file_path)+model_name+'_model.pkl') + np.savetxt(perturbed_path/"labelled_dataset.txt", training_dataset, fmt="%d", delimiter=",", header=header, comments='') + np.savetxt(validation_path/"labelled_dataset.txt", validation_dataset, fmt="%d", delimiter=",", header=header, comments='') if __name__ == "__main__": main() diff --git a/src/icarus/__init__.py b/src/icarus/__init__.py index 2f63d5db..43e38ce7 100644 --- a/src/icarus/__init__.py +++ b/src/icarus/__init__.py @@ -10,5 +10,5 @@ __all__ = ["moosesetup", "datasetgenerator", - "modelbuilder", - "userinterface"] \ No newline at end of file + "modelbuilder", + "userinterface"] \ No newline at end of file diff --git a/src/icarus/modelbuilder.py b/src/icarus/modelbuilder.py index 4751a71b..32634d97 100644 --- a/src/icarus/modelbuilder.py +++ b/src/icarus/modelbuilder.py @@ -1,5 +1,4 @@ import numpy as np -import pyvale from sklearn.metrics import accuracy_score from mooseherder import ExodusReader, SimData from pathlib import Path @@ -46,6 +45,9 @@ def __init__(self, output_file_path: str, field_key: str, sensor_type: str, sens If any of sensor_type, sensors, dims, errors, multi, delete_datasets, or save are unacceptable. """ + import pyvale + self.pyvale = pyvale + if not Path(output_file_path).exists() or \ not Path(str(output_file_path+"perturbed_datasets/")).exists() or \ not Path(str(output_file_path+"validation_datasets/")).exists(): @@ -84,9 +86,9 @@ def __init__(self, output_file_path: str, field_key: str, sensor_type: str, sens self.labelled_dataset_cols = (sensors[0]*sensors[1]*sensors[2])+1 - def sensor_array(self, sim_data: SimData) -> pyvale.SensorArrayPoint: + def sensor_array(self, sim_data: SimData) -> "pyvale.SensorArrayPoint": """sensor_array: used to generate the array of sensors used to generate the labelled - datasets required for training the model. + datasets required for training the model. Parameters ---------- @@ -117,8 +119,8 @@ def sensor_array(self, sim_data: SimData) -> pyvale.SensorArrayPoint: x_lims = (xmin,xmax) y_lims = (ymin,ymax) z_lims = (zmin,zmax) - sens_pos = pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) - sens_data = pyvale.SensorData(positions=sens_pos) + sens_pos = self.pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) + sens_data = self.pyvale.SensorData(positions=sens_pos) errors_map = { True: "basic_errs", @@ -126,9 +128,9 @@ def sensor_array(self, sim_data: SimData) -> pyvale.SensorArrayPoint: } func_name = f"{self.sensor_type}_{errors_map[self.errors]}" - factory = pyvale.SensorArrayFactory + factory = self.pyvale.SensorArrayFactory func = getattr(factory, func_name) - sens_array = func(sim_data, sens_data, self.field_key, spat_dims=self.dims) + sens_array = func(sim_data, sens_data, elem_dims=self.dims, field_name=self.field_key) return sens_array From 5f17c5266c2c0fbfe86b5eadf9f847172bbdb8a3 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Thu, 22 May 2025 16:48:53 +0100 Subject: [PATCH 36/48] Updated to match updates to pyvale --- examples/ex1_2d_full_control.py | 6 +++--- src/icarus/__init__.py | 4 ++-- src/icarus/modelbuilder.py | 16 +++++++++------- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/examples/ex1_2d_full_control.py b/examples/ex1_2d_full_control.py index cf6a8286..ab1a903c 100644 --- a/examples/ex1_2d_full_control.py +++ b/examples/ex1_2d_full_control.py @@ -83,7 +83,7 @@ def main(): # (geometry, BCs, material properties) rather than just valid and invalid results multi = True # Whether the unlabelled data should be deleted - delete_datasets = True + delete_datasets = False # Whether the model should be saved as a .pkl file and what it should be called save = False model_name = "ex1_2d_model" @@ -148,9 +148,7 @@ def main(): # Generates labelled training and validation datasets and saves them header = ",".join([f"Sensor {i} reading" for i in range(1, sensors[0]*sensors[1]*sensors[2]+1)] + ["Label"]) training_dataset = model.generate_labelled_dataset(perturbed_path) - np.savetxt(perturbed_path/"labelled_dataset.txt", training_dataset, fmt="%d", delimiter=",", header=header, comments='') validation_dataset = model.generate_labelled_dataset(validation_path) - np.savetxt(validation_path/"labelled_dataset.txt", training_dataset, fmt="%d", delimiter=",", header=header, comments='') # Deletes unlabelled datasets if specified if delete_datasets: @@ -170,6 +168,8 @@ def main(): # Saves model if specified if save: joblib.dump(classifier, str(output_file_path)+model_name+'_model.pkl') + np.savetxt(perturbed_path/"labelled_dataset.txt", training_dataset, fmt="%d", delimiter=",", header=header, comments='') + np.savetxt(validation_path/"labelled_dataset.txt", validation_dataset, fmt="%d", delimiter=",", header=header, comments='') if __name__ == "__main__": main() diff --git a/src/icarus/__init__.py b/src/icarus/__init__.py index 2f63d5db..43e38ce7 100644 --- a/src/icarus/__init__.py +++ b/src/icarus/__init__.py @@ -10,5 +10,5 @@ __all__ = ["moosesetup", "datasetgenerator", - "modelbuilder", - "userinterface"] \ No newline at end of file + "modelbuilder", + "userinterface"] \ No newline at end of file diff --git a/src/icarus/modelbuilder.py b/src/icarus/modelbuilder.py index 4751a71b..32634d97 100644 --- a/src/icarus/modelbuilder.py +++ b/src/icarus/modelbuilder.py @@ -1,5 +1,4 @@ import numpy as np -import pyvale from sklearn.metrics import accuracy_score from mooseherder import ExodusReader, SimData from pathlib import Path @@ -46,6 +45,9 @@ def __init__(self, output_file_path: str, field_key: str, sensor_type: str, sens If any of sensor_type, sensors, dims, errors, multi, delete_datasets, or save are unacceptable. """ + import pyvale + self.pyvale = pyvale + if not Path(output_file_path).exists() or \ not Path(str(output_file_path+"perturbed_datasets/")).exists() or \ not Path(str(output_file_path+"validation_datasets/")).exists(): @@ -84,9 +86,9 @@ def __init__(self, output_file_path: str, field_key: str, sensor_type: str, sens self.labelled_dataset_cols = (sensors[0]*sensors[1]*sensors[2])+1 - def sensor_array(self, sim_data: SimData) -> pyvale.SensorArrayPoint: + def sensor_array(self, sim_data: SimData) -> "pyvale.SensorArrayPoint": """sensor_array: used to generate the array of sensors used to generate the labelled - datasets required for training the model. + datasets required for training the model. Parameters ---------- @@ -117,8 +119,8 @@ def sensor_array(self, sim_data: SimData) -> pyvale.SensorArrayPoint: x_lims = (xmin,xmax) y_lims = (ymin,ymax) z_lims = (zmin,zmax) - sens_pos = pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) - sens_data = pyvale.SensorData(positions=sens_pos) + sens_pos = self.pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) + sens_data = self.pyvale.SensorData(positions=sens_pos) errors_map = { True: "basic_errs", @@ -126,9 +128,9 @@ def sensor_array(self, sim_data: SimData) -> pyvale.SensorArrayPoint: } func_name = f"{self.sensor_type}_{errors_map[self.errors]}" - factory = pyvale.SensorArrayFactory + factory = self.pyvale.SensorArrayFactory func = getattr(factory, func_name) - sens_array = func(sim_data, sens_data, self.field_key, spat_dims=self.dims) + sens_array = func(sim_data, sens_data, elem_dims=self.dims, field_name=self.field_key) return sens_array From bbfe2608da3343ee588c73831e48edf09ffcc7f8 Mon Sep 17 00:00:00 2001 From: Luke Humphrey Date: Fri, 23 May 2025 07:13:46 +0100 Subject: [PATCH 37/48] =?UTF-8?q?=F0=9F=94=A5=20Delete=20(untrack)=20egg-i?= =?UTF-8?q?nfo=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/icarus.egg-info/PKG-INFO | 564 ----------------------------------- 1 file changed, 564 deletions(-) delete mode 100644 src/icarus.egg-info/PKG-INFO diff --git a/src/icarus.egg-info/PKG-INFO b/src/icarus.egg-info/PKG-INFO deleted file mode 100644 index 65e3943f..00000000 --- a/src/icarus.egg-info/PKG-INFO +++ /dev/null @@ -1,564 +0,0 @@ -Metadata-Version: 2.4 -Name: icarus -Version: 0.1.0 -Summary: Machine learning for fusion simulation validation -Author-email: iomags2211 -License: GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - [This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your - freedom to share and change it. By contrast, the GNU General Public - Licenses are intended to guarantee your freedom to share and change - free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some - specially designated software packages--typically libraries--of the - Free Software Foundation and other authors who decide to use it. You - can use it too, but we suggest you first think carefully about whether - this license or the ordinary General Public License is the better - strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, - not price. Our General Public Licenses are designed to make sure that - you have the freedom to distribute copies of free software (and charge - for this service if you wish); that you receive source code or can get - it if you want it; that you can change the software and use pieces of - it in new free programs; and that you are informed that you can do - these things. - - To protect your rights, we need to make restrictions that forbid - distributors to deny you these rights or to ask you to surrender these - rights. These restrictions translate to certain responsibilities for - you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis - or for a fee, you must give the recipients all the rights that we gave - you. You must make sure that they, too, receive or can get the source - code. If you link other code with the library, you must provide - complete object files to the recipients, so that they can relink them - with the library after making changes to the library and recompiling - it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the - library, and (2) we offer you this license, which gives you legal - permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that - there is no warranty for the free library. Also, if the library is - modified by someone else and passed on, the recipients should know - that what they have is not the original version, so that the original - author's reputation will not be affected by problems that might be - introduced by others. - - Finally, software patents pose a constant threat to the existence of - any free program. We wish to make sure that a company cannot - effectively restrict the users of a free program by obtaining a - restrictive license from a patent holder. Therefore, we insist that - any patent license obtained for a version of the library must be - consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the - ordinary GNU General Public License. This license, the GNU Lesser - General Public License, applies to certain designated libraries, and - is quite different from the ordinary General Public License. We use - this license for certain libraries in order to permit linking those - libraries into non-free programs. - - When a program is linked with a library, whether statically or using - a shared library, the combination of the two is legally speaking a - combined work, a derivative of the original library. The ordinary - General Public License therefore permits such linking only if the - entire combination fits its criteria of freedom. The Lesser General - Public License permits more lax criteria for linking other code with - the library. - - We call this license the "Lesser" General Public License because it - does Less to protect the user's freedom than the ordinary General - Public License. It also provides other free software developers Less - of an advantage over competing non-free programs. These disadvantages - are the reason we use the ordinary General Public License for many - libraries. However, the Lesser license provides advantages in certain - special circumstances. - - For example, on rare occasions, there may be a special need to - encourage the widest possible use of a certain library, so that it becomes - a de-facto standard. To achieve this, non-free programs must be - allowed to use the library. A more frequent case is that a free - library does the same job as widely used non-free libraries. In this - case, there is little to gain by limiting the free library to free - software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free - programs enables a greater number of people to use a large body of - free software. For example, permission to use the GNU C Library in - non-free programs enables many more people to use the whole GNU - operating system, as well as its variant, the GNU/Linux operating - system. - - Although the Lesser General Public License is Less protective of the - users' freedom, it does ensure that the user of a program that is - linked with the Library has the freedom and the wherewithal to run - that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and - modification follow. Pay close attention to the difference between a - "work based on the library" and a "work that uses the library". The - former contains code derived from the library, whereas the latter must - be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other - program which contains a notice placed by the copyright holder or - other authorized party saying it may be distributed under the terms of - this Lesser General Public License (also called "this License"). - Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data - prepared so as to be conveniently linked with application programs - (which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work - which has been distributed under these terms. A "work based on the - Library" means either the Library or any derivative work under - copyright law: that is to say, a work containing the Library or a - portion of it, either verbatim or with modifications and/or translated - straightforwardly into another language. (Hereinafter, translation is - included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for - making modifications to it. For a library, complete source code means - all the source code for all modules it contains, plus any associated - interface definition files, plus the scripts used to control compilation - and installation of the library. - - Activities other than copying, distribution and modification are not - covered by this License; they are outside its scope. The act of - running a program using the Library is not restricted, and output from - such a program is covered only if its contents constitute a work based - on the Library (independent of the use of the Library in a tool for - writing it). Whether that is true depends on what the Library does - and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's - complete source code as you receive it, in any medium, provided that - you conspicuously and appropriately publish on each copy an - appropriate copyright notice and disclaimer of warranty; keep intact - all the notices that refer to this License and to the absence of any - warranty; and distribute a copy of this License along with the - Library. - - You may charge a fee for the physical act of transferring a copy, - and you may at your option offer warranty protection in exchange for a - fee. - - 2. You may modify your copy or copies of the Library or any portion - of it, thus forming a work based on the Library, and copy and - distribute such modifications or work under the terms of Section 1 - above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - - These requirements apply to the modified work as a whole. If - identifiable sections of that work are not derived from the Library, - and can be reasonably considered independent and separate works in - themselves, then this License, and its terms, do not apply to those - sections when you distribute them as separate works. But when you - distribute the same sections as part of a whole which is a work based - on the Library, the distribution of the whole must be on the terms of - this License, whose permissions for other licensees extend to the - entire whole, and thus to each and every part regardless of who wrote - it. - - Thus, it is not the intent of this section to claim rights or contest - your rights to work written entirely by you; rather, the intent is to - exercise the right to control the distribution of derivative or - collective works based on the Library. - - In addition, mere aggregation of another work not based on the Library - with the Library (or with a work based on the Library) on a volume of - a storage or distribution medium does not bring the other work under - the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public - License instead of this License to a given copy of the Library. To do - this, you must alter all the notices that refer to this License, so - that they refer to the ordinary GNU General Public License, version 2, - instead of to this License. (If a newer version than version 2 of the - ordinary GNU General Public License has appeared, then you can specify - that version instead if you wish.) Do not make any other change in - these notices. - - Once this change is made in a given copy, it is irreversible for - that copy, so the ordinary GNU General Public License applies to all - subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of - the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or - derivative of it, under Section 2) in object code or executable form - under the terms of Sections 1 and 2 above provided that you accompany - it with the complete corresponding machine-readable source code, which - must be distributed under the terms of Sections 1 and 2 above on a - medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy - from a designated place, then offering equivalent access to copy the - source code from the same place satisfies the requirement to - distribute the source code, even though third parties are not - compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the - Library, but is designed to work with the Library by being compiled or - linked with it, is called a "work that uses the Library". Such a - work, in isolation, is not a derivative work of the Library, and - therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library - creates an executable that is a derivative of the Library (because it - contains portions of the Library), rather than a "work that uses the - library". The executable is therefore covered by this License. - Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file - that is part of the Library, the object code for the work may be a - derivative work of the Library even though the source code is not. - Whether this is true is especially significant if the work can be - linked without the Library, or if the work is itself a library. The - threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data - structure layouts and accessors, and small macros and small inline - functions (ten lines or less in length), then the use of the object - file is unrestricted, regardless of whether it is legally a derivative - work. (Executables containing this object code plus portions of the - Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may - distribute the object code for the work under the terms of Section 6. - Any executables containing that work also fall under Section 6, - whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or - link a "work that uses the Library" with the Library to produce a - work containing portions of the Library, and distribute that work - under terms of your choice, provided that the terms permit - modification of the work for the customer's own use and reverse - engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the - Library is used in it and that the Library and its use are covered by - this License. You must supply a copy of this License. If the work - during execution displays copyright notices, you must include the - copyright notice for the Library among them, as well as a reference - directing the user to the copy of this License. Also, you must do one - of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the - Library" must include any data and utility programs needed for - reproducing the executable from it. However, as a special exception, - the materials to be distributed need not include anything that is - normally distributed (in either source or binary form) with the major - components (compiler, kernel, and so on) of the operating system on - which the executable runs, unless that component itself accompanies - the executable. - - It may happen that this requirement contradicts the license - restrictions of other proprietary libraries that do not normally - accompany the operating system. Such a contradiction means you cannot - use both them and the Library together in an executable that you - distribute. - - 7. You may place library facilities that are a work based on the - Library side-by-side in a single library together with other library - facilities not covered by this License, and distribute such a combined - library, provided that the separate distribution of the work based on - the Library and of the other library facilities is otherwise - permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute - the Library except as expressly provided under this License. Any - attempt otherwise to copy, modify, sublicense, link with, or - distribute the Library is void, and will automatically terminate your - rights under this License. However, parties who have received copies, - or rights, from you under this License will not have their licenses - terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not - signed it. However, nothing else grants you permission to modify or - distribute the Library or its derivative works. These actions are - prohibited by law if you do not accept this License. Therefore, by - modifying or distributing the Library (or any work based on the - Library), you indicate your acceptance of this License to do so, and - all its terms and conditions for copying, distributing or modifying - the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the - Library), the recipient automatically receives a license from the - original licensor to copy, distribute, link with or modify the Library - subject to these terms and conditions. You may not impose any further - restrictions on the recipients' exercise of the rights granted herein. - You are not responsible for enforcing compliance by third parties with - this License. - - 11. If, as a consequence of a court judgment or allegation of patent - infringement or for any other reason (not limited to patent issues), - conditions are imposed on you (whether by court order, agreement or - otherwise) that contradict the conditions of this License, they do not - excuse you from the conditions of this License. If you cannot - distribute so as to satisfy simultaneously your obligations under this - License and any other pertinent obligations, then as a consequence you - may not distribute the Library at all. For example, if a patent - license would not permit royalty-free redistribution of the Library by - all those who receive copies directly or indirectly through you, then - the only way you could satisfy both it and this License would be to - refrain entirely from distribution of the Library. - - If any portion of this section is held invalid or unenforceable under any - particular circumstance, the balance of the section is intended to apply, - and the section as a whole is intended to apply in other circumstances. - - It is not the purpose of this section to induce you to infringe any - patents or other property right claims or to contest validity of any - such claims; this section has the sole purpose of protecting the - integrity of the free software distribution system which is - implemented by public license practices. Many people have made - generous contributions to the wide range of software distributed - through that system in reliance on consistent application of that - system; it is up to the author/donor to decide if he or she is willing - to distribute software through any other system and a licensee cannot - impose that choice. - - This section is intended to make thoroughly clear what is believed to - be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in - certain countries either by patents or by copyrighted interfaces, the - original copyright holder who places the Library under this License may add - an explicit geographical distribution limitation excluding those countries, - so that distribution is permitted only in or among countries not thus - excluded. In such case, this License incorporates the limitation as if - written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new - versions of the Lesser General Public License from time to time. - Such new versions will be similar in spirit to the present version, - but may differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the Library - specifies a version number of this License which applies to it and - "any later version", you have the option of following the terms and - conditions either of that version or of any later version published by - the Free Software Foundation. If the Library does not specify a - license version number, you may choose any version ever published by - the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free - programs whose distribution conditions are incompatible with these, - write to the author to ask for permission. For software which is - copyrighted by the Free Software Foundation, write to the Free - Software Foundation; we sometimes make exceptions for this. Our - decision will be guided by the two goals of preserving the free status - of all derivatives of our free software and of promoting the sharing - and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO - WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. - EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR - OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY - KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE - LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME - THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN - WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY - AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU - FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR - CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE - LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING - RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A - FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF - SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest - possible use to the public, we recommend making it free software that - everyone can redistribute and change. You can do so by permitting - redistribution under these terms (or, alternatively, under the terms of the - ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is - safest to attach them to the start of each source file to most effectively - convey the exclusion of warranty; and each file should have at least the - "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - Also add information on how to contact you by electronic and paper mail. - - You should also get your employer (if you work as a programmer) or your - school, if any, to sign a "copyright disclaimer" for the library, if - necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - - That's all there is to it! - -Project-URL: Repository, https://github.com/aurora-multiphysics/icarus -Project-URL: Issue Tracker, https://github.com/aurora-multiphysics/icarus/issues -Classifier: Programming Language :: Python :: 3 -Classifier: License :: GNU LGPL -Classifier: Operating System :: OS Independent -Requires-Python: >=3.11 -Description-Content-Type: text/markdown -License-File: LICENSE -Requires-Dist: numpy>=1.26.0 -Dynamic: license-file - -# Icarus - -A set of machine learning tools that engineers can use to assess the agreement between an experiment and simulation; that is, to validate the simulation with experimental data and provide the engineer with a probable reason for any mismatches to allow further investigation and diagnosis. - -Works by generating a valid and invalid simulation results from a given MOOSE input file and training a machine learning classifier to recognise when a result is invalid and what the most probable issue is. Invalid results are generated by running the simulation with user-defined perturbations of parameters from the input file. The user can also control the parallelisation options, the sensors used to extract data from the simulation results, the modelling framework used, the ratio of valid:invalid datasets present in the training and validation data, and more. - -## Installation -### Standard & Developer Installation - -Clone `icarus` to your local system along with submodules using - -``` -git clone --recurse-submodules git@github.com:aurora-multiphysics/icarus.git -``` - -`cd` to the root directory of `icarus` and run the following commmand: - -``` -pip install . -pip install ./dependencies/pyvale -pip install ./dependencies/mooseherder -``` - -To create an editable/developer installation of `icarus`, `pyvale` and `mooseherder` - follow the instructions for a standard installation but run: - -``` -pip install -e . -pip install -e ./dependencies/pyvale -pip install -e ./dependencies/mooseherder -``` - -### MOOSE App - -`icarus` has been developed and tested using the `proteus` MOOSE app which can be found here: https://github.com/aurora-multiphysics/proteus. Follow the build instructions found on this page to install `proteus`. - -## Getting Started - -The examples folder shows how to use `icarus` for different input files and with different levels of user control. Make sure to include a moose_config.json file wherever you run it, and change the values contained to match your system, and ensure that your project space has an folder for the outputs which is correctly structured (ie contains a folder called perturbed_datasets and a folder called validation_datasets). - -## Contributors - -- Isaac Magee, UK Atomic Energy Authority, (iomags2211) -- Lloyd Fletcher, UK Atomic Energy Authority, (TheScepticalRabbit) -- Luke Humphrey, UK Atomic Energy Authority, (lukethehuman) - From a825b38e652e74f8c1cf8e398ae4dbc6acf267ec Mon Sep 17 00:00:00 2001 From: Luke Humphrey Date: Fri, 23 May 2025 07:15:05 +0100 Subject: [PATCH 38/48] =?UTF-8?q?=F0=9F=99=88=20Update=20.gitignore=20to?= =?UTF-8?q?=20pythonproject=20template?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 488 +++++++++++++++++------------------------------------ 1 file changed, 158 insertions(+), 330 deletions(-) diff --git a/.gitignore b/.gitignore index ed38ea0f..68bc17f9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,332 +1,160 @@ -.libs -dependencies/pyvale -*.la -*.lo -*.d -*.o -*.a -*-opt -*-optimized -*-dbg -*-debug -*-oprof -*-oprofile -*-pro -*-prof -*-profiling -*-devel -*.e -*.nav -*.log -*.aux -*.toc -*.snm -*.csv -*.csv.* -*.dylib -*.so -*.so.* -*.vrb -*.jou -*.pyc -*.mod -*.e.* -*.e-s* -*.cfg -*.lbd.* -*.nem -*.spd -*.pex -*.pdf -*.plist* -*.bbl -*.blg -*.spl -*.idx -traceout*.txt -temp_print_trace.* -*.xda -*.xda.* -*.xdr -*.xdr.* -*.mps -*.msmp -*.msmp-* -*.muds -# Latex garbage -*.lot -*.lof -*.poly -*.mpx -*.btr -*.tex-e -*.xml -*.xml.* -*.gmv -*.plt -*.slh -*.eps -*.dat -*.gp -*.plugin -*.outp -*.patch -*.txt -!labelled_dataset.txt -!requirements.txt -*.bib.bak -*.out -*.vtk -*.vtu -*.pvtu -*.zip -*.pt -*.net -.depend -*.png -*.svg -*.gif -*.tif -*.jpg -*.tiff -*.ps -*.bmp -*.mp4 -*.webm -*.ico -*.html -*.xyz -*Revision.h -*.json -*.json.* -*.bak -*.data -*.processor.* -.clang_complete -.failed_tests -failed-unittest -compile_commands.json -build -framework/contrib/libtorch -test.cache - -# Allow certain files in gold directories -!**/gold/*.e -!**/gold/*.e-s* -!**/gold/*.csv -!**/gold/*.csv.* -!**/gold/*.vtk -!**/gold/*.vtu -!**/gold/*.pvtu -!**/gold/*.xml* -!**/gold/*.json* - -peacock_run_tmp.i -yaml_dump* -test/tests/outputs/format/dump.i - -# Generated header file -MooseRevision.h - -# Precompiled headers -moose/include/base/Precompiled.h.gch - -# test garbagge -*.FAILED.txt - -# eclipse garbage -.project -.cproject -.metadata -.settings -.pydevproject - -# vim garbage -*~ -.*.swp -.*.swo - -framework/contrib/exodiff/exodiff - -# Mac garbage -.DS_Store -*.dSYM - -# Unit testing stuffbmoose_unit/test_results.xml -!unit/data/csv/*.csv - -# gcov code coverage files -*.gcno -*.gcda -*.gcov - -# paraview state files -*.pvsm - -#Peacock generated files -peacock_*.i -peacock_*.e - -# On linux, shared libs end in .0 sometimes -libpcre-opt* -libpcre-dbg* -libmoose-opt* -libmoose-dbg* - -#doxygen generated -*/doc/doxygen/html/* -*/doc/doxygen/**/* -moose/doc/doxygen/html/* -modules/*/doc/doxygen/html/* -tutorials/*/*/doc/doxygen/html/* -ICE/ -framework/contrib/asio/ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class -# Restartable Data -*.rd -*.rd-* - -# Checkpoint Files -*.cpa.gz -*.cpr -*.cpa.gz-* -*.cpr-* - -# Ignore petsc arch -petsc/arch-*/* - -# phase_field/tests/solution_rasterizer -out.xyz - -# JIT and automatic differentiation cache files -.jitcache/ -.jitdir/ -tmp_jit_* - -# Do not store ipython notebook checkpoints -*-checkpoint.ipynb* - -# HIT -framework/contrib/hit/hit - -# MooseDocs -site -python/MooseDocs/test/output -!**/doc/content/**/*.md -!**/doc/content/**/*.jpg -!**/doc/content/**/*.jpeg -!**/doc/content/**/*.gif -!**/doc/content/**/*.png -!**/doc/content/**/*.svg -!**/doc/content/**/*.ogg -!**/doc/content/**/*.webm -!**/doc/content/**/*.mp4 -!**/doc/content/**/*.css -!**/doc/content/**/*.js -!**/doc/content/**/*.bib -!**/doc/content/**/*.woff -!**/doc/content/**/*.woff2 -!python/MooseDocs/test/gold/**/*.json -!python/MooseDocs/test/gold/**/*.html -!python/MooseDocs/test/gold/**/*.tex -.ruby-version - -# Chigger -!python/chigger/tests/**/gold/*.png -!python/chigger/tests/input/*.e* -!python/chigger/logos/*.png -!python/chigger/contrib/*.xml - -# Peacock -python/peacock/tests/exodus_tab/TestOutputPlugin_repr.py -python/peacock/tests/exodus_tab/TestExodusPluginManager_repr.py -python/peacock/tests/input_tab/InputFileEditor/fsp_test.i -python/peacock/tests/postprocessor_tab/TestPostprocessorPluginManager_test_script.py -!python/peacock/tests/**/gold/*.png -!python/peacock/icons/**/*.* -!python/peacock/tests/**/input/*.* -peacock_tmp_diff.exo -*.e.diff - -# configure -_configs.sed -autom4te.cache -config.status -*MooseConfig.h -*MooseConfig.h.tmp -conf_vars.mk - -# GPerf performance -*.prof -*.heap - -# MetaData files in Reactor Module tests -modules/reactor/test/tests/functions/multi_control_drum_function/positions_meta.data -modules/reactor/test/tests/meshgenerators/patterned_hex_mesh_generator/positions_meta.data - -# Ignore share directory -share/ - -# Ignore vscode local parameters -.vscode/* +# C extensions +*.so -# App Resource file (including modules/) -/test/moose_test.yaml -/modules/functional_expansion_tools/functional_expansion_tools.yaml -/modules/solid_properties/solid_properties.yaml -/modules/electromagnetics/electromagnetics.yaml -/modules/contact/contact.yaml -/modules/external_petsc_solver/external_petsc_solver.yaml -/modules/xfem/xfem.yaml -/modules/stochastic_tools/stochastic_tools.yaml -/modules/scalar_transport/scalar_transport.yaml -/modules/navier_stokes/navier_stokes.yaml -/modules/chemical_reactions/chemical_reactions.yaml -/modules/optimization/optimization.yaml -/modules/peridynamics/peridynamics.yaml -/modules/ray_tracing/ray_tracing.yaml -/modules/phase_field/phase_field.yaml -/modules/heat_transfer/heat_transfer.yaml -/modules/tensor_mechanics/tensor_mechanics.yaml -/modules/richards/richards.yaml -/modules/solid_mechanics/solid_mechanics.yaml -/modules/level_set/level_set.yaml -/modules/combined/combined.yaml -/modules/fluid_properties/fluid_properties.yaml -/modules/porous_flow/porous_flow.yaml -/modules/geochemistry/geochemistry.yaml -/modules/thermal_hydraulics/thermal_hydraulics.yaml -/modules/reactor/reactor.yaml -/modules/rdg/rdg.yaml -/modules/fsi/fsi.yaml -/unit/moose-unit.yaml -/modules/functional_expansion_tools/unit/functional_expansion_tools-unit.yaml -/modules/solid_properties/unit/solid_properties-unit.yaml -/modules/electromagnetics/unit/electromagnetics-unit.yaml -/modules/contact/unit/contact-unit.yaml -/modules/external_petsc_solver/unit/external_petsc_solver-unit.yaml -/modules/xfem/unit/xfem-unit.yaml -/modules/stochastic_tools/unit/stochastic_tools-unit.yaml -/modules/scalar_transport/unit/scalar_transport-unit.yaml -/modules/navier_stokes/unit/navier_stokes-unit.yaml -/modules/chemical_reactions/unit/chemical_reactions-unit.yaml -/modules/optimization/unit/optimization-unit.yaml -/modules/peridynamics/unit/peridynamics-unit.yaml -/modules/ray_tracing/unit/ray_tracing-unit.yaml -/modules/phase_field/unit/phase_field-unit.yaml -/modules/heat_transfer/unit/heat_transfer-unit.yaml -/modules/tensor_mechanics/unit/tensor_mechanics-unit.yaml -/modules/richards/unit/richards-unit.yaml -/modules/level_set/unit/level_set-unit.yaml -/modules/combined/combined-unit.yaml -/modules/fluid_properties/unit/fluid_properties-unit.yaml -/modules/porous_flow/unit/porous_flow-unit.yaml -/modules/geochemistry/unit/geochemistry-unit.yaml -/modules/thermal_hydraulics/unit/thermal_hydraulics-unit.yaml -/modules/reactor/unit/reactor-unit.yaml -/modules/rdg/unit/rdg-unit.yaml -/modules/fsi/unit/fsi-unit.yaml -/modules/misc/misc.yaml -/tutorials/tutorial01_app_development/*/babbler.yaml -/tutorials/darcy_thermo_mech/*/darcy_thermo_mech.yaml -icarus.yaml +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ From 711daf314372e69feab045c4b486545411227347 Mon Sep 17 00:00:00 2001 From: Luke Humphrey Date: Fri, 23 May 2025 07:15:41 +0100 Subject: [PATCH 39/48] =?UTF-8?q?=F0=9F=99=88=20Add=20examples/example=5Fo?= =?UTF-8?q?utputs=20to=20.gitignore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 68bc17f9..3a1eca10 100644 --- a/.gitignore +++ b/.gitignore @@ -158,3 +158,6 @@ cython_debug/ # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ + +# Icarus-specific files +examples/example_outputs From af9c72560d326a544c9925c8f337e28af6ded9c2 Mon Sep 17 00:00:00 2001 From: Luke Humphrey Date: Fri, 23 May 2025 07:16:53 +0100 Subject: [PATCH 40/48] =?UTF-8?q?=F0=9F=9A=9B=20Merge=20pyproject.toml=20f?= =?UTF-8?q?iles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pyproject.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index fb8011aa..ecc5cbf9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,6 +8,9 @@ version = "0.1.0" description = "Machine learning for fusion simulation validation" authors = [ { name = "iomags2211", email = "isaac.magee@ukaea.uk" }, + { name = "arjavp-ukaea", email = "arjav.poudel@ukaea.uk" }, + { name = "barisc-ukaea", email = "baris.cavusoglu@ukaea.uk"}, + { name = "lukethehuman", email = "luke.humphrey@ukaea.uk"}, ] license = { file = "LICENSE" } readme = "README.md" From 042439a342135b481a36379d1476c2a77c96152a Mon Sep 17 00:00:00 2001 From: iomags2211 <146826090+iomags2211@users.noreply.github.com> Date: Fri, 23 May 2025 15:04:55 +0100 Subject: [PATCH 41/48] Update src/icarus/__init__.py Co-authored-by: Luke Humphrey <37630574+lukethehuman@users.noreply.github.com> --- src/icarus/__init__.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/icarus/__init__.py b/src/icarus/__init__.py index 43e38ce7..f2b57840 100644 --- a/src/icarus/__init__.py +++ b/src/icarus/__init__.py @@ -8,7 +8,7 @@ from icarus.modelbuilder import ModelBuilder from icarus.userinterface import UserInterface -__all__ = ["moosesetup", - "datasetgenerator", - "modelbuilder", - "userinterface"] \ No newline at end of file +__all__ = ["MooseSetup", + "DatasetGenerator", + "ModelBuilder", + "UserInterface"] \ No newline at end of file From 5d88be0b26b65747b9edf1fae440e49728d8f577 Mon Sep 17 00:00:00 2001 From: iomags2211 <146826090+iomags2211@users.noreply.github.com> Date: Fri, 23 May 2025 15:10:32 +0100 Subject: [PATCH 42/48] Update src/icarus/datasetgenerator.py Co-authored-by: Luke Humphrey <37630574+lukethehuman@users.noreply.github.com> --- src/icarus/datasetgenerator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/icarus/datasetgenerator.py b/src/icarus/datasetgenerator.py index b01a5762..026158ec 100644 --- a/src/icarus/datasetgenerator.py +++ b/src/icarus/datasetgenerator.py @@ -48,7 +48,7 @@ def __init__(self, moose_runner: MooseRunner, moose_modifier: InputModifier, self.moose_modifier = moose_modifier self.num_para_runs = num_para_runs - if parameters == None or len(parameters) == 0: + if not parameters: raise ValueError(f"Unacceptable parameters. Exiting.") self.parameters = parameters From a8fd2323ae74c384cbc66b73f35df7233152221b Mon Sep 17 00:00:00 2001 From: iomags2211 <146826090+iomags2211@users.noreply.github.com> Date: Fri, 23 May 2025 15:16:58 +0100 Subject: [PATCH 43/48] Update src/icarus/userinterface.py Co-authored-by: Luke Humphrey <37630574+lukethehuman@users.noreply.github.com> --- src/icarus/userinterface.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/icarus/userinterface.py b/src/icarus/userinterface.py index 026dda26..6ab96666 100644 --- a/src/icarus/userinterface.py +++ b/src/icarus/userinterface.py @@ -2,9 +2,7 @@ from pathlib import Path class UserInterface: - """Provides a user interface using tkinter to allow the user to control aspects of the modelling process, - including selecting parameters to be perturbed and defining their values and how many validation datasets - to generate for each parameter. + """User interface enabling users to control aspects of the modelling process. """ def __init__(self): pass From 19f43ee988b186a379194b3c4f03f0a39430038f Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Fri, 23 May 2025 19:33:59 +0100 Subject: [PATCH 44/48] Deleted src/icarus.egg-info/PKG-INFO --- src/icarus.egg-info/PKG-INFO | 564 ----------------------------------- 1 file changed, 564 deletions(-) delete mode 100644 src/icarus.egg-info/PKG-INFO diff --git a/src/icarus.egg-info/PKG-INFO b/src/icarus.egg-info/PKG-INFO deleted file mode 100644 index 65e3943f..00000000 --- a/src/icarus.egg-info/PKG-INFO +++ /dev/null @@ -1,564 +0,0 @@ -Metadata-Version: 2.4 -Name: icarus -Version: 0.1.0 -Summary: Machine learning for fusion simulation validation -Author-email: iomags2211 -License: GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - [This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your - freedom to share and change it. By contrast, the GNU General Public - Licenses are intended to guarantee your freedom to share and change - free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some - specially designated software packages--typically libraries--of the - Free Software Foundation and other authors who decide to use it. You - can use it too, but we suggest you first think carefully about whether - this license or the ordinary General Public License is the better - strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, - not price. Our General Public Licenses are designed to make sure that - you have the freedom to distribute copies of free software (and charge - for this service if you wish); that you receive source code or can get - it if you want it; that you can change the software and use pieces of - it in new free programs; and that you are informed that you can do - these things. - - To protect your rights, we need to make restrictions that forbid - distributors to deny you these rights or to ask you to surrender these - rights. These restrictions translate to certain responsibilities for - you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis - or for a fee, you must give the recipients all the rights that we gave - you. You must make sure that they, too, receive or can get the source - code. If you link other code with the library, you must provide - complete object files to the recipients, so that they can relink them - with the library after making changes to the library and recompiling - it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the - library, and (2) we offer you this license, which gives you legal - permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that - there is no warranty for the free library. Also, if the library is - modified by someone else and passed on, the recipients should know - that what they have is not the original version, so that the original - author's reputation will not be affected by problems that might be - introduced by others. - - Finally, software patents pose a constant threat to the existence of - any free program. We wish to make sure that a company cannot - effectively restrict the users of a free program by obtaining a - restrictive license from a patent holder. Therefore, we insist that - any patent license obtained for a version of the library must be - consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the - ordinary GNU General Public License. This license, the GNU Lesser - General Public License, applies to certain designated libraries, and - is quite different from the ordinary General Public License. We use - this license for certain libraries in order to permit linking those - libraries into non-free programs. - - When a program is linked with a library, whether statically or using - a shared library, the combination of the two is legally speaking a - combined work, a derivative of the original library. The ordinary - General Public License therefore permits such linking only if the - entire combination fits its criteria of freedom. The Lesser General - Public License permits more lax criteria for linking other code with - the library. - - We call this license the "Lesser" General Public License because it - does Less to protect the user's freedom than the ordinary General - Public License. It also provides other free software developers Less - of an advantage over competing non-free programs. These disadvantages - are the reason we use the ordinary General Public License for many - libraries. However, the Lesser license provides advantages in certain - special circumstances. - - For example, on rare occasions, there may be a special need to - encourage the widest possible use of a certain library, so that it becomes - a de-facto standard. To achieve this, non-free programs must be - allowed to use the library. A more frequent case is that a free - library does the same job as widely used non-free libraries. In this - case, there is little to gain by limiting the free library to free - software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free - programs enables a greater number of people to use a large body of - free software. For example, permission to use the GNU C Library in - non-free programs enables many more people to use the whole GNU - operating system, as well as its variant, the GNU/Linux operating - system. - - Although the Lesser General Public License is Less protective of the - users' freedom, it does ensure that the user of a program that is - linked with the Library has the freedom and the wherewithal to run - that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and - modification follow. Pay close attention to the difference between a - "work based on the library" and a "work that uses the library". The - former contains code derived from the library, whereas the latter must - be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other - program which contains a notice placed by the copyright holder or - other authorized party saying it may be distributed under the terms of - this Lesser General Public License (also called "this License"). - Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data - prepared so as to be conveniently linked with application programs - (which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work - which has been distributed under these terms. A "work based on the - Library" means either the Library or any derivative work under - copyright law: that is to say, a work containing the Library or a - portion of it, either verbatim or with modifications and/or translated - straightforwardly into another language. (Hereinafter, translation is - included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for - making modifications to it. For a library, complete source code means - all the source code for all modules it contains, plus any associated - interface definition files, plus the scripts used to control compilation - and installation of the library. - - Activities other than copying, distribution and modification are not - covered by this License; they are outside its scope. The act of - running a program using the Library is not restricted, and output from - such a program is covered only if its contents constitute a work based - on the Library (independent of the use of the Library in a tool for - writing it). Whether that is true depends on what the Library does - and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's - complete source code as you receive it, in any medium, provided that - you conspicuously and appropriately publish on each copy an - appropriate copyright notice and disclaimer of warranty; keep intact - all the notices that refer to this License and to the absence of any - warranty; and distribute a copy of this License along with the - Library. - - You may charge a fee for the physical act of transferring a copy, - and you may at your option offer warranty protection in exchange for a - fee. - - 2. You may modify your copy or copies of the Library or any portion - of it, thus forming a work based on the Library, and copy and - distribute such modifications or work under the terms of Section 1 - above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - - These requirements apply to the modified work as a whole. If - identifiable sections of that work are not derived from the Library, - and can be reasonably considered independent and separate works in - themselves, then this License, and its terms, do not apply to those - sections when you distribute them as separate works. But when you - distribute the same sections as part of a whole which is a work based - on the Library, the distribution of the whole must be on the terms of - this License, whose permissions for other licensees extend to the - entire whole, and thus to each and every part regardless of who wrote - it. - - Thus, it is not the intent of this section to claim rights or contest - your rights to work written entirely by you; rather, the intent is to - exercise the right to control the distribution of derivative or - collective works based on the Library. - - In addition, mere aggregation of another work not based on the Library - with the Library (or with a work based on the Library) on a volume of - a storage or distribution medium does not bring the other work under - the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public - License instead of this License to a given copy of the Library. To do - this, you must alter all the notices that refer to this License, so - that they refer to the ordinary GNU General Public License, version 2, - instead of to this License. (If a newer version than version 2 of the - ordinary GNU General Public License has appeared, then you can specify - that version instead if you wish.) Do not make any other change in - these notices. - - Once this change is made in a given copy, it is irreversible for - that copy, so the ordinary GNU General Public License applies to all - subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of - the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or - derivative of it, under Section 2) in object code or executable form - under the terms of Sections 1 and 2 above provided that you accompany - it with the complete corresponding machine-readable source code, which - must be distributed under the terms of Sections 1 and 2 above on a - medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy - from a designated place, then offering equivalent access to copy the - source code from the same place satisfies the requirement to - distribute the source code, even though third parties are not - compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the - Library, but is designed to work with the Library by being compiled or - linked with it, is called a "work that uses the Library". Such a - work, in isolation, is not a derivative work of the Library, and - therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library - creates an executable that is a derivative of the Library (because it - contains portions of the Library), rather than a "work that uses the - library". The executable is therefore covered by this License. - Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file - that is part of the Library, the object code for the work may be a - derivative work of the Library even though the source code is not. - Whether this is true is especially significant if the work can be - linked without the Library, or if the work is itself a library. The - threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data - structure layouts and accessors, and small macros and small inline - functions (ten lines or less in length), then the use of the object - file is unrestricted, regardless of whether it is legally a derivative - work. (Executables containing this object code plus portions of the - Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may - distribute the object code for the work under the terms of Section 6. - Any executables containing that work also fall under Section 6, - whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or - link a "work that uses the Library" with the Library to produce a - work containing portions of the Library, and distribute that work - under terms of your choice, provided that the terms permit - modification of the work for the customer's own use and reverse - engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the - Library is used in it and that the Library and its use are covered by - this License. You must supply a copy of this License. If the work - during execution displays copyright notices, you must include the - copyright notice for the Library among them, as well as a reference - directing the user to the copy of this License. Also, you must do one - of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the - Library" must include any data and utility programs needed for - reproducing the executable from it. However, as a special exception, - the materials to be distributed need not include anything that is - normally distributed (in either source or binary form) with the major - components (compiler, kernel, and so on) of the operating system on - which the executable runs, unless that component itself accompanies - the executable. - - It may happen that this requirement contradicts the license - restrictions of other proprietary libraries that do not normally - accompany the operating system. Such a contradiction means you cannot - use both them and the Library together in an executable that you - distribute. - - 7. You may place library facilities that are a work based on the - Library side-by-side in a single library together with other library - facilities not covered by this License, and distribute such a combined - library, provided that the separate distribution of the work based on - the Library and of the other library facilities is otherwise - permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute - the Library except as expressly provided under this License. Any - attempt otherwise to copy, modify, sublicense, link with, or - distribute the Library is void, and will automatically terminate your - rights under this License. However, parties who have received copies, - or rights, from you under this License will not have their licenses - terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not - signed it. However, nothing else grants you permission to modify or - distribute the Library or its derivative works. These actions are - prohibited by law if you do not accept this License. Therefore, by - modifying or distributing the Library (or any work based on the - Library), you indicate your acceptance of this License to do so, and - all its terms and conditions for copying, distributing or modifying - the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the - Library), the recipient automatically receives a license from the - original licensor to copy, distribute, link with or modify the Library - subject to these terms and conditions. You may not impose any further - restrictions on the recipients' exercise of the rights granted herein. - You are not responsible for enforcing compliance by third parties with - this License. - - 11. If, as a consequence of a court judgment or allegation of patent - infringement or for any other reason (not limited to patent issues), - conditions are imposed on you (whether by court order, agreement or - otherwise) that contradict the conditions of this License, they do not - excuse you from the conditions of this License. If you cannot - distribute so as to satisfy simultaneously your obligations under this - License and any other pertinent obligations, then as a consequence you - may not distribute the Library at all. For example, if a patent - license would not permit royalty-free redistribution of the Library by - all those who receive copies directly or indirectly through you, then - the only way you could satisfy both it and this License would be to - refrain entirely from distribution of the Library. - - If any portion of this section is held invalid or unenforceable under any - particular circumstance, the balance of the section is intended to apply, - and the section as a whole is intended to apply in other circumstances. - - It is not the purpose of this section to induce you to infringe any - patents or other property right claims or to contest validity of any - such claims; this section has the sole purpose of protecting the - integrity of the free software distribution system which is - implemented by public license practices. Many people have made - generous contributions to the wide range of software distributed - through that system in reliance on consistent application of that - system; it is up to the author/donor to decide if he or she is willing - to distribute software through any other system and a licensee cannot - impose that choice. - - This section is intended to make thoroughly clear what is believed to - be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in - certain countries either by patents or by copyrighted interfaces, the - original copyright holder who places the Library under this License may add - an explicit geographical distribution limitation excluding those countries, - so that distribution is permitted only in or among countries not thus - excluded. In such case, this License incorporates the limitation as if - written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new - versions of the Lesser General Public License from time to time. - Such new versions will be similar in spirit to the present version, - but may differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the Library - specifies a version number of this License which applies to it and - "any later version", you have the option of following the terms and - conditions either of that version or of any later version published by - the Free Software Foundation. If the Library does not specify a - license version number, you may choose any version ever published by - the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free - programs whose distribution conditions are incompatible with these, - write to the author to ask for permission. For software which is - copyrighted by the Free Software Foundation, write to the Free - Software Foundation; we sometimes make exceptions for this. Our - decision will be guided by the two goals of preserving the free status - of all derivatives of our free software and of promoting the sharing - and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO - WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. - EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR - OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY - KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE - LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME - THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN - WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY - AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU - FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR - CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE - LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING - RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A - FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF - SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest - possible use to the public, we recommend making it free software that - everyone can redistribute and change. You can do so by permitting - redistribution under these terms (or, alternatively, under the terms of the - ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is - safest to attach them to the start of each source file to most effectively - convey the exclusion of warranty; and each file should have at least the - "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - Also add information on how to contact you by electronic and paper mail. - - You should also get your employer (if you work as a programmer) or your - school, if any, to sign a "copyright disclaimer" for the library, if - necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - - That's all there is to it! - -Project-URL: Repository, https://github.com/aurora-multiphysics/icarus -Project-URL: Issue Tracker, https://github.com/aurora-multiphysics/icarus/issues -Classifier: Programming Language :: Python :: 3 -Classifier: License :: GNU LGPL -Classifier: Operating System :: OS Independent -Requires-Python: >=3.11 -Description-Content-Type: text/markdown -License-File: LICENSE -Requires-Dist: numpy>=1.26.0 -Dynamic: license-file - -# Icarus - -A set of machine learning tools that engineers can use to assess the agreement between an experiment and simulation; that is, to validate the simulation with experimental data and provide the engineer with a probable reason for any mismatches to allow further investigation and diagnosis. - -Works by generating a valid and invalid simulation results from a given MOOSE input file and training a machine learning classifier to recognise when a result is invalid and what the most probable issue is. Invalid results are generated by running the simulation with user-defined perturbations of parameters from the input file. The user can also control the parallelisation options, the sensors used to extract data from the simulation results, the modelling framework used, the ratio of valid:invalid datasets present in the training and validation data, and more. - -## Installation -### Standard & Developer Installation - -Clone `icarus` to your local system along with submodules using - -``` -git clone --recurse-submodules git@github.com:aurora-multiphysics/icarus.git -``` - -`cd` to the root directory of `icarus` and run the following commmand: - -``` -pip install . -pip install ./dependencies/pyvale -pip install ./dependencies/mooseherder -``` - -To create an editable/developer installation of `icarus`, `pyvale` and `mooseherder` - follow the instructions for a standard installation but run: - -``` -pip install -e . -pip install -e ./dependencies/pyvale -pip install -e ./dependencies/mooseherder -``` - -### MOOSE App - -`icarus` has been developed and tested using the `proteus` MOOSE app which can be found here: https://github.com/aurora-multiphysics/proteus. Follow the build instructions found on this page to install `proteus`. - -## Getting Started - -The examples folder shows how to use `icarus` for different input files and with different levels of user control. Make sure to include a moose_config.json file wherever you run it, and change the values contained to match your system, and ensure that your project space has an folder for the outputs which is correctly structured (ie contains a folder called perturbed_datasets and a folder called validation_datasets). - -## Contributors - -- Isaac Magee, UK Atomic Energy Authority, (iomags2211) -- Lloyd Fletcher, UK Atomic Energy Authority, (TheScepticalRabbit) -- Luke Humphrey, UK Atomic Energy Authority, (lukethehuman) - From dc250cae5141836c4cb3e12bb7bce2565e0e82a0 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 10 Jun 2025 09:45:48 +0100 Subject: [PATCH 45/48] Changes from pull request --- .gitignore | 493 +++++---------- README.md | 46 +- dependencies/mooseherder/.gitignore | 179 ------ dependencies/mooseherder/LICENSE | 504 --------------- dependencies/mooseherder/README.md | 44 -- .../dev/dev_create_moose_config.py | 16 - .../mooseherder/dev/dev_para_multi_moose.py | 138 ---- .../mooseherder/dev/dev_read_exodus.py | 17 - .../mooseherder/docs/requirements.txt | 1 - .../examples/ex0_create_moose_config.py | 27 - .../examples/ex1a_modify_moose_input.py | 46 -- .../examples/ex1b_modify_gmsh_input.py | 46 -- .../examples/ex2a_run_moose_once.py | 51 -- .../examples/ex2b_run_gmsh_once.py | 63 -- .../examples/ex2c_run_both_once .py | 86 --- .../examples/ex3_run_moose_seq_para.py | 103 --- .../examples/ex4_run_gmsh-moose_seq_para.py | 108 ---- .../examples/ex5_run_moose_paramulti.py | 85 --- .../examples/ex6_read_moose_exodus.py | 127 ---- .../examples/ex7a_read_moose_herd_results.py | 119 ---- .../ex7b_read_multi_herd_results copy.py | 110 ---- .../ex7c_read_multi_gmshmoose_results.py | 110 ---- ...ex7d_readconfig_multi_gmshmoose_results.py | 140 ----- .../ex8_read_existing_sweep_output.py | 54 -- .../ex9_full_functionality_no_print.py | 62 -- .../example_output/sim-workdir-1/sim-1.i | 92 --- .../example_output/sim-workdir-1/sim-12.i | 92 --- .../example_output/sim-workdir-1/sim-12_out.e | Bin 105844 -> 0 bytes .../example_output/sim-workdir-1/sim-13.i | 92 --- .../example_output/sim-workdir-1/sim-13_out.e | Bin 159724 -> 0 bytes .../example_output/sim-workdir-1/sim-1_out.e | Bin 105840 -> 0 bytes .../example_output/sim-workdir-1/sim-20.i | 92 --- .../example_output/sim-workdir-1/sim-20_out.e | Bin 105844 -> 0 bytes .../example_output/sim-workdir-1/sim-23.i | 92 --- .../example_output/sim-workdir-1/sim-23_out.e | Bin 159724 -> 0 bytes .../example_output/sim-workdir-1/sim-8.i | 92 --- .../example_output/sim-workdir-1/sim-8_out.e | Bin 159720 -> 0 bytes .../example_output/sim-workdir-2/sim-15.i | 92 --- .../example_output/sim-workdir-2/sim-15_out.e | Bin 159724 -> 0 bytes .../example_output/sim-workdir-2/sim-17.i | 92 --- .../example_output/sim-workdir-2/sim-17_out.e | Bin 105844 -> 0 bytes .../example_output/sim-workdir-2/sim-2.i | 92 --- .../example_output/sim-workdir-2/sim-22.i | 92 --- .../example_output/sim-workdir-2/sim-22_out.e | Bin 159724 -> 0 bytes .../example_output/sim-workdir-2/sim-2_out.e | Bin 105840 -> 0 bytes .../example_output/sim-workdir-2/sim-5.i | 92 --- .../example_output/sim-workdir-2/sim-5_out.e | Bin 159720 -> 0 bytes .../example_output/sim-workdir-2/sim-9.i | 92 --- .../example_output/sim-workdir-2/sim-9_out.e | Bin 105840 -> 0 bytes .../example_output/sim-workdir-3/sim-10.i | 92 --- .../example_output/sim-workdir-3/sim-10_out.e | Bin 105844 -> 0 bytes .../example_output/sim-workdir-3/sim-16.i | 92 --- .../example_output/sim-workdir-3/sim-16_out.e | Bin 159724 -> 0 bytes .../example_output/sim-workdir-3/sim-18.i | 92 --- .../example_output/sim-workdir-3/sim-18_out.e | Bin 105844 -> 0 bytes .../example_output/sim-workdir-3/sim-24.i | 92 --- .../example_output/sim-workdir-3/sim-24_out.e | Bin 159724 -> 0 bytes .../example_output/sim-workdir-3/sim-3.i | 92 --- .../example_output/sim-workdir-3/sim-3_out.e | Bin 105840 -> 0 bytes .../example_output/sim-workdir-3/sim-7.i | 92 --- .../example_output/sim-workdir-3/sim-7_out.e | Bin 159720 -> 0 bytes .../example_output/sim-workdir-4/sim-11.i | 92 --- .../example_output/sim-workdir-4/sim-11_out.e | Bin 105844 -> 0 bytes .../example_output/sim-workdir-4/sim-14.i | 92 --- .../example_output/sim-workdir-4/sim-14_out.e | Bin 159724 -> 0 bytes .../example_output/sim-workdir-4/sim-19.i | 92 --- .../example_output/sim-workdir-4/sim-19_out.e | Bin 105844 -> 0 bytes .../example_output/sim-workdir-4/sim-21.i | 92 --- .../example_output/sim-workdir-4/sim-21_out.e | Bin 159724 -> 0 bytes .../example_output/sim-workdir-4/sim-4.i | 92 --- .../example_output/sim-workdir-4/sim-4_out.e | Bin 105840 -> 0 bytes .../example_output/sim-workdir-4/sim-6.i | 92 --- .../example_output/sim-workdir-4/sim-6_out.e | Bin 159720 -> 0 bytes dependencies/mooseherder/examples/run_all.py | 30 - dependencies/mooseherder/pyproject.toml | 32 - .../scripts/gmsh/gmsh_tens_spline_2d.geo | 62 -- .../scripts/gmsh/gmsh_tens_spline_3d.geo | 89 --- .../scripts/gmsh_tens_spline_2d-mod_vars.geo | 62 -- .../mooseherder/scripts/moose-mech_mod-vars.i | 92 --- .../moose-test-cases/moose-creep-gmsh.i | 182 ------ .../moose-test-cases/moose-mech-block-2d-o1.i | 82 --- .../moose-mech-block-2d-o2-moo0.i | 85 --- .../moose-mech-block-2d-o2-moo1.i | 85 --- .../moose-mech-block-2d-o2-moo2.i | 85 --- .../moose-test-cases/moose-mech-block-2d-o2.i | 83 --- .../moose-test-cases/moose-mech-block-3d-o1.i | 92 --- .../moose-mech-block-3d-o2-moo2.i | 94 --- .../moose-test-cases/moose-mech-block-3d-o2.i | 92 --- .../moose-test-cases/moose-mech-sub-dom.i | 94 --- .../moose-mech-subdom-2d-o1.i | 95 --- .../moose-mech-subdom-2d-o2-moo0.i | 97 --- .../moose-mech-subdom-2d-o2-moo1.i | 97 --- .../moose-mech-subdom-2d-o2-moo2.i | 97 --- .../moose-mech-subdom-2d-o2.i | 95 --- .../moose-mech-subdom-3d-o1.i | 103 --- .../moose-mech-subdom-3d-o2.i | 103 --- .../moose-test-cases/moose-mech-thermal-exp.i | 119 ---- .../moose-test-cases/moose-mech-two-beams.i | 107 ---- .../scripts/moose/moose-mech-gmsh.i | 73 --- .../scripts/moose/moose-mech-outtest.i | 115 ---- .../scripts/moose/moose-mech-simple.i | 92 --- .../mooseherder/src/mooseherder/__init__.py | 28 - .../src/mooseherder/directorymanager.py | 302 --------- .../src/mooseherder/exodusreader.py | 590 ------------------ .../mooseherder/src/mooseherder/gmshrunner.py | 120 ---- .../src/mooseherder/inputmodifier.py | 197 ------ .../src/mooseherder/mooseconfig.py | 175 ------ .../mooseherder/src/mooseherder/mooseherd.py | 412 ------------ .../src/mooseherder/mooserunner.py | 232 ------- .../src/mooseherder/outputreader.py | 25 - .../mooseherder/src/mooseherder/simdata.py | 93 --- .../mooseherder/src/mooseherder/simrunner.py | 38 -- .../src/mooseherder/sweepreader.py | 291 --------- dependencies/mooseherder/tests/__init__.py | 0 .../tests/directorymanager_test.py | 80 --- .../mooseherder/tests/exodusreader_test.py | 328 ---------- .../tests/generate_moose_output.py | 50 -- .../mooseherder/tests/gmsh/gmsh-broken.geo | 62 -- .../mooseherder/tests/gmsh/gmsh-test.geo | 61 -- .../mooseherder/tests/gmshrunner_test.py | 118 ---- dependencies/mooseherder/tests/herdchecker.py | 200 ------ .../tests/inputmodifier_gmsh_test.py | 101 --- .../tests/inputmodifier_moose_test.py | 177 ------ .../tests/moose/moose-test-broken.i | 94 --- .../mooseherder/tests/moose/moose-test-gmsh.i | 73 --- .../mooseherder/tests/moose/moose-test.i | 94 --- .../mooseherder/tests/mooseconfig_test.py | 160 ----- .../mooseherder/tests/mooseherd_test.py | 319 ---------- .../mooseherder/tests/mooserunner_test.py | 233 ------- .../tests/output/moose-mech-outtest.i | 136 ---- .../tests/output/moose-mech-outtest_out.e | Bin 336948 -> 0 bytes .../tests/output/sim-workdir-1/sim-1.i | 92 --- .../tests/output/sim-workdir-1/sim-12.i | 92 --- .../tests/output/sim-workdir-1/sim-12_out.e | Bin 105844 -> 0 bytes .../tests/output/sim-workdir-1/sim-16.i | 92 --- .../tests/output/sim-workdir-1/sim-16_out.e | Bin 159724 -> 0 bytes .../tests/output/sim-workdir-1/sim-1_out.e | Bin 105840 -> 0 bytes .../tests/output/sim-workdir-1/sim-20.i | 92 --- .../tests/output/sim-workdir-1/sim-20_out.e | Bin 105844 -> 0 bytes .../tests/output/sim-workdir-1/sim-21.i | 92 --- .../tests/output/sim-workdir-1/sim-21_out.e | Bin 159724 -> 0 bytes .../tests/output/sim-workdir-1/sim-6.i | 92 --- .../tests/output/sim-workdir-1/sim-6_out.e | Bin 159720 -> 0 bytes .../tests/output/sim-workdir-2/sim-13.i | 92 --- .../tests/output/sim-workdir-2/sim-13_out.e | Bin 159724 -> 0 bytes .../tests/output/sim-workdir-2/sim-17.i | 92 --- .../tests/output/sim-workdir-2/sim-17_out.e | Bin 105844 -> 0 bytes .../tests/output/sim-workdir-2/sim-2.i | 92 --- .../tests/output/sim-workdir-2/sim-24.i | 92 --- .../tests/output/sim-workdir-2/sim-24_out.e | Bin 159724 -> 0 bytes .../tests/output/sim-workdir-2/sim-2_out.e | Bin 105840 -> 0 bytes .../tests/output/sim-workdir-2/sim-5.i | 92 --- .../tests/output/sim-workdir-2/sim-5_out.e | Bin 159720 -> 0 bytes .../tests/output/sim-workdir-2/sim-9.i | 92 --- .../tests/output/sim-workdir-2/sim-9_out.e | Bin 105840 -> 0 bytes .../tests/output/sim-workdir-3/sim-10.i | 92 --- .../tests/output/sim-workdir-3/sim-10_out.e | Bin 105844 -> 0 bytes .../tests/output/sim-workdir-3/sim-14.i | 92 --- .../tests/output/sim-workdir-3/sim-14_out.e | Bin 159724 -> 0 bytes .../tests/output/sim-workdir-3/sim-18.i | 92 --- .../tests/output/sim-workdir-3/sim-18_out.e | Bin 105844 -> 0 bytes .../tests/output/sim-workdir-3/sim-22.i | 92 --- .../tests/output/sim-workdir-3/sim-22_out.e | Bin 159724 -> 0 bytes .../tests/output/sim-workdir-3/sim-3.i | 92 --- .../tests/output/sim-workdir-3/sim-3_out.e | Bin 105840 -> 0 bytes .../tests/output/sim-workdir-3/sim-8.i | 92 --- .../tests/output/sim-workdir-3/sim-8_out.e | Bin 159720 -> 0 bytes .../tests/output/sim-workdir-4/sim-11.i | 92 --- .../tests/output/sim-workdir-4/sim-11_out.e | Bin 105844 -> 0 bytes .../tests/output/sim-workdir-4/sim-15.i | 92 --- .../tests/output/sim-workdir-4/sim-15_out.e | Bin 159724 -> 0 bytes .../tests/output/sim-workdir-4/sim-19.i | 92 --- .../tests/output/sim-workdir-4/sim-19_out.e | Bin 105844 -> 0 bytes .../tests/output/sim-workdir-4/sim-23.i | 92 --- .../tests/output/sim-workdir-4/sim-23_out.e | Bin 159724 -> 0 bytes .../tests/output/sim-workdir-4/sim-4.i | 92 --- .../tests/output/sim-workdir-4/sim-4_out.e | Bin 105840 -> 0 bytes .../tests/output/sim-workdir-4/sim-7.i | 92 --- .../tests/output/sim-workdir-4/sim-7_out.e | Bin 159720 -> 0 bytes .../mooseherder/tests/sweepreader_test.py | 34 - docs/requirements.txt | 9 - examples/ex1_2d_full_control.py | 235 +++---- pyproject.toml | 10 +- scripts/moose/monoblock_3d_thermal.i | 2 +- scripts/moose/plate_2d_thermal.i | 5 + src/icarus/__init__.py | 10 +- src/icarus/datasetgenerator.py | 261 +++++--- src/icarus/modelbuilder.py | 335 +++++++--- src/icarus/moosesetup.py | 97 ++- src/icarus/userinterface.py | 120 ++-- tests/__init__.py | 3 + tests/datasetgenerator_test.py | 43 ++ tests/moosesetup_test.py | 42 +- 193 files changed, 951 insertions(+), 14769 deletions(-) delete mode 100644 dependencies/mooseherder/.gitignore delete mode 100644 dependencies/mooseherder/LICENSE delete mode 100644 dependencies/mooseherder/README.md delete mode 100644 dependencies/mooseherder/dev/dev_create_moose_config.py delete mode 100644 dependencies/mooseherder/dev/dev_para_multi_moose.py delete mode 100644 dependencies/mooseherder/dev/dev_read_exodus.py delete mode 100644 dependencies/mooseherder/docs/requirements.txt delete mode 100644 dependencies/mooseherder/examples/ex0_create_moose_config.py delete mode 100644 dependencies/mooseherder/examples/ex1a_modify_moose_input.py delete mode 100644 dependencies/mooseherder/examples/ex1b_modify_gmsh_input.py delete mode 100644 dependencies/mooseherder/examples/ex2a_run_moose_once.py delete mode 100644 dependencies/mooseherder/examples/ex2b_run_gmsh_once.py delete mode 100644 dependencies/mooseherder/examples/ex2c_run_both_once .py delete mode 100644 dependencies/mooseherder/examples/ex3_run_moose_seq_para.py delete mode 100644 dependencies/mooseherder/examples/ex4_run_gmsh-moose_seq_para.py delete mode 100644 dependencies/mooseherder/examples/ex5_run_moose_paramulti.py delete mode 100644 dependencies/mooseherder/examples/ex6_read_moose_exodus.py delete mode 100644 dependencies/mooseherder/examples/ex7a_read_moose_herd_results.py delete mode 100644 dependencies/mooseherder/examples/ex7b_read_multi_herd_results copy.py delete mode 100644 dependencies/mooseherder/examples/ex7c_read_multi_gmshmoose_results.py delete mode 100644 dependencies/mooseherder/examples/ex7d_readconfig_multi_gmshmoose_results.py delete mode 100644 dependencies/mooseherder/examples/ex8_read_existing_sweep_output.py delete mode 100644 dependencies/mooseherder/examples/ex9_full_functionality_no_print.py delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-13.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-13_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-23.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-23_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-15.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-15_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-2.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-22.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-22_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-2_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-10.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-10_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-18.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-18_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-24.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-24_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-3.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-3_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-11.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-11_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-21.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-21_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-4.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-4_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6_out.e delete mode 100644 dependencies/mooseherder/examples/run_all.py delete mode 100644 dependencies/mooseherder/pyproject.toml delete mode 100644 dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_2d.geo delete mode 100644 dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_3d.geo delete mode 100644 dependencies/mooseherder/scripts/gmsh_tens_spline_2d-mod_vars.geo delete mode 100644 dependencies/mooseherder/scripts/moose-mech_mod-vars.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-creep-gmsh.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o1.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo0.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo1.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo2.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o1.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2-moo2.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-sub-dom.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o1.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo0.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo1.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo2.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o1.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o2.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-thermal-exp.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-two-beams.i delete mode 100644 dependencies/mooseherder/scripts/moose/moose-mech-gmsh.i delete mode 100644 dependencies/mooseherder/scripts/moose/moose-mech-outtest.i delete mode 100644 dependencies/mooseherder/scripts/moose/moose-mech-simple.i delete mode 100644 dependencies/mooseherder/src/mooseherder/__init__.py delete mode 100644 dependencies/mooseherder/src/mooseherder/directorymanager.py delete mode 100644 dependencies/mooseherder/src/mooseherder/exodusreader.py delete mode 100644 dependencies/mooseherder/src/mooseherder/gmshrunner.py delete mode 100644 dependencies/mooseherder/src/mooseherder/inputmodifier.py delete mode 100644 dependencies/mooseherder/src/mooseherder/mooseconfig.py delete mode 100644 dependencies/mooseherder/src/mooseherder/mooseherd.py delete mode 100644 dependencies/mooseherder/src/mooseherder/mooserunner.py delete mode 100644 dependencies/mooseherder/src/mooseherder/outputreader.py delete mode 100644 dependencies/mooseherder/src/mooseherder/simdata.py delete mode 100644 dependencies/mooseherder/src/mooseherder/simrunner.py delete mode 100644 dependencies/mooseherder/src/mooseherder/sweepreader.py delete mode 100644 dependencies/mooseherder/tests/__init__.py delete mode 100644 dependencies/mooseherder/tests/directorymanager_test.py delete mode 100644 dependencies/mooseherder/tests/exodusreader_test.py delete mode 100644 dependencies/mooseherder/tests/generate_moose_output.py delete mode 100644 dependencies/mooseherder/tests/gmsh/gmsh-broken.geo delete mode 100644 dependencies/mooseherder/tests/gmsh/gmsh-test.geo delete mode 100644 dependencies/mooseherder/tests/gmshrunner_test.py delete mode 100644 dependencies/mooseherder/tests/herdchecker.py delete mode 100644 dependencies/mooseherder/tests/inputmodifier_gmsh_test.py delete mode 100644 dependencies/mooseherder/tests/inputmodifier_moose_test.py delete mode 100644 dependencies/mooseherder/tests/moose/moose-test-broken.i delete mode 100644 dependencies/mooseherder/tests/moose/moose-test-gmsh.i delete mode 100644 dependencies/mooseherder/tests/moose/moose-test.i delete mode 100644 dependencies/mooseherder/tests/mooseconfig_test.py delete mode 100644 dependencies/mooseherder/tests/mooseherd_test.py delete mode 100644 dependencies/mooseherder/tests/mooserunner_test.py delete mode 100644 dependencies/mooseherder/tests/output/moose-mech-outtest.i delete mode 100644 dependencies/mooseherder/tests/output/moose-mech-outtest_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-1.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-12.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-12_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-16.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-16_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-1_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-20.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-20_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-21.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-21_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-6.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-6_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-13.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-13_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-17.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-17_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-2.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-24.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-24_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-2_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-5.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-5_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-9.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-9_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-10.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-10_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-14.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-14_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-18.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-18_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-22.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-22_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-3.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-3_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-8.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-8_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-11.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-11_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-15.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-15_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-19.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-19_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-23.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-23_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-4.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-4_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-7.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-7_out.e delete mode 100644 dependencies/mooseherder/tests/sweepreader_test.py delete mode 100644 docs/requirements.txt create mode 100644 tests/datasetgenerator_test.py diff --git a/.gitignore b/.gitignore index ed38ea0f..8113245e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,332 +1,165 @@ -.libs -dependencies/pyvale -*.la -*.lo -*.d -*.o -*.a -*-opt -*-optimized -*-dbg -*-debug -*-oprof -*-oprofile -*-pro -*-prof -*-profiling -*-devel -*.e -*.nav -*.log -*.aux -*.toc -*.snm -*.csv -*.csv.* -*.dylib -*.so -*.so.* -*.vrb -*.jou -*.pyc -*.mod -*.e.* -*.e-s* -*.cfg -*.lbd.* -*.nem -*.spd -*.pex -*.pdf -*.plist* -*.bbl -*.blg -*.spl -*.idx -traceout*.txt -temp_print_trace.* -*.xda -*.xda.* -*.xdr -*.xdr.* -*.mps -*.msmp -*.msmp-* -*.muds -# Latex garbage -*.lot -*.lof -*.poly -*.mpx -*.btr -*.tex-e -*.xml -*.xml.* -*.gmv -*.plt -*.slh -*.eps -*.dat -*.gp -*.plugin -*.outp -*.patch -*.txt -!labelled_dataset.txt -!requirements.txt -*.bib.bak -*.out -*.vtk -*.vtu -*.pvtu -*.zip -*.pt -*.net -.depend -*.png -*.svg -*.gif -*.tif -*.jpg -*.tiff -*.ps -*.bmp -*.mp4 -*.webm -*.ico -*.html -*.xyz -*Revision.h -*.json -*.json.* -*.bak -*.data -*.processor.* -.clang_complete -.failed_tests -failed-unittest -compile_commands.json -build -framework/contrib/libtorch -test.cache - -# Allow certain files in gold directories -!**/gold/*.e -!**/gold/*.e-s* -!**/gold/*.csv -!**/gold/*.csv.* -!**/gold/*.vtk -!**/gold/*.vtu -!**/gold/*.pvtu -!**/gold/*.xml* -!**/gold/*.json* - -peacock_run_tmp.i -yaml_dump* -test/tests/outputs/format/dump.i - -# Generated header file -MooseRevision.h - -# Precompiled headers -moose/include/base/Precompiled.h.gch - -# test garbagge -*.FAILED.txt - -# eclipse garbage -.project -.cproject -.metadata -.settings -.pydevproject - -# vim garbage -*~ -.*.swp -.*.swo - -framework/contrib/exodiff/exodiff - -# Mac garbage -.DS_Store -*.dSYM - -# Unit testing stuffbmoose_unit/test_results.xml -!unit/data/csv/*.csv - -# gcov code coverage files -*.gcno -*.gcda -*.gcov - -# paraview state files -*.pvsm - -#Peacock generated files -peacock_*.i -peacock_*.e - -# On linux, shared libs end in .0 sometimes -libpcre-opt* -libpcre-dbg* -libmoose-opt* -libmoose-dbg* - -#doxygen generated -*/doc/doxygen/html/* -*/doc/doxygen/**/* -moose/doc/doxygen/html/* -modules/*/doc/doxygen/html/* -tutorials/*/*/doc/doxygen/html/* -ICE/ -framework/contrib/asio/ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class -# Restartable Data -*.rd -*.rd-* - -# Checkpoint Files -*.cpa.gz -*.cpr -*.cpa.gz-* -*.cpr-* - -# Ignore petsc arch -petsc/arch-*/* - -# phase_field/tests/solution_rasterizer -out.xyz - -# JIT and automatic differentiation cache files -.jitcache/ -.jitdir/ -tmp_jit_* - -# Do not store ipython notebook checkpoints -*-checkpoint.ipynb* - -# HIT -framework/contrib/hit/hit - -# MooseDocs -site -python/MooseDocs/test/output -!**/doc/content/**/*.md -!**/doc/content/**/*.jpg -!**/doc/content/**/*.jpeg -!**/doc/content/**/*.gif -!**/doc/content/**/*.png -!**/doc/content/**/*.svg -!**/doc/content/**/*.ogg -!**/doc/content/**/*.webm -!**/doc/content/**/*.mp4 -!**/doc/content/**/*.css -!**/doc/content/**/*.js -!**/doc/content/**/*.bib -!**/doc/content/**/*.woff -!**/doc/content/**/*.woff2 -!python/MooseDocs/test/gold/**/*.json -!python/MooseDocs/test/gold/**/*.html -!python/MooseDocs/test/gold/**/*.tex -.ruby-version - -# Chigger -!python/chigger/tests/**/gold/*.png -!python/chigger/tests/input/*.e* -!python/chigger/logos/*.png -!python/chigger/contrib/*.xml - -# Peacock -python/peacock/tests/exodus_tab/TestOutputPlugin_repr.py -python/peacock/tests/exodus_tab/TestExodusPluginManager_repr.py -python/peacock/tests/input_tab/InputFileEditor/fsp_test.i -python/peacock/tests/postprocessor_tab/TestPostprocessorPluginManager_test_script.py -!python/peacock/tests/**/gold/*.png -!python/peacock/icons/**/*.* -!python/peacock/tests/**/input/*.* -peacock_tmp_diff.exo -*.e.diff - -# configure -_configs.sed -autom4te.cache -config.status -*MooseConfig.h -*MooseConfig.h.tmp -conf_vars.mk - -# GPerf performance -*.prof -*.heap - -# MetaData files in Reactor Module tests -modules/reactor/test/tests/functions/multi_control_drum_function/positions_meta.data -modules/reactor/test/tests/meshgenerators/patterned_hex_mesh_generator/positions_meta.data - -# Ignore share directory -share/ - -# Ignore vscode local parameters -.vscode/* +# C extensions +*.so -# App Resource file (including modules/) -/test/moose_test.yaml -/modules/functional_expansion_tools/functional_expansion_tools.yaml -/modules/solid_properties/solid_properties.yaml -/modules/electromagnetics/electromagnetics.yaml -/modules/contact/contact.yaml -/modules/external_petsc_solver/external_petsc_solver.yaml -/modules/xfem/xfem.yaml -/modules/stochastic_tools/stochastic_tools.yaml -/modules/scalar_transport/scalar_transport.yaml -/modules/navier_stokes/navier_stokes.yaml -/modules/chemical_reactions/chemical_reactions.yaml -/modules/optimization/optimization.yaml -/modules/peridynamics/peridynamics.yaml -/modules/ray_tracing/ray_tracing.yaml -/modules/phase_field/phase_field.yaml -/modules/heat_transfer/heat_transfer.yaml -/modules/tensor_mechanics/tensor_mechanics.yaml -/modules/richards/richards.yaml -/modules/solid_mechanics/solid_mechanics.yaml -/modules/level_set/level_set.yaml -/modules/combined/combined.yaml -/modules/fluid_properties/fluid_properties.yaml -/modules/porous_flow/porous_flow.yaml -/modules/geochemistry/geochemistry.yaml -/modules/thermal_hydraulics/thermal_hydraulics.yaml -/modules/reactor/reactor.yaml -/modules/rdg/rdg.yaml -/modules/fsi/fsi.yaml -/unit/moose-unit.yaml -/modules/functional_expansion_tools/unit/functional_expansion_tools-unit.yaml -/modules/solid_properties/unit/solid_properties-unit.yaml -/modules/electromagnetics/unit/electromagnetics-unit.yaml -/modules/contact/unit/contact-unit.yaml -/modules/external_petsc_solver/unit/external_petsc_solver-unit.yaml -/modules/xfem/unit/xfem-unit.yaml -/modules/stochastic_tools/unit/stochastic_tools-unit.yaml -/modules/scalar_transport/unit/scalar_transport-unit.yaml -/modules/navier_stokes/unit/navier_stokes-unit.yaml -/modules/chemical_reactions/unit/chemical_reactions-unit.yaml -/modules/optimization/unit/optimization-unit.yaml -/modules/peridynamics/unit/peridynamics-unit.yaml -/modules/ray_tracing/unit/ray_tracing-unit.yaml -/modules/phase_field/unit/phase_field-unit.yaml -/modules/heat_transfer/unit/heat_transfer-unit.yaml -/modules/tensor_mechanics/unit/tensor_mechanics-unit.yaml -/modules/richards/unit/richards-unit.yaml -/modules/level_set/unit/level_set-unit.yaml -/modules/combined/combined-unit.yaml -/modules/fluid_properties/unit/fluid_properties-unit.yaml -/modules/porous_flow/unit/porous_flow-unit.yaml -/modules/geochemistry/unit/geochemistry-unit.yaml -/modules/thermal_hydraulics/unit/thermal_hydraulics-unit.yaml -/modules/reactor/unit/reactor-unit.yaml -/modules/rdg/unit/rdg-unit.yaml -/modules/fsi/unit/fsi-unit.yaml -/modules/misc/misc.yaml -/tutorials/tutorial01_app_development/*/babbler.yaml -/tutorials/darcy_thermo_mech/*/darcy_thermo_mech.yaml -icarus.yaml +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +# Icarus-specific files +examples/example_outputs +src/icarus.egg-info/PKG-INFO +.vscode \ No newline at end of file diff --git a/README.md b/README.md index 35b6be9c..35021787 100644 --- a/README.md +++ b/README.md @@ -1,52 +1,58 @@ # Icarus -A set of machine learning tools that engineers can use to assess the agreement between an experiment and simulation; that is, to validate the simulation with experimental data and provide the engineer with a probable reason for any mismatches to allow further investigation and diagnosis. - -Works by generating a valid and invalid simulation results from a given MOOSE input file and training a machine learning classifier to recognise when a result is invalid and what the most probable issue is. Invalid results are generated by running the simulation with user-defined perturbations of parameters from the input file. The user can also control the parallelisation options, the sensors used to extract data from the simulation results, the modelling framework used, the ratio of valid:invalid datasets present in the training and validation data, and more. +A fully customisable set of simulation-driven machine learning tools that interacts with MOOSE and can be used to assess the agreement between an experiment and simulation; that is, to validate the simulation with experimental data and provide the engineer with a probable reason for any mismatches to allow further investigation and diagnosis. ## Installation -### Standard & Developer Installation +### Virtual Environment -Clone `icarus` to your local system along with submodules using +Icarus is intended for use in a virtual environment. You can create a new virtual environment with ``` -git clone --recurse-submodules git@github.com:aurora-multiphysics/icarus.git +python -m venv venv ``` -`cd` to the root directory of `icarus` and run the following commmand: - +and activate it with ``` -pip install . -pip install ./dependencies/mooseherder +source venv/bin/activate ``` -`cd` to the dependencies directory of `icarus` and clone `pyvale` using +### Standard & Developer Installation + +Clone `icarus` to your local system along with submodules using ``` -git clone --recurse-submodules git@github.com:Computer-Aided-Validation-Laboratory/pyvale.git +git clone --recurse-submodules git@github.com:aurora-multiphysics/icarus.git ``` -`cd` to `dependencies/pyvale/` and run the following commmand: - +`cd` to the root directory of `icarus` and run ``` pip install . ``` -To create an editable/developer installation of `icarus`, `pyvale` and `mooseherder` - follow the instructions for a standard installation but run: - +Alternatively, to create an editable/developer installation of `icarus` ``` pip install -e . -pip install -e ./dependencies/pyvale -pip install -e ./dependencies/mooseherder ``` ### MOOSE App -`icarus` has been developed and tested using the `proteus` MOOSE app which can be found here: https://github.com/aurora-multiphysics/proteus. Follow the build instructions found on this page to install `proteus`. +`icarus` is intended for use with any MOOSE app +It has been developed and tested using the `proteus` MOOSE app which can be found here: https://github.com/aurora-multiphysics/proteus. Follow the build instructions found on this page to install `proteus`. ## Getting Started -The examples folder shows how to use `icarus` for different input files and with different levels of user control. Make sure to include a moose_config.json file wherever you run it, and change the values contained to match your system, and ensure that your project space has an folder for the outputs which is correctly structured (ie contains a folder called perturbed_datasets and a folder called validation_datasets). +The examples folder shows how to use `icarus` for different input files and with different levels of user control. Make sure to include a moose_config.json file wherever you run it, and change the values contained to match your system. + +Icarus requires a moose_config.json file to be present wherever it is run; if there is not one already present, it will create one with the following values: +``` +{ + "main_path": "path/to/moose", + "app_path": "path/to/YourMooseApp", + "app_name": "YourMooseApp-opt" +} +``` + +Make sure to change these values to match your system before running Icarus. ## Contributors diff --git a/dependencies/mooseherder/.gitignore b/dependencies/mooseherder/.gitignore deleted file mode 100644 index 59a08138..00000000 --- a/dependencies/mooseherder/.gitignore +++ /dev/null @@ -1,179 +0,0 @@ -# MOOSE config/output files -*.e -examples/sim-workdir-* -examples/*.csv -scripts/sim-workdir-* -scripts/*.csv -tests/sim-workdir-* -*.processor.* -# Keep MOOSE output files used for pytest -!examples/example_output/sim-workdir-*/*.e -!tests/output/*.e -!tests/output/sim-workdir-*/*.e - -# Gmsh output files -*.msh - -# VS Code -.vscode/ - -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# poetry -# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control -#poetry.lock - -# pdm -# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. -#pdm.lock -# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it -# in version control. -# https://pdm.fming.dev/#use-with-ide -.pdm.toml - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ - -# PyCharm -# JetBrains specific template is maintained in a separate JetBrains.gitignore that can -# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore -# and can be added to the global gitignore or merged into this file. For a more nuclear -# option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ diff --git a/dependencies/mooseherder/LICENSE b/dependencies/mooseherder/LICENSE deleted file mode 100644 index 8000a6fa..00000000 --- a/dependencies/mooseherder/LICENSE +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random - Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/dependencies/mooseherder/README.md b/dependencies/mooseherder/README.md deleted file mode 100644 index 9da4ef53..00000000 --- a/dependencies/mooseherder/README.md +++ /dev/null @@ -1,44 +0,0 @@ -# MOOSEHerder -A `mooseherder` for calling multiple MOOSE simulations in parallel from python with configurable parallelisation options. Includes functionality to read and edit MOOSE/gmsh input scripts as well as reading the associated output of the simulation in parallel. - -The main use cases for `mooseherder` include running parametric sweeps of small to medium size simulations for mesh convergence analysis; fitting surrogate/reduced order models; and optimisation problems. - -## Installation -### Virtual Environment - -We recommend installing `mooseherder` in a virtual environment using `venv` or `mooseherder` can be installed into an existing environment of your choice. To create a specific virtual environment for `mooseherder` use: - -``` -python3 -m venv herder-env -source herder-env/bin/activate -``` - -### Standard Installation from PyPI - -You can install from PyPI: - -``` -pip install mooseherder -``` - -### Developer Installation - -Clone `mooseherder` to your local system and `cd` to the root directory of `mooseherder`. Ensure you virtual environment is activated and run from the `mooseherder` root directory: - -``` -pip install -e . -``` - -### MOOSE App - -`mooseherder` has been developed and tested using the `proteus` MOOSE app which can be found here: https://github.com/aurora-multiphysics/proteus. Follow the build instructions found on this page to install `proteus`. - -## Getting Started - -The examples folder includes a sequence of examples using `mooseherder` to run the MOOSE tensor mechanics module with and without coupling to gmsh. - -## Contributors - -- Lloyd Fletcher, UK Atomic Energy Authority, (TheScepticalRabbit) -- Rory Spencer, UK Atomic Energy Authority, (fusmatrs) -- Luke Humphrey, UK Atomic Energy Authority, (lukethehuman) \ No newline at end of file diff --git a/dependencies/mooseherder/dev/dev_create_moose_config.py b/dependencies/mooseherder/dev/dev_create_moose_config.py deleted file mode 100644 index 4400726e..00000000 --- a/dependencies/mooseherder/dev/dev_create_moose_config.py +++ /dev/null @@ -1,16 +0,0 @@ -from pathlib import Path -from mooseherder.mooseconfig import MooseConfig - -USER_DIR = Path.home() - -config = {'main_path': USER_DIR / 'moose', - 'app_path': USER_DIR / 'proteus', - 'app_name': 'proteus-opt'} - -moose_config = MooseConfig(config) - -save_path = Path.cwd() / 'moose-config.json' -moose_config.save_config(save_path) - -save_path = Path.home() / 'py-workdir' / 'pycave' / 'scripts' / 'moose-config.json' -moose_config.save_config diff --git a/dependencies/mooseherder/dev/dev_para_multi_moose.py b/dependencies/mooseherder/dev/dev_para_multi_moose.py deleted file mode 100644 index 9a2e0809..00000000 --- a/dependencies/mooseherder/dev/dev_para_multi_moose.py +++ /dev/null @@ -1,138 +0,0 @@ -''' -============================================================================== -EXAMPLE: Run MOOSE in sequential then parallel mode then read sweep results - -Author: Lloyd Fletcher, Rory Spencer -============================================================================== -''' -import time -from pathlib import Path -from pprint import pprint -import numpy as np -from mooseherder import MooseHerd -from mooseherder import MooseRunner -from mooseherder import MooseConfig -from mooseherder import GmshRunner -from mooseherder import InputModifier -from mooseherder import DirectoryManager -from mooseherder import SweepReader -from mooseherder import ExodusReader - -USER_DIR = Path.home() - -def main() -> None: - """main: parallel herd run multiple times and read - """ - print("-"*80) - print('EXAMPLE: Parallel Herd Setup & Run') - print("-"*80) - # Setup the MOOSE input modifier and runner - moose_input = Path('scripts/moose/moose-mech-simple.i') - moose_modifier = InputModifier(moose_input,'#','') - - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = True) - - # Setup Gmsh - gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') - gmsh_modifier = InputModifier(gmsh_input,'//',';') - - gmsh_path = USER_DIR / 'gmsh/bin/gmsh' - gmsh_runner = GmshRunner(gmsh_path) - gmsh_runner.set_input_file(gmsh_input) - - # Setup herd composition - sim_runners = [gmsh_runner,moose_runner] - input_modifiers = [gmsh_modifier,moose_modifier] - dir_manager = DirectoryManager(n_dirs=4) - - # Start the herd and create working directories - herd = MooseHerd(sim_runners,input_modifiers,dir_manager) - # Set the parallelisation options, we have 8 combinations of variables and - # 4 MOOSE intances running, so 2 runs will be saved in each working directory - herd.set_num_para_sims(n_para=4) - - # Send all the output to the examples directory and clear out old output - dir_manager.set_base_dir(Path('examples/')) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - # Create variables to sweep in a list of dictionaries, 8 combinations possible. - p0 = [1E-3,2E-3] - p1 = [1.5E-3,2E-3] - p2 = [1E-3,3E-3] - var_sweep = list([]) - for nn in p0: - for ee in p1: - for pp in p2: - var_sweep.append([{'p0':nn,'p1':ee,'p2':pp},None]) - - print('Herd sweep variables:') - pprint(var_sweep) - print() - - print() - print('Running MOOSE in parallel.') - herd.run_para(var_sweep) - - print(f'Run time (parallel) = {herd.get_sweep_time():.3f} seconds') - print("-"*80) - print() - - print("-"*80) - print('EXAMPLE: Read Herd Output') - print("-"*80) - sweep_reader = SweepReader(dir_manager,num_para_read=4) - output_files = sweep_reader.read_all_output_keys() - - read_config = ExodusReader(output_files[0][1]).get_read_config() # type: ignore - read_config.time_inds = np.array([0,2]) - - print('Herd output files (from output_keys.json):') - pprint(output_files) - print() - - print("-"*80) - print('Reading the first output file, no SimReadConfig = read all.') - print('Returns the first sim chain as list of SimData objects.') - print() - sim_data_chain = sweep_reader.read_results_once(output_files[1]) - print(sim_data_chain[0]) - print() - - print("-"*80) - print('Reading all output files sequentially as a list(SimData).') - print('All function parameters blank to read everything.') - print() - start_time = time.perf_counter() - sweep_results_seq = sweep_reader.read_results_sequential(read_config=read_config) - read_time_seq = time.perf_counter() - start_time - - print(f'Number of simulations read: {len(sweep_results_seq):d}') - - print("-"*80) - print('Reading all output files in parallel as list(SimData).') - print('All function parameters blank to read everything.') - print() - - start_time = time.perf_counter() - sweep_results_para = sweep_reader.read_results_para(read_config=read_config) - read_time_para = time.perf_counter() - start_time - - print(f'Number of simulations outputs: {len(sweep_results_para):d}') - - print() - print("="*80) - print(f'Read time sequential = {read_time_seq:.6f} seconds') - print(f'Read time parallel = {read_time_para:.6f} seconds') - print("="*80) - print() - - print(sweep_results_para[0][1].node_vars['disp_x'].shape) # type: ignore - - -if __name__ == '__main__': - main() diff --git a/dependencies/mooseherder/dev/dev_read_exodus.py b/dependencies/mooseherder/dev/dev_read_exodus.py deleted file mode 100644 index d66ef61a..00000000 --- a/dependencies/mooseherder/dev/dev_read_exodus.py +++ /dev/null @@ -1,17 +0,0 @@ -from pathlib import Path -from mooseherder import ExodusReader - -def main() -> None: - output_file = Path.home()/'moose-workdir'/'dice_output'/'DICe_solution.e' - exodus_reader = ExodusReader(output_file) - - sim_data = exodus_reader.read_all_sim_data() - - print() - print(sim_data.time) - print(sim_data.coords) - print(sim_data.node_vars) - print() - -if __name__ == '__main__': - main() diff --git a/dependencies/mooseherder/docs/requirements.txt b/dependencies/mooseherder/docs/requirements.txt deleted file mode 100644 index 296d6545..00000000 --- a/dependencies/mooseherder/docs/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -numpy \ No newline at end of file diff --git a/dependencies/mooseherder/examples/ex0_create_moose_config.py b/dependencies/mooseherder/examples/ex0_create_moose_config.py deleted file mode 100644 index 751cb182..00000000 --- a/dependencies/mooseherder/examples/ex0_create_moose_config.py +++ /dev/null @@ -1,27 +0,0 @@ -""" -============================================================================== -EXAMPLE: Create moose-config.json - -Author: Lloyd Fletcher -============================================================================== -""" -from pathlib import Path -from mooseherder import MooseConfig - - -def main() -> None: - """main: create moose config json - """ - config = {'main_path': Path.home()/ 'moose', - 'app_path': Path.home() / 'proteus', - 'app_name': 'proteus-opt'} - - moose_config = MooseConfig(config) - - save_path = Path.cwd() / 'moose-config.json' - moose_config.save_config(save_path) - - -if __name__ == "__main__": - main() - diff --git a/dependencies/mooseherder/examples/ex1a_modify_moose_input.py b/dependencies/mooseherder/examples/ex1a_modify_moose_input.py deleted file mode 100644 index 6eaeb580..00000000 --- a/dependencies/mooseherder/examples/ex1a_modify_moose_input.py +++ /dev/null @@ -1,46 +0,0 @@ -""" -============================================================================== -EXAMPLE: Modify input script for MOOSE with mooseherder - -Author: Lloyd Fletcher -============================================================================== -""" -from pathlib import Path -from mooseherder import InputModifier - -MOOSE_INPUT = Path("scripts/moose/moose-mech-simple.i") - - -def main() -> None: - """main: modify moose input script and write modified file. - """ - print("-"*80) - print("EXAMPLE: Modify MOOSE input script") - print("-"*80) - moose_mod = InputModifier(MOOSE_INPUT, comment_char="#", end_char="") - - print("Variables found the top of the MOOSE input file:") - print(moose_mod.get_vars()) - print() - - new_vars = {"n_elem_y": 40, "e_modulus": 3.3e9} - moose_mod.update_vars(new_vars) - - print("New variables inserted:") - print(moose_mod.get_vars()) - print() - - moose_save = Path("scripts/moose-mech_mod-vars.i") - moose_mod.write_file(moose_save) - - print("Modified input script written to:") - print(moose_save) - print() - - print("Example complete.") - print("-"*80) - print() - - -if __name__ == "__main__": - main() diff --git a/dependencies/mooseherder/examples/ex1b_modify_gmsh_input.py b/dependencies/mooseherder/examples/ex1b_modify_gmsh_input.py deleted file mode 100644 index d7c95506..00000000 --- a/dependencies/mooseherder/examples/ex1b_modify_gmsh_input.py +++ /dev/null @@ -1,46 +0,0 @@ -""" -============================================================================== -EXAMPLE: Modify input script for gmsh with mooseherder - -Author: Lloyd Fletcher -============================================================================== -""" -from pathlib import Path -from mooseherder import InputModifier - -GMSH_INPUT = Path("scripts/gmsh/gmsh_tens_spline_2d.geo") - - -def main() -> None: - """main: modify gmsh input and save to file - """ - print("-"*80) - print("EXAMPLE: Modify gmsh input script") - print("-"*80) - gmsh_mod = InputModifier(GMSH_INPUT, "//", ";") - - print("Variables found the top of the gmsh input file:") - print(gmsh_mod.get_vars()) - print() - - new_vars = {"p0": 0.0018, "p1": 0.0012, "p2": 0.001} - gmsh_mod.update_vars(new_vars) - - print("New variables inserted:") - print(gmsh_mod.get_vars()) - print() - - gmsh_save = Path("scripts/gmsh_tens_spline_2d-mod_vars.geo") - gmsh_mod.write_file(gmsh_save) - - print("Modified input script written to:") - print(gmsh_save) - print() - - print("Example complete.") - print("-"*80) - print() - - -if __name__ == "__main__": - main() diff --git a/dependencies/mooseherder/examples/ex2a_run_moose_once.py b/dependencies/mooseherder/examples/ex2a_run_moose_once.py deleted file mode 100644 index bad367d9..00000000 --- a/dependencies/mooseherder/examples/ex2a_run_moose_once.py +++ /dev/null @@ -1,51 +0,0 @@ -""" -============================================================================== -EXAMPLE: Run MOOSE using mooseherder once - -Author: Lloyd Fletcher -============================================================================== -""" -import time -from pathlib import Path -from mooseherder import (MooseConfig, - MooseRunner) - -def main() -> None: - """main: run moose once with runner class - """ - print("-"*80) - print('EXAMPLE: Run MOOSE once') - print("-"*80) - - config_path = Path.cwd() / 'moose-config.json' - moose_config = MooseConfig().read_config(config_path) - print(f'Reading MOOSE config from: \n{str(config_path)}\n') - - print('Creating the MooseRunner with the specified config.\n') - moose_runner = MooseRunner(moose_config) - - print('Setting the input file and run parallelisation options.\n') - - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 8, - redirect_out = False) - - input_file = Path('scripts/moose/moose-mech-simple.i') - moose_runner.set_input_file(input_file) - - # Run the MOOSE! - print('Running moose with:') - print(moose_runner.get_arg_list()) - - start_time = time.perf_counter() - moose_runner.run() - run_time = time.perf_counter() - start_time - - print() - print(f'MOOSE run time = {run_time:.3f} seconds') - print("-"*80) - print() - -if __name__ == '__main__': - main() - diff --git a/dependencies/mooseherder/examples/ex2b_run_gmsh_once.py b/dependencies/mooseherder/examples/ex2b_run_gmsh_once.py deleted file mode 100644 index 22d4ba90..00000000 --- a/dependencies/mooseherder/examples/ex2b_run_gmsh_once.py +++ /dev/null @@ -1,63 +0,0 @@ -""" -============================================================================== -EXAMPLE: Run gmsh with mooseherder once - -Author: Lloyd Fletcher -============================================================================== -""" -import time -from pathlib import Path -from mooseherder import GmshRunner - -USER_DIR = Path.home() - -def main(): - """main: create mesh with gmsh in 2D then 3D - """ - print("-"*80) - print('EXAMPLE: Run Gmsh 2D once') - print("-"*80) - gmsh_path = USER_DIR / 'gmsh/bin/gmsh' - gmsh_runner = GmshRunner(gmsh_path) - - gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') - gmsh_runner.set_input_file(gmsh_input) - - print('Gmsh path:' + str(gmsh_path)) - print('Gmsh input:' + str(gmsh_input)) - - print('Running gmsh...') - start_time = time.perf_counter() - gmsh_runner.run(gmsh_input,parse_only=True) - run_time = time.perf_counter() - start_time - - print() - print(f'Gmsh 2D run time = {run_time :.3f} seconds') - print("-"*80) - print() - - print("-"*80) - print('EXAMPLE: Run Gmsh 3D once') - print("-"*80) - gmsh_path = USER_DIR / 'gmsh/bin/gmsh' - gmsh_runner = GmshRunner(gmsh_path) - - gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_3d.geo') - gmsh_runner.set_input_file(gmsh_input) - - print('Gmsh path:' + str(gmsh_path)) - print('Gmsh input:' + str(gmsh_input)) - - print('Running gmsh...') - start_time = time.perf_counter() - gmsh_runner.run(gmsh_input,parse_only=True) - run_time = time.perf_counter() - start_time - - print() - print(f'Gmsh 3D run time = {run_time :.3f} seconds') - print("-"*80) - print() - - -if __name__ == '__main__': - main() diff --git a/dependencies/mooseherder/examples/ex2c_run_both_once .py b/dependencies/mooseherder/examples/ex2c_run_both_once .py deleted file mode 100644 index a8334caf..00000000 --- a/dependencies/mooseherder/examples/ex2c_run_both_once .py +++ /dev/null @@ -1,86 +0,0 @@ -""" -============================================================================== -EXAMPLE: Run gmsh+MOOSE once with mooseherder with MOOSE reading the gmsh -generated mesh. - -Author: Lloyd Fletcher -============================================================================== -""" -import time -import os -import shutil -from pathlib import Path -from mooseherder import (MooseConfig, - GmshRunner, - MooseRunner) - -USER_DIR = Path.home() - -def main(): - """main: run gmsh and moose once - """ - print("-"*80) - print('EXAMPLE: Run Gmsh+MOOSE once') - print("-"*80) - - gmsh_path = USER_DIR / 'gmsh/bin/gmsh' - gmsh_runner = GmshRunner(gmsh_path) - - gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') - gmsh_runner.set_input_file(gmsh_input) - - print('Gmsh path:' + str(gmsh_path)) - print('Gmsh input:' + str(gmsh_input)) - print() - - print('Running gmsh...') - print() - - gmsh_start = time.perf_counter() - gmsh_runner.run() - gmsh_run_time = time.perf_counter()-gmsh_start - - config_path = Path.cwd() / 'moose-config.json' - - print(f'Reading MOOSE config from: \n{str(config_path)}\n') - - moose_config = MooseConfig() - moose_config.read_config(config_path) - - print('Creating the MooseRunner with the specified config.\n') - - moose_runner = MooseRunner(moose_config) - - - print('Setting the input file and run parallelisation options.\n') - - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 4, - redirect_out = True) - input_file = Path('scripts/moose/moose-mech-gmsh.i') - moose_runner.set_input_file(input_file) - - # Copy mesh file into the directory - moose_mesh_file = os.path.split(input_file)[0]+'/mesh_tens_spline_2d.msh' - moose_mesh_file = input_file.parent / 'mesh_tens_spline_2d.msh' - msh_file = Path('scripts/gmsh/mesh_tens_spline_2d.msh') - shutil.copyfile(msh_file,moose_mesh_file) - - # Run the MOOSE! - print('Running moose with:') - print(moose_runner.get_arg_list()) - print() - - moose_start = time.perf_counter() - moose_runner.run() - moose_run_time = time.perf_counter() - moose_start - - print(f'Gmsh run time = {gmsh_run_time:.2f} seconds') - print(f'MOOOSE run time = {moose_run_time:.2f} seconds') - print("-"*80) - print() - -if __name__ == '__main__': - main() - - diff --git a/dependencies/mooseherder/examples/ex3_run_moose_seq_para.py b/dependencies/mooseherder/examples/ex3_run_moose_seq_para.py deleted file mode 100644 index 9f6fd697..00000000 --- a/dependencies/mooseherder/examples/ex3_run_moose_seq_para.py +++ /dev/null @@ -1,103 +0,0 @@ -''' -============================================================================== -EXAMPLE: Run MOOSE in sequential then parallel mode with mooseherder - -Author: Lloyd Fletcher, Rory Spencer -============================================================================== -''' -from pathlib import Path -from mooseherder import (MooseHerd, - MooseRunner, - InputModifier, - DirectoryManager, - MooseConfig) - -USER_DIR = Path.home() - -def main(): - """main: run moose once, sequential then parallel. - """ - print("-"*80) - print('EXAMPLE: Herd Setup') - print("-"*80) - - config_path = Path.cwd() / 'moose-config.json' - moose_config = MooseConfig().read_config(config_path) - moose_input = Path('scripts/moose/moose-mech-simple.i') - - moose_modifier = InputModifier(moose_input,'#','') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = True) - - dir_manager = DirectoryManager(n_dirs=4) - - # Start the herd and create working directories - herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) - - # Set the parallelisation options, we have 8 combinations of variables and - # 4 MOOSE intances running, so 2 runs will be saved in each working directory - herd.set_num_para_sims(n_para=4) - - # Send all the output to the examples directory and clear out old output - dir_manager.set_base_dir(Path('examples/')) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - # Create variables to sweep in a list of dictionaries, 8 combinations possible. - n_elem_y = [10,20] - e_mod = [1e9,2e9] - p_rat = [0.3,0.35] - moose_vars = list([]) - for nn in n_elem_y: - for ee in e_mod: - for pp in p_rat: - # Needs to be list[list[dict]] - outer list is simulation iteration, - # inner list is what is passed to each runner/inputmodifier - moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) - - print('Herd sweep variables:') - for vv in moose_vars: - print(vv) - - print() - print("-"*80) - print('EXAMPLE: Run MOOSE once') - print("-"*80) - - # Single run saved in sim-workdir-1 - herd.run_once(0,moose_vars[0]) - - print(f'Run time (once) = {herd.get_iter_time():.3f} seconds') - print("-"*80) - print() - - print("-"*80) - print('EXAMPLE: Run MOOSE sequentially') - print("-"*80) - - # Run all variable combinations (8) sequentially in sim-workdir-1 - herd.run_sequential(moose_vars) - - print(f'Run time (seq) = {herd.get_sweep_time():.3f} seconds') - print("-"*80) - print() - - print("-"*80) - print('EXAMPLE: Run MOOSE in parallel') - print("-"*80) - - # Run all variable combinations across 4 MOOSE instances with two runs saved in - # each sim-workdir - herd.run_para(moose_vars) - - print(f'Run time (para) = {herd.get_sweep_time():.3f} seconds') - print("-"*80) - print() - - -if __name__ == '__main__': - main() - - diff --git a/dependencies/mooseherder/examples/ex4_run_gmsh-moose_seq_para.py b/dependencies/mooseherder/examples/ex4_run_gmsh-moose_seq_para.py deleted file mode 100644 index cca44c16..00000000 --- a/dependencies/mooseherder/examples/ex4_run_gmsh-moose_seq_para.py +++ /dev/null @@ -1,108 +0,0 @@ -''' -============================================================================== -EXAMPLE: Run parallel gmsh+MOOSE simulation editing the gmsh parameters only - -Author: Lloyd Fletcher, Rory Spencer -============================================================================== -''' -from pathlib import Path -from mooseherder import (MooseHerd, - MooseRunner, - MooseConfig, - GmshRunner, - InputModifier, - DirectoryManager) - -USER_DIR = Path.home() - -def main(): - """main _summary_ - """ - print("-"*80) - print('EXAMPLE: Herd Setup') - print("-"*80) - - # Setup MOOSE runner and input modifier - moose_input = Path('scripts/moose/moose-mech-gmsh.i') - moose_modifier = InputModifier(moose_input,'#','') - - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = True) - - # Setup Gmsh - gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') - gmsh_modifier = InputModifier(gmsh_input,'//',';') - - gmsh_path = USER_DIR / 'gmsh/bin/gmsh' - gmsh_runner = GmshRunner(gmsh_path) - gmsh_runner.set_input_file(gmsh_input) - - # Setup herd composition - sim_runners = [gmsh_runner,moose_runner] - input_modifiers = [gmsh_modifier,moose_modifier] - dir_manager = DirectoryManager(n_dirs=4) - - # Start the herd and create working directories - herd = MooseHerd(sim_runners,input_modifiers,dir_manager) - herd.set_num_para_sims(n_para=4) - # Don't have to clear directories on creation of the herd but we do so here - # so that directory creation doesn't raise errors - dir_manager.set_base_dir(Path('examples/')) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - # Create variables to sweep in a list of dictionaries for mesh parameters - # 2^3=8 combinations possible - p0 = [1E-3,2E-3] - p1 = [1.5E-3,2E-3] - p2 = [1E-3,3E-3] - var_sweep = list([]) - for nn in p0: - for ee in p1: - for pp in p2: - var_sweep.append([{'p0':nn,'p1':ee,'p2':pp},None]) - - print('Herd sweep variables:') - for vv in var_sweep: - print(vv) - - print() - print("-"*80) - print('EXAMPLE: Run Gmsh+MOOSE once, modify gmsh only') - print("-"*80) - - # Single run saved in sim-workdir-1 - herd.run_once(0,var_sweep[0]) - - print(f'Run time (once) = {herd.get_iter_time():.3f}) seconds') - print("-"*80) - print() - - print("-"*80) - print('EXAMPLE 4b: Run MOOSE sequentially, modify gmsh only') - print("-"*80) - - # Run all variable combinations (8) sequentially in sim-workdir-1 - herd.run_sequential(var_sweep) - - print(f'Run time (sequential) = {herd.get_sweep_time():.3f} seconds') - print("-"*80) - print() - print("-"*80) - print('EXAMPLE: Run MOOSE in parallel, modify gmsh only') - print("-"*80) - - # Run all variable combinations across 4 MOOSE instances with two runs saved in - # each sim-workdir - herd.run_para(var_sweep) - - print(f'Run time (parallel) = {herd.get_sweep_time():.3f} seconds') - print("-"*80) - print() - -if __name__ == '__main__': - main() - diff --git a/dependencies/mooseherder/examples/ex5_run_moose_paramulti.py b/dependencies/mooseherder/examples/ex5_run_moose_paramulti.py deleted file mode 100644 index e0801911..00000000 --- a/dependencies/mooseherder/examples/ex5_run_moose_paramulti.py +++ /dev/null @@ -1,85 +0,0 @@ -''' -============================================================================== -EXMAPLE: Run MOOSE in sequential then parallel mode with mooseherder - -Author: Lloyd Fletcher, Rory Spencer -============================================================================== -''' -from pathlib import Path -from mooseherder import (MooseHerd, - MooseRunner, - MooseConfig, - InputModifier, - DirectoryManager) - -NUM_PARA_RUNS = 3 -USER_DIR = Path.home() - -def main(): - """main: run moose once, sequential then parallel. - """ - print("-"*80) - print('EXMAPLE: Herd Setup') - print("-"*80) - - # Setup the MOOSE input modifier and runner - moose_input = Path('scripts/moose/moose-mech-simple.i') - moose_modifier = InputModifier(moose_input,'#','') - - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = True) - - dir_manager = DirectoryManager(n_dirs=4) - - # Start the herd and create working directories - herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) - - # Set the parallelisation options, we have 8 combinations of variables and - # 4 MOOSE intances running, so 2 runs will be saved in each working directory - herd.set_num_para_sims(n_para=4) - - # Send all the output to the examples directory and clear out old output - dir_manager.set_base_dir(Path('examples/')) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - # Create variables to sweep in a list of dictionaries, 8 combinations possible. - n_elem_y = [10,20] - e_mod = [1e9,2e9] - p_rat = [0.3,0.35] - moose_vars = list([]) - for nn in n_elem_y: - for ee in e_mod: - for pp in p_rat: - # Needs to be list[list[dict]] - outer list is simulation iteration, - # inner list is what is passed to each runner/inputmodifier - moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) - - print('Herd sweep variables:') - for vv in moose_vars: - print(vv) - - - print() - print("-"*80) - print('EXMAPLE: Run MOOSE in parallel x3') - print("-"*80) - - # Run all variable combinations across 4 MOOSE instances with two runs saved in - # each sim-workdir - for rr in range(NUM_PARA_RUNS): - herd.run_para(moose_vars) - - print(f'Run time (para {rr+1}) = {herd.get_sweep_time():.3f} seconds') - print("-"*80) - - print() - - -if __name__ == '__main__': - main() - - diff --git a/dependencies/mooseherder/examples/ex6_read_moose_exodus.py b/dependencies/mooseherder/examples/ex6_read_moose_exodus.py deleted file mode 100644 index 8ee74433..00000000 --- a/dependencies/mooseherder/examples/ex6_read_moose_exodus.py +++ /dev/null @@ -1,127 +0,0 @@ -""" -============================================================================== -EXMAPLE: Run MOOSE once with mooseherder and read the exodus output - -Author: Lloyd Fletcher -============================================================================== -""" -import time -from pprint import pprint -from pathlib import Path -from typing import Any -import numpy as np -from mooseherder import (MooseRunner, - MooseConfig, - ExodusReader) - -USER_DIR = Path.home() - - -def print_attrs(in_obj: Any) -> None: - _ = [print(aa) for aa in dir(in_obj) if '__' not in aa] - - -def main() -> None: - """main: run moose once and read the exodus output - """ - print('='*80) - print('EXAMPLE: Run MOOSE once, read exodus.') - print('='*80) - print('Generating exodus output to read by running MOOSE once.') - - # Create the moose runner with correct paths to moose and apps - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - - # Set input and parallelisation options - moose_runner.set_run_opts(n_tasks = 1, n_threads = 4,redirect_out = True) - input_file = Path('scripts/moose/moose-mech-simple.i') - moose_runner.set_input_file(input_file) - - # Run the MOOSE! - print('Running moose with:') - print(moose_runner.get_arg_list()) - - start_time = time.perf_counter() - moose_runner.run() - run_time = time.perf_counter() - start_time - - print() - print(f'MOOSE run time = {run_time:.3f} seconds') - print('='*80) - print() - - output_file = Path('scripts/moose/moose-mech-simple_out.e') - print('Reading exodus file with ExodusReader:') - print(output_file) - print() - - exodus_reader = ExodusReader(output_file) - - print('Read all data in the exodus file returning a SimData object with everything.') - all_sim_data = exodus_reader.read_all_sim_data() - pprint(type(all_sim_data)) - print() - print('Attributes of SimData:') - print_attrs(all_sim_data) - print() - - print('Read only specific node/element/global variables using SimReadConfig.') - print('Use ExodusReader to get SimReadConfig with all variables then edit it.') - read_config = exodus_reader.get_read_config() - pprint(type(read_config)) - print() - print('Attributes of SimReadConfig:') - print_attrs(read_config) - print() - - print('Set any attribute of SimReadConfig to None to not read data.') - print('This example sets elem_vars to None and reads the exodus:') - read_config.elem_vars = None - sim_data = exodus_reader.read_sim_data(read_config) - print(f'sim_data.elem_vars = {sim_data.elem_vars}') - print() - - print('The attributes of SimReadConfig for time, coords and connect ') - print('can be set to None or False to not be read or True to be read.') - print('Here we turn off reading for time, coords and connect:') - read_config.time = False - read_config.coords = False - read_config.connect = False - sim_data = exodus_reader.read_sim_data(read_config) - print(f'sim_data.time = {sim_data.time}') - print(f'sim_data.coords = {sim_data.coords}') - print(f'sim_data.connect = {sim_data.connect}') - print() - print('Turning back on reading for time, coords and connect.') - read_config.time = True - read_config.coords = True - read_config.connect = True - sim_data = exodus_reader.read_sim_data(read_config) - print(f'sim_data.time = {sim_data.time}') - print(f'sim_data.coords = {sim_data.coords}') - print(f'sim_data.connect = {sim_data.connect}') - print() - - print('Set attributes of SimReadConfig to a list of names as np.array') - print('This example only reads disp_x from the nodal variables:') - read_config.node_vars = np.array(['disp_x']) - sim_data = exodus_reader.read_sim_data(read_config) - print('sim_data.node_vars =') - pprint(sim_data.node_vars) - print() - - print('Element variables are an exception as they also need a block.') - read_config.elem_vars = [('strain_xx',1),('strain_yy',1)] - sim_data = exodus_reader.read_sim_data(read_config) - print("sim_data.elem_vars[('strain_xx',1)] = ") - pprint(sim_data.elem_vars[('strain_xx',1)]) # type: ignore - print() - - print('NOTE: depending on output settings element variables may appear as nodal.') - print('-'*80) - print() - - -if __name__ == '__main__': - main() diff --git a/dependencies/mooseherder/examples/ex7a_read_moose_herd_results.py b/dependencies/mooseherder/examples/ex7a_read_moose_herd_results.py deleted file mode 100644 index 9deaebde..00000000 --- a/dependencies/mooseherder/examples/ex7a_read_moose_herd_results.py +++ /dev/null @@ -1,119 +0,0 @@ -''' -============================================================================== -EXAMPLE: Run MOOSE in sequential then parallel mode then read sweep results - -Author: Lloyd Fletcher, Rory Spencer -============================================================================== -''' -import time -from pathlib import Path -from pprint import pprint -from mooseherder import (MooseHerd, - MooseRunner, - MooseConfig, - InputModifier, - DirectoryManager, - SweepReader) - -USER_DIR = Path.home() - -def main() -> None: - """main: parallel herd run once and read - """ - print("-"*80) - print('EXAMPLE: Parallel Herd Setup & Run') - print("-"*80) - # Setup the MOOSE input modifier and runner - moose_input = Path('scripts/moose/moose-mech-simple.i') - moose_modifier = InputModifier(moose_input,'#','') - - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = True) - - dir_manager = DirectoryManager(n_dirs=4) - - # Start the herd and create working directories - herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) - - # Set the parallelisation options, we have 8 combinations of variables and - # 4 MOOSE intances running, so 2 runs will be saved in each working directory - herd.set_num_para_sims(n_para=4) - - # Send all the output to the examples directory and clear out old output - dir_manager.set_base_dir(Path('examples/')) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - # Create variables to sweep in a list of dictionaries, 8 combinations possible. - n_elem_y = [10,20] - e_mod = [1e9,2e9] - p_rat = [0.3,0.35] - moose_vars = list([]) - for nn in n_elem_y: - for ee in e_mod: - for pp in p_rat: - # Needs to be list[list[dict]] - outer list is simulation iteration, - # inner list is what is passed to each runner/inputmodifier - moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) - - print('Herd sweep variables:') - pprint(moose_vars) - - print() - print('Running MOOSE in parallel.') - herd.run_para(moose_vars) - - print(f'Run time (parallel) = {herd.get_sweep_time():.3f} seconds') - print("-"*80) - print() - - print("-"*80) - print('EXAMPLE: Read Herd Output') - print("-"*80) - sweep_reader = SweepReader(dir_manager,num_para_read=4) - output_files = sweep_reader.read_all_output_keys() - - print('Herd output files (from output_keys.json):') - pprint(output_files) - print() - - print("-"*80) - print('Reading the first output file, no SimReadConfig = read all.') - print('Returns as SimData object.') - single_sim_data = sweep_reader.read_results_once(output_files[0]) - print(type(single_sim_data)) - print() - - print("-"*80) - print('Reading all output files sequentially as a list(SimData).') - print('All function parameters blank to read everything.') - print() - start_time = time.perf_counter() - sweep_results_seq = sweep_reader.read_results_sequential() - read_time_seq = time.perf_counter() - start_time - - print(f'Number of simulations read: {len(sweep_results_seq ):d}') - - print("-"*80) - print('Reading all output files in parallel as list(SimData).') - print('All function parameters blank to read everything.') - print() - start_time = time.perf_counter() - sweep_results_para = sweep_reader.read_results_para() - read_time_para = time.perf_counter() - start_time - - print(f'Number of simulations outputs: {len(sweep_results_para):d}') - - print() - print("="*80) - print(f'Read time sequential = {read_time_seq:.6f} seconds') - print(f'Read time parallel = {read_time_para:.6f} seconds') - print("="*80) - print() - - -if __name__ == '__main__': - main() diff --git a/dependencies/mooseherder/examples/ex7b_read_multi_herd_results copy.py b/dependencies/mooseherder/examples/ex7b_read_multi_herd_results copy.py deleted file mode 100644 index 2ae353b5..00000000 --- a/dependencies/mooseherder/examples/ex7b_read_multi_herd_results copy.py +++ /dev/null @@ -1,110 +0,0 @@ -''' -============================================================================== -EXAMPLE: Run MOOSE in parallel multiple times then read sweep results - -Author: Lloyd Fletcher, Rory Spencer -============================================================================== -''' -import time -from pathlib import Path -from pprint import pprint -from mooseherder import (MooseHerd, - MooseRunner, - MooseConfig, - InputModifier, - DirectoryManager, - SweepReader) - -NUM_PARA_RUNS = 3 -USER_DIR = Path.home() - -def main() -> None: - """main: parallel herd run multiple times and read - """ - print("-"*80) - print('EXAMPLE: Parallel Herd Setup & Run') - print("-"*80) - # Setup the MOOSE input modifier and runner - moose_input = Path('scripts/moose/moose-mech-simple.i') - moose_modifier = InputModifier(moose_input,'#','') - - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = True) - - dir_manager = DirectoryManager(n_dirs=4) - - # Start the herd and create working directories - herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) - - # Set the parallelisation options, we have 8 combinations of variables and - # 4 MOOSE intances running, so 2 runs will be saved in each working directory - herd.set_num_para_sims(n_para=4) - - # Send all the output to the examples directory and clear out old output - dir_manager.set_base_dir(Path('examples/')) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - # Create variables to sweep in a list of dictionaries, 8 combinations possible. - n_elem_y = [10,20] - e_mod = [1e9,2e9] - p_rat = [0.3,0.35] - moose_vars = list([]) - for nn in n_elem_y: - for ee in e_mod: - for pp in p_rat: - # Needs to be list[list[dict]] - outer list is simulation iteration, - # inner list is what is passed to each runner/inputmodifier - moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) - - print('Herd sweep variables:') - pprint(moose_vars) - print() - - # Run all variable combinations across 4 MOOSE instances with two runs saved in - # each sim-workdir - for rr in range(NUM_PARA_RUNS): - herd.run_para(moose_vars) - - print(f'Run time (para {rr+1}) = {herd.get_sweep_time():.3f} seconds') - print('------------------------------------------') - - print("-"*80) - print('EXAMPLE: Read Herd Sweep Output') - print("-"*80) - sweep_reader = SweepReader(dir_manager,num_para_read=4) - output_files = sweep_reader.read_all_output_keys() - - print('Herd output files (from output_keys.json):') - pprint(output_files) - print() - - print("-"*80) - print('Reading all output files sequentially as a list(SimData).') - print() - start_time = time.perf_counter() - read_all = sweep_reader.read_results_sequential() - read_time_seq = time.perf_counter() - start_time - - print(f'Number of simulations outputs: {len(read_all):d}') - - print("-"*80) - print('Reading all output files in parallel as list(SimData).') - print() - start_time = time.perf_counter() - read_all = sweep_reader.read_results_para() - read_time_para = time.perf_counter() - start_time - - print(f'Number of simulations outputs: {len(read_all):d}') - print() - print("="*80) - print(f'Read time sequential = {read_time_seq:.6f} seconds') - print(f'Read time parallel = {read_time_para:.6f} seconds') - print("="*80) - print() - -if __name__ == '__main__': - main() diff --git a/dependencies/mooseherder/examples/ex7c_read_multi_gmshmoose_results.py b/dependencies/mooseherder/examples/ex7c_read_multi_gmshmoose_results.py deleted file mode 100644 index fcb16248..00000000 --- a/dependencies/mooseherder/examples/ex7c_read_multi_gmshmoose_results.py +++ /dev/null @@ -1,110 +0,0 @@ -''' -============================================================================== -EXAMPLE: Run Gmsh+MOOSE in parallel multiple times then read sweep results - -Author: Lloyd Fletcher, Rory Spencer -============================================================================== -''' -import time -from pathlib import Path -from pprint import pprint -from mooseherder import (MooseHerd, - MooseRunner, - GmshRunner, - MooseConfig, - InputModifier, - DirectoryManager, - SweepReader) - -NUM_PARA_RUNS = 3 -USER_DIR = Path.home() - -def main() -> None: - """main: parallel herd run multiple times and read - """ - print("-"*80) - print('EXAMPLE: Parallel Herd Setup & Run') - print("-"*80) - # Setup the MOOSE input modifier and runner - moose_input = Path('scripts/moose/moose-mech-simple.i') - moose_modifier = InputModifier(moose_input,'#','') - - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = True) - - # Setup Gmsh - gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') - gmsh_modifier = InputModifier(gmsh_input,'//',';') - - gmsh_path = USER_DIR / 'gmsh/bin/gmsh' - gmsh_runner = GmshRunner(gmsh_path) - gmsh_runner.set_input_file(gmsh_input) - - # Setup herd composition - sim_runners = [gmsh_runner,moose_runner] - input_modifiers = [gmsh_modifier,moose_modifier] - dir_manager = DirectoryManager(n_dirs=4) - - # Start the herd and create working directories - herd = MooseHerd(sim_runners,input_modifiers,dir_manager) - # Set the parallelisation options, we have 8 combinations of variables and - # 4 MOOSE intances running, so 2 runs will be saved in each working directory - herd.set_num_para_sims(n_para=4) - - # Send all the output to the examples directory and clear out old output - dir_manager.set_base_dir(Path('examples/')) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - # Create variables to sweep in a list of dictionaries, 8 combinations possible. - p0 = [1E-3,2E-3] - p1 = [1.5E-3,2E-3] - p2 = [1E-3,3E-3] - var_sweep = list([]) - for nn in p0: - for ee in p1: - for pp in p2: - var_sweep.append([{'p0':nn,'p1':ee,'p2':pp},None]) - - print('Herd sweep variables:') - pprint(var_sweep) - print() - - # Run all variable combinations across 4 MOOSE instances with two runs saved in - # each sim-workdir - for rr in range(NUM_PARA_RUNS): - herd.run_para(var_sweep) - - print(f'Run time (para {rr+1}) = {herd.get_sweep_time():.3f} seconds') - print('------------------------------------------') - - print("-"*80) - print('EXAMPLE: Read Herd Sweep Output') - print("-"*80) - sweep_reader = SweepReader(dir_manager,num_para_read=4) - output_files = sweep_reader.read_all_output_keys() - - print('Herd output files (from output_keys.json):') - pprint(output_files) - print() - - print("-"*80) - print('Reading all output files in parallel as list(SimData).') - print() - start_time = time.perf_counter() - read_all = sweep_reader.read_results_para() - read_time_para = time.perf_counter() - start_time - - print(f'Number of simulations outputs: {len(read_all):d}') - print() - print("="*80) - print(f'Read time parallel = {read_time_para:.6f} seconds') - print("="*80) - print() - - -if __name__ == '__main__': - main() diff --git a/dependencies/mooseherder/examples/ex7d_readconfig_multi_gmshmoose_results.py b/dependencies/mooseherder/examples/ex7d_readconfig_multi_gmshmoose_results.py deleted file mode 100644 index 685a76c7..00000000 --- a/dependencies/mooseherder/examples/ex7d_readconfig_multi_gmshmoose_results.py +++ /dev/null @@ -1,140 +0,0 @@ -''' -============================================================================== -EXAMPLE: Run Gmsh+MOOSE in parallel multiple times then read sweep results -with a specific read config to extract certain time steps. - -Author: Lloyd Fletcher, Rory Spencer -============================================================================== -''' -import time -from pathlib import Path -from pprint import pprint -import numpy as np - -from mooseherder import (MooseHerd, - MooseRunner, - MooseConfig, - InputModifier, - GmshRunner, - DirectoryManager, - ExodusReader, - SweepReader) - -NUM_PARA_RUNS = 3 -USER_DIR = Path.home() - -def main() -> None: - """main: parallel herd run multiple times and read - """ - print("-"*80) - print('EXAMPLE: Parallel Herd Setup & Run') - print("-"*80) - - # Setup the MOOSE input modifier and runner - moose_input = Path('scripts/moose/moose-mech-simple.i') - moose_modifier = InputModifier(moose_input,'#','') - - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = True) - - # Setup Gmsh - gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') - gmsh_modifier = InputModifier(gmsh_input,'//',';') - - gmsh_path = USER_DIR / 'gmsh/bin/gmsh' - gmsh_runner = GmshRunner(gmsh_path) - gmsh_runner.set_input_file(gmsh_input) - - # Setup herd composition - sim_runners = [gmsh_runner,moose_runner] - input_modifiers = [gmsh_modifier,moose_modifier] - dir_manager = DirectoryManager(n_dirs=4) - - # Start the herd and create working directories - herd = MooseHerd(sim_runners,input_modifiers,dir_manager) - # Set the parallelisation options, we have 8 combinations of variables and - # 4 MOOSE intances running, so 2 runs will be saved in each working directory - herd.set_num_para_sims(n_para=4) - - # Send all the output to the examples directory and clear out old output - dir_manager.set_base_dir(Path('examples/')) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - # Create variables to sweep in a list of dictionaries, 8 combinations possible. - p0 = [1E-3,2E-3] - p1 = [1.5E-3,2E-3] - p2 = [1E-3,3E-3] - var_sweep = list([]) - for nn in p0: - for ee in p1: - for pp in p2: - var_sweep.append([{'p0':nn,'p1':ee,'p2':pp},None]) - - print('Herd sweep variables:') - pprint(var_sweep) - print() - - # Run all variable combinations across 4 MOOSE instances with two runs saved in - # each sim-workdir - for rr in range(NUM_PARA_RUNS): - herd.run_para(var_sweep) - - print(f'Run time (para {rr+1}) = {herd.get_sweep_time():.3f} seconds') - print('------------------------------------------') - - print("-"*80) - print('EXAMPLE: Read Herd Sweep Output') - print("-"*80) - - sweep_reader = SweepReader(dir_manager,num_para_read=4) - output_files = sweep_reader.read_all_output_keys() - - print('Herd output files (from output_keys.json):') - pprint(output_files) - print() - - print('Extracting SimReadConfig from the first moose run at:') - print(output_files[0][1]) - print() - - exodus_reader = ExodusReader(output_files[0][1]) # type: ignore - read_config = exodus_reader.get_read_config() - - sim_time = exodus_reader.get_time() - read_config.time_inds = np.arange(0,sim_time.shape[0],2) # type: ignore - - print('Simulation time steps from the first MOOSE run:') - print('sim_time=') - print(sim_time) - print() - - print('Indices of the time steps that will be extracted from the sims.') - print('read_config.time_inds=') - print(read_config.time_inds) - print() - - print("-"*80) - print('Reading all output files in parallel as list(SimData).') - print() - - start_time = time.perf_counter() - read_all = sweep_reader.read_results_para(read_config=read_config) - read_time_para = time.perf_counter() - start_time - - print(f'Number of simulations outputs: {len(read_all):d}') - print('Time steps extracted from the first MOOSE simulation:') - print(read_all[0][1].time) - print() - - print("="*80) - print(f'Read time parallel = {read_time_para:.6f} seconds') - print("="*80) - print() - - -if __name__ == '__main__': - main() diff --git a/dependencies/mooseherder/examples/ex8_read_existing_sweep_output.py b/dependencies/mooseherder/examples/ex8_read_existing_sweep_output.py deleted file mode 100644 index f62f0208..00000000 --- a/dependencies/mooseherder/examples/ex8_read_existing_sweep_output.py +++ /dev/null @@ -1,54 +0,0 @@ -''' -============================================================================== -EXAMPLE: Read existing sweep results - -Author: Lloyd Fletcher -============================================================================== -''' -import time -from pprint import pprint -from pathlib import Path -from mooseherder import DirectoryManager -from mooseherder import SweepReader - - -def main() -> None: - """main: - """ - print("-"*80) - print('EXAMPLE: Read Existing Sweep Results') - print("-"*80) - - base_dir = Path('examples/example_output/') - print(f'Reading from sub directories in:\n{base_dir}\n') - - dir_manager = DirectoryManager(n_dirs=4) - dir_manager.set_base_dir(base_dir) - - sweep_reader = SweepReader(dir_manager,num_para_read=4) - output_files = sweep_reader.read_all_output_keys() - sweep_variables = sweep_reader.read_all_sweep_var_files() - - print('Output files in json keys:') - pprint(output_files) - print() - - print('Sweep variables:') - pprint(sweep_variables) - print() - - print("-"*80) - print('Reading all output files in parallel as list(SimData).') - start_time = time.perf_counter() - sweep_data = sweep_reader.read_results_para() - read_time_para = time.perf_counter() - start_time - - print(f'Number of simulations outputs read: {len(sweep_data):d}') - print() - print("="*80) - print(f'Read time parallel = {read_time_para:.6f} seconds') - print("="*80) - - -if __name__ == '__main__': - main() diff --git a/dependencies/mooseherder/examples/ex9_full_functionality_no_print.py b/dependencies/mooseherder/examples/ex9_full_functionality_no_print.py deleted file mode 100644 index 656bec24..00000000 --- a/dependencies/mooseherder/examples/ex9_full_functionality_no_print.py +++ /dev/null @@ -1,62 +0,0 @@ -""" -============================================================================== -EXAMPLE: Full functionality, code only, only print at start and end - -Author: Lloyd Fletcher -============================================================================== -""" -from pathlib import Path -from mooseherder import (MooseHerd, - MooseRunner, - MooseConfig, - InputModifier, - DirectoryManager, - SweepReader) - -NUM_PARA_RUNS = 3 -USER_DIR = Path.home() - -def main() -> None: - print('Start minimal full functionality example') - - moose_input = Path('scripts/moose/moose-mech-simple.i') - moose_modifier = InputModifier(moose_input,'#','') - - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = False) - - dir_manager = DirectoryManager(n_dirs=4) - - herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) - herd.set_num_para_sims(n_para=4) - herd.set_keep_flag(False) - - dir_manager.set_base_dir(Path('examples/')) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - n_elem_y = [10,20] - e_mod = [1e9,2e9] - p_rat = [0.3,0.35] - moose_vars = list([]) - for nn in n_elem_y: - for ee in e_mod: - for pp in p_rat: - moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) - - - for _ in range(NUM_PARA_RUNS): - herd.run_para(moose_vars) - - sweep_reader = SweepReader(dir_manager,num_para_read=4) - sweep_reader.read_all_output_keys() - read_all = sweep_reader.read_results_para() - - print('Finished.') - - -if __name__ == '__main__': - main() \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1.i b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1.i deleted file mode 100644 index 719299b7..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12.i b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12.i deleted file mode 100644 index 8fe88ffa..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12_out.e deleted file mode 100644 index 900e8d63f88a776f2ddb4e6c5e3a3653f1c09533..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105844 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

=%# zY69^Y35|bTbbPGdWV32emIH}u@I?WeKHl2EY_Vw?G%z)=#Xy2ctFNb~fk7j_=HO<) zlsJ8)0qE_cA9J-!=|!2FIr;1}W~iSbU+vY{F%p!+&Bs z$g;dODSy!hnjM5Yj#3}z6}yoq|UHmtkG!`<7x31TYSBYlAX zy>Y7X9ZZ&Zn+Bh=&?ndTH)usd`)6}98jUvIWEdQ;*Xkl@H&#A?k+K77G`<@D$jEMb zqq37*V+@wgI+HG1k6w?A|1{WPO}03*5wCrZwx*6GZC_1?Ev_{ z?&y4Yy}yhC;=T7N={mB?BEv}RW*Pk1AJAwXiq9{Fo8xg-$>7iafI1^WYEAlRRE!~d z?ckw$dSyfM2KUw2cMLCP*@n%bflS0g$zsZTqrKart6 z0X=_dwng&FJEmb2+DqnC?T_Seq@lg%Wm-5Y-lXjOsRF4c0_wfqwq>=JX{L$gVq$FC zOsbBr#y!mfuNn~nvp781dvFi|tva-7&>btcr@Fc{bZn!f37EEeXG6fG)CoG6VZ0Sr z0r6;rp-C5k6_1M2(ua500S?tLa z(B5l3v>dEK;RA7^6RSlzr}}fG9%k7n_SLj8#2F%DjCxzE)-NgcvV(HT;;ihLhFP3M zDWH9C7o!X#4Z3KpJc7}9nm4;wxIN zuYC`i5=(s*@lv9`8q@(pWW3J!^06-?&;QnWIq?lRFTZ@hm^Om*yqvZwI?u})?QLm% zB$)HOoc5-LBj*(7c{%;AXYU;!jmCLiPOqWT5%Kb|KFuDSGD1tg+2`f|fqMbs7C7#T z>f^HGJn!;~%WrBQilYn0@{07k>&L~1q_MPnXCqMg{9U$Q=6{m&2hL*Xwssy9leNA zI)hQ&AT+f9DnJ(zp|>azV|59*W1XOn)LP62+>12W^l^6g&mqG!0WF3IU0kGNu@o6( zJ=8@G(U~GLx?yPlX*8uH(i)*NrmfYAhW4IQB4YFrgV4X3ka|<3*!FJ}JeY(>MW~Zl z+^biwbF|_5D07^i_DWp*q7TjbT3ei&>>{9CVN{?rTH0T+Xz04?OxYpr@+Ttp0d z-RV()NUc#98y>0C;t?N8FXP9k(p7PBQIS5N(Pma_xBXjL-lIncm^LL$>W$)|Z_woR zubGjdc#6Oxp5#c0BrS(CjML+RmgE&piHnV*Z{Xf6ol=>PQVW}&vC~>C;vQT|C}G)O z57987%lR~ih2*+uGRMVgm8$<*l@N(5*8oaDd06-tu@oH;FtaWob(QTsVn^C=989lV z$~bM5dX4OU{Iqs{m?;%8uMjsc4 zTfaC-WxVe8A8k^fmNM9(6%Fm$m(v6^Mw{adwwTzI_4n0?3Yz)OmUaqmW2QQB;t(C7 z*V68hd=JD(Ohn0s&!f*jZ=%8r+5&y6Di z@#Eb@x>!NqbEMve&O}rnRYC_24rnN)1Qf@K)am}q3~_ORI~1vVvh6>oP&!(RKF(l{ z)S@3Oee=ftYLhykvc_pc{;Pm#Ly7I;SU~j>Af0{`Qqj<^4oUpPz=T%|$o(a`x~PWz zTUiN+mQAd3FUo4eugoLxqa?HZt)2bn<I zkH?5xgFhp;{xhGjZ#h_)V9sJTu4QK-WIijKR19h?Z%l{n;NI%NY z_!o~3W*BcAq>VL4#v9{bZjAV98rXFiKYdYM#V<6i+)O<(r`_V?yKn% z)FmM8mdt957L3$K7}W*DH5pMewOW!?wP*1kCyxoHbwr6Er;y>A!@dt=>G@K%WwE;G@D-?@V{_H zkC!)O&*@2=x?gdMqLzdBDMTCjww1`>I5VDdjg^XBuV@0q53w5Ou8}b52##z$Hn6*bmfI{ zMuQc%hUs01CNph&jH2qi{)W+Ll+BC#05a2bmwFEDdM^h=WsDLpp~R-Kf1_mCQRT>< zVpV=}mD#%h?b449Wb$@!B;GNo+zpP?;{gJj@{2C5E{ZNE(fxp?=4%I*0h6O7@55@% zwr2~=4C(Hz@(h6*BhAqMdYENrA8izR4J*CKH|?Q5voXAU!DOI2QmR&I(!+@Tt4s%2 zyzMKKcWgKiklw0ejSr8+OP1*I?)3LE?XTG4J)C$?Q+#YV`rOqcwYuu|p8}NEa%u6( zXz{Z$HIO>AKf`dnO_zB*XlU=FZdvxgI&yFbk2e@2>6cORcu4O`P1TiQf3=CgZw2Gb z2K-1*-HEXSiy!{by?XmsIpv6*e25lD?BoMDg1-LAo*GMdO{jR;s=8%U4;{&n0%p2L z`)Ydk!Izj``;UHwlBb4Wo5< z?R)0CiUR><>kakLhTr~K@yu>&CG8Jr)SIGhF?6FV!=H57ACR78H0pIxFXfiJm0!Od zqHJXo9@4TJ(sVVaU1huCq1s><#*u-3{+Hpe7w}$@fVTcU0$=xS(MmvZVo&qPTym23 z|N0~2jhiZ9W4qRwGNjrfAD=*nAnxWyr+Q-{dfN4Pa>0&$IW9>n4mi4mj5dw0rq62! zqZu`t?t7`;iGwryhn z@eq$iCa-LAWl1sY&Csqb_&PHy_vq!(RUerRoe#8buW^qa?ag-TF+HWXp88FomOO2%r9S)fG9jhrZ z9SWGzNub4#OVYk2&;AA{R#^>5JsHZ)>Qwi^?cJAY-Lho1Z5k&p@G3(Im{o($k&PnW(5SxVAFtQY<3ktfk=qdsqjm9k;*uVDv*9%@^b;q_ zTmCt+m9uQ!I216m-HwvPR<^U{fS+Dvw%a)zFtgoG1bqFA9;#BbjOdaiD}z5rG*n(n zITSxm&!~gW{$3IE+{ED18tCsbXOJK^ie1~pg<@pUHKQxJ*TlxQdE552g=T?4|La&}4 z+L@kz)xWV1pi@%>AB+)CEqB&O#OO?hh&L=-I+-KK&Ui{bdtQL3v<|Ym1XrG_iZz?k z$s(`9#THdHb8~ZZQFW6!zPehxY7UVh-K5Fj7f3YGk=9q1PkuRaS&?P0gRe$beN`w` zq)gUbtTG;;#-sIStGMGBiys=B)oT^J|4^4`G{*%bSm-r~W>Y4CRJRP6`4DPry{4+jA_SNk3F8zpRkFuF`PqXoK2A>JP#w!K|P?F<5@-Cyj+M9 z(b1Pbo;;ak+=wFLIYeC3(Zt{KGUL>m@&aI@hClDaQvaT^IIdgbS0$xZqU z+peNXMlIL~t8BYcigvAACNrxw7;i<&o-aKn2h6Nd>_|^L1w|`cX>F!FL!nn2I`-{+ zsWMapsz?5GXZ_cV`x*hoS^qWTxg-Zn{<_}FjZeGw6g6O`KPh?L%+y+x9FX>5btLuB z(SYK~B{Vnj0tP%lk-O%dJ4eB zS%v{U9S@l4#hGK5W^`{alh3(1x>3@$GF4?UbUa`tA6a$mS}%*MJx4Rl^mA^G2F$2w zs3_^!#Uq}|mN(+nqiXVIfrdlOrdWejk2k_7KUvd=c9}LILA4SSg+(VRlQuz)nY2ks zum1F#dQi!9sAiJs^{As7W_ms9*wttj*Q1VRn8}&R@jWGdz~t*uM>EXydep8n6t=y( zmD5}Rq&`wOb~UQp!A-fqRj-4nG)GrCO@?YfN3KURT;=3|>ZY=z>7HT0)Yqequ5zZ= zqmEsTW^q00Xoi_yk2)MMyRJvojgtKSSJj~o9nR2#_d6;L5qg3g&x|V{c|lZ%17>!` z?AY}(o+J?cr7yQT9nBE0$HV&)QksRTgbuHArq}e2W|(c)^y;cnz-+muR|95xP4DOt zJKL`5MTXgUkC_5yV>odeE*n29?&9)4@MGQ}@$%_x=@FqeUKaf!q5`P*^+ds<4^T+^D|V`YN++x??GG62KR77wYgLcWVl`9$w?D%OGj6h_4w2Tj zzng_Fz47+Vv|&=l91586rMC!be;ZpqJe|SOUy0~|hSnh|EBLZyf51p{RIDzOk4YiE z{Q>m}dVF&WJzeSUzsY2AY1W}jhma2bftrvGodddu1O#gXy0ppknhO`U3AitwnSzv| zy^p#@;YXJlygpb})BZgrIyRd(O0+57Vl=1Sfz|XJ+9)xG$V_(=C7``OQOxu@RHSMD zok1-_1#>X$k8S8Uunio#RfI!jDC^~9+CtDF)Lzrr8#QkArSE2j&njm0DQ zMnkOn>pcXt^D8;&11eiPC8Dq9b>Gk~&ii!PNL|D7E$`SQXv;?9O#*Rxol-#^Smo3K z)i>#<93LGGi04CM@UC&4iLy)mY_wS76N8m0tHx7PNBqvo90D9W}r znp1yI*5QgBXO5=()fw(5j_k|yhePiZ8afg%iw3bH)g~b}voolYu)P`n4_xa7 zr~Ni`wq5gOc-`iRQ+dX;d*|S6%Z#?@T zbmVCBig!WTe{euRYf$(=Jar*fgmO;xXa6bSm9Jt}q$RFe=`d`SHOK4F_2*%4gA1ZHg4r7w@aVy#bv5#e)#~$gJh0CA0jFqWxb{ z#Jv>xWivE~@f=UOO9DqWN^-!s49?Jw1jJ{?=q)EHx}~=4e_H}tH}o+~^+RN-gOTk} zhN%OhahT>)Y5zVTF8ktBt-d1xv;2~eBLQu3_|UdCHWAeZJ9WC(4%vGe&E_uM|Aju- ztoL;1RHp(?1)K^v6>uuxRKTf#Qvs&}P6eC_I2CXz;8eh=fKvgd0!{^-3OE&TD&SPW zsen@frvgp|oC-JuuxRKTf#Qvs&}P6eC_I2CXz;8eh= zfKvgd0!{^-3OE&TD&SPWsen@frvgp|oC-JuuxRKTf# zQvs&}P6eC_I2CXz;8eh=fKvgd0!{^-3OE&TD&SPWslb0$0d_azRp;K#*4AD9{21@> z<%1qBy{4;k@kV#P)+~&!m^|LF+n-(^FZNF!uX8-$gV@K1lgF#SQ=p7y_Sod{N+&j6 z4ZFQ0dA!u}5BvGt`!0FBkf-LRuO@l^-A{fpCg#4gNS*FeZ0h*livy;p<9^EYyG7J- zCYDc*&qVz5$X@wFJZaG8}0q2-}s@NyESdIe|a@MuX%N- z_oYR#yyCl?zb~I}J}*@L?>@sm4DzW_e$=3!D*nX8_;Dttf6v7HaZD`l%S60YOvJy! zM0q=yC_g_Fd412+yh7ssVm00>%|lDp^Z&`j^1Yde7tcie2~3pt2@~ayU?Q(VOyu=|_qk|l`c-K+9_D!=a@fvT z9@5gg{M;E0c+mZ+WlKD3%scd{Qn1{W4|waF8^eCM+=KfKk2yBJ)?VIJ^HJ;#kKDZe z@$Ti4h=pMw{MhB)1KO$#UJlx%J_Hfn3#T*iTPcbSpHKc;&oyo{$wV~E5}6n zm6*t@CKGuX`G5(3zZO^JU+NHo(HLHd479YpeneEY>d*)ia^JbUHyy`*SW8Izui+Dd{ z;I%z7r}JKA$K9#Y?ila(K`WQr!xr(*=EC(VpS{D|F1d5=!Sr0bWzv;06`M5RP2Tlu zH2ssSykYUhl%kpT+8i`m{Q~ab~Z2d6+UD9>|pGjmt4H|DQ}O-<*kfJD7;CVWPZhOq5@i ziM(zzk=InN|K-PV>yGc?G1qFX>L0U=hi@$v?$c=(*IGXOv-fI0-sh(E{jdwgdC1uT zizoNo&V!pjG+pF#c)OoEjNH3_250^sT=nb!2X}jTZ;Yl)C!f~dOV=d7t*x%e8O1dN>o~Q<#{(ii!D)F|qstCgMdi5nsbZd1sj@zcLef zc`=cfD~~Do#jR>r*YiPDKfBoDh6|6p_U+};A5`JGqg{;?dzg6t{hLENKD^0$dwX4W zH=W_#p4Ofknd2WGm~-0mN;15XmJGco=H6Vn$l zF@F&zmcPM7yaPnD%WI}dVg{6^2CcV_cGTlZCPx&AW`@zQ=+f661?`Fg;|)h2Y}t#^m+-s_jd z8!fIm^7mb*e7bnI-#l-{Zl;WX>C41)3lsBuF|qtLCgOd~MEv1Ql(&tE@{2N&S9K=x zGIGPIg4a*xn8u9{z3T>buFa!9%{?_&v@4I8@kjA@R|NC0Q9~z8jC;UC->S3p$$*Kx zN56L05=lcq5sJe}jqgS}>*jsB28*70X0kIr+eqH%i-PCh^$)wz21KZ{g9ym!8Ubs0)wm zw)m``7b+Jx`lwT7Ts|V-Get)3+)QUKf3LfA61o+tT&Buiuh~H+iw4 z$@FV}KK>=9JUct42NUC3rcB>_go*jLGqHS8CgSa5BK}e)%6prM@*6RcS05(wn#c#m zTx)yj*cxt{-mb7u@oGG#`SH7lj@RS*{Ef#~UJ=T5=ZDZn;d~Dtp*1G%ofYpYR{?7{W-Vxi5jD56#cWcDw4~p#1+c#KLa^|P&c(W>n{OX(X z?P_0Z?wt2O^=8U=>=#T-pTNZYO_*4II8)+1z0XAa&zLB$EfeLJWg@QuOysqf8;?!g z_;pBcZpk^Q+~X>hxnWUs&b!+l^Qf@)<)`)u;t^HqxlE|w#kF6RsN3_YiTCMp-fhd@ zzwvH2M!BC2h~ph<=RLVNatm)>VRwNOTbk_(s@DEt{Ks{eGQN2?6Vv-KF@G=<%YVv5 zyf#e4uf{}q-b|E#fr-34n8>RTkDWUIbbCu4ZV9WBxZv;*J}_wEvIWC;@aTLKP7I8z z&m%sc)X>;$5f3wbzUO$aX1s5sA5R1(`iA!xRW01R@blHThmP6R zCAy1$SnWMb86UEiDbqF2n3#VSQ zaN!~CT32}9=x5&X`Mbk9#oy!Je=pmA?9cqWBBNIvtG=NOQ^xQ9#>8|T6Z3Cm%JQEd zU?N^yCgLw*qP*oyl;4Pnyy`NM*9vZS9WiTB;@5m|g|73@P3yu3?djO~$cjICO!WKf z9|oP_k^dNr^e=pm>qdC~eAM)ahd$61K5=&;54kfk*xh>(?{v0up}gC*yv0$Qn`TSp zU2z@8>;9ZJk16AuLYXps+aFBKKbVQ-jZDNl!bJQ-OqBNp6XhRcBCm~1L*eGQ@Utgc1 z6K%=kO}EX6Sh(k_l<{Hhm#sK|C}lh(RQGwVektR=#~$2R>zXp&G@<#ZGYwP5mFYQB z#+Bv6QpT0|Kc|c<*tm{F4q4{^0?4xTk^Qjt2XZvxxH1z zr`vhYg8|!%{hWt))Nfx?zxQ9f{nZ(^t(&*=_IbJvUfKR<-Y#)|fo6}ayj|JxIrg<~ z&)XiYduHD^{dn6|ZF-NqeTKK4KCt{Zmml)B?>wkn#%HY@|3^;0B9Gz{y#D=F7tYe_gYu1-lOSTx%Rz-M>~h!;2~qG)~kQDBkx{&Lcy8!(VjOf&Q;*; zW4!B~y_=&p7vfzP-W;>8Odj4fVnVGkANcXEzVW@A1&!lfYtKFMn@@AzRb&0l?}WD; z$55F*A!UAAzVt&GPb1@BlI8s>%kL)hLi>{P>gU3>PXo5kZQqJV?3?(!x)s+Q<<{L^ z{ZSd-xAw8^J3-}iFmz0NkReFUDi!^gD9?L2~&{GMl07WB2VF#`||0`|WeBha4Xvr%#ddPm{|xk@0LYes5V` zj4aCLg`Gt_qLTl?gw3aWs!e+EwVQMc?x9 zbAKE-ux^NS~HdF9yN-w%*(}fr%v>C55CWJzs$euf2Fz{|4UAH zk@LSJmp>`vnPvR%WO>77`ED|=A~LT|e9+N^!Ygr|Yx=7H&n1j4xZ#s~SEm>z@tBI| z>XxdyiATSc&&H4V@u=Q0ee-Xr%k@V?eqP$q#`TFa3!YhBi0gf34L_!N#`Wdq3}|+5 z4A&QFP{&;xBgaR`=?}&Ht6s?E2g!K#W&9Shymhktc`~nPnU_B|FP{9Qscs)1Tx0I? z+(Vx7*u>_Ocej4V2c3Onn*7l!K5+Y@lfOOsiW@GxJYxT+Z2#_ z9g%rG=Yu!7R2XnRfyZ4LQ?U39FK$`3uU_NZ2f2Caqqp)jKgUgxpKo3LtS^rpTBUuv z^TWAu{~}GB;oZ2g)0qzkgihy!9u=NxZDZtvzS|WPyuB13^x3_i?&duz$1BO{z2*Gz za(O=)&m`mblI2~J<^L%2N|Jds;npcXeLFxupW9YNEn7R`a~?OjQJx=eR^WrTUcFT6 z*abeg(9Vlt-FI-yl>Jw?&i3J!dMy@t)L6{T2M^^q6FP#MjiL3{99YZEO+LR;^2lRu zu70vbNDU3M1@*m;x3CzaS+diOuv_FepkD;gBzHm`L%OwEdN z>;AS4&vu!?t?@UOo%&%mxB8Bnb7kF3Zmsx9*8^SRxV8B4g#6tX$??H*dXk(!Q7)e( z;(0xj@pH=ZZpre`$-K_Vyyo%5Qq9|hY~02ZA6IDbng6#u!R_kJR^>PGq5X2@E7t8J zK4ir_&p}g~@*%}{{aN%_B9CAA-TjH{p78j9QB^J%N#ODM`z&u?vkbRg@f^K*@@L$3 za_PM$-h1WvCNaInGdX`hx%?FwPcP$FljY5j<$o;m`b6fnjwk&wsLA#j9(>rofs5Dr zPT)yJg7tsBILs4$XMWZ^w}mH6uzlQT%RoN#j~_aX|MFu#)HZnbX_wP{Xt`>aLZ-aK zhn)ERn+KKxe8|?rjZJzjAF^t}@UKH>$nkDsy7`8jKSnNpK*pOc<9C(iX=V94WnSfF zUeSE`KHFH0btE4#=iP;u%%}LUKOzo3I{rQ%R{4S^eBKe>b#9<7s7h!iG=g&C1u7Cror*zasZ~o-nL!-O&qI%JC27^eSThsW0U6 zePz5gGX7>+-Y{AI7@1dpnb%G}a`EahZhzO|qXs4=lzcjbk2o~C#p=m-_z0J3!)nb= z;KSSfcIJU)G#|ERLqZADB0j9%2WS08ZRJS^51cv_7|fI2b${^nhz&eRJHU9erH&_c z^Pbe~m_d#Q%ITBj{PpDWt7N>1GJd!$ucs{ksLU&;%&Qw8?N{laz)$=0(M$4r#Tk0= zQEMO6avPkRkGwGT-1|lM@sV|-A5RYSBonA&!}*Gz_)yOgUTbq<{Xma+vRi*F@NZDx%_)Fo<_#6BFp^UDZJu?5VYlidD-@a(M#ib7)ty{nGlLk}x=-e0LLY6M%qhebh?DNov zkGy&C!&Xbn@sSgwHh#pv;3Hdo@SV0$C?8p_)9%8*p5Y@4E^m@}z)OyQEvGk<^UspY z=a=zH%lK1ec|&FStz=%;WL^XL*b0ZnF9;gJ#}2>@iE=5HGI3k zaX$LtN0B{0{+^FsH7+Emz%@QPdey>q1%mnLCRCi`+f2~~JU&cEnk6AFHdhnSgd`#aRrb?Uc^D%XnSDw?i zI3JU{)tqZSP5J1%ev?9N1^MXf?XH$w`=uDSK9SRF$oXC6@)u;h4`uvuvb@f+{FXAW zMl!EGO#6P(Fk`=7j2WjjX#Mv})${XGe(xXUgj}N<~4v>JnO~}9yphU2CsVS)*lO4a1Sq+j&(P)_P_cJdG<#R)~3Zj zxA(c1VE$1mz>;>~~*Xax|-&YR(r2mwh zZ;Dv1)dCr3hKy?y<=i?d%T@DuPv*6RS>{w~d{eWKMRluQ{H|dW3%ya~^n)+9vyfZ2 z0xzt2%DNUxdU);x`YZjeRjnUVlXWaQbol)-5v<*#9)TU-_hxN3uP7hUwk7)Ef{U&! zHdqdg(qB%@H~XSoE{}{;OU4~5%Q-5`ohI}6Qs%XqSz@bp>AmMqHgMg=`;%L@U=cN2 zZ2Ro|Vb;H7fw`U`7S`+6@_p*n#C@g_1xG&U`8Dg-q4}hX;dxl_v4lzQmbk=%Ze9@do+iu$1&SmGjLL%jqu5IN!*)=$}){@s{OomwANAyq+>kwN-(u3PdvF zospw`Ev_u;kF7lh&1lTRJqFgvpLC23@c8`bE zX@RJcEM!vCzMr}`XCXQFjnvjSD2Ja(e{M0K{#&_Rpp5g4j5}GDb4ZrkNaj&GIWP0B zTiX&F3}mJ;4Y+Znvw`APXvYdLd+?p~E zJrjBLVdfCGfH7mIGt&mk?JZ>sut5V(PA&J?n?-+o&-f5zmURYjR5r zo0gIOR${*0OXPB6Wt^%q?om-r*8;NKx-yS?GOwP@^vj~3Jx7dYX1}sE+YH{wOl410 zUDTp9GnOA$soxf?-@O8-=P$0yVsflZsF?2=i%O_f+N)$3)Av3-*L~?g7P)BjsX5C^ zv&c42`)XR7F6)lcJExl%-!2B z3F;iqOfx+1lwSTfi_I}+q;|vrHmLE0VtW_s4^Qa^93Sy>f zyH;2_HDP8$V`I<67-qWFtMS&2jK%KW{B?)?{h6`tkgh#1=Vt?dU0t*Iqu$K$;ep;| zALIVu%9Gu1jJ(TY@_zs9pkHYgy(8RX!TNvX5cPumzFXydU&`f1$vE9b+)H<5ImKnU zg=8LYiM%=)|^dMr$#bEr}e9U3;$3KLxg|I9Xa1Xxm zXNio9{Xr?mBFn8L^T;Ff>dedy7lcN%E62=>M?Tm7K9`wC|J8E)@-@tKIe(E{?mL;u zbzjcu72C1c!diX)>Lr=6VZHZ?M}@ILBOa|>{cU?TDA)2w<#nI2f!{?`bnU-F4nw8C zshrP4E@zQ(+R3>2WI2Aa-0?DxD3Mp&Z<)FOv}cFznVI>Uwa3;T!|`zMh9~P!wPt4B zM2l~sL(KH$UoCz&o?xb&e{KFG+?U0M%>QEQl2y$3ZGjcV?~P%`u&Z6FwOPoF4ffu< zuyUjv4v_vDa=vJ}+;JHvR>oZ}%L$R?=9hVBWL_nhdHSy%7mw)1%(ohNe|I+rv*h}+ zaKqv|nfZA8Ut7B^WMxO~UL zEQR)3x8`oZEOqX*`Fr>&W~u$|$8+{pW|qPix|;7}J-`2I+|YTYnK|xc{w^EJGjr8L zU7JrXjP3K5Z{LHRm}&3s*ri9#%i#^_ZzkrObW1MRRK}?&FZY)tn;iBvn=@Q*_BF5m}RE5#95cEayVc5SIPNi$>rV^aW0&ZagDN^ zoU+`NG7k)uyhcH1&!k=N4`h~rpvXo|q06$^+jVka{>Q(#-0`@_27B&*=8f~+;Epx+ zj`mDogWI34d1UHPHrRV|w-rTtvB7UwSsB$nk`1o%-46}6d?|<5rT;TI-)y;@R>om6 zZh$NY_u-UsYsx$(%e)408z23{poMyFZ2RlTIhP-xUw77)Jd-qB*W;%uUsPPhLt}Sb z7*u}&@6p{fD(U)t9&}~v7c)YFc-vZ|?~JLmgL{`bbF=HlpLkWDZ!1mPG=?d|&Bd7T zKV@RR!%QrvV;6L}5b`UB6d9BkH@8`li$Uao3iuHP0^ zGVW|guIu+@YnNn-zhPM>=3CFiay^+6C)WZd;#Os%oSRIPi{qq{M*tIf)#iOl zPOR8zoJO{$6hLI;<}SvT224ln-93_Z@iqp81K_< zPLWbS6y+g>UmRXD?i1c6X(>3%6pt ze~0RWYJK#WhxV>NG^l@b-pkYH-Gu|T@@|{=91kvamIuE7_vyy<`tdfEX8qVLt}FNY z{pgCZ-|XjAHV*miyPpd)Wq2ePQ~Y~(GBIBg6U%+VM4W<5#KrwrrJNZ|lsklpJQ!2* z^4Y?@;&N4**J&Z|I%aLdpS7!buj-46RL1jLy}TNAXseIrA@7Cg2aE{f!T+3ESsZJ{_r6dxhBxin2szGw|vhOzo|D9^Q~lJxnWF+ zqfcZaZXG7dS;&-fJx?-`#}`b=t79Oqzx~oGpButZd zo}9;&;hD}%@w;tc%6y|IFtJ<^Q{p_<<2fpd+nI@SMlhw^i*=cj$Cc+y$!mLlu8FI$ zFwY?m-ZHlD(ou!Oc}Ji5vx~Rw$GbFaH?%&x!aGM)=$^lxiFY^@6Lo*?4BqC459T(z z)s_3Te|Wccq$l_6<8sUTn+q@d-jvm+O|DECn(=%j`H%Nx%6$5*Of1))DRJi1XCiJ6 zCd%<kq1yubq##T5>I}Wra<=UFk0m7b(7r zw_9J*M>nh+514vo;2#0r-2bPZ>~dgv?%k(vyB1+TbN9;p%v|zf8P<$qivJf4Q|8O-#+2pWE6GHhXr{#VZpuVCEtyj8 z{H{#Nqfs$GC9hI1{QjO}d$;NM7yPZjq&YczwB!wrCY1IsvYC6e)12|Fzlpc#zkE;6 zpjEs@N8`QStR!#dI(Nvn_ik~|ab>#B`71B4?PJbc{p}sR=qKCRxLe;bWqAI3rue-k zFlD|!yD(+B=|h-^Q-LXQ1HWZTISslprQE_UOv$5&@8jjcIv54`)7d+u|aJ|JIy-r!re8E1x` z=G9#qd$bBT%nOtlce>(>iA)*(Q-dk~u8){9U;JXGESLK<6LCf}C2qZ`Oex22F;mKI zHF~#_#|>AmV=(l743ah@sIq1>gHTU9|@D3VCZ5{61tfFPG!D=iAQv^Wy#5zUS7w*zQMPy59W#-5Gw$aPthN z_yZd=WxgYcOj)jd6{f@))SfAEpN4UzoPB$^Qtky8uH-S}JXi8+vxk)$<`w$zT^CmU z(=RsOEpeAs9dly8|LkI{WaZ807yFF%yV{2k}VdGJG}eP{Ovw|yXz)DWjG^-DgKq`m@?nO1g0!k@;#=+ndH7(iF?nL zE9Ll(=1RG9HC)M~u$e1){Xh23Jf5oW`~OtZoF-I4ibg_)M%$6ONn{q6%$cXmu3Ls= zyhVRWc%3epB50Ps_t=a~8Cm##`9}#d!CGOK*wJ`0@JqS-W_R7nJ10J`@LM4QqG~OH zJIh5tEcSHIy9-Sqa@BO|<9vQ)>!7XUEk8Qz{E1f4X9%0Wz$a|o0Ulxd_)R*0bo?bn zfz=JI0@kM_9$4RwWCF)kMI>(gdY@@qMJ8vb9@^`hNfcJ9zi?QRMJ8@Bn(bOD zN=7IIKQ;7?)9IMLDqj6aUuCPL%e|1nqLn}1D<+AziB^6)8Y;iXJHGNotM1y9&T%?_ z;;B5M!{+k~blAFUlXd>|1-%xnWOYLM!0M**f%Pe_0@jzIf9J9s62Nj<@yMVt-+Er9 z@X5sLhssYj6cE|bt0o58#}O&v$J%Afo5-+&H9XPLe4QU%mwES|_vxJe@NSyVl;4%j zwZGolNr+Uw`c=_CuS&G?&I%jbmXo47f8yKg0Xl3xM_1=ho$UvH<)6NQ<06%;PGc3Y zx?|&k^)cfC>uc2qEJt!Yuw0SxI=?bTNv_rxArdosI~Bcj$*4iI#*dcflc71T?US{t zNWY8cjv2UA>2!t;_^~*Kuk$K!#uK+4B087TZmiyX`&Xs={blB@eWsP!t(#=3FZ|Z| z6K`F0*ZGq#6M0$rr!Lj3uafO6;8(IbWqW|tHR=P_$B15Me|*KOfaM6`RkB=KB9Lrs z#prH`0Dj>Rj~|`aAx`~H@(o1>V(y9S7PLKq7^%Uf@m8%6opZ8(-H|GY)=3hZsow?B zqL(-HWXy-CCp^i^A9Eq<>d8rax61w(*?b<>>0sX*)Va**T1%nNC-l`vj+@984@q-_ z>WX$(fuJ#>r1V7<@WWoEw``%Gn^~=TVLoCd#2P={Z`FMSVs?K`4R&aQn3+P0#Qv5L z{iHu>%t)u73wCua%L{<$%-U9eD;12&m=DFeE!by_I-gPZHu_ki?;zy3gj_cvA=CKu zalPTN;apd)?(gpqFGx_6{}K;;-o^gOC&VExZmW0oeMN{pIJ(`xH4$Q^`_)yq@F1r2 z(9f=Xd58%&d@gZs6~x#TDJWdG!)Sx~M;zZ>>Lm2(M zGOaJP*q}ee8Y+D-7##$$Q_|)ZozlQaFdxj->3_w(D%3fFx~}MR_OCC;VT4?&up#-H z^5ngPVMDd$gVwdWAULx9&g#!gAU;o_ym`h>;6K!o)?Dxg_$zgV?biz-?xoaKldsbt zjyLPl^w0>18@V%BqN@>N-(9vH6}krFD$E1ct-(G8)X78Ld+4(reODpJO5_?2f^Y6O zhA5Q5hQ!kfBQ|w_;EkTXkN0>Gh&Af|K2ibkCg-Eoj^77<#naP|o)-h(Hb-K=tO@YP z`l<(xy#R6bPeTt)p9gWp_fN0TG{m?V^U7Fv6#H~gXCLZbN1rnEorD};kn0=>GUtz# zcx?q6Ofq(bu6hZA?(5Stf5d}e<;mdOT?Zh(IMB!cR0hP$ZJ1PVQ4jocy$4@}X#hWH zXR+Ym9N-%m>WzD|8u)VzC$v^&V5FY|vw1zNlfgb&)VYYdQRuS+ed+nfa=b?_JvzTo z#H{%VY#8I>^+xv)2ztI46h5NY5&zub7uhEv{&B4B7oX+}RsQcnSAJ$iZ9Q1zohpVL-1Y=WH z_4zLZ!DW@5-AN1xS}$bTZK0oMpY&?aq5t0@SpA`UDE*#6{MYmOla8%`_}v|r$s#i$ zo+ml<>aq@q*Q|^Tm3jp6^3@4xFGDcKW4;dS&ar(-eLbiniMpfz^I?7GAcq2S4F$nS zFQ08IDCf}%rB;m`5Ioy|s%?TA2+Ds3eNZX~K}hw7r8^#hV9NM4rj6zh|JYi8-^Ety zmwabX$ZCiW7v8h)rrd7hv+O(Qee6$cr|Zq;)v=DQAKORQh1HQoU3wf@pGeMkd>eA` zkgFI3T6E~nAP}V5pE>bV1Oz7Oo6gRm&s7Ww zfftAA^A-;excg^CL;UF%n@=~>>u8^K>Zn+Hp8kn3U6_x+Iw$O_M;(7o_X%AW)<+wC z>AL>mh`)tg^mr=tzVQ5P1%mD3-wz!;1A^;<-8V0bgW%HI)#uCFL9na;h*urg5b*Vq#!*-5R~j_ zY}cy+fnd**Rs}k?5q!Bd_AvE(%Y1Qf7A2Q{_byo(S9H>I+3C{f$}b1R&kSl|A~$6_c8Cm z)rrvSmF=rW9b43;^Q@06`UWD0CdU;(Io+=;S-6aH?b@bNKA2ul)%UxM*3kFiy3yZO zo&5}gs$Cajw$l4$$&rwAOU{E}%YawMb-h6l`}t0*xI75_w{2P$K#!Zp)*WA$F2!hs z`An{EAnj-SCHFj_?3OU_x$q+8+M=`W^02iaNcWiI zxtenPiI#L7*}Nmxd14Ajcr&qSr~zp*t29^gKB+pO>6-2n5%( z4Py-HeeeG5QNx_*_50w%=?~lJ@w+oCa;W73dcMfmndP`spW5;9hTrLNa$q|5h0yz$ z*~Lw!=@>0AZ;Ev-*hkMhR!0tXkD?FlXMHathYNDi^*yK=*gS-;?*-e+oi@ioaQn&2 z)raYI{H(y=CFD5>UMtpldeZawwSV}{JE3PwR=r^~C_T4*w zPvoX77jL}AJY8S5?tgvis3SmKdYoAwdOowh3CKa~SuVORr+#`3^rAX7rbFN98H3>A zjl8d-=RxpZ?0!a!8VG)@y0>k)G<|>M8HZHtrBUS432n;%^RhO7$3XgiIBCAwPWrmP z+_`<;j`Ff`9p)(~TPK5k+fipH>YAVrJ&#ylx=t*I9dhmZ-}gZN#eXaCZw3CXz`qsv zw*voG;NJ@TTY-No@NWhFt-$~F3NRjnj_WB};!W#wEP_sC(K zjCnd{>&|k013FP>0_wg)pAPixha5YQtDAAtPdcnUzl(9US0CwEXvjDSC;E8&2xDx2 zD_2ifdCk~pM+MH_WWrbv{Px3dUOQu@CYo;4YsOgaRy(@5Z5Ly?fBRD zg&!Cx2b=H3x;@xufI5_m)pbLkcj)W&mxJY6(2rTWad@<)N+#pnK0H%#e-Gn$LFIw0 zWCLTL4LkGB)-kqwwjD}{p2yf2t=K7Vu!pg>+U~A!;W%S;a>C>fx34l*OJ!cz7Y#VR)kl z8){TuXVwg-Uun<1z}R&*v~AzHkg<)|AD=n*H)9i-lx+H|gR#C`A*Q_2im|qQ9o97G zA!9A)=~3^r5~B^~A7GsU_I*a3kEpAUKBeeeg&aM|mBcugJUTPbn{q?W=X-C?GrY*E z-{twOXX6#DxmVWh(XKc6WrMC4iU~C>a6fPOPfwAF9J8ZtR zfU!|*X;dq_hOq+k3Rp*vBiomQIv%Jy4SjB-uRn5JMXno+^Q;j&VAd_hdDG0F6Q1p1 zc&8gzHcO9UoYWM5iBEaJtRctsEyfry_Em>|!L)G3t~lE1XystWwz*XQcruM{FDj~R z`!lvPjOOdyzlgDv%iDBvbxCx+{`6IJpw3#2qefdt^6J|}`(zsKz*D(&+PZ|T;-5C3O1rhh# zA29aT)2>RNa$)Qz$Uc#N>VYvD^A=dQ8~bLWjtuG^K_3b9?c+EUe*fj-MW?(7n>LvRoLa)DmCb2YQ}3uUUJ!#h+QT?(@{X{yvODsh?`0 zJdKMh?jDgF%Q*BqoRV@O1LHBwOJUta?3;l)ik$BIPW16aUwWToIrt3ArSy&A`INkU zU_uyPXZPl>D$xw@;}4tna|SZJ)XIhXLnbi1!Grz27ffQDhA&rLad|7_IA?9tY{3|2 zO=8^H{u@s-Ya|y{F7eY~9G(YV?H(b9Q4aI+SZBud#aEz?D(VhKpGlmr3cY`@98SnJ zn&ElTXC?MsV0dpGeYG{jnDPo@qrxW`EbqhJ4f*#Jd z`Yv)9B3ClQ3mDnoqJM*FA zhCWoE^`+~?a?o}9!}aD4!;3jI>CG-$|EyD6_mv#O``$Hr&NKRY9xkqH@YP{>InVF( z-L_(QOKamZVmC58u^Bsdy&AwcZ98{B|C1EsWE>)8J&PVUdG!ljdIF55n0M#uKDKjx z%~Y4wq30K?I}3fJ(f2vW(M-=vmTNr2%e305N{DkhT{Td9f$5AO}#9D^enzZ_W zE`1&6%I;1Uqx!L1uk4zw%VRhP2mqymd2Yu=L2+Oe&xy%_}MT=(HZdZo)dGh|+r_bs2-E`w*{W2Og zpJ|;Q%kX}Pjt}0oh#rSMp{k?DFuXH44rM{~K9pM{t@>sG!`s*}RIuEZ;YGZA>!g#7 zF$?o{ST_Xw3Q&h$cdV`q=X2^4`VK{o!^lNBAB1H+RHo-a&%2Yp&*$8FLolnJFkiLNk?25XTD)ynC~k3_f5+XBk^rCE-RH7xQB7xU|MrjdkW(m9dQ4f z68*b3e6mIV#w{36V?G<}mSA5Z>QEk5Hv)aAKkG}+BbLJ*xz_9cfBu03rj|owBsv|y z_Q6?!%z>Z(D+B#O*Ln*h|JyH){Y%U@%!IA zVf+8eix5`-a^By0&j0WJX@uh|_&d+>JN_MWuTS^yn0x)&f5+T9IsYBA>vfRsH?_E~ zXJq(8aJ_Qvo1C8ntoCoQjq>^pX5zLnU(%j~iM8A9QdMbK(%h7|C~qFRI=`+S98^d0y_kdD5G1 zNxEP4pYg%_gqxQnTzxv>`sE0#H}yT?^nD2D=Rwe)a9pN@OahR^!pfMzcd>pEnvm|J8=)2$ATfz*f$~W5iAzj zX=3)W5oYh!7kh2xQtoDK|1#9^6k*2}?S!3gDkogM6=C~d9wnTf8sYS<2d3lXbEcdY7CZ1lcNZ7ITSi;T+wh^{o zs*G^`nS|3jNjUwJg!7}{CuaTS3CER3I4(W}TCA8phwdK}5|wlKLuV8CZ1TC=s=Nz4 z)C>Z4xNiZMgU?)RWlLa9reEJc$5ybq&_2%~K?BUv+TU8|9S4H~rShp?w}IxGZx-JU z%a?ogbUE<1ogwV_P%>fXzcdoA-ifgN8$S_F?=<1`cM#4mm2m!h3CC4MIIedPJmOQ+ zQ->l5Q*qY+8h;V|KltbD+#d;ufJ_^td{{Y<&9)U|z)`zH`~tVXXBc3z2a^_hh2e_lm6y%56b zM-$GkjDCOfkAFDfxQYqKbrnLgggMU?ufzHh@0Ja7pF?2q-o(ARJHU5jcCYE62JpC| z?901&AJz`e(~eNN3u~gU_n3%zgQf6?Xpa0RSf=0EcB8Qv7IxQf+7|w(+~0cNwaH)9 z2|HddN!aA}{4*r`1=3KtN47^2sBs`UNfNT53O4s?7z%x>}yc9|I9c*SEZYgYlmA1Xd ze%jIf?ML2pd+F_6?tieX<4SWaVaJ~P2|I7Qig5Megzb-LA)HoUt!f`k&(~W4+h=eQc8}=Q_KDP*@B(iLBfucObI(5Rz$dZ z`aMLpe-2^w*3tb6SpB(#^UEWgzXsvBz7UQ}7s6%6)yyv$2vKu$pJ`vTgOKmvCVpS) z0)a0_K2A7V1-?&Q_L^#>f~Rqs*2;OGVC}%u^l9*o;4pfA*h%XEFppK;(%cjZdJY>t zHeW0(Uw0|_+Kvk~gdNx1CfvLP;p#;Q*T0l-dR2te4)!?xU;?lI|vuv|rNl{wEv2&&6o-R?#P1joyc3k#@aPzW+t#9lgT)zh4^a$bf z4-w9fPdI-U!f_2C92ecM>#aB0Qbiy}Od_{a^E8B2=sDD$;?w=oo;^)co&W&}OYQiJ zKEt{RCblUm3&73!KhiVX1u!P6p0HzH zHsR*i6RzHjaQ$@uY*ud=;q;#q&QF|h{sDyJnngISy%2d~)w{z*E%f|{`2`cse+S{X?huYE zAENwnKi$}82C-WMZjV2i2jPq3lJ-|OLgGs>e=u>eTf!U>@bIbq zzSUp{I0t2Hs2=zltfwA3t9!`~j7B}UGPb0++@);v_*}`?gd2|_?0jtp;pz_%uHS{Q zdMZ~5r=LMMzi7hwR}+qFKH<3d5Ix0MsaW3*;#Mk)`l!u^@Q+=p=5bXJdb(=q!sBHS z6nlJkgOVBe?dd*0-bNKX9TN7vI`<1)lndsbiwgmpsnv%{Rdm33T+L~%w7cbYe#@UI z@9QSqSc9`Uh#{(`Vyj|0|;=R@#OpY!WoA3}g*-RxqI4d6YQ zTvlKtU~TH*u<2)ez^;G)-!n|Lz@+Q)?T#=(xzopz)wUJe2|Et`PS|;quY{{_AZ)*G z3*q$K2&aF7aDL&0^KT#=mptLP3L#c)ocWrCQoui*=|5ciE=0CJwp{uw5Z3Qm6m{*u zG6*r$k=tMN6arrHp9X9x0`DG^2!p4Kz*S?k)a3ETPg4rcXmc)@P=c^X_UX z(jN~X+*qD)^QDBVcOzUs-Cu~++eA41vxM`LC!D`NVYwE(BODjqU+r~>isXy05I)`9}21#_k(d;|@paWbVdYw^?L{Tzp=fxW@`HU|Hc-*nf{AY z{~NROdjE~te)Ipvtp2C}#;iZ@@7Rdt`)^-rj{ouBdG7Uj{vC6#KmPBSTc`i@x%H|9 z$Ea6>wC3f3`_nX`sO$!?i%QvKaV7?Adb7VIfBghDvR_3Lw<&^kc0An{$5O zhNAy2s7PV1OJ0dT=%8Y_itf;y>&K@uy($h+K?kI;1V7GvAv@iT>3wr z-}?MMIG-H&Y|G;gaE|aB?YveUoGm^|u3Am=IcMF^30vWjTchV^;5C3)Ll(|ufLE!A5T z3ISEiCa3&#hX64!7(K@o{H4#m$SJ4+zaZP1ZM!ysZ=d%S4f;Jc-&6kDIcjR)oAhzJ z%~2`3zi%aP!8auw&&2tqSl@>Idr|K<>PMqr82YCn*9zq7h47&-kE#lLAxiH?|MaY( z5c+snjGciugap5AO&PZxg3~K%iKGq$b&juJqV$>W%bQlLxo|E7>E@VsF)tx#7>#hue@VS$h4)Cjo^)sM(&Y}en78tQ&bP*3i+Xdmb&)tI1 zEn7V%T&sXkn;8|VE2+MwAn?L632^hz8dQvVE=2>OGJHZ^lL+Zy00k9 z)qq@O5O>zi?a<4O5I^Ukk5tNDh{-aGK5U=^Q9sLV#S)Al^6n)2;PLtn61+(b>s|IT(j&R5EBAlPg)t?-O{fANS z7V3XSKR5JWi(Ey>bpqnc_ZNEzchTpe6Z>aBRRjLXHDA|H6hK_Hf##->E)ctMNVvrj z9f;Yk4U9{pk0gSpO}^MW0(|x#)hEx%+R7%nyQ%rBmWnztiXJb1iQjeJcX- zm#oD1C3{1>>`LiJF;{`V%WTPJb^5(Eo#=B>ZD%0vi%pw&wGiUAZ0r59PZZ)D?aJQz z*+bm2+}C#Bm2ez}^Riff9Q*&LNB8+;^`E03AN|K5*GA-0f`kz5a;f`MATdJfh0L0I z*cdzT$eaQDVZ*_9o*Uc1Scrb=kP;HPHE}pf?(J^eu!lX#8)+xZ7se7@oD4T zO%hf?y#I)rS5F7h?-6P4P|!BQu_VqrVm*B>pY6{>y_2Y)j(#%eUxr-j$n_MGmZvWA zO45R4y5mcwTrMQ?x~6KvCrC(__K&TXfQ?VvPJA0X8aA$2@cC-OC)n_!pkzbZY1oif zzgtC{e&5luYP9i@7TBOU=IK@QHrO!JHbXFEDvrBxz60wQWB(;iFL4O!tDv7E=U*j) zT>8kh2R13ChmJbB9a09tE~(RdAzAO#Pk-HRND6Ft1P8ZOxdyL?XV6=5ZPOse>oO5c1{^O`n@WSQ*piv>tA8N5cO(N zzX<&lIDcj+aup)iK}hNA7`(_m4>mv8b8q3bk&rUw)R;T3Q(=?k+|-3+2qf>WemUYu z1|$z!_Uuf=Pe{tBUDLey1|(^UsLVGy1c~3rt&1;phs1i7wV!L~>$xNz{_D0Kjc=z;%4Snh-Y6Gds}x zNgPrHBYR6c&0*8q_spi%;;_kQaLjEHRoFCQ!pd{q$07N~3Gdb)E|6R_-`~(C6OwaN z+~3&K?_aayT%32q`WozChI+G6KLGvY(7y<|q>)Pv(o0YD@BAVS8IkpCH17<6v^R>Y z4DKI*w25}N3MM{)RM$r3Cr{tO=Bw`)+BrDDX48UKTMwx~N}Hw3t1~|#rC99trfLyL ziL>tP{n!sug2=!TKLt1*g7Y;0r~d2!>^DQbSWf@hK=k{B{^yZP9=XIJ(`1#N^_9br zc`)uu&H43^ae2x0Puu$-y?29_Y~)l(H&#|rD;))CCG(v0mo0&`S$20y+ulLyH6Oz+ zvs;k5v1(rbswzlznB!iu;0~m&xH`7o+x@>WJ70tKkGTH#Ls5^1`g71vhx5-Jg87=q#nNw?yy?Sf_nIpg5tNzjpnS)0q2Ya8waSzTLVtohp zKSI4q)GtRrdGud|Trz*TvZdcVoRuC4*Sf51p1S{SP%mWlpLwjT^(bWaXchOHG57EI z?>t+74f|zLZw=~)qu&Jdp9vfn|9@P>zob_|J@`CX8Kavm>v5YH_)YtGt+$2fG9`i= zWG`6&JH|;BXAtf2M*DvGrx1<3yN+C{8b;Lnte@u84j^hhsSCE6L=ZLpqwIxi7htr+ zJYb!G>w^;1`NioTIF3FS(DxH^yg;sdgs&qLJ##@1S?4lh;d~fJc)T`w<05fl^Ir1U zvk&jdYKyt$U+uS&RWaT7EN6O>l^UOpU9uQTmYu1aXEJ0eS*p_h6$(v>X~@_ebzoadf9lEdZA6*9(&gbJ`^c{yBvpKGXBM5)bC4Ga+JQC(yQk!V;lC0~K z`8N7?J8=`4tSddBlQ_${*59uiL)N$kT)Hw{o7ic1>RD~RL2P6~U)aslCRPsyY`QHv zo>jq?#3!TH`9gdDxdMgN~Be3sm}H$zDzeChhM zHH8Fg5F%rFj`*t7nDj<1As!#E<({tdC9XMRR>xnLATG`svM<(tCcO4BPZsH)CA?u@ zcNzrUBTjmsgIeO=aFH*C`EIOx!1cM#Kpl6~J&!)l=v#*z=aFk7;VX+jiVO88F#~wd zjYVFO^&;}GpM7&6L3-007PtzC->Oh2-LqoETdy(yjqMZSkuvCIhR%B8R`F%Tt;sdS zwa|w*Zd4#~m5q6IZpc`SlQEx*bziWrjMK5B`vJ4ME72zpefb=R=t$&>B5`*@N*-Lw zC9%pUtXE83Mk4krY?%6HBndUWF;}a+CBc4ftR(3nGFbXkmi*?(%J`;6LXObzWYdN0tX%k0ZUF7gVu9GCr zy(m>_k}-*`O;HS(p-iGe?Tt^Bdy)00w;C=8UPMBKN%x;T6C**34n5zKP)h=`b7j-Z zq>10_TUM0=QiyL%rdVy`F5*)k_F4WA-4~mUbe~r?e-rC&VV@@Id_rAi^oc=VA#$ul zE_)Iu8!9-_*FoY&Eh+!#7e%5^&kc7ueV#;Y8zpRg-$TO6R?9|5#gh>KF`XNyw2`1n zmoK$nN07j*qZtFVr;~vDwNAz{KmsDFaxFCJKAUW$`--yp7g%SEebYIesr3KTS>3~& z&xa-G`w%&VEZ0eqaU}NJv|I5-?@8POb6N9S2_#17P_OXd35gmpr0mr58WNs3^4^Ww zL-e`|S>2Sjo`hTo5m@jmNpOaW%6TpNxzZhR%{LKWNKo*qLk}){VBEmvBPFrU4Er9T zPAcj?<$PWYM&Iwqk@J@;wz(qkUcgimw|bbi^Mcj%{|hZX`R28gX!Un;5^YCFr1-t1 z;g=&xxRjbr#;5QOmTs-1))ocOt!o&cV}2sm zC1Rg3>J*}G1?M9-7=0CxqYb%+lh_~6vdD|;Brdi-Tk=r|i5n1_*KQU~Vj2`0nyX7m zw7p-l-smn8*&t14C9qQPk?kDu2>%{tALXH~bG9+<6a}AbnO(b!TTzI#0=>6vL(B)e! z#7JC_;+n(TV@d3_yY2fSp2QB-IWulw5{a?yXsil~A<>tX{C=;iK%yOgtDT&-n?%p7 zjnFuifH4&Fwpce5`*xsC9_nsJpD^?tg&aZ1Wk=%j4;9;fcue>r;$Ee4N`yar{lvV& zN)q=v+{-)S5Qz)*JTODOmBfBrb>kV`Pc+v3qIUG0i6rLR!AzYOwj^fX2wzv9ED{qA z%SZO#i7^=S&RD08eX~(#IO@{l#ro9z_2oF`BG*|Gcl%UeXyY})ANQi@$&yWkKPOPu zz}c7ZXBL-F^=_hleM%Wtxg_rLkID_0zrFq%1IfOr3yU}cNE#aG=(z^G$ zn(*Butdfdv628mbX1QI?gl{(Pg3#*~;cLjG6&Y?Ie931a!#jIuf1F3|$}4mo?Ctic z%X3k!3-f2Ot`GaxqfRC2E<~S4=v#*z^gLv_6bOIRjE0oe!*O^mWyi%KkaJK6fXhc3%(@q z=ziB+9EN$?&(=9&ALV0pcB1Y9^od4adYoB~hsdQ%_@k2rF3m#;UoToq>iinQ&!4zZ z{B%6wcZ`1i?Tj0VSJX>O?RiJy7vvbVIL;&S+Fgz6&tgdY^hZ-H?S_$f>HZ^PhbYs} zed02<#G7Mu#XP|}N$hjxbk_8s?iuvaMqfMRa6>LJ*mz&GYnjwmi1xJUKXgqgeO_So zi}jC&Ltwy&=C$<#Shs^d?W4OI+`=dEemtSS*F3T|s(E`kSgm;IFzJmKm>Tu8{oMH- z)Ep{o58M?cY`nRTu=(6B!q&acCtRN|VRag72&bz}IG+UioB-=fIF53{aTP%5%a>M* zE8-x!?t6@J-g*eFf0Aa~OrL8C-MzoBuol)GT=X`7vJto?Jlqxq7l9{}l(8j00Ib%U zKhs$C08CxZ$;yrM1vP(@CCSSt5H=dO6E;6)8{z8czc1Ln<%H82OE_H zIARIMl>%OK$M0?`m4vXe{5VzT5fE~2XZ&}+Y6!U2JKW>^3-IndKcn99EVxOoi#ib- z4NgakCV*KaSdFwEp4~JOOa~npUS3)NYFatlPhUMk*jRg%u=!Ir2wO+*LtLLDVRd2- z5>B_8a6TP`^F2cU?)t+qif~*~;OIMPUeu?B5b*7|&3?@g2>fCivR1_g{3lLM2x?jj zUSVH#}y`>h6(g@Sn#jn{+fsV^p}YUPBD%Grd? z8+H)3PPB}0eHMh%8BaLfK*IU#Ae`?)!g0hBj%x~-zr3D4wTu3K{o!N$Syis!8?<)u zC7Z9XF4pJC@KHCw!`#2vP+l5b>Q=n6?MeWL3kxj^j%}pBXWl+JOpMnR9h>!p)9oOf&ql)e z(%-9LIa~?H#lWJTiZdH_5U|;{xwk%@ex7$vspXi(Z&*8Zn8l8HXTTX;OQPkRz)|t{ z2Jij!_f@Y;Ml8y;gH>a;8tLcG1^taFpXceS!Yl{xfu|Zr5jNi0McBNKKVj>(KO|h= z8p7)A+fO)MU&8s^B%E&q;W$PUmTNm7R1a-fe(d0JFw08Vx;`us?7Y6OepWaZ9POSR z;`uzkx!q$twgsc#bbotR1YGv|$|TA3;fdTzneyFbOj^a4dGsm)o0 zjr=9`aX1l_8 zTaWgylm_!!w?d7VW?-$gS#)jpBCx*n(0Z0(Gg#(7Smy9p6;?goJI`U*WiWO1@m_sV z5_G5B2wK@-4vME8e`OW@B5d4IP1yW{U4*TxF(O=FAz^hMIuTaaNR@Ct8ie(2dPG=` zibsUy`XpcZd%2B#maYhBhcDP!uh;}8Bk%g?wI_pFw<39$c?!&fN@JtLp2Mn$FT?ia zeS+o3%e-9$^mmHa{0=>8ITaQjF7scwGz}C=y9Qssl~34MwSlmC(_MtETkTHRzW4!z z)!8|OaJrue=kthgzS{}QF;!lN<(kw-#I|=P=;rrTuZehR$qQN+xYz7G45IpJ!y)4X4k)20iUR`qWdNQ+%~7I;5S=Ud|Oky2hF zFnju|U>UnUSoFEiW&fq4uw>MB@t+fpgZ>KMNNJm7x-YoW(j`sHU~yvFfdakK3?OWuyLZ4Em;W(yyN^(;~9JSc!EUE7XJzA}RuZnMqvSDb)p z7d->%#-t#>WyX`bjc-Bxa9o78|8By@l@5f>Z$3=ey7a4r?b97aSe<**39DNb51bD@ zum1Qt?*W#>^d+!dwYo&H=HUFrGSx)G>2`yI|8b(8-)r&hmo8B{`)!O)Vig%Qw6*SH z6y5i_eQ|#2Te@#~*K~{gxw;@XxXxZ9r2r(qS{3K*R0WaClg#Ev^9UPVlnI+J2`6k_ zz#YQ&4d)Y9=gMASb$$AP^N|PE_vcGsIo9!j<(lA3re^6q>68^A8d)*R7c}sR#`b2C z>2ZfBAC6xlcb!M~1CO)*8eFaO;fQZiqlO3!9^5c!thp$R9xz|_gCW3hqn9F!9__CD zK2`464@J;ntn{H0%poI*3n(FL^onnKr-j z)+Q;w<2+Fi8NXCeHH%-_cdO-hv3Xo&YqV2xz>+u}Hma}FVe=+(gsqcp()rV8?erU1 zo$&%-b%z!J>r*cWtnUvqU^%+YfaRLRBQn#!Xh*j5iK>Ej=!zA(L@o8bcdz{_GTZT9 z`eYeVqOd1&%#6LdWQ@(-9)rhxoo;#CN4MKWD=*AgS*0h9+Q>oa9Cu)a3(z;Z0B0+#Ew2pP9q zv3;vyJW)~@G}^FV6;XPlmG>y5iA>R5@b1xl-K!EQh!Vuv|+-V7qANIhF*H{RI_Qk}(oBoh-MRngD=XhbG#?z$kj~t_rO90yp7G=i8($8;Nt>Q);qw@(Gy80g-AtU6*xy9e? zA>GTmQiMJ?mR7T(ZPWFOkhUUpcI}7=U?8 ztZTu(PSp8`y3f&PGx`P~M<($8R+gNWXFZ`}jTd^T5S3@~$=oL)w$~zJnf?LE3JevEuuEAuaxUMWss@#$L?F zW8EX{%RrrO)Q#hOGDOh#B66HWt`gYdd$MqshYDnWu{pkA^CJ+hXc8C57D1M5>2puZ z4UoBZ!wOv+XUMoCeA_ss0y3s~9{&8&fPRi^G3Bbmen|II{5sOm57L*u2r`T^!sv+k zOsxA~p9kuEMBOO#*@C|3k)s2-7|7mQpg6Kt6teGxSy*?i1YyP1pR*j7)6ek?FL)Ts zL1ybJ{qa-WA=5>x%g@RbG6&3=aks}7GLpT%hLn{<#=NlPmJbq;G3rA{PwCeGBAZvh zy64zO&mUID0d+&rXD<4>BZn7qjfZTJC1(}4G|+MQqm7k~AnZICIRAwk2&IBfd>SGL zSq`fMchY@lGwV$if|V9Srf;EvMw|&`PJdsd%bN)qzg!#jHF_YUemAc`^b*F4TwYTK z>lo~FMIHKiD65-~KAPwofgByk)da$wD=j|UI0f0(KTAKWJ%#L{%LXprCkI03eU&LX z{UPgoNWT}8(jjZEdF`NIlOXe!bETEUY{*PUyDE}{AjM? zKNf@oPMg=xk%6qF0F{aSv5=*>>a@`^dc2=!o_a4emfjDBPLuZD2$?%>-?%*@2V*hj z^RaFU_JyI&WYkqhAIio0Uf?){63C?tLiK6o#*7qQ-=$`833Ohp`S{1u(;z&l)E>Tw z9`D6xxkJX+9CN6ViD$-ordy zH@1$>vwi8Pa~pMy(I)|Yry<8ND>u6()~eLzGBe9{f9vK$!yWpFg_U!_X%heRYu|hvSl>=b@|;sWx5)!XqyC&riDx!dHjG2JWZp_+XL! z$UP!rtI%`J&(!JBFQI~&6{^f`wQ)1H3cRtH(v?4AWpS_@fcZ!WV8xPp;B zZ@}hlv5r39!1kR)ofOo4i9VL-OSxE%E66nugtP8S4>~#mg!@nEdYaPf_K9Oq*`A3Y zd^CFTt!lddC-Txo&d~LXZkVKILD$nbVad!P^f`)2T3Ju_`9N0RNXsRY=ylV6uA{Gb z0>)987sEPwzhe6qpbmZgtnRP>d|2P9$U%Aja2@FZAu<27sh5Co-z(pWYhCp9T)+N% z;cE~+KDgM`bsPvQJGy2Ls|I0?X7_UXz9ICH?B7D~%R*y^AK~{SKsZN!*g-9No-3&8 zsX9w@kw4$tE+-Ol#}(9K@NN5It9W2ae-ti9UobA#pjg}gm-`5 z4IJwM!e@#Hq-V9$@t2$80W@Fn?b-Jzx=uwCdQbGx`pmkY?fH=)jMv$IuE7k15posY z^#AF&NY8&ZzZmPR{_A6P4x+9AeLB$B2RV|E%N&H8cEzcfKBmvdtbFzUod{iL7q^Q? z^g-CY>Ar8@7d>2)^6QvK@;5W={S;rjPLcwFk~%|3b@3Ln#l7jJ=ZS91(h zZoo+E*?bY!wPD{K)R976dS0#m~^!#AC?t^eodTGLPy6#m?N984X^n9qV zkanZT05w)o_2nMm)~O}?VbjJAOAp+rwnpeG1#`i<>gp$fuFHzxeF-Veg+ zJ>td_>GM-;yny*#Sho=S=sL1G^t@$t3ptN6`13vHGd23LtxML)e?PPc*8TrYF$%Yq3hVV7ec4w&_4~)yk-lD*V>WWt{O@}q|Kh(D__qT8 zR^ZGo>?T`yoqs}xm|qLhn0-$5krjV?P zmM(O^LoP1G{70<&U!NxGJVjk=^daaw4LRN;*HtE1n4(ZM+>#0GmHzSY$#=%@VSP(d z@i%7O@iB|O9G%H{Rn9x9t7^x1x~`hrtfJ0%1b_W@T_c-uzg>3rqUdAB-Ls|Vlt>uk zu5FTbVEaUjvY6k1bsw?sAnNF%ZW8*e;Cv4Z;W(ZSLN0G6DC~fe=b~mN@RzT|RaXxt zK>paH4?|`!zO&>G^=Ut0){WT_t8q(-@!B0}#b`WcJac8MYF0`x9&dK8-Sym>@d#;u z;2R@!i?zcruYq-**r$Rz^!2m4tI+2+`f4Ia403&C0?%&vo*8Y%1m4_Y zKj4xy6R>G>((B_(7(eGoU0)MT#%EdbW#ywOjQ91IcdXi68Lu<%ZdVseGoC*U;}2aC zV?6n@D$Me_7*E6DM_Zq2VbtdG`9rWy7W)>XPB7{gp^qKtsFM>8dlcuIZlpRH;Rb_m$uGUw#C}yTAXJ zpzZaHSK@_mhr!{Dm#NylO&h0Tl*4=m)_upmR@AXU-6ZtUM&GB%u^YLRnSkeS-Q|l+ zn83BS0=8AyGXc%+%f337GXbJmL1R-kFn%Ty+S0>H7@ue27PFVUW7b`DSrEE8f?3z! z(Q(P{ql|Zg`uoJ3BaF9E$%cK4WB!Y5z6|RwVqYHW^r7x`^x2NS*N`IsxvZIhqDBQZ z|Km*H{Gx3?WQ>`B&($9utLUg7W1^NK`9zu@)anW^3$hy7H zF`o$>Z#*bJF@p){8V)^A+L(Z_jX!i|&t&|MoEtw+p@#7jJUP&((9QU!CAAM5J&y5d z=z706_B7+;q_xxE?g-;ERr=C~NiQ(|!2B(&yMleQIGrhDINd2C=(7}ke;`LXa?y1S zHTS=*`+y1T$0Xbz_JIlLDO_^b@FNqDcP{k(icThAe2$8}SR3Q7a&CrEO(o-JRx_b% z><7lT_;~lO)$xq4ww|iUn5m3UpX1e>$+8$3%$s6eD%Uq|1nM-PZV%_PawPh8A;(YT zy2=CuwuP-WTg(J}O}g;zqZ$*?H%h{@*?HPcVLyTSq6DWFh@UA;vOu*fO0qvxO35Z)hQ@vys6QFRZ`m+hc z_~-2uDHvxvv3k&CWRLeaXpHp7{KHo5Z`7G^VnV%x5oXPYtsE$@c;#nHN=3zLmrEQ zY$jlAcyyrUYsSB{gqW$`W&GV<@volU!uT&)b9NoKLyNU^za!J*(-!>+opUTvktKTyIFMs9w-I~M2o86eFTx=aZ-`T#~ zsIvui>AJ8!lhOAxa=b(?`hIrQ@|NP1cqZUmzXp|!^!Sb*c6i>;D(3&Scc$S~yfFta;LaB~2tl5t^xtr8H`i=Wg%y z*L6MD^Y(f7d$q26-D`cnpS{mMJ300`yrCz*PgT%jJlbyG(@7Xcug3#5ZSRVyzW&^i ze0n`NHJ=s|wPZYulhv$d((|!6Fx4$l4Wl~d>FdeXt-`(&s8f!*vgo6azLcNkh(|7Z z-tMSnuhOE|Yj4Ak>h{qLZ^FQRmCw2u-grIlr$+Y}-ax<4b+2_9k2m(E`>&5;JW5X< z8~wnY@i=UJs_!Q~-h|(`Ue8_2ctk#XUboL0BjsW9%doEQUmvS833cb9PZj!hBZnk% z&7$||MUOmht)a(Jxyj11h~Z5sYdWBIo8irfyfQuMBg2zF`0iCUeculcItzC98IP}< zM{n{^VmzAWIf@^q{xz$dEq9z`JnlYu45c*~>3L%F^gOe5OR#Sb>Rd-%`f~~EL-ko- z%E@wEK`v8zK2O+sIIduLV+*B9ejjFdbBEf$9D9}FE!kL9SXn{iz-cEgWiq_^_cJdI zwPJYFL^n!GNijT`dtIS(a~PhuL$L8DdjA|UA;8dzULR}>$2|38>yBdI0MuE8x)JC@ zIa%KZKrmTM{1lajOca%Fgv&9{FE7h`y2#&=btp$u>JiqP!`9x}X*&&CE_n#J%o z`3-vILieqg83%6nVR)tsnh$I1Fg$~<(|33MW_Y^NQyzXChj9evKVcpHd4%or=5)5v z*M-%ch(3+zD~udtkSmtqNlv$3AT*U8--LC|PwBtIE49LIKQ&=^?!6r+4Z|2-wDKU` zRf!C5Pw!W;+CL00zHV~v?q-G;aa$m{ujdw{Iy_Xs0haKT)ts2*5zVf zE9!KjZUFkw$ogs^$4TUxrX%|Q{vQrl)U~*uIAjYBo|3*|H-i3G1txP1)jb5J{c8jG zp73r8{{H!5 zggd^3{(bKFt@_v8dHOdOnmb?Nuz49TK3uUK+ztPvOsm-p8}ASD-F+||tW>NokH6Cg z784CNDjoj?CPGIvMl3!C`X8>ubg!`hom{8AZBrXyL4L-Ty$k5PWn0IwEwin)$LDT6 zR_RtkxV0PM_In6dUqQJ3>4ejZBAk8?Vg2q36V5-5a9o{)RpQ(T9Fd7^*EF={C?@&yjHJ(S+N7MY#GkgzK*(oZe%?=}#xzktgyXtQ zIIdsdmAHfW_}PPh0Poy*^NZk?=Y7WYZYwyenbw757=y#y!#=nB9>7M`7rGN&X2RO> zJ?G`?bink^fH}JY6F~2UX7skWMp%&YBcQ{fU0b?xv5TE{4&m0H2)AEJxcYFy^{Wt0 zZye$DD+%XkL^%Hr!f`nej_WG;NqrT`ei{XVZ@SK;4}Srk>95<&oPWahdtb|PmtBJ` z_a^m-oX-XO(l5{SR|SF1-JxTzw+6xLx8j-0nr4Bqap<@2vQt3ov-ecb{R!GKu~p$0 ztJDa$P9xmD4B_hK3D@sTI6Y6o>F+0;-&Ml-{~{b$G~u{jLBN=vi-8x8LGU9ZjXfG8 zz$d6=SiEBv@ch;Vr;8bYtL)}S!h=1*Nl&I`#WOLmlV7Z{BW4X)eN1Q%QHT% zI$jAnGS@aZ3x;beeExQS)^Jn8ttAP!e}{1OJi_&_B%GcI;q=`I=ch+F|7?O>gyW)f zY|l2DST48#q37%+-f2gIzo?6%ukRA@x<{Tavfd9K63+^&a*APV^81cQtABt);hf8E zRe!*yYLxD5ohe}6uDXL4r_+}Hz5d_zOTz7MCS3hQ!u5Y6 zoZd&m=@$~tkIoBa{Ru%X!f{1I@YkUG&wb?}teUq_Pvjf~=xO~_+N1zJFQ47IFex5* ztpfwv?RSCeapA?vVK2aG?x0s2K9_;*V&U2gUU^`t|9YUs)it0uqI=)lr4tvmmQR%G zl@lV|T8VJ`s|iP2`RyX;PdF}l!g0~_$XA3Ln?9K0{?T*6GS>**|eB1Y#Grq&!) z(ESVs8*UZUN~$bsiVmwg@koep>p2AX30Ln%xc;ex(`%>i7gnEee!YbAe@l>ya9ny2 zW_`6rI_M!pUy+lqJ_!K6ldXK1V*vP!PAI&UR|7nWWg5$$4}fh4g_|nr z-(NVS#q_>0yb0E&3N_gVj$pK_vhB(AIPKAkF6{j-D@3?;GQoYq)t3;iKY?(1LIm{* z=f@|UKYcEf<*Fqd7o9Vvu-RmN^hJpD){rgXABT{bs+Xg~?nA(9Q|$*U#KG4yf1l!k zYVc$X{HzKZz%@(eSJ!fJ*evsO^<8^aSYKf?D_bfFj593y%&c^^M^ClAzlS~-z^%;) zx1U0=o^btQgwv}fs87(3aQ;<<5P}s&?6A)W7TVuX97W* z)f&!SuHbj(_ll?42f)i(NBE4eBDlF49X_Vn0Zt*mmRv4a2^-GaoV(`!4pv6Ib}78$ zsjawCM7G^NlyK{C!tHkxu6`B4e!}S~5Y#7}pBv%)O$o>KlyF?fAi__~`uZ|^h^pGY z_TidI5H_Yp;yrzSWQWJ-OT`n^!T-U~?}PV6g7-Q_%T6C-@DNXsm=V7bwp6~*-EQ;< zHu2@JFK<2vt4w7J4OcpA&toFB4qPiC+j4oqAP5wCLQqV^`PAn->7VyC>^sX~qNpNvuuxo+R)wFfa=H zJ_$S?`6apJbi>v`lZ}U5T@JR1OmK_OFE9-$Dl3{gReM2?vzX!xTf(j95N^MhaP=kx z`w6EfOHiM1e!B_hA4E8=4TR%rg2?nkMH2NRAo}aO$^qW-5I#rOczBa0ge2ei7Aa8= z0S^{=F1~jLe3cfNnE9Rq-rf~&-2b$|HsxB;(9cJ~&g#451QjDNTOJm$=G8)N)$j2Z zO7C7OO&M>u~i!f{Cuj%yD@O=!BOSMdvCcKmo>E&d+D z&%12wo{|fp`pZRj{hAMfSKp_U47?7$Urxn~ZlmA3ptHYy^6^e^(N+`L;@b`OV|Lmc z&HD-FLw|J09njZaG(D(t(Ia`nt*r>Ve@KXM^*w~^?;@ODGU4=#2$W|C4b2N%VgC zSC7tjVD&E%&JPIZ|Ck^b`5#yGxKrPn1nVI-{IRCg6BRmd@aLIHUAG`?{+#8PM~;OZ z-VFx9n)AUwxHT}g)B(J9y^6H53We=U!n&3xjsyp9mGn`oRKddacZJ*RYHc#>=1Ko~ z8iZRn6K-FNaP@M8>!))1z_sPnw`VK`!z?uITiAbFv@ag*cI>33Vg%A#$q8 z7I%XX2+OZ@^Rhe-!Dez-7d^NReA1E8u3`Y*Graw7o;?O`a|^wPA3Xz(GLM@Za!g^h zR3>BL9ihE&L09_RV|xj=PA1&GHR0-u3DaOH$@7dodlWM0O?86H9qAaXD#Xwwn!F5fnAowP2v z%f}sQ;?d`;3)I$&nH9k5v&rdM`L)_IY8U$ClXM8Tenq(bLc-O15U$^naC%n=r$3Bv zerpNmA4NE>354Sk```ad{ug2OU7Nm5=>o8S-xglF-?u++;T*liSW%{bZEh5_li9SY ze{FVWk+JEW{{IJonQPvbfS0ZR_SF*QBX+d^TMza=I$+X{{H>-*Q-@vZG&bH^{= zzvj-DNy<@1>eL5$1p2|%1$1lL4Yvje4!)w95X67`NA1Yu!J)>OzIGvkZ zy47jH(l)RQ+&^KwXd&1wKf8LPZXVdFD0<{r7=fMi*53}5s$e&AdCaC2$8kLy_w}*< z0QS>;R__n$N2A|7^tVMW1>|Z5-ZRM?7THt5?}43c)~V&-_GN3wJ^JssYd2#s{`hQg zssEJo2eyNYV!rdzZ5v?Q3Fk|1YTm)NHOKQryHCS5xrLiPKdy(ZeU3XV4#vXPuR;$V z{N~|02KOIgJ)O_a_CG>Bf7A~`KP~j1ja(|oWeWZZ?$y&j0_>=_`Q)?yHJ$7G{&ev% z0I$*kk|XA3fagcKug69PfTzpHFKc^eg6GKX)9#Nu1-#mE9WNj21Mhg7Q^^4Oy$eYu z%cWd418-+GJ%_otcEtTStk=Q*gQ%yC`cddd=S#5ucaZBgaa=@A>vsgKzh}`Zar;!8bd6xn;p=@O79z z?n-7N_%3aW+Aw_$_-Z(W84Y`ZYfIdZ$NFQ~Z-aWxsIP~9a_Aq3T+YaK7Q)9Gj`NA$ z3z4BAX|sDaLa4|5y!^fs5M2I!s3}hwc6fbXn%@Hul%T>NKCcV{yNj%veMUoI_|xMC zE8QSaOJ2|Di7y07@++(99ECuUmWyMW6mdNq_jy>q1^Y!&?-}Y>q2E08KZ9JU$Yl?a ze=Z+)m@ft~YMxWp7Ttje>w@mb?e-A9aKM{I8e1TYC;WbY;v@)dE9IxoUkRZxqYs}I zwSZ9FpyEGbiy(AtYS!yw5eWHlVux|T6bNa5G2HFo3S3XdeIcx0i2W;2Z!PLiLq9k4 z--=w4$W;L`PwGTs=PE&5W5c_Qqg4=1CLB}q`T$Yl4evDOY=p?UGE2pN%z}uN#bufM zZbHQ5s@C|$J`n!!^m@G&77)H~_OOa37YGk_y=-;$C!PCizizkJ4qSi7eP^s+h5a6= zSBd)S=(idDdys27ay^2brzf19*j)#^gGYKw(&yUazdmw3L#`nZALvr8UcU$u6eq<9ItyUe?>m)F5?QdbB=bv` zXF0^(JvaHTPz1yc6_XYJyd7c#)_iYmqjPgd$sQl%kqj}F#xCK#48$CIQ{LlA{nGOl zYK**a4Y-S)PGwS)Femwd;K>s}C(nYQk*gHAqf=ex(d)hLh@p(`^?5Ureux{&W zh|ij=sl&^G-5E}5nn&_rS7l0a@sP2wYi_$hKZPF0jSI`$W4vLfcg94fr4V)+RDVba zIsiL06_g+38RB|B?q9)rH|$SEJq6T1g?`7;e^%v4(%P?g_}qs0Pg7I|*U-7W{u%?PYnej4(tgL% zFgl<2^Q-db=54V1b@T1MLN#2|=TO=G2Ux!X`=wB?2K6taUj_Qp=ebxeapW2fNu3gV zo}RIXr7nJIlAmVosY}bdt-k*>NTQ%JNnV* zpjiJ$$VH#CWV!A`iiuFD^Oq@*^0xB{PemG%Pdp7*YBhr7k;yIFFVg4BcAk#CvB(LM z#(h*Eksk$#L7sz5WVb=$%HR~?&S{W1=i`QBJEb8}`GuU{u`jqDgZopk zehc=~=VDkrH`I4Qzw_vCf?U&)Ya*ncKX@W;-fBoQY_3s`c@3$f)9gE5$Uw@DrTSWr zgdq8A&B&$kM<6+36f>zO9+Ib)%vIU5hdxhoY9Rmq7f3qO;N{ra3rWf2Uo9-A&)dZ1 zq%lXX;=1wQK3o3@`*)*WGU}g1zd`6f3AwD1s~ys1v<_e0zXsBe6;82_-T`UB_CfWR zmq2R!i!T=k?t)Z1J?~Y&7ePwb+(8C^#z0Dfc!3)IUb++mwS$)g3n686NBz`w(;>Ns zDUdqf0LfjxPs#_==Qi1OJ?<-G{Q~TNj(X!!pFzJw^k0fx>yax0GJ<~!xx6EgDYo(9 z<6gSo?myK1=WR$|z4Otj+$cz^9Bm-d_YBgkv<_Dl=RxZC*X}o!q#^apom*Glg+XeN zk9GQ|a7f)K7jfjhD5S2I$?0gJuhak5>^`ky>qD@AH0m8g{a5I>6a6cYOAomWA+z=C zj7FOQkmV8aq3MJwWSakYUa2Ar86{54y#yb~&|EVm;-MF$-%?*;wIvkN9TylM(lLSb z@vBsnnvO$StI@SY$6QFe%m3gxAO_Nk3>DgcdgD48_j9oR2=*JJUNq|S(Jv7Fm5^&F za;ZbMsmzsW0t3iyD6v%@ZwOgMEm>olRzcRx)N3Jz>mc)p&c+j6UXVFwW$&S)nUL{d zRCvM5_mB}?e0FJ;3S^isdwXZc5XhJ(Kk`XRA7m(3TVK`P_HWJZ561dw*#8#w=AeE6 z`q`oX8ssuTu2mqo`siEpiZa-zv#)1owg?EO5Bc4wQVrRe>x{lHpvN&<)y5N)WPX)>x#3a=WR|SDcjxp9$joV7S-mP9GSdR{R(3D>w`TW^vAz}i zB~kAn>hDLtMd<$sxvG$BDDkTuwmx<&A!|?EIkM=?cw#DhSAKa!Co%NzY>XaPMV3t) zG$K_XMwo3?^*?iN6QX#eY4=+dqJ4Uba>-eDvS_-d#G1SlM9Y2NFc-PW7{xFji*;ML zzK)-$^Bi@v(Wf4LzaYmbLnWw z7(93pRYulrx|&xeb%m_msebU>!@NR4F zGy&OKq1G@$I-WR98z(E%Fqb%#CI`xQ>?iiBy?-(%s}eiSMhg+wFk*Y_D!3=U^N$K_cg@jvZ=wn3i|uNxE+&*KK((Q7dWoYTR4GiNj_Hl!QB?4 zC6`zKUtJCM)uIlakIU-P`E{&ME&56zM<#MjB(WBz_xH-3AW^kaL(;20ldzSat*6f% zP6C7U{9kl#CBAj%#@O?`h*#N_z7Pjp!Yi85o8VhYJREe~r`}sm+$X(BZ?2w8+$@(x zJ`PL47>)UnSf_z~=TT=l>eA1tSf2>=l|qiM$aRjyywwcI)u+GbJb$T6oX$CkFpk{p zoIvM14nE^g?g0s$eY`5uu8H{FE4p2wWk-B`6~y(XO(tHgwJEl5o)FLOHsMS!2jUqR zduQ{!@famBZ;o~Mux||NY)0K~^r=MOCgd21Tn;2Adz|Gruhk?*Y2s)hI{!TKSf^Cr zkvAl)A*K^U!<}Ha_~v?nS3a@U2RRfb-Mn@9o{JZu`)A$KD&1y*&32{@SR*FW30Q zze*DxF4M%g2=i`O7lwUwPA#jWin^!KM;(2KA;(nY3MVnkM1~0;-bZ4ByllMJCXi_I zUb8}4mqgm^F!&*_Ou~J(SKKZ9OhOwIj`{b|d8G@C2Hzf9K!0!V_E92Cf&{JlpmW_w zl?2}WXqonTJ4O%8)9-g=>x8iHJnHO4-5&Irg}#Q!k%3$XNsKzb$Nx|@iAgvdv)rYZ zL>JgxEt>d%L}_e|t)Fq9M5Hx!PkH=-gv%G5xNJk`n|}4Xe>QI}37sI_l_52agiQF% zd$~=P1SkH=yT5ECMk&mX$2vLeQ{{9v(AS66{fIs_=-bF~xC$dz1BuZXJ>meJgBNpP z#i;8l-6TeGZ1#d#8%R{EQtVDidLCm7rsrS$Kq5$Bo@%i)37>t~H7RF33A3+s_TJ}3 zLZ2&5J+$dK3C&)fu{a|UV-n_%VVx`XtwWtrsQV3l^wHN5Ildy70*TSftvhn|CW$!{ z@N(rg8ZEs7JzA_uw5Q6mQGw$~)M~Tw+wLfkNUgPw8C!Rd2*VE}_vwu%;d}j0md##H z!pD?qDGd2a!Wti#d2h|cD8PIV))`>m1k~|CU1ju9L0>E6xQ$#uVr<-s6_y_*F{QJ< zEsUZ338UP{_^FfVR+VWp2VW!6BGP6HTJMr5Y4syQ!Ss9@e0*rGyqQECQ3#GZ?L;Cp z-VZrgNbe6KIyPZx8W`0vUxjrJ*yn&cq+gfwDMw!|Z|RXFBLTd3KgWJ^k@BRrV%{Qmt-oJM)r69tqg!m}f&G4V_$U zYeGn*%**x_HR2eDVSWeJt;at4`2wqR19i`%&lU8oLJn!DkOHy?jAs=DU(aQeBx zgV&kGmq_#<@s#NE6ETj%{I!2|Y~NGViSF0se3Z~PA35m#ndNdJv0~$m+bNci>fvfn||Q>v*HsRv3<}*L(&xx<^E;)06#Oe;-t`(R|^@kY0lekD? zx-~YbE~3}R(+_q%6%R4e>xj({@2~6cV|CI|_XqkoqHi;DtVOO1BzEf57o#`QK;X(SoEd!EXO9~3Lvpl=H$l? znnhymu8mvphn~+@ZxUtdx=7r*!Aq>BJs@$1-OHmZqDWk+>SMK*fh4YQbV}}MFA{fX z*rVNN?~}NllDDFtn2|XC?;$C58W@*g-WuzkVxItYhM}$_`jnvWbL6lyVko{O5EQ3_h-x`OmwiwGBe374-UT%9K2`nD2IXDMNI2S^gm zM~ZO1=7i(OAsm+@c>eC)wWEp$VRACAcgOWY$P(RNyB9ZrZ|3}NU6~MgTh5X2?34oc zngyD?ybRdVnkBfO5COJ_cFwoYvj>Yq)2o&~&j8IIvv~9KBncOn5-y)hu#RwjC4|+< z%^{rbEc!hJe|<#goc_PQC4}V|FHAVD5OC_=U7YB*9Qb?1$A;gY4S^$?b^N{4!OvUh zxt+5Pc+ImLG+*W>xNVDzvV>;XA{22Yts)a_$G9ozTqpyJA;ToxzH9_dwKC~yXGOwA zWy0mR6Rxh2aD8=z)hWI~INg_o^D&^`zwy^Mjc^<@3CCpvHo@Vl!YZG@Gy7t`gJ~%E z&R<~gazi(GUl+}}p05VH)bxPQyQ9E$&6N$s(dn@H*tPgMmqK7;z{jiuwqLJcvAM%X$#CBpTU5LPE@6XA5T>Gy^F_0b`m?>EA6gcFu)hAfyh z+%SrCtb}c8$-Xh4g@LzcO5r(EYv5%?{2Es50`4=8|2#gt54K)eP@;bxz~RHNkG;7Y zz{dFF=a#Y-Fnx7mFGJ_use3M2d~Dhm!batLgv-AtY+boD;ren2t8>neu)5;&2Dr>$WuCVi5}VNicK6u2rzDb@S_42} z!BFvZGy1t>=QS^Rzr|pExy-2GhXt6t-gPM97r^}V#z=i>O~OVQVZ!Bq60Rfik8rvsg!8#hIN!5`E8uCt(g@M`$SFSf9%VoStHLw~Tb z+9w|RtqANwrw@ofvKj1J^R4{LhJ&rHSd-*%6IfTT*urZr28-ISN1v3x2E)ZQ6I87C zf|_xwUVHB>!p1)f2$ydsY~8)FgzbAZm#{iwLkOp?V@bXA9gH(`Bo{fz3y0$8WxEOvTw8LTl_+^XES0Zec2 z(%mZh9hMcfmt1Ij1v7`)$NP?JB5ahEAZ)&UGhyq7P9R)g9AS0jhZ9cs3*mfz(CJ)% zeRT-Sp`}Jxu5uwFF=UVSt;=*SZu#57k9|6ze`0bnOezDj*b)2X|BQy!QDe#+jIYA# zEr)AATlIliN5oU*q69EbJr`w~n-7d}>hrv^voI}ge)O!qNb)z%7VaW!zWf|v>+((# zuJ1Hqb=GJTPPdtGK0$=@^(TKhJ_+{$%T*vu6iRzvmj{6K26Sk!|H*T-e_B>-{m%`>wmVe%^P`9_*{CKgJpqH7y&K zB;^n`rd%X!UOJGlb@R6ouI~n6bv92UobE@$`iv1JoNrSx%kf?aSgz1eqWrdLTlhfMR-LeIyIJv;RLkIK*e7xGVrva7)of*-i+XOm|&1t2> zroe*lBU=M~nqiXH#LpYYjU;T8{YluozbN7AbO_tGOp&lUu~vlB^(UN<5Mg~+2m#BX zbOTtf>pEoCRgu8ap*lo;S4F~_Hqljy9Dm1GPP>J-%o5f;3Yrs^XAH*yx;2*!)>r!qzD`6Si;2F~aIx zZzrs-i7jD$ROwv!zrG7}faQ1{3M^M_2~k_HqO{m6lxSP|%q?nfChEuMy|{g&nN0q1 zts=^(1SE>TWti)Qz>K+%A2uwa^K+j$9u^$G0cxG$RmTSV!?f#LuI%S~faEWeN!j~^ z2^;fD2$z>6Y~4^9!u2%~R%db_VRg+zfb}u71=jbb4saYgz;bz0zFkJ|X4)MfBq8zO zL1If5?;bn&!Kywox9hyf-HZ}4F7wT1{+v({PpzwJSQ-kGYkzwrJ_>~?(&p-=qI*H^ zl69RgzXXPu1^&r3FClES*+AHQKmuXwM$mcafBPQO`N&kK{Pk8W!wDn}leY@U)s#7uYaYAope zsJZ-8sSTZn{eG{``kgu;^)P5@^0u7f-{0T<(qCP=gpC{Y37hAs5w$_SKSdIa79`j!=ar%Ccv{wxf zzd;sx%{cKSiN3zybqlmlDiDpkb5tESH<3AtcMo^JDj|wpYQy3qLy46C21kWCI!nHt z399(MEOg0V0D|C zfc0@K0oM0K4saZOz;a2_=SWIKFWJ7*A@g4`6BKvokOdyI-=0}zOXl*#uM}D7keQoH zZ#mHOt0d;4GmOsf9} zNJtfT4ft@(0izw}>F086og?<0{HMd}8lulr^o>Q1%gE&h2g59HH&+IMz-baoo&Eh@?gW!0< z%Ue6ILH4O-wniOmA?rflyvuG&A+ys%B6g?{WLh+O3I&EiMn}uLKf?kc<4CH+hj$8) z5!ITUe0?HD`nflor;)Am$G#9wNAwHou0$V4^u2=|;>hI<*=Y#}dt(J4xEp1@^{hGw zPK_-*n6?M9dy>mXwMav@V&hCr`n_0LTg9rKWj;V=eYV-ZYL2c=Sz04o&1b4%zFX`j&+7KoI%TD&U+D z2o7HGYYbTqf~n_bKHKO4+58JmfBO6(t9F|E#m7@2%jlIs@~vHv`9{dF`S^IqJm@mP zd72Ysh91$pneqnXOU%>jpRJSb@8fjFp{_gn1f#DRa)=>UAY?CkI7DYa4hYQMZGXno z&#(8oZ7+H_9R#{#>@CHuAp4qeZr1~PK2;);%%(X*)~Qb!UCZ7UN?}1NuHij?KVv?V_BDEgLkqfSVEvWL!&>SH0p%K2aN=W!??hEABW9JX#CcLIt9Cc0Pox`#VmHF8T^t z=M^kn^67nvjXjvB$Hmq?!M+Em^BQ&O>&E)f`x@&jgB)*=%LTGm`R-e#{e#vokPx-KnHacP77?BIv6D?Z? z-(3aSgLJRWze4}+fsOR<9@sp6f3kH)v2PCQgrRON`m9CY56BULT<;;<_0pbSNl!p9 ztSZ9Sb2|vuO&I85`u!g2_VqWdirE}2na^cSd*qu4%wfd_Py~~ z4cX7MXHIx|0J5uJ^)@W0uQwa%>&xcTvCbI#C>N{agu2w1_0dD$XUGwNT(Xe;yw2?4 z>1q%tn~8qD;tB%mJqCr3M}lBm#lT`yS$cfiLYd?AdNw^1@WbLd)mKlh|0o3l1=G+( zI;UA6DJ!p~>jHwozphKsdG%bJf_Zv8Y#qJNv3>O4PgbYspDybofxfh#<%mHp`u-lU zv@T>4ecd&hdz%&xqu1-9$lK%T>%dd$oF2FY1fE;wIzOcEo2^4+W}LrCuaoF_k-XC& zFg^fZ|J(xssqH(pLIVVv4y5HIJw7&4ZZ=Q<9cAkZu`eHW=y_yy_o9y>`o2I8di*R` zD+mjJ+xqm?5x^kH^{k^_m%k5~5*!39KVV-jQt(!;hS8Sgtr<3v)bxS!P199}F z_Ys!k0&)Qew1#gO_m1+L7Me6v{sMvfAYaqzaUj?=AVRimFbD(z7xrY9fFN(eCm{(M z51#IAk)p4+Kq-Et2)!=TW{4-Mr_-M|_zO1J+2yZO-Q|egCn( z^!&3NUy*C^|DFT+FaCE1{yPKzoq_+(z<+1pzccXP8TjuE{C5WaI|Kinf&brUfC+O{ zOG`hP%J|kk^vt<;n(>xeA<;QRm+`bd<w_da1f&6B*IgkNQNZpl*$?@KWrRl(L| zZYtwp$D6~er}HaiCrVELnaH?*H+h$)*n{yC=IQ)Kwyq8P;!tNO>XxHVGx`okj#0>E z!tCIk7P~I8g$W#0BBOt3pOLMja|+qMA*d6Gx;E%D3w`sD zqYb&-n84d!I(uV%nLr7lk50jTjKBVmrJl848J};uJ4?0|GTx3)P7Tsr&v==Luc5yU zWjy2Jt~hM1XFLZ;A5G#rF}%~4-e22yn&CzDv^k{GIfZO|kNM+Rw-NhlP$v;}x1dis z`u^fLLIxrip9whB8}<16I3}Q+=Uo*f%J{zt++1jLl<|FeCNarZmhmw)+iZGx4dbo4 zS@C+;5ys0lUnwrFh4Fmwa*^q1dB)SPEj-Uro$*|;aaG4v%E899n4gbza@g03I&|JR zt80rs%IJF<7GZZqERUz2pj0gU&0tq1BU=NYfxN99&-a$>xyqO-aMsu*Wu-WKcVeSz&0 zLY+&fI|6;I(RVa*C?S_R!xycY*Pc3q;dc}`6_~U!{LouUc@-v%f3S9w?fzEA&n{_A z(>ry>*QvW&sckUhlhao2QPIQrNItyvYgilOeIXz&ZfOJK9d%CciO(dAGMKNzI{N=Vv9qgFT_^$D`9MF7#@f8u;^X*DkxF@Ky63yZ`#c z_$PiyTvoJ`@q4>_`{xHA7(c6xO_sZS7~hukFgZGJ**9Z`SU^WBP<8*eSZZP^>L*J3ev8A8OzphQ&uz4!O=VgX1lfTLE_pi9pvw>cZyc@4tj3+Vt zk+?xEM~f~5RN^=!uPMUDl(#+C8Q-S)-Oyn*qHs5LPyc!04Q^N+F4 z4f~Q%M+J3_(1)&B-;2mm%5Yo?jDL5nihO+z!}m2W)}OhQ;U6L5kEU2M{M}2^r(J4b z_{+BD%ROJq_;;pWj6N01_$SY>(i-=X@n3#Mx;geL<1gJf>)Zz!#;^BbYEkP&jK?rf z@AquoHSFs_ooLiuk3P@QcLj1RMlSk(kdoZi-C|1L-*1xQR9-Orv)9x_KhpR6p=)hZ z#Y*Y%xNdd~sbcsu-#qPNZZrPvgUpJ5G&26DE(Ax!88ZHn3$+?9tY-Y(D&K2-8ii3B z^R8G&kB{wpg*p|e`v`q1(f2KKv?CY2->5H@v!DK(;V1k$H*CyuhF^5^X<|BkzZb^c zpS^ht!_WHRb38zt-ao6u_V)~+^*T>YS7kH&p&Pu1dWcZp+Mx<(BkA?jFyIQ-h0jKk=8+8Yw54~TozO#^na9k?XZ@uK{O@$E*KX-nTw=6whm1CA!m!~lN zx<{8k&!Jp5jdqXisAc$hkM|k9r`Kty+^&KpEewB?PjOuWpWzz}+T;;IIkbj+yZU`6 z#zf5T#kz3pqxXMSM-g@F(1&uczV!8EIq3a^<)Zh)9WM>0I??y{rG!$+QhL6ge;i+^ zPr2T|?^Y%=8UDME@7#7Sq4^5$#P3lIzieQ;TzDA6KUaR&_Ue3wpCdE1aD5iTPqRJq zES=s5*hv4qV)J{jj$Z$4UnuItpzbpCp*pOu9CB<&u0DpJJzgsHrv$^l{cYqelcNm( zgVMdcL;IKjaiJv*U+tKH2?l<9&1NtGPVyR9Q1KP-!$Ynj$ASf|HP=L`rqj5eov~{#O5;- zAautuz+gQSFi%#kuP2%bFbAW)qd%B{jaQ_Oym4a!Y=#;(HXAbmW{pp02fkqf^qb1o rH*aPFbY$ArM^s~chdy9QG|8!X0Pw2x#UwS@S4*LFNxhDS~TFb$V diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1_out.e deleted file mode 100644 index 1c6160b238716cb89913a8385e93829a06ed51f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105840 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 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20.i b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20.i deleted file mode 100644 index 8fe88ffa..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20_out.e deleted file mode 100644 index 783b70226621d91a3506d28d1922fa455903ad3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105844 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

Wg7>tBG*_in0;vGDH}7x%r>$ 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 z%0D`s?hW)ggudgDqXoIlLHs4C@`3wrSdn&4uc^Hf#4oL8PEpeYaj(Y=bUuQVSw->h zHRz-wIvi09|W`pB6=%Hin9 zamp%?qP;?Eb(aK^FaAEZxoHn1i*_9`Q4NOVnbuZU!(KtMk+sHl_a6U6Hs6SKuGqH~ zb?EbGR<}R;7^Ck^(qmFkP_o;zu1r-52gG*$_`f{`9}5w@s(Cc-u3F1P^<&VsarO?SnbDn?7uu)_X7Ja zqD~>|-b0_c=v#>#pO9+?h)0L$zaBMz^V@p3M z@1g5EY_PY2=rp7}S~xRch8p!tuPI-p3@J-9@2Q8rgp|O+nQ9w`V>H10Tdpqc2lh#$ zP8#a&M;{tl-xTC%L#`4KtB$R&%q8@A-nlo+dVEJ>@$ynl!r%xjegVn*SRO_Vjej`%KnAxs?UGHNRKOMdWc^`p|V?eK#P-VC1R=v1!`3=-3+|-YPTHP?w&UWmR_+XVag9*ZQZM7aRfc z@tt)SGEab5yth8D$PdJ>;G3dmDRi1PmcB3Kn&tzkDIiv8wlLX8&j&W$?&;z982>Af5-|U$&2++#8pC9vlSX(vN-eomD`5{e+gj zE$u7Jch_;J>$yF$@v5Oah?lelxoe*WvB#a?CT(*-Y;$H!^TbFHTg;VYD$;&7I%0kS z*3tU}+qWBa=AkatXMHFy>r0Od%i(}rJwY6FZHBZsmag|Uqm}3QwC-NVfDC$nzN!3G zlYahFT(YOk=5ir@y(brmH}(c`mduN#>*#$bvGsPI;0lPNwyhaxtPJAdExRrjJi*wA zc^RxbfPHk_t+Roif2{5<^r3yMFFj5y$4um+$1AC%Z}Z`D5FZ|1x#%Bzy3U?!)6D4c zs(PFHATEQR7dvH3Yr8;vsl3cY@g4m+`7`{$Me3I`LoYJrJoV*8Y;e2>;tj#$$9vHG zJ{#%r`8WS>9ot9OozA z@xAH+4?VYm`2PEX^SSi8s4t&U&+mNuGRIr= zx?^J=<}YBK4fYkGPA2M(L7%Vh|9{*dkkD~;-81bd%Gr=B z99u!p=NBU?O?uM%>5HgkJ0k5t+?3~7@{cWu>s;5*O-={#gEYbK=k)mBExLR2488u? zxD@mB__1|~*hkle)tQdEo#<1BzLcBg2t+Px5TE@XTKyw{-iKz(=L;yu!^+(fviA5gC6&GhkO2~C}$^s7UN`0qf~jq^=}~lUOr`BpC$C?(oi$ar&b{TTvL;lM%Rsv zl$XtWV_h2dy+9p${;;}d(dQKU(&Nl>JU}j&e?J%UH~w9Lzbo)}1^%wU-xc_~0)JQF z?+W}~fxj#8cLn~hSAba}n>YQA+G<8HWsvC_&Ff6q`foYr--a_G)9oW8-rZ$_Dr+iA zUS=_Y*8-EKUA1BYm2_9cO$8<(^TZ&RZ+)4784ByCzx>4nXleUTK0XMe3g$bpP7eD{ zp^gRW=Alm$`i?}7tH`yMSu|tSNljrs6YXKFG`L8}L}Y42?&_Swg#H?P*)mMPgiKy8 znsC;L3GV&nd(bwjJ3)HmWS<-+FlWMPeZyuZaC+6kLGGKFK(&hv%-R1ZviXfz_Xhhm zqs~Os{nuv^`p!ZQ5poqVF)RBg=qHMp=uiDKUVV;W1pkbC5b9gWgl~rIawRz?bnmv~ zJ6=v;LTv1^N9yS_!7kf_wU!@ag7SyxJw5c637VtXw83u*6Erw%w(6Au7zbkB1nU~G zF9&r7qplVDD4_3k$b_cM7_xs>I1>`LYW0FX-R^JMUo5F>m1TmpLqaMZ9R4q|d3mh+ zf_-06#{+fC(Z>RPZy?7qK7q)>M~`Z%Jm3Ua(gE^j8e1gHKH9_x&po!^I!=#?nlPesp>P5d zN%CfHh#Sg;mmKSCUNV*mI~>oive?IjJ}a1c?aCM?H1LV!j&mXtYG7k#H!~Gu0_GQE zogVgWL7gF}tBF2F=&Ow!o001rBfM9;yy=b>6YWyuu&f{DySx3%I`3;t)N{$pE&jI{ z!Kh0iYkaMlh~n`xoSlv_;fF0_3qPncVb4^CRa*3A!u;=DiH?qD!bZ+qHo?C?#(tRh zOLSyx5SsRfMCByEhE zU?n4X7j|81;wC0CdrtD_WN#*7b6wq`k;P2--Q4BU%1@Z^h59$hE_Eh+h*rJD#041r zFt3Vr*RU@Kbta*%7=6~G??U7liCo@{Fn&#wen|xrEnoe^#JHXjHZSz~G<7f|49Z+E z&hHZwweGl}Kr@9A_<98@tkh*9!&^t1+izzg3Ir1#l{zvJ7MJceoIlA#^fqcPTVoqnpSJX{JpHB2uMUHCZDq@5Y$KRxxj$njeJJucjBEtwjw7cy+_Jt9y zlbA1T+RF(0_Kn(~MwqDn^Cs-xqss`4{NqKv<}s0JNf($8*-Ydhb4buKW+ECz6%ztS zVVsP4dj7I?bk|O{Z#bv3y9IS8pwB+^t>ZY_z9N?_BMi-evdBzE_}W`=x|AN@mayrg zUG*5@vF%oG?M^d7%jGYdbcQlf`|4-d?g?cCPt@bJ@){U{b>Y#@JbfmzN%mc|jF5>u zv48)uG8K%2F(1R#o$kQCLev?By1mfnAo?mHhc0r_<1bW{k@-TeizinU1CBT|!nWa$ zqWgO=!pmjXJn!{ogi%WG8bb%t`_s0a?#j+gRD8aE@|;zS;9G&qsb4=C!7kGd9lJ6{ z5UKj}^4{kdYcYQa>z-g=IO@zo-5#9J-B0K{134xk*D^+!a7=3(FN6^`e4YI5AU#jN z{ZM{Yw2=`$w5VMB<0>QE+ITzvhyf#Cn8>qH(>5hR+(DsXmcO;uKLFQqyMQb&gAcfhb=C$4!^|`$NH^kBP z`cs$Ni9C~#cOvSXLtPR22uEM^I?Z<2`P_6U!)tqDAxh0;c)hDt=O|Y)ytk?LtFz@9 z-o*>|>TO>!yqIlO%X)4wJd^ny&X?%=kG(Sao~b(%^ybY#znJSx(2d8#TpbT%OvHRL z;;gYw9eExg?^D#F>&WV!MjwfsFO%O4uh4S#m&Ho-xTi*#hNm#W{dY+!_E4Wa4FyNv zy=QohjPBJ18Vv8)Ve|d90SqtpdCZvoTN$47uk_9&V0dKk#dna-@MbA09sGx0Pi&;? z&*p;=cLD1tj^*(}-l?c_A9W+qM=1J|V0fjk<^_CP!tg#T7Ov+d(CfRc+CQh8#<@>E zh0I`ho#GSJ!~4_YurK`O7W(?m<*W+GqQ`4TrR?(?^!}doP-@Q7YKA9#^Jc`2r5MdI zPmcqO%fmYAhvg~ac*8!Tjt1(sp$|XwrN{8f;9E%h2J;@ycbT~@pW)rOEdMOQfZ>%zE_8WD zuOl|fVV)pv2Uqt(40+ZdZvg6yS1{A6`%YgMn88Aej6EnpB~?-yN~JV zbTGl%Vk^7bs88*^`+{G6qwk02o9k>mDW9QZ@XDJ^@Q5vuuf-{TU>37+?I?!V7v8Ef zhx%n>BA55?MO-%4T}GZ&$omy_X8xzk`rx6j+0?IK_3?FsnBZ~dL0KJ@Oz@l?&L_6h zx+OnUx3oQ^?}zEl*R?M)!A|1OKkmzAf^B0?*K|?;i#t+fsuwW9OwSM31$|8LLW_Ma zZuB^@aXjWfA#NeowIa_3hq6|27P_3ZWH=&M_=O%CI8=l;eb(z+B%KdOTo@@jeSy1 z#lI+6*dq{6yIK8rth3>v*_;LI{*Gs#+}eIL@Y>(;4A*VdA1lrOj#VPo&9C_UU;i$J zC6VJ29shn017mgLFKhQN{fi&)$$e+@iB12GuZT}w^La~e!M|g|&9C@7=IS&5jyZnj z@0iu^_^(ei=da)2dCvdMzhmz83I2|`*Z=JAm|G{8zhiE_TEKpaf!N|CWpJJN>-w)$ z`g`|n`E9AYzJb|KZQqSL_h8YtL9di)f2M_{Ee%_{qF~;olUplo%Rno#`>wYw?YGPi z@3i{z1jcG?935jVd->aB69YTNG{TL=2{&I(IQ%uj)n^fo&xvsS5rorgBCLMC6ybc$ zC!DWlSbZgMjdsrk@N|kj*8ZFJ*_wX2aptvKU^}+U?@U4?SnQc~*pU8C%QW;&X%9ah z7`2;{-jyw&`_gDY)#qH$(z$mcaG3&3?rZg`I&n#_ug)xCU{oC8#@7fpKZbC4A>rz) z2*(#nIR0|N={+T!{$s-VqR;KJzGj0*=YPi<7)HJIv~GU9Z~S^X*6 zn+Ex}o+aG4k#O@@35VApT>W^$@$m@9-$gjR)r8Z(KsaC7g!Oe^47@u^_V&{ehqYyL z#gi7igEf)yYqna(!Kxj~Qkk_^z;SQl<`nCbV7qVhQvDP+u-MdN9g7*&FY`BRJTVJ4WJnCH7MQA7NI7*Xn^D794 zw9Bp3> z9>;DB(srE>uAiRiy3XW*bHH9-ZIc0Dmw)4A#iAy#*mqSBd`|$2E(MRzeUSmPle(pP zI`s9I?v#k?`DY#B#zlmiKTbIOX2R9KCLG@g!ttjNPH!>c^aX_T0`Fek zGx7Uv2);OJYxVcX;IEi`!BD{lyehK1MjLGc_i72j+!amW5@jCOeW?apVg zR;f{NIddLN)aCTlYZ742mt$5nSxx%3NrNQhS7{P`XsaG!C5HTKjHQe*l|jTNha0_zq@~j+0d*+CgX0t3CM^TlF0uwC|8hk0$Kc z(uuJ1d_%(GZ;m5uea$e!@#zwdznu0hpn9Ie>GSP>^zRVPR|MgFDM7I5(80Ny`Vg9< zv$e;03ao3C8(B2X1pF39z4ddf1J7U6Dr4Tnf?Mx5*AdlkVMX$K)5d@Dz%H?0>a6~S zu=ubZ^E@XI=7;84R32HOzp6a$s^qRZ!j6y9KJV=O1H$1S5U#$8uzWTB2*Y{4Z#-psPZ66__F1$i>hVCgxh>?xmDgI?13b-dRd`tJVgpKl+&n6TqForIfj zA}n53o^bUUv~R{AzA(b^8xl_M8sYTS3FoVhaK6?<$kjKePum`a@Nv&RL=`;&o{#dq zB(EtDpmbB?Y{w0H{N*}wBtC%0(sw6EB+0;PXWcJLhS9#;p)wzCJg5N6{aY2blzf4O zVV&WIar^Z>ZdDzY(ugJOIKGLn^XCMF#n(#`wto0j!tpJl$D8s?(&yhiq$`2#x+3jUd_iP;V&RC z_HFm8FTUV+FJZIuHWlz%6fb-C@mX-Y*CXA+qx&25?>|qP{*Kc+dtYvj%6Kr0-C@9M zU8L_5STa=G$cnJzwgH5j4x1aQq&G)5|BUeuNm|eC;NjuOASWUD-PO z?rwm46^K|lifLSKCC3laczORzngu=b5gc~;#c7C@n;qX5QS5Nz=vwY=*r{70dU&lug&Q}bC?|JTIbMP?;`nR9+ zxsU*%b5&g&(#(N(J!qWVb^!z&7N0onTnPBwu^+#1axkp}fo?f@*RWg15BkJ9%Kba-SdJ%zC21CfNCpQuGx{9W3Ihpq1>9N#&@@zdwrS-qWv z(+?!9uR<}x`8o;_Qx%t(AFc+0DEPv>!7UJa?nBM+R}&$aNteAgu?E&{$oL>npBwef zArZ&dp9GIRRmH0e*1)P&mmO;cyal`T{M%c<6@pPhO>kkij<1q%{GSM?w}5c^hY05@ zm2keU1Am@)b>vZ55bhoweMX=JVb_Z{EuT>bAx51Q(-+Ww=AL)+LuB*7U*r2LnUIIz z`M$F^EjCyiFf-K;Z8$k3tk96KWAg~Y&i`XTSiDyd z;p#sSmM@g{(_r~O6Hf0e;q-qI&X*D4d|CYacgVjHjEfH}x4Jo*o_F!y@sX;3^G4P# zTkYlk+s|i_mPv3y%#XkG%+Upd?cL}7H(vI3W^`)Hf8$XO#hUx1{*Db_4|#n#F#Esp z?J3_L?E1T34;Wqyl+c*j{NMbU?*lKL3;S=(&bR(IX6sA-8?*d>`(6XX>i;_}M(0fJ&PxBNuoY~jX>alz9k4k#d{SZ>?XT=|ZPpDHDX>vLtebc62-plZ8}f0723Y?X zu2L{F60F;=Kdl@chT|xlpN05SSU-s4OIJbu6{y$8>2HunUt#F$8o1xQ{w!nUL+~l7 zd^LA8?Vn%cY+4l70WMV;t@_TYu=3b${eA}{Va1O!skd{RV8wcp-)LA4E2dWNeY5>5 zIDZ_sx^UVtaK4*icJz`PI9I$4wd)DN@fw^zjrd-yFXQ;;jY0lnsOP}xhtvMTtgkNg z#RuO(x_Rr>9AMqqmonlzXdh#_H_pXtl)0vF21GSUd2|oVNnnkGLuCyH(d|@UN~j zs#1RScg)Sxe*G+d3Dy@O-!J5+eTZ4TZ>WEe^QAYK^R;a>guOl|*;a5I__F`3bx_<0 zp^HWqr0pCIA(QBnp%XtrutT8DMMo>(-MN@8*KZ#1{2ul^Jmv|!srH+;m2^Q+`>s9v z-n&E4B0 z9v%QfusG17X$uikzD#+&+Z)0P)Iea%5% z2@tu7-|vE2Iz+80RX7uy1VV9VgTTZOz`x!VFBn<_5e-)MKQA7qp99J(tJ5w)_yLdJ zv|QS6*L3!SVa0PGTq39EN~#-#J&%bo-%oWLPWz<)ru~0$%+0$ZUKi{4Am2meuSUIZ zoPN>-^mPS&U4Uqpk)0~HXy4L7^0$o_>B9QQ1)DS%v_a&~lcuwcMIhX}v`RaM_TO#I zbDr?Z76i-ecxs+nz<<@HaxuXe_Y#7!C5vas$Q#OhfcPWHD>LF=+Z8wDfGF^=tYeyhdvkrQJiF#Y=foG`xC`e$Azq5B&zD9%K>mlQ_Y3t)(HDKbfb|tbpC9nH zHXdFEiSa`e+&9wa0@Qct_#USHTC=owwS4NN{ZlVjHl3ocD<|c{mZ0qrM<(UU>^MvN zz+T#-F`hnOy6@TpHL{oXr=9UOd;B$sUHRNn;>T(AOjMbsUm(e<>VWuBrq^R`=Ry2n<*{Hln@<`XcB{0Li=N&psb)0V(sY?;oVE4@o_T%Vrn7fF!rGN36V! zA+cd~K~BU5Nc31HTwu`-iGyTKf5*`0Eg*FKxZ*(iT#V^!x!z}x5WMQV`^ByFIiC6& zlW1)m)8|RpdHP%rix0*6Mvl*NAoA}1*={~2Q0;C+-#ZRgTgOoYJg}w)$K=K2|^myWaNY2=|WxDrR zNOqK{lmTf-*4=0}E$b*GYsNT9&Nj#KF`TE*L9=)ntUrc)Uywf)_2!`d8T7RmeF-7` zPV<6Xmzj{^qMT`!HXqWpBL~YLdGc$Kc<4QXo8*B{y1LfR0+i23)-A+_(V!6c1B99!VL1L8}telha( zAip!}WuX2G^tB9q#erz2)}FJ<<&dSe<7Lm`KoAX*O_}7s05U^!PUomsLdJ(QiK#}} zkP*@GKEt90GR8@Vn^r!euXmj0zNfvAo-=l!pF<0zN92?oiE@MV0F`Sm9e6ligY(Z2 z{|oD%BVP;h7oy%H)L)Lin$cGp?Q_{rdijEZ#BBS4NfHu2h@tctoBQs;MAy-@<_ zGN=ES=_%I~$t=^CA?q?iiDna=oG;!;G<+sa+%(;es6Ss~Grd@usH^q#yZ=}bqZpSz z@da`2T%Fh%epxC9Y;Jn*Bv`PWf5@= zuAb>vYe$^-cKjacCrj*qS&bKLzDDeJBrFzO987E_9(S}penMW13A#nB?7%cAXU@;Oh87 z&v|mht8w^P+b7eA`KgAFp}PZF8K?S|^wNFymiKgq7N`-Yek4&fe-v?a zUz}&Kgzm@2#yT#)>m!Fd@CEDm$die@0@N`_U32u2hQ4BmK(Ew|_hKOlzZ~>b|MF=P zJYVxu-i`BQt-~psle=i2xl_9TT-cLMJPONq-ks-4+;`=|B(qP%&FEXn?t%+s^)m~z z=Y@3Nwei=*8bh{YOvL;u#O=nq=g1R{yd|h}0d*VEM+^E2Bm4)w-S29}NkpD(t@VkA zBy^5Mh*OV%1U=n6ApOKEvUXs|Z@C#A#ODBLi(jPwH?`6FxPH%U;&Jti<_@cNvZhwq zckk*6WX+0%!kuH^VQl2`t9~NxA=asJJha~o%d0tx(3N0zpK1B&n`>$R-n%gmtYhYpwH8Gxh*Ym?WRgkJ->*!u(XxriHvb-$6P8F`&hCk1uipbu~KwTX5jSH@fCO$2T0K|Fg9HrUY-2NV z5AnB5TNv+4`yS7JGa~0?AMrhM(|J|9JjQXDZ$Vrj)*V2ewa8nGI>%Ah1AYADd>t82 z_*%D&=lj$DyL#{}hkflP5z40>W;vc9VNA;Bno&PVh|9?I{L2jCRoMJc-KtH3hK^o& zq`Hr+Tm0(t?WQLrKx4Gr^T5Sq?Y{N({e3$ye!#p6;!3!>nt{lpgS-x$&giMAdyVt) zjrw7I%^>_KT}rPSZxVjQt>Ks5?vjX|b?;hqzmRbGAqgKnVo7MU{qMKC`bfy&GfcSU zdcte_Ug*C>jqoJPzw0f3MFM-gy*52`CxIa&wp{LM!dQ=a+Lx5YJ;1sd$dkzN=1)YO zgQ!c7BkSV{`g%`!&+zouBadkOqnPwyDH!!&DM}`$yS>16xU0P^qDnjTZ@3 z3njO%)Bh{VWqtmdqDz8p=eP)Gq!C`t^7&)7(|)X3zUo?&B)BO58}kZ?i^e*_@!S}I zym6>gfVwj1V-EUyMEG-NOtWvYCH$OUuJ5bt34eh_bei&Y65&`E+Hij@3D+<2lYA6U z!c=B_?JaL0p}Go-jk7#SNCH3G)Ri8m!DWYbIzA`C)%B(g!Gkf1VZPxnj;jkpo{z}8 z8Fd0s_bU1@Ltj>ezjVp*_{L#`fB1D`nsqDThZW!b8TWuhRIgATs8&hBKU}t1^lS_X zAK0j4EYc%k3+&a81o27e&K(zZ_KYB*TAO6c&o3b%Kg9=FEc%M^CFbdM#^PkKE)98H zkarU5l%Z||`gn@I1`@vCl>3%D>3Lah?p@<%PUnYw`&ySt_}W_8J1lOHh*YE22k-Jo zc#Y5ErBCunxQcVXrxCkI*j`(IUWEn;GZu{~J=ILY#%V{KD73@41oICOr-O9|kq40X z80wrx-FWn|3VmH9{LI{vpTV_+|2S6v6cbJOO^Whe?=BPmM(1hyX9@{_RExvQIvo;` zeBepa+&~f`cEDujubU)%%N-S)*9Iiq?AabY(`h7JQDKTnyC=qA%+EmFQmmujBe6Ui zk=F!uvQYOD`p83HcM1RG?gL9bRS3UpL;XPE9U_p<|1HySl<;3&QY=*0C;V-~me8La zgg;B4-#a{&9*+jIjZ=n`2qCYqD zdFXwY<^6#=W~h4@eY{3rvkCv9*pTQ7b0QeuUgZ<3M+A#>whqq@CxV3{xRogpqVIC3apLXu=O+R-DGvDspzk>+2_tY0Z5D`Jn zyJIgjeiK2|p`*8EAEBSi6syuL!iYd^+4Mdwdm_uJrxr+7Sj=reg=!QF|>gea072Uyi>h2T48Qp}v%XSmN&o#dlG^P`w zQv1$?d%i@dHlUx9p%@X$NZBY19!ms022#>>tB9a=TJb-$f1jXs+U6hc`(f;lc~!(E zVVwfUL*5~;8|rAH?jiK?8hxb_fy{0h_0Jwe;I&~Ek9V60I-W>=Q4A%*pf^&r0g^;m zai`pB;R+&rZr@P$sUH!xg}fPFtxANqSIaF6r}0$qP1z_JBHULy&VO+yMyk)|XClrW z>nu5*kL}1iA9V(xZaVt7g}$61RD;Pbm{$;_2EP~U+<|O!R85ybYC!0sKON= zy05J5#W;y`72q%b=$ZPhS>Rc$AEY8}32ribgtPKG!AVAm45`Qf>nk~ZCq@khql>Wv zB#Y*N`iQQDHGS&|7tIKlpGa8T$hU;6J4!g7bi(njBAkv6;dHAA=Y#fbXMNG{86Lk} znNe{Ig2kj0&08WMsGr%rwI9vEPkw85vDS6)R6F|c#*kg$njv*{!1ijoZ~V8&MXj^I zI;MV@{6qyX;tMmRoOz&D`n!HksSn}ePQvBA35S!S`@#RITSr(P`m+a)_X6Q`Xy15N z*OYKRVhHD}85}CDnJcdRntoly-M5`Y- zyP5VIbf_C&aAMt7SoYe*+{4WZ7PXrH_I#uZ(|Ro*TWqo;Tx=p-K7epIQ^M6X5|$@B znsB^kgwqibPWL3?d^8ZwmpNGIhY$4ZYNGp463wqhFTs0|N0GO`6?kT+%NTa;0(bg% z+z@4RaFK6`sct(3_A!%pO>rs$E5ljq)~j9v=10if_tkNrdhhnjpmce{#V*3-+X#oN zAzWPxVR>2;3CFvFa5^^$r>jm_AI1`d^Hl~+q5H?2=`Uf0WAg>+XS5%=&((7+rX#>T z{L%euE3U!nkC~E9pYMWms*UNZiS=N2`-_!R&ULVu@Tt!#vk44uc<(BXQU(=Emzgo& zGYK0ztqGUUBrHxOMYuZpd$d11a+QST{X+NKW_3OiR@dY`;e6~NoUd${dtlS+Yu(vk z>vpSi#?uwB;!v8q(HUQG*_Y{JGs_oNWL+J9IXVy=Hp<-3ou~^o)$i|hduzku>^)^q zl}3WWg>@Z9I!T}$HB{S4vgL%$>zWV_=S{dedYu38$c-T!?^eR;coA0j^k>5P zuppeTT$on>cBOgmNub}X7Dv&(?RI5bQ=c{kfWw)W&VvSh00)`p%i8JrY3Jc}xTX6U zEL$||-6Ab5FaPy)eKjBT>;6=`7s#?v%cCZ0frZqUT)2M?Y*r1+p5WU8 zHg^<?xKgPtscC1t1j8D75)MmHx}Ui*3nbZ0%3UOt@mzc!Kg(u}kqY^3{O zu=$Z8gu}feSVveM`u_lqm+o8jN5^j>;dJK^)`y%mVSU{%FZ(_=wRnT77|e>)o^;Xs z5&fOx+)NAO0$A*OrZ>G)2ut_xj84e7083^sRqD7B2Bt>dPbclG0>hg#4L4fm!knu| z3k2FDVB(lFY2s~T2piu75jH>9oNzc(!qx33EYGD!gyqeYCag}^aQgenKf3ya_2Ff1 z!1_{(C1M-zebP!22f6CJ6Q42+VP5E#Vf~a8fQi)FX4V}5#>w|CEYTbQ#-aSigp4j= zdS2bNaa{v?7v^{GWv;<2&vhTSRa=3~agFMNU&qLwcyORMVe_?{2#Yh!BW&I3AB5#e z7Z8p&oNzkLgw<6P5Y|VMA+WyU;>ak~@AI7ah6WvDc?LtB`(WzCTE!h6tuVJ@amD-w zUC=){_wF(ESTM*wxmjuzAM~Xa@&roD{y;Y9l{|M3+TN5-qY8LzQ6j>zSt zoz7@5Ec>qVWRT@!F;E#h$K&Dje_-~aQ;8w_a$)X9=?#`Qd|^)Smv0_};$RjzI(_ES zIiM0%p!D)YE(}*!y_Ry)m$32nCBo)U%^)mp$r!@c4OmK8o{A#E@*WsLIGxD`tS*QF z>*I+bu)e&-i2Sutsj5}wL`5HSi8plD!vZZzHhS911mcWXIC!p4REgw3CjB`hvcjj(mY zDhSK7WCUS(X}@e%M^+qI-Dz>a`JjEX|MZ5L|2b> zBho2daw#$KAX%m?8gMlZCc9P3{0xbODTkK49C@SzlomTlZT7B$@u4z1oD_qhpUS1# zvR}o>pE!QhQNrd`rV$pmri-w3MZSdPS$&eQyf5N_)yXsjR(Fgcus%NS1=g3b0#TTE zA!XR>IHEbMQ{#f+WHNpH%56_4w-SX>3AXFB#0+}vUT;wi5Qo8f=>aCo3_)g|LwveS z9LRdS_}pmso9)66${e&UDEy4CWFL=f;;l+Ze^c~$Bsyz(PqF#>mP*8 z>tz!br$qZp|EW7{SoVh}fnJ9!@9S1zb!eY-R@ZGWus+)M0_$seIhi0)<@j#BA(_76 zGE*V0Ks0{+T=jmeAyHYNqq@e|os17@{nYpZi1-M`tHDpK>}Afo&PgBo%6|P!9^(GK zyzJ-N=DOQ;G@m$Oq-4Cf0UHZL4gTcsh#4BNxR3D$Y+XPfusoaT`TvKvo?eH4biC?- z)s+zg)<-{gV13bjq(-Pey^V<+O-FRSqbX5TB%TJ69DKIHmC>2j8UVquWtKN{v z_f(6$7H5cTO}4|#HDYAs8P`>iT22P3PFgZyS-C;i*zK$0%i|1QNsWAY|FW1tUH@@U zE0x6!j``9i_`O5R{zT@Wd>NaUjw@qv>*LDUx({){^0+7f$EyIWj(a(kWuAnC=bHzSsP!T1&P&4?R;b$~pFkhcwW7NIWf z2hIBUfWFSaCi>uckJ393**4CQ(HskDr6Wb-7pp_6NOPEs5B;94^3gw~^~)i}xNW{x zybdIPTzjMN>@!F{J#$F5St2BhI^x1FbwYCFhc!Wo7cid3d=KJM|JHFlmdG2&>G-On zF8%(9^Onlc2kXUn)|8h(VV{mELIO5Y%3nTl)L`FoI-KlYHEx)!7!^Gtp@eI}$z z&G|g8n|@EYr)RLx+5l1<_P>`@S_moAo{a2J><=lUZn%;fcZ{x>r{5d0I76&6MV^hw zYmGXNobClN&c~FQoG)e=Y}oP5h^FxcB`SUm5}9d(_-9=O^|imexl)=3J{G*?=O+m0U7*Jrn)oqA>Ddy z(NV8)kd~}8=62h6NbSs7?r>2EsoRYV9*F4ox+_Ns=3B`^s=;uBM|7VHE;e9(JmS)^ zj(!jQhv%sj^3FmXH%>QM9)0{mUw1*o=c^g~%!Mp_`Bj%r6oJT7E7K+R1Z0l=r7m~n zFr@cxI%J&G3F*_l?zPOhQa=tbDl>Txsny#zXdR^A_p;Fv z^DhxM4eKnB$Bg4m9)&tJsQVm!w4$$C$ZXrSbwHgwh`JS1ihk#UC@DK3r=lG)lLz>` z*R6t#^pHnJ8@54unVOyc{BMx1V!MB%VLqf?PS-WHUIS_TbM8^hKuB}AGk@%Y&i^8t zr+wpDoIBQ?;CL2DBJUp5dCTcm{_CR&eOW~|6eryOBbOtgG-mL%7JrpwJQsxC|D?@t8h@e|_zK|ZGp=q(x4$^H*a+goM zhOr9sR*0k5C)RO1qmlOx>TE{c4)n1SeVvEQsqe=2w$tOU9qaMBL;^%>hljhLpzAq4 zW7NeTBOr5ww)&0}){xQraaLhXf5?bUZH*ki5;7*g+U56j7Noa@HRSaQAiccrMS3Rv zT>%?qF;9K5IQqK>wvLZHV~}?Z>dZmiZRkS}ef@+?`L4%LF8o8UpGBu-yH!Et)NSVN z)CnTBkSpVod5~H9+w$@idc7ER8R(oafQaka zHi%|5Kc2Q2AoJa$AB;B%MUX3qz>xeyaAb?OgyJ5dxJ>dfAiaA z1t6Ly-#YA21!Vq&X{Mw5L*_9H@hhp7khuz0H!c1FnGOu5JlEt}M?R!E8~@W`bu-XM1m|m-7-X(rcr4J{1Tx!&IcN4ofN16= z)6!MdAX@NfgPOlBh!hrWDcZCaGQWKEI(V4gk17?d-zd}Ly}c%7vEw<&6h;+g*-@W< z_dd@g|6qK8`B{j&h;?**SRSgw@`_N0ULUM(75WH9UyC4fpQKc?xejD@HQD7Y?4!8+ zc~U;FL1du$)VZ`2M4G4a=XKAguXo|sfHBnH`<*XuC{bT`?kR1)w-++c7LaF+0gzdg zxi#|uz24cVg!wIq+l_S_kjD~v>GjL%+(BJ>9RK(*P)1)2WZw81bfMUk{yt{R)zddE z=<&4)7=DpnS4MGhA5HFqXyGuA*Xu^n>+DqZ{B4FH8d=lSszrVLOw}6savx;AyZ`?D zKm&Tdcl+PJK+hL8(sf|-%Mq83b@Y5=c{DlRfL_#jin?{^!x??qQy!Uii5as%Gkc1d;sY z{zc1vfoR;1=`AOUF_v?AYwCl=ox?hMKC?XS$Qy(@O{hz+6V?ZPe_(y-gGfR~Om7{% z?i7(nD+;CSXNJwM!=JxpOMh+O&~SLlBUM0R(=ev8r9 zW#QYEF{y>#ACwLqzBv}72A7{q*Ner4U>#i_mWTRedF4>&3hGiE>*F)}qU$PqJ9^8R zHhMnnt`xsc->0oSU(4R7_nEargWgs@15vbz`|_`k>HGJAh6D?GUM4>M=rV@h&tskr zJ-=c(h=is;M%?oUQTX*TO;dV3vhfDyT@bev>uQka3G&kQ_@h%pU&p_?tPgr#vA*v7 z`y9ys;{R6Qe=G3675Lu@{BH&Rw*voLf&Z<*|5o6CEAYP+`2W2EOuXf%x~Nx9OvKrw zFX!z2nb2<$k>Tg0nGk(@pQdInCU{DC<@M8_7@jNdT-H?DC-s4KP9(gq?@s`dDDqsMC$Q&72Rz0h}+FF-)}e zM=RINMkexeQ>#6B$?#>AXg{{OOxVTHe$TITGoeOb8;;yfWkL+seA?nk`v7M4rfc;6 zru_)dXC2x-nc-c{FlpMjjN$FJSX*$1_K{@cK+IbqPJyfYH2`@C@)mG9rLw5&!1*v7 z&G{0IVAdDeN-A{kXCgo81^JbkG6EGTdG%K-neci?LH-vPCd???anZm5OsIy{p$S$7 zOo)$n_Iv%~OmN%bp2F8%Ot46{df+D7-_OJ7_t*g1H;|24n5X>&S=mkD%4EWt zbDn2ZbTDCqA1?azdpr{w;qdj<(&tR5?A3$-`4ddYdxv^!_>A!#<_{t61=dYLo?pmY zfI4?j_W=43qOZ%0(DbIl{ug;nz{b){9n2v(e0yrg3X!`FXi zxbo00CW5&#vNM^_gs+btzlT@MguQo6$$I;a3CsE|bN{v<6XrJWyU%4ujCPp!K-_Dr zJC8i;k@r06RG{t~^ijh3iW|-dDl%GQYqv1MU0JRkW+xe;zsOdr>Kh|CSRZlKC5+*h zyf5$hY|2E`?@GwuIgE*r-zHA2!|qJ>Wg0uoDmLf zJ(f9P5+hhAV~~}i$MA1td!4OIXZYHMZKG7(`49$EDGMp!1ts?+}N zT#Um!eLXC08`iBwp3TVXggVnW-KXEthZXvgWdtV_)fz;v8KKkp3Ab%i86p34WS;8@ zMyNGBagTXABRG9WbU^hXBbYXH#5(7_4F7O^@$F$<4Bz?4GJwJ*sH1du`oq4D`9eq4PUsS)v=a#=Mj}fkj@qhDs1tUyef8Ts1 zJ-&XmTeg8cBUBoBO=+qlBe*p>Y`F1OMi5e5azo6M5lmOSC3*V|!|&>uRO9uT;kQ~x z2brf~jK};t#L?@Gt&2t;dL6R7Yfy)tSATR@{6ZgY=qrK|^!ep)e9}&j`~Kb+-gb;I zn~XhSNbfg^o^|5SqZpy}^?N~no{UgBLa=RF5#?_&tUUOI5o90i6Mm#)pKsFYYkC-g z?bq6%w=*zmWBwQ7j$vIV^4vz=7}Rk`-4^uWjJ`h5*U^_Nijkz}=e+$%Zw4^J{Pz)) zB8};F-sF=dOV5X>T;9~s$BfXTufq$p=zacEuK4HojG)~#vflx^9<_Pexe*^20gUh) zU095NCO&B6TA-krDc;lyv=6qWAkda^-tAFv3|(q4W;=I+QP- z?iC!vco*~M5f_Vf3dj?Jy!5(dbrz%UZ}f2neW@`*pBo|VOEMW@Zn*T)cl16~QBv4& zlAfmzde6OD=gbJ}wPHf9ThsT$f%=h0O&Q^t4}}%tp^R|%ui`IhUl`#A4GFzN^uC$& z;`YVm8!_(3{8_~HVjVrtSsuE6EUzx=_@XX7KCBOVy|TXOeLG?6+A9y~>pS9|eAjR) zBYap{(wPY(BDBE_x`oS40q5q{k?rcq?W2w!{D z&$c2mwd?Vsgu`UXEmLu;R)X7KPH|RqXeMKzF6z+rVRgTu4+r#R{(t(pqwW9z diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8.i b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8.i deleted file mode 100644 index e6aa08ad..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8_out.e deleted file mode 100644 index 98b389f6093951c0fb07cb0f628a312a18b8bbaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159720 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 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17.i b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17.i deleted file mode 100644 index 719299b7..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17_out.e deleted file mode 100644 index c67905c2339fb30dd7b3e5149718b86a2ad24cad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105844 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≷Uw1wtF&%%wLD0v%T5mooUm$xP7?~R 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 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-2_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-2_out.e deleted file mode 100644 index 3670687eb69995789deb3a7d200fbf41ef53378b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105840 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 U&}R(#CS#5_=Bgma6yys3AGsRT9smFU diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5.i b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5.i deleted file mode 100644 index f8fd18ce..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5_out.e deleted file mode 100644 index 5e2518e56962db13f34cfe3f3b46809f4e2fb3d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159720 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 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9.i b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9.i deleted file mode 100644 index 719299b7..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9_out.e deleted file mode 100644 index 3b2f81497311a8d5431d27dd85c9de5bf345c971..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105840 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Ξ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 mqLY-bAH}*K`<BySuKv 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 T&lvPg#vE_VRY8s^$QAxS^8wWx diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16.i b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16.i deleted file mode 100644 index e6aa08ad..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16_out.e deleted file mode 100644 index 32cbd4702e3ca4fbf404ff11d85c44af781a6f18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159724 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

k*CXHgUt+YMp38)5FV} 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 W?;oOLf{)9H?)l}^$93w<@&5q2$C%k9|c- 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 B=-mJS diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7.i b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7.i deleted file mode 100644 index fdf63759..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7_out.e deleted file mode 100644 index 837c9c7d5df4d2435a203e3624ab71e23b194d24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159720 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 A+5i9m diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14.i b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14.i deleted file mode 100644 index d3ed3f24..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14_out.e deleted file mode 100644 index 12f919fc262817a213d3d60be6657d12c213459a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159724 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 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19.i b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19.i deleted file mode 100644 index 83eea962..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19_out.e deleted file mode 100644 index f835f34ae99bae166ad843f6a6859e8bc35e1306..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105844 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π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 R^wq+g9L&{5j&;Zt@js^U8~*?R diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6.i b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6.i deleted file mode 100644 index d3ed3f24..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6_out.e deleted file mode 100644 index 2accd80f0b2f7907c331b73ed31c565a2cd583ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159720 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 z 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%0DW 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.0"] -build-backend = "setuptools.build_meta" - -[project] -name = "mooseherder" -version = "0.1.0" -description = "A herder for calling MOOSE and gmsh to run parallel parametric sweeps of simulations." -authors = [ - { name = "thescepticalrabbit", email = "thescepticalrabbit@gmail.com" }, - { name = "fusmatrs", email = "rory.spencer@ukaea.uk"}, - { name = "lukethehuman", email = "luke.humphrey@ukaea.uk"}, -] -license = { file = "LICENSE" } -readme = "README.md" -classifiers = [ - "Programming Language :: Python :: 3", - "License :: GNU LGPL", - "Operating System :: OS Independent", -] -requires-python = ">=3.11" -dependencies = [ - "numpy>=1.26.0", - "netCDF4>=1.6.5" -] - -[project.urls] -"Repository" = "https://github.com/Applied-Materials-Technology/mooseherder" -"Issue Tracker" = "https://github.com/Applied-Materials-Technology/mooseherder/issues" - -[tool.setuptools.packages.find] -where = ["src"] diff --git a/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_2d.geo b/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_2d.geo deleted file mode 100644 index 9d1f4f07..00000000 --- a/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_2d.geo +++ /dev/null @@ -1,62 +0,0 @@ -// -// Demo input file for parameterised geometries with Gmsh -// Author: Rory Spencer -// Date: Nov-2023 - -// Geometry Variables -gaugeHeight = 10E-3; -gaugeWidth = 2.5E-3; -// gaugeThickness = 1E-3; //2D for now - -// Parameterisation -//_* -p0 = 1.5E-3; -p1 = 1E-3; // Testing comments in the variable block -// Another test comment -p2 = 1.2E-3; -//** -lc = 1E-4; -filename = "mesh_tens_spline_2d.msh"; - - -// Create some points defining the boundary -// Will have vertical symmetry -Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen -Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 -Point(3) = {p1,0,0,lc}; // Parameterised point 1 -Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 -Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line -Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline -Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge - -// Connect things up with some lines -Line(1) = {1,7}; // Bottom Hor Line -Spline(2) = {7,2,3,4,5}; //Vertical up side -Line(3) = {5,6}; // Top Hor Line -Line(4) = {6,1}; // Centreline - -Curve Loop(1) = {1,2,3,4}; -Plane Surface(1) = {1}; - -// Top & Bottom -Transfinite Curve{1} = 10; -Transfinite Curve{3} = 10; - -// Sides -Transfinite Curve{4} = 50; -Transfinite Curve{2} = 50; - -Transfinite Surface{1}; - -Recombine Surface{:}; -Mesh 2; - - -Physical Surface("Specimen",1) = {1}; - -Physical Curve("Top-BC",2) = {3}; -Physical Curve("Mid-BC",3) = {4}; -Physical Curve("Btm-BC",4) = {1}; - -Save Str(filename); -Exit; diff --git a/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_3d.geo b/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_3d.geo deleted file mode 100644 index d7250dc9..00000000 --- a/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_3d.geo +++ /dev/null @@ -1,89 +0,0 @@ -// -// Demo input file for parameterised geometries with Gmsh -// Author: Rory Spencer -// Date: Nov-2023 - -// Geometry Variables -gaugeHeight = 10E-3; -gaugeWidth = 2.5E-3; -gaugeThickness = 1E-3; - -// Parameterisation -//_* -// Testing comments in the variable block -p0 = 1.5E-3; -p1 = 1E-3; // Another test comment -p2 = 1.2E-3; -//** -lc = 1E-4; -filename = "mesh_tens_spline_3d.msh"; - - -// Create some points defining the boundary -// Will have vertical symmetry -Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen -Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 -Point(3) = {p1,0,0,lc}; // Parameterised point 1 -Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 -Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line -Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline -Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge - -// Connect things up with some lines -Line(1) = {1,7}; // Bottom Hor Line -Spline(2) = {7,2,3,4,5}; //Vertical up side -Line(3) = {5,6}; // Top Hor Line -Line(4) = {6,1}; // Centreline - -Curve Loop(1) = {1,2,3,4}; -Plane Surface(1) = {1}; - -// Top & Bottom -Transfinite Curve{1} = 10; -Transfinite Curve{3} = 10; - -// Sides -Transfinite Curve{4} = 50; -Transfinite Curve{2} = 50; - -Transfinite Surface{1}; - -Recombine Surface{:}; - -Extrude {0, 0, gaugeThickness} { Surface{:}; Layers{3}; Recombine;} - -Mesh 3; - -Physical Volume("Specimen",1) = {1}; - - -delta = 0.005E-3; -topsurf() = Surface In BoundingBox -{0-delta,gaugeHeight-delta,0-delta, -gaugeWidth+delta, gaugeHeight+delta,gaugeThickness+delta}; - -btmsurf() = Surface In BoundingBox -{0-delta,-gaugeHeight-delta,0-delta, -gaugeWidth+delta,-gaugeHeight+delta,gaugeThickness+delta}; - -bcksurf() = Surface In BoundingBox -{-1,-gaugeHeight-delta,0-delta, -1,gaugeHeight+delta,0+delta}; - -midsurf() = Surface In BoundingBox -{0-delta,-gaugeHeight-delta,0-delta, -0+delta,gaugeHeight+delta,gaugeThickness+delta}; - -// We now can use these variables to assign physical surfaces. -// Again note the tags! Physical tags start at 1 and tags are shared between all physical entities. -// Physical Volume("Vol",1) and Physical Surface("Sur",1) will cause errors! -// The names given to these surfaces will be used as the BC names in MOOSE. - -Physical Surface("Top-BC",2) = {topsurf()}; -Physical Surface("Btm-BC",3) = {btmsurf()}; -Physical Surface("Bck-BC",4) = {bcksurf()}; -Physical Surface("Mid-BC",5) = {midsurf()}; - - -Save Str(filename); -Exit; diff --git a/dependencies/mooseherder/scripts/gmsh_tens_spline_2d-mod_vars.geo b/dependencies/mooseherder/scripts/gmsh_tens_spline_2d-mod_vars.geo deleted file mode 100644 index 76b0f5c3..00000000 --- a/dependencies/mooseherder/scripts/gmsh_tens_spline_2d-mod_vars.geo +++ /dev/null @@ -1,62 +0,0 @@ -// -// Demo input file for parameterised geometries with Gmsh -// Author: Rory Spencer -// Date: Nov-2023 - -// Geometry Variables -gaugeHeight = 10E-3; -gaugeWidth = 2.5E-3; -// gaugeThickness = 1E-3; //2D for now - -// Parameterisation -//_* -p0 = 0.0018; -p1 = 0.0012; // Testing comments in the variable block -// Another test comment -p2 = 0.001; -//** -lc = 1E-4; -filename = "mesh_tens_spline_2d.msh"; - - -// Create some points defining the boundary -// Will have vertical symmetry -Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen -Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 -Point(3) = {p1,0,0,lc}; // Parameterised point 1 -Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 -Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line -Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline -Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge - -// Connect things up with some lines -Line(1) = {1,7}; // Bottom Hor Line -Spline(2) = {7,2,3,4,5}; //Vertical up side -Line(3) = {5,6}; // Top Hor Line -Line(4) = {6,1}; // Centreline - -Curve Loop(1) = {1,2,3,4}; -Plane Surface(1) = {1}; - -// Top & Bottom -Transfinite Curve{1} = 10; -Transfinite Curve{3} = 10; - -// Sides -Transfinite Curve{4} = 50; -Transfinite Curve{2} = 50; - -Transfinite Surface{1}; - -Recombine Surface{:}; -Mesh 2; - - -Physical Surface("Specimen",1) = {1}; - -Physical Curve("Top-BC",2) = {3}; -Physical Curve("Mid-BC",3) = {4}; -Physical Curve("Btm-BC",4) = {1}; - -Save Str(filename); -Exit; diff --git a/dependencies/mooseherder/scripts/moose-mech_mod-vars.i b/dependencies/mooseherder/scripts/moose-mech_mod-vars.i deleted file mode 100644 index 46fa6efa..00000000 --- a/dependencies/mooseherder/scripts/moose-mech_mod-vars.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 40 # Testing comments in the variables block -e_modulus = 3300000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-creep-gmsh.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-creep-gmsh.i deleted file mode 100644 index 929abe20..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-creep-gmsh.i +++ /dev/null @@ -1,182 +0,0 @@ -# -# This test is Example 2 from "A Consistent Formulation for the Integration -# of Combined Plasticity and Creep" by P. Duxbury, et al., Int J Numerical -# Methods in Engineering, Vol. 37, pp. 1277-1295, 1994. -# -# The problem is a one-dimensional bar which is loaded from yield to a value of twice -# the initial yield stress and then unloaded to return to the original stress. The -# bar must harden to the required yield stress during the load ramp, with no -# further yielding during unloading. The initial yield stress (sigma_0) is prescribed -# as 20 with a plastic strain hardening of 100. The mesh is a 1x1x1 cube with symmetry -# boundary conditions on three planes to provide a uniaxial stress field. -# -# In the PowerLawCreep model, the creep strain rate is defined by: -# -# edot = A(sigma)**n * exp(-Q/(RT)) * t**m -# -# The creep law specified in the paper, however, defines the creep strain rate as: -# -# edot = Ao * mo * (sigma)**n * t**(mo-1) -# with the creep parameters given by -# Ao = 1e-7 -# mo = 0.5 -# n = 5 -# -# thus, input parameters for the test were specified as: -# A = Ao * mo = 1e-7 * 0.5 = 0.5e-7 -# m = mo-1 = -0.5 -# n = 5 -# Q = 0 -# -# The variation of load P with time is: -# P = 20 + 20t 0 < t < 1 -# P = 40 - 40(t-1) 1 < t 1.5 -# -# The analytic solution for total strain during the loading period 0 < t < 1 is: -# -# e_tot = (sigma_0 + 20*t)/E + 0.2*t + A * t**0.5 * sigma_0**n * [ 1 + (5/3)*t + -# + 2*t**2 + (10/7)*t**3 + (5/9)**t**4 + (1/11)*t**5 ] -# -# and during the unloading period 1 < t < 1.5: -# -# e_tot = (sigma_1 - 40*(t-1))/E + 0.2 + (4672/693) * A * sigma_0**n + -# A * sigma_0**n * [ t**0.5 * ( 32 - (80/3)*t + 16*t**2 - (40/7)*t**3 -# + (10/9)*t**4 - (1/11)*t**5 ) - (11531/693) ] -# -# where sigma_1 is the stress at time t = 1. -# -# Assuming a Young's modulus (E) of 1000 and using the parameters defined above: -# -# e_tot(1) = 2.39734 -# e_tot(1.5) = 3.16813 -# -# -# The numerically computed solution is: -# -# e_tot(1) = 2.39718 (~0.006% error) -# e_tot(1.5) = 3.15555 (~0.40% error) -# -[GlobalParams] - displacements = 'disp_x disp_y disp_z' - [] - - [Mesh] - type = FileMesh - file = 'test_mesh.msh' - [] - - [Modules/TensorMechanics/Master] - [./all] - strain = FINITE - incremental = true - add_variables = true - generate_output = 'stress_yy elastic_strain_yy creep_strain_yy plastic_strain_yy' - [../] - [] - - [Functions] - [./top_pull] - type = PiecewiseLinear - x = ' 0 1 1.5' - y = '-20 -40 -20' - [../] - - [./dts] - type = PiecewiseLinear - x = '0 0.5 1.0 1.5' - y = '0.015 0.015 0.005 0.005' - [../] - [] - - [BCs] - [./u_top_pull] - type = Pressure - variable = disp_y - boundary = Top-BC - factor = 0.2 - function = top_pull - [../] - [./u_bottom_fix] - type = DirichletBC - variable = disp_y - boundary = Btm-BC - value = 0.0 - [../] - [./u_yz_fix] - type = DirichletBC - variable = disp_x - boundary = Mid-BC - value = 0.0 - [../] - [./u_xy_fix] - type = DirichletBC - variable = disp_z - boundary = Bck-BC - value = 0.0 - [../] - [] - - [Materials] - [./elasticity_tensor] - type = ComputeIsotropicElasticityTensor - #block = 1 - youngs_modulus = 1e3 - poissons_ratio = 0.3 - [../] - [./creep_plas] - type = ComputeMultipleInelasticStress - #block = 1 - tangent_operator = elastic - inelastic_models = 'creep plas' - max_iterations = 50 - absolute_tolerance = 1e-05 - combined_inelastic_strain_weights = '0.0 1.0' - [../] - [./creep] - type = PowerLawCreepStressUpdate - #block = 0 - coefficient = 0.5e-7 - n_exponent = 5 - m_exponent = -0.5 - activation_energy = 0 - [../] - [./plas] - type = IsotropicPlasticityStressUpdate - #block = 0 - hardening_constant = 100 - yield_stress = 20 - [../] - [] - - [Executioner] - type = Transient - - #Preconditioned JFNK (default) - solve_type = 'PJFNK' - - petsc_options = '-snes_ksp' - petsc_options_iname = '-ksp_gmres_restart' - petsc_options_value = '101' - - line_search = 'none' - - l_max_its = 20 - nl_max_its = 6 - nl_rel_tol = 1e-6 - nl_abs_tol = 1e-7 - l_tol = 1e-5 - l_abs_tol = 1E-7 - start_time = 0.0 - end_time = 1.5 - - [./TimeStepper] - type = FunctionDT - function = dts - [../] - [] - - [Outputs] - exodus = true - [] - - diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o1.i deleted file mode 100644 index 1462059e..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o1.i +++ /dev/null @@ -1,82 +0,0 @@ -#_* Variables -n_elem_x = 40 -n_elem_y = 20 -e_modulus = 1e9 -p_ratio = 0.3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = QUAD4 - # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo0.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo0.i deleted file mode 100644 index f962bd08..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo0.i +++ /dev/null @@ -1,85 +0,0 @@ -#_* Variables -n_elem_x = 40 -n_elem_y = 20 -e_modulus = 1e9 -p_ratio = 0.3 - -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = QUAD8 - # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - material_output_family = MONOMIAL # MONOMIAL, LAGRANGE - material_output_order = CONSTANT # CONSTANT, FIRST, SECOND, - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo1.i deleted file mode 100644 index 8a852f35..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo1.i +++ /dev/null @@ -1,85 +0,0 @@ -#_* Variables -n_elem_x = 40 -n_elem_y = 20 -e_modulus = 1e9 -p_ratio = 0.3 - -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = QUAD8 - # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - material_output_family = MONOMIAL # MONOMIAL, LAGRANGE - material_output_order = FIRST # CONSTANT, FIRST, SECOND, - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo2.i deleted file mode 100644 index 4409d0aa..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo2.i +++ /dev/null @@ -1,85 +0,0 @@ -#_* Variables -n_elem_x = 40 -n_elem_y = 20 -e_modulus = 1e9 -p_ratio = 0.3 - -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = QUAD8 - # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - material_output_family = MONOMIAL # MONOMIAL, LAGRANGE - material_output_order = SECOND # CONSTANT, FIRST, SECOND, - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2.i deleted file mode 100644 index ced3c313..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2.i +++ /dev/null @@ -1,83 +0,0 @@ -#_* Variables -n_elem_x = 40 -n_elem_y = 20 -e_modulus = 1e9 -p_ratio = 0.3 - -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = QUAD8 - # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o1.i deleted file mode 100644 index 82f7bf4d..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o1.i +++ /dev/null @@ -1,92 +0,0 @@ -#_* Variables -n_elem_x = 20 -n_elem_y = 10 -n_elem_z = 10 -e_modulus = 1e9 -p_ratio = 0.3 - -#** - -[GlobalParams] - displacements = 'disp_x disp_y disp_z' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 3 - nx = ${n_elem_x} - ny = ${n_elem_y} - nz = ${n_elem_z} - xmax = 2 - ymax = 1 - zmax = 1 - elem_type = HEX8 - # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [bottom_z] - type = DirichletBC - variable = disp_z - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = -1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2-moo2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2-moo2.i deleted file mode 100644 index 36613b31..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2-moo2.i +++ /dev/null @@ -1,94 +0,0 @@ -#_* Variables -n_elem_x = 20 -n_elem_y = 10 -n_elem_z = 10 -e_modulus = 1e9 -p_ratio = 0.3 - -#** - -[GlobalParams] - displacements = 'disp_x disp_y disp_z' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 3 - nx = ${n_elem_x} - ny = ${n_elem_y} - nz = ${n_elem_z} - xmax = 2 - ymax = 1 - zmax = 1 - elem_type = HEX20 - # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - material_output_family = MONOMIAL # MONOMIAL, LAGRANGE - material_output_order = SECOND # CONSTANT, FIRST, SECOND, - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [bottom_z] - type = DirichletBC - variable = disp_z - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = -1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2.i deleted file mode 100644 index a5f8c760..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2.i +++ /dev/null @@ -1,92 +0,0 @@ -#_* Variables -n_elem_x = 20 -n_elem_y = 10 -n_elem_z = 10 -e_modulus = 1e9 -p_ratio = 0.3 - -#** - -[GlobalParams] - displacements = 'disp_x disp_y disp_z' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 3 - nx = ${n_elem_x} - ny = ${n_elem_y} - nz = ${n_elem_z} - xmax = 2 - ymax = 1 - zmax = 1 - elem_type = HEX20 - # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [bottom_z] - type = DirichletBC - variable = disp_z - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = -1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-sub-dom.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-sub-dom.i deleted file mode 100644 index 7d9aec00..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-sub-dom.i +++ /dev/null @@ -1,94 +0,0 @@ -# -# Added subdomains and subdomain-specific properties -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html -# - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 40 - ny = 20 - xmax = 2 - ymax = 1 - [] - - # assign two subdomains - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '0 0 0' - top_right = '1 1 0' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '1 0 0' - top_right = '2 1 0' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity1] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - block = 1 - [] - [elasticity2] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 5e8 - poissons_ratio = 0.3 - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = NEWTON - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o1.i deleted file mode 100644 index 3c6397cf..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o1.i +++ /dev/null @@ -1,95 +0,0 @@ -# -# Added subdomains and subdomain-specific properties -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html -# - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 40 - ny = 20 - xmax = 2 - ymax = 1 - elem_type = QUAD4 - [] - - # assign two subdomains - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '0 0 0' - top_right = '1 1 0' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '1 0 0' - top_right = '2 1 0' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity1] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - block = 1 - [] - [elasticity2] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 5e8 - poissons_ratio = 0.3 - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo0.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo0.i deleted file mode 100644 index c10034a6..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo0.i +++ /dev/null @@ -1,97 +0,0 @@ -# -# Added subdomains and subdomain-specific properties -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html -# - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 40 - ny = 20 - xmax = 2 - ymax = 1 - elem_type = QUAD8 - [] - - # assign two subdomains - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '0 0 0' - top_right = '1 1 0' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '1 0 0' - top_right = '2 1 0' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - material_output_family = MONOMIAL # MONOMIAL, LAGRANGE - material_output_order = CONSTANT # CONSTANT, FIRST, SECOND, - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity1] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - block = 1 - [] - [elasticity2] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 5e8 - poissons_ratio = 0.3 - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo1.i deleted file mode 100644 index 7682f70b..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo1.i +++ /dev/null @@ -1,97 +0,0 @@ -# -# Added subdomains and subdomain-specific properties -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html -# - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 40 - ny = 20 - xmax = 2 - ymax = 1 - elem_type = QUAD8 - [] - - # assign two subdomains - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '0 0 0' - top_right = '1 1 0' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '1 0 0' - top_right = '2 1 0' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - material_output_family = MONOMIAL # MONOMIAL, LAGRANGE - material_output_order = FIRST # CONSTANT, FIRST, SECOND, - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity1] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - block = 1 - [] - [elasticity2] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 5e8 - poissons_ratio = 0.3 - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo2.i deleted file mode 100644 index e7b4b574..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo2.i +++ /dev/null @@ -1,97 +0,0 @@ -# -# Added subdomains and subdomain-specific properties -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html -# - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 40 - ny = 20 - xmax = 2 - ymax = 1 - elem_type = QUAD8 - [] - - # assign two subdomains - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '0 0 0' - top_right = '1 1 0' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '1 0 0' - top_right = '2 1 0' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - material_output_family = MONOMIAL # MONOMIAL, LAGRANGE - material_output_order = SECOND # CONSTANT, FIRST, SECOND, - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity1] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - block = 1 - [] - [elasticity2] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 5e8 - poissons_ratio = 0.3 - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2.i deleted file mode 100644 index 7ea848aa..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2.i +++ /dev/null @@ -1,95 +0,0 @@ -# -# Added subdomains and subdomain-specific properties -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html -# - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 40 - ny = 20 - xmax = 2 - ymax = 1 - elem_type = QUAD8 - [] - - # assign two subdomains - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '0 0 0' - top_right = '1 1 0' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '1 0 0' - top_right = '2 1 0' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity1] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - block = 1 - [] - [elasticity2] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 5e8 - poissons_ratio = 0.3 - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o1.i deleted file mode 100644 index 6143d8a4..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o1.i +++ /dev/null @@ -1,103 +0,0 @@ -# -# Added subdomains and subdomain-specific properties -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html -# - -[GlobalParams] - displacements = 'disp_x disp_y disp_z' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 3 - nx = 20 - ny = 10 - nz = 5 - xmax = 2 - ymax = 1 - zmax = 1 - elem_type = HEX8 - [] - - # assign two subdomains - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '0 0 0' - top_right = '1 1 1' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '1 0 0' - top_right = '2 1 1' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [bottom_z] - type = DirichletBC - variable = disp_z - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity1] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - block = 1 - [] - [elasticity2] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 5e8 - poissons_ratio = 0.3 - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o2.i deleted file mode 100644 index 5750233e..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o2.i +++ /dev/null @@ -1,103 +0,0 @@ -# -# Added subdomains and subdomain-specific properties -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html -# - -[GlobalParams] - displacements = 'disp_x disp_y disp_z' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 3 - nx = 20 - ny = 10 - nz = 5 - xmax = 2 - ymax = 1 - zmax = 1 - elem_type = HEX20 - [] - - # assign two subdomains - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '0 0 0' - top_right = '1 1 1' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '1 0 0' - top_right = '2 1 1' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [bottom_z] - type = DirichletBC - variable = disp_z - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity1] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - block = 1 - [] - [elasticity2] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 5e8 - poissons_ratio = 0.3 - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-thermal-exp.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-thermal-exp.i deleted file mode 100644 index 7e690b02..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-thermal-exp.i +++ /dev/null @@ -1,119 +0,0 @@ -# -# Added subdomains and subdomain-specific properties -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html -# - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 10 - ny = 20 - xmin = -0.25 - xmax = 0.25 - ymax = 5 - [] - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '-0.25 0 0' - top_right = '0 5 0' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '0 0 0' - top_right = '0.25 5 0' - [] - - # select a single node in the center of the bottom boundary - [pin] - type = ExtraNodesetGenerator - input = block2 - new_boundary = pin - coord = '0 0 0' - [] -[] - -[AuxVariables] - [T] - [] -[] - -[AuxKernels] - [temperature_ramp] - type = FunctionAux - execute_on = TIMESTEP_BEGIN - variable = T - function = 300+5*t - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - automatic_eigenstrain_names = true - generate_output = 'vonmises_stress' - [] -[] - -[BCs] - [pin_x] - type = DirichletBC - variable = disp_x - boundary = pin - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - [] - [expansion1] - type = ComputeThermalExpansionEigenstrain - temperature = T - thermal_expansion_coeff = 0.001 - stress_free_temperature = 300 - eigenstrain_name = thermal_expansion - block = 1 - [] - [expansion2] - type = ComputeThermalExpansionEigenstrain - temperature = T - thermal_expansion_coeff = 0.002 - stress_free_temperature = 300 - eigenstrain_name = thermal_expansion - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = NEWTON - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-two-beams.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-two-beams.i deleted file mode 100644 index e1f27114..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-two-beams.i +++ /dev/null @@ -1,107 +0,0 @@ -# -# Multiple submesh setup with two cantilevers side by side -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step04.html -# - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated1] - type = GeneratedMeshGenerator - dim = 2 - nx = 10 - ny = 100 - xmin = -0.6 - xmax = -0.1 - ymax = 5 - #bias_y = 0.9 - boundary_name_prefix = pillar1 - [] - [generated2] - type = GeneratedMeshGenerator - dim = 2 - nx = 10 - ny = 100 - xmin = 0.1 - xmax = 0.6 - ymax = 5 - #bias_y = 0.9 - boundary_name_prefix = pillar2 - boundary_id_offset = 4 - [] - [collect_meshes] - type = MeshCollectionGenerator - inputs = 'generated1 generated2' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - strain = FINITE - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz strain_xy' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = 'pillar1_bottom pillar2_bottom' - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = 'pillar1_bottom pillar2_bottom' - value = 0 - [] - [Pressure] - [sides] - boundary = 'pillar1_left pillar2_right' - function = 1e4*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - [] - # we anticipate large deformation - [stress] - type = ComputeFiniteStrainElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = NEWTON - line_search = none - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 0.5 - [Predictor] - type = SimplePredictor - scale = 1 - [] -[] - -[Postprocessors] - [max] - type = NodalExtremeValue - variable = disp_x - value_type = max - [] -[] - -[Outputs] - exodus = true - csv = true - perf_graph = false -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose/moose-mech-gmsh.i b/dependencies/mooseherder/scripts/moose/moose-mech-gmsh.i deleted file mode 100644 index b6dd5443..00000000 --- a/dependencies/mooseherder/scripts/moose/moose-mech-gmsh.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables -e_modulus = 1e9 -p_ratio = 0.3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - type = FileMesh - file = 'mesh_tens_spline_2d.msh' -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [./u_top_pull] - type = Pressure - variable = disp_y - boundary = Top-BC - function = -1e7*t - [../] - [./u_bottom_fix] - type = DirichletBC - variable = disp_y - boundary = Btm-BC - value = 0.0 - [../] - [./u_yz_fix] - type = DirichletBC - variable = disp_x - boundary = Mid-BC - value = 0.0 - [../] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - #type = ComputeFiniteStrainElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = 2 - dt = 1 -[] - - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose/moose-mech-outtest.i b/dependencies/mooseherder/scripts/moose/moose-mech-outtest.i deleted file mode 100644 index ea705aff..00000000 --- a/dependencies/mooseherder/scripts/moose/moose-mech-outtest.i +++ /dev/null @@ -1,115 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1e9 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress stress_yy stress_xx stress_xy strain_xx strain_yy strain_xy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - #exodus = true - [./out] - type = Exodus - elemental_as_nodal = true - [../] - csv = true -[] - -[Postprocessors] - [./react_y] - type = SidesetReaction - direction = '0 1 0' - stress_tensor = stress - boundary = 'bottom' - [../] - [./max_y_disp] - type = NodalExtremeValue - variable = disp_y - [../] - [./max_yy_stress] - type = ElementExtremeValue - variable = stress_yy - [../] - [./avg_yy_stress] - type = ElementAverageValue - variable = stress_yy - [../] -[] - - diff --git a/dependencies/mooseherder/scripts/moose/moose-mech-simple.i b/dependencies/mooseherder/scripts/moose/moose-mech-simple.i deleted file mode 100644 index 079a7293..00000000 --- a/dependencies/mooseherder/scripts/moose/moose-mech-simple.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1e9 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/src/mooseherder/__init__.py b/dependencies/mooseherder/src/mooseherder/__init__.py deleted file mode 100644 index 83b304f7..00000000 --- a/dependencies/mooseherder/src/mooseherder/__init__.py +++ /dev/null @@ -1,28 +0,0 @@ -# -*- coding: utf-8 -*- -""" -MOOSE Herder -""" - -from mooseherder.inputmodifier import InputModifier -from mooseherder.simrunner import SimRunner -from mooseherder.mooserunner import MooseRunner -from mooseherder.gmshrunner import GmshRunner -from mooseherder.exodusreader import ExodusReader -from mooseherder.mooseherd import MooseHerd -from mooseherder.directorymanager import DirectoryManager -from mooseherder.sweepreader import SweepReader -from mooseherder.simdata import SimData -from mooseherder.simdata import SimReadConfig -from mooseherder.mooseconfig import MooseConfig - - -__all__ = ["inputmodifier", - "simrunner", - "mooserunner", - "gmshrunner", - "exodusreader", - "mooseherd", - "directorymanager", - "sweepreader", - "simdata", - "mooseconfig"] diff --git a/dependencies/mooseherder/src/mooseherder/directorymanager.py b/dependencies/mooseherder/src/mooseherder/directorymanager.py deleted file mode 100644 index 0f8fffe3..00000000 --- a/dependencies/mooseherder/src/mooseherder/directorymanager.py +++ /dev/null @@ -1,302 +0,0 @@ -''' -=============================================================================== -Directory Manager Class - -Authors: Lloyd Fletcher -=============================================================================== -''' - -import os -import shutil -import json -from pathlib import Path - -class DirectoryManager: - """ Manages directories for running simulations in parallel with the - mooseherd. - """ - def __init__(self, n_dirs: int = 1) -> None: - """__init__ - - Args: - n_dirs (int, optional): number of directories to be created. - Defaults to 1. - """ - self._n_dirs = n_dirs - self._sub_dir = 'sim-workdir' - self._base_dir = Path().cwd() - self._run_dirs = self._set_run_dirs() - self._output_paths = list([]) - self._output_key_tag = 'output-key' - self._sweep_var_tag = 'sweep-vars' - - - def _set_run_dirs(self) -> list[Path]: - """_set_run_dirs: helper function that populates the list of - directories that will be created by the manager. Uses the base directory - at the start of the path and then creates numbered sub-directory paths - based on the sub directory name and number of directories specified. - - Returns: - list[Path]: - """ - run_dirs = list([]) - for nn in range(self._n_dirs): # type: ignore - run_dirs.append(self._base_dir / (self._sub_dir + '-' + str(nn+1))) - - return run_dirs - - - def set_sub_dir_name(self, sub_dir_name: str) -> None: - """set_sub_dir_name: used to set the string used at the start of the - created sub-directores. default on creation is 'sim-workdir'. Populates - the list of run directories using the new sub directory name. - - Args: - sub_dir_name (str): string to be used to name the created - sub-directories within the base directory. - """ - self._sub_dir = sub_dir_name - self._run_dirs = self._set_run_dirs() - - - def set_base_dir(self, base_dir: Path, clear_old_dirs = False) -> None: - """set_base_dir: sets the base directory to create sub-directors for - running the simulations. The base directory must exist. - - Args: - base_dir (Path): directory in which the new working directories will - be created. - clear_old_dirs (bool, optional): deletes previous directories in - the base directory and their contents if they exist. Defaults - to False. - - Raises: - FileExistsError: the selected base directory does no exist. - """ - if not base_dir.is_dir(): - raise FileExistsError("Specified base directory does not exist.") - - if clear_old_dirs: - self.clear_dirs() - - self._base_dir = base_dir - self._run_dirs = self._set_run_dirs() - - - def get_output_key_tag(self) -> str: - """get_output_key_tag: returns the string used to name the output - key files that map the simulation outputs to the various directories - that are being managed. - - Returns: - str: common string used to name the output key json files. - """ - return self._output_key_tag - - - def get_sweep_var_tag(self) -> str: - """get_sweep_var_tag: returns ths string used to name the sweep - variable json file that contains a copy of the dictionary the user - provided as part of the parameter sweep. - - Returns: - str: common string used to name the sweep variable json files. - """ - return self._sweep_var_tag - - - def create_dirs(self) -> list[Path]: - """create_dirs: Creates the specified number of directories based on - the sub_dir name within the base directory. - - Returns: - list[Path]: list of paths to the directories to create. - """ - for rr in self._run_dirs: - if not rr.is_dir(): - rr.mkdir() - - return self._run_dirs - - - def clear_dirs(self) -> None: - """clear_dirs: deletes all working directories in the base directory - that have the corresponding sub-directory name and their contents. - """ - all_dirs = os.listdir(self._base_dir) - for dd in all_dirs: - if os.path.isdir(self._base_dir / dd): - if self._sub_dir in dd: - shutil.rmtree(self._base_dir / dd) - - - def get_all_run_dirs(self) -> list[Path]: - """get_all_run_dirs: returns the list of paths to all the directories - that can be used to run simulations. - - Returns: - list[Path]: paths to all created directories. - """ - return self._run_dirs - - - def get_run_dir(self, dir_num: int) -> Path: - """get_run_dir: returns the path to the run directory based on the - input directory number. The directory number can be greater than the - number of managed directories in the run_dirs list in this case the - directory number will wrap and point at an existing run directory - allowing multiple simulations to be run in the same directory. - - Args: - dir_num (int): number of the directory path to be retrieved. Can be - greater than the specified number of directories and will wrap - appropriately - - Returns: - Path: path to the directory - """ - if dir_num < 0: - dir_num = 0 - elif dir_num >= self._n_dirs: - dir_num = dir_num % self._n_dirs - - return self._run_dirs[dir_num] - - - def set_output_paths(self, output_paths: list[list[Path | None]]) -> None: - """set_output_paths: sets the list of lists to the simulation output - based on herder input. - - Args: - output_paths (list[list[Path]]): paths to all outputs from the - variable sweep. Outer list is the variable combination run - inner list is based on the order the simulations were called. - """ - self._output_paths = output_paths - - - def get_output_paths(self) -> list[list[Path | None]]: - """get_output_paths: returns the list of lists to the simulation output - files. - - Returns: - list[list[Path]]: paths to all outputs from the variable sweep. - Outer list is the variable combination run inner list is based - on the order the simulations were called. - """ - return self._output_paths - - - def get_output_key_file(self, sweep_iter: int = 1) -> Path: - """get_output_key_file: gets the path to the output key file created - during the variable sweep mapping directories to given combinations - of variables that were run. - - Args: - sweep_iter (int): number corresponding to the sweep iteration to - retrieve. Defaults to 1. - - Returns: - Path: path to the output key file that maps output paths to the - combinations of variables in the sweep. - """ - return self._run_dirs[0] / f'{self._output_key_tag}-{sweep_iter:d}.json' - - - def write_output_key(self, sweep_iter: int) -> None: - """write_output_key: converts the output paths to strings and saves - them in json format. - - Args: - sweep_iter (int): number corresponing to the sweep iteration to - write. The sweep iteration is used to number the output key - files. - """ - str_output = output_paths_to_str(self._output_paths) - - with open(self.get_output_key_file(sweep_iter), "w", encoding='utf-8') as okf: - json.dump(str_output, okf, indent=4) - - - def get_sweep_var_file(self, sweep_iter: int = 1) -> Path: - """get_sweep_var_file: path to the json file which contains the - dictionary of variables that were analysed at the given sweep iteration - - Args: - sweep_iter (int, optional): Sweep iteration (call number to herd - run_para). Defaults to 1. - - Returns: - Path: path to the json sweep variable file. - """ - return self._run_dirs[0] / f'{self._sweep_var_tag}-{sweep_iter:d}.json' - - - def write_sweep_vars(self, - sweep_vars: list[list[dict | None]], - sweep_iter: int = 1) -> None: - """write_sweep_vars: writes the sweep variable dictionary to a json - file to log the variables used for each simulation. - - Args: - sweep_vars (list[list[dict[str, Any]]]): sweep variables as passed - to the herd to run. - sweep_iter (int, optional): iteration number for number of calls to the - herd. Defaults to 1. - """ - with open(self.get_sweep_var_file(sweep_iter), "w", encoding='utf-8') as okf: - json.dump(sweep_vars, okf, indent=4) - - - -def output_paths_to_str(output_files: list[list[Path | None]] - ) -> list[list[str | None]]: - """output_paths_to_str: helper function for converting the output paths - to strings to allow them to be saved as json. - - Args: - output_files (list[list[Path]]): - - Returns: - list[list[str]]: as input with Path converted to str - """ - str_output = list([]) - for sim_iter in output_files: - iter_output = list([]) - for output_path in sim_iter: - if output_path is None: - iter_output.append(None) - else: - iter_output.append(str(output_path)) - - str_output.append(iter_output) - - return str_output - - -def output_str_to_paths(output_files: list[list[str | None]] - ) -> list[list[Path | None]]: - """output_str_to_paths: helper function to convert strings read from output - key json to paths. - - Args: - output_files (list[list[str]]): output file list of path strings as in - the output key file. - - Returns: - list[list[Path]]: as input with str converted to Path. - """ - str_output = list([]) - - for sim_iter in output_files: - iter_output = list([]) - for output_path in sim_iter: - if output_path is None: - iter_output.append(None) - else: - iter_output.append(Path(output_path)) - - str_output.append(iter_output) - - return str_output diff --git a/dependencies/mooseherder/src/mooseherder/exodusreader.py b/dependencies/mooseherder/src/mooseherder/exodusreader.py deleted file mode 100644 index 93f3dbbd..00000000 --- a/dependencies/mooseherder/src/mooseherder/exodusreader.py +++ /dev/null @@ -1,590 +0,0 @@ -""" -=============================================================================== -EXODUS READER -Used to read output *.e from MOOSE simulations. - -There are several different cases that lead to different MOOSE output formats. - -1) Outputs can have 2 or 3 spatial dimensions for nodal DOFs - (e.g. disp_x, disp_y and possibly disp_z) -2) Element output may or may not be present (e.g. stress/strain) - 2.1) Element outputs might appear as nodal variables if - material_output_order = FIRST or greater - 2.2) Element output is split by block if material_output_order = CONSTANT -4) Sub-domains may or may not be present but see 2.1 above for exception - -Authors: Lloyd Fletcher, Rory Spencer -=============================================================================== -""" -from pathlib import Path -import netCDF4 as nc -import numpy as np -from mooseherder.simdata import SimData, SimReadConfig -from mooseherder.outputreader import OutputReader - - -class ExodusReader(OutputReader): - """Class to read exodus files output by MOOSE using the netCDF package. - This class handles extracting the data from the exodus file and creates - a SimData object with the required data. Most used cases are covered with - by creating an ExodusReader and then calling either read_sim_data() or - read_all_sim_data() specified at the bottom of the class. - """ - def __init__(self, output_file: Path) -> None: - """__init__: Construct class by reading the exodus file using the - netCDF package. The exodus file must exist. - - Args: - output_file (Path): path to the exodus file to read - - Raises: - FileNotFoundError: the specified exodus file does not exist - """ - - if not output_file.is_file() and output_file.suffix != '.e': - raise FileNotFoundError('Exodus file not found at specified path') - - self._exodus_path = output_file - self._data = nc.Dataset(str(self._exodus_path)) - - - def get_names(self, key: str | None) -> np.ndarray | None: - """get_names: Extract a list of variable names from the dataset. Useful - for getting node/element/sideset/global variables names. - - Args: - key (str | None): string key used to extract a list of names from - the dataset e.g. 'node_var_names'. If key is None returns None. - - Returns: - np.ndarray | None: numpy array of strings representing the names - that correspond to the variables in the dataset. Returns None - if the specified key does not exist in the dataset. - """ - if key not in self._data.variables or key is None: - return None - - return nc.chartostring(np.array(self._data.variables[key])) - - - def get_var(self, key: str, time_inds: np.ndarray | None = None - ) -> np.ndarray: - """get_var: Extract a numeric variable from the dataset. - - Args: - key (str): key corresponding to the variable in the dataset. e.g. - 'time_whole' - - Returns: - np.ndarray: numpy numeric array containing the variable data. - """ - if key not in self._data.variables: - return np.array([]) - - data = np.array(self._data.variables[key]).T - - if time_inds is None: - return data - - return data[:,time_inds] - - - def get_key(self, - name: str, - all_names: np.ndarray, - key_tag: str) -> str | None: - """get_key: builds the key required to extract a given variable from - the exodus dataset. - - Args: - all_names (np.ndarray): all possible name keys extracted using the - get names function. - name (str): the specific name key that the user wants to extract - key_tag (str): the string tag that is prepended to get the variable - from the dataset. - - Returns: - str | None: the string key in the dataset to get the variable - """ - inds = np.where(all_names == name)[0] - if inds.shape[0] == 0: - return None - - key = f'{key_tag}{inds[0]+1:d}' - return key - - - def get_connectivity_names(self) -> np.ndarray: - """get_connectivity_names: gets the connectivity names in the exodus - dataset. These are of the form 'connect1', 'connect2' etc. - - Returns: - np.ndarray: array of element connectivity keys as strings of the - form connectX where X is an integer of 1 or greater e.g. - connect1. - """ - names = np.array([]) - for bb in range(self.get_num_elem_blocks()): - key = f'connect{bb+1:d}' - if key in self._data.variables: - names = np.append(names,key) - - return names - - - def get_connectivity(self) -> dict[str,np.ndarray]: - """get_connectivity: returns the connectivity table as a dictionary - keyed with the name 'connectX' and the table itseld as numpy array. - - Returns: - dict[str,np.ndarray]: dictionary containing the element - connectivity tables based on keys related to the subdomain e.g. - key 'connect1' returns the element connectivity table for - subdomain 1. The table has dimensions N by n_e where N is the - total number of nodes in the subdomain and n_e is the number - of nodes per element. - """ - connect = dict({}) - for key in self.get_connectivity_names(): - connect[key] = self.get_var(key) - - return connect - - - def get_sideset_names(self) -> np.ndarray | None: - """get_sideset_names: returns the sideset names as a numpy array of - strings. - - Returns: - np.ndarray | None: numpy array of strings corresponding to the - sideset names specified in the simulation. Returns None if no - sideset names are found. - """ - return self.get_names('ss_names') - - - def get_sidesets(self, names: np.ndarray | None - ) -> dict[tuple[str,str], np.ndarray] | None: - """get_sidesets: returns the sidesets as a dictionary keyed by a tuple - of ('sideset_name', 'node' | 'elem'). Gives either the list of node - numbers or element numbers based on the specified key. - - Args: - names (np.ndarray | None): numpy array of strings specifying the - sideset names to extract from the dataset. If None return None. - - Returns: - dict[tuple[str,str], np.ndarray] | None: dictionary of sideset - nodes and element sets by name. The key is a tuple with the - first string being the sideset name and the second being either - 'node' or 'elem'. Returns None if no sidesets found. - """ - all_names = self.get_sideset_names() - - if names is None or all_names is None: - return None - - node_key_tag = 'node_ns' - elem_key_tag = 'elem_ss' - - side_sets = dict({}) - for nn in names: # type: ignore - node_key = self.get_key(nn,all_names,node_key_tag) - elem_key = self.get_key(nn,all_names,elem_key_tag) - - if node_key is None: - side_sets[(nn,'node')] = None - else: - side_sets[(nn,'node')] = self.get_var(node_key) - - if elem_key is None: - side_sets[(nn,'elem')] = None - else: - side_sets[(nn,'elem')] = self.get_var(elem_key) - - return side_sets - - - def get_all_sidesets(self) -> dict[tuple[str,str], np.ndarray] | None: - """get_all_sidesets: returns all sidesets as a dictionary keyed by a tuple - of ('sideset_name', 'node' | 'elem'). Gives either the list of node - numbers or element numbers based on the specified key. - - Returns: - dict[tuple[str,str], np.ndarray] | None: dictionary of sideset - nodes and element sets by name. The key is a tuple with the - first string being the sideset name and the second being either - 'node' or 'elem'. Returns None if no sidesets found. - """ - - return self.get_sidesets(self.get_sideset_names()) - - - def get_node_var_names(self) -> np.ndarray | None: - """get_node_var_names: gets the nodal variable names as a numpy array - of strings e.g. np.array(['disp_x','disp_y']) - - Returns: - np.ndarray | None: numpy array of strings containing the nodal - variable names. Returns None if no nodal variables are found. - """ - return self.get_names('name_nod_var') - - - def get_node_vars(self, - names: np.ndarray | None, - time_inds: np.ndarray | None = None - ) -> dict[str,np.ndarray] | None: - """get_node_vars: gets the specified nodal variables as a dictionary - keyed by the variable name (e.g. 'disp_x') where the nodal variable is - given as a numpy array of dimensions NxT where N is the number of nodes - and T is the number of time steps in the simulation. - - Args: - names (np.ndarray | None): numpy array of strings that are the - variables to be extracted from the exodus dataset. - - Returns: - dict[str,np.ndarray] | None: dictionary of requested nodal - variables. Keys are nodal variable names e.g. 'disp_x' and the - variable data is given as a numpy array. returns None if no - nodal variables are found. - """ - if names is None: - return None - - all_names = self.get_node_var_names() - key_tag = 'vals_nod_var' - vars = dict({}) - - for nn in names: # type: ignore - inds = np.where(all_names == nn)[0] - key = f'{key_tag}{inds[0]+1:d}' - vars[nn] = self.get_var(key,time_inds) - - return vars - - - def get_all_node_vars(self) -> dict[str, np.ndarray] | None: - """get_all_node_vars: as get_node_vars but returns all nodal variables - found in the dataset. Gets all specified nodal variables as a dictionary - keyed by the variable name (e.g. 'disp_x') where the nodal variable is - given as a numpy array of dimensions NxT where N is the number of nodes - and T is the number of time steps in the simulation. - - Returns: - dict[str, np.ndarray] | None: dictionary of requested nodal - variables. Keys are nodal variable names e.g. 'disp_x' and the - variable data is given as a numpy array. returns None if no - nodal variables are found. - """ - return self.get_node_vars(self.get_node_var_names()) - - - def get_elem_var_names(self) -> np.ndarray | None: - """get_elem_var_names: gets the element variable names as a numpy array - of strings if they exist. Note that there are several cases where the - element variables may be interpolated to nodes and stored as nodal data - - Returns: - np.ndarray | None: element variable names as a numpy array of - strings. An example variable name is 'strain_xx'. Returns None - if no element variable names exist in the dataset. - """ - return self.get_names('name_elem_var') - - - def get_num_elem_blocks(self) -> int: - """get_num_elem_blocks: gets the number of element blocks (i.e. - sub-domains) in the simulation. These are used to partition the element - data. - - Returns: - int: number of element blocks/sub-domains in the simulation. - """ - return self.get_names('eb_names').shape[0] # type: ignore - - - def get_elem_var_names_and_blocks(self) -> list[tuple[str,int]] | None: - """get_elem_var_names_and_blocks: returns a list of all possible - combinations of element variables names and block numbers present in - the dataset. - - Returns: - list[tuple[str,int]] | None: list of tuples containing the element - variable names and block numbers. Returns None if there are no - element variable name or element blocks. - """ - if self.get_elem_var_names() is None or self.get_num_elem_blocks() is None: - return None - - blocks = [ii+1 for ii in range(self.get_num_elem_blocks())] # type: ignore - names_blocks = list([]) - - for nn in self.get_elem_var_names(): # type: ignore - for bb in blocks: - names_blocks.append((str(nn),bb)) - - return names_blocks - - - def get_elem_vars(self, - names_blocks: list[tuple[str,int]] | None, - time_inds: np.ndarray | None = None - ) -> dict[tuple[str,int],np.ndarray] | None: - """get_elem_vars: gets the element variables as a dictionary keyed by - tuples which containg the element variable name and the block number. - For example: ('strain_xx',1). The element data is given as a numpy - array with dimensions E_bxT where E_b is the number of element in the - block and T is the number of time steps. - - Args: - names_blocks (list[tuple[str,int]] | None): list of tuples - containing the combination of element variables names and - blocks to be extracted from the dataset. - - Returns: - dict[tuple[str,int],np.ndarray] | None: contains the variables - requested keyed using the input names_blocks with the data - given as a numpy array. - """ - all_names = self.get_elem_var_names() - - if all_names is None or names_blocks is None: - return None - - key_tag = 'vals_elem_var' - - vars = dict({}) - for nn in names_blocks: - key = self.get_key(nn[0],all_names,key_tag) + f'eb{nn[1]:d}' # type: ignore - vars[nn] = self.get_var(key,time_inds) - - return vars - - - def get_all_elem_vars(self) -> dict[tuple[str,int], np.ndarray] | None: - """get_all_elem_vars: gets all element variables as a dictionary keyed by - tuples which containg the element variable name and the block number. - For example: ('strain_xx',1). The element data is given as a numpy - array with dimensions E_bxT where E_b is the number of element in the - block and T is the number of time steps. - - - Returns: - dict[tuple[str,int], np.ndarray] | None: contains the variables - requested keyed using the input names_blocks with the data - given as a numpy array. - """ - - return self.get_elem_vars(self.get_elem_var_names_and_blocks()) - - - def get_glob_var_names(self) -> np.ndarray | None: - """get_glob_var_names: gets the names of all global variables in the - dataset. Global variables include the output of all MOOSE post- - processors. - - Returns: - np.ndarray | None: numpy array containing the global variable - names as strings. - """ - return self.get_names('name_glo_var') - - - def get_glob_vars(self, - names: np.ndarray | None, - time_inds: np.ndarray | None = None - ) -> dict[str, np.ndarray] | None: - """get_glob_vars: gets the specified global variables as a dictionary - keyed by the variable name specified in the MOOSE input file. The data - is given as a numpy array of T dimensions where T is the number of time - steps. - - Args: - names (np.ndarray | None): numpy array of strings specifying the - global variable names to extract from the dataset. If this is - None then return None. - - Returns: - dict[str, np.ndarray] | None: dictionary keyed with the global - variable names requested giving the data as a numpy array. - """ - all_names = self.get_glob_var_names() - - if all_names is None or names is None: - return None - - key = 'vals_glo_var' - - glob_vars = dict({}) - for nn in names: # type: ignore - inds = np.where(all_names == nn)[0] - if time_inds is None: - glob_vars[nn] = np.array(self._data.variables[key][:,inds[0]]) - else: - data = np.array(self._data.variables[key][:,inds[0]]) - data = data[time_inds] - glob_vars[nn] = data - - return glob_vars - - - def get_all_glob_vars(self) -> dict[str, np.ndarray] | None: - """get_all_glob_vars: gets all global variables as a dictionary - keyed by the variable name specified in the MOOSE input file. The data - is given as a numpy array of T dimensions where T is the number of time - steps. - - Returns: - dict[str, np.ndarray] | None: dictionary keyed with all global - variable names giving the data as numpy arrays. - """ - return self.get_glob_vars(self.get_glob_var_names()) - - - def get_coords(self) -> tuple[np.ndarray,int]: - """Gets the nodal coordinates in each spatial dimension setting any - undefined dimensions to zeros. - - Raises: - RuntimeError: no spatial dimensions found. - - Returns: - np.array: returns the nodal coordinates as an array with shape - (N,3) where N is the number of nodes and the three columns - are the (x,y,z) spatial dimensions. - """ - # If the problem is not 3D any of these could not exist - x = self.get_var('coordx') - y = self.get_var('coordy') - z = self.get_var('coordz') - - # Problem has to be at least 1D in space if not raise an error - num_coords = np.max(np.array([x.shape[0],y.shape[0],z.shape[0]])) - if num_coords == 0: - raise RuntimeError("No spatial coordinate dimensions detected, problem must be at least 1D.") - - # Any dimensions that do not exist are assumed to be zeros - x = self._expand_coord(x,num_coords) - y = self._expand_coord(y,num_coords) - z = self._expand_coord(z,num_coords) - - return (np.vstack((x,y,z)).T,num_coords) - - - def _expand_coord(self, coord: np.ndarray, dim: int) -> np.ndarray: - """Helper function to create an array of zeros to pad any spatial - dimensions that are not defined for the simulation. - - Args: - coord (np.array): the coordinate array. - dim (int): the size of the vector of zeros to create if coord is - empty. - - Returns: - np.array: returns a vector of zeros with shape (dim,) if the - input array is empty, otherwise return the input coord array. - """ - if coord.shape[0] == 0: - return np.zeros([dim,]) - - return coord - - - def get_time(self, time_inds: np.ndarray | None = None) -> np.ndarray: - """Get a vector of simulation time steps. - - Returns: - np.array: returns an array with shape (T,) where T is the number - of time steps and the values of the elements are the simulation - time and each time step. - """ - time_steps = np.array([] - ) - if 'time_whole' in self._data.variables: - time_steps = np.array(self._data.variables['time_whole']) - - if time_inds is not None: - time_steps = time_steps[time_inds] - - return time_steps - - - def print_vars(self) -> None: - """Prints all variable strings in the exodus file to console. - """ - for vv in self._data.variables: - print(vv) - - def get_read_config(self) -> SimReadConfig: - """get_read_config: constructs a SimReadConfig object by extracting - all the variable names found in the exodus dataset. Useful for creating - a mostly populated SimReadConfig and removing variables that are - unwanted. - - Returns: - SimReadConfig: data class containing names of variables to be - extracted from the exodus dataset. See mooseherder.simdata. - """ - read_config = SimReadConfig() - - read_config.sidesets = self.get_sideset_names() - read_config.node_vars = self.get_node_var_names() - read_config.elem_vars = self.get_elem_var_names_and_blocks() - read_config.glob_vars = self.get_glob_var_names() - - return read_config - - - def read_sim_data(self, - read_config: SimReadConfig) -> SimData: - """read_sim_data: reads the simulation data based on the specified - SimReadConfig object. - - Args: - read_config (SimReadConfig): data class containing the names of - the variables that are to be extracted from the exodus dataset. - - Returns: - SimData: data class containing data from the simulation. - """ - data = SimData() - - if read_config.time: - data.time = self.get_time(read_config.time_inds) - if read_config.coords: - (data.coords,data.num_spat_dims) = self.get_coords() - if read_config.connect: - data.connect = self.get_connectivity() - - data.side_sets = self.get_sidesets(read_config.sidesets) - - data.node_vars = self.get_node_vars(read_config.node_vars, - read_config.time_inds) - data.elem_vars = self.get_elem_vars(read_config.elem_vars, - read_config.time_inds) - data.glob_vars = self.get_glob_vars(read_config.glob_vars, - read_config.time_inds) - - return data - - - def read_all_sim_data(self) -> SimData: - """read_all_sim_data: gets all simulation data from the exodus dataset. - - Returns: - SimData: data class containing the data from the simulation. - """ - data = SimData() - - data.time = self.get_time() - (data.coords,data.num_spat_dims) = self.get_coords() - data.connect = self.get_connectivity() - data.side_sets = self.get_all_sidesets() - data.node_vars = self.get_all_node_vars() - data.elem_vars = self.get_all_elem_vars() - data.glob_vars = self.get_all_glob_vars() - - return data - diff --git a/dependencies/mooseherder/src/mooseherder/gmshrunner.py b/dependencies/mooseherder/src/mooseherder/gmshrunner.py deleted file mode 100644 index 475be2ec..00000000 --- a/dependencies/mooseherder/src/mooseherder/gmshrunner.py +++ /dev/null @@ -1,120 +0,0 @@ -''' -=============================================================================== -Gmsh Runner Class - -Authors: Rory Spencer, Lloyd Fletcher -=============================================================================== -''' -import os -import subprocess -from pathlib import Path -from mooseherder.simrunner import SimRunner - -class GmshRunner(SimRunner): - """Used to call gmsh to create a mesh file to be used to run a finite - element simulation. Implements the SimRunner abstract interface so that it - can be used by the herd. - """ - def __init__(self, gmsh_app: Path | None = None): - """Create a gmsh runner with path to the gmsh app. - - Args: - gmsh_app (Path, optional): full path to the gmsh app. Defaults to None. - """ - if gmsh_app is None: - self._gmsh_app = None - else: - self.set_gmsh_app(gmsh_app) - - self._input_path = None - self._arg_list = [] - - def set_gmsh_app(self, gmsh_app: Path) -> None: # type: ignore - """Sets path to the gmsh app. - - Args: - gmsh_app (str): full path to the gmsh app. - - Raises: - FileNotFoundError: gmsh app does not exist at the specified path. - """ - if not gmsh_app.exists(): - raise FileNotFoundError('Gmsh app not found at given path.') - - self._gmsh_app = gmsh_app - - - def get_input_file(self) -> Path | None: - """get_input_path: the path to the input file to run gmsh with. - - Returns: - Path | None: path to the gmsh *.geo file. - """ - return self._input_path - - - def set_input_file(self, input_path: Path) -> None: - """Sets the input geo file for gmsh. - - Args: - input_file (str): Full path - - Raises: - FileNotFoundError: Not a .geo file - FileNotFoundError: Geo file does not exist - """ - if input_path.suffix != '.geo': - raise FileNotFoundError('Incorrect file type. Must be *.geo.') - - if not input_path.exists(): - raise FileNotFoundError('Specified gmsh geo file does not exist.') - - self._input_path = input_path - - - def run(self, input_file: Path | None = None, parse_only: bool = True) -> None: - """Run the geo file to create the mesh. - - Args: - input_file (str, optional): Path to the .geo file containing the input. - Can also be preset using set_input_file. Defaults to "" and ises - the input file specified using set_input_file. - - Raises: - RuntimeError: the path to the gmsh app is empty and must be - specified first. - RuntimeError: the input file string is empty and must be specified - first. - """ - if input_file is not None: - self.set_input_file(input_file) - - if self._gmsh_app is None: - raise RuntimeError("Specify the full path to the gmsh app before calling run.") - - if self._input_path is None: - raise RuntimeError("Specify input *.geo file before running gmsh.") - - arg_list = [str(self._gmsh_app)] - if parse_only is True: - arg_list = arg_list+["-parse_and_exit"] - - self._arg_list = arg_list + [str(self._input_path)] - - print(f'arg_list={self._arg_list}') - - subprocess.run(self._arg_list, - shell=False, - check=False) - - - def get_output_path(self) -> Path | None: - """get_output_path: default return None for gmsh as there is no output - to be read after the simulation has run. This information is stored in - the exodus. - - Returns: - Path | None: Default returns None. - """ - return None - diff --git a/dependencies/mooseherder/src/mooseherder/inputmodifier.py b/dependencies/mooseherder/src/mooseherder/inputmodifier.py deleted file mode 100644 index c14b44dd..00000000 --- a/dependencies/mooseherder/src/mooseherder/inputmodifier.py +++ /dev/null @@ -1,197 +0,0 @@ -""" -=============================================================================== -InputModifier Class - -Authors: Lloyd Fletcher, Rory Spencer -=============================================================================== -""" -from pathlib import Path - - -class InputModifier: - """ - Class to modify variables in generic text-based input files. - - Once variables have been modified by the user by passing in a dictionary of - new variables the input can be written to file. - - Variable definition blocks should begin #comment character#* and end - #comment character#**, e.g. //_* and //** for gmsh or #_* and #** for - moose. - """ - - def __init__( - self, - input_file: Path, - comment_char="#", - end_char="", - var_start="_*", - var_end="**", - ) -> None: - """Initialise the class by reading in the input file. Find and read - any variables that are at the top of the file. Default comment_char - and end_char are set based on reading MOOSE *.i files. - - Args: - input_file (str): Path to the input text file. - comment_char (str): character(s) describing what a comment look - like in the file. - end_char (str): character (if any) that ends a line, i.e. ; for gmsh - var_start (str): character sequence used to specify the start of - the variable block to edit. - var_end (str): character sequence used to specify the end of the - variabled block to edit. - """ - self._vars = dict({}) - self._input_file = input_file - - with open(self._input_file, "r", encoding="utf-8") as in_file: - self._input_lines = in_file.readlines() - - self._comment_char = comment_char - self._end_char = end_char - - self._var_start_str = var_start - self._var_end_str = var_end - - self._var_start_ind = 0 - self._var_end_ind = -1 - - self.find_vars() - self.read_vars() - - def _extract_var_str(self, var_line: str) -> tuple[str, str | float | int, str]: - """Helper function to split a string from the input file variable block - into the variable key, the variable value and any remaining comment. - - Args: - var_line (str): line from the input file to process - - Returns: - [str,str/float,str]: returns a three element list. The first element - is the variable key, the second is the variable value as a float - or string, the third is any comment string remaining. - """ - - extract_var = var_line.strip() - extract_var = extract_var.replace(self._end_char, "") - extract_var = extract_var.split(self._comment_char)[0] # Remove trailing comments should they exist - - var_key = "" - var_val = "" - if extract_var and extract_var.find("=") >= 0: - var_str = extract_var.split("=", 1)[1] - var_str = var_str.strip() - try: - var_val = float(var_str) - if var_val.is_integer(): - var_val = int(var_val) - except ValueError: - var_val = var_str - - var_key = extract_var.split("=", 1)[0].strip() - - if len(var_line.split(self._comment_char)) > 1: - com_loc = var_line.find(self._comment_char) - comment_str = var_line[com_loc + len(self._comment_char) :] - else: - comment_str = "" - - return (var_key, var_val, comment_str) - - - def read_vars(self) -> None: - """Reads the variables in the file""" - for ss in self._input_lines[self._var_start_ind + 1 : self._var_end_ind]: - [var_key, var_val, _] = self._extract_var_str(ss) - if len(var_key) != 0: - self._vars[var_key] = var_val - - - def find_vars(self) -> None: - """Find what lines the variables are defined on.""" - - # TODO: this needs to be made more robust to multiple occurences of variable block characters. - # Also need to handle cases when the start and end block characters are the same - - start_string = self._comment_char + self._var_start_str - end_string = self._comment_char + self._var_end_str - - start_found = False - for ii, ll in enumerate(self._input_lines): - if start_string in ll and (not start_found): - self._var_start_ind = ii - start_found = True - if end_string in ll: - self._var_end_ind = ii - break - - - def update_vars(self, new_vars: dict) -> None: - """Updates the variable dictionary that will be written to the input - file. - - Args: - new_vars (dict): new variables to be written to the input file. - The keys must exist within the dictionary of variables - extracted from the input file. Only the variables to be edited - need to be present. - """ - for kk in new_vars: - if kk in self._vars: - self._vars[kk] = new_vars[kk] - else: - raise KeyError( - f"Key {kk} does not exist in the variables found in the input file. " - + "Check input file to make sure the variable exists." - ) - - - def write_file(self, input_write_file: Path) -> None: - """Write the input file using the current variable dictionary. - - Args: - input_write_file (str): Path to where the file should be written. - """ - var_block = self._input_lines[self._var_start_ind + 1 : self._var_end_ind] - - for ii, ll in enumerate(var_block): - [var_key, _, com_str] = self._extract_var_str(ll) - if (len(var_key) != 0) and (var_key in self._vars): - if len(com_str) == 0: - var_line = f"{var_key} = {self._vars[var_key]}{self._end_char}\n" - else: - # NOTE: comment string includes the new line character already - var_line = f"{var_key} = {self._vars[var_key]}{self._end_char} {self._comment_char}{com_str}" - line_ind = ii + self._var_start_ind + 1 - self._input_lines[line_ind] = var_line - - with open(input_write_file, "w", encoding="utf-8") as out_file: - out_file.writelines(self._input_lines) - - - def get_vars(self) -> dict: - """Gets the variables found in the file. - - Returns: - dict: keys are variable strings and values are variable values. - """ - return self._vars - - - def get_var_keys(self) -> list[str]: - """Gets a list of variable names found in the input file. - - Returns: - list[str]: list of variables name as strings - """ - return list(self._vars.keys()) - - - def get_input_file(self) -> Path: - """Gets the path and input file name. - - Returns: - Path: path and input file name. - """ - return self._input_file diff --git a/dependencies/mooseherder/src/mooseherder/mooseconfig.py b/dependencies/mooseherder/src/mooseherder/mooseconfig.py deleted file mode 100644 index f8d3ae4e..00000000 --- a/dependencies/mooseherder/src/mooseherder/mooseconfig.py +++ /dev/null @@ -1,175 +0,0 @@ - -''' -=============================================================================== -MOOSE Config Class - -Authors: Lloyd Fletcher -=============================================================================== -''' -from typing import Self -import json -from pathlib import Path - - -class MooseConfig: - """ Moose configuration class that handles 1) the path to the main moose - build, 2) the path to the moose app, and 3) the name of the app to be used - to construct the command string. These are stored as a dictionary keyed - with 'main_path', 'app_path' and 'app_name'. This class can also write and - read json files containing the moose config. - """ - def __init__(self, config: dict[str,Path | str] | None = None) -> None: - - self._required_keys = ['main_path','app_path','app_name'] - - if config is not None: - self._check_config_valid(config) - - self._config = config - - - def get_config(self) -> dict[str,Path | str]: - """get_config: returns the config dictionary after checking it is - valid. - - Returns: - dict[str, Path | str]: dictionary containing the moose config. - """ - self._check_config_valid(self._config) - return self._config # type: ignore - - - def _check_config_valid(self, - config: dict[str,Path | str] | None = None - ) -> None: - """_check_config_valid: helper function to check if the moose config - is valid. - - Args: - config (dict[str,Path | str] | None, optional): dictionary - containing the moose config. Defaults to None. - - Raises: - MooseConfigError: Dicitionary not initialised. - MooseConfigError: Dicitionary does not contain the required keys. - MooseConfigError: Path to MOOSE does not exist. - MooseConfigError: Path to MOOSE app does not exist. - """ - if config is None: - raise MooseConfigError( - 'Config dictionary must be initialised, load config file first.') - - for kk in self._required_keys: - if kk not in config: - raise MooseConfigError( - f'Config dictionary must contain all keys: {self._required_keys}') - - if not config['main_path'].is_dir(): # type: ignore - raise MooseConfigError( - "Main path to MOOSE does not exist. Check path at key 'main_path'.") - - if not config['app_path'].is_dir(): # type: ignore - raise MooseConfigError( - "MOOSE app path does not exist. Check path at key: 'app_path'.") - - - def convert_path_to_str(self, in_config: dict[str,Path | str] | None - ) -> dict[str,str] | None: - """convert_path_to_str: converts all paths in the config dictionary to - strings so that it can be saved to json. - - Args: - in_config (dict[str,Path | str] | None): - - Returns: - dict[str,str] | None: as input with Paths converted to strings. - """ - if in_config is None: - return None - - conv_config = dict({}) - for kk in in_config: - conv_config[kk] = str(in_config[kk]) - - return conv_config - - - def convert_str_to_path(self, in_config: dict[str,str] | None = None - ) -> dict[str, Path | str] | None: - """convert_str_to_path: helper function to convert string to Path for - readin in json dictionary. Does not check if the paths exist. - - Args: - in_config (dict[str,str] | None, optional): input config dictionary - with string instead of Path. Defaults to None. - - Returns: - dict[str, Path | str] | None: as in_config but strings to main_path - and app_path are converted to Path. - """ - if in_config is None: - return None - - conv_config = dict({}) - for kk in in_config: - if 'path' in kk: - conv_config[kk] = Path(in_config[kk]) - else: - conv_config[kk] = in_config[kk] - - return conv_config - - - def save_config(self, config_path: Path) -> None: - """save_config: saves the moose config dictionary as a json file in the - specified path. - - Args: - config_path (Path): path and file name with extension .json to save - the moose config dictionary. - - Raises: - MooseConfigError: Parent path to save config file does not exist. - """ - if not config_path.parent.is_dir(): - raise MooseConfigError('Parent path to save config file does not exist.') - - with open(config_path, 'w', encoding='utf-8') as cf: - config_strs = self.convert_path_to_str(self._config) - json.dump(config_strs, cf, indent=4) - - - def read_config(self, config_path: Path) -> Self: - """read_config: reads the moose json configuration file at the - specified path. Checks if the configuration is valid and raises a - MooseConfigError if it is not. - - Args: - config_path (Path): path to the json config file containing the - configuration dictionary. - - Raises: - MooseConfigError: MOOSE config file does not exist. - - Returns: - Self: returns a MooseConfig object allowing the config to be - initialised by directly loading a json config file. - """ - if not config_path.is_file(): - raise MooseConfigError( - f'MOOSE config file does not exist at: {str(config_path)}.') - - with open(config_path, 'r', encoding='utf-8') as cf: - config_strs = json.load(cf) - config_paths = self.convert_str_to_path(config_strs) - - self._check_config_valid(config_paths) - - self._config = config_paths - return self - - -class MooseConfigError(Exception): - """MooseConfigError: custom error class for flagging errors with the moose - configuration. - """ diff --git a/dependencies/mooseherder/src/mooseherder/mooseherd.py b/dependencies/mooseherder/src/mooseherder/mooseherd.py deleted file mode 100644 index 288c14b5..00000000 --- a/dependencies/mooseherder/src/mooseherder/mooseherd.py +++ /dev/null @@ -1,412 +0,0 @@ -''' -=============================================================================== -MOOSE Herd Class - -Authors: Lloyd Fletcher, Rory Spencer -=============================================================================== -''' -import os -import time -import multiprocessing as mp -from pathlib import Path -from multiprocessing.pool import Pool - -from mooseherder.directorymanager import DirectoryManager -from mooseherder.simrunner import SimRunner -from mooseherder.inputmodifier import InputModifier - - -class MooseHerdError(Exception): - """MooseHerdError: custom error class for flagging errors with the moose - herd. - """ - -class MooseHerd: - """ MooseHerd class that can run parametric sweeps of simulation chains in - parallel with configurable parallelisation options. Takes a list of - SimRunner objects and a corresponding list of InputModifiers to insert the - variables into the input scripts for the SimRunners. When calling run_* the - herd will first call all InputModifiers in the specified order and then - call run on all the SimRunners in order. Uses the DirectoryManager class to - create/clear and log the directories in which each parallel worker is - creating input files and running simulations. - """ - def __init__(self, sim_runners: list[SimRunner], - input_mods: list[InputModifier], - dir_manager: DirectoryManager) -> None: - """__init__ - - Args: - sim_runners (list[SimRunner]): list of objects that inherit from - the SimRunner ABC in the order they need to be run. The mesh - needs to be created before runnning moose so a common chain - would be [GmshRunner,MooseRunner]. - input_mods (list[InputModifier]): list of InputModifiers to create - the required input scripts for the SimRunners. - dir_manager (DirectoryManager): used to control how many and - which directories are used to run the simulations. - """ - self._runners = sim_runners - self._modifiers = input_mods - self._dir_manager = dir_manager - - self._n_para_sims = 2 - - self._input_names = [f'sim-{ii+1}' for ii,_ in enumerate(sim_runners)] - - self._keep_all = True - - self._var_sweep = list([]) - - self._sweep_iter = 0 - self._sweep_run_time = -1.0 - - self._sim_iter = 0 - self._iter_run_time = -1.0 - - - def set_input_copy_names(self, input_names: list[str] | None = None) -> None: - """set_input_copy_name: sets the name that will be used when copying - input files to the working directories for the sweep. The defualt name - is 'sim-i' so the first combination of variables in the simulation chain - will be called 'sim-1-1'. - - Args: - input_names (list[str] | None, optional): List of name prefixes to - be used for the simulation files. Defaults to None. - - Raises: - MooseHerdError: The lengths of the sim runner list and the input - modifier lists are not the same. - """ - if input_names is None: - self._input_names = [f'sim-{ii+1}' for ii,_ in enumerate(self._runners)] - return - - if len(input_names) != len(self._runners): - raise MooseHerdError(f'The length of the input names ({len(input_names)})' - 'must match the length of the sim runners ' + - f'and input modifiers ({len(self._runners)})') - - self._input_names = input_names - - - def set_keep_flag(self, keep_all: bool = True) -> None: - """set_keep_flag: flag used for allowing multiple calls to run_para or - run_seq to keep everything or to overwrite with every call to run_*. - - Args: - keep_all (bool, optional): True = keep all inputs and outputs with - multiple calls to run_*. False = overwrite inputs and outputs - with multiple calls to run_*. Defaults to True. - """ - self._keep_all = keep_all - - - def set_num_para_sims(self, n_para: int = 1) -> None: - """set_num_para_sims: sets the number of simulation chains to run in - parallel. Limits the number - - Args: - n_para (int, optional): _description_. Defaults to 1. - """ - n_para = int(n_para) - n_cpus = os.cpu_count() - - if n_cpus is None: - pass - elif n_para <= 0: - n_para = 1 - elif n_para > n_cpus: - n_para = n_cpus - - if self._n_para_sims != n_para: - self._n_para_sims = n_para - - - def get_sim_iter(self) -> int: - """get_sim_iter: returns the current simulation iteration corresponding - to the combination of variables being analysed. This number will - accumulate with multiple calls to run_* is keep_all=true. - - Returns: - int: current simulation iteration number. - """ - return self._sim_iter - - - def get_sweep_iter(self) -> int: - """get_sweep_iter: gets the current sweep iteration. The sweep - iteration is incremented with every call to run_* if keep_all = true. - If keep_all = false then sweep_iter is held at 1. - - Returns: - int: current sweep iteration number. - """ - return self._sweep_iter - - - def reset_iter_counts(self) -> None: - """reset_iter_counts: resets the simulation iteration and the sweep - iteration counters to zero. - """ - self._sim_iter = 0 - self._sweep_iter = 0 - - - def _get_process_name(self) -> str: - """_get_process_name: only here for monkey patching with pytest. - - Returns: - str: the process name string. - """ - return mp.current_process().name - - - def _get_worker_num(self) -> str: - """_get_worker_num: helper function to get the worker number for the - current sub-process. - - Returns: - str: number string taken from the process name. If this is the main - process returns '1'. - """ - name = self._get_process_name() - - if name == 'MainProcess': - worker_num = '1' - else: - worker_num = name.split('-',1)[1] - - if int(worker_num) > self._n_para_sims: - worker_num = str((int(worker_num) % self._n_para_sims)+1) - - return worker_num - - - def _get_run_num(self, sim_iter: int, worker_num: str) -> str: - """_get_run_num: helper function to get the run directory number string - - Args: - sim_iter (int): the current simulation iteration. - worker_num (str): the worker number extracted from the current - process number as a string. - - Returns: - str: the string specifying the run directory number for this - simulation iteration. - """ - if self._keep_all: - run_num = str(sim_iter+1) - else: - run_num = worker_num - - return run_num - - - def _mod_input(self, - modifier: InputModifier, - mod_vars: dict | None, - save_file: Path) -> None: - """_mod_input: helper function that uses the input modifier to write - new variables to the input file and save it to the specified path. - - Args: - modifier (InputModifier): input modifier for the specified type of - input file. - mod_vars (dict | None): dictionary of variables to write to the - input file, if None just copy the input file. - save_file (Path): path with file name and extension to output the - modified input file. - """ - if mod_vars is not None: - modifier.update_vars(mod_vars) - modifier.write_file(save_file) - - - def _run(self, runner: SimRunner, run_file: Path) -> Path | None: - """_run: helper function to call the SimRunner and get the path to the - output file. - - Args: - runner (SimRunner): for running the simulation, must be a class - that implements the SimRunner ABC. - run_file (Path): path to the input file to run with SimRunner. - - Returns: - Path | None: _description_ - """ - runner.run(run_file) - return runner.get_output_path() - - - def run_once(self, sim_iter: int, var_list: list[dict | None] - ) -> list[Path | None]: - """run_once: runs a specific simulation chain with the given variable - list once and returns a list of paths to the output files. Used by - run_seq and run_para for parallelisation. - - Args: - sim_iter (int): current simulation iteration which is the index of - the var_list from the var_sweep. - var_list (list[dict | None]): list of dictionaries that contain - the variables that will be run for this iteration. - - Returns: - list[Path | None]: list of paths to the simulation output. If there - is no useful output from the runner in the simulation chain it - returns None in the list. - """ - iter_start_time = time.perf_counter() - - worker_num = self._get_worker_num() - run_dir = self._dir_manager.get_run_dir(int(worker_num)-1) - run_num = self._get_run_num(sim_iter,worker_num) - - run_files = list([]) - for ii,mm in enumerate(self._modifiers): - ext = mm.get_input_file().suffix - run_files.append(run_dir / (self._input_names[ii] +'-'+run_num+ext)) - self._mod_input(mm,var_list[ii],run_files[ii]) - - output_list = list([]) - for ii,rr in enumerate(self._runners): - output_list.append(self._run(rr,run_files[ii])) - - self._iter_run_time = time.perf_counter() - iter_start_time - - return output_list - - - def _start_sweep(self, var_sweep: list[list[dict | None]]) -> float: - """_start_sweep: helper function used at the start of a variable sweep - in either run_seq or run_para. Sets the var_sweep attribute, deals with - the management of directories and starts the performance counter. - - Args: - var_sweep (list[list[dict | None]]): as passed to run_seq/para - - Returns: - float: performance timer start value. - """ - self._var_sweep = var_sweep - - if not self._keep_all: - self.reset_iter_counts() - self._dir_manager.clear_dirs() - self._dir_manager.create_dirs() - - return time.perf_counter() - - - def _end_sweep(self, start_sweep_time: float, - output_files: list[list[Path | None]]) -> None: - """_end_sweep: helper function called at the end of runseq/para. - Reacords the sweep run time. Increments the iteration counters. and - writes the output key and sweep variables to the first workers - directory. - - Args: - start_sweep_time (float): the sweep start time taken from the - _start_sweep() function. - output_files (list[list[Path]]): list of list of paths to the - simulation chain output files. - """ - self._sweep_run_time = time.perf_counter() - start_sweep_time - - self._sweep_iter += 1 - self._sim_iter += len(self._var_sweep) - - self._dir_manager.set_output_paths(output_files) - self._dir_manager.write_output_key(self._sweep_iter) - self._dir_manager.write_sweep_vars(self._var_sweep,self._sweep_iter) - - - def run_sequential(self, var_sweep: list[list[dict | None]] - ) -> list[list[Path | None]]: - """run_sequential: runs the variable sweep given in var_sweep - sequentially and returns the paths to the simulation outputs. - - Args: - var_sweep (list[list[dict | None]]): outer list is the simulation - iteration, inner list is the position in the simulation chain - that the variable dictionary corresponds to. The dictionary - contains the variables that will be inserted into the input - file before calling run on the SimRunner. If None instead of - a dictionary then the input file is copied with no modification - - Returns: - list[list[Path | None]]: outer list is the simulation iteration and - the inner list corresponds to the position of the SimRunner in - the cimulation chain. Gives the path to the simulation output - or None if no useful output is produced. - """ - start_sweep_time = self._start_sweep(var_sweep) - - output_files = list([]) - - ii = self._sim_iter - for vv in var_sweep: - output_files.append(self.run_once(ii,vv)) - ii += 1 - - - self._end_sweep(start_sweep_time,output_files) - - return output_files - - - def run_para(self, var_sweep: list[list[dict | None]] - ) -> list[list[Path | None]]: - """run_para: runs the variable sweep with the simulation chain in - parallel. - - Args: - var_sweep (list[list[dict | None]]): outer list is the simulation - iteration, inner list is the position in the simulation chain - that the variable dictionary corresponds to. The dictionary - contains the variables that will be inserted into the input - file before calling run on the SimRunner. If None instead of - a dictionary then the input file is copied with no modification - - Returns: - list[list[Path | None]]: outer list is the simulation iteration and - the inner list corresponds to the position of the SimRunner in - the cimulation chain. Gives the path to the simulation output - or None if no useful output is produced. - """ - sweep_start_time = self._start_sweep(var_sweep) - - with Pool(self._n_para_sims) as pool: - processes = list([]) - - ii = self._sim_iter - for vv in var_sweep: - processes.append(pool.apply_async(self.run_once, args=(ii,vv))) - ii += 1 - - output_files = [pp.get() for pp in processes] - - self._end_sweep(sweep_start_time, output_files) - - return output_files - - - def get_sweep_time(self) -> float: - """get_sweep_time - - Returns: - float: the time taken for the variable sweep to run based on the - performance counter. - """ - return self._sweep_run_time - - - def get_iter_time(self) -> float: - """get_iter_time - - Returns - float: the time taken for the current simulation iteration to run. - """ - return self._iter_run_time - diff --git a/dependencies/mooseherder/src/mooseherder/mooserunner.py b/dependencies/mooseherder/src/mooseherder/mooserunner.py deleted file mode 100644 index 24b04e3e..00000000 --- a/dependencies/mooseherder/src/mooseherder/mooserunner.py +++ /dev/null @@ -1,232 +0,0 @@ -''' -=============================================================================== -MOOSE Runner Class - -Authors: Lloyd Fletcher, Rory Spencer -=============================================================================== -''' -import os -import subprocess -from pathlib import Path -from mooseherder.simrunner import SimRunner -from mooseherder.mooseconfig import MooseConfig - -class MooseRunner(SimRunner): - """Used to run MOOSE models (*.i) from python. - """ - def __init__(self, config: MooseConfig): - """__init__: Constructor for MOOSE runner taking a MooseConfig object - that contains the paths to the main MOOSE install, the MOOSE app and - the MOOSE app name. Sets default parallelisation options to 1 MPI task - and 1 thread. Sets environment variables required for MPI setup. - - Args: - config (MooseConfig): moose configuration object containing the - required paths and app name to construct the command string. - """ - self._config = config.get_config() - - self._n_threads = 1 - self._n_tasks = 1 - self._redirect_stdout = True - self._arg_list = list('') - self._input_path = None - - - def set_env_vars(self) -> None: - """Sets environment variables for calling MOOSE with MPI. - """ - os.environ['CC'] = 'mpicc' - os.environ['CXX'] = 'mpicxx' - os.environ['F90'] = 'mpif90' - os.environ['F77'] = 'mpif77' - os.environ['FC'] = 'mpif90' - os.environ['MOOSE_DIR'] = str(self._config['main_path']) - if not str(self._config['app_path']) in os.environ["PATH"]: - os.environ["PATH"] = os.environ["PATH"] + ':' + str(self._config['app_path']) - - def set_threads(self, n_threads: int) -> None: - """Sets the number of threads asked of MOOSE on the command line. - - Args: - n_threads (int): Number of threads. - """ - # Need to make sure number is sensible based on cpu - if n_threads <= 0: - n_threads = 1 - elif os.cpu_count() is None: - n_threads = 1 - elif n_threads > os.cpu_count(): # type: ignore - n_threads = os.cpu_count() # type: ignore - - self._n_threads = int(n_threads) - - def set_tasks(self, n_tasks: int) -> None: - """Sets the number of MPI tasks asked of MOOSE on the command line. - - Args: - n_tasks (int): Number of mpi tasks. - """ - # Need to make sure is sensible based on cpu - if n_tasks <= 0: - n_tasks = 1 - elif os.cpu_count() is None: - n_tasks = 1 - elif n_tasks > os.cpu_count(): # type: ignore - n_tasks = os.cpu_count() # type: ignore - - self._n_tasks = int(n_tasks) - - def set_stdout(self, redirect_flag: bool = True) -> None: - """Sets MOOSE to redirect output (True) to file instead of console (False). - - Args: - redirect_flag (bool, optional): True = output to stdout file, False - = output to console. Defaults to True. - """ - self._redirect_stdout = redirect_flag - - def set_run_opts(self, n_tasks: int = 1, - n_threads: int = 1, - redirect_out: bool = True) -> None: - """Sets all options for MOOSE run parallelisation and output. - - Args: - n_tasks (int, optional): Number of mpi tasks for MOOSE run. - Defaults to 1. - n_threads (int, optional): Number of threads for MOOSE run. - Defaults to 1. - redirect (bool, optional): Redirect MOOSE output from console to - file (True). Defaults to False. - """ - self.set_threads(n_threads) - self.set_tasks(n_tasks) - self.set_stdout(redirect_out) - - - def get_input_file(self) -> Path | None: - """get_input_file - - Returns: - Path | None: full path to the input file or None if not specified. - """ - return self._input_path - - - def set_input_file(self, input_path: Path) -> None: - """Sets the path to the MOOSE input file and checks it exists. - - Args: - input_file (str): full path and name of *.i MOOSE input script. - - Raises: - FileNotFoundError: the MOOSE input script doesn't exist - """ - if not input_path.is_file(): - raise FileNotFoundError("Input file does not exist.") - - self._input_path = input_path - self.assemble_arg_list() - - def get_input_dir(self) -> Path | None: - """Gets the path to the directory for the specified input file. - - Returns: - Path: path to input file directory, if no input file is specified - returns None. - """ - if self._input_path is None: - return None - - return self._input_path.parent # type: ignore - - def get_input_tag(self) -> str: - """Gets the input file name string without the path or the .i - - Returns: - str: input file string, if no input file is specified returns an - empty string. - """ - if self._input_path is None: - return "" - - return self._input_path.stem # type: ignore - - - def get_output_path(self) -> Path | None: - """Gets the file and path for the output exodus file based - on the specified input file. Includes '_out.e'. - - Returns: - Path: output exodus file name with path, returns an empty None - if no input file is specified. - """ - if self._input_path is None: - return None - - return self._input_path.parent / (self._input_path.stem +'_out.e') - - - def get_arg_list(self) -> list[str]: - """Run string getter. - - Returns: - str: command line string to run MOOSE. - """ - return self._arg_list - - def assemble_arg_list(self, input_file = None) -> list[str]: - """Assmebles the command line string to run MOOSE based on current - options. - - Args: - input_file (str, optional): Full path to MOOSE input file, if not - empty updates the input file. Defaults to "". - - Returns: - str: command line string that will be used by the runner when run - is called. - """ - if input_file is not None: - self.set_input_file(input_file) - - if self._input_path is None: - raise RuntimeError('No input file specified, set one using set_input_file or by passing on into this function.') - - arg_list = [] - if self._n_tasks > 1: - arg_list = ['mpirun','-np',str(self._n_tasks)] - - arg_list = arg_list + [str(self._config['app_name']) \ - ,f'--n-threads={self._n_threads}','-i' \ - ,str(self._input_path.name)] - - if self._redirect_stdout: - arg_list = arg_list + ['--redirect-stdout'] - - self._arg_list = arg_list - - return self._arg_list - - - def run(self, input_file = None) -> None: - """Runs MOOSE based on current options by passing run string to - subprocess shell. - - Args: - input_file (Path, optional): Full path to MOOSE input file, if not - empty updates the input file. Defaults to None. - """ - if input_file is not None: - self.set_input_file(input_file) - - if self._input_path is None: - raise RuntimeError("Set input path before calling run.") - - self.set_env_vars() - - self.assemble_arg_list() - subprocess.run(self._arg_list, - shell=False, - cwd=str(self._input_path.parent), - check=False) diff --git a/dependencies/mooseherder/src/mooseherder/outputreader.py b/dependencies/mooseherder/src/mooseherder/outputreader.py deleted file mode 100644 index 024b2dc2..00000000 --- a/dependencies/mooseherder/src/mooseherder/outputreader.py +++ /dev/null @@ -1,25 +0,0 @@ -""" -=============================================================================== -OutpuReader Abstract Base Class - -Authors: Lloyd Fletcher -=============================================================================== -""" -from abc import ABC, abstractmethod -from pathlib import Path -from mooseherder.simdata import SimData, SimReadConfig - - -class OutputReader(ABC): - - @abstractmethod - def __init__(self, output_file: Path) -> None: - pass - - @abstractmethod - def read_sim_data(self, read_config: SimReadConfig) -> SimData: - pass - - @abstractmethod - def read_all_sim_data(self) -> SimData: - pass diff --git a/dependencies/mooseherder/src/mooseherder/simdata.py b/dependencies/mooseherder/src/mooseherder/simdata.py deleted file mode 100644 index 4504cb69..00000000 --- a/dependencies/mooseherder/src/mooseherder/simdata.py +++ /dev/null @@ -1,93 +0,0 @@ -""" -=============================================================================== -SimData Class - -Authors: Lloyd Fletcher -=============================================================================== -""" -from dataclasses import dataclass -import numpy as np - - -@dataclass -class SimData: - """ Data class for finite element simulation output. - """ - num_spat_dims: int = 3 - ''' Number of spatial dimensions in the simulation, required to determine - element types given that all coords are padded to [x,y,z]. Allows for 2D and - 1D simulations using any combination of the [x,y,z] axes. - ''' - - time: np.ndarray | None = None - ''' Vector of time steps with dimensions [t]. - Defaults to None. - ''' - - coords: np.ndarray | None = None - ''' Array of nodal coordinates in N by 3 where N is the number of nodes - columns are [x,y,z] coordinates and rows are the nth node. - Defaults to None. - ''' - - connect: dict[str,np.ndarray] | None = None - ''' Element connectivity table: - key = 'connectX' where X is the subdomain e.g. connect1 - Element table given as E by n_e rows where E is the number of elements - in the given subdomain. n_e is the number of nodes per element. - Defaults to None. - ''' - - side_sets: dict[tuple[str,str],np.ndarray] | None = None - ''' Sidesets by name and associated node and element numbers. - key = (name, 'node' or 'elem') e.g. ('bottom','node') will return node - numbers associated with associated with sideset called 'bottom' as a - numpy array with n_s entries where n_s is the number of nodes in the - sideset. - Defaults to None. - ''' - - node_vars: dict[str,np.ndarray] | None = None - ''' Nodal variable by name. - key = 'name' e.g. 'disp_x' or 'temp' - Gives the nodal variable as a numpy array, N by t where N is the number - of nodes and t is the number of time steps. Note that element variables - can be stored as nodal depending on output options or material output - order selected. - Defaults to None. - ''' - - elem_vars: dict[tuple[str,int],np.ndarray] | None = None - ''' Element variables by name and block. - key = (name, block num) - Gives the element variable as a numpy array, E by t where E is the - number of elements and t is the number of time steps. Note that element - variables might exist as nodal variables only depending on output - options and specified material output order. - Defaults to None. - ''' - - glob_vars: dict[str,np.ndarray] | None = None - ''' Global variables by name. Global variable include postprocessors and - extracted reactions at boundaries. - key = name (as specified in input file post-processor), e.g. 'react_y' - Gives a numpy array with t entries corresponding to the number of time - steps in the simulation. - Defaults to None. - ''' - -@dataclass -class SimReadConfig: - """ Used to specify na mes of variables to be read into the SimData class. - This class allows the user to only extract the required variables by - name. - """ - time: bool | None = True - coords: bool | None = True - connect: bool | None = True - sidesets: np.ndarray | None = None - node_vars: np.ndarray | None = None - elem_vars: list[tuple[str,int]] | None = None - glob_vars: np.ndarray | None = None - time_inds: np.ndarray | None = None - diff --git a/dependencies/mooseherder/src/mooseherder/simrunner.py b/dependencies/mooseherder/src/mooseherder/simrunner.py deleted file mode 100644 index d93acaa9..00000000 --- a/dependencies/mooseherder/src/mooseherder/simrunner.py +++ /dev/null @@ -1,38 +0,0 @@ -""" -=============================================================================== -SimRunner Abstract Base Class - -Authors: Lloyd Fletcher -=============================================================================== -""" -from abc import ABC, abstractmethod -from pathlib import Path - -class SimRunner(ABC): - """SimRunner: ABC for the moosherd simulation chain. A simulation has an - input file which can be get or set. The simulation can then be run with the - given input files and then the path to the simulation output file can be - retrieved. - """ - @abstractmethod - def get_input_file(self) -> Path | None: - """get_input_path - """ - - - @abstractmethod - def set_input_file(self, input_path: Path) -> None: - """set_input_file - """ - - - @abstractmethod - def run(self, input_file: Path | None = None) -> None: - """run - """ - - @abstractmethod - def get_output_path(self) -> Path | None: - """get_output_path - """ - diff --git a/dependencies/mooseherder/src/mooseherder/sweepreader.py b/dependencies/mooseherder/src/mooseherder/sweepreader.py deleted file mode 100644 index 3be6b85c..00000000 --- a/dependencies/mooseherder/src/mooseherder/sweepreader.py +++ /dev/null @@ -1,291 +0,0 @@ -''' -=============================================================================== -SweepReader Class - -Authors: Lloyd Fletcher, Rory Spencer -=============================================================================== -''' - -import os -import json -from pathlib import Path -from multiprocessing.pool import Pool -from mooseherder.directorymanager import DirectoryManager -import mooseherder.directorymanager as dm -from mooseherder.exodusreader import ExodusReader -from mooseherder.simdata import SimData, SimReadConfig - - -class SweepReader: - """ Used to read the output from one or more calls to mooseherd.run_para(). - has configurable options for reading in the variable sweep in parallel. - """ - def __init__(self, - dir_manager: DirectoryManager, - num_para_read: int = 1) -> None: - """__init__: Construct the sweep reader with a directory manager and - the number of simulations to read in parallel. - - Args: - dir_manager (DirectoryManager): the directory manager as used by - the mooseherd that ran the simulation sweep. - num_para_read (int, optional): number of simulation to read in - parallel. Defaults to 1. - """ - self._dir_manager = dir_manager - self._output_files = list([]) - self._n_para_read = num_para_read - - - def read_output_key(self, sweep_iter: int) -> list[list[Path | None]]: - """read_output_key: reads the output key json file produced by running - the variable sweep. The output key file maps which simulation were run - in a given sub directory. - - Args: - sweep_iter (int): sweep iteration to read. This is the number that - is appended to the output key file e.g. output-key-2.json for - the 2nd call to run_seq/para in the mooseherd. - - Returns: - list[list[Path]]: paths to the outputs from the variable sweep the - outer list is the simulation iteration and the inner list is - the position in the simulation chain. - """ - output_key = self._dir_manager.get_output_key_file(sweep_iter) - if not output_key.is_file(): - raise FileNotFoundError(f'Output key file for sweep iteration {sweep_iter} not found at path: {output_key}') - - with open(output_key, 'r', encoding='utf-8') as okf: - output_files = json.load(okf) - - return dm.output_str_to_paths(output_files) - - - def read_all_output_keys(self) -> list[list[Path | None]]: - """read_all_output_keys: as read_output_keys() but finds all output key - files in the first sub-directory and reads them. - - Raises: - FileNotFoundError: No output key files found in the first sub- - directory. - - Returns: - list[list[Path]]: paths to the outputs from the variable sweep the - outer list is the simulation iteration and the inner list is - the position in the simulation chain. - """ - output_paths = self._find_files_by_str(self._dir_manager.get_output_key_tag(), - self._dir_manager.get_run_dir(0)) - - if len(output_paths) == 0: - raise FileNotFoundError("No output key json files found.") - - output_files = list([]) - for output_path in output_paths: - sweep_iter = output_path.name.split('.')[0].split('-')[-1] - output_files = output_files + self.read_output_key(int(sweep_iter)) - - self._output_files = output_files - return self._output_files - - - def read_sweep_var_file(self, sweep_iter: int = 1 - ) -> list[list[dict | None]]: - """read_sweep_var_file: reads the file containing the sweep variable - dictionary for a given sweep iteration and returns it. - - Args: - sweep_iter (int, optional): The sweep iteration (i.e. the call - number to mooseher.run_seq/para) Defaults to 1. - - Raises: - FileNotFoundError: Sweep file not found. - - Returns: - list[list[dict | None]]: The sweep variables as passed to mooseherd - .run_seq/para. - """ - sweep_var_file = self._dir_manager.get_sweep_var_file(sweep_iter) - if not sweep_var_file.is_file(): - raise FileNotFoundError( - f'Sweep variable file for sweep iteration {sweep_iter}'+ - f'not found at path: {sweep_var_file}') - - with open(sweep_var_file, 'r', encoding='utf-8') as svf: - sweep_vars = json.load(svf) - - return sweep_vars - - - def read_all_sweep_var_files(self) -> list[list[dict | None]]: - """read_all_sweep_var_files: as read sweep variables but finds all - sweep variables in the first sub-directory and reads them. - - Raises: - FileNotFoundError: No sweep variable files found. - - Returns: - list[list[dict | None]]: The sweep variables as passed to mooseherd - .run_seq/para. Additional sweep iterations are appended to the - end of the list. - """ - sweep_var_paths = self._find_files_by_str(self._dir_manager.get_sweep_var_tag(), - self._dir_manager.get_run_dir(0)) - - if len(sweep_var_paths) == 0: - raise FileNotFoundError("No sweep variable json files found.") - - sweep_vars = list([]) - for ii,_ in enumerate(sweep_var_paths): - sweep_vars = sweep_vars + self.read_sweep_var_file(ii+1) - - return sweep_vars - - - def _find_files_by_str(self, search_str: str, search_path: Path - ) -> list[Path]: - """_find_files_by_str: helper function for finding output key and sweep - variable files based on a specific string. - - Args: - search_str (str): the string to find in the file name. - search_path (Path): the path to the directory to search for files - containing the specified string. - - Returns: - list[Path]: list of paths to the files found with the string. - """ - found_files = list([]) - - all_files = os.listdir(search_path) - - for ff in all_files: - if search_str in ff: - found_files.append(Path(ff)) - - found_files.sort() - - return found_files - - - def get_output_files(self) -> list[list[Path | None]]: - """get_output_files - - Returns: - list[list[Path]]: returns the paths to the output files as read - from the output key files. - """ - return self._output_files - - - def read_results_once(self, - output_files: list[Path | None], - read_config: SimReadConfig | None = None - ) -> list[SimData | None]: - """read_results_once: reads a specific simulation at the specified - path based on the specified read configuration. If the read - configuration is None then read everything. - - Args: - output_file (Path): Path to the file to read - read_config (SimReadConfig | None): class to specify the data to read - - Returns: - list[SimData | None]: list of data classes holding the simulation - data for each simulation in the chain. Will be None for a pre- - processor like Gmsh that has not output. - """ - data_list = list([]) - - for ff in output_files: - if ff is None: - data_list.append(None) - else: - #TODO: replace with output reader ABC - reader = ExodusReader(ff) - if read_config is None: - data_list.append(reader.read_all_sim_data()) - else: - data_list.append(reader.read_sim_data(read_config)) - - return data_list - - - def read_results_sequential(self, - sweep_iter: int | None = None, - read_config: SimReadConfig | None = None - ) -> list[list[SimData]]: - """read_results_sequential: reads the variable sweep results - sequentially. Can read a specific iteration with a specific read config - but defaults to reading everything found in the simulation directories. - - Args: - sweep_iter (int | None, optional): sweep iteration number to read. - Reads the output key file for this iteration. Defaults to None. - read_config (SimReadConfig | None, optional): object for specifying - which variables are to be extracted from the output. Defaults - to None. - - Returns: - list[list[SimData]]: list of lists of SimData objects containing the - simulation results corresponding to each combination of - variables. - """ - self._start_read_output_keys(sweep_iter) - - sweep_results = list([]) - for ii,ff in enumerate(self._output_files): - sweep_results.append(self.read_results_once(ff,read_config)) - - return sweep_results - - - def read_results_para(self, - sweep_iter: int | None = None, - read_config: SimReadConfig | None = None - ) -> list[list[SimData]]: - """read_results_para: reads the variable sweep results in parallel - Can read a specific iteration with a specific read config but defaults - to reading everything found in the simulation directories. - - Args: - sweep_iter (int | None, optional): sweep iteration number to read. - Reads the output key file for this iteration. Defaults to None. - read_config (SimReadConfig | None, optional): object for specifying - which variables are to be extracted from the output. Defaults - to None. - - Returns: - list[list[SimData]]: list of lists of SimData objects containing the - simulation results corresponding to each combination of - variables. - """ - self._start_read_output_keys(sweep_iter) - - with Pool(self._n_para_read) as pool: - processes = list([]) - for ff in self._output_files: - processes.append(pool.apply_async( - self.read_results_once, args=(ff,read_config))) - - sweep_results = [pp.get() for pp in processes] - - return sweep_results - - - def _start_read_output_keys(self, sweep_iter: int | None): - """_start_read: helper function to read the output keys for a specific - simulation iteration prior to reading the simulation outputs. - - Args: - sweep_iter (int | None): sweep iteration number to read. If None - read all of the output keys. - """ - if self._output_files == '': - self._output_files = self.read_output_key(sweep_iter=1) - - if sweep_iter is None: - self.read_all_output_keys() - - diff --git a/dependencies/mooseherder/tests/__init__.py b/dependencies/mooseherder/tests/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/dependencies/mooseherder/tests/directorymanager_test.py b/dependencies/mooseherder/tests/directorymanager_test.py deleted file mode 100644 index b8b3b23c..00000000 --- a/dependencies/mooseherder/tests/directorymanager_test.py +++ /dev/null @@ -1,80 +0,0 @@ -''' -============================================================================== -TEST: DirectoryManager - -Authors: Lloyd Fletcher -============================================================================== -''' - -from pathlib import Path -import pytest -from mooseherder.directorymanager import DirectoryManager -import tests.herdchecker as hc - - -@pytest.fixture -def dir_manager() -> DirectoryManager: - return DirectoryManager(hc.NUM_DIRS) - - -@pytest.fixture(autouse=True) -def setup_teardown(dir_manager): - yield - dir_manager.clear_dirs() - - -def test_init_dir_manager(dir_manager: DirectoryManager) -> None: - assert dir_manager is not None - assert dir_manager._n_dirs == hc.NUM_DIRS - assert dir_manager._base_dir == Path().cwd() - assert dir_manager._sub_dir == 'sim-workdir' - - -def test_set_sub_dir_name(dir_manager: DirectoryManager) -> None: - new_name = 'new-workdir' - dir_manager.set_sub_dir_name(new_name) - assert dir_manager._sub_dir == new_name - - -def test_set_base_dir(dir_manager: DirectoryManager) -> None: - dir_manager.set_base_dir(hc.BASE_DIR) - assert dir_manager._base_dir == hc.BASE_DIR - - -def test_set_base_dir_err(dir_manager: DirectoryManager) -> None: - base_dir = Path('no_exist/') - with pytest.raises(FileExistsError) as errinfo: - dir_manager.set_base_dir(base_dir) - msg, = errinfo.value.args - assert msg == "Specified base directory does not exist." - - -def test_create_dirs(dir_manager: DirectoryManager) -> None: - dir_manager.create_dirs() - for dd in range(hc.NUM_DIRS): - run_dir = dir_manager._base_dir / (dir_manager._sub_dir+'-'+str(dd+1)) - assert run_dir.is_dir() - - -def test_clear_dirs(dir_manager: DirectoryManager) -> None: - dir_manager.create_dirs() - dir_manager.clear_dirs() - for dd in range(hc.NUM_DIRS): - run_dir = dir_manager._base_dir / (dir_manager._sub_dir+'-'+str(dd+1)) - assert run_dir.is_dir() == False - - -@pytest.mark.parametrize( - ('dir_num','expected'), - ( - (-1,0), - (0,0), - (1,1), - (4,0), - ) -) -def test_get_run_dir(dir_num: int, - expected: int, - dir_manager: DirectoryManager) -> None: - check_path = dir_manager.get_run_dir(dir_num) - assert check_path == dir_manager._run_dirs[expected] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/exodusreader_test.py b/dependencies/mooseherder/tests/exodusreader_test.py deleted file mode 100644 index 7ba2c608..00000000 --- a/dependencies/mooseherder/tests/exodusreader_test.py +++ /dev/null @@ -1,328 +0,0 @@ -''' -============================================================================== -TEST: ExodusReader - -Authors: Lloyd Fletcher -============================================================================== -''' -from pathlib import Path -from dataclasses import fields -import pytest -import numpy as np -import numpy.typing as npt -from mooseherder.exodusreader import ExodusReader -from mooseherder.simdata import SimData -import tests.herdchecker as hc - -NUM_TIME_STEPS = 4 -NUM_NODES = 441 -NUM_ELEMS_PER_BLOCK = 200 -NODES_PER_ELEM = 4 -NUM_BLOCKS = 2 - -CONNECT_NAMES = ('connect1','connect2') - -NUM_SIDESETS = 4 -SIDESET_NAMES = ('bottom', - 'right', - 'top', - 'left') - -NUM_NODE_VARS = 10 -NODE_VAR_NAMES = ('disp_x', - 'disp_y', - 'strain_xx', - 'strain_xy', - 'strain_yy', - 'strain_zz', - 'stress_xx', - 'stress_xy', - 'stress_yy', - 'vonmises_stress') - -NUM_ELEM_VARS = 8 -ELEM_VAR_NAMES = ('strain_xx', - 'strain_xy', - 'strain_yy', - 'strain_zz', - 'stress_xx', - 'stress_xy', - 'stress_yy', - 'vonmises_stress') - - -NUM_GLO_VARS = 4 -GLO_VAR_NAMES = ('avg_yy_stress', - 'max_y_disp', - 'max_yy_stress', - 'react_y') - - -@pytest.fixture -def exodus_path() -> Path: - return hc.OUTPUT_PATH / 'moose-mech-outtest_out.e' - -@pytest.fixture -def reader(exodus_path: Path) -> ExodusReader: - return ExodusReader(exodus_path) - - -def test_init_reader(reader: ExodusReader, - exodus_path: Path) -> None: - assert reader._exodus_path == exodus_path - assert reader._data is not None - - -def tests_init_reader_path_err() -> None: - err_path = Path().home() / 'no-exist/no_exodus_here.wrong' - with pytest.raises(FileNotFoundError) as err_info: - check_reader = ExodusReader(err_path) - - (msg,) = err_info.value.args - assert msg == 'Exodus file not found at specified path' - - -@pytest.mark.parametrize( - ('name_key','expected'), - ( - ('ss_names', SIDESET_NAMES), - ('name_nod_var',NODE_VAR_NAMES), - ('name_elem_var',ELEM_VAR_NAMES), - ('name_glo_var',GLO_VAR_NAMES) - ) -) -def test_get_names(name_key: str, - expected: tuple[str], - reader: ExodusReader) -> None: - check_names = reader.get_names(name_key) - assert (check_names == expected).all() - - -def test_get_names_none(reader: ExodusReader) -> None: - check_names = reader.get_names(None) - assert check_names is None - - -def test_get_names_no_key(reader: ExodusReader) -> None: - check_names = reader.get_names('no-exist') - assert check_names is None - - -def test_get_var(reader: ExodusReader) -> None: - key = 'coordx' - check_var = reader.get_var(key) - assert check_var.shape[0] > 0 - assert check_var.shape == (NUM_NODES,) - - -@pytest.mark.parametrize( - ('keys','expected'), - ( - (('top','ss_names','node_ns'),'node_ns3'), - (('top','ss_names','elem_ss'),'elem_ss3'), - (('disp_x','name_nod_var','vals_nod_var'),'vals_nod_var1'), - (('disp_y','name_nod_var','vals_nod_var'),'vals_nod_var2'), - (('stress_xy','name_nod_var','vals_nod_var'),'vals_nod_var8'), - (('strain_yy','name_elem_var','vals_elem_var'),'vals_elem_var3'), - (('stress_xx','name_elem_var','vals_elem_var'),'vals_elem_var5'), - ) -) -def test_get_key(keys: tuple[str,str,str], - expected: str, - reader: ExodusReader) -> None: - - name = keys[0] - all_names = reader.get_names(keys[1]) - key_tag = keys[2] - - key = reader.get_key(name,all_names,key_tag) # type: ignore - assert key == expected - - -def test_get_var_no_key(reader: ExodusReader) -> None: - no_key = 'no_exist' - check_var = reader.get_var(no_key) - assert check_var.shape[0] == 0 - - -def test_get_connectivity_names(reader: ExodusReader) -> None: - check_names = reader.get_connectivity_names() - assert check_names.shape == (NUM_BLOCKS,) - assert (check_names == np.array(['connect1','connect2'])).all() - - -def test_get_connectivity(reader: ExodusReader) -> None: - check_connect = reader.get_connectivity() - assert check_connect is not None - assert tuple(check_connect.keys()) == CONNECT_NAMES - assert check_connect['connect1'].shape == ( - NODES_PER_ELEM,NUM_ELEMS_PER_BLOCK) - assert check_connect['connect2'].shape == ( - NODES_PER_ELEM,NUM_ELEMS_PER_BLOCK) - - -def test_get_sideset_names(reader: ExodusReader) -> None: - check_names = reader.get_sideset_names() - assert check_names is not None - assert check_names.shape == (NUM_SIDESETS,) - assert (check_names == SIDESET_NAMES).all() - - -def test_get_sidesets_none(reader: ExodusReader) -> None: - check_sidesets = reader.get_sidesets(None) - assert check_sidesets is None - - -def test_get_all_sidesets(reader: ExodusReader) -> None: - check_sidesets = reader.get_all_sidesets() - assert check_sidesets is not None - assert len(check_sidesets.keys()) == 2*NUM_SIDESETS # NOTE: node+elem = *2 - assert check_sidesets[('bottom','node')].shape[0] > 0 - assert check_sidesets[('bottom','elem')].shape[0] > 0 - - -def test_get_node_var_names(reader: ExodusReader) -> None: - node_var_names = reader.get_node_var_names() - assert node_var_names is not None - assert node_var_names.shape == (NUM_NODE_VARS,) - assert (node_var_names == NODE_VAR_NAMES).all() - - -def test_get_node_vars_none(reader: ExodusReader) -> None: - node_vars = reader.get_node_vars(None) - assert node_vars is None - - -def test_get_all_node_vars(reader: ExodusReader) -> None: - node_vars = reader.get_all_node_vars() - assert node_vars is not None - assert len(node_vars.keys()) == NUM_NODE_VARS - for nn in node_vars: - assert node_vars[nn].shape == (NUM_NODES,NUM_TIME_STEPS) - - -def test_get_elem_var_names(reader: ExodusReader) -> None: - elem_var_names = reader.get_elem_var_names() - assert elem_var_names is not None - assert elem_var_names.shape == (NUM_ELEM_VARS,) - assert (elem_var_names == ELEM_VAR_NAMES).all() - - -def test_get_num_elem_blocks(reader: ExodusReader) -> None: - num_blocks = reader.get_num_elem_blocks() - assert num_blocks == NUM_BLOCKS - - -def test_get_elem_var_names_and_blocks(reader: ExodusReader) -> None: - var_names_and_blocks = reader.get_elem_var_names_and_blocks() - assert var_names_and_blocks is not None - assert len(var_names_and_blocks) == NUM_ELEM_VARS*NUM_BLOCKS - - -def test_get_all_elem_vars(reader: ExodusReader) -> None: - elem_vars = reader.get_all_elem_vars() - assert elem_vars is not None - assert len(elem_vars.keys()) == NUM_ELEM_VARS*NUM_BLOCKS - for ee in elem_vars: - assert elem_vars[ee].shape == (NUM_ELEMS_PER_BLOCK,NUM_TIME_STEPS) - - -def test_get_glob_var_names(reader: ExodusReader) -> None: - glob_var_names = reader.get_glob_var_names() - assert glob_var_names is not None - assert glob_var_names.shape == (NUM_GLO_VARS,) - assert (glob_var_names == GLO_VAR_NAMES).all() - - -def test_get_glob_vars_none(reader: ExodusReader) -> None: - glob_vars = reader.get_glob_vars(None) - assert glob_vars is None - - -def test_get_all_glob_vars(reader: ExodusReader) -> None: - glob_vars = reader.get_all_glob_vars() - assert glob_vars is not None - assert len(glob_vars.keys()) == (NUM_TIME_STEPS) - assert tuple(glob_vars.keys()) == GLO_VAR_NAMES - for gg in glob_vars: - assert glob_vars[gg].shape == (NUM_TIME_STEPS,) - -def test_get_coords(reader: ExodusReader) -> None: - (coords,_) = reader.get_coords() - assert coords.shape == (NUM_NODES,3) - - -@pytest.mark.parametrize( - ('coord','dim','expected'), - ( - (np.array([]),4,np.array([0,0,0,0])), - (np.array([0,1,2,3]),4,np.array([0,1,2,3])), - ) -) -def test_expand_coords(coord: npt.NDArray, - dim: int, - expected: npt.NDArray, - reader: ExodusReader) -> None: - check = reader._expand_coord(coord,dim) - assert (check == expected).all() - - -def test_get_time(reader: ExodusReader) -> None: - check_time = reader.get_time() - assert check_time.shape == (NUM_TIME_STEPS,) - - -def test_get_read_config(reader: ExodusReader) -> None: - config = reader.get_read_config() - - for ff in fields(config): - if ff.name != 'time_inds': - assert getattr(config,ff.name) is not None - - assert (config.sidesets == SIDESET_NAMES).all() - assert (config.node_vars == NODE_VAR_NAMES).all() - assert len(config.elem_vars) == NUM_ELEM_VARS*NUM_BLOCKS # type: ignore - assert (config.glob_vars == GLO_VAR_NAMES).all() - - -def test_read_sim_data(reader: ExodusReader) -> None: - config = reader.get_read_config() - data = reader.read_sim_data(config) - check_sim_data(data) - - -def test_read_all_sim_data(reader: ExodusReader) -> None: - data = reader.read_all_sim_data() - check_sim_data(data) - - -def check_sim_data(data: SimData) -> None: - for ff in fields(data): - assert getattr(data,ff.name) is not None - - assert data.time.shape == (NUM_TIME_STEPS,) - assert data.coords.shape == (NUM_NODES,3) - - assert tuple(data.connect.keys()) == CONNECT_NAMES - for cc in data.connect: - assert data.connect[cc].shape == (NODES_PER_ELEM,NUM_ELEMS_PER_BLOCK) - - assert len(data.side_sets.keys()) == NUM_SIDESETS*2 - for ss in data.side_sets: - assert ss[0] in SIDESET_NAMES - assert ss[1] in ('node','elem') - - assert tuple(data.node_vars.keys()) == NODE_VAR_NAMES - for nn in data.node_vars: - assert data.node_vars[nn].shape == (NUM_NODES,NUM_TIME_STEPS) - - assert len(data.elem_vars.keys()) == NUM_ELEM_VARS*NUM_BLOCKS - for ee in data.elem_vars: - assert ee[0] in ELEM_VAR_NAMES - assert ee[1] in (1,2) - assert data.elem_vars[ee].shape == (NUM_ELEMS_PER_BLOCK,NUM_TIME_STEPS) - - assert tuple(data.glob_vars.keys()) == GLO_VAR_NAMES - for gg in data.glob_vars: - data.glob_vars[gg].shape == (NUM_TIME_STEPS,) - diff --git a/dependencies/mooseherder/tests/generate_moose_output.py b/dependencies/mooseherder/tests/generate_moose_output.py deleted file mode 100644 index 49bd731a..00000000 --- a/dependencies/mooseherder/tests/generate_moose_output.py +++ /dev/null @@ -1,50 +0,0 @@ -''' -============================================================================== -GENERATE OUTPUTS FOR TESTS - -Author: Lloyd Fletcher -============================================================================== -''' -import time -import os -from pathlib import Path -from mooseherder import MooseRunner - -USER_DIR = Path().home() - -print('------------------------------------------') -print('GENERATE MOOSE HERDER TEST CASES') -print('------------------------------------------') - -# Create the moose runner with correct paths to moose and apps -moose_dir = USER_DIR / 'moose' -moose_app_dir = USER_DIR / 'proteus' -moose_app_name = 'proteus-opt' -moose_runner = MooseRunner(moose_dir,moose_app_dir,moose_app_name) - -# Set input and parallelisation options -moose_runner.set_run_opts(n_tasks=4, - n_threads=2, - redirect_out=True) - -# These are all the test cases required -input_files = [ Path('scripts/moose-mech-simple.i'), \ - Path('scripts/moose-mech-sub-dom.i'), \ - Path('scripts/moose-mech-sub-dom-order2.i'), \ - Path('scripts/moose-mech-two-beams.i'), \ - Path('scripts/moose-mech-thermal-exp.i')] - -for ii in input_files: - start_time = time.perf_counter() - - moose_runner.set_input_file(ii) - print('Running moose test case with:') - print(moose_runner.get_arg_list()) - - moose_runner.run() - run_time = time.perf_counter() - start_time - print('MOOSE run time = {run_time:.3f} seconds') - print() - -print('Test data generation complete.') -print() diff --git a/dependencies/mooseherder/tests/gmsh/gmsh-broken.geo b/dependencies/mooseherder/tests/gmsh/gmsh-broken.geo deleted file mode 100644 index 2914213b..00000000 --- a/dependencies/mooseherder/tests/gmsh/gmsh-broken.geo +++ /dev/null @@ -1,62 +0,0 @@ -// -// Demo input file for parameterised geometries with Gmsh -// Author: Rory Spencer -// Date: Nov-2023 - -// Geometry Variables -gaugeHeight = 10E-3 -gaugeWidth = ; -// gaugeThickness = 1E-3; //2D for now - -// Parameterisation -//_* -p0 = 1.5E-3; -p1 = 1E-3; // Testing comments in the variable block -// Another test comment -p2 = 1.2E-3; -filename = "mesh-test.msh"; // String variable -//** -lc = 1E-4; - - -// Create some points defining the boundary -// Will have vertical symmetry -Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen -Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 -Point(3) = {p1,0,0,lc}; // Parameterised point 1 -Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 -Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line -Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline -Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge - -// Connect things up with some lines -Line(1) = {1,7}; // Bottom Hor Line -Spline(2) = {7,2,3,4,5}; //Vertical up side -Line(3) = {5,6}; // Top Hor Line -Line(4) = {6,1}; // Centreline - -Curve Loop(1) = {1,2,3,4}; -Plane Surface(1) = {1}; - -// Top & Bottom -Transfinite Curve{1} = 10; -Transfinite Curve{3} = 10; - -// Sides -Transfinite Curve{4} = 50; -Transfinite Curve{2} = 50; - -Transfinite Surface{1}; - -Recombine Surface{:}; -Mesh 2; - - -Physical Surface("Specimen",1) = {1}; - -Physical Curve("Top-BC",2) = {3}; -Physical Curve("Mid-BC",3) = {4}; -Physical Curve("Btm-BC",4) = {1}; - -Save Str(filename); -Exit; diff --git a/dependencies/mooseherder/tests/gmsh/gmsh-test.geo b/dependencies/mooseherder/tests/gmsh/gmsh-test.geo deleted file mode 100644 index 1a69a7b2..00000000 --- a/dependencies/mooseherder/tests/gmsh/gmsh-test.geo +++ /dev/null @@ -1,61 +0,0 @@ -// -// Demo input file for parameterised geometries with Gmsh -// Author: Rory Spencer -// Date: Nov-2023 - -// Geometry Variables -gaugeHeight = 10E-3; -gaugeWidth = 2.5E-3; -// gaugeThickness = 1E-3; //2D for now - -// Parameterisation -//_* -p0 = 1.5E-3; -p1 = 1E-3; // Testing comments in the variable block -// Another test comment -p2 = 1.2E-3; -filename = "gmsh-test.msh"; // String variable -//** -lc = 1E-4; - -// Create some points defining the boundary -// Will have vertical symmetry -Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen -Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 -Point(3) = {p1,0,0,lc}; // Parameterised point 1 -Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 -Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line -Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline -Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge - -// Connect things up with some lines -Line(1) = {1,7}; // Bottom Hor Line -Spline(2) = {7,2,3,4,5}; //Vertical up side -Line(3) = {5,6}; // Top Hor Line -Line(4) = {6,1}; // Centreline - -Curve Loop(1) = {1,2,3,4}; -Plane Surface(1) = {1}; - -// Top & Bottom -Transfinite Curve{1} = 10; -Transfinite Curve{3} = 10; - -// Sides -Transfinite Curve{4} = 50; -Transfinite Curve{2} = 50; - -Transfinite Surface{1}; - -Recombine Surface{:}; -Mesh 2; - - -Physical Surface("Specimen",1) = {1}; - -Physical Curve("Top-BC",2) = {3}; -Physical Curve("Mid-BC",3) = {4}; -Physical Curve("Btm-BC",4) = {1}; - -Save Str(filename); -Exit; diff --git a/dependencies/mooseherder/tests/gmshrunner_test.py b/dependencies/mooseherder/tests/gmshrunner_test.py deleted file mode 100644 index 55bb29e2..00000000 --- a/dependencies/mooseherder/tests/gmshrunner_test.py +++ /dev/null @@ -1,118 +0,0 @@ -''' -============================================================================== -TEST: GmshRunner - -Authors: Lloyd Fletcher -============================================================================== -''' -import os -from pathlib import Path -import pytest -from mooseherder.gmshrunner import GmshRunner - -USER_DIR = Path.home() - - -def test_gmsh_exists(): - exist_gmsh_path = USER_DIR / 'gmsh/bin/gmsh' - assert exist_gmsh_path.is_file() - - -@pytest.fixture() -def gmsh_path() -> Path: - return USER_DIR / 'gmsh/bin/gmsh' - - -@pytest.fixture() -def runner(gmsh_path: Path) -> GmshRunner: - return GmshRunner(gmsh_path) - - -@pytest.fixture() -def input_file() -> Path: - return Path('tests/gmsh/gmsh-test.geo') - - -@pytest.fixture(autouse=True) -def setup_teardown(): - # Setup here - yield - # Teardown here - remove output files - all_files = os.listdir('tests/gmsh/') - for ff in all_files: - if '.msh' in ff: - os.remove(Path('tests/gmsh/' + ff)) - -def test_create_runner(runner: GmshRunner, gmsh_path: Path) -> None: - assert runner._gmsh_app == gmsh_path - - -def test_create_runner_err() -> None: - wrong_path = USER_DIR / 'wrong_dir' - with pytest.raises(FileNotFoundError) as err_info: - _ = GmshRunner(wrong_path) - - msg, = err_info.value.args - assert msg == 'Gmsh app not found at given path.' - -def test_set_gmsh_app(gmsh_path: Path) -> None: - check_runner = GmshRunner() - check_runner.set_gmsh_app(gmsh_path) - assert check_runner._gmsh_app == gmsh_path - - -def test_set_gmsh_app_err() -> None: - wrong_path = USER_DIR / 'wrong_dir' - with pytest.raises(FileNotFoundError) as err_info: - check_runner = GmshRunner() - check_runner.set_gmsh_app(wrong_path) - - msg, = err_info.value.args - assert msg == 'Gmsh app not found at given path.' - - -def test_set_input_file(runner: GmshRunner, input_file: Path) -> None: - runner.set_input_file(input_file) - assert runner.get_input_file() == input_file - - -def test_set_input_err_geo(runner: GmshRunner) -> None: - wrong_file = Path('tests/gmsh/gmsh-test.i') - with pytest.raises(FileNotFoundError) as err_info: - runner.set_input_file(wrong_file) - msg, = err_info.value.args - assert msg == 'Incorrect file type. Must be *.geo.' - - -def test_set_input_err_exist(runner: GmshRunner) -> None: - wrong_file = Path('tests/gmsh/gmsh-test-noexist.geo') - with pytest.raises(FileNotFoundError) as err_info: - runner.set_input_file(wrong_file) - msg, = err_info.value.args - assert msg == 'Specified gmsh geo file does not exist.' - - -def test_run(runner: GmshRunner, input_file: Path) -> None: - runner.set_input_file(input_file) - runner.run() - assert os.path.isfile('tests/gmsh/gmsh-test.msh'), 'Output mesh *.msh file not generated by gmsh.' - - -def test_run_with_input(runner: GmshRunner, input_file: Path) -> None: - runner.run(input_file) - assert os.path.isfile('tests/gmsh/gmsh-test.msh'), 'Output mesh *.msh file not generated by gmsh.' - - -def test_run_err_no_gmsh() -> None: - check_runner = GmshRunner() - with pytest.raises(RuntimeError) as err_info: - check_runner.run() - msg, = err_info.value.args - assert msg == "Specify the full path to the gmsh app before calling run." - - -def test_run_err_no_geo(runner: GmshRunner) -> None: - with pytest.raises(RuntimeError) as err_info: - runner.run() - msg, = err_info.value.args - assert msg == "Specify input *.geo file before running gmsh." diff --git a/dependencies/mooseherder/tests/herdchecker.py b/dependencies/mooseherder/tests/herdchecker.py deleted file mode 100644 index c06c5154..00000000 --- a/dependencies/mooseherder/tests/herdchecker.py +++ /dev/null @@ -1,200 +0,0 @@ -''' -============================================================================== -HerdChecker: Helper functions for testing MooseHerder - -Authors: Lloyd Fletcher -============================================================================== -''' - -import os -from typing import Any -from pathlib import Path -from pprint import pprint -from mooseherder.inputmodifier import InputModifier -from mooseherder.mooserunner import MooseRunner -from mooseherder.mooseconfig import MooseConfig -from mooseherder.gmshrunner import GmshRunner -from mooseherder.mooseherd import MooseHerd -from mooseherder.directorymanager import DirectoryManager - - -NUM_DIRS = 4 -NUM_PARA = 4 -NUM_CALLS = 3 -BASE_DIR = Path('tests/') - -MOOSE_PATH = Path.home()/'moose' -MOOSE_APP_PATH = Path().home()/'proteus' -MOOSE_APP_NAME = 'proteus-opt' -MOOSE_INPUT = Path('tests/moose/moose-test.i') - -GMSH_APP_PATH = Path().home() / 'gmsh/bin/gmsh' -GMSH_INPUT = Path('tests/gmsh/gmsh-test.geo') - -OUTPUT_PATH = Path('tests/output/') - - -def create_moose_config() -> MooseConfig: - return MooseConfig({'main_path': MOOSE_PATH, - 'app_path': MOOSE_APP_PATH, - 'app_name': MOOSE_APP_NAME}) - - -def create_moose_objs(input_file: Path) -> tuple[MooseRunner,InputModifier]: - moose_config = create_moose_config() - moose_runner = MooseRunner(moose_config) - - moose_input = input_file - moose_modifier = InputModifier(moose_input,'#','') - - return (moose_runner,moose_modifier) - - -def create_gmsh_objs(input_file: Path) -> tuple[GmshRunner,InputModifier]: - gmsh_input = input_file - gmsh_modifier = InputModifier(gmsh_input,'//',';') - gmsh_runner = GmshRunner(GMSH_APP_PATH) - gmsh_runner.set_input_file(gmsh_input) - - return (gmsh_runner,gmsh_modifier) - -def check_solve(check_file: Path, check_str: str) -> int: - check_count = 0 - if check_file.is_file(): - with open(check_file,'r', encoding="utf-8") as so: - stdout_lines = so.readlines() - for ll in stdout_lines: - if check_str in ll: - check_count += 1 - return check_count - - -def check_solve_converged(check_stdout: Path) -> int: - return check_solve(check_stdout,'Solve Converged!') - - -def check_solve_error(check_stdout: Path) -> int: - return check_solve(check_stdout,'*** ERROR ***') - - -def check_output_key_file_count(check_dir: Path) -> int: - work_dir_files = os.listdir(check_dir) - - key_count = 0 - for ff in work_dir_files: - if 'output-key' in ff: - key_count += 1 - - return key_count - - -def check_run_sweep(check_herd: MooseHerd, - dir_manager: DirectoryManager, - run_call: int) -> None: - for ll in dir_manager.get_output_paths(): - for ff in ll: - if ff is not None: - assert ff.is_file(), \ - f"Simulation output {ff} does not exist." - - assert check_herd.get_sweep_time() >= 0, \ - 'Sweep run time is less than 0.' - assert dir_manager.get_output_key_file(check_herd.get_sweep_iter()), \ - 'Output key file was not written.' - - output_key_count = check_output_key_file_count( - dir_manager.get_output_key_file( - check_herd.get_sweep_iter()).parent) - assert output_key_count == run_call - - -def check_input_output_count_sequential(check_herd: MooseHerd, - dir_manager: DirectoryManager, - run_call: int) -> None: - (input_count, output_count) = get_input_output_count( - dir_manager.get_all_run_dirs(),'.i','_out.e') - - if not check_herd._keep_all: - num_sims = 1 - else: - num_sims = run_call*len(check_herd._var_sweep) - - assert input_count == num_sims - assert output_count == num_sims - - -def check_input_output_count_para(check_herd: MooseHerd, - dir_manager: DirectoryManager, - run_call: int) -> None: - (input_count, output_count) = get_input_output_count( - dir_manager.get_all_run_dirs(),'.i','_out.e') - - if not check_herd._keep_all: - num_sims = len(check_herd._var_sweep) - else: - num_sims = run_call*len(check_herd._var_sweep) - - assert input_count == num_sims - assert output_count == num_sims - - -def get_input_output_count(run_dirs: list[Path], - in_suffix: str, - out_suffix: str) -> tuple[int,int]: - # Go through all work directories and count the inputs/exoduses - input_count = 0 - output_count = 0 - - for rr in run_dirs: - dir_files = os.listdir(rr) - for ff in dir_files: - if out_suffix in ff: - output_count += 1 - elif in_suffix in ff: - input_count += 1 - - return (input_count, output_count) - - -def run_check_seq(keep_all: bool, - expected: int, - herd: MooseHerd, - dir_manager: DirectoryManager, - sweep_vars: list[list[dict | None]]) -> None: - - herd.set_keep_flag(keep_all) - herd.set_num_para_sims(NUM_PARA) - - herd.run_sequential(sweep_vars) - check_run_sweep(herd, dir_manager, run_call = 1) - check_input_output_count_sequential(herd, dir_manager, run_call = 1) - - herd.run_sequential(sweep_vars) - check_run_sweep(herd, dir_manager, run_call = expected) - check_input_output_count_sequential(herd, dir_manager, run_call = expected) - - -def run_check_para(keep_all: bool, - herd: MooseHerd, - dir_manager: DirectoryManager, - sweep_vars: list[list[dict | None]]) -> None: - herd.set_keep_flag(keep_all) - herd.set_num_para_sims(NUM_PARA) - - for rr in range(NUM_CALLS): - if keep_all: - run_check = rr+1 - else: - run_check = 1 - - herd.run_para(sweep_vars) - check_run_sweep(herd, dir_manager, run_check) - check_input_output_count_para(herd, dir_manager, run_check) - -def debug_print(to_print: Any) -> None: - print() - print('-'*80) - pprint(to_print) - print('-'*80) - print() - diff --git a/dependencies/mooseherder/tests/inputmodifier_gmsh_test.py b/dependencies/mooseherder/tests/inputmodifier_gmsh_test.py deleted file mode 100644 index 3ffe17b9..00000000 --- a/dependencies/mooseherder/tests/inputmodifier_gmsh_test.py +++ /dev/null @@ -1,101 +0,0 @@ -''' -============================================================================== -TEST: InputModifier with Gmsh - -Authors: Lloyd Fletcher -============================================================================== -''' -import os -from pathlib import Path -import pytest -from mooseherder.inputmodifier import InputModifier - - -@pytest.fixture -def gmsh_mod(): - input_file = Path('tests/gmsh/gmsh-test.geo') - return InputModifier(input_file,'//',';') - - -@pytest.fixture(autouse=True) -def setup_teardown_gmsh(): - # Setup here - yield - # Teardown here - remove output files - test_dir = 'tests/gmsh/' - all_files = os.listdir(test_dir) - for ff in all_files: - if '-mod' in ff: - os.remove(test_dir + ff) - - -def test_gmsh_find_vars(gmsh_mod): - gmsh_mod.find_vars() - assert gmsh_mod._var_start_ind == 11 - assert gmsh_mod._var_end_ind == 17 - - -def test_gmsh_read_vars(gmsh_mod): - gmsh_mod.read_vars() - assert gmsh_mod._vars == {'p0': 0.0015, - 'p1': 0.001, - 'p2': 0.0012, - 'filename': '"gmsh-test.msh"'} - - -def test_gmsh_get_vars(gmsh_mod): - assert gmsh_mod.get_vars() == {'p0': 0.0015, - 'p1': 0.001, - 'p2': 0.0012, - 'filename': '"gmsh-test.msh"'} - -def test_gmsh_update_vars(gmsh_mod): - new_vars = {'p1': 0.0009, - 'p2': 0.001} - gmsh_mod.update_vars(new_vars) - assert gmsh_mod._vars == {'p0': 0.0015, - 'p1': 0.0009, - 'p2': 0.001, - 'filename': '"gmsh-test.msh"'} - - -def test_gmsh_update_vars_error(gmsh_mod): - new_vars = {'p1': 0.0009, - 'p7': 0.001} - with pytest.raises(KeyError) as errinfo: - gmsh_mod.update_vars(new_vars) - msg, = errinfo.value.args - assert msg == "Key p7 does not exist in the variables found in the input file. Check input file to make sure the variable exists." - - -def test_gmsh_write_file(gmsh_mod): - new_vars = {'p1': 0.0009, - 'p2': 0.001} - gmsh_mod.update_vars(new_vars) - - mod_file = Path('tests/gmsh/gmsh_vartest-mod.geo') - gmsh_mod.write_file(mod_file) - assert os.path.isfile(mod_file) - - gmsh_mod_check = InputModifier(mod_file,'//',';') - assert gmsh_mod_check._vars == {'p0': 0.0015, - 'p1': 0.0009, - 'p2': 0.001, - 'filename': '"gmsh-test.msh"'} - - -@pytest.mark.parametrize( - ('input_str','expected'), - ( - pytest.param('',('','',''),id='Degenerate blank case'), - pytest.param('x1 = 1;',('x1',1.0,''),id='Variable only, int case'), - pytest.param('x2 = 100.0;',('x2',100.0,''),id='Variable only, float case'), - pytest.param('x3 = 1e3;',('x3',1000.0,''),id='Variable only, exponential case'), - pytest.param('order = SECOND;',('order','SECOND',''),id='Variable only, string case'), - pytest.param('x=10; // comment',('x',10.0,' comment'),id='Numeric variable and comment case'), - pytest.param('// comment',('','',' comment'),id='Comment only case'), - ) -) -def test_extract_var_str_gmsh(input_str,expected,gmsh_mod): - ext_strs = gmsh_mod._extract_var_str(input_str) - assert ext_strs == expected diff --git a/dependencies/mooseherder/tests/inputmodifier_moose_test.py b/dependencies/mooseherder/tests/inputmodifier_moose_test.py deleted file mode 100644 index 74ab52ec..00000000 --- a/dependencies/mooseherder/tests/inputmodifier_moose_test.py +++ /dev/null @@ -1,177 +0,0 @@ -""" -============================================================================== -TEST: InputModifier with MOOSE - -Authors: Lloyd Fletcher -============================================================================== -""" -import os -from pathlib import Path -import pytest -from mooseherder.inputmodifier import InputModifier - - -@pytest.fixture -def moose_mod() -> InputModifier: - input_file = Path("tests/moose/moose-test.i") - return InputModifier(input_file, "#", "") - - -@pytest.fixture(autouse=True) -def setup_teardown_moose(): - # Setup here - yield - # Teardown here - remove output files - test_dir = Path("tests/moose/") - all_files = os.listdir(test_dir) - for ff in all_files: - if "-mod" in ff: - os.remove(test_dir / ff) - - -def test_moose_find_vars(moose_mod: InputModifier) -> None: - moose_mod.find_vars() - assert moose_mod._var_start_ind == 3 - assert moose_mod._var_end_ind == 14 - - -def test_moose_read_vars(moose_mod: InputModifier) -> None: - moose_mod.read_vars() - assert moose_mod._vars == { - "n_elem_x": 20, - "n_elem_y": 10, - "e_modulus": 1000000000.0, - "p_ratio": 0.3, - "e_type": "QUAD4", - "add_vars": "true", - "y_max": 1.0, - "x_max": "${fparse 2*y_max}", - } - - -def test_moose_get_vars(moose_mod: InputModifier) -> None: - assert moose_mod.get_vars() == { - "n_elem_x": 20, - "n_elem_y": 10, - "e_modulus": 1000000000.0, - "p_ratio": 0.3, - "e_type": "QUAD4", - "add_vars": "true", - "y_max": 1.0, - "x_max": "${fparse 2*y_max}", - } - - -def test_moose_update_vars(moose_mod: InputModifier): - # Changes number of y elements, elastic modulus and element type - # Does not change add_vars or other variables - new_vars = {"n_elem_y": 25, "e_modulus": 2e9, "e_type": "QUAD8", "add_vars": "true"} - moose_mod.update_vars(new_vars) - assert moose_mod._vars == { - "n_elem_x": 20, - "n_elem_y": 25, - "e_modulus": 2e9, - "p_ratio": 0.3, - "e_type": "QUAD8", - "add_vars": "true", - "y_max": 1.0, - "x_max": "${fparse 2*y_max}", - } - - -def test_moose_update_vars_error(moose_mod: InputModifier): - new_vars = {"n_elem_y": 25, "n_elem_z": 50} - - with pytest.raises(KeyError) as err_info: - moose_mod.update_vars(new_vars) - - (msg,) = err_info.value.args - assert ( - msg - == "Key n_elem_z does not exist in the variables found in the input file." - + " Check input file to make sure the variable exists." - ) - - -def test_moose_write_file(moose_mod: InputModifier) -> None: - new_vars = {"n_elem_y": 25, "e_modulus": 2e9, "e_type": "QUAD8"} - moose_mod.update_vars(new_vars) - - mod_file = Path("tests/moose/moose-test-mod.i") - moose_mod.write_file(mod_file) - assert os.path.isfile(mod_file) - - moose_mod_check = InputModifier(mod_file, "#", "") - assert moose_mod_check._vars == { - "n_elem_x": 20, - "n_elem_y": 25, - "e_modulus": 2e9, - "p_ratio": 0.3, - "e_type": "QUAD8", - "add_vars": "true", - "y_max": 1.0, - "x_max": "${fparse 2*y_max}", - } - - -def test_moose_get_var_keys(moose_mod: InputModifier): - assert moose_mod.get_var_keys() == [ - "n_elem_x", - "n_elem_y", - "e_modulus", - "p_ratio", - "e_type", - "add_vars", - "y_max", - "x_max", - ] - - -def test_moose_get_input_file(moose_mod: InputModifier): - assert moose_mod.get_input_file() == Path("tests/moose/moose-test.i") - - -@pytest.mark.parametrize( - ("input_str", "expected"), - ( - pytest.param("", ("", "", ""), id="Degenerate blank case"), - pytest.param("\t \n", ("", "", ""), id="Degenerate whitespace case"), - pytest.param("x1 = 1", ("x1", 1.0, ""), id="Variable only, int case"), - pytest.param("x2 = 100.0", ("x2", 100.0, ""), id="Variable only, float case"), - pytest.param( - "x3 = 1e3", ("x3", 1000.0, ""), id="Variable only, exponential case" - ), - pytest.param( - "order = SECOND", ("order", "SECOND", ""), id="Variable only, string case" - ), - pytest.param( - "x=10 # comment", - ("x", 10.0, " comment"), - id="Numeric variable and comment case", - ), - pytest.param( - "fun = $fparse{2*x}", - ("fun", "$fparse{2*x}", ""), - id="String variable, no commentcase", - ), - pytest.param( - "fun = $fparse{2*x} # comment", - ("fun", "$fparse{2*x}", " comment"), - id="String variable and comment case", - ), - pytest.param( - "fun = ${fparse 2*x}", - ("fun", "${fparse 2*x}", ""), - id="String variable, no comment case, retain whitespace for fparse", - ), - pytest.param( - "fun = ${fparse 2*x} # comment", - ("fun", "${fparse 2*x}", " comment"), - id="String variable and comment case, retain whitespace for fparse", - ), - pytest.param("# comment", ("", "", " comment"), id="Comment only case"), - ), -) -def test_extract_var_str_moose(input_str, expected, moose_mod): - ext_strs = moose_mod._extract_var_str(input_str) - assert ext_strs == expected diff --git a/dependencies/mooseherder/tests/moose/moose-test-broken.i b/dependencies/mooseherder/tests/moose/moose-test-broken.i deleted file mode 100644 index f3005ba4..00000000 --- a/dependencies/mooseherder/tests/moose/moose-test-broken.i +++ /dev/null @@ -1,94 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -n_elem_x = 40 # Putting this variable outside the block to test - -#_* Variables Block -# n_elem_x = 50 putting an equals sign here to test -# n_elem_y = 20 # Testing comments in the variables block, this line is broken -e_modulus = 1e9 -# Comment line to test -p_ratio = 0.3# Another comment to test with -# The next variables test strings -e_type = QUAD4 -add_vars = true -y_max = 1 -x_max = ${fparse 2*y_max} -#** - -# Another variable outside the block to test -spatial_dims = 2 - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${spatial_dims} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = ${x_max} - ymax = ${y_max} - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = ${add_vars} - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/moose/moose-test-gmsh.i b/dependencies/mooseherder/tests/moose/moose-test-gmsh.i deleted file mode 100644 index 6183bf97..00000000 --- a/dependencies/mooseherder/tests/moose/moose-test-gmsh.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables -e_modulus = 1e9 -p_ratio = 0.3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - type = FileMesh - file = 'gmsh-test.msh' -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [./u_top_pull] - type = Pressure - variable = disp_y - boundary = Top-BC - function = -1e7*t - [../] - [./u_bottom_fix] - type = DirichletBC - variable = disp_y - boundary = Btm-BC - value = 0.0 - [../] - [./u_yz_fix] - type = DirichletBC - variable = disp_x - boundary = Mid-BC - value = 0.0 - [../] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - #type = ComputeFiniteStrainElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = 2 - dt = 1 -[] - - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/moose/moose-test.i b/dependencies/mooseherder/tests/moose/moose-test.i deleted file mode 100644 index 93020cb1..00000000 --- a/dependencies/mooseherder/tests/moose/moose-test.i +++ /dev/null @@ -1,94 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -spatial_dims = 2 - -#_* Variables Block -n_elem_x = 20 # putting an equals sign here to test -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 1e9 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -# The next variables test strings -e_type = QUAD4 -add_vars = true -y_max = 1 -x_max = ${fparse 2*y_max} -#** End Variable Block - -# Another variable outside the block to test -time_end = 2 - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${spatial_dims} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = ${x_max} - ymax = ${y_max} - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = ${add_vars} - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] diff --git a/dependencies/mooseherder/tests/mooseconfig_test.py b/dependencies/mooseherder/tests/mooseconfig_test.py deleted file mode 100644 index d2ba8dd5..00000000 --- a/dependencies/mooseherder/tests/mooseconfig_test.py +++ /dev/null @@ -1,160 +0,0 @@ -''' -============================================================================== -TEST: MooseConfig - -Authors: Lloyd Fletcher -============================================================================== -''' -import os -from pathlib import Path -import pytest -from mooseherder.mooseconfig import MooseConfig, MooseConfigError -import tests.herdchecker as hc - - -@pytest.fixture -def config_dict() -> dict[str, Path | str]: - return {'main_path': hc.MOOSE_PATH, - 'app_path': hc.MOOSE_APP_PATH, - 'app_name': hc.MOOSE_APP_NAME} - - -@pytest.fixture -def config_dict_str() -> dict[str,str]: - return {'main_path': str(hc.MOOSE_PATH), - 'app_path': str(hc.MOOSE_APP_PATH), - 'app_name': str(hc.MOOSE_APP_NAME)} - - -@pytest.fixture -def config_dict_broken_path() -> dict[str, Path | str]: - return {'main_path': Path().home() / 'no-exist', - 'app_path': Path().home() / 'no-exist', - 'app_name': 'broken-opt'} - - -@pytest.fixture -def config_dict_broken_key() -> dict[str, Path | str]: - return {'main_path': hc.MOOSE_PATH, - 'app_name': hc.MOOSE_APP_NAME} - - -@pytest.fixture -def config(config_dict: dict[str, Path | str]) -> MooseConfig: - return MooseConfig(config_dict) - - -def test_init_config_blank() -> None: - moose_config = MooseConfig() - assert moose_config is not None - - -def test_init_config(config: MooseConfig) -> None: - assert config is not None - - -def test_init_config_key_err(config_dict_broken_key: dict[str, Path | str] - ) -> None: - with pytest.raises(MooseConfigError) as err_info: - moose_config = MooseConfig(config_dict_broken_key) - - (msg,) = err_info.value.args - assert msg == "Config dictionary must contain all keys: ['main_path', 'app_path', 'app_name']" - - -def test_init_config_path_err(config_dict_broken_path: dict[str, Path | str] - ) -> None: - with pytest.raises(MooseConfigError) as err_info: - moose_config = MooseConfig(config_dict_broken_path) - - (msg,) = err_info.value.args - assert msg == "Main path to MOOSE does not exist. Check path at key 'main_path'." - - -def test_get_config(config: MooseConfig, - config_dict: dict[str, Path | str]) -> None: - check_config = config.get_config() - assert check_config == config_dict - - -def test_blank_config_get_err() -> None: - moose_config = MooseConfig() - - with pytest.raises(MooseConfigError) as err_info: - check_config = moose_config.get_config() - - (msg,) = err_info.value.args - assert msg == 'Config dictionary must be initialised, load config file first.' - - -def test_convert_path_to_str(config_dict: dict[str, Path | str], - config_dict_str: dict[str, str]) -> None: - conv_config = MooseConfig().convert_path_to_str(config_dict) - assert conv_config == config_dict_str - - -def test_convert_path_to_str_blank() -> None: - conv_config = MooseConfig().convert_path_to_str(None) - assert conv_config is None - - -def test_convert_str_to_path(config_dict: dict[str, Path | str], - config_dict_str: dict[str, str]) -> None: - conv_config = MooseConfig().convert_str_to_path(config_dict_str) - assert conv_config == config_dict - - -def test_convert_str_to_path_blank() -> None: - conv_config = MooseConfig().convert_str_to_path(None) - assert conv_config is None - - -def test_save_config(config: MooseConfig) -> None: - save_path = Path('tests/config/moose-config.json') - config.save_config(save_path) - assert save_path.is_file() - os.remove(save_path) - - -def test_save_config_parent_dir_err(config: MooseConfig) -> None: - save_path = Path('tests/no-exist/moose-config.json') - with pytest.raises(MooseConfigError) as err_info: - config.save_config(save_path) - - (msg,) = err_info.value.args - assert msg == 'Parent path to save config file does not exist.' - - -def test_read_config(config_dict: dict[str, Path | str]) -> None: - read_path = Path().cwd() / 'moose-config.json' - read_config = MooseConfig().read_config(read_path) - assert read_config.get_config() == config_dict - - -def test_read_config_exist_err() -> None: - read_path = Path('tests/no-exist/moose-config-no-exist.json') - with pytest.raises(MooseConfigError) as err_info: - read_config = MooseConfig().read_config(read_path) - - (msg,) = err_info.value.args - assert msg == 'MOOSE config file does not exist at: tests/no-exist/moose-config-no-exist.json.' - - -def test_read_config_key_err() -> None: - read_path = Path('tests/config/moose-config-break-key.json') - - with pytest.raises(MooseConfigError) as err_info: - read_config = MooseConfig().read_config(read_path) - - (msg,) = err_info.value.args - assert msg == "Config dictionary must contain all keys: ['main_path', 'app_path', 'app_name']" - - -def test_read_config_path_err() -> None: - read_path = Path('tests/config/moose-config-break-path.json') - - with pytest.raises(MooseConfigError) as err_info: - read_config = MooseConfig().read_config(read_path) - - (msg,) = err_info.value.args - assert msg == "Main path to MOOSE does not exist. Check path at key 'main_path'." diff --git a/dependencies/mooseherder/tests/mooseherd_test.py b/dependencies/mooseherder/tests/mooseherd_test.py deleted file mode 100644 index 291d270c..00000000 --- a/dependencies/mooseherder/tests/mooseherd_test.py +++ /dev/null @@ -1,319 +0,0 @@ -''' -============================================================================== -TEST: MooseHerd Tests - -Authors: Lloyd Fletcher -============================================================================== -''' -import os -import pytest -from pytest import MonkeyPatch -from mooseherder.mooseherd import MooseHerd -from mooseherder.directorymanager import DirectoryManager -import tests.herdchecker as hct - - -@pytest.fixture -def dir_manager() -> DirectoryManager: - return DirectoryManager(hct.NUM_DIRS) - - -@pytest.fixture() -def herd_blank() -> MooseHerd: - (moose_runner,moose_modifier) = hct.create_moose_objs(hct.MOOSE_INPUT) - blank_manager = DirectoryManager(hct.NUM_DIRS) - return MooseHerd([moose_runner],[moose_modifier],blank_manager) - - -@pytest.fixture() -def herd(dir_manager) -> MooseHerd: - (moose_runner,moose_modifier) = hct.create_moose_objs(hct.MOOSE_INPUT) - return MooseHerd([moose_runner],[moose_modifier],dir_manager) - - -@pytest.fixture() -def herd_gmsh(dir_manager) -> MooseHerd: - (moose_runner,moose_modifier) = hct.create_moose_objs(hct.MOOSE_INPUT) - (gmsh_runner,gmsh_modifier) = hct.create_gmsh_objs(hct.GMSH_INPUT) - - runners = [gmsh_runner,moose_runner] - modifiers = [gmsh_modifier,moose_modifier] - - return MooseHerd(runners,modifiers,dir_manager) - - -@pytest.fixture(autouse=True) -def setup_teardown(dir_manager): - # Setup here - dir_manager.set_base_dir(hct.BASE_DIR) - dir_manager.create_dirs() - yield - # Teardown here - dir_manager.clear_dirs() - - -@pytest.fixture() -def moose_sweep() -> list[list[dict]]: - e_mod = [1e9,2e9] - p_rat = [0.3,0.35] - - moose_vars = list([]) - for ee in e_mod: - for pp in p_rat: - moose_vars.append([{'e_modulus':ee,'p_ratio':pp}]) - - return moose_vars - - -@pytest.fixture() -def moose_sweep_seq() -> list[list[dict]]: - e_mod = [1e9] - p_rat = [0.3,0.35] - - moose_vars = list() - for ee in e_mod: - for pp in p_rat: - moose_vars.append([{'e_modulus':ee,'p_ratio':pp}]) - - return moose_vars - - -@pytest.fixture() -def gmsh_sweep() -> list[list[dict | None]]: - p0 = [1E-3,1.1E-3] - p1 = [1.5E-3,2E-3] - - gmsh_vars = list() - for ii in p0: - for jj in p1: - gmsh_vars.append([{'p0':ii ,'p1':jj},None]) - - return gmsh_vars - - -@pytest.fixture() -def gmsh_sweep_seq() -> list[list[dict | None]]: - p0 = [1E-3,] - p1 = [1.5E-3,2E-3] - - gmsh_vars = list() - for ii in p0: - for jj in p1: - gmsh_vars.append([{'p0':ii ,'p1':jj},None]) - - return gmsh_vars - - -def test_create_herd_blank(herd_blank: MooseHerd) -> None: - assert herd_blank is not None - - -def test_create_herd(herd: MooseHerd) -> None: - assert herd is not None - - -def test_create_herd_gmsh(herd_gmsh: MooseHerd) -> None: - assert herd_gmsh is not None - - -def test_set_input_copy_names(herd: MooseHerd) -> None: - new_names = ['sim-name'] - herd.set_input_copy_names(new_names) - assert herd._input_names == new_names - - herd.set_input_copy_names() - assert herd._input_names == ['sim-1'] - - -def test_set_keep_flag(herd: MooseHerd) -> None: - herd.set_keep_flag(True) - assert herd._keep_all == True - - herd.set_keep_flag(False) - assert herd._keep_all == False - - herd.set_keep_flag() - assert herd._keep_all == True - - -@pytest.mark.parametrize( - ('n_para','expected'), - ( - (0, 1), - (-1,1), - (2.5,2), - (os.cpu_count()+1,os.cpu_count()) # type: ignore - ) -) -def test_set_num_para_sims(n_para: int, expected: int, herd: MooseHerd): - herd.set_num_para_sims(n_para) - assert herd._n_para_sims == expected - - -@pytest.mark.parametrize( - ('process','expected'), - ( - ('MainProcess', '1'), - ('process-1','1'), - ('process-2','2'), - ('process-3','2'), - ('process-4','1'), - ) -) -def test_get_worker_num(process: str, - expected: str, - monkeypatch, - herd: MooseHerd) -> None: - monkeypatch.setattr(MooseHerd,'_get_process_name',lambda _: process) - worker_num = herd._get_worker_num() - assert worker_num == expected - - -@pytest.mark.parametrize( - ('sim_iter','worker_num','keep_all','expected'), - ( - (0,'1',False, '1'), - (4,'2',False, '2'), - (10,'3',False, '3'), - (0,'1',True, '1'), - (1,'2',True, '2'), - (3,'5',True, '4'), - ) -) -def test_get_run_num(sim_iter: int, - worker_num: str, - keep_all: bool, - expected: str, - herd: MooseHerd) -> None: - herd.set_num_para_sims(hct.NUM_PARA) - herd.set_keep_flag(keep_all) - run_num = herd._get_run_num(sim_iter,worker_num) - assert run_num == expected - - -@pytest.mark.parametrize( - ('sim_iter','worker_num'), - ( - (0,'1'), - (8,'4'), - ) -) -def test_run_once_moose_only(sim_iter: int, - worker_num: str, - herd: MooseHerd, - moose_sweep: list[list[dict]], - monkeypatch): - # Force the process number to be not the main process - monkeypatch.setattr(MooseHerd, '_get_worker_num', lambda _: worker_num) - - herd.set_num_para_sims(hct.NUM_PARA) - - output_paths = herd.run_once(sim_iter,moose_sweep[0]) # type: ignore - - worker_path = output_paths[0].parent # type: ignore - stdout_file = worker_path / 'stdout.processor.0' # type: ignore - - assert output_paths[0].is_file(), 'Output exodus does not exist, MOOSE run failed.' # type: ignore - assert stdout_file.is_file(), 'stdout file does not exist, MOOSE run failed or redirect flag set incorrectly.' - assert hct.check_solve_converged(stdout_file), 'MOOSE run did not converge, check stdout file.' - assert herd._iter_run_time >= 0, 'Iteration run time is less than 0' - - -@pytest.mark.parametrize( - ('sim_iter','worker_num'), - ( - (0,'1'), - (8,'4'), - ) -) -def test_run_once_with_gmsh(sim_iter: int, - worker_num: str, - herd_gmsh: MooseHerd, - gmsh_sweep: list[list[dict]], - monkeypatch): - # Force the process number to be not the main process - monkeypatch.setattr(MooseHerd, '_get_worker_num', lambda _: worker_num) - - herd_gmsh.set_num_para_sims(hct.NUM_PARA) - - output_paths = herd_gmsh.run_once(sim_iter,gmsh_sweep[0]) # type: ignore - - worker_path = output_paths[1].parent # type: ignore - stdout_file = worker_path / 'stdout.processor.0' # type: ignore - - assert (worker_path / 'gmsh-test.msh').is_file(), 'Gmsh mesh was not created.' - assert output_paths[1].is_file(), 'Output exodus does not exist, MOOSE run failed.' # type: ignore - assert stdout_file.is_file(), 'stdout file does not exist, MOOSE run failed or redirect flag set incorrectly.' - assert hct.check_solve_converged(stdout_file), 'MOOSE run did not converge, check stdout file.' - assert herd_gmsh._iter_run_time >= 0, 'Iteration run time is less than 0' - - -@pytest.mark.parametrize( - ('keep_all', 'expected'), - ( - (True, 2), - (False, 1), - ) -) -def test_run_sequential_moose_only(keep_all: bool, - expected: int, - herd: MooseHerd, - dir_manager: DirectoryManager, - moose_sweep_seq: list[list[dict | None]]): - hct.run_check_seq(keep_all, - expected, - herd, - dir_manager, - moose_sweep_seq) - -@pytest.mark.parametrize( - ('keep_all', 'expected'), - ( - (True, 2), - (False, 1), - ) -) -def test_run_sequential_with_gmsh(keep_all: bool, - expected: int, - herd_gmsh: MooseHerd, - dir_manager: DirectoryManager, - gmsh_sweep_seq: list[list[dict | None]]): - hct.run_check_seq(keep_all, - expected, - herd_gmsh, - dir_manager, - gmsh_sweep_seq) - - -@pytest.mark.parametrize( - ('keep_all',), - ( - (True,), - (False,), - ) -) -def test_run_para_moose_only(keep_all: bool, - herd: MooseHerd, - dir_manager: DirectoryManager, - moose_sweep: list[list[dict | None]]): - hct.run_check_para(keep_all, - herd, - dir_manager, - moose_sweep) - -@pytest.mark.parametrize( - ('keep_all',), - ( - (True,), - (False,), - ) -) -def test_run_para_with_gmsh(keep_all: bool, - herd_gmsh: MooseHerd, - dir_manager: DirectoryManager, - gmsh_sweep: list[list[dict | None]]): - hct.run_check_para(keep_all, - herd_gmsh, - dir_manager, - gmsh_sweep) - diff --git a/dependencies/mooseherder/tests/mooserunner_test.py b/dependencies/mooseherder/tests/mooserunner_test.py deleted file mode 100644 index 25b9dced..00000000 --- a/dependencies/mooseherder/tests/mooserunner_test.py +++ /dev/null @@ -1,233 +0,0 @@ -''' -============================================================================== -TEST: MooseRunner - -Authors: Lloyd Fletcher -============================================================================== -''' - -import os -from pathlib import Path -import pytest -from mooseherder.mooserunner import MooseRunner -import tests.herdchecker as hc - - -@pytest.fixture() -def runner() -> MooseRunner: - moose_config = hc.create_moose_config() - return MooseRunner(moose_config) - -@pytest.fixture() -def input_path() -> Path: - return Path('tests/moose/moose-test.i') - -@pytest.fixture() -def input_noexist() -> Path: - return Path('tests/moose/moose-test-noexist.i') - -@pytest.fixture() -def input_broken() -> Path: - return Path('tests/moose/moose-test-broken.i') - -@pytest.fixture() -def input_runner(input_path: Path) -> MooseRunner: - moose_config = hc.create_moose_config() - my_runner = MooseRunner(moose_config) - my_runner.set_input_file(input_path) - return my_runner - -@pytest.fixture(autouse=True) -def setup_teardown(input_runner: MooseRunner): - # Setup here - yield - # Teardown here - remove output exodus files - moose_files = os.listdir(input_runner.get_input_dir()) - for ff in moose_files: - if '.e' in ff: - os.remove(input_runner.get_input_dir() / ff) # type: ignore - - stdout_files = os.listdir(input_runner.get_input_dir()) - for ff in stdout_files: - if 'stdout.processor' in ff: - os.remove(input_runner.get_input_dir() / ff) # type: ignore - -def test_set_env_vars(runner: MooseRunner) -> None: - runner.set_env_vars() - assert os.environ['CC'] == 'mpicc' - assert os.environ['CXX'] == 'mpicxx' - assert os.environ['F90'] == 'mpif90' - assert os.environ['F77'] == 'mpif77' - assert os.environ['FC'] == 'mpif90' - assert os.environ['MOOSE_DIR'] == str(runner._config['main_path']) - -@pytest.mark.parametrize( - ('n_threads','expected'), - ( - (0, 1), - (-1,1), - (2.5,2), - (os.cpu_count()+1,os.cpu_count()) # type: ignore - ) -) -def test_set_threads(n_threads: int,expected: int ,runner: MooseRunner) -> None: - runner.set_threads(n_threads) - assert runner._n_threads == expected - -@pytest.mark.parametrize( - ('n_tasks','expected'), - ( - (0, 1), - (-1,1), - (2.5,2), - (os.cpu_count()+1,os.cpu_count()) # type: ignore - ) -) -def test_set_tasks(n_tasks: int, expected: int, runner: MooseRunner): - runner.set_tasks(n_tasks) - assert runner._n_tasks == expected - - -@pytest.mark.parametrize( - ('in_flag','expected'), - ( - (True,True), - (False,False) - ) -) -def test_set_stdout(in_flag: bool, expected: bool, runner: MooseRunner): - runner.set_stdout(in_flag) - assert runner._redirect_stdout == expected - - -def test_set_input_file(runner: MooseRunner, input_path: Path) -> None: - runner.set_input_file(input_path) - - assert runner._input_path == input_path - - -def test_set_input_file_err(runner: MooseRunner) -> None: - with pytest.raises(FileNotFoundError) as err_info: - new_input = Path('tests/moose/moose-test-noexist.i') - runner.set_input_file(new_input) - - msg, = err_info.value.args - assert msg == 'Input file does not exist.' - - -def test_get_input_strs(runner: MooseRunner, input_runner: MooseRunner) -> None: - assert runner.get_input_dir() is None - assert runner.get_input_tag() == '' - assert input_runner.get_input_dir() == Path('tests/moose/') - assert input_runner.get_input_tag() == 'moose-test' - - -def test_get_output_path(runner: MooseRunner,input_runner: MooseRunner): - assert runner.get_output_path() is None - assert input_runner.get_output_path() == Path('tests/moose/moose-test_out.e') - - -@pytest.mark.parametrize( - ('opts','expected'), - ( - ((1,1,False), ['proteus-opt','--n-threads=1','-i','moose-test.i']), - ((1,2,False), ['proteus-opt','--n-threads=2','-i','moose-test.i']), - ((1,2,True), ['proteus-opt','--n-threads=2','-i','moose-test.i','--redirect-stdout']), - ((2,2,False), ['mpirun','-np','2','proteus-opt','--n-threads=2','-i','moose-test.i']), - ((2,2,True), ['mpirun','-np','2','proteus-opt','--n-threads=2','-i','moose-test.i','--redirect-stdout']), - ) -) -def test_assemble_arg_list(opts: tuple[int,int,bool], - expected: str, - input_runner: MooseRunner) -> None: - input_runner.set_run_opts(opts[0],opts[1],opts[2]) - assert input_runner.assemble_arg_list() == expected - - -@pytest.mark.parametrize( - ('opts','expected'), - ( - ((1,1,False), ['proteus-opt','--n-threads=1','-i','moose-test.i']), - ((1,2,False), ['proteus-opt','--n-threads=2','-i','moose-test.i']), - ((1,2,True), ['proteus-opt','--n-threads=2','-i','moose-test.i','--redirect-stdout']), - ((2,2,False), ['mpirun','-np','2','proteus-opt','--n-threads=2','-i','moose-test.i']), - ((2,2,True), ['mpirun','-np','2','proteus-opt','--n-threads=2','-i','moose-test.i','--redirect-stdout']), - ) -) -def test_assemble_arg_list_with_input(opts: tuple[int,int,bool], - expected: str, - runner: MooseRunner, - input_path: Path) -> None: - runner.set_run_opts(opts[0],opts[1],opts[2]) - assert runner.assemble_arg_list(input_path) == expected - - -def test_assemble_arg_list_err(runner: MooseRunner) -> None: - with pytest.raises(RuntimeError) as err_info: - runner.assemble_arg_list() - - msg, = err_info.value.args - assert msg == 'No input file specified, set one using set_input_file or by passing on into this function.' - - -def test_assemble_arg_list_err_with_input(runner: MooseRunner, - input_noexist: Path) -> None: - with pytest.raises(FileNotFoundError) as err_info: - runner.assemble_arg_list(input_noexist) - - msg, = err_info.value.args - assert msg == 'Input file does not exist.' - - -@pytest.mark.parametrize( - ('opts','stdout_exist'), - ( - ((1,1,False), (False,False)), - ((1,4,False), (False,False)), - ((1,4,True), (True,False)), - ((2,4,False), (False,False)), - ((2,4,True), (True,True)), - ) -) -def test_run(opts: tuple[int,int,bool], - stdout_exist: tuple[bool,bool], - input_runner: MooseRunner) -> None: - input_runner.set_run_opts(opts[0],opts[1],opts[2]) - input_runner.run() - - assert os.path.isfile(input_runner.get_output_path()) is True, 'No exodus output.' # type: ignore - assert os.path.isfile(input_runner.get_input_dir() / 'stdout.processor.0') == stdout_exist[0], 'stdout.processor.0 does not exist.' # type: ignore - assert os.path.isfile(input_runner.get_input_dir() / 'stdout.processor.1') == stdout_exist[1], 'stdout.processor.1 does not exist.' # type: ignore - if opts[2]: # If there is a stdout it can be read to check for convergence - check_path = input_runner.get_input_dir() / 'stdout.processor.0' # type: ignore - assert hc.check_solve_converged(check_path) >= 1, 'Solve has not converged.' - - -def test_run_broken(runner: MooseRunner, input_broken: Path) -> None: - runner.set_run_opts(1,4,True) - runner.run(input_broken) - - stdout_file = runner.get_input_dir() / 'stdout.processor.0' # type: ignore - - assert os.path.isfile(runner.get_output_path()) is False # type: ignore - assert os.path.isfile(stdout_file) is True # type: ignore - - assert hc.check_solve_error(stdout_file) >= 1, 'Error string not found in stdout' - assert hc.check_solve_converged(stdout_file) == 0, 'Solve converged when it should have errored' - - -def test_run_noexist(runner: MooseRunner, input_noexist: Path) -> None: - with pytest.raises(FileNotFoundError) as err_info: - runner.run(input_noexist) - - msg, = err_info.value.args - assert msg == 'Input file does not exist.' - - -def test_run_with_input(runner: MooseRunner, input_path: Path) -> None: - runner.set_run_opts(1,4,True) - runner.run(input_path) - - assert os.path.isfile(runner.get_output_path()) is True, 'Exodus output does not exist when solve should have run' # type: ignore - assert os.path.isfile(runner.get_input_dir() / 'stdout.processor.0') is True, 'Stdout does not exist when it should.' # type: ignore - assert hc.check_solve_converged(runner.get_input_dir() / 'stdout.processor.0') >= 1, 'Solve did not converge when it should have.' # type: ignore \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/moose-mech-outtest.i b/dependencies/mooseherder/tests/output/moose-mech-outtest.i deleted file mode 100644 index 0dbbc842..00000000 --- a/dependencies/mooseherder/tests/output/moose-mech-outtest.i +++ /dev/null @@ -1,136 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 2e9 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] - - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '0 0 0' - top_right = '1 1 0' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '1 0 0' - top_right = '2 1 0' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress stress_yy stress_xx stress_xy strain_xx strain_yy strain_xy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity1] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - block = 1 - [] - [elasticity2] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${fparse 0.25*e_modulus} - poissons_ratio = ${fparse 0.5*p_ratio} - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = NEWTON - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - [./out] - type = Exodus - elemental_as_nodal = true - [../] - csv = true -[] - -[Postprocessors] - [./react_y] - type = SidesetReaction - direction = '0 1 0' - stress_tensor = stress - boundary = 'bottom' - [../] - [./max_y_disp] - type = NodalExtremeValue - variable = disp_y - [../] - [./max_yy_stress] - type = ElementExtremeValue - variable = stress_yy - [../] - [./avg_yy_stress] - type = ElementAverageValue - variable = stress_yy - [../] -[] - - diff --git a/dependencies/mooseherder/tests/output/moose-mech-outtest_out.e b/dependencies/mooseherder/tests/output/moose-mech-outtest_out.e deleted file mode 100644 index d79c15826bcd72fe70dccd1210633f8ddf0d8a48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 336948 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

9BaoIl%hmTUh*8GM~ytny^0PGPa`&OO8FH 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%0A&QL_r&IrnGEXD5T?$$NDEj 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 Q-+%8zx}X0BrMH6r0>J$8H2?qr diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-1.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-1.i deleted file mode 100644 index 719299b7..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-1.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12.i deleted file mode 100644 index 8fe88ffa..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12_out.e b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12_out.e deleted file mode 100644 index 437769a67aa8cdbd762eb3161df43ea4207223ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105844 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 U&?g9ewJ;|KbG4CU9dbqd51Hv50RR91 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16.i deleted file mode 100644 index e6aa08ad..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16_out.e b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16_out.e deleted file mode 100644 index 32645e6a06290e9e8d63135240872b64e46aa9ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159724 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%0DlRW7k_I$eEw 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 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20.i deleted file mode 100644 index 8fe88ffa..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20_out.e b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20_out.e deleted file mode 100644 index c1e89dcec4ba411e7612526cdf26e2354ea76d23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105844 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 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6.i deleted file mode 100644 index d3ed3f24..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6_out.e b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6_out.e deleted file mode 100644 index dbe31bf7975cd1a9439ea4deaf3ebbc3bc349616..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159720 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 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13.i deleted file mode 100644 index f8fd18ce..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13_out.e deleted file mode 100644 index c7fa274dab71fbac5b9a9d49f8679b61c63d06db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159724 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

=%# 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 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17.i deleted file mode 100644 index 719299b7..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17_out.e deleted file mode 100644 index fd82c86f519d2a3033f9b82d8bc486f17292e471..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105844 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 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2.i deleted file mode 100644 index 113fcac3..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24.i deleted file mode 100644 index e6aa08ad..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24_out.e deleted file mode 100644 index e53ed2b3ccd7afb09a3b7e0454425c3f320b05d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159724 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 wc_zg1%Cj0ZVJ5^rb@!deE0_@L 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 XY0CSD=$PQ+GNOBaIrVX!`f~g~IU3KA diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2_out.e deleted file mode 100644 index 2f5173d40e63bca7fb2a563bf6c73d50bab30069..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105840 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 WcMW~Upl>qfcw?>#a!f(4@c#jFDAXeW diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5.i deleted file mode 100644 index f8fd18ce..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5_out.e deleted file mode 100644 index dfd4c14a5f23adecfa2408f38e583019932e089c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159720 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 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9.i deleted file mode 100644 index 719299b7..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9_out.e deleted file mode 100644 index 28add40b67dc0e87334626f9e06cccf60250d5e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105840 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%0AV&^&9LyPtNF*^ZZqG_NL1s?p5R=pX3+5C# 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 irTxDYt{w&>loD%(btv@^%Jff6@^)?LrqY+HP z&do2|e)Sm%i{l-Q6?=@e3HxoR3&FW6^tpt-n=prux$}?%kn0wS=*NQAxF?By4RVx^xyO#dM2rsJFg`c$EB1Li!!++^gSUneqLbtF=;c~fDdH;J_A zx)-f?l|{K9$k>mb*XV|vCzNz``z&5Dl#Nz}3#qAR;* zktjv-KJU>Q5+&|ad8a8BYb5rKQKyM>QRp)QeYa!I3(UQQ9A(J06{41J=9mY>L+B61 z5uQiNAaFx%^QIM}z*jD&Tl-WFcopC7o94Z7V128AdaaiN z8*Zt}^2M7#TRCD?uEq+&)CK8;=}Sx|tPTh}7eQE`C4}{TPS~8Mgw35zSdM1Ga-9WN zvxCFV8?S?X*Oo46w0j8tpDZ>U{2&CLPFz*f&xhc7%rqro%?oh*w9vX#@)J018V!9p z!@=6nfuDSJEo>l*FHhmr!4jYP^lg_?2vaZ15vI?bMp#`mVdvZl>(fXWU!&QC$@wKk z*xZ+d;jmXCELSpY{E*xCzGpOWbV4dQiZ0;gH?^Qs+ZsGq-Pm&A+ic(@op)R2BMHvm zBYUD|9RT|)gZ9Q4)1TWn?i{6c&I8OiL!*EA)WPBzHR-C*SIge5XvzmQ1s@v3Hy|PYGjqeXIRk2<> z>GB{jRM`J*uFgXGdo=ZCXmsC%>DgBd1SdraQw!e{rvIM)`~agHLfE+i!unVe#&^3o zef>S1BQ8sr+-ZS?;n*qy3>SSr=DFMN`99tCf-D$pIaYN`4jF%V%v_T-6`;B?WtR2# zDX_GrNHzCXI#9(k?6VU;0QIcXb61QhEbG29png9B7F>8E=3jLJCV6I@@E!JrFm=o* z!uDect1~9dTx=X+d=i9&@vXi^n4F(_z~q_)0>iP{8W=8z7BYYCB5AwgeMDE-uD0wZ zA=;kDJH}<%kU8?>qs_wfbYBGo%{ntOR6_$D6NnrbFVnBm%jagjITT@ zkoX`{{)zrZ$6tB${lP~_KNjsA0P*VUYVrIR<==cJ<0m{*2o1YI2n@eeV{+=(^_V zGIQl3!1#Qt0LJ%v5HLB*p97mK1`Nk=6=1k>2gppX&!J`(Ekui>@3_2?{vLxN?^DF1 zD~aZ_9HX-C3NkNnc3J8j`ug*_)_lqQ2Shq2RPmmfH5u~AHgUx20o|_Ji2iMIBD%Me zB-@WA^q2pxM_A1Ymq`1Ok)u?hLTG`+(u7HwA`ki!~fN z)pAZUs~R$0JU=&k?T2)o>k&~8>mf}xaI#CR8KipbEFC^o3sQ%!E!rGUzdpR2HcX)U z1yUkTCU(d1A;n^f?&qKM>&SmA)AvH12hR1Oj|uv2#vB*S{fHd-$khS| zd!F>#X6%J{W3x^r! z@*wrT{7nB|)C5dXNVx5hBnupQ#;amjzWTEd;%<0G68_3~=T=U?7 z*w94H_2=L~`LiiuP1+#bDlz&+z9(eX7pnI3yFf-oT2n>iOi2G8YjisH2c$cMwTBviyxmxroL*Giwd5gJb$ngWYHbd50 zYhB`41wzkzKQ|m71j0kwW4fN|fN)W`{q)W#`t`H%*ryZIAoJT|oaMfj3 z$dtS`HtGIJ$arX^SaGx-GS2!2zHJ))w=(?()D`1gAo?so-y+P($6R~ln1@_1AxkT^ zSZV8a5YGHEW!1TA5c5@LJ669PLlM#O_KPgt^p9*bvWJllmR zA@v1TkfmKR?qJ3=$eO-N?T$?VRzCKXQD=>FV(0_tdjoS0vbo)&$l=Oz{S<+$JYH*- z{%80&bxP29?E!s0OfA6vY1F-C=ZqxKM-P4J_gk2pD9k;K9CwjR4zfPj zw3M7^1>yYZp0Z#CLd!E52E*Mz=)O00=8D@O+P8@3 zcy*7J1^qtL^yD5_JvvX`dxF{1VOYmvpMIV&y2UuR27PEf<9i2l>M@s#98Q0^=8D~j z;J*Q(k(!J09Sab;boGsD>;+-i;#o~@A|Mp-RZoi6f-t#i?8BtZAdElyYDxY>5Jp&T zQ8$Vl#l1;(QA52DDQP!y0h*y zQl9m@k8CslN_o_5u-A??p*+SnMD&PfQQVYExsLAj6nEtt*A*U*DX!wye*Kr)Sn2By znSL|sUf^6l`dG2P8)Y!(JLWz{4iDtIO8G87F5PyMuHbt3pR-yNe+W;_#o2}OnKXZJ z*{~y&ciy+Xp@kzTuV}NDuF6Z4=atZkuFNBpr&>`^@#e*p$0HpRt7*?DkKhy4~6n!3`uPWwT!`uku*os^)DZZ|Z-0{cll<$O>&C8UVDZZaWdWn?=#iQ~@ zN~`BmK4L3wS_K$Tdqj^s54f^|^41A>T&iY9d7X?q(kDlAuX`9}Xi!6WP4&pkK0X)g z9PHPkjy@-5&Jle!p|3sWlwhtga`drWPedu+y+XAeK2{X}%!W^|r%tE%$>lndd%jb= zHigO3jdLlUXzRhJG9M`)_1eYXZ?C5I1eM;%w&PIV{W(j*(w0-+$F;3)y3zRoKA(ow z&GY zy6UT^UDGz8cxSB*%S2aFJn7ZL8v9|fZcsz-6yNaHhrq|Q->AAFiVivyuc1%aWE)1GgTBQN854?kphADm zFPfjJyRmPKx>%f}eHouG=(`JZj$kgG!*EPOt^ta_yZC(OXo}*WnsWW{r$H3IQ6)Zl z$!UuJ>T&2PT}g`nB>1cewTa?awCk$uq4l|W^b3`F6hG`mTR=w<#dm*w{G6>E#kZFo zIq^+6);R1>MO`t@(LbNxK0ZUy*9mhbV=k>@IK+@^8O1+%Z;$wn%@qH}!3>$2trY*q zrI}yf>ruYbOgpu!K2W~e?z;9~ z*1p!YcmL0@@;w{)R!m z)Thr6+k*H@nO`>$7J&FE^TW75o8JJ4o6lDREhJK)N1NmpeC!W&&)Dxsv=h*w4ITSl@rT>zn|n2qt`$_E9`S+*eQj`v3pKyV<<@Oxkzqd zQA;R`uSTs__!_WnBav`kgDd7;Q0R9IQCfb|VVr!u`beFG9!qHJR&gMMUp;IARzm#L z`HRNGNSMC_Jr)*rAKw-3^}lUr9750jd&d6TaX>I@Hbm@1tH3hbGhiAvlV_sbg%H^qI;XAB%*tl#~0lP z{=$!l?qi-_bf2EW-)SPcFFBv+{>|fy?rY93x^H-T(S67B6J4}6{D|m&wOk1wBcQ z_L8=Jq-_sr>OZI6dArVOpJ<5L>H5c<^PSn{|C95G^&-jt;`uMS;*p#%>lc1xk96Y< zalG+wbH(fUzumpU>`wme?rqjGjN`?BYgino{o7q}T>Wo%#c}Sx-4*8{|8`fLC;ZD@ z@jCEdb$v7jgGP8n_20CBP8kqr_-__nD78VO{STMk!a}9+|1Vd+Mb7!3bN>IAJAnWC z`Tt+8`<${17QkmP;fZBjMfVzNsfck(2fQEoZ z0Bb;FKodYy06zM|$C0)GJ3wN8$ertJ-`9b4nP3y0aAb?paZ}O;0$m9 zbOdw)bOv+*bOm$+bO-bRxB_|tdI5R^+yL%?K7hV}egF?Ze}E^z3ormM5HJWJ19$`E z03U!azz?7R_yYm}fdC~S2oMZV0dTag250~{cnbyS0Qj5^$1-7na6kkg5`Zg9q5*>e zF@RXW5WrAC93UQ$07wKR0fqsF14aNw0!9Hw1I7Tx0>%Nx1110_0ww__1Ev6`0;U0` z17-kb0%ieb1Lgqc0_Fkc0~P=l0u}*&0sIPB3|InK3RnhM4p;$L30MVK4OjzM3s?tO z57+?M2-pPJ4A=tL3fKnN4%h+M3D^bL4cG(N3!s2~fc=02fP;WTfWv?zfTMt8fa8D@ zfRlhzfYX5A0KWsy0R8}+1)Kw%2V4ML1Y81K23!GL1zZDM2iySM1l$7L2HXMs3AhWm z2e=P-0C)(n1mptb2IS%Xyx`{JGW6#M6yP%S7X%dIGV~V)SaBKpivWsp8TyL>igOwI zO8`o88Tv~BN^=?d%K*x98T!is%5xd|D*!5T8Tu;$Dsvh7s{pEU8TzXMBmk75zdE1> zK*Ies!L0>A8TxAj>HtuN{KA-^rWoR?BT|+=4?nm2Ma~b;4c8$3V{b;); zT!wzMT~jVYKibZQ%g~RuYsO{hN88zQ8T!$7c3g&jv|V#9LqFQC1(%^8ZP${^(2urj z#bxM6JGJIA^h*G304PI0+Nmu7W#~sc*#l69ezcPV0A=V$JGBF#4E<<30zets3~kpQ zAmx6vog<(<0R3pY4gi#)A8qFZKpFbccFq8lp&xDM0zeu1(RLjHC__Kmt`h)d=ttXi z2A~Z6XuB=|l%XGO*A;*=^rP*%0Z@j1v|V=q%FvH?>H$C*`q56V0F0Lsvhc5(xt4E<<3cL2)JX6*re0DZY1?bMIU(2sWV;4<{1o%(Yb`q56F zT!wzMlNXnvAMG@N%g~Q@8pvhnM>`GTGW4UJWL$=Rw39agW#~sc$pPNnk9P6_pbY(J zCtm={(2sWV1E383XeR{#W#~sc`2$dfeza2n0A=V$I|TwzhJLi25`Z$a8QLxg5X}8( zI~A9qA8i-HW#~uSsksdOXgdv;p&xCh{b)NKm!ThRr{^;Cqn!*~hJJ5A z7yxDHM>~ZBP=uW(2urD0-y~2XuDwml%XGO zHynU6^rP)Y08oa0wB1Mm%FvH?8U;WZ`q56K0VqR1+Gz{`W#~scjRl|#{b;9g0FMGW4UJCIC=|ezem>0LsvhcA5l08T!#qlL070KiX~z0A+Ciw9{0;H10<`P3JQ7 zqn&1O8T!#qGr0`?Xs20RhJLiuY%W7T+G!4#p&#uum&?$PcACd!=tn!v=Q8x8ofdEz z`q54c0VqR1+G!DBA@`%5egU8i{b;9O0VqR1+G#NWW#~scEdihm{b;A90Fkvl^rM}2 z08oa0w9`%i%FvH?+66!v`q56i0VqR1+HMa3WoR?B-Ch9Yeze^_0Lsvhw%ZTb$Ngx# z0|1nvA8mIKfHL%>?G6D@hJLi&VF1d|kG4AkKpFbcc1HmyLqFQ?7yxDHM>`z{pbY(J zrxO5_p&#vZ5`Z%Fqn%CxP=b~*<*&;9$ry#PQN`q54o0VqR1+UXJiW#~scT?U{G{b;8v0Fo$dlqhJLiuJpjtkk9N8bKpFbcP7eSmLqFQ?Apm8TfLwswfINV_fP8@bfC7Mm zfI@)604qQdKv6(3Kyg3`KuJI;Kxsf3Kv_UJKzTp~Kt(_$KxIG`Kvh6BfCNw-Py;TOHEdVV6tpKe7Z2)Zn_5cS! zI{*Q+2S@>qfDQmBfHS}a&=JrH&>7GL&=t@P&>heN;0ovo=mqEva09pl`T+U@`T;xu z{Q;f;FTeo6K)@h?4B!or1AG9!06%~N;137@1Ok+RAV4rc1qcDC0UCf75DL%%^Z)}O z3=j^807L?!0MUTKfEYk5U;&ur>;~)s>;+K3KEQs!0l-1P zA;4k45x`NvF@Pl?7a%tv4N_I8i0J+ z3FNE?um|)6_yMrqv91;Z&?Z<8EW^(ryX}W|%TA!}$^hyE900ul3IMiqY@3S!SO%=C zp8@irU9euUPO(0*F0mf54zd2Q?l8}CfC_+0fGU7$fa-vnfZBk%0MrZ706+ll03`s= zIXp*}1F#LA1v~_t1Dpq309*uI0$c`M0bB)K16&8(0Ne!J0^A1N0sINL3%Cck4|o7T zPAn6ay%9hP=nDu2!~v!O@O;Adf8I~2*UGT9{6~L6`LX5vM}K;QP7W^-NB&ovfLQ+j zY7^k)kNS_7KN<%}|HWUpMjfKmEAY)}okFkwFPZ?am8noOgWo?gOif7#okDI<_(^=C zB;8$I-JB&jU@-refr9^-P|`sY5+YaoNxH#y3KFR~a9PN&2#V8zi0K{X}E- zE;@Ka7Pe#v7R0&`*r`FIZexaKViHylJg+vAB z5UoJ$9;T4E`Wm3@5}T%Nnl^7^+f=BJv;_ZqVQlf8)!HzF1h#ch7~A{5s32YgvsoF5 zL>8u2hK4C*a$h`+g^eJRPe6&pK_d0@>#a};C%HaQsqHRT%L5d;%=D1J39B~fG%9%g zIY6J1iTfQSoqP0^cH=vhWJZ%Lmq?Uq)Gb_*0U3%MB=yu9nV-U69;PzjZ0`p@Bvcxd za+STgc%4Ex4VKkcES!o7COe4JV5~^~;D5-v3Tk*PJ3V4gKIW%iw1^p-K}0 z+YtF^!r-cs!OwI;xe6#{YDEAvjBtf4G(v$(yNwm@ATg~EgJu(^ho$kbhmyuO*hrJC zs_C`N3E`D`xQHbai9XYdjQbxz7b_DOMVe$6&Xhjxu0Pdcgh&!eCPX5o>4d`eB$>0C zPKevCi0WkEI!HQ7`?$INbeXfg`}*mee>S3*V+Vb9_pv{l_s_+XNW2<1>4`IhFr6Yh zRKFWjcNLw66DEHB8RAB}M>}>;kR>8Jxz6RL*Nw`v*-X9{R zT%`?^Gw!ti<`D{)D7h{wEgOU#BpH+|Z8=kf8ATQ?QD}!hYR%~g@jj(W?kiji(p*;@ zBz4(cTnW3GiT9wh`Y{a^k#OfPRb3bhZ=MbPVZ5YCG5#>pp$$#FE@NWrlbQypXJ0s{@QOqz~^q-m-IKMF9yEV>6%I|oLnm&2$AZpZTa6pM?ld6kli zFm?0J2Eyo+3Yw{5m>y;UVK4}TA)PN2+}~e;Q%a>U^aoB8>V;{8gyPxaCxa1opixV6 z+M!qD#!a%Rd&LemTj_q(O3gSfTv6ByW3tHXC^s7a2N!yn>p6B{7ZkalpUlS>FZZGj z>B@kFS#+=FohezI$w+AGTn|PLdRLzyxX`g;q0T9O=Cs2s2gME&C#6p58>mtk96O}5 zSb72KlEqcoJR4?l5k*4N-a?%$rxs$`Gwe=?nKpGy0iRDKkA+9N5V9r=LNiVku`4=@fO4KpRl{g~?Uv`@W1M|6AAPsDHtAIsNlutc0BF za_Xj-b6w8pY)d6WgXLV8Q$MsY=bDmpT~2%Infk;>BFVWfr?sJQBO-lYpXv-w4q)nk z_jUPy;8_5B1P)I{6}s%W&RhIo`i+++fZ;CCm9d5}G=r&vHJGgr-g_vYgK&p}S75)+^ywSW4Sx>c{!K zMhA}x)iSu*4tEj#S8U!zmtSqYP0xQC|ysT#*2J0s);h6a?%mZmpsJeT27 zfbdlw_-c_{=Nkxj-Ek>^pG+kW@$r+(V2KZ^m+>;HG)vX@n_kQO89m$p zlO@xntP~rCb@QK}GlPa~6@iwm%QrmfOgD)S(YuyKu@ zOsi$j;F77B&-8W(0|T7Sr|K4rZBeb!g~)`a|5J?+6c^?I0wM1f{sEU@2O!Ms7LZtE zQ+sSb1N4JwEted|N@-|oO0xk%r8=1)txu?Bo1Z#Kc#*Tb9cj)*N}=|X;f=Sns`0Rc z#I!|-5{W{mgGaw`k;=I2ruQ}}FH0Gm(1Hz3I+s%sssc1Rr6DjRx%>_i)<82q*-{^Y z$CxQDoX|!4;%8oTA;xF8rk{E#3GvFTOkMzmdj2yTLW|5^!VLN_p;AohzLWuAGh9Ew zZX)VsU`XMqp?H}#t&5dNRI&^jOUha{^%9_h4^O45id2M6;g`B?WD!CQGwS(`jLe43 zv!Fwxfk1qE=%ZCPJl{P{(-HgVDM{t}}#b!BuFDoq||&(>n(>YuSFv@C@4zHk*bf z^@p4g)ys&{Yz;GO-9p1QRm04R%bE=o*~XMp4~i^w)HpdwS0(1mq<|3HHZEw%fDe0Y z6FUb^n4x;YnPP$gp~XWxRKbU!R6--nwpz}h=NH>G7TLrREM7EWN)`=$7%nEmRpYo= zM7WsBe4=1LfuvcTzNwBuk>O*30Xn5$Ml~YX@aM^pnGt4q7PC^D-hFAHc=!xlqsEW9 z!G&44?;>9EptwKZsF{ZFeho|>Gbu1OY*VMVLJu#4SA3v4GNAp3givI7=f~J)gi5j2 z`U*XIs>;kXAYs=aQN#3;9|wslEYs8(8~{Rg+aj~!gX!HDC(LXPX@(7%h8c`C1yh>d zY`BJ*4RB03?a-t~8)nu)nBF-6lRQ$mBL(-p(l0|aT|{ba9Nv;MvzCoBZg>X}Ni{x7xf(780SZH)LT5&A1B5uX zVeh*5$n~ktWbl{+vcLu$Zf9BXQJ)v-==EFO@zQS#)pBiln4O^^-0G$SgbmF2T@?xLjb0+Y)NJ_m{T*w0!Krpo;ND6uDlM_j>5txOS#cXsg-%5KsmbDC~Ly;`9U z@rTg^nlhtWHuW;fZeM3QYB$4%uwco6-}O!|W=fwKgnDMTj7CaArI zN)b-HOz+&7LkKVLM&V=y?mhb{3~)0MnvcfF~3w?_`^PO+j^J zT7^ytAJK*TU}=XprZ=0EghGi^Q~o2u)Ksiq%p(*hdTH#3l!6USx*-X#7~n_X`T1gO zE~3ZuS{4XlWD_Dhi_#n5EpuOZDM`cMwKM&?oRTnIe{If1iru?l_c7!K;qIwmQXfSC z-t0BK$k?xjz)Pk|Io!QZKY%cuFkGSY(WJc^i&bK}hW`VP)H|v)K5|u092{lKdv-tZ zNIhki>}h&RiFiF0-5;!+Gp8M9xuyyUODeWWy>>JZXRYZiQ$U)(pjvzDcqs#zG=tmTNIgzoumKOO&W#mTNIgpX*5^nGQBF zH&`CS9+7v}Yha53m<&4`tI%DchHH<}e1Zql;5azlrUrNbf9BXwctM>dPycTgA-OQTVN`-B7~(+_is+KVfQ$}a2go98`nh6j?Qt)W@)h zT8$D$tS~MX)=;G>Gz{k&+y3kg2jCV6p{z2vO#_#|^lj0cc9`w!VD*9cv@Da}!JJyg zL9sZ(N%N8?b`GZA7?((*pg#=IXQCobd>S@wow_Qs2>p+|PQtc)%a%o^LOV2nD3ZbE zbJ(zRh9YQ%aneN<&DgT2*k^kbzA-i8h&GrlZ|G;(mUw#?Q=B)$% z7iRRZc|-PGp4i3u2eV}yIj~nDocL}lem!*>SmheRr_P{G>Z|?_E>TEm>VraYRFmO5 z>PTqXeVZRlzs=Dw%dr;{nmP+ms(n>qehL|E!Up@}!8(V4Kn>g@5g*u?KAhuyO=_By zmr+y4hr;w*rp)Z6ZPTX}j4+m6GL+Ds#>h zz3|FaW_tmeWIyc4_~T$d*ke$58mv>m0s@2ZMwd+PkJCxG{eZgx|7^u@LL-au92Q&l z&k~8$dSr5y&YzGvkxl;w_(MNd_^6yc46}cwGy95iMC3m9t2D;GIp>+ zvC~qqu<3-jtByX*#}77H!sXp*pJkffu-QJGuuoH1h!5Oz7kg?^U(+uE!nRy8*fN^E zRwfdOuIU>3C=Bw<`JhrvUFw$Q9awWZ2cIyd$`9X+;{74+m73yKhUvBJ3-1c*G)j0$ zPdtg?1ZFS(;In$ui=5nJ8@p)MV;ehgApQA^Jr0&&n^3mds#vorU2`-Q-~=BAdhq%?3_k=o#?!zYO1AfPF=rU8H@w{p@bh0wKGwr&=;+RMPafKQgY| z6ohsrl^Hd}*20%hzzsoonj4T}$3nQ%u7H&bsm|A|0uqTXTE;pYd1OXa;~?puRr++t zQVPRl9#*G#4sPnXjAhGm{PmMN1{kXv332=UOfI6>ANJ}ab+R)i z_>o5-%xXYqPNlFN8pUn?m1?-`C4V}=92*A6!(hcFE_pM+HZAyy6Y9->=G1bQqZ_jb zGdt~2NvLHLM-K4nRc5ChBQ)XdKWGA&MxEJd#|eMbQc@kqH0+in`ZD;LV?$w6$_RKl zJ);|Rrr#BT8!dtGX$`pFrO7}+s1%dx!~!|8xZ_~XP(&h$gmHUD$_X-aI)})t_Fpik z$Wd8q`15mRY(H46sO;7-I=eND&Rz|39&)AXI{poT{|7_joLc@jRBS38a%wr1Im`-p zb;tFuihu0_biAg(2V>Z(vxKa@wQG&<)iAwGHxGd`ncX5jx|Lsxfcw+!u-k&q=5Z#l`* zPg%^*XLZ?y?8n&sA;V^v`n|qow@j*ggo$zHPxwxsIQBCtSgl`%MuOe|9 z!lncvN)?-wuYI6u!anZoT{?9Da|Czpx_fmc)H z24i#PY~YxuAwH8y-nllLKA{EAnPF>Q{K74+Z4vhaF{x1}x5F%6IX17i35PwPV7vg| zJi=9j!LR}ap7p`EsM)pzrgCOaNHu7;V;M@_myLEVeBoN5A)vZpX_ zHYz;9O`hP2^B~O4+#;vaP$V>GKAK^Xjf7%VnJ{$EkTB(Z)Z8LxIv+J}Hk!qJ)LacS zosXJLm|gQxu~Lltzls9UHCsb1?C&THL~sQ;tQm(53e>pL)@;JeX3XZzmtiFVyI-1q z+-a_cust5^mykRx6isM$ku#mso2y~A&FRIWAz`-6=|#d!=k(_G*x5FxXBuYXGiD^r zMmqKwE*n29Zej61@G`F}+k84(?ug(RFN^yjtO1D6^;pL2mIzlO!!aV<9MEdSwTk^SD`v`n(>3(fz(cl_6si5D-)6z7H|)NdnkG49 z7GcIyZ$@hR7@IGi&Y<@f7|pPuK0LXA>3yaX`f2<_Vq_hB3Oq$IQ+iFW zXvH*(^!uMO)qjXA-shjo~}unUdw3+Wg)NxU!@EY-`)d46Tgy^mQbke zWJU*x2^*#fBL^+Kv&_Cw2#*S(N?OqizBrqSVWju8rVtF0NCk0d#`%oh76zd zh-Njt$dP_>F>yw&IfPjZh|Os>ks+B~K?Q|P)$o5{uGcg5x1qCb&X?i5%^aby#?-BQ z&ur5SYw`!LdAcd!J8vm1qtLNQX-XNaWM~3zRRN*i)h7s6 zU9f_n&MAJTUjlx(6|-QPpRRD!#TUNBqJpcZ@JW`my`t$oHcWl8`vpM%FjeOLgE=+~ z)@y~&qNS*cWUmA4R|C%m;PTHFLMZ&QHYcXc@;i#Ae?<|VrSLDC!PpDd@uZm&m{Tc6 zLR|(|XmbeRGh?{RNwVEi`b^&~0Y*3YF--A8WGTteZQia|oDimcVJV7l z4q=vG@-c_dpo0%>%R-`{*}zGiX4@fCFQeIfOZR`_9&FZUdd|@t3*=ZJ#{xMP$gx0< z1#&EqV}TqCfV3@r^Q&bv-9o7ou&51aEGno6Wj|L_m!oja-XrMKN&wrOj`{&A98)fLu34A z(~taFb9Zw322V~&`aAbE9W0=|N4fW1*a^Ne=iPZNE z?Y`A{B=xv|eb<!{oM(SIil&PQDx_Uk7fc}qKubRJ?S=|Ua%_h{B@@EF?G_EgPn zTZd4aZGYAqZ#kG&kM6%ApS+!Ym&wIXm3K%aLfEG`VaM+h7XKAt=?@admq-Nuqm2p6 zuQFlzpCC-H#f0g#geuzkx9b`9o+^udE<(@RQ~^?HQXF20PaZsl#T zuiURxF<{g5XVqs=`SEJCr_Fpy2bS;Q9cUFp`*rEip!M!5w0D8nCLtc3Xczei^^D># zsI=qWQfD7MrZyE0@ASHR#ePu0L~lDXnh4>0=ZSFqaS##Wmk1{;{UpNpAVPk# ziV&9ne!}#+N|;{vsjBYb{*673QO%XpAA`oY(m=18uWWChpni*!^5n6+OXW2Ny(}+} zpkBLHuPfv`oc38_KXtgDp1NN4D4N%^5OsRlc2*hrTxxfybY(|>FMFS54W3y{&=DaV zFqR0%eQXJfzm~A{e-Os^j4=LHM942!X~OdVOa#69=Os+9$y7bMWXT)Pzthm_mXlT1 zC27#k`rT?Yv7-JjK8;_eEJb}Cd+5W~cc8MU3U^nGh@&3#wuOI>rnGmD-7hRdTxq8U zyYwv^JJVKqBix#IXlSo^@TmGD+j2w*J53?%_$R{RZzL@JEW-F+62>1*SbiM|%fB-b z^m^eym|nJ2+hNee{db#CUF{+CT3lnQTA%0rh3EZg;Kiv=!ltOHqTtpVc~(xNayM(Q zeLL$?FV%{Cuj0oYARzx^n zwC=24#=)?vL7LMZKPzr$fb*-y0l=+XPT z1bI=1sCEg;s&(vDwI;i^coIv5aJ8pII3C=Y2=U9s5tjZdVSL93Q2smZ_jmC-1uv+m>y7!%5++Ada_)w6XuueIO^fE`?3K-l5LV70!tp7w zgvEbJg!DfBiNNPxo(TNA@)4Hbe!}vTci4|Kx@bHJp7luj2f?RQurX znbEB_(~vz+Z%pZ1jVh-^RgdcW2UYalS!R0iE>vFp{N&;z*3$lyuGDzFbSUkWuOY2_ z?FyAzp3C#l;g-GbxAj&F4u2y;n3N>K@#|qkh`+2LVd-BG#y5=!{M{N7mfv8)^1n@( zUZV-q%UbOBMVEF7oqn?R&GWQx=iR{(^)DIa9qYb2nD{|!3_JU*+262kWn!x$>E09-77pSXbd}k3YyaEVz1=z&5pETU~qEyLWv6} zo?0e{h2zFgl~9)6cwM6%1pZRS_#K4&4as3azhr)OQz@o)^pirtTHnZM$)BI(579r)9OEU#Q#WR|Bo@J5#sicNf&F-h+ob@#D*R`~^Jy zTh7;<^N;2Esd)bLm|j+OxL!Wge_lfSg@0Y4L2-Y2)tdQ{`hMItWp_z`>eEMiXn?0P zm3LhgAgvQmy=Nr4onAYUdRO>!ZXp5HQ_{|Khn@q%10Z>pR2 z-Q!cuW>o*2E?FwML_-HuuD0>(W2*H?SlTVbnQAI@$~SIrR~m9>X1*HNi%`{vz)p!5 zKU0JbG_cu@aleR)V;pYh|c}&6fN3P!`B0Kbltj8{l|gZcO+h?`l{FOCHTct zoksdwsb29k^kILSgTt@W(1b@DT}~FDq3z1Qx6PeIL(5ujYkD? zQDdd`cN){ucE|dU)#+gSYN}sfU!l?cyACV5Es{pfpu<}i3#5^sn>*FMGMh#wev27l z9YZ6V(uy&E-JucRHwW$v=u0DB4BODi>mCn#@Z*no{Bb<}FPzW7`3*e3Cp>>guGbQ# zSL4bwE^yR_LVt(RxLeAlu@CI&(2I__ZQj_>A-7xZbZz{W#(tYVFmm-a8rwEzMR3_y zG-l3=VV1wFp)u75v~T_7D;<2Y`G`+ph3Md!4vnVOxl0F+@R2ul+|I)f`0-LK{?jr% z{Z7vJp7ZZz`86rX^Y`X@jp2HAp$RP}Zi;`kh9<0fkkn`7bQ-@q{!D9^?lj(M)uf@j z`_j0J`E?VAJJGnXxJQG)?s2ux)$efj936V5zP)zyZaOq_?~P00ztN#i2j@DCnMa4( zj+p*_$aNlG%#UB>@z3-0*Ert@&fkgWC+GS5aJ>$3y_S-ICAI2P<#*Dz?8294F1{pP zPZzIvqTEK}bUga$BKv64{^o(xUh}2I{$_`rb3S>H){FfroEv(Dv`ifMx$75q(!%a? zg_s*Qr1`W?_GR52xZ9q~9eBI|p6)p3>CSmwcs_wV--}F-OU0R9L3K#jO8wI=gPsu8 zy+u(j^(PbG4-ZzI6wBAL zB-djv*XsAZ#)UC<3Nwv%Is{wO&f=$?n@m(N-C?t5FJk1IZT){RL-?@_bJg3eJy z-`e8wlk@gOU$6XHLze;E_2%-9Jl+_dZaL@a%6Uujd?xaIffw~STY~F#is)5aHoA-% zPV}24!&{8^CWgvY>kjSWObp?Pqbpd?A%=BHj*7D7h~e=0VpE?UB!&a7N4GbdL<}2( z-bJZK62tu4!)Sy%F-+-S;NbgB+}*+Do;;q8r<=lgUUFVXp3g5l-xgdC1=nj94V##c z-nEORp(A2GEa|$K2ImScQ|Kg&S0n0N?EPgb^?sMTMD<}`sb?Sg)vxX!soUz=7rR{O zOuKfoxKc0VByC?Jv1FkhdRn`+b=6)Gjzn-HuMsA{PK0=Bd&1I9CIU~NGDP4VUYW3b zmJ*ilCBpRBOqgD?X#aM@)eQ&{L`c`85n(*mgz-)#ET5T#<$IYhJ=POJuThPtW8bQk6E_T?p64yPzyDm9dY`Nu zcyUSrDw|sWuL7fYQLno9&u-AHp?%A`mhyaIOM8CWljnN9HnigxyS^XQ!u6(-Wo9kxyn-S&mL`Stsw|GBTUPp~vrK64w)-xlp}A2EgY>X5h64fiFqYs9j@ zlzI2j4(Hb&v}(GKwtW2kaOm^5wA!n##JS2JL~yG|5kdaalL+x_T!@e^e`CUUE)an? zvJ_$Y3??k!--w{c_6|hQtJ1=~Z|uUp{y8#^HXFaK$D*&NsN(>mE=KND2hhdR-Q@iD}FnA>WL+_|1zaO$*8xqO|Gwl?D{28yIw&R zy6h`U>u=U=$=#l+pHnzMjZF5Fpj|BEH5F|&|$*AWt8Rr%ChL)itiM1x1RQ73NG+RcC6 z{9)rh+Q_0&!Fz7tZipE*$L>3==kV9=S`8~xNnz*v%gedae7+-mAI~^W1b3b@5#$xt z6Cqx``$S0BaupGH`pqH&@6Pf>$Y-0D3i;NNP^L#+D(Lmvf>ga!pm)n+LrH^83r<{U zcAL~WJ8IY3qa{fB{#NaVee!O1xlfmt@8JGvvDTv$C(G=oE?DK0*_?IUgUk-&4OY+!;7@1 zLcYf?Q9%!zI4bC6(VkR@aBBPO_eG?>>{;_I2VF`1FV1rgN#aP&L1&^YrgtKx?+rT< zRo9~3o3A6E{aL>K-q#U-joC&CwVZzP)8oq%_kJta{(aX2xA#7*QPlR)rTy&$_fDI3 zf_$4d5#sIm-cCsOrEUf*rdVB^FI4X zm5FW#{2s*sdRKe~7vv0U)$JFA%X?H<;8&@W(L{N9a+ zV>&LnYPt99zW2ul?i#vx|Ep!=hA;TqPH^|FY$wR?k#-nweu?jUg>(bkQ-LQ!Mg`u2 z`>2r5%%)Vx_eDGv^mrUc1-&|2(BU>y|6J;NoDTW^_G5!Oqv_y_i+exQZ==z5=QOh` z7(k=!a@XD~v!;=gcf=O7`ISc2T-5$esWUX<(vYVe`g+iaWg7kXj?HPr#ByINyg8KY z3i7r*o}8yU%XwCC-gZ2nNS^OSuE!Rx*E5>5(dX~|A6#g{Ny}ziUpmsbHWN=aoH~le zzQ1WxNBTF78B}fXhP6R-aL)tLB}PWk=owv}SZ%sWqbscV^s#0LjXGH|SMLF)L(#ylC@=$T4NV>;)FUb4Lo9sK9( zH`|(gr-L^vtFvrV7CJUg<9XMMLAd{jJLV`%60X zwbS1l+|SdY!}D0(^sY#U_N=+}#kQ*4m2i1A9`7DYcP5vShw*}bLO#ws-=18LKe%4+ zXnea5tt=XZ(fF5h{VcY>qzQE#_dfp;O5?w8xKn%BO&Y&q^V(U%%hC8wxvO;AQ;o*G zn6Y@F;}9CR(pLJ{#;r7Nut${!UZ-iC@BKo%Z{_E1Auj)&$J@u#P3Am}Id3JN&pDp2 zf$Q;x>jh!orM@tQ3%UF#k2jyEJH>f6G2W+N zjQOy9J99mvxn8Yl{QL?r8y6(d_@`&y``&s7`uViDS@{x8sFi2I{E>BOLh;1hjt&iI z{PV?~u77+_ z&hv)zw&D3S<@r8ldfYC;^%_d!uih^`IM$9Pe*Q*1Br^rXy+@uLr@|Q6r)}RRv8^>R5?nV?mrmP6cclsPx*@kL9B9J8HC2{R zZp_`5TrTDDpnnz8_2WDnIqz|v&n=!W@CkZUbJlI;=E6Tm(@-8Q(y)2rBm)8!F_B^a>vvgm)(Pi>sJl-Xqt^?=U#(5oiKGk@> zowy#0xn6!!-^3l~`iFm(%I{Bjw6$f7bWm--fah^DrJnO|Slo{6F7>FWJlXBUB5B_q zdj?*+F-F=a&o0;5L0hHn)h720T{J=JHhy63v3{Xaw~m)BPS%EU2yPQDkKplU^K^$f z&os`vndj4+=evpPF^%aJQCTW)Y+)H)dAd|St>b|u+Cft9)+}+P})h{^jb7l=jki>`AypAT2%br69c$A zh{;b`@OYq0q=2B}QtxSn|2kPm zCY9NA*flF^zI32%i&wu$abyqwpM=d+dP8^QHx#`St6^)BD?^7-8(q~6B|1a6!+ zSL(gC#hnJ*i%7kz4n14?X-ny#Gefm?mra!p3~#oiUhO5)0ewmA>t7~Fy<%(l(64_; zJ)b$Rt)-kH^;~k+rp&3w+|RV*Mm}Tt#;0`FD_Eq>myqWEPX8<^zQjvtD_I4gUVdH-lF7H z=|F|+)u(l0qywH!{pDC?rF6gsMY}fM{kZGJC^J&BLJ;wC7 zZ^iZcCiQL=f5_q2Fsb*l+{?Gl=_~aRt( z*DgtAiC&KD>k_FfSFL*MitdmOS}uS0w!kjwpy<`@^mWQ`w=$Ri#^W8~>D)LE)SJND zJUJgB-w9j~CD$t!^tTBbH17|o_l^f&FH{YXdf!}MbkqEKQtzuy-nBiKfV{%1gBH1@ z-lOBzXlCA*dV8*_T=`xBskhCVE|J5#K{>ni>om?F_0C%&Qg>+=ceitSB#+mhrz^^N z?r~nQlaS8_o-eq99!XrU(^Bu1J!f?tp^$oCp6k}IZA+>5*I98ZT@s~ot7-1F8eWsi z3)~_Nl})7HA0_YCj_f4$zE^R=wl7Pi-oNYr8nO+}FIb84E#xn$_ty2p>>>(r7uv5N zf6e0^=INl_a302M&-3}j^IgpK2;_R{rQT;cv@lpsl6t?6dwy#a^~U8uDy>IpI!cxG2Cf%CEEsh#h?Xs+<75SLW$L)fVQnZ zW_O#}$?LprmaQyQ?)MYMiG)fg7a=O6|x2rIwQ9)#J+xcZ$idwrwY@^7~+o_By6tcn+GzP1Qe z=70FiyS^3mJw0_ywEqbzQy*LzXIGJWte<&o+0s(9_Z{mIU56*ouD&HAr2B_b>7|No zr+02jZDx7r%G=R;Hz^tS^%vibLM@0j(5OaZODYOVXy~-RZ`!o%K~>`mo^C#QB=!G1YGAXjZ>W!LkNjcz za#62O-~LbsJ)rIbM|2qCQjd0-ab4|oWFu|kv}FCTMpbr`8dd>&*32bBxZw@Lj*lTM zekH=v-y@7K4`KY@2+MCWVflLyrdN5w^lD0@oUYA&vpbN+d@I!7y{~F}<={fpGhxH?M&*~%UIT+%t97nHrA-HX{2GK{eeBu4tCm{T+*l=4YhMohb{d`gD-dLdHP6Ms@P?dyZG^C zRQ93lfNEjaX`ehNXIH*4pE_N3T6e{;dw2WO`^xO|tVLLO31P=)5*Gg!Vd+;B#wQ^H z|FYbK<>x|J{-+4jD~vF`cGDq?%i1mRv-!uCems-wlkl$~)2+My0VS0TcOs_{YuKUCdYpZpp2~7_# zYqqX3joII#{kB=HXym;<6(>!fPQyyO-|*g3;`E?w`{^OhZ<(ZhQ$mbKhW!{-*2yl&8n>URDr zJFb37LryOA2xwlN`r8lB<=yBvI&hR`U$^ZEw0p!N&&u=O*mvmbIk%5&A`!y#YY}#Q zI$`mz5|+LRVSMih02|De1!o`&YS zkZa6_^|YbT5Do_e~7w$u!`uAJ9!7@kl!mjYt{HA)sHN_>Plq~s_YOHd@^hX4QTl2YSqvl zRPmz7vR~iXQAMrJuf|GOQ@>fN+`&6qQoq&#c0KaWhxN<*2Y!(SQr`>qZu#b(p}xm^ z#?AUVo`=u#<0>A1DNpaf`3`Y@C!QayZx-@j&h%8Y-7w4*r~vYS*^Wjh#1&YHh|9tfug#nl0W|hM{Ar#<5(P z7xn5;_4kh<+ZN2H>c0XDu9x zcTYUnU`OLtL_X|r(1i{jQlMf~>|Zo$vQ>xoR+DLDv#zQVuFYsfi~8sOu2zz`JC zc|?a4a!NYo;7Ma^XcAW4tVd&_=f17{_XQeLFxP#HI4K=`w4MDk`||J{a7)yf1tpDP zcHD)>zt7XR;e1-o|Apu0&GYZU^%}|ba-zfSiq3G;E~F#+Uu=59@(LYRa_Fd=jy^Q0 z*v<7XYwo3qE%sNLkkpALjI=)Z*4dpVSbSR^bQPW-%`5Q1rtoSS?~&BW&kmkbHJ$p4 z^Yr^PzGj4buuo4Oe!!1U=kYi5^o2N|ob$W${EqYd)m*RTT(3KH)c%eSF6f@q(T5F( zk3W>tk(=tqd;j)=j@VLeuxsmmbohnU9c|{mq{AyYR3AC+6CF1EozDSyE;y{5=lvB? zRcO+QToq(i9yDq0l7c4^8qlP1o3D6ASnzNoetZy*Ux%mv#Q4S+;QZfsey4c;U$|Z$ zxL$#DoLlF7(LL(Z@g4U0_3i$Wj&&Pw{Mw|^bd2ZivF$!wq@$w_ju)1B|~OiI^Ttdz4`G9EWS-H zo_;LnYs&d+@cbU|{O5AL?6_WU=)~{=ZoB5(p%WkfJ}pn<{dB^+I{R;i_|plw4%h3k z=mZ^K<3b}Rzx{Na_u;C4F4{-O?mvBP=eN0ZY{#UE>c6kjF@HyW@BVEO9kX}j+rohk zbj+Hy&nB(0=3z&Ed?}BAkEdV3`F`X4zw!L8^ZbW!y&iGB4$#RiRmN?LkEWBiZO$F{ zYc!qoTcufD?^LCe`ij^OTaF5k=JP37tOa~_d*GtcKS&vz!* z;}O@Z0vWcaaJl^P2T9D=w$jV6e$!CcvA)%UPDFjnHed0Nuzt6%V?pKMGemLx*BjeO zY2q8a_F26t---NMjS5f8%G0&x zJa0Mg5T1`a&-Vk@V<^|_6-l^r({sY`)gNo0skRqr=dr<3TB zZyW4(Sw$jtwOZFbX$1*er#Kx`aVIf2&Aezgvqj-mB+=@{?UTj3lZ39P??pt|lDL;` zi>MAckRe~Knyr3fAThCOzmvNDz^i^adD2`GRdwq}H|cs3*`i9NNqh5?h(k*|e$;tz z*OSXj@py-Mx?P+{%XvreeA@ARJ8(TzT(6BJVXDmA8Of zsG8@#hY=*cu=S4SI}=G*YkKXp6(pyS;%=W@qC8!e1~v7-f_K}lEl0bQ)bQqxtCL)GWnB8 zVtBLHpR4XCiM`Hz9$w-)NzApgTEz%2lCbEH)r&_?B?%oIgNuD_PvYP7X}Zd842j>p zv`qE24N3gM0{2^$_|Dz0T;7Do13L-nI&z*FoOb}v=Q+<8@)Pu!%=L;Qi9H5ij%ind zBu;+2bJ%SKNjyBY$CMgHN#dn0)jRF;BZ()rDd!LWnqTQ@&R+AW*iXZn4Tw9RVZ z?8=i#(&E>{=Y7aak|u4;Q?ObSk~Hk1VqZW}?iS(lMl9a@Pdwci&U1tF=HvPF;`u`P z1wE>Ay$aJ|E2mgbXmf?eFYL0hTX8Qs*m`fd5+f_ouz7i19(w%+@4?l3b@lES8Z_$Z z>WcY#!}#C%$$>tbsn@VQ>dS2=(4MyM7T%pwmp1o*U$NBhU5McR2JhLReDVvz;<*!+ z4&E~nc;NmD^4_x~ET1=odcZnC&-0s>KFm{vx~|i{7+0_owR>~; z(TxvdiQvB9O$2#?JFw0f;^lruSi07P@pLDQw+>}Un%(E z!vh+e+ht#2OBK~VY}xzN)zwsUta-jkg$~eQx63PLDgvp0>$bm-X;PHROF!6XFSDf{ z66cc7{0Gu*TNcggw0s4%Evk6+>AM>d+;1ldlj{hJSCX)Fga|y17ZJw0mau$w5|-~a z!t|I&1ie10XsheD+Z@t;p#5X(yWA~2m->z>5PM+`?AI{Ca!t#Hhp1mGYTL5(d@A?s zG-h#wTGVS+wV`EK)TeHL{dVfTq9yH=>-CoDdv4OE1zS&hzRHC#w=7}uMTEsGOjx=o zBJk8dMi}pN!tz;0SiW&Y(8J1t2zrG{Y2G`*j)gkKQO7gK50)q^fpzx-OS_+Qp&nQ6 zMZdeSfO=M*ajw_yNcw;6eQ7vVUD!X35<*Byp;A(slOfBNl&FMCsSpvuF@!@Il6gL6 zdLm;t4USPn1->8(~gE=e>tA+Jvc-HxssRN*G*EKVf-Ygw@$d z7~QL*2;793KLJ$@SinD1Se&eb@D4WO3D3 z>p4!MM7C?mtu6PnVET!f2H*SqVX12t$8&!cXlQmf>mEG;nj=G;6`J;gY6+*`d$I&9 z*n7#;Z$dOkcBm~_@Hv_=wQCb$`a+KggPUYU7~Z41gwe@pCXBA9Heq~z1OVgvs1leQ z4jf=|0U-;feitq}-$FDvdK|;%A+lmZb=CIQ+C+KHM4>08^uFc~A1^$~;D^b#cNnE` zv|-jWU5W6ImqF1n_w%Gpb|9x$($nB00Av5jZ#{l1l`yqZi!go9>x99rcP9+5<0WBq zZ0P;Rzjed;fbl822CQ!wFgYH^0h8-Q3z?fN6TBfyn`lfoUYzxm5KX}(>vB#fPiV8RZ4DV#TV_tm4%zH zX)$%R8)5nnbQk8XcEn?=SipMI!og0@z# zDzp{-(AH{rYj}6oh!I-*WT!9XgVu`QRcy$o;&*>$6<@_~+$qsOV0aRlz~~g814j4# zLSTGivw-nc3Sht2kQtK@LRd#in<>tbuUT z&aJje^mS&5&yy>BIuN$z{VCV9a0ngvut)c?RM2G0T^F0@h0Gzd&3N z^2Vc%3+i&v=M4IWVGcpe)e5{gr$G|A1`Oh81oQ`J(o2N$qy5o3ZbTIBVp& zqRw5^%|@RF^!rvX(gTR$>#3bIO#-5C&)VGCD~fdj_GJ*)ioAWO zvjue*q0d_M?ZX`6n5zilHyI5?D;@>jVyX3uM;-v)+LY&Rr(^8N`Xnh4rhyhS-uRc5^`zV*Pbw`Sa-Oa;8RNUmS5CkoOUF z+*#crKJ+m{-w&807;~M1czuh$o^!8&$7efRoPQ4R)K1w2o?Hh!N!8H$i}dTLG+597 zc^Sl8h>T8G?t=I+*L`o7Erz&j+l(5F>CY=~-%GMd3*vk_b#rz~{H;u%{yPDK8-=_- zI{m1tg+6lVYlb=GG1pUwcb;-Z_j(G%_gq*MxknLrD(7AoOE~~ zT@T_b;;-DDO8*@s;PQ;HelLh$AG$+sKK*%BdKFFVG9Z3ZRlWRB8`ihj&q16R^1M-p zu8c0d4vf!v^xcO!7GSO;5Puw=`Oc*Azrsds6ilRXKU*SnRe`tS+>n_AJ)Y${Ua)E< z@J4d>4Sh0%_!m~Y8b^iGKBJ_aR=GfYe%X1w_w?sG{iH(Y)1_Ef{OvP1F7o10ht9?5 z{_#mg-}RUy7jwBn{5xH~66bc{NyQHOI~@a_da;{|p&;v0QRe~b zmY|O``cA_f6_~37coLfHwq4Jm`JXk)8f1XCf$!Gkk*|TbcY}3D$W-8Y)dkk}(fS9v zt%C%5f#*{y*R<*^@I1OswkUN2&t=ru;HCw@b9Cs-*Dl9;75gfPqkR}&A?naSr;P4w z^pQtj`rqL{Ihb5W{@lm-ul~0J|E<7(EAZb6{I>%CmldEqmvvuHslQ6OTv=}(%{6wy9Ui-h|8SvpZ%)vY+d=Q+OX4P&@06virjGKM z_@3S;*(%!5?MaD>3>S0}jeFek~Aa4%poJQSs=#!7W&X}VPb6uodH9S79d2B|x=8M#c z=pLjv2G*f>TYphbp&?Uao+?m|Q;)PfKiWmvQ`ur!GmcPpZ6S{?fAtG2lQEizQUMeJ?45yaTJmg#dSI; zPP5XB318eP4pe?f(LP6U7Fpci5SUFl_stWsI{cGzI`X+PFGqvgci@s)j&2m?n6s+2 zR$P{HoG7n9zKZ_b-U)qphkV2O1^b^6HwSrzsI!jM4HiP50`xtPIRY_PKgF5Gr{+)2 zQk;wZEx~)gQJlMDt*4%Mpg2MLNAAebc;QK$(qDHe7g^!rqy`zvS!1i**smp&Q^d^U zE#I>#C$SGFO&WRBzDM3;1up)JwH5mrh$})KppFviHla@i`qJyeaP_r5{d&&Ym8_;Hm%OiuZ*N;sE;CB^ z$+Rq{oNLvL)C1}D$dEhRY^#k`5Bu8?r;a?kVI5YNejgd1Gw4gNCzIn2<|?5$K0*^O zM*pBVHA6LiGBp2l(X2p8dc8lIZn&5*Kyhlre_WkQuWS0$RS%D~QXG4)&l-24C=RJ> z-J}~&apb>Nl!jVU9PxvO@q>m~Xz`InHRntXHzIwsWF}HCW4gf=%wnWcjZh?|5wqhTFZcRc!Jp>HopUyN zP_BG)UAIZM*+3(B~xj9>W~En9EUH;Q#;I z2JD+SCzhJ}frqG=^;o66KPa$PHXaJ<{=1)SXIIYYAkU=X`K|fRPYYz{43CY&C-3l4 z-8?)tT%VR;VEuRBw{AfD^}XETeb=CVRvFY<+lKLTH-5X;^d;-hxLhL-}(;FWDKlus!`jUs|+1I~)c+9TTf#ET`Ub*1CD$bcZ z;T8BT<9nRz>H}^qhH|xe65!MlJ9q8I0kFH|6}GG}26kufwB;RFbBY+fg@n=9A0(__2|<6t=DJSUT=c%FaU(@%IORj|qdStV-X;*B zY{ofkdj)(x`87=HIuD)#D_74q(gxR@U6ZS~y$465^jml2w88qvjlgv=(_s5NZ(c`9 z9O%Ejpr+;3U2duJ<06q0CG0qWu=869iyuQ+K7CFcqt`-M{S}1uDf zm@s4OGQ!T!BMkn)AYu6v39HvaSpB(#^|KGNuXk4{+L>l+V;O6umSDSCtd>Eah%E=AxYkt5i-C>1=i!yIz0_ki=sx?@wk+rVby zuGgVr5n!s$KlD^8pxl1L4CT1l6k*3x2|I5_Sp0dy^4Akq&yTSB$%OUWM_B(L!sN>A zC2TG(gxB8DO%|s2Yn{xPb<#QxLY^Be_pG@OLG3e}mN(Pqmh@en7;di!2V|bjh$>VA z&uzV{!#6Dg&Z(1P-?PoYR$<17V|kKU;4#gy6B}?@L3T zz@ZVGM`juc%Uv0I!ete=d6{4z6$ax-`Cw0lUVZVXFhRVe4&Sg*pS@a%bC? zeT^zAgdNl84l?s22#eoG82*D#gw?YltbP<>{caG}UyZQ2W)n7-HAF4kld+@c2*gfv zwp(y_C4{TRy?i^E3n2^U%5-%3K#;hwR`{2>oz>UGbk+g#<}6&Gq7{A%vrsFVSm_he?fJfl-4kQ#|eXiiVJ_A zpW2bpUaXz_*N>h5`#l;g|L;7j|M&cF*8lH5Z8qQEec){V55xZK>-)Pen|=LC!}IJq z^$w5O^{NI>muDxFa>U@Eoee43vjyBo?2q>YOWVIIS3rPScx%ZRdjIs2)S?ep z8zEqJsP{3xG#oeJ{A$Ek4f9#O_o#mk{q)d30&}HfE(wSdlNHTAwiRL~rulsvr3Vo! zPjB2Y{uhK@sk8I>76_ryi)7uuuZEC(!P`4S`5^eaf>~9cAO!pNJk#jk0Ku~t{9Lx- z9UT59bFOWv2^@Yq_RXa&dvI)u^KTJPj~Tu&>ItAez2BGd3qk(@%w>eR)F7^8iBu1# z65?Zj#kNg44Y61FTz)3(g&4IMm1*>Svy458A%f?z z!9_I*BIZeV?*7RK;av_^ofql*!_OPUr&x@}@ok)^@4qtmbmW(!-e}ZMM!)muZ;QFE zV6Hq!uv)hD$JY~(C|_efpkNBT)XLEZmMcR1v-*J`KKg#wvOSAuSIR(Kp}EHC#+MMM zQ8?8gPXJ;YqV2a^n9}=oUr!LOod&U!NAG`hrj6b&T*%p&DvD$Jz9BO|1M%CDPwxk2 z^j;0?|M6q}XJM{v%w+({qTQ$S=G=wkYboKYuk=EaNm)SI!Xik_SoU$L^fpNNl4f$i z;R__#2s;)8=mYO_Rzpu+G4PVF*Srh)1U$2}n13J8_iL7XvL%u9eW2O*>$}Ib;F!MO z!_5D|)Aw_b&*~YXelPl&p?@Lfx`DacA+3K%jTF&^6!TwG z`3B1%xn!lSe(hLDp6L|Ze|RG#o%+Z2p2{UiGM0XPt-uD7#Bw!k=cq#BNB80qosW?C zqQOQkn0}qixC7_a5pR!tT9?r?LVbZ@Kh~eZT#cAZ2QmWgB_*AyfFrY-t=m30LwbGj z{bk;BA$|I}*sDpCAnkxqf{42pK4x*l*fY_VKpxy z^Ecgu0gKvlxB#F~?KPpYhw={BSq33LiAMwPm^oFC!!^y=dCgNTr?;lo2ek|%PLZ1}$&BPqanCk|KvV9}( zG;;-s;?BEXdk#o={{t7v);bb$b-;U~<{J_;c*c9We*+18HTk-TzXAy``_=56SVa6{ za~ApQ=#Yae^j&VA`9==#%D&ue=V478?z6b9$g4n|8L0aZeLB(i5$3p#xt5X0jwf9v zy%$MT(cGYdO#>t{dg;4+XU$1?Q2(|KuiHqd*{qop9(^Rip7}S*dv=nbUsBWW|MDe= zIy7c=_Un*Cnz`3zz3C)@Z@Pv~pH<}l{NTm>ZZ z^J-0fyCxEKrAkh2+eZ?$-CIAlV+V;;7HGP-#(;zucJ5l+c$=M&G$9>_Vcnz72XFIY}ao6fRf!b&!aS^K2p?43TiV#JAV^ zOi0+-v(tI;9kid-z$S?S68iPk$>oL?Sa+~}$x(>wLEbLZp|=V#y6xywh`u{8$Ddq+ zBq}W;ZSnE~5-sMNae~MTL!B|GYlS{r&^HTnJi%NU zBzm0eB;GSk678CkG;rRAL|?u-BJP?OiN4n(Z7i=xqA#jzq!+l5X#Y35@6@zNv?jIF zN|OE@{9N=(N%#bbsukSdm90XePW3ukPm;z;zaLD0F5>c#*MT}qP}GGpR`qk=BBUB;$s1Y!DZ9fZZrBrNX~VRdE@)FrIX zPr~{(5jMvj!sgNjccnD}9aD55=zIRrRh`@5&l%^^Gq%yFz>dv`xw6hJoY#mo8OlP?qQC)$o3E5HE^La zZf-t!WO^?AIHe0XHy#H>o6i9IYV~XL-<#6sH;iq3ymbj|E=Y`(R@4B^ibkJf$FC5k z7RVE(KdXs8m*F>VEMa-}gwff4jWD`XM-tYjh_Jr>gw3&%u(>Kh=T*I4UG!P7UNc~~ zdU_T(1;u1GrVRjRb-^d0jr8}K1zua!=DQLc<_fAjx*88QcbZ4tvrL6u{JVQB4&{Kc z#K7UIXHl?1QGB^dKtExse+yyzlL(8GB`mL!FgoQegw-`AtWOzXeACAhHpdIX`r!^SlO?$XExD6I(b^oxNc!4lg+?}xf<%Gd?tR*bZjW9Z^>F-Hobm?;? z7@su4`qmOAhr)Nl#|^?%PC8-x%7noQ z#1n=m-b)yr<97+GJBBbm@->95q{H?=*?cXzr8)qrq6VT<_nLy7 zOt9vtB~FB?3#SmKZ_6PJZh10cctM8=qodtQ7+rM%!uZhpml@v~+Q8)C;{zs_c^pxV zo%X6#+JdZ>zxts=IgIFh4Y^Wd(M6W07q6LrfS*W7Z`9wvs1l}?EA~zNq7Cz%H?Ni~ z>xKo=dRgkquAta7)~s<Rwb2W5vHD~C%^j*14@L!DNP^@ue^aUI{$70Mt7kc zFg^$4fbq2?z~q>-7MNU;d}QgZEgqe_<;m*I9pamxJRy3mMR!h)-Ai-?tGB3>$&=-) zol@*{tjG+HJ+5}g8??IhFG??6%MSwg{Q0-I`NR0Z=!J*sEGzmHe`;-^Mrtv2mK!hD^ zqm=In@y}gLR<2dkk6GA7mIYVml#Gib%AbpV6-Z?fxl!u_K4dhI3E!%6RI|0Ue*B|; zGeJ&U>zR}BVRM}W6-?cEt%B*#3jzjrg?Mil< zEF{jqDp2_;5E2^4Ta0ZVf`pXG0WY&GA;EW6(LIOSzm@4*4dYneA=J5uy6@1Z3w_-% z$2H8=1{t4X6J#{k!ja7UxDN@gkp93bWWUB;NbLe@)LBPJN!u`RRrDGpAEVkgGAearaX z#vIO=i$Hpk=%PjH(U9@kPCL77C1m(YYrbvDgmmK>-mf0WK-%oNYpRDlA$6%>Q|_ug zkm5UKCpR$`lKY~iT1-zsa*oZxR==N+?6YTzKrw|?1N*&*D?(l}>R6&K7k%jKUdA^Y zbEspkAV?oCU7on37&5H)TUQ{(lWh`W9j~e^FQxnpwluApbbRm6VuY7~n zDM%|ipK05?3(|DMf4LcYKaIW^71nqD zSIp6lxr88n89!BYuMsjvty`OY@fMxm(XVW$2V_`;N>1`?fQ+e!3OYu7gLGI{q0>yS z>uy7Lum0bNG0FOZ(n@@u;?-4Bl0m{d%^Z%pmMz60Whke7=(+fi4K^||{4eYau` zRm@ca>7S%OYu1QEhUWfP^0IUe58I~_4_-h=@q zQdL6^*+9nX7sor+_Cm(u`nTU!Rzt>|7$@}+^yi$ZldxZgxSz=L{;R|2a?!^aeV<{D z6>P3s1CX)YvpMv-FwHMr{{2HYWJJI19m#J38N~_Pio>@-#+}hYb84L+qp^2=uAL%e z-0Kn4WAqL=l;ci^}iMPZw3Baf&W(EzZLl3tN;~I+9UF1iv#8LuI!1dn<3?X*Z#qF z`(2c)t!&!e{7aNeLfEJTZ+d^P!L#ZVvpUMLu=jCZXanUCAM9Z zr~Y>P&{3>u!+jQ4kGxx`a|?CV(5GzJm(8&bbJ z8Mm17Pzr!3XQ13x8xP5w(EBhuMBV3)I!3v?w`m=0yH7dCO-)LRl%SkSI!wl&nMM2d zB#d1mi**|I6^C&w?*Zy$qOL#sTtnZI;T&wPWQyCFACsOwi}K;^dHq?Wm-3E08)@m5 zMtN#m>f0~cO?hw@m{7*il>7KsTsOV5l-sBSFpE!ta$Oe~IWUsmulnHB-X3Lo|7u!k zMOD;JtmfGNiMa2`n}s?jQ8y8N?9lfJ=J7_mju$5;@>A~0?fFVIvnjU{$DR6GEtH$@ z{O7_GZeXR?o#{VCoD%W`QKt%Zuc1#o`aZ!Nk1*E}%6rv=V?P#3QQYkXUedxFD6ZO% z6fId1%G-ARd2V7m<+Vlo-wIXweK$@`s8xAG?e|e#_VH{Y<3(fT~ex< z@>p7FtkSK4RSWx15O*ATIjHjib?Ntu@%ekN5fdV=y^xMkASuyV@FZPkr4H6oN}O+cHzT@dBDYP#Q5mwamf`=q|R zcDJbgS45=t8J@v<4*PY8D@0x>>Ik9k1@y^6-zAu1Bj(DZyj{Q}Z0kYeCeF zCSM-qC3N<-*vx%@E7MO!+)3m$piUU-zCs^q^rb74Ll1LFP~O#?OS81yDXy-0N%Fhb z6gN<`WR=HvitBSi_5I~L6nBlNqV2SOl=tAd!I*uLly`CH({`0Jl=pr?v5G()%6m=h z8)G?J%6q|JLdj4F)==zo5NC)y`u$*ZgizN3eQu&}59Xjhe@w1D6jx!Ie$VT*6xUs( z-L8PnSLicGyg7;DR)`&`@{p&vCDS#(WnQAV>6DHC@ii3Jt6lum2>Rz~OU0K%&pRmY z%K1mEhioYB0*lUdU+K>YQ_o?42jaSrNB0>WUDQ2;KJ(Bw5py(SuH_Wh^41e4ZW_f+ zluRo3rq{Q5<;t3Q8kCP%-1K=%d?}wLNn=9z^C%y!;93_ALCR;vWAP!$^OTSB1dHx5 vhbSM}@&8)FN6JScYI5Tq<-e8bzeJoH@-CsyIMhu?pCI&A#T=rTEAoE;UoX?7 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14.i b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14.i deleted file mode 100644 index d3ed3f24..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14_out.e b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14_out.e deleted file mode 100644 index 01412ac646676c8102e51e3cc6ba9873c6168ec7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159724 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 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18.i b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18.i deleted file mode 100644 index 113fcac3..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18_out.e b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18_out.e deleted file mode 100644 index 3ba605ba8428729094d16f4ecc3d5198cd3d4f4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105844 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 VhCXA^HyLxhF;@jSrXW}N{{XC6)iD47 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22.i b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22.i deleted file mode 100644 index d3ed3f24..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22_out.e b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22_out.e deleted file mode 100644 index 9c50016b41e99e67e9e64301f72119cca83bd798..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159724 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%0D(;z4QK$gU^mmrQlP01zs{~NhPbJ~<+ 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 P8PPqzocg#C+doRn_yQ^z2 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 B>E8eV diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15.i b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15.i deleted file mode 100644 index fdf63759..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15_out.e b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15_out.e deleted file mode 100644 index 66e9e2b163c317d6baf1d2a32b25dbb52c4e01b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159724 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 xQYL)S*1`_6u}t{Ic>V88Xw&=_3{{Y^yqx%2= diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19.i b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19.i deleted file mode 100644 index 83eea962..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19_out.e b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19_out.e deleted file mode 100644 index cfae6550f480486a8e45397ba1b2ee45f9e0609c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105844 zcmeEv2Ut_d_ck^Z#ol}Dy@3T07^8q)Q4kAa2oN9;l8^)h?7gqOu5ImQ?Y%5x@2;-B z?7GOTmATOWVj29zWp8qc~Ga)s4&q{ zKwchK1ZpB!A|%f*jc#ylG;8EyR1}KwlKpuP4 za~>lqi>1;zKpg9xJe^}2=^Bf4`J{5RjLxPw=#%M?&L&?<9nz&vhjb~^#V8G^Ltipm z&~FN^%mq5;OSLvc2TAf^9NS2v)2YG8ol5EktcFZ#H?h{gWWf zosPa#h(@P0skNaBy-uw)Df;OQ!QiuaPYuJdj>*(CM+i zNNLf(DCgw+1+y_nJ9p6Vyi)#}5VzABzbX%Hl75)B5Rc@m3t=8epS(Ow`>pb%{4S8z z&iHkC*cYT<^71-@G7qFrULL0X-tziDTH7EU^pIFak3Px4B>o4s=XT;^J`IFCZ5-2N zkhaKDNP&Jw_hR3`J|MM`WLsW^r&^=&RcfMnkH9p@i9e7fvGnf{N1rC=lKlUjT%tK` z$}leQS8^`Nw-$0$K(4&#J2M-vC)NXh-^nK>uZ(>5IOZyFP>NLI@SNJmP>~$-kle}`&Ilz6|DwkM_)yy#Zs%@2@%$?R>u5|k3} zx6+=$w7fr<{aZjHg%Ejtc)U4l3z1gxL%~#O>+-mBM+hZescvHYVJVXFI>#nUE7@C^ z^O)00yeC0pk2@Al9K^8>`&$u_-X22M?iug*m<4~%Sf~6kN)7C-oDVxW{4fFXq%%(4 z#r-2iK6D8DzLD?Ac}SC=+0PnN9Km_MqKqMFzxu}5B@J~hSck%_4iaZ0RbZ-mU|*Ad zFs|9QUcO=?A){V|b($mV^BVe;6i* zq(ctuU&*&6&m(Qe^fqMY9Q@6dLZ(FhF`<{jbB^psr0|N^E`^CaCy~NiBE1ye4Pieb zg%3o2DSUhqf2W8PJ`;RW_*|ry!k2#m8lePb6?f?Jf0pP#B|NocU zKCAA`19%Nay7q$CDe>A6-V1=&@bNmD9RROE^&V$!s@tP@K3oQh|YnOOE60avo z*NE^Qsgi(FfYN|6fUxHyu7GX;Z-5V=JHQvv1JD!D3(y3&1-|;sN~u0{{a7 zg8+j8LjXeo!vMnpBLE`-qX44;V*q0T;{f9U695wdKL92HCIhAbrUIq`rUPaGW&&mb zW&`E`<^p~M%md5^EC4J7ECT!lSPWPKSPEDMSPobLSP57KSPfVM_!+Pkunw>uumP|U zunDjkum!Lcunn*sumi9YunVvoum|u9AOS!Ddjb0Z`vC_42LXowhXF?bM*+tG#{nk* zCjqAbzXDDJ&H#P`oCTZ%oCjP0Tm)PKTn1bLTm@VM{0{g7a2@a`AQ5l_a1(F~a2s$3 za2Ie7kPVO>kOPoY$hjc26*`o21M&zR%65RfLWgobfW6S6oF7m?=uj>QC?s?!7X}m& zI+Tk7iU}Rc#Q`OR4&{=7QbLDvX+RmFL%A%VoY0|M9#BE(P_77&0Z@l>B|v3>OvqIr ztO`IK%GChX0jNW{2B0PYbtu;Y)CQmqeTKfP1E?!x^j$rnLm7QnU+7Rq-!%|Al+kw$ zg$`x(T_d4G8GYvL^j%}2Lm7S7MCedP-!&CFl+kz1gbro&os-a^jDBh^ zbSTRJ&H&V*jDBhXKpo2HCl>(fP)0ww0#JuC`pFG|I+W3O1b{m98TzgzKrUqTT`NFK z0LtjQ)&SI@jJ|URpblm9od*DQD5LK@0jNV6eb)wnI+W3OZ2_o58GY9dfI5`XckKbF zLm7S70f0J`(RUpIs6!cj*9m|+l+jO}0jNV6{nQ13I+W2*UI5ggjDG40Kpo2Hr)~h$ zp^Sd=2A~dQ^qmg?b?CE}fbIZaA)}vq2p!7kr=CKGGWw~P(4mZe>Me9Aqo4eQ4rTOH zAE84T{p2rnD5IbH3LVPmCxy_VjD89Lpblm9lM)ahWb{)Y0Cgy%pMn6WLmB-P3_u;q z=qD8bbtt2sLI9{k8T}LrKpo2Hr!WBOP)6UW0jNWtq3^;05kf}aX@m}C^j)OTp^U!M z3LVPmJDt#>jK0$g9m?ptD4|0ceP<9ll+kxap+gz{WD+`*0|3zg)S--iiUFVwW%N@& z0P0XiKg9x2hcfyp4uCq8(NFOJ)S--i>JLC2%IK#70Mwz3ei{fs9m?ptK>*aD&(L>+ z0Yik0z8eZa9m?ptVF1*jjJ_KVKpo2HyAc4?p^Uy82|yjn=(|w>)S-;N8x24m%ILc> z0Mwz3ei{ov9m?pZaRAhzjD8vqKpo2HrwIVmp^Sc-2tXam=%*h5s6!e3Gzow@l+jO< z0jNV6{WJxDI+W2*Qvs+$8GSbmfVv?7^wV^}3?ZYRW(pn3=%-mihcfzUw$P!Bewrh6 zD5Ia|3LVPmryqq5W%ScLp+gz{G+*dYMn5eOI+W2*3xy74^wS~$>QF{M{RCJfWc1Tw z0P0XiKP>^E4rTPyQUK~uMn5eBpblm9({cdnP)0wk0H6+K^xaAT>d{!I+W2*y8);}8U3^e zfI5`XcfSBohdx8!B>Rw9m?ptg8K(NAXps6!e3^cw(mD5LMr0#JuOLqDAZoEP$52rmFohcf!< zA^>$Lqn|DTP=_-5=`sLyD5IaQ08ocA`speFbtt2st^rVoGWzLv0P0XiKm7qf9m?pZ z>j2cDjDGqPfI5`XPl*83p^SdI0Z0@w`spSBbtt2sZUIn-GWzK@0Cgy%pY8xqhcf!< zE&z2XqwnqkP?rsm9gqW%6OapF3&;(~1F!?+1>^(R1M&k3015&M0SW_(0Ez;N0g3}k z07?Q%0ZIeP0LlW&0m=g^04f4xfJ%VMfGU8hfNFs1fEs|BfLegsfI5J>fO>%XfChku zfJOiZfFqzWpb4NUpc%jk&>Y|lXaR5mxB}b&1ke&72ebmT2Dk$}0G@z0fVO~kfcAh6 zfR2DpfX;v}053pSKsSIlzz5JB;0x#h=n3cr=ne1#^a1z-`T`Vy0Duw@2nYfM15|(z zKqw##paz5kA^;jdBtQ$$0rY?Aw1sDw&0~iY!2N(~S0GJ5)0Wb+L888Jf6)+7j9WVnh6EF)f8!!hj7w{us z9$-FT0bn6u5#T4lV!#r>Qou66a=;3}O28_>YQP%6&w#anb%6DN4ST2>=S%3)lzP4>$lg2si{d3^)Qf3djb?4#)w>3CIPo1>^?g z0oVcZ0`dXu0r>$100jYs0EGcX07U`C0LYh_K+c)~7l0Qa7=Z1LZM6u1KEZlm9li&d z?LYKeW&(Xz98e433g`+@0kEHA-~0)Hb-=dz9v~n31=|(d6x$Qq65A2m5Ze#i4$CYF zC=DnJC=aLzs0642s0OG3K)VpN0R-R!Py=wE!+m5W0Q=xsz&*e@zZjNcI1(b^%fUxc_+l<8gxYU;M@Bw2^9~3ZI-d zsEo${q6_d?nF3YP`28ctRFSndsFWsEuq-f6)~QPuZx0zx7_9%LVcY4i)0<@V>S^nl!oUT=Mpp+}J++L#)u6r_ zwir~wYIp|GRL^J%hPNC*X)<5_-UeAacs|iwyr%)4kcC$=L@>1>65iCH(>hyWnUsaM zgDA^cmh=l%n`A-Y3kaGuX{c%v)HI}FLzzx1b7<(`Sg%pTdJP>Ujuc@>bzmozF-$T) zi84qP65`a@(Wz-*aFCN@uv0Ttb5&q-CuNYMvUy;$#!Z?vYNTr1sEINK8$`T3e7u9c zrjyAW>o;m%-!XOaZ^ykmdU&Nz*y!5?sZ+F$HW;9j$b8_ zM$Md?G<9}pg6?aanjm%DBUTj@4Ue#DRE!hekrAn9#6Hm~S(hLa)Lqu7p>x9~&W;UP zd!#1#--~09Z>QBqn`H1>2bHO$YhFWtvV`NrBDXpZp>Z;k+cKKWUexK zaBw%3hVA6WFtxsuQmYJA8Pc;u20N_QWYB5g@#j!uawZ|W%G!1Im3I_xDoKwfNiUPB zwP;(6Dh)DJxyov4b&6nBh%#DZ!qwh4en_Y`sg)WuAOczB1BE-1oGlVqyptt<%Pk$O0YB@s!I^gLzqjn~ODB{0)o;M7&F_)f> z!AO|lLBLf8Ea_xUOO1pX9t12M9MUS}AL-CSXcl<9BQshAOhLj7o5fWo^?|S31?@;( z9ZskWH0m_bCKbHf2Hsf(uVo7|!ONf6k=pX{5Gj=!eVCGSr~bE&kR76whPc#h5OABMnuNtbN?VWvYLT6$c@%puWQw(}<=l0+a>HLGpPsFo?V@qA%nCPg}3$5qxa zMTT!hIAI3EgQbH5Cp0QyRs*MFMSDus#n8G&NkN#hduIY+d~yS=v@qHTtAJ>jgu#?9 z2r3>DqQWJmnoa$I(}H&4)*zv@w*)I-h8+=YQis4{No!tE6|n^{gFoT0A5?b~YB3c-% zR)#9X2!`<#KWm0BX;|PVHdD}{g_a*iRa$ncDixE6TGPt>s0?GFK^^i<4>NV;hI5(Qs&zdTyQ&~6JX!LsnGK)8>S39pO4~lHvgK2e^tvE3 z(V9jvs^C&UdOwQ}d9Z6EPX@<4tg;2iP(jFM>X~UFoSIUnyRW$Nnd^67gGR%WuOhxO z)Kvz3Kph;d)Ok>Uyt=E_TZ!l=Kgmdm;VQ@1@KGYa8*=g$c*E>%{P|c zI6vffrz9(wuUeBSlG+$2oOr$lKAiw>j@AalB}1JSKAM4TFMgKKu``@EShG&aa6ONN zmagbCT+bt+rOS#8*Yil|V^C_1YB&{^-1q6qxSrP;;4-0B0VmtxEMkaKt&ti8L(5kI z%Ag>Xo-x8lP2h@ktSVT18AWYU87w|O2NtFv)T@J(@PQSpxR@J6KU4 zCK05TSSvUBuAM|wIm6SD)*Pf%+F%8qcuQ@Xh`Y)xy9rSyQyC0!=@$-CY1iHI(I)v} zDUBVP`Ou<$IR&96RA*3|!XlIE?<(URH2s||+=EV?czJ_c0u9ut; zkId?%8=%n6f96Bzk(o=F#u&yL#iHR$9ST0f`v>?*M56*6$*vkohiS`(SeZ;s{6e%|WA>7t2j>l$}WCEOnd?O2L~|VH2V*Bn>rSahk_8zON-HJ3)Ab}tYcehVS3f& z-3F@M$dX+Ts>}vzT%3H>B-X5?fDrpO-q4Z;ACA}-4i17aP4n2EVu1sp$3s8Vz=xnT ztP^HhE2lB?OZ^(FY~c(R51Ozfi-$1`ZzjXL#_?tmb}&^0#=(RFNi*7gQ*47O!^Z+c z4eH>uT7>!V`^k`*6Q;Qr^IBUzeCeQicnw^q#gDncftj6mkq&uK-S6+z+(LN11{RO$ zR2Vz9rOR73!YkkrA83v=X#XK0R2iQ6G4~nPDE0I~Y(!7dnCV7j{1_xz`1Rt)Ri=qf zH+LEvfRLZINN@UJ`S2wO(_2GY;X`g=8gotNO3S;AurR#|jwQPty438$^acpa2M1tM z#ZzhN z=|3MOjbw0%D?+VTsABQVE*?VpNtz^1%YA6ns*I5#Fnd5(rq#-p9!B};>vU)BR`?KZ zSTf;vy_2e$T(W}D$o-bqOo=s$rE?qjuyRJHf~;s1w&SIH=EfRAcz8Ds7b|e?IapOnJ`kJ1(gwFOpwPPp*-U$5Qx>JLjzFhZ){e zg@l&f?fgH`%AMfY1m}k}nbO2k%VcKAo~?kDiV>c4QJXU1E>7HOzx`~5fJ9(ZUSx#jt#>CzGW+*~HS|_85MNyq!@8uNZ*Eu!p$`eNOA|`|5g#=L-}bx@o1%m(V7TFq%JsG6aDpM#8p<$ zqGbTqQQVmDb#+l=O)EpkhG`c*N}n`wHM6_QI(O;pk+LN-iebiJRggvrm!*u+A#hF3 zOvMGury_85)ZDQYCf2iXu`8X>u%?wWydZ3i52fX1s>(`Lwy2S9Fc-fggy;Y2-hM98pCozw){3k!(Hg?g>f3S5iSkmyAZWHYgSFtI1P6v_}>PQvL2d>iohHjE%NvzYf`sb_yLku=N#Azr;@_Yg=NDMHKpVTLFB zuu`>jaQ^3U!^b)B9>Pf2Uu3^)KolfIU&AP#~2+L3@=&2+q+X= z%e1^>^Y?JVdzzvn1L2&zG*V0UT7C#%ujNv}E2H^iWfGATT5e&W%A`!64;sbNTir4| z18dFT5E!l21mlxYVm!omr6xO-VRMO(=ias?@T{Lu)KV!gTj&S6R@3Q zYE;@#Qy89IO7oE}%L(yLMvY1t@|A7oR{s8Z2y106+@xhxr#RJ|vdR|mLAQZj7)Azs z{4dR?7vQ}j9-i{<9l!T&(TtEE*i+mxXExIEr$5qe++>7}EvhqGh`mMJJ^?2L;c9MZ zvNsmOnRXT2xsYOi%_t(18R8Xuz){Ag)ikcMUK!>8YFjcwb}aa+wJq<5W(&=ubPCdc zKnRbm!R;m~*q~`FCuFw^@=2hgUzkd(NI5sLd_08PBF&XGca|iI3I^UXHWn4WaDp@G?wqOA>D#E0b1PXY#B;{N3ET3>fl_f$vlff=l zC%X=A>AsA0%W(enoo@^+{n&h~jwIwY%KCu{p!H1V)(AgwC2q;csY^Uh}Wk z!eKAz(*f4_FjN^0cU4<1fW>ja(UXGP#dOBj4w1I~Bp z(l8Jj#iBN`L5>X0I9M|kk;!6V-kz3mOlQsD5S!8a7p$prT*elD|5_RQ4^}HKvn`Cz zYzyNv*TSreTq%Z*e?#Q|!IU_wmH!P5o5F^yR!-p#t0I1#@cviTzxD=nJf^@0WB6Um zom4?#O07ERUuG>H^}xnXaF=}MyZ{jiGhBkRyQ(5}+Ei{4t8m_;lF#bbuWuvyP1tBv zPf3x9TZk8F(s%+1H(E0l$?(oEYnBxmo^^1QiLNg>N^(+)iY7&PmEi_zxV2tq>u}%ZgxDHz<9%9Vgf$Pmz(pF-4r#n*!#WEy z__l_Xgm4cTR5?Xs3s+i6n8vupy$dbu-AUfj(g7B}W&)3EZ88h&O*EZE>{!6V1kjW#jx4k(x}z&DTZuE7Yn0|l=2!MCXS zYY8mnOzU81y^c30%wgdQZYEqnlJ?~c=CE*}XOD}Sr}SygUHOy@XRtv=F?U51t*>ZO zPN@gOTahy7OOIy4^d`mDoM}f=m}RrsX3{+rDrur)+0K{DLWxis`BNSBzmxYn2>DU} zJNazPgyyg7eLeZKXit#{(|x4mdo7bXj+qemVJVV4w3d+HxdhWqcmV_4K#?@b{s)9< ze_lM@g-<%GL#cK_aqy0zU>LukBjWuD{LSi(tUUz4;w()<2kQybU7T6BG{b9q>3q)3 z+D1t^%al9|q4k96d}P(SwO$6RJ!>sY_j7L65~ejZWS+Ec@d$Tiiwp76sA_H&@L`Nj z8>u#`;Egcsku@2gmnmXnB`GeBOL&mdDq=-UtB8;P_NU*ZK_%T#vLxO0sI@*!cRgy| zYBYoOsI?ZRb7Zo9Pf1N^UXNO9VY=&4i;hsx_EIaSSO6p+DXd$KvMabr3tVX(gr!+q zlPGgyyWYhk+UQL70vYdtD8iuwJo zl0pitwoni6cVrV0yn`I>8HX1XXz@;4s|nLvFfFoz_|iug8P;B_vG? zB^O#<<#gBd)>@cpYkH|_NSG;WdWkUIHNCYXcBZZAxrLc{jTs3uk&a)6%f!!$+t~aM zJj~mLzkE7V&WPX~FN54}IENo-px_EjXL<=pw)hz@bx=iEs!IC#E-%~;(Gr3Vhwb6Qw zF69m^nP*j_gsFqm-Ax#wrPoH&U59crE#Fh{W@H0=3OrdglZ%$OayY#ADmg%l4yzPX@Khp^raS1I7@c*&m3vAko$wWAQYt6QlL zOXWQtwYWhosECAH@HOg4>FGTnwD2oAsR>zYCo#IpzV{97{J4+H zMm#kv-trDj0(03=c$0uZrDPq{iYg~3l-{JDG(K8O2=|AC!MnzlTC^_tz1dc@GP5x0 z(?ws^+AK&+ir1^t+)u38m+=<)bjVO``Mzxa zlua1C{z7L+{S<@cRW`FZTTSp-t?ZiN4*$Rnpb)xw_0B1*kGlUIjztd z!VD(F)^wZL$n=h&%wS6`{2y5Bd8Pa|bf&HO(pP>s(wfmG!#n4Y(9(BR0im%=U^v`$!7G9`C;M4`2>9l! zn3-$7yTQ?xAovoC29BQWlPsx6MaxHQSo&o41ArmXn)Js9YkU}C)U(f`C2NW#(G}iT z1J?%N@Xv3APz7h~PRyC%cN8uEiXvP~5nncg=`h^KlWIv|O{16z4QU*qts#WZjNw~O zlKhrjvixlcFuTEzVM-q&OHPKeRTd^EgvnuwPo@2HLRj`iC#$|Sgc*Lx#~MPD0Y0>? zh>U}713Pu9*A7{F7|rBUy8jF3U^Cv+v$ke=Aj<<;9?0@QmItytkmZ3a4`g{D%L7>+ z$nrpz2eLen<$){@WO*RV16dx(@<5gcvOJLGfh-SXc_7OJSsuvpK$ZuxJdovqEDvOP zAj<<;9?0@QmItytkmZ3a4`g{D%L7>+_|JKOJWIREv_+Y}*M+t(M?DJGsD9u;jFgHt zuAlJ6%P!6wZ!qUK_ZFY}nd7x=esuCHlfxXZvS885{F~q*A^xM~KOd<6_{YWOcya1k zzhJ&0=D592&W*d&_oaBk$LD?Z_7zr1@fLq6Wp7UTo4Ud<^A=g~3Y5lhLiFV;0wA#n5w?hV*Xt`C@ zmBaH)q4w?EPbf=jTpVo29*?ZyPguOvV#2oDbs{|dTf+0dBAjn4Vf@8v6IR}pC4`mV zz>_e$V)GGh*FM^{(RKTLvsY6ezsLFO_-ScJ&p|)ud*enupBfh5+g*~jiVj?stM=d2 zm5dnQuir!3ba3(Ms%2rcVPH@%+fhbZE%ej2)@nCey!zdFwP!4I@vLK8SN+#&!s4@J zgl!KmM0onwgymnJn=roEjfC;n=|^~Z3kfg(JYjatu_4^9Gt?)lT9ddsKhPdyUbN^Q zF^zWh9=))^l?2-H?A@p*$NJJXQ+6zHX#9+}x<2{Q(vthBYl~WM$A-nzCP5D;W!DU) zb@Qm`g}>rxSvq6UE{&gyca^hKFHLMpSX}#=u?)DgxRGjMtxt9Lgik~p}lSQ$mA6lQSaYs%-pCcM7@s8>v8UO80~QB z{?l;}?o!V&+45&wwT#MVhUF~ff0j1Cp>%R?aFsU7Rc%l9A7xZ_0P0?=Q@I>d z)ztO8Yu;5yo>RvST(B6xt^jsAZPyP4yd$)Y!d)gx=dtqDm>(r;? ztZNZYa@w`Q^7-@6&!inYj-5Vs+ji=ys+o7=v;^96*|~?x#0s=&{)jdseb>@zZ$8~| z+4ZAKxW_Q(@e8vP7XRf7VcUBK6PEr)PQvm}-%J?a_U(l6Uyu=A-c`cN_ZUl+n*dKEd9i}gyrvApD@1LbqV8tYeQIh z+p-f@{>BP~*|o4K;dZU0ih?tG4nCYnm6bzi_TEdW-^pDIPd}B@o`zZ3w?{bB?m4o* z9Y3uY?K;xohmO@-(T>?(cNyZofV#h1S-7NOFm3VRO$CMTTUzIa?YcU%4!OiPyz{W_ z{8fa-7kCi1y?1@W(wpoF%kNo+aK6uk^PeHSycdL*|B5iXj*KGQt~b)SFNM@~;G2_| z+gGBV>w3&Qy)w$Ich>peoU+UOX%Omk{_i~UjFfPelq#_6=}`#Gw5JM+@Ep3mEEzIK(iIa%XTg&$|oHvP&sy|u@e zwsG5C^5H&r+NMI_BF{yWXq%$v>&Uh?74gMld#Ff1O5{Jx`F^h=_`8ep5=HrExn0Iq z+^$xRw8!m+pH|lNq<)nutb6u)FzvqPX*cnMmk(_obb2hAM!(p`RgE56lt-4IRo^o$V7q_Eb589XBb$zmk`-<%^Mf#N@ zzgF;d6a0&Kc@+wY^3MpnrU<(dsbc*4B2x;zqRMg=$6ccTlPjujR749kQ@}NOO?yfUvw$tE+dHdv( zkD!4Az6>7O^g2~8Z(989{>wDrGtINWF`NbrtleVv)K)a0e3^+yLUdHIzH6P!Gi<1$ zYgohmsz+2&w)o*X1-em%UFU&n_xmEQ=i5UHi}Z4lf2QDz7W^}Kc?Sye@|%?vcD)mJ z9igF(7OZg2{|61Lp%_)JLn9i}lD_u&`)8^O_vk(&?@$`NZT-jrb-&Qy>dSxbdF3z- z+O9lZE#fE*Qnd+;4VX@Y>XmwWWlAj?WFH*xgI-C4vaQ_Sx%OZY*Ng4$B0UxPp?t>o zp7YnMFUm_0<-g)~6{s%kil^a;bGJ;snv+KCzCCKtiosOb65iKmA5Sm38|!$lj8M=6W`xY^wt_w+ke}|~D*bsT4Vkge zaplFHBEDQ~*NgP8MgBO>_qm|pKPAe0%gYb-5O(ja&8D8E3p*{ePnm47&md^N)KrPdG;pC`6|NHO#MnX~#rgYH+sMGQC^}8g>0@ zg~d}&(x^#mo6ZmWK%+X(dSzc!PNT~8)_J>4q560CdVjv(nCfr+IV8sWGS&Zne|>=k zdqwMruE}{o8Qc!K6lo-65~u3?xqKQ1<-n!$to)cpK`scdxoy28c#Q3?t z%qA@=>+ zJ6xOYN&L5En_cwS1k&SVtka*(6Nz{C`_HdccuBlE4~QIlZzSm$-`Q=a?+nszMeWY- zP4!5dgZHkr_wXd1^9GUmjSCacf=zy^`8ryJqlCV-NVh@c+rW8xv=+PqIzD=vVV}y-JCEA34w7 zAi;Z6l(SfrJD1zBwjH;tfG@-i+UzBriK6+~&SP5dCjR>?G}r595x>ah&*#f}lU})( zzuKjqMSQ=QB42OoL%K)wIy~>ePU6%4>6^+Y2NCb7i@qrG*%I&O`45hLd{2ab3w=$I zE`jHJSV{0~6TDYNIVX6z`u5xocZINP0_l5w$g$CvZV`ol;;`6tWl7(i6RtJSn?U@# zF4cBdP9lCwH*MY*c!l)Nf9P8I`yWWpJ#L>?-n>kD&aF_p@ysv>0@e9-kALg@f+ZItpDper1!4yL;ETh zBfXmq8yGm@H`43%v-8zl>xmH7r%ZoOr0Xm4jp95xY6{-Pyqp>hc)3ff2|J+wF}p&E zLU-zJ?gGV$;%w`yRgWAYid!d#q09Rl#*Dl0F}1w`^~CO!}PccC4DRs0gcZy)maq=gjjtRuDYn1n&r5&VaI_ z+_&70quGUB^@-xNvHi+Fs*!+_mB!`0Rf+_-Y`Z-7jSUHCdv=+};$jfLwr1egq9j08 z<7AKJgNWko<=6eLo*{~jGe;GZy&;PJ)&5vfYbUhJ%J;fpwFn0b{XvoLg~)eZ@I(vV z8ls#wqTGDKj(Wl_M-q^8;i3|;u$_#Vf8;L@5-@FZjqa{jNWeAEW5?hBPL#GSOr>cN zqAYqt_F}n`nn=rA(0P4 z#&cTmmJ#J7igFJLJAjYb)rj5LlCT zXyh9@6 z)#G4VXpgTh$J`=>hjR(n-y$sC=^BLP`*4tOp5BD<8XFQ;&LBU+%B|d$FgvccC)}=M zwC+CF%KQGRL_NCe56qr$g|`1|cax1D`qFm2ujXm_`aShHy|8Gp(dVgrZ^d<^`yQt) zy41WEek%`k?0ES1#UUMN^$+tL28U0h1%{8B{EloOER;tQrjIB?c)G)c<-1*sFdl_1 zVZ3A35mwHdXM~meu{~jSObjE;uBQWNF@02zsIrA<o=nzQ|-f6CMow>2A-eEoljvZ)4jHiL^@4m36wcV`z=rO=I`n zxKC?Foc;68aRaS(suSjeQ36Ce@Hi3!mSN{^M*|z zG~0{NA0HmwNOK>XJ?&(RvQHgT=#LN^Ql!DNCvIMO zNRa};<@5*c6T2ogmX)bD)a^}>>%)tO5)-!ePHeC#AX~!Iu%iQ446;dh`RAFRelA=n z;c2Bl_fI@cOt|E7efYAM3O5#RU+Tv6U!2@nx?GdpSiY&*+>mGU)6WTvcV|n=%h^C# zxrcX9W=GpZ%Is1MaeG#H)|HQ2Y)Fnh3-{hQ7C>^fX#eW>hDu@+Hg9&}p)MyVN_Lx z8|t??5I2@?>0URM@5;vnK~6go7woA?#Qn z?Ak}8tM547q&cO=6L~*QI9`-St-BqRt@JNczjSEb+`cBNdm(E&a5=1-3--Bu>roe~ zHM}!aonMe@^E`-d;5m*)9-i8~X2%{ha`|LKVw{%<{e*siNViYq^AS7?1n(eG&T>)i zGhs(3ZkMwiHMW@fAm@oZ)VS`&Gf%hKrMD?G2%e-$6>&fWb zOLA_QK=s8h`sc25fa+FEJ6 z!F!mObE3Q`cMP{Ooysd?3mtEv8n@q6qhFQR&7%-Vs+c2RwY5xaizg!M2BTL}Fz zk#4uh_Z#OKmrd}_u!VB%~ci9%DhR2hB+PQxwN-|9)FN8g(S*j#tgyG)ntq^|>lXy zMnx|PtzWiQQpof_iF7wbz5{}%rQkg-%4s6Xh4U9^$Jk=RuEx|*bN}MbcdApvl<sieSVE=T&O_}348Y3y&FRfKMtz8`4ManU;Jc4m&0&AqSDXn>n){*B6f)nuV1B6 zZ|c|FFiuUQ?&lduet>??!WBXvEz-Rc`A!L*_ky>TC})u~~7W2Vx`|H1&RAdP?Y%czCdEr{rFkADi*4RPR(BH7{m#0UlA<*^q zzG4fg!K+@8E`t)O!Sk}|(~#aGR0;iak#4KV_ek)}7raVQ&I?hlpRfb^AG50zHH`G1 za%WsFYFK)x_C$3%YM|bcZ5KsR!|{P58^}LX!_mzXBL|;`dfqOz-eEB{Y`l8bHBJ1?gd?7ytse!>p0 zli5`k@;@9hvlsYj+vJ7i>U&bdsXU3}s@hP)_1HuEWDBX`ey-8CE?=XDhhD4mZthDB z_m*v&v-k})+}wNq{9Fa3vmf-c3d+4EAKKXw+LMKGLVsJN^A`Eu3Lfw;Ehfr){MMpFV*M%d9yLmo zoin?X+;o*Uh?e zrE21(@!2oPm79DoE&279JYY=rqf5h=%li&{*vIwx1$mzdUvkyaw3qu8YvFl!^?iBo z>>kxNbt@q61(z_c8uH3}9&h6v)2flY=cGBb^mBg^s)W9iNGBKhRGeo`Tfw`9m-7NH z+puzl9j8lkyK>me19tb8uc}m8u5_=wv;XHC@_$+yxaw7Npe5uq=wnyZCt}CYYjqNJ$z3*=JAqf@ay+l;N`w_NqDU;lPeW_xdme|StZ6@nqoV+3LGjYwxkTtL5eS9u{ zto-CR5&p&XKZ8A(?o>XJueabi!g+@m6y^Lb%Ka$pSj+8lDkcvI?{0gr`2=}D;*#~+ zA5O{xo}95M^|qlrVEz8#dzXBX2Xvay>fQZ!a>WVTfu)D+lPikaZ4SxzOx}0+Lhp)W zcgy=$zNQ)DbV2U_BH-%k?8`*BROsLEbmI!~eD>W1&oj>Z0NM}BSz1+;tKxP{$|3C9 zAP*RRddiIz?c@R1^4#d%Q7;d8wW9A_c^P@Y)sl)kN0-S17L|6IAqRi@kGiPkeWGn~z-Cvz4NW z=X$v^Jb$T#)edr{&M{*3%T97-ME7dPo~)HCgX&hOc(0IL=~sAC^;$M^rEjCH{ogke zp-YmUrGxD(-wMIgS@1Rzm@)Gr-3jZ(iijD*2`cn&XaZf8F}>Q%-Zde(^gwtGmoH$E*G36uLNf zFLS(H1pTyMJ-{5d&-41(^R7B6zNgM7=hhMB?W8zi+r8$Q<2-*QbDZQk_EAM!^C z?LxD^cWiuvwsUf5^1G`IZGHaDnGY`tP`5shdynq-fHuunxk6lFxUTX`bj1hfJ!v`r zFjBedxIMKG6f3%R^Z>%+RSDl-k?{0~2+#k8aK74v^EV=_ye1V0FMk~2cDWI5S6!-f z_N<{hG?fOcJpE>#eNOvyFLP;3wT9I9;~$$zGk4l;@b2ep3;sYmd37jNwNz*7IidQV z4~4GMmJzRR3|df@HZcu(Q-5qTTFtTbi0u;x?y)`A_1chPUWCVo5x(7(@bt9^&;N#S zzTt%PZy~%qJ>lgC6K>ZA!t6R%j0VTMR^KX)H^)9^wq zt9tcoNP{k)Y%^$i3=Q}-S0%^C#i`#-k2+r>TT6Be+1!t#|h^*5ni4H z;pNXK%&uYe3AZbdhJ6Ux-0$xKR8zFtt~vLLP}O<;rRa)A8o2%E)gKC;rHb$}-u`X= zroC2m&2d6glKRy1z4qdyJ?(U5X=3%$d1&j+XX7U<2&axS=8VX_Wu=Rc>Q%k9ohK3& z-|9v9_WgvX4<|f-OTzg&5ys!vh4Av;5MKT~!tHV*+^&{1d|7qfxjGMN$CTy zp>boM<|(p)26xF9d-KCXs%%vMko;LY+NX1qZl|WbpuVabN0)B$qF&2wVs13rKt1!f zuQ0Iq3)i%n|ts27OxAPLVy+kES*HmVYu~eA62d&aWn{ypQ&T zmw$yYyXqDr+^%6%Bde9rcTyPDwV#v_=&q$~oC<4thNKmv@b6 z-^E|{ZD}~2_VnNJN5qQmv|IfnuOs?Zplz$q(0AT`lRA|=y3KjoNtd9Y=h4gCv?44% zqYz=+cf=E(KAiCUO9|(@PB_0W;pKfIy!^d{+clYRyXMl!@old@{$fM*is`a3c8h6v zr=4pI`&!UY+b$tPqDIl69c7jse_fvjgtmGR{>y#ZyFt@V@o>MH_blIb7h-PE_Jx%* zOB8NOo%1w1b-U3xm#|sCcJlb(L0H_e3SrxeWFstnKX=0Nw`xKdUqUg$`Fjyw-p_=W zA56GibqTj?C)L@EDl@5-8;vTP_q0~gn?@w~EqnXalZL5$*S$H{f(E~Bd}?#!FI3sT z^bZxPE~b9Z$Jeblx)1ev?7HMREk`?C>6s_!MIqYaOyHk66W+M!raTz8`tV1>;(Pxf zZ2QXsgr}cNc>d#r^PMA%zexka%hM2EzL9Xdf(f@PQaTPuA?-A_L7nKv^{MZ6Q|{WM z9nAXn@!eZ>YgWV@Z<{#c*6wZ{lj6D7Rw{h2oH^d6-^+0gY?JQ$Zd0<#ks=P}57$u7 zb4R;Yzj4K!-gEhragSnblj0Lg?p+y|Hz_`1>D;+TU6SH#yZLz}%JZ9#gM$C5IXy4m zloV(7nUA})EwkUvyq(uC={|K{|Ayx6+)o|Maqh3qRB_tYWBKN1H0WrD5@ohIP``(r z%j_NajP@=Q;amRYI@-&2;N<<`v*5nr6%!owlWC8ulZ}NVp3xqo3MzjYy@&SboWIS1 zBeiLddQXZ@uDp)+s1jB7k5O=ZVDTMdyNgJFp6A!(5qx_DKNaPj<>e28`+d=_Ed_;L z9ck#}&!75s-A*HF&+0$!^b^?6&wQCa`Bxg;P4{g7dB$${_K|x;{Ds&)SEPS0@=pYTcQ-JDb+5g&QzAcTav~|R=f@5f8MDb^b=Wn19XQoEouQ-5) zufBI|A%hu2^UpjE( z?N%bbMQnd2(hm^%<(zL-5yAgll($%ve@@s1*K?R%^Qdw3kyD@BZKI}Ty?(V_(SsUB zjQ>laUkKL?b!|R(IY^^yr&O5}?nw2c;wCOw4EN1eKei20bz;G`|rUPE=NRV$_+ zDnWG(#@_F`$BXL9pS}CLb43yFEwESve%l|>}y%GE!MR`|6`8$POCxu;F+OPSF zt=kjaXl#A2u$wo+XiU4S#ly>XrqQMjPh+ZYq^5nQn!6Vrrlv-pauunXml_Yqsu-^P zM2%6Mew(oDFKTSwsYRPcCTc9T@zAA%b*VA`mx8TkK*-__V*6m8etCA0e}~|!E%daZVn)AGDLx*dg0*PdXn@ z``x!a+OA(7+E05w@kMk&+OO!V96fykY0QN@36pZ2r7;`odymjQr!hv3zs)An*AV$H3cl%_-_@3vw<9MnziA$BS3z50my8areX8^V zx65?sgkQS!mMx=04m@5sJ<>pjC_0xs_{(2(NDg_Oan2nf{W|BUi0O3D-D0In8c)(e z!?w?>6gq+qa?R$y=FVI?sOXvHTON7RLAH(S)R4~>@y=rVa*=+X$p1j_Z4~@{czFpn zqWsaquKU8SEp)h@PT9RfWjZ{Zv>)E&BptT&!Jf;X-_T*L!hUTzJd6 l=t_4;(^ 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 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23.i b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23.i deleted file mode 100644 index fdf63759..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23_out.e b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23_out.e deleted file mode 100644 index b9a0ddeb8b06cea4546ae3f746a8f81b38f5778a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159724 zcmeF42Urx>_xG_k>?L;B-W9v3a6z%4q9C9s=(4~9tH2^f!CqpCCHBM`yRmER#&V4s zqlw)_V@d42#}bY0{hoX8(gbujy#L4FljV6n%$YMY=brh_otZm#W@lQtw8?B^W0Mu+ z2E{%W0$aF>+avi||Jqf>3TUe?Aq%5J6$;Q5+FF zzlx)c)JLIAF@e^}mi#hKG&zf;@YPSn*B}*NL*>h3DknmOvndLH5+8+2>7#HdeH1Ra zub(c8e59qwnRL@iXEykRmWGI6BWB4-PfL&Ja#@0QE+T;D0WCKw_cf1*D7VkMbb! zm!}f`<;47vQN~EBFQ$1(U$V2x{X*oJ#nlBKxvXjVY8cNI5&d3yl#}U?<}Dyc^3=jG zC+1ID9?koq@=VLOz`VJl-!G5qg6S`5c^%=*iTRV3NArGcd48BTd!P|DBu<1UO|l3} z{zLA04@xsn7>07*c;QKB-V(G!knSWe)eWixrfp=(Ew{FfAuOz`E-Y5o2%3jt(jRP- zS>-jxNz!PE35H+UaPX>>l3E zF5-wK>Us&d=&$J|{IeDFCokV59?eAMJCT9I)Fu4ODdvwB2T#hC&N-$(TFzaL_-HW9 zndG>g-n_Klrnqzfrg`aDVfsrNcMqJVxF49eJMCkpxO5PwxTKTmFG<|){&1S&erVqH zG_TTuWTm)yf$1+v+#cjJ#r@E{q+L!~9}@JRTZ-zo|}sV81u*55AAE zT;6`VFzl@|9#wMu(F~+<>c^=}Ii_P;vgJq+{C!}#qJEesugG6)OmzmA%M}(868EbQ ztb^%L*OS(vpjZb}%zFBO6zf6ztmzNOHQQlgBvZvo7$#q~{>Ls`cgcIpHu%_OTfARx z!;f9I-TUP>`q*W?sa$#df%MuKT>!>un~|6%{b7naSA+~3n*h=m?T}!jHcB6evsg67 zX&IVMZ8_5)d`rg4k-)4NQvIPn8Yac$qZm}bl1@vyjA=T}Z^O3FqQBXup>UG_kn)>` zry7VqW*VMV(@n!ma!F4s zn}$!-@}}W)Ri0`1Ld7!;U#fVf;VTu-G<>b%nTBswJT-KZ;cQI9H1#{B;+|FIU6Kp3 zl)9wUA?13fT+fv2m2y2&7KIwq^vI~>qpA^kYf8=x4Wv>*7`|8%zp3qXx-nX zF4p}>p8u@Jd7*>#d}KWz(eYBMkfgn7Z7<2=gtZ+as)n_ltgau@XwRGWAJdSnpwlhd zA!?Y?ZylEkq@|CkJ^#rM_o;gEsSgjS`uM32kE?p|sSi!($4`BDTJ@KF>cg|Detzo1 z3#vcrQy*SZ`_ZR9ysWnSr#>|G6MpK$YpQ;J>cboAxb&$HZ>jz0Qy<<|`_ZR9ysO$v zpZf5g+K)c<;RCfFedoHh z+S}NK>4X2vo8QK||6BL}|MCIgzrO$fm$$uj-Gu`5jGF1$GxoPeGU zre}2Nd0KiNlb%zhXG-Z=(E@;;?WE^5>3KWTGj#MDlFvYKKo1L-1f@V}PzIC*<$wm1 z2Ngg?K+p44230^+Pz_WEH9$>J3)BX6KwV%5=+Q`eT(bda2pWOLpb2OS>_Ico9JBxq zz!5Ou1e`%j&nOE9f2F@1UdtE-~qY-Pv8Z-L08ZX_<-(!9^&-{ z^t@R9t49B5DE;SH|PVx0JYX5fDusRtuKfI^c*9#Wnw`;&>zHs zcrXAA1cSg}Fa!(*!@zJb0*nNogHd2K7z4(FFTgl39!vle!IxkXm<*U;?P4e()nW0Db}o!6EQ7_yrsWN5D~V3>*h1 zz)5fl{0e>pr@CdnhC?qAPdL}vVrU%2gnI>f!rVu zumyQRK9C<200luIP#6>eML{v}87K})fRdmTC=JShvY;H$fbyUMs0b>7%Ag9U3aWwX zpa!T3YJu9I4yX(4Ks`_&Gyn}jBhVN$0ZoBDXa<^t7Qg{G0tTFbGiV7~0T<93v;l2F zJKzf1gASl0a08t{XW$MzKo{T%ynr|83c3Lw&>i#uzQ7Ok1igS3_yZjX0D&L~=s_?D z0inPEdV@Y741|LSU<8q%FNgxsAO^&OexN^y1My%07zhS|!C(j&3WkBCmjPv!kL+?l1IR~qc~AjplwA?SN`QQ1R|Zu8`N*ycssZwmT^-Z_ z$EsE>M>c8a1;|I5IRS6bRoSFdH{~Onbn;O?vPq}z z%11Wo)I<5mCY^khk8IM(Px;6uoq8%C*`!l1q?11&AK9dn4)`mZbP53E zBb#&z1mq)|bP59GBb#*61M-ngIt2srkxe><0P>MdI)wuAkxkke0QpEW(ylk?qioVH zO!>$r?ZTChY|<`5`N$^ijLJtgX&0${WRrG%m5*%FE=u{xChek?k8IK@M)}D02eE*B zWRp()0Qtx!o%#dvkxe?q0rHVeI>iI>kxe=c0OTW^bQ%cAM>gp+2#}9#(rGXtAK9ec z5I{cCjIGTC4AK9eSI6ywKNvH9Ed}NbO69De%@{vtCeF?}%Ht948kdJKA zX)+)m*`(7HKt8fbr>TH^WRrH&0QrUi(rG%Fp={FWE9E1bboyHP$R?d;Dj(UT(=6p9 zn{=A3d}NbObCi#4(rK>pkxe?yQ$Dgur*D*xY|?4I@{vtCEdb;rn{-+T7ATu^S_H^P zHtDn&kdJKAX$c@7*`(7_Kt8fbr)7YAWRp(c0`ief+ARmZNxN0bM>c7< zTKUK(?bawC*`(cCMdI_(7HBb&6_1;|I5 zk#@TQS2k(42au0!((VVaN7Hfi@0 zARpPJ-9bP;vPq{yfP7?=PCo2w&7k8INE2p}KXq|;GAKC(%tV}N{Q zlTOD0`N$@nP5|CVgqn36PI$(&;j| zq-@gZ3LqcZq|;SEKC(%tYk+)YlTOzG`N$@nZUFL;P1@ZA5=l0O*%bRKC(%tzm$(`(&>rvkxe>1 zRX(yWfoFhxWRp(M0r|)#o&E;oBb#)30mw%->GTqik8INEA3#2`NvBtUd}Nb$uL1c; zGt%x2c&lvE?w#_H4ec^vAbg}Fw95pC@R5$tE>mXdGxec}J`eaz{VAEUVtN*glaA0% z^o77@>SxK6UHVLYE~1YFK2!forkt3b1LLG4bP|0h@R|B$L_bO{jFV>2N%X1YmNw}m z`d9K`oHT<@qOZkP+N6`{cgc%!(hNF@KA3#cCY?loOn!`$X3$Rb%@lx5nn62LKaJ24 z+KK*}LYPK22BPn#h_Xq$V#-H0Y4@4(kqwwxk8IMert*vWtV- z%11V7S4a8CChh7fAK9dxo$`@Q+SOA&vPrx8%11Wo)Ij;jE(aPaAK9c+BjqETbZQL9 zM>gry1dxwx(y1vRAK9dnJs=<1q*F6MKC(%>=74;p8EMx7I4GO6b5uUENjs)|WRrGI z%11V7=d65WlXfkYk8IMemGY5I+PNqn*`!@-Y#jNlTIC#k8IM(P5HAK9c` zPvs+W; zD4VnkRX(ywJA?9(P1^NVKC(%>KFUWnX&0t^WRrH`%11V77omJ)lXgbsBb&5~R6epv zyS~atHfa~7d}Nb$(aJ|QX&0k>WRrHW%11V7*H8J#ChhtwAK9c`obr)P+Qlm$*`(b7 zUE`WRrFyl#guEZlv;&P1=2~ zd}Nb$qm++q(r&c!kxkl-Q9iOsyRphgHfi^T@{vv2jZ;3dNxSjNM>c6ULHWog?ItQ8 z*`(c<%11V7H%a+OGtzD{n4)abZmRN;P1;RUKC(%>>B>hoX*Wap$R_Q+Qa-XtyRVgx zY|?I~@{vv2%~C$HNxRv~M>c6UNBPJm?dB>U*`(b(YTBb&5aseELU zcB_<+Y|?JE@{vv2tx-O*NxQYmM>c7?b2tH$;QSeGspt6f@~l=$N_SKTp%~d z18hNFkPqYs1wcVi2owfIKv7T(d6S`56}g80x#eVx`J-N2XqHLfG_X^JwY#^1^z$>0ze=L0(uY( zLO>`mfZm`F2m|3D0vJIg=nJAiG>8GQpdaWD;y^qY00x3VU@#a0hJs;WI2Zv&g3rMy zFdB>jW5E|-92gHKfQjHsFbPZsQ@~U(4NM0!z*pdFFcZuIv%wrN7t90SfcannSO^w@ z#b60o3YLLy!E&$ytOTpTYOn^Z1?#|i@EzCyHiAuHGuQ&Qf^A?s_#W&4JHaln8*s1( z`~dcXePBQM5gY(NfrH=>_!;~H4ud1$C^!a=gA?E+I0b$Mzk$=>4EPjF6a z0^Xo2=mva1chCd)0zc3b^a5Jo4|E^^1cD%-2f-i&gaQNT4f=pE5Dp@M5k!K%APPi- z7!V8kf&L&4#Df7~AQ%J&gCSrj7zT!e5nv?v9E<{^!5AP7UyB?JK}t&#}M^O zoC_9WxEUM*e}Ko(33Wj1_q8!}2DDF5Jx1LVb%g3kMnU<}_Mm!4b&l#A)itVTRL7`( z;n*bB0mmfK9>K9lv_o(V677$Q7*+;VL3Kq93~`JQ=XB&Q&Y9CNTn=`Dli((JjrBqq z;+RFp77%3niyBaSA{iA^`TJMGRMfPJ((7XML7ISgja%o=o~EoKSq5D7+aQpQ7j^+)?59LWMB`mw6Wd z$?c%ZYNkp23o*oK0-*&4O&Zzh8wEBFwzJb1BQ*8x>Nlue&#tyz{ZtF>Xb5oAM~9ly zPYfBT4-RhHutC$t0YQOH8w53NqPN!v*f-S$HqhAzG-=qVNxgddhV>fhQbu)e?d2Kx zemIS$L7jT`bsD6c{lnv)9b3Dn9kAYq1EidzRcurgDv8DmUxZ0qUr6a08=+~V575-B zr>WPZS)<0y>Nh6&8m0`8a=dk%J}?%q?hez7nD{nGc%%sI6|2{D4vfLNYwFoGvuo6> zft}bMDFgiPjZ=+xjfjkm(cp6y`h@!a39X24&kRmRqtV7j82ZNQwYossjl~Br5_dq2 z#zEs86x2l@CU)}ZP(!4fEn{O-E<1)}H8m__)8+0^+^*iRoIh$}+}IL_nIACB*dL!?3NXgvtdh!~`2lrd z2&s+GhoEBg(`)lj0^(BwIEf_& zGFj%YGJW>}hghwMXbO`!#Gc~q)%oM949%s{q!Gvz()@tpvn**xH9sJIZpM^ODnkcN zTW4=i&yQZ`3_pB*bjcq(qi@Sr(HVV={n)ZUZa$61w@zJmxq4 zheyW5JBt$p^hqc^jf5#+x+eh#4Wgv6aB6M}nC?ly+=D}Eh5RcYWr)p!*S2KD7C|Z$ zFx}1KpfS~f_qPk>k#copKwUtzF)TJlk8k?mTV41ZU0@78dL_=(<{u9!q%JHnR3~Gn z{BK!6af;GK#ixvhaR*H*>y>gnlZ?v{>C{9~4?k3!-wR0nlwrC+aV|)4UUAS=mA$wc z*_law+Ufnt4E1s7`AfDf5?06SOeH*l1h@#G(;~CS4#_JUCcSmy`z4^hZoHwu{V$0-E-gAT3(hp$S=9QV)IW z)Tx_6hgUklW@xw%)lv(li!+LR5tKGABi5V5|GZk*`FncFVkT`c5EgKM;V%b8r4ULuBsG~ z)Tkv}S)P?~EQ~V5z1Npv$ttIFnzw8#8^R;Q41wqyP3_N;RZe4NWq53q=y>#zglnj? zF-+TNDTM}k?;%gJwASaMFWo|jYZdgk8o(P*sa<&+wVj)?b<^~v_UHh z(>^c%58Mlox4>~%R3DWQ=XskCTz*sgP(GcKq+of~n#7T~jj6#&{WV%NvvIl)!YxB% zgdrk?w!Qi@zm1)4yTOv{lytA>DWJJm^yyyDQ$TYsE7HB5r+{8jx`=24y26rbpQcUM z^TsILCXCRcvmL#N!8${jX@k(v{Hp+6V4yxyL=4x(;f{5jK1dsBG~iyOAx0l%cK;kQ zOcpTG5U7g^vMiR6LDfTDP(NKnU}`rE%|DGMc0@)8>cW!OYN4UI=aj%uePAE-Z^k9v z6p6O^8wC$0;ZYIlB$oH;P1iZv0DZ7AN>6(wE`HI67X49MoSN)1pju&6pk!K_U$JRl z#;pJ?xtAEQc9#pOjs%79@pMpNxJe=Dnd z^ymQ7CWcA6QR?YyH~RQ%W@IRzB8ZevawJAlmcG42I!ipxw#YWNBwriR~skBF_ zg-y@cX(J=$J-EbB(lWmuqG3Rn^T`ei33V~T7!|G+RsW+ZArcqY03x6|Ec}aDLI(s) zs|(1q%H|%igJN(TOsQPrIBk@g4a})F2xy2%43N?iTe;px?IdcI)9sG5%-Ddb9K*y$G3)SU z2!Uqw{DAC4jMhR(ao5mvnl|qctI>pMQ>iRTx3amXfG}+;n<802JNzZD8|jQuhN&I- z6Cz3t8>JH>`6L8PJRc`SNn)T6RzA#_e7Q8ok_FU8>H_=V0nH@wP!A*ZG0}l(21q$U zqag+3g7x9r*vKF}EuS!GzCql=1(jl@tNnQ%}rt-ARKhX`4-gADyr ztv^(4YMOOCQ~@cy)FN7(VOq6YRBUrIOlx&zwZSUaGiTSsDvJX(U7WnPNi4aNLO`n9 z^gv50@#u(c=D|S)Of@~Rr8IIr5w8HLbFlEm%5f;*x9tt|{nY zGJ0y99u^TNQ*A&z8Wa>Xz1=t2G^}!LxHcrp5R}>$5gLAcFp4Y#rn(o)wKo6oWyI>y zJ#b@$E-acJ3ljYMz+pg5u@+n8yNXyiG_l;QgqKMtC(*ff_;WdZ`qZi}><59S}fRKT>ZAuZ5Q zW|&G_Q%GrkwNV+S)xa@lw~lUeug3-IxG@eoJngT z?J4H=AIff-G_Og`-zee&S=%pK+glf?HFe%Z>hLQ$3%7E@6*qnZNI{JO23-VB`62q4 zP<@mIM;ipBwvGI)OMosq*`92fhV-06(tc;;mH20ghVKUyXKK~Fqw_1esXnT;DJr&U zJA_0T(WHB?@|eFbN23=d`5`cIePKChOt<}N>tn;x{(Y3`NQPTneGHLWeH``d(kWDS z(j>+-U&H7KeROy*S`Q>;YFpXd)2QsePP5f+frfZsDJJH<&Ro+>Xur2SZow? z+cweYh)ky|$byX`cDyuuZY&9iAMeJ~#R~eKgY+@zOholDNoc{r0S%?ZfbuwzG~Iuh zAucX(hazcDw)y82N=F;1k1`m8wCD#**}O5o+9VAq);M{{e-$u!D7jrM3uw9oNTDBv z6dIbiZH!+ihm85{_K8s=g zIVFRCL`fN@`z(g}*LoUFnvG2=4UfmjTjZ|MM!aGG7sIU+Hlde30_UCt`Gi5sP&@d& zmm1In`m;ns@dI_a`1}7Y3P?Z7PyH8<7G@Y5)<+v|42lhleZMi{ps8)vWdN_x@W_ZDb!OgfpV; z9%IlatBjUtm~N-3g9bN)@bbrx{i9XHGgN4?qFpSWp-QpRXwI4SW*-p{>#9XJ4NiaW z*F{U}VTL~k8y!k_%hEVHShAI=QEY1Ar1+619URQ<7}sdxaXbu(P9sJ10qJYn*?;Ut zw)r3VIf;DbTZTMjidFtMO_5YyK1TtqO%YNd@h_n%(ox)gR_zeaG~e7uOa2F&BLBsf zLq`7)HN#Kz{{!dcPy95R!LJVZU$~;j%NsK0^dwK+A2>x(%R&AW!bQDpCCEL>h^Jh` z)ul7iN!|wdz$uCXntP+r)T&AKH|iA7yndSxTz*@UVY+QE3TWR6LJOw!Y+x$Q%7`K>ji^`mX`FDqogl#e$gq-a4vbv>U( zlIGV#)7u=<=*BQVpt$^wip5jt;)QWxhG^UxrgtGm7-`#M6jkTrH;hIjHZSf2s7zB_ z>RGVsy&n*jF<8EY5}U^SjgoFhl_h&hwD`$YTJHihOFuf0soTLpc*mf)8yuy_0|YVR z7hPIiFkMcf`vFbOj}EK?CPYcthfOuxoGq*}q`SA`83I#`WJB}oVY;1tv{C3atn?z^ z8(1^u>nDN$r3%@o$_9$`4wBf zhZFB7`PC*6zZHx!8t@}M(@u;XSpM*b?$w*W%85tpghRAEVkaEH z5%l9v_S9IyYeMDAR!v(r>Clo4DPWp=w1dW{JHEv9(SP(Sq$I!fNSd3p%~@S46w#={-OE^ZSuB>`Nu;%7MZZJ36&+$FgHW9w&2IiEbh^(qpLnB z13DjQ-9F+TJ=&XXO~>@a-iEpfnIz^;0j(Y5q(b5!UI{M6(+5$@JweGt)skDZBpz>$ z)~38`YYJ(8#a0269I;HX#L(h^$=|V>7}KJFiJb&m{J13fTk_0raAK8B0jVcL+^kM= zAKcu1nbs}c_SZ+gF(6@6Q$Tusei|oHIv#p>JG(SYSl~m32$)`j&XSEH-_U4!%|BkR zp~r_VOh;}@Gz`(j;)zRo>&BvhY3+8DB(}1dEeHJcDy`kl z;(%%Gb~50{U-VFwqGe>4Bw4BaS)!qMDP@2BI6buvI`ex)&~p=tPivsR%a}@n*eGUg z6B~+=PLG2nO%aVI4(;~Tk`q2l4i0hYJali-D#xdvq50J&KBF@nkkJ_q$k+_6H@QA^ z68b-%{{Nv#Y~9NL=UeeZ1zNZAhZOqobYC}m{#F0UK7dY55qvO4KDF$o4-C~s7y>`B zZ0Tf<9NqAge8#*0QM3-yy95_cRfQWPQplpN!sQkn>Lr4^ZRLdSkS_;~0(~8XHa5DtP~) zENJg@MJf7H*q75E}BgjdYEKc zhIH#OHsKz%ltKN6hMm2fJDMc=;7~4R>T=S)f5~E5h9TnDSNQEHt#q;kEnMYvUhZkh zg%3R<6Bs4FtfVu&R4^e;%T^iRG!Q>UQX1l=1mT7-d5xMe0h4@g&$56K`u$Z&AzF5||tFgJ(vw zW{{f`ZCKpF&43$7rhPe`+ekRki=T@nH0e`qyUHdRwO|9IRoj(PG;7_`nAuc=@m8da z`O;%Tz_c30mh`k!P_(i|Ycuf~3cabJW8Th}Btug`(~&>LS^p#Bendcd*8j+OHVFX} zzOMIvhEG(o+B~&Qc9n-|~QIUYuEWX-4<<()gU4r5h!A zE7PPbhL#6R<0Gq4{4(!3tERKql{M=iS= zP3L;l(hSo$Gg-c;qzssFJ!)x&XH$VmF)NopS-ppfQQ>?8q2 zC#){{4;aipIEeSPnvTzMHIx1~Kf^#HZn7l}k=!=Fn}sgD@%GK+VG_qI3Yhw(w+w22 z8(Td*oyyT)M6^J|=zfVS_`YR+z#wCAxGs&4Ng=-Z0rhcud~*vuT`BIrsbq0!=Gw{C z%hkD~#>>^MwWn8WcWvuVE@@tK;lef!_r=pvkTNv)QMX|H=rWbp2b4j{TALS+nsaiah;1EaO!_@piz{}NF@)|{r@Eh5vM0%|~x=$|VqAVhO|9Q+$#od=Nq(l)jv_WV+u`H2*7#xR;{7Y=-7Ap5sYzNnpuFNeCE~ z${E^{fcVT9z2ziPx1^T&Z%aVyhCYUA`Vd*tU}RgAVbXwT947lz+P@Eo%f8qot8Yob zbid?dNx+yWd}v!69*=5+ojS#9hs-^VW^kA8|3V*Z`g^){s#O820#*gA3Ro4eDqvN> zs(@7is{&R9tO{5auqt3xz^Z^%0jmO51*{5K6|gE`Rlur%RROC4Rt2mISQW4;U{%1X zfK>sj0#*gA3Ro4eDqvN>s(@7is{&R9tO{5auqt3xz^Z^%0jmO51*{5K6|gE`Rlur% zRROC4Rt2mISQW4;U{%1XfK>sj0#*gA3Ro4eDqvN>s(@7is{&R9tO{5auqt3xz^Z^% z0jmO51*{5K6|gE`Rp39X0DF}Bs`DB(^hLckw&V62@~*OL)!H-{uXwfG=YN-(k}zJb z#jJ_H+h$J~FTVdl(|va56UGb2{Q012{bLE^dHJ<`1xw9H7|%AfSF=W?H=D+Hzb?Ki zcjmc662|XtDPHBPQg=<`I~!M8S${;sg!qnPda+Ta>5gLgSqW>!MEp`~P1BhuzhrpA zxXiCd!nn+TN5Z&RzdUaf#^w4iNEnwoCFIMbUQ2n4f{h9t-~JVMS=qgQix=;B!w&X! zTR#}h>mGg5zK(ZmUR`r>d{DjHyyE7W4~;oH@UmqKw(c|0gBSg+|H^EIDsWrlwUBGo z+3wf29fyow;k>hzoqer!x8{qFu>P^CoZ4c>es`KfL}w&%N4w(T&&s z(P8=dN>zB3Jqx4C+l}Fxp(mfbj@`|R4%u~~>ceh4Tf^w*Z7Ocs>00Kk_rU!1nHbmX zVPg9IXH3ptiizdxzGWg_#Y0TSZ_8wPubC|WC6jqgW+JaKrMc^GpWUzL-;ul5tnw^d zKjhu;=IgpAM{#z!!`o6{e9!IM-Ob@u`XF!cXVBW&ZA$YxA@MzqwKVc71uOTA9~RC_ z?|VA+&sDj(ZD5%(MITPv*)g+b`}Drsm>9q3$Hep%qnMa~=td@%cfQO-yw;DIjK7n~ z^7b)V{vsyx8qZ{2gL$X^GwmnNJj}a<2XCD*aw%^&_Tilx{nznUOWwR~{-`ZyzE#3= z<+SBZx7DiS6wr>>f135x{$V9~%?W!hWL@jc%fHMr?T5CGyx{ID`(I78+u8n`mA~lx zW0)8p{{<7%+e9)k|C;$sEI;%Zlkv(h5kJQ}Cd>0;vix&Q{Ir9C+^Uz=^tM>?%<85{~9{kHWRn& z>sGW+;1phY!1|hBI7IWJP5+wgH+SYv*E*eY9oavUiSap^n3&#T1C#SNV`BL{+n9_u zoyquaOqS=$METvbF`3t7Ci5D>yFBgMYt6U0dDns^Zq<(UAcbm9iSl=iI?%})DIoG{V-topmXWgUYyzSEE*BVui=Pe(c+A(6?YwqB=V*U-6 z_PkMS(_aRRti)@T4R5h{4d4o<7vO{?<9%{phb9dGr|G;bye{WU-dK%~wI~d&ZvR&Wox~np!b2mbaeC@{ci@*F`4ta_2r-W@dfzn;Z8n{_C$^=f2`zmp9*8JYoj-I2PY)_yc?H z#zP&4_us|aH7FDP`r3Tn^7*6PQ$`%+&0lw!zHfCPuOAuP$EnjzUZHar_v6zyv}pEi z=^6L?ZDVr$43pFEFgbsBCYL|LWV|g*#(%?Pd3~5H{}hvXO=L2!^W5k8;?Mv{KIUku-~vIO^g6d6`J;2H0_*5;4vKmEl$C*-~UqO1*fAG9n_ zeaDx)L%!D9;-6*Zt-J3YQ{iTL&Q^amEc(Z0yy4>=`}6RtywaKQBV&Hjws3he_+aA_ zHJBWK#l-YIC77IF%jEJcn2gtgiTJDB* z@ipGKn8*1ar`6?EZ1UXd^v|{yoh}Z%bf@$YCdOYaV{-anCgxvKh{@$gGa1joWc=<- zl;>ES$@1?qk=ML@Oy>25`v$igerdrkyw|wLr+fWfm-{qrQF8CTLEJm%`0~%YFW?>* zZ+>5Q<23Fzc1@NZBj@tAkzZZOHtsv_+;4oH*cpX+lbS`M%RMc}s}{d9X?wPsEj%6- zYjrvJ8z#oH`!G3u1(Wl8GP(RyCgb5aB;ucDvb_6DmVbT4L_E{hqnt^^wWvgLA+&? z{FO@w^yf|M2iz}GusE+)DSL?_f8}f8`DA3pz1#0FG5%yclhdCuIY0IvvHTBA#yiGj z{EkeP_a&3%&tx*M-Av?F%$@t4t9rbO-+u0&)%V1PKHYiuMdyPK_nywX1~tuFGS@Ti zS+T+E6BqLG&Ih*?%CYzh?&>}Dlx@3M-tysv{Gl}mar-*M?B1^VlUJ`8Vw)q+KP`M$ z=b0Q{<{lH{`7$vveeDe<=l_Sv<)1SVZ%F|ryn0q*GOtOz=hW}x zV;q0r{sBjicAMCr_vqT?i-*Q~yj%W`?xl)m;huY*e&4UkNbYVN(la>I3*O#gLR|iA zGkB{-2P1O#tIV5~@8ojdsXVVyd|aU++niej>^m{*Rmejo#=l?0#B}FyCg(rF#PZo2 zF%d6wdnV(bW3s#+OqM^IiM&{4Ci7awdv!V*e6f%{_uuQj=COZn?wj}7m*4*F%De4) zIsDz+A>7M<)LFOXJGlElab>?Lke7F;&>?fHE@QZhNAnBcG~daa+uH2ev$hVenYBsQ zoij4G2+_o!Xws|*6XRb$Vq*HbB}~lUVm1@Yd-^gNFPw?^D>O`&cZ$jK=QEktR3`Ik z&b0;ZPS#!C!gUqykL___Aoo3b`uiJBmAFsLlbX$LwdUU0I<5PqUpwwG#^=Ww!_M=L z+0MD=`+P5VdG+X6mMrCY^9TF>%zADVuX&@)-2C>AJ);)bx~^zfh| zzb5#rugdTEeGA)!@oLp?#7*dzI9|2ianIGWq7tT8c@zE|t-#&C&aeH~<^zafb zrWZ)OuB+1efK8scofD_m&2~4)CU4?+)u}~o*OyBi7t<>yj*I2v6URmT#Ouf^qWq(Y z(?x!d6UJr!w-d(Y`X$Db>pv-By3pxC|AcX&*UA5RXvzDZEMUIdy-!JD)c`uwj;ewxzuBtkA&~ zT4m*phj!WV?#o8JalfC7HEeNRjdxVj?bQ62)$&JWJdgY;{yJ6O3t9e+YAUZQDz7cP z?c%aO-sW?7=g((mzlHX^OWekLnnU?`tFmjV4&U0FxAd>{WWdHH-1+*-@uzafa_6b8 zVO1R0ac7?agEzVD<<9lXO<&!l3U@ADEOKw(uH3oEwZc2zR#xM|YI<8W|3kI>85Qq{ zivN!)Z+oH<mlNDA zzOSL2eGl&DR^{-$-;Z)P$IYuJ*Y{Q957hJta(>TJa`~y9WxR_cWc-JIs=O(x{D(5H z-DPB6rMmELkNvauoO^)#R&fuydCi7<@9s3pF54RJ)opFh$AhYI&&c&z_kVwycloW& z=xWGh74s-83 zLmSrc598i8Irbg5zpciHsOb;X{FBx4J7m1BMO6H~s=ODn{H@t#UZcmVyjF1SjJmOl zoSe9>T(+VO=0)+I;SDu)3s>g8Ckq^$HoXh)vHV1}9G6e>?k6X88#k^b@7}a!fi}Dq z_xYu=`?7CJa-R_{s}77?#C?4Hb(hB+<38;-E)8CvNsZr7(+{foJ=F4JRlLD6{*}h6 zyu+&eeJZbqDzBqlw_@vsVMFfnfJ`{7AHV7~T?z7G3=_wu%B{qFv9 z-ZOYug{^&?aKEh`M@Pr);eO3>maYE73hsOT(w@Ar!?^F}o)2RhIdk8oBO@G-MW}Iq zHGPSi|C(GrKA(!WSjK-)N|qPyA#OTr>yy7< zx5Cf3wtNd#Va+tI&EKK%qsUHbe5agVq==mV>q=_*CMw=u75|zl?~E${vCOMUSD9B` zJ=gc#_v?H+J07er`0X&e-aJU3?QU;}Nj&h&NfiToe9Hqaj(L04{xT2nKKNDj%B{KX z-U09Z!DG2@{)<{pU9NClpN*egAH0I=+qqV->i-*@1-jLp2};w%Ih~C(#S7(X`AXiw1zP@-!I?r;MPl?Hs}+?^^tit6*^d) z2kl%ls$!95Jg8Qe@%_8i=Ycy%)Y)q{k_Q_8%zy1J@;tCWC%vH})-T(j zNnWqQ)%aIxdObCN8MXW-6|bL)KVFq*RORnic}`d2qIX8P~2lasA{>O(T!RbA40ekG4)FdC==J zCH595&x3ydES~%3K~rw1x4qbT-|u*6{H{4(`2%^#rT*SUN9E)p z!E4>ROhnu~#mg?LG=>NNvSxgiNkw?@vXP%nTJZ+uwr!vD(E&NWGOLnz>t- zmf*d+H*Gq7))a2oWj}DkrR?0`RQ!Qo@0C3Ca<4iQZyx8N^9SwNP%(~&#vS;f{NwsO zG%V}M`?;^F@dj%8Fg5>UwLEkZ@$@SG->SUNW%*?)%e=01ka=a&@`$e-)^wP4g&PBg zx?VK~@$fzMHhkM`I}iJ7&=R*@Q+b$u%XvL_uH${?^xr#ibt&Gb)YHC`2ae{wzrRs8 z;#mam-M^|w;lVzj;l*I>jbS!zDa&?hUuoXLoYrHz&d`oip-?Q#lMnt_0@Q8DRH=jNGH;?FdvFfZMLwJPU!=g8itmY9p zzWRB(Pjw#t@?OhdJZh+Mdo_K7n*VFL{5dxj&!FO;Q02W*oWDuC9MiURj76Z#_7cYeijdJYRO}+FR4qcq=u%n4Ev5tz7;{AsH`|or-@? zl{Zb6pR#fRb29M6Vu|)Oq@jN=D;}_eqh4QHR&c(+(Ime?~wAd8-(8&8N>0^kG!}?e|U*7V>{V?2BJU=8hBEv|Zf4y)H=@}d-^LK1mIqL`3IO_sk?CpVS_>JRnPK1Z1eYT zwb4(LS7TrA<`&j{)Ss2USu=)t*B&^vYq*wqJl3@K(-&Z!b$?V?vdM*YY=3`)bDmh% zzS)!#v9+GDcF%TnKagiHYuDqtcefHH)v&PgpO^F1uBMjTui`vVaeJt8PRVlDmXmqh z3X^%&X@&m6!VB9kc*}Y%jv2GiE;sY_oD&oJa3$+Dz39-^w&R#r^wH>9W$Lmn)1=3aRDVsW?BV zxD#YKc|VioKJrv~ERuOGT*9B}ep3KgAM&ut;;ja~} z$L+^o{&o3V<`a~=PqwG8S=W{>m*4a}#=PcNKinFzd3d;FO30@vMuV z$LOxt*Q?>5%0E`kw@WP-D&zDjEaN^i%5tvslI1>Wt@7}bd2O&^y?)-gdf_j>F>M38 zGT8?`XT5A^zgRXhAMRtc`L_Pcj;#CjIj(oR`mt^=dW06*QJr-)W}XvPxE1qu-|n&Y z>Ne&zv)F0Zn1#&C;Ypc^qq3=Cb>*L<=9{LL!~HuEr?-sTEw?J?u_||>%ww>f%SvEX&w7n`(fL-hhRpA|)}ddvz09|||L%u2*I4)X%rnPs8qRzQ z|30wL$bVS3T&w&Y{w~S7`o>?}<2r(M&9*;hJ40zX4E;y>4RXHcPvml+S5$FOhbV5Q zb+Vl7;i}wkR35KXUaMHI%i8X1PHtn`Uh$cG-q^}|U1~SJMDB3bbHlS`ZSQz8zvi#T zKHGhd_4wsLjkcaXtoxMc(<@7&yoJYqvi%I(Df60(Go073ZX0*;1q~jm;X38-qvp#Z zmn&6B#ra*vpJT`so{c!`J1!u?T+4` zx^b-y%&%s*p??_l%y;054egfq zX1-a1o|lUl!+IQ8U2vH_@({ya%I~P=)2Zbq$~Z?IRovfYIh$+9a?8|Fc`T55?aaZn zT?dw{d2ATdZV#PPCLkBnem~7{;zDVr?cSqZ?ysTqwuTLT_pD~UY{nlBadBonJsTYx z@^b~|_oIEEtV>;(UqFpBvu>ll)}4_jo6S@;oFe_VUM0*YmvdBc&dInxbd%-GY^KT` ztMZty^1^X&%$nmTTv7k7^!U3}#53k^6XjXv&mWogWFPm^?-nbE%vIMqvz}}B9UWq8!+MS`XxRJ8NevCk58cIlS>$pzQO_t& z?lv;+;}WWzeX3k+Ps+o%PUUqP`POMazn@ky|0-48x_CBX z{`qpgb$^uy+MfKeoTSM1p1(|>MZ2?t`2bsUqtl@>ue2#cw(@Op3%KY(ny-yoZm^1TPQ|UJ%0YZlZZVa|ER`3^%l1=?x!p0{zWfvKpBeLy zAGN;8{=UqA&7e|e8-2_CfBw0-mZqO5`A0>^Tg?B!Pp_uu|C#x3+W7K7^$QI#`Fl^d$^h*o*kVE(ypRPND>Gyk?- z>N}osVgAe4Wk2D#g6V8__V66y&vealm3Fw=lIgnmPMbZi8q;}fIqtW6EYr2x`J_{c z3QX5vm{)uI3rttN*_V%7OjE;t%KuQ!H(4z=RmPcnNX4z9%4w*|U83^9xX5b*58B-5 z{^FZ+xL>1(Z8tT0%DuOZemr!!ANOcCa>TeVKjR&`Wi7dLqb+akbTaqjXL~t2^vA6N z(@yiog>rT{(|0(p{w~UK&B$xKV6E}D46Vj8F>K+&gnw8l6Z08gGqK#%$xOs~dYOs1 z8#XXmjxCer`ZAG6^WseAb)I|gdQpHqn$7)Y&A##G*Ad)%+2td{+TG?J?v?9|?Q@EE zFxHIBUf_d9RY)a>UjH_ko&_3lK@^fx#1YsYz`3r)vAb{)v8 zA1+pUz|~>AV7@`)i=3U$#PC-Q6aGurnV7F#CnlHkXCls>flS3^vK&t)%XMNhj|e97 zdc_^<46AUrXdrQw3rz0c(Pz;cCWhbCX2SpZ0Vd|-y_sBY2NQ7~ z>zR!Ej>&RXFj;OfCi7UzWM1`o{Y{t8{CuwsZ`Z&4uT_eE!`&J>bpO%i4e#J`cx8`4 zi+S7f57!6!x$u@tPQ5AIel%|}d|`zv+9AAQ0hg6s2j1mXfAv^Xs%Rgce@=0?$z>`q zF)ZTEgun1lOw2dn6_d*~Wg?Di1e0+qFdmV3ECF=31vyZvUh&nlTFMGzF9_;OK%w`gA)~Z*LBb5s9`pc%z zzIFc|ui`T7%T70qJnx*a7FXLXWMas6GvU9HlgastF|l05^^D>ieK(ScxZmbwqMUP; zm?(GqI41MZGLhGU>b&%{avK&*%E_C0Ryt%8a-BObZyD|#dWpCEXX>Hj_5mIOO#pPeyuHcaKDl}?!ggmzx%rF$qlx=;eM^}+~<3F9f!f)N`AJUSLky7 zkn06!o^$L)`*(iRnHYMHX2O4dKNIs6JIds84VZ|tK9Y&J4-HI|v&Nr^a?uYV^C-YX zUONBX@A6#kw&%beUTJBqn!ZkWPIGcoyPV(0^CsE9xOl$QPTpj} zzTkEj*2N5%62t3jcMX}^CM&NOd8_^rn*zM{>NCIBxjKed(M8@0eMQM-Js>zF#!zRQv*7)oI-FBgLF}&0apYN?y*xYr0R^ex}EI zUM;s@@6rvf@e1QN_2}DhFaNCF4<~>BuHEi;n??jww*A48hLv7kWx~IC9uxD`d%(nU zb)Pd4r(0Pj;$HM;qMV|~nJBmadM5H1?Yvv$)pWSyi@C?6=g->XcxKS0@9Xrk;kIQ? z_dgWEd71JBvUWwjJ-ou%xS;BnYV$JJ4+qYA_>>nedU^6+ zXA128r`~!0ipFY=Vi?$hN&g)t=DXL5iRI3ZV6}LMF-$w%IN6sBg1d z;}GVy%%)}7MeK5y|;zuJD)(uS9Dx)`}C zJ{KhCy*ICO%Ie%Pn6y-W*;v$b>m$=BQr-o&@HsSd2>N=LU#*IUp?+tT&U9A0$ zIy?C8M>GF!vhYVIo@bz2|4!?5yl}5-FFoEY;6;Wv?pUPJOkQyLj6E~5Eay2Eext8G zbJFfdQ=3J7UA3B{7}nm;gnzy*qxq)48Og+QwcMGA^H(J%;%+^Thv-nwE~nk1+!gP* z$m8x%F7nc7ST_H{&sHsRVg>JYZoGY;JIg)b-lk@UnB&8*mvn7qGi>+M*~hMVytU!k z&)4g^Y(N2?=Z|l%UG;S5xt48tut9IbGwr?k_gUW;yKlGK{kllByQ3HmnZtx%|Nq!K z^KdG=sQ*(cNk~MIsXOW?{?qo>G@snb^ZQ)|Ld=H?X}nXem`g5gW*1BpSgssbJZbipBWHV$J3VAt?SsY zNz(0O^;HU3-?Cg_IY0_nu8dsL%We51qq9H;ddd5@c1<8kEd{MpqwGnK8z&#Vbj#t@ z>{?~k^ixXm^`LA?-}VxaPFisCw{{Ik-*r@W1 z$L3cbA#B|nAz}M^Y4cc}Gvg(!?#(V>eY|vl^%d9y%kj$+SgwGdd$VWytb3AR;qK8C3joS<~dA}lC))&S_QZzOWJ4rb6hm4 zNz(e{eE4jY49Vk^TY)1VCG)zYzElH`&D%)v*gCZg9^0pu!t2(t52HHWx(vOqcl%tH z0@nA+6JR;6GQe_O@g-8c1v1m;OA)2A@LSF^`DDP%?5q?|DbhFoP1=w-xx5bBkl$G@ z$-FyXUERt*N=cr6QEhO`Ns_#KF*_peo2BHnMvUfkU69<~s+PU#QZA2;r(f~d{J{(! zTi3dm*WKs(TuRcdb8Wn|gw=H@0oKQ=3s_(GTwpnDo&w872=D6;_bXrHlSyBJq2csc zOVTgCrmIf7iS*K5uKfMHCGY#RVap{iqDIZSr6XZ=@09@Sb2b@R z-%$*(94mArESFC*@A<+FyB)qr@j6B})l^K9=5;ELjQWw2!uuwBz+r`5GVfhkY+94G zH1F}gk8YX?QoN!YuSRdI>LEFPA#ljEvL2E`{c$I+?d+25Up_8!$Yg0A8|T#Xy7LvQ z5_xRh;a`&OzRkUUNm!kFkg&Srk|nH9KJ#HysIUJHDELWivEah#{IcKmNgu5fP zKdsk*s1buR*BRMEWSNNUKY9ux`-IGq{<0Aw(ll~(tn(mZ>bTjpNr6Po1 z?}`~wS_I*R+EUg6`kaxCqcHyz>*iqJUQWkm5U2ZdQYEPB4Oq z>n<)t;R-}-Y0jFlq6#7sQhUeEzl!lL=6`T?ihZzeG3xx}bZ?}g&mGQp5rZ6ekxK%L z(wF)6A{QYhf7YCo+Bpy%*V=pSX8N4X^?F@iycz28T7L9-XLt0M$NYV)%fP-;)H#T{jhv4R zeGb>{d)xwT^r$AKZrI+J+W@Frrc}J|H z&ojIG1`I=;S*W`ged0OaCoagbnBzLA0irdf%kLU3h8U{=*NIYZLG*d`khp}6AhJGl zIb>}DMDKpu-hR6PqE*u??%bOW!qex=kC$8kVTkU!?b8xKXm-+lm75g^hwpisWUP)+ z6Z3PhE*<-7QD+J2K0%)g==+A_kaj|@N)XLfT|ek@JjBTJtrt&S1fnm;+P3pof@sM$ z9j8oRh<<(O-GS_Ihz^~k@crFWi0(bNZvBs|^!c~^u$9&HIsGOJt<8I>e_YcctG=f& z7Gr)t)^%au6He#7H0mBgpM3PCd@RR9!MPw|QV{qb}?A>dj1p4lLJ8eZy^ z^#w#nH4@rv?}KPgk43uz_d@jB*fy!QUl6@z=_F`a3enChdsOc=hiF5c4ezIXhUh`s z<}EzBPTi5HVxErKy2;o_pXYb$e9=Q)x<1`Lv*>x&?Yo6O=Vv+AAXh4gKyj%#P z!(AUoSPTHseLIJ-y`n*MHv4tkv}+&=tB$OdZ3dD01L^aLbRDYRU#L2rN&OT?`Uh`- zXu-hw`%X-OX!jk?H)h3Q48i;;tfSBQ*}iPlna1h%HQ;>ADIe>bfgI|{6#yco>W0^g z=ykDUP;dDKav-W$-Q^)01fq+hMJIwfKqQU~Ew=~;5&h5m@^@Jvk{Wf|Fft3GZ@CDs z*3_a#^YN7@}`qezrS75hFdmZ2k(?g=1eR>d?sQ2BJ?Z=c_mhIUXR_B@h`; zKi|tp4MZEY7CFRx2T}2y>}kIAe7tmagH!Dk5bb>$emsW0j-@w-dptD(k=^l8F5{@5 zp~g3pmggW+?jJZku@8uPnOPkAKy}$jUtf1V;WyURV&6*CS<30gTA>fU-?6@{IgVI; zjaj^y-}dYA417%u`;r&Kvtiq7FU2-MVp_oR1#8URmE$ z$gvx_Hh{=)-rbGr<&4h8Z{-XJQEhQmcZ>gd62A@E5KHPoc@lFu!Oa46Dp7yV4 z%?jP_4x&Y!pXPR7M?uA_Tg9*Fal2s|Wk&tk$iqBcKeo;X`)GZ)jsxZC);%$Y^BFxD zeYYbAU00Ti{$3UL-E@a9<;lsKS#C(LpMUPHFsK;=qVnN=Pc+cuQF?oCsrF3}6%2&& zkH^!WlcANTgC^4Z*8P$Pl4=mGeZN`Sb^(aeMhyR_Xg$Uf%*S9IJ-^vLU(~Th-P`Cx z?-Q)AHFE4nE-_tCpHhW7EqWgclWIOh&x4Y;v-(Kraji^fUwVqZo?9mu%sxQZ_qtrc z>X=M=Jam0C`_toE@S#OhKwrnHefRCxy!0fJf^W@xNQ3n z5Iy2AI^Ic-=e^PQNyA+bRg0XWCM8mzbKb>kj4{&nVe`3I_YwO_P={Vm-MTM(qmL}- zOMma=IOsaCTp=JjaerWSFnv8mFPeUNz5!89QM>L7dcS_5R9b!K1c+Labe?XN2hrEl zP_*BS#;C{d*A>#A=kxnHz8FP+&$uA#Y-tXn_p#MiYUz2@9UnGgp8B(O!?CXpb?DDA zR+pYHtPi~pvcB}ZVL3XG>-xW+1Nj^OuE5_F_`3psSK#jo{9S>+EAV#({;t5^75KXX z|JN(P1pTf&{8)1U<2_n;(HH|I#yxpgv1{uc#?@5MZROVfj0@xx#3Y<#oQw2+77;zh zxyOwH!-;Dcr&P=?N0?h~a(ycXTd>3pri&(pp@m%Ryb8=v0ASciE#tUH5!xu`P-b(f(} zHu~N|j#tQai1Ckq`1pnVI>z_)>Z3BD6BzFk_lxBH>lu&KRMRm@s~ES%Z`HER+bEC`k>_Nt5zkZXlml@+?J}};A<53&A5gS>33ExfmwLoAb#m34Q8SBRH-$+wlE77&#dX!%wSxA`2wsX z*jI@<9h`3OshrO(8}z--ar7RCT#1bDA*Cw=X02g-FYJzgGCqvq$G9cO^q}i#BF7td zM3(W?Vn)r~y@PSz_4uj2)EUNY)!b@}$s-xp>sCkFJx(yL^WQMuy&V`=)e~X8-ezLV z#e4+T-NwE^)cJ*Ip>&GjpNvv@J9{?cqnmqk z=_g&r%jn7_ZS~%aN8S=i{|{-5`!@B*5#Hk&w>!qKcfN3C+??m^uUo&FaZ^8TFs+vZ z##xv@fOTuJF9CJ#qpmyp>_Fcvj$=T7j;lnE;a5L9(nD6C@wJ~^c6p;N!>=4)^<|?c z<8!xjW#z0&##=ouyV#|Z@jQO;obKmn#$)Sx828(=Z9ETEg(RpV^@ry`S+NnH93)+*gKQ zx7%MrRx$iB8G;YR&l&H>@0#>qh#0T6t5W+3;}}nINAR1W!x)dt=bkQPrZXPaW^R|N zA{mdq6P^T_Ib#%HJ`3xjux~EvoJQRS&gYU5`qpzC1=bvwNQ&Vv)x2x0B+dBt-rZlJ z+MMA(>v(kNzrgTUUXVVZ6u|JM3c)9RKjYoGe8uNP1IAlxTke>-dl|1q6O zQr=#>D>H4+GoH7aE=Sy{%jUPM&Gv_$2tS#a%T8}2~2qt zJ+4m|+~Yf1F#NZwS|)WOhQDvia>L1Y82*$=XPO?UFg}^)fq8*58SkoXeF6n_jJGM@ zahiJ{#;f|Fbn!kT#w$Cu*|KF7#t_Uab9HXtuf)ucDlZYT}$SL)9c4qwv_%{;cs{|=t56=yr;jlY~0wF@#$zE zl<4To_@ozXXi6N&_)N|BarfWG_zcK0w)A%TFS7YSt}fv>_U%KRg`BQTFZ6kYzQr7e zkqUBcWBBV5%+5>G`^w|XiZL5o8U9!0<6q8GuBZ2dl4341{CxQgNwGA;U!rkk&ojzx z(fMZXHX*}TC}^9yR-N&wGko5=myq$fX!CT=-4__^Fh3vb`ePqm2Uh1e>eBOz_31?4 zs~ks$26E}s;~%yz)qoz?r;a}iw?r`fPCs?eGChXh7W&YqnEu?k{cEjXCouejr?Sr( z(fjB!6T=?DGKRlk1OMXkv-CW=?(bzioZ*jdUvY5kbc_=)-xuo&ucet%F#L-zmR{bopW!!GyV-YEGrqm54{o>1q0y)71_B{Fc5^01MfPi)>C>+WJ7J^xsp_o%xJ zeJ-PK5y$b1-uGB839X;<;6`}`!~d2n@6=m|@f{#eH!!@%_^Rta(i!%H@l{A~-5Ko9 z@PFnUePBSZyO(>$jqTsfJ8R4Sv}%T5`m5?~@m#9+Ag!Y6F&C@*U_J!vPGFxa>KsH} z0p~M(3i?uRmV^F0VYwRVeP>0cSEeuH+jGNIH%%+XS36GQS2Mj&jtx38=oIA~ml{(A zLG-?!J*!3Xo$(#qvZh8nnemlh6aA)z>Pw$J)DW#eeb2VFjrfg`*0Fgttc%1xGfoHO zP*;RLZ_w8UIq2^TEEm0g+a14l{rtxGDtWgZ__&bqHHtATB9j!`EKjmI*+j^g$g zMj4E+Q(*h1#CMGEeABi^Kj_aP>zDP?TB8_Wq9#!9f0FSvi&tuv8I6&0u=xtCqrPn4 zCDeJ0x@XZx1$`$V2R*O4xjF|j{4VnGr}YK8&JUKzOq61L8Nu=N1BHxlVAE&U#4C(% zLaJ|9&OXL>mAHpXuY4Lu-#Y!AzMhl?N*YRTjBnf~xq}AjjPK&PDyuKGVWj61n-9gh zSg!BI0Mt2yx>S$#p^^37gBm`J_Iy(FAYu1C)xpASReG6g6!c^_W z16+Z;a9`}`z8I!XG@dZb>j+FNyW{0{M+3&0&baYz+Bg{TddalgN*_UU)tO4Wo_X|L zDBs+V^Q+7?Oim~DpYn#VW8W!+n}1BW`fr5mS0tQXKf>vsAe^6waQ-fYDL!t z8jN4(m$@an9!6|*6pk;R3aT^SE!Yt|!F-rcsCVxf@`M|w5^mm&aP^IZ>t9AVy~~8t zr=Q1W{Q?N*UqU!85#hK_gWEH~g*QOetHOFY8Pm{a615+OYH9*eBW+vc(lFo?D*}3 z9e-FxxcMr=)z=cPe;ncTW)M#QBjNmbg!8{gI4))KFPC@PxAddW^TBVi%DkzvhTyu@ zkf##y3>M^BWE|P7PWNB^ad=f$KG+8xc%js`DE9%o@X1s5O)04gs}4`RR~+J)0=SpiwLLpfbPHAt$&Pgekz3XZz3F5 z9^tsgfUnh>O|1i}ARy$!$?Pg0@Qj%IwoP^;EL307qP~Fc`?bYNy6|ZO%!}$j#&hm1 zu-^Nr>Ft3vU>WyH?N)0QOj^Y=S$sPWM$B|GXj<~ie45d%F*<|O2s>WNC)|7u;p!g{ zu0NG<2HdTYAR&yXis>sv2_&#hPot4*)KeO%JA zp0@kInb#rC%NPyz&DJh`>_)=uAp`u^RsM$Q@>!2fURl7DcSoix2fc?;2R584t`9Lc zGd*`}?c@i98`l$dK3JV_^|plT|4ul)p@h@dA)MbX!udZZ9M=ZIaY-N`Ng!;fv4r4l z8A@###^CE;5NCS25)h z%m~Lt_ffi2wQ{>s8HBtUc{KFlPVhUY>fh_dNAMADZ#%v=2;APqY*}g*22PFMd&6hc zg8kI?s7?Fz>Hd1NlCB0W1Hx>1vvF!AjB9TdM?QRDK5dxp)}4PPqCs z!u5|NoZcGKKa=S?{OH-zIVCLGsB2Ort&l$e{*93dOh&KZ0<2^mE#*el6krUJ%aT zk8oVZgySlKkYBHReU{aPh(SvxjP5fT0&8=;wtZ^=zvAi%O`D~_XVGbsQB||R?OeI0 z>h(@=n(VWq_slgg@9oT-fc;r8UE%@TANPZaxg(O!4{$fPX}&#khHehw#(9LBS0h|~ zHsSiy38zOtchBlu6V@;DJK_9m3CE>GI4%PSt?Sp^l41oB?PjA_&54Gfv%S`Rf36Sy z8$T$!J1GD^X~`-xjXU6>JnEoUoh>+f+PwAN)&lcSPY_?fYY8*jV%H3MxEM@oTfEa= z6q(P-sj2^ZxR`L`4#LeZCtSTb;ribZPS1v*KH>a&6V6|oa9pN@;|hSV!_8`&cl$x) z_1KjV=n+jlm_d!nCS%BiNq^Ze3pC z4%UOlIPLO%2$Q-_nJ(Xd(|ktc=w(JrM-p~?K!I@cHH52QNVxuWgwvZqP@k}Vdpil| zf0uAvE`;Se@*BcK-q`m0pa_BuHVUb-T@W(0w)J+-WeDtRk}9o8_sx4!d$!NMH{iAE zVE#`9MOYX$jQ7LO1RNHrgm;=Yfz7BZO({3*VDcchb9a(e%%?2dxKY(zmT==~gqxpB zxO%z|Fxx+YaC!p>>J!dSLOA~-!g2K=99IiO=;`Op&0PagbJzWl3CxC&kJqw>=x0IT zc^%(!r7v_pzdq(>GiHJJ(a^fJx8{PYf5E-gvopbQBJ466X#%!mb5yq!eugR9^2F%Q zRCBF!>gp8*C4?LE2shtOxOzjv_0xS6SiM<<)1N^&zZSyzZy+33JmI)DK*YoJyzhJH z`;>cz4>=U}5JGc;d&xNJKoH+nBSC5`_-h+VFZgFV_>>MDeIl$7-0Yf+t|*GYu{mkN z(Y-n_OTSOusq5)5RYTJ6_0H5{rOLeDQJFe~8^;rFelg+dhY+qmjBt9#38&8^oZl$I z`KuF-OO|k4H4wROXG5AX-FJ(x9XF>%pYE%ceXx)}8iHlh9{VZ01^=Se<1KAdfFD{^ znhrg{ePY#PACqWUuxq@L;q@sndrKP9K2q=u%)TAC@gwV1 z@f?9vi`uUY!i|#%H-CLh1n_D)7m&~5@t7rp+1ZSQ46@CZ;encqp?1qAGg7KYAyb|#E>Z{n>@B%n}N^}?? zrvY;swfY->b%km7V~yr)HZAsi_T1Nlks<6jGl_8X;|NzjfN=dqgwrb~oW3gI{Pqye zKaFr)V+qH#^WVQi{*5qgjhDVfej&_K`Pz5S{0o2bQwz%U&&~?{GoCVOn8wNQKktWw z$>KN3EknhB<|oU#Tl9JN-`{QB9?lZW52S6}`cTRi;s zcz4l%W7DN(Q7JzEjoJB&|Be55KdV3Ezj@Yw{hu+%H}AhO%fI!{n0tLSf5zPFkNz{} z*6BY!ZoL5P0t%-Gr0)TjikatoN2|l^z{2CU^`F7^^~Ob|hGAga+d*_}!62|%wzHq9 zP6gPguj~olvS5ARpz)GI8(1Hi;TGdz3)UOLG|tn%o2*m6YRgUQ{ok0KpN;jcT))>x z)O(NmqtH)?{&XK=mg@j=>A=DhN@LoOJp-SNiU)hwz5u5b-7$S%4~7N$Y4Sct*U|la zb7gAsUBKZ}S^g;PSa8UGCk|62;NYL8Z=wGa94r>Oex8#K4*J{fZL~W94mvRp+H*qw z8~;1c*0*E75$dI*J|F!ypuaA1y+y88@add+{!>Q<_?M^u{+@9VJO`inRJ(ivxa&U* z?K_t4v#T)0x=OViT-`Pd@2F~mg^g2Azn4~kg{ze}=o{L?Li>XB9_DheaD4FO^A>|( z;fVTAzSF+rSpC0wwtfcJFZB!czM%en^ixNF9&+77u9FbZH!?KP_zMKD-O#)sh!4JR zmiM2qP8#@m&4<({^Z=jc;;gnazTo{$y18unQ1G7jeRI?hK6pL4ob}>n8F;OGUUQ^F z54`vdD|=q-1742eYi1XQ|2JmmHL+fT{r0Fg0reyP_;LQS$kl;dArRa#Zm^YJB7_^2 zjpz!Ig}`f*_AC$l2?4%p{%1BX1OK?<{+o{&(0yk=R2;hU9sFX0FAaFU2>cArH1_FF ze^2>7G1NFF4See!xwicL48C`Ew)Pk|8pka-zmlt$|Bd|-oL(8-XO`6;i+)Qv{~#IU z5+j!~gx_DPa92eg1f^bgyl+cE=)TrBITv*xMDxk$!OA=cR+e3KVe?Z6at(3sIAIHc z_nq!+xb_eNmu-^2I^PBY%`+2FAYf?Pf!$P0E&z$?g#HxG_H~=qZF`+VekJ1VKp1E|UcM{RScKze?{N$iuNM z&ii2f1MIg$Jv-EwML!wz7b90Ga?#IQBM0-~1{vPymhB>-%Eea4Zr(ws&Ew3Q_d;iSbPAdq%R%{<1A_d{+ zTW@P9Mc}w6&QHerTCV@oZ`7mvkFxr&(2st8jP(!tUtDyb%eB?z6MCgW?2({@Yt-oH zBi2mpvxV*t8-4Eei+dNVAX@(7b9I9n5U#!cCb$Rve3jv}oG0n`AgZEL#$>h=L`8Uv z`E^ACQIm>Z2d;F6s9}%I&+Sshu_w--!g?O|SEAl=)W7q`kMpPdgR)#Jkt-G!1)ADR zn;e40;iqmITfc$WNY@K*rxS?TmN#59rxrwST~>wPqn`udYd?D4xC)}%SGeD7*P@@p z=}c$Jk|28V%iP3v`gtMOqhrr+pr1RmE78#Jc>>4Jab6qiqp@EF^^#Fv8~q-jza?@V zK(1%7#KL#=#*$62bb{NO9kKghv7JQ8bd)_TiW^w=+j=;}UR$&yZR!??oqXb=Es=tl z>(=AX9;=0zMa>6K7REx1MbfsyDOwPtxzBOiG9QQ;P`mV@++`g5;k+`|)6XNa{Wm#1 z`h7f{ekS_qp#NOtT8CUaVVUaGnSSlcu&hI4T=ftgSUT?Yd+U-#u*6fQul$IWu=vo9 zi9T05Vex?C&%Yjc!lLYJU!$+4!J?T-Iu(gou&A%wAw$JNh<#<8lG!N_v5)tE9yDGS z$8tD-6zf-F|5DU*M*VN-mxBHR8Hxu*_o9 zg<0C4VQE@yj^8j#1(q4|#|SdTKsq#9UZ*bESvpqkLFqSCizmx)_$WcqlUIxv=!qzMa`t zqhM*e^r=(1G{4+>bo!}pIL^m;6|B$1{*$P867{XnuLt_?L$28zm%&d+%snbz`m+X- z!s3<%2hMS~e^<-15Xf)ePb)Zq$FU z0*G5R{#(x6hOj=|>>x_*eZERrewB>AI$-AGVNa5d5<`Wj!RUH8<3)z6J?$Tb(Wq zegN@D#ywAosE2re(r%=`2ja~(4wb!6^JBFVGZMmZT!r)LSbrV+Z=v1=)EA@Q6!b4c zu3Y5Gg_JQleP;?UL&}B#xlLD_A^B<-6I2lo$-XD^9IvTCa<8W`(t*DqDRTPF6SdnQ z@m!h(S~dj|t+rf07~C5Y2hRb=m|Kw8@1W_W`(Zc+Za%0L>m#sV6ZKZ3 zemnXpp}z>ZE+E%45NlMXdPiG;IR4Y%7F$b5DRh@SeES(v9N!qdsPu>A_T7Q~H*A39 zBP*PH91}xw@R98H))$aG>0E=$^Lj{DPL0gi`~{MJF8pTR6bnfo){ZuE8-Qa!oPUe; zcd)+!_2_!A`fJe76a8NymkDxBfffA%p6tpGffW&Y6*hOxKzyjPYuUWTAf9p9*!;FO zq%<3r)ml%4lwAqK70#zaiu(mY?cFnwGU}lAe7|py(#vXF&h;utZsDy_);b5tZ*5-R z?3ae)6F6Un_3yC%287?-fKkxLD=sj6bx-cJzZbL5*gUyjd*LQ!V zPoN1#1I)W)-7V}hM4gYE?)ZJ^vk!fjAP3#ImE}50gvJJowcD(Shy4+ifo2uN-g&ZA z$LKM{_MZ9DzFQuW8Pk4z$_;r)n4rZwR_;k9q_?)iZWUc(o?cLRuZupvkUsQf&V<{< z%w|sG<7x|x6EF{4-R};rZ=m}h9acAV68c<2Up?d~M=l#8+&Xm9?mAx*ElM? z(X7y@x8Xc-djEdj72YG_ARqUA+u8eM9`B7_@a+|3w&Ie+{^#O}&3ET{^JYvY)@KfB zxSAHy|HIiUZCTP6BmLe$Hh%=`q_NKsbylM8FZ8*Nz6X(G2XX}xVWjT-zVy?&VJDt_ zJz7{w{6|bHOf&sSyj0}2hu~FiW zf;g=<^~ktH_qpv^o-}#jER0r|m&H04?7NLRqfqw*`q-kcIdYsL9M^XeRs6oNS}T$W z)LL%Ni8x9^Gi>*b512p#CtIH|%4{OO9YOx8FQbW1Ok9-;FPC_F95}pKQI)vQUNWQf zkREaCC4Khyka@&4^xn5mD`#VzjQJ5<-N7GRpF$n#(C1UEZUp+gM&BvOaR#}$|-xiQts*Q|I}767KzYy=BL961=B%+U2nEBp`86XZ(+R;%AU}p>@k*!cRH;S}CcK zcwZT4vuleB@$!lq*VkBvc;=6P?dRNsi}dO>;4_v*^6T17&WT84(E4(8VNu2ZnjJ-VG)UpGsyIOpGv~MN$U=2bt55B;loFxXL6^UPolD2%Z8u9c0r7RL`!FUAo>Rer2E%sHSjx6d*p-&w8E=CR? zvPVkNcEdg-+$3$l+k5pSR9xlJuU{?+ z(X=hCqWdicD}4$2Saq2M`F`^It=>+8`rSMztz3<<2J`Q+ZWH!RN1YX@+wjMS^WB3S zUdXkM2;LMQzBDzEM1`6}9%*qSg7*terQ2?jNXeNitFw(sg!N*_RXfc{*uA48Ck}W; zLbu;=8*^z02|4`O>C3=C64K}9?^_CIN$>?f<6Xn1VjPS4RaiF{`{?mxb?Q;q1br0H zw+1=JBbNz@>T_XG-;W{^B~H`c9#Kl7%+`{VlDkCUse5Yo7kWM#n_gM@WekasG9KDT z_=ALfUSBue*?@%U*l*ZvdWeK(Zari2Vju~fbMn}$B6%)ee97gX-^aR5*r&niME68p zP4tMfCsNG6#QH7|$VL*Zha-Zds4fAM?^!XNi4PoKCO4 zsJoi;QM`k`Cy_$|xpYXB*ZMB4a%mEE<@lo>YPuw+Rrblm78%+e4+APK; zsuDrZw)~fCrjkgfoyFH(+(^V#xx+T=wMYd2_51}nViGa7tWD{`W{k<0r@xM{b&A** zf;tYIZo+TQXV5qF9fTY`IIgQtNYsXVbG`)jCsFUmnrlC?CPJA@{p)f!k*HeR`#ZIF zkSM{0Yu|k~6T!RmiECn`i6B&d&tn@464^1xd%mnUi9ELJr^fq65}D$2Ath!7#%Rpn z#yWaFv3;JXla9I(=(7!d6On^*c5?-MCQ&7c($hZ8CPMkLSpIu^A{_N;=7Cfp5$dnX znQ{CJ5%z!TsCl7*MBOZ1dF$8@5+!;pm;3P&iPEifOn3ZBkB>6%&`&-Qlt~01_kY9K zjCn7tYs9`=sMCqMx6p@>9eI)dz$$$N>=tRgk5w15bgdha;#?G+Io3)+?K zI)DhvEq?Z&WJZKHqdXS{QJs=GiW&ni5aG$A{pu(3h;Uci@9mosh;UPkN`~|&j88GY z66^f2?+EI+qwaL{8H~QQ$dQL!xpbY4mxqSYx|#C>o|)6%2Ml;Nl9eu*-RuInTFhO5>-|pr}Apdd&-uU&pz~~S}99!;WH&+J&3+AhODW-z2 z=cT|6*B5|C(xi*d#e=}v|CsxZm#$#n!&r7y+AFZ;smxrqU>ca22L60*mV-YPmA)6H8Ar-@bdLf6<}&p z^bxi zeKE|Obn4-dnU*kBt%8(Qgn>>re{TOECBns0!sTlSS0^M~-%rBoyzL^KZuj?qP@l&m z2 z_NChqR_EG#!s)J{-;vVo^P6zKYYE4ZL;mHOERxaMx?&7Cq#Pf=!Igf0=&&3`wdP7# zIC$pf@dSu*a zd|3u2(VpQuH~E3a^n$zkSN9M$UOPd!d;|UdBU<;$k#K!!gw;79rthQb)(s%6kG2%y zd{qd?@qw^h`bR)VG(7vlCq7t4x*r&yX%Dl_cV>-Qn+JAAHcO-1J7Au_hLiQkW|&nO z5+YYt1v74K**@4%A9%Lyt&vx&!Prge!_>7CKs{sav6q@UgpFEGgw3yWBy3&z2g3Ea z5mx7l4PkZlbqMG4ld!&PZWE4UIAOUyjt9kvIMdk?1WYb((e3z039RF|oiUt3g3d~&hD*S$WFJP)&EDw&R-`h*S_hO;`O&G5Qjhj-cK=o7!ueFIs zxM)Gx{E7>Nts9k2*gnJlgw;t~L^xd?!ufO&*4MFsupC7-gyjk-l{7z_`NK;f1^T)b z&!ax3z?7!R{oc%;1(vT4zFK>4C0GTixCJIy(|yZp*P4{R1&fofdsz2M0aJeen^&%? zgJFK*$-|c;K>45XedTvwCv4nxh_LzVy$M&hldyd3Fq^gu)eeC zKFlmfE|2AMkmh~c8k;`ci06(zf^67(HWR*qtiI%vpr1nI#?QiQwFBZ zj`;k%KpUn=Z(DMH^II@pq2}my_W|geN6BhlGXceYg_aKwFocbJ90{ART1?owdv6Ha zmwB78I%n4rR`2v$r}2*r9e~f;{ChR zd|>Q=)fp?IqhX>^Pf@+BE11Oe{A4{n9gNGzZPa(9`)gkvw@Guo4h)krG4B6y9mow_ z(O?pEhOp7MhOqf>LkU+`K-fO}&xF-s4iHwi_YT7Pi1>u{o%%$=a%`6ZmTLyx@Ajch zhP|2&QT7{DCH+!I^5IsnY^xsK2fC)K@>L%l7`5f<0yEtKFs4hrzs#8NFlMr6c%p(E z=o=ZoN(qbtttsDr9NAd|GOb3_KmBu^aB(1E^M`W?SGSh1ef{zXt245bu(~=A3G35a zm&f`V(&NZ-JO!3ZC6^3rNUryZA!Mj?rS-HFT_WG5(3DtPBKf^e@ZfZ73JfWFCR6c! zFX(kmnNA;FZZp=0X4h2Pa)MAAmx@(vEi~5VdIVcgw5B*61Fb2 zp0It}YYD3}&62RX9UFP9Pg57LzBP2;ah8J*ELW5cQ4Q6)m(kCX=nc)9A{!?p8oc41 z2kLT(bm@)&`rl&ck*)`Q{VYMXspIpFegimj&oTcRZ zCF%EXEa^VJ-O=5duzA%3gsocPGtj=aU4i?;}fKIhN)E%OxvC zRF_ZoY?8Gk!_NMbcWt#L(M@@Dqi1;vQPDc{G|eW3_s+&{e9$f_=xMrtW%TV5P>KtD zy3ByU0GU@F_xtccwnoK#Z->3)b6=Z1FB|#1?)XY7m2~I#DI^oNu4gh~`-YVeR;MUW z!s?!o2G+;61UTO=U^!9&Sgzhr$iSbaEh+vbWSIDw?(tdU$uPwO?}w=>ks%B9#uz92 zklvq*gZHOeN@~uu+D)PRhD%R)B{E;1480Q1{gMpS1*z+^N3574l)RPQGQ`QPk;lfJ zmk67mn@-p|IUmCIE!N?6>rC$a4Xp0^5@3DeOMvrD29|?9S75mU>Ge_h^Zo1_Qbc$2 zy5qr>)kJT;ag$*~2GPi}8N07YnkeYSG@Q9#%4-?rARaz2S@L#}-#r!WL`nO*5v!Ws zmq@;xTBIAiu1oUdt!2QQi1HUcSD0 zNxb$S<$k&wlX>UfzZo-dd@sqfvY)Rjb?N@dKQGDf-ZPRKJ6CtnsbpSvjInylWAmR& zcx;_=iKM$vHT<`P)!CE_tZrcmus%<9fb}&^2A1PV6R=#(mb{-E2dLE;({(iX{q=JZ z-9KH{aPaF!DbjCiK#MrJg!H&_G0*Zc@V+jR`M&t46z_SoLH+rM$-MIQl`gHa(vqNi zb2Tp}HA^$3L_mYyj3h}&Ez1`oLLcDZ&>gbbKV0j&1txfbEmS4};s#+k#7=ihBSa%uwbWx`q zbvL3W6Ddl0ki7W$#_jUEAj!p{Y5$uAkZ4TM&u=J$gwdH!CA(!HzOE-T;GryiF8HG(<(3n~XOuPXUzvn45%UYNPKN8t{){^1 zsJkA0Jkd8BInE)M7Nlm_7Hr>J1S>B7*r~d$2c(EoCp4Vi4$1s0GE=ADgruY`5vt4g zLgG>7mZGiZkf`3{R_~O@kWg@}!%R~O5|&y&u`9KL1ouP3e3s9|NT27jc^+4%@df*C zqK+Bro<^Tr=(__s`XN^ttn}H{_^5F&ta#SCZ)tWHh>1$b)}b3AMPYbv``jW(cIeQP zQQJhHi(bgMyIBd6q_x}nzqkyE>$?`WJf+V~tw(-XdvZ1;4qI>Xt}YUz2=n$>mxz7z zxi72J4|R8-&!s=UEXVFX$aNT2q~93(MbiRSlsZ3<%=!T0liP1=SsOu0w%(;&nZuC$ z&{VzoE`1I--*R(K9(`{4RPDyznpKd*H!P2PzZ8-bcg6AtXhPzfa(D0d^D)lAd{3G$bU57`=yM2t$00`xa+!npOHkzl_usH0?VMgydnJfpTFsoIrU~L+j~VEE1SzwM z;@@l1=aZM}3)V*#LbBV|0nW>)k4of3t<{~7bi00ubmS69I()BS|M`6wvoRlqb@aI} z+n0bk^f@T2dj@@O|MBHGZvEjBXG~S8eI|evvo_|;G;9KKM}>jcx(X1_&yV$yGli7H z(UIenRUk!sh1TjW2_#?qeQa~n9!M7LI%1+449PRCt*(Z>f@C9WjqUC|{)=qB5$jyB zZ!7B1=h3WgfAld%-S`F)ffu0ryS><8j2t&qIy)h(e|2a;2_Y<98QkMY=ldA9Ba z_FY7sLe#y7K6BBx5;;C0*9;JkG8uR$=?aKn$12|((GSF5?FOCl)dO+PWwZWX>p?tP zzkfhxE2LaJd1K<uuu*kndub=mZm(9MlLGlBW_ha<+FdAU~6V~m+ zJ_dD`|Iy`qcA~E?$1%JEx$;1)vc~bU@h}jVkIOE5C;;)>e=qu!U+WlnKYe>myaj{lYg%tiE`4t6~kTOZKeB8y=kfKwXX1#Yg##GF&!n)&J z-=N>9Q;oU?=+lC}%aFqhxuig>7#itTTLt1%m-O>j{RVNv!E*(RH-WhLdraZjd=ST$ zeo)>+*LT=pZw1k5NO`nyX21+J>X%+qzDgNVmS)~l4}A$KfrB&EHVnsTfcdvvUD^-q zlSZ91)ZLFhG_t-a$kB#eB_LKETVI(==<&RBZceu>AlEPu>-}yTGp7~A+xxV~^qmCa3UTgs=Pe+<>hGL7gkH~k zdg|WHr`LbTqwiL6^!*GbQN&t6Is1+}U8|J^DeneOoX~wf)>X_JVMEV*HtxZ^3D$|Z zzDRoBvpUq5)dlpS>%jVMK#sx4RSRO%v~SU|H$c2qW~iYqJul0u?kLWtKL@Y%Pd6_( z0^;L4>n>!T0I_&)eO{3th+V~Pn_tu8Ve(SwG;J(>U&uAh2U1f&tk7&>vX7n*Y|O>H zD%R2WXRv*Ap4Ev#-Gk^uuS3>%C31X0u75y055m7}A3?b{F8Mq-2*jly`{X;TfcW|e zEqzLeP+r!T9v7Cw0l9jDIOy68X>lxF?`=ja&+%#9y^aAH^!|KP z`Ku=V{HM5NPnpf-Li&17E)s9-4dN`B7faXC`%q%*?L5I15JzoWGtgKW#KBv3T`YKl zu@Un!Sa$&X=(t;F13mv(-CgKI`&eIkoLG*T$VHD=Qc2(D!{s18JiKzzKlXH;J=dn0 z(c@M1HuXVV20br!%9hr4f%sB+nTg^%`g8JU_<@VmFK32cWXgH!%Zu3Hcn`!Ig2#{d zp!acZMJ}ql_1JBVEn7i+W~#5FB0b-3Ot!JP zrUT-8)dL=SZUgcC_XX#3>2*%Kc`SxXw zx9D}p#yrelz&ac3D?*)2)E$F9d(oGUSq{1`ELR+ek4_RD*QEacxIrMHk_e#t_!O(9d$d=rwn~5H_H)-T-G2y`#rS!M*zJK&6dv>P>zR{yCurW zAb!{DzJ~`r?(Giu{7+HNPW~*$$(Tl|@`UT(K>WRY%Dg^H=+C90W|~i}K>WF;CM}Jw z8yhJvoA<`LH0*nUI`sTub~^j9|(j(>0pcnXvWWa?HOCXF{giM@GE6%LG-{ zRFu5TVgj!PCQZ9)#RMwpu85loOhD#|K`!6=G66Fb)=z)=iwV%u_Md!w5JnZucVe9! z_MJi<3)Ia+pCA#;TK=!h9y$!&qr>k&ubV)QH^GIfn`THTJS)n1BhH zyj(QltPvC3`^)#BZB%!H^v20PIZR;Agwy(l%}n6*s)d8xH!*=~7aN$f|4(G|8?o*U z_H9O;iKzRp&m#1lg&ZQ}Dq><*_D|4H6fx1C`e(fQ9Ki_w8TTO6w~`6p4B6#Ma!lyn zZO3=KoWO+G*kzB@(`SNRwg+o1KgI;*57B#i=q(d8N3&^z-xMZjaM*0sD+4eN#JmaC zHDF&3>I_C*EA&x7-|NUBLawEZD73Q4{E2{xe*fZ*f}MyFD)+U1`m>UW><_NqbyJzJ zuMgh+v#^i}O_?!d|EzE(ByQE}1%19T!R42FkG<8w1UtW2Qr9ZW1Z#(cR6IERUu5(0 zSoa0{zM_r?>XxIA1^V7Vj%COd%|susEiAjkXQE;2=gniEGs3u%-vTQ&MljuMzJ`$< z6ERj&J^xS^6Lvg%-oSy1Oz1YN^}qXDG9k5|2j{ElF(G_)ugqdG6EfmeohgsOXomSn ztdqw+9_mP;?t1ibL|+x;c#T}%OthiGuBF2ZndsG{zdwAmi4mTAY`=A!9uqZTMCU@` z1SXQ?&D;<-lnF06*4eydEE9G(o?m6Lj|qKNF!S1#F-&OS6UiOtL?+b0#>{SJD#irN zFUC4O?AwAmLr_-}eT>jo8#y*3*EvRbuXcIU9W5r>rO07fKgxG^``|TgDcCP-nuPsSK;M=*xup-@6hW9nFM|oVjd*e}9bq zFz?6JnYUn{4C-t^-KpqPiN05nV+(SrGs4}TR~kMAGtpz3O>4{y8R4_8il9>q7@U_LR~TXtViF4$T1SRycuEqnkM~{3MN{<`iF^eJtJ&h=<{jnU`7~} zxnP{%Cnjp$aY2D*3M26K3RGCB%S48^jx@L5&O{UlCOj&2WFjms-EBC3l8NYXV(o?6 z(HN&<{wUUsz`n(t&Wf+7n}|N0=&Onx)yP%E2qTWaNi!Y62)}l$JNiY25q@ZQ+k5N_ zBU~pjU)Z#l5%%pHwLgt8QT^vl*u6)W5g7T$i+astBGZyCFdwp+$U)|ipk>TNG>R%F z1dhTu8T0h~W$Wm!oowH5PG@%u>P|qPedt@qakPC!E?GtxngL~znT+tYx8QUsJ-#hr z(?`4NF~Vcpt=`(5W`vf@UpDCsWuo@g&#>JS$_SpQ$7|&^Faqnsqn&yBOk|VnyJ#69 z6M16){$ph-7zblMhO0Z>fqjLjGYWNkq0d3|RYDG3V z!yiTW_h5vV%dUCe>&pnEl-@Ol4y5;|Z9CnSotdckeEsA(s~Ewz0+&<2elmhxrX4zV zWsD$F_2=ci&oS0w{t(tZ!M;F7Nvd zadf@@)Ma-f&m`oXh&ty{SA;%7(HFf=Gi`T2HyO(C+Mbw;lG7Pp?>f~v%2f>SZStyh zneq(pV#(bGn^z1kYDe|*p6d+HctMB5CA$7&ODEqoabW`9ycy^db&UzQ{&<*^-BFD3 zm`_BU71pUE&wb>5iaK;1S>3bfBcAhR{F~wBTg?8lM2Q~v)aBqp%`9!bR>>a(XY z@A$j-4DS)6b7i3h!#i=*>|mWA!;5|%HRj-UhUf4rwKD-29vOV`9i%e6S&B-B|Do3t z8|nJ9`2fU~U>(J=JRZn96?N{RZaDe~Mqd&Puk6)4zi&$!-e<-9jl4K|eYe&4W_8mz z_sOTA84Ryee1dvte|j7agudKHU*GwxwSF1&c zLU(=#6R0h=rn`;$)ZTv}@YOf^erUF}-rAk=8Q2A`xxoaE*cSd;oZ<&&Fq_wpVt9R_ zt@Gzlzif=>^1i)@%f!0N$g>uCzoO2}|8!X&JoGi2`W37@xnU3!IL<5}qoaxmoU_Z} z)J|Hr^oQ!Uwg>e6Ftz!b_C+SpUi|sT1KCWVP1M=iF6w_tN3u-KLMD*u`Qfy%j|p64 ze!$V09w#=A$NVS6EyB81b9YeBJ?$m2^>&mayVU)36u|DdQ|M0K;t=; zM&XplNA9lSj8RNrjH%e{r<>{LidRGXx2Dr*UVNv49+&u~SA4HzF@X`hhST25m_UKz z3i!AWV*%!U5O)mg=y7FvQjwSX{G+2mUmvU6gg#u**Ej>o|My=wU|6iSL1XqZSYhY7 zDj}=#Ulc6r5s0VUsQEjdzv+SLoP`_yj%T0V-hSNw>fiAUryVsPtIYn6Rl+tbsQmn2 z|1O24;p5`%{(cVwV|8LLYxghviy!dGWq0$bE&q;7#izP{-qxG<@0f7&tN)I<`t-kJ zj-UBEX7xM%>l4lS>-Tq_^MB*-n0tMKzhmz8Kl?l8*2(ejm|L$FST#joY)OJLI8FR@ z?N>7Wz59;bw&XqE!1SlK_vZO`Vez*?uas$jrbT5fjoZ5-VBV$E+pBEKK`Xrbj;9Un zx6BXiwEXe}#%gRH9c3kZ`P*b;{S}HSgd2+!ZoYzW_^X7g&mbJ1J>mGn2&dOXSp8fn z!ueW2IA6`MuGHUEyQc))?W0e$|E7JmreA(E^Xg5o8QbMk6!!?s_su$LK!2xY68xsD zhaU@!+6_t1sus|BX*i(zb2ezrzkAAmxdKe?YxSr;bxF6c-ZXAtL=54^R|z*ihH!Wx z;p(di#}`aE{tCkBJtds}W5W5O&+W3lW`kSst&uyOBEZ}3+4rXNt*|ao?|gpsKCmBH zb=qZ(4XhaUcJRg8&tUQ0y2rpg6ihz6P#^qw8W+6CTcy<);?>Ao@ z)|bl_PFna5T*G5sw_C)(+Fi<0>2;-Gw?BSslGSOjIWT&eUXnAIZ|SiLN~!{*s{^J5 z?p_1BvLyGlp$@256i;c+x}m3I^<6c%qLi@Xo#O~MZ$dcyYQoi*5RT74(=#2XnLKdt+wZMyJOEbYUO!#AxCzV;ToDA`6~N+4f#b7Zq`~Zj zZmFIQJ-ubSB_ewM*+95)0paFP5)QwWaP_YV$2Wp-{7HnWroLS!!6)aBO#c(x(OU(M=1REwgubKwlBZk z{tQ+swF-_!7rbNJ4(CCSk{${0TQ-N;rHCVe9VOV^?`7{+JWc(^wL91ce)>Sj8EQjDe#*hk*7G~76J; z&Rs19;Iw*o>WPAJVDH@8ceCaLSU=mo(CYekFb%hxtQyu1^B2F`mutRV&+dNvF1gf5 z!j3KM2|Ld>AT0jIIKtM~4kH|&4&nGKXx{>==RTZ1-~LDcHsO4Q5zdzq1ey#ToUN$` z!CCXS_c%;}4UgnT7ECh+pCu7*eeCMN{nxars5jBz-22UGM9o`Row(8D(LXt`BEDbp ztp541;NCf|6hfSSYA^cW1p!_+ekIz7fp7J-u!gre;JG&b!arxm zf$OY6;z=zw;20-wYEf(ft0a{LIWo^+*?IfSDWBJYZo>Etyw@FiF1{O|?;O5_u;VwK zgqv?7EM8WgaP?`lZ^j?K5W?{r5KiwZ;q=uB=c}G@zBWS8l{aV4+8l?_anC+P6g&Z* zm-5{Nk161%bVK7@$8~!AhLzl?~>0q-kGCZ4JyaJSlb zr~X|AI7?_<+E9HF?5;I_eh{<{mIt&m6Y{fwm_E#oS-Dit^YPvHX$6}IJ6@Gd*!d&c zgu|aETs`fl&GON{#Vmgn;q>khPJce(d_5tYuQmt~_ly1P84F>n*ZqhZ*9d|8H6Is; zz5xH|x81M4c!ST~xUCL5RKR0#tn8h~=fL@Hk8}%J5H<21KC+B3sO`*YB?#Co&U>f%4Sefbs&)7o;5k*{eckZ{aM|kV+rH}x zte$ZoVNO#lSUdL2o1fbQ%yO}9+505*yp_}@nBDw1JBIOYf8yX+J|?2 z-P`9Uz_V9FL3wFAxSEOQEto>zr_A2mFf6_VHk0Z$Kil34i$|BdDm9DN^SW7W>la)} z*zpo4!p`q-CoKNFKH=(<2+OxjgZA0|!~cPBde(%~?<1_QlcNadD+)sQJ-4?${1^oN z+s}KI#6j>}RY%(tGvHkd7$>(=0DecsCr&#b1YWmSjbAi55L|z(+WlbTDR8vw`)A$l z0yo7>2vO^ z-fqI_`xDkzz8K+r9fz=~ic8Io)__11STb*L3k0A4P&@q9LH~1+!ev-@pP;bZ|t@w>^Rb# zu=C#+(LOa4KQNte_2&r3*GpJ_bxp$QeJ7m05#fAw64uv{ArN-_<(KrXwX|Q~YLoA4 zc0q`)T)FqP2ndA7q8n#Nfq&ST>k8F5;N$FhYg)TMxSND#?mbZo>m03K8@e5Xm2(I0 z9V+GzMl**VxppH;FKA}V@GVYD2s^IcPuO|!frQ1oI}o;>?yJG^RS}N=6XEn05>EdJ z;d~_%&et{I&l9f+KQ0Txy`v+G1WFKct#HfA8TAlk*jYJ!A?;`GekV6bHV1q)zQ2+Q zdI0Y4J9|@7lfY@^&r!eKFTu*kYlWHh2f^sxBeNH#CVIh*r-y{(8xVGE7Dm|lfAk59 z_Xr?d{RhJG1=D^SEdOW1>765-{x8D$G9;WY^MC&i`8R@5;h~k5Hzw2bF4i+PT=j3> z(8_W9D!Kpm^I5EA9GDmNz<@#|E#5yuR$8 z`QP}~lyCR<{N1ky3@-XhXv}Q>Z@%dJz)R;t{u{INt^bYL`r`k_EdSrW*TAs)|4xh1 z`xEt-BK>ayIREy4$L#Bi9{YF9z5d$2V{V;H|Bku!G6UQD^EPJF>)U10rlD3QhhfEi z{ydM2Zm>CTsdrr13O3TTH+j~4us%F|QhW;Suk3hr)^!yruvR~+lXLhOSPwQG@^P02 zSp68Tk~cFPtlFQV`Msj@4sC*l|q9+K)t~h@d@x54I&hgC~gZw8@&z92n58i`xayF{j!iIA%WyE*UKE`ry912~P!7cwobXNL8aJ_H!>wDY|aJ5(;x88F% zxP106oT$4FT+VbJv>D+KF3DXrL7T>aOTg>nGml&Z7jNlg<41Wy^eNG;^{{wbULx&lzr4ywbE+Y%ANXd@TLJAy+?4a(vg<7P z*3=tTE5G_X=H_X?eipwJ>kE+Y7xL3S#H`*o)IZGm(jCnC+A$hJUZ0n2%R32t*?-pC zDsG10#Ut}lb`OW3N%YCkiJu_Q*5CS~oh9&YU(A&2HxGC|4|*P)a0lMhRajmAA8IM!YdmPEMLJ>bJqg?t1gv`aYn%3?>VC){2TE3+rr#VHUr;xe*d)4&g7Mld&V;`85 zwVj7>i2>(tIc&!9Ih?2K!{QfW{TJkONB+~O=ZX5%59_N9eO-pwkg?;e)adW<)eR#1 z?N|XZmCs|o1RaK$DI;4J)xU#iUCTpiFU~@gd)TW-8T%o!tV?MMeeN=H@uM|E?+<~9 zPZ3$I@4i7q*{TMofj=SQ%U0XrdvOv;wo zb&mFdy|hhZJbk|Oz}5R|WIydsJL7HU_^S}T=DCH$kJ&iBjPp5&*T?!Y6zT_|uZQUCBqZqkQdD|46%rnAOsV?q2=QAhq~m1G>GK0aFWGFM&r|r@uTXtK zpKIz}uC#0(eU9!xPPkfq4}G3)MdyYJF^JV1u)X7E2gHstxfXRR2Vw^+hdg+B8^=3v z{v+ZCaP|Mt$nu>-{u`*b8TH-J7eQYFNZhkv_Ju%mNSb%;;2=FcNa#6QKD*!rBsiZt zX6b1J@r~>9vcfh&yxVf&Li2WrA0%t?JBmJU0m0+P75dZXVoYAk^*)2Rz_k}#E^epK z@if#LM{47kK2O5V)8~3vd@$BO;`l5EBL800vq$}2^yPuR>>*ifP5WoJ`H;M$Bf4;s zJtVpAX}@fH0}^jp&vM?p4H6Bm*W|Y?fP~vl!ibsfkl?q*IDD@wBux48;zl=pj`_3W zq}Chx5PwfJdG`SNdTti4v2awvu?Xk$5MPG%>ya-4`In(yKI*rjFB|j~1SuXF!#3G3~&% z>7HXD(N3aD2BaZTXS3|WLXd4ZB!T>bk1F)_?AMwYxxEjPcKlE%d@zU`@96j6JmR@}TjX;={tndB zZmPP#9;|Xbdb}xyjyaj2JJpDN35J-)gVe4OP0;z*L zTdlvpfs}$DlcyRJNLixA`h%d(a zCCJx<{0^v>hWani*K+g~1ESqp`_3s>K!)0`mpw=QK{QAA;B z=bs_|7uG*Vz82)qN4CQuwBqV+i1L-l=_gn&rj-5&I z@t);mPX8~{lddX~Stc)oHlzg;%_ca#K>QKW@R~Gn%k&jQ{rOVs>4nNfU9G3zy~m0e z#kl;bFNkyD>conWXDjkPK%Gd`P2zk=DxxnfB3P+ac3UxsxX1kt$dpte_9@#}J~+9V z*c_?&8uCvhv0U#jO!k~YmQMF{Hg?M*rnWk5-wZT}G5^IDabI_0WMiJIf7Fr~Ubp-3 z{LOZZv6!EUxaC|OIfgvfk@p_z>_gp4=)(ei?IVJ>FFuqEB7}Fvr_bCohPZcbIB{~y zV&W87Gt;MT1##Hl@q46?ELru-a=c*cRkC7N+!DdX!Nf-5aYyUpC&YTxrcK2|M-r>t zXNj+79>lnd%MYRZi?O)#TwO^k@_ayEf7IE8y58s`4}I~7;P_V_(`-UQB<}>Z&tFaa zu8hxjpC?B=9t|IB^JE%vd2`u#=Ob&fuGX_w=weIO#HhX{y>y?wl|7xod1}PIABk7Z z9YyS1mgML!rTek5v7XEC`N-i8eZe|D@}wiL0Cmhz*9?86psy$*&@FT3y;wv-F9$r; zyL^@eF3|jxbNvEYZ+pi2^d8!0?u^bqCHpdoTYkmvJM)}~%bskQWcrCX8-6R^n^!{C zJu^3bo=^8(8-GpgQP56|@t9wWxV>2S9C;#UQPT_derT=gJ3Mz`0or@H&@Dy_zmA` zZ9Q=x@wG@<6zfg<9?yO=BI|S?@jiCLVQsrS#&MW$L7YF<9YUV<$XkaxCsEf8ef;En z9UD*hS~rar_|pHoy74TAeeEV;%4cn7*_|RGOw#AtQ9ntL#&Cc%-be!tz*M}h_y zF`*V439s#YzVA{s!jr7{uDkLT@$d2U*z&-I_y>*HcDbhsV*}=CUs4u#AM0iyPdvw) zI}vpbqb@y;tdA$?>oMW0OslZy_lO?v+_=X_G)UODEyXJ~O(mhXew5!ow4H3#Jo!e3|}nWB7+gxS>xH{M%MLiLJ$ zBp=3-5S1BUdn+1Au#UnKqYQTv6vxjraiYg*aQTtlcF##*O@m2e;9!hmm~Z@xh`f_fryO+~(Z^HtHIVRqrrfjGP0z~;GtXLQGde%y+t>PZ!q?Wy++}{9ge4oc z-hY=vLTkO2EPIkmLRB34Jq_DKLiXGE@+vh*h>>VS*_mb%GEO_}RQ?K#OELcdar3e6 zF!BKMo)mC--|R3gwki?c-g{`7y9(iVZE6@OyiEksxxZx^j}!i@ON#mGdW642 z*b@A+gYakR@q33S)8o--x_QcQ5+>y37k}>}VT&Y}O+WRRgvl3u2py@8(TvL%()T46 z*Nb)ik%!)QS>7M0V~V;*(Z_4_HJk7shz*IXG$VrX?bTkE`nXzB*t`#C#{> zCSzRz@|^wEnPPRSc?c1xEuY?}wTcJ^W!ipblnMXqQeN`5YK$*1 zzXEZASQmjjTadRMb@rn!{anTRa6w;GZ*=4BGxhZI%La=q)%I;9Tr?$Iej;IUBi|CP?l|FiQVGYqmT)@r38!04I3KicJL`*n z&+z!=nzYKB5GW=cZ`Kk90sTzxuK#EXKJwc$3$?C+yV~&w*N5x@r!=W619sNXedE7{ zFK(R$R#6SZbCAzzp#<-h~AvfmAJ%De~{cM~q}NjRJo-4Fgx-3G$)(4ReUyd{Lw zp?%|7T@%9jh$5V?X0WZYl%LXQ4nFJb@5p-H2H!^s^B=q`123ahhwTpefZNb8g|**l zpJ??%=eE**gSPeK^GjJFN(pPbVx+Bt^J7`g^oLJaScp<^4kU+h%n>5?0svJ>h)pBb={Hn0si; z>#NtVbH>xvu=+@fi(!#BI37rMw4UV+t23^QzZ~fgwwq<{Wlz)r>zem>yFImG zN#?%tr%EG1zhpy);rs+pju}jvnVfJaS_Q$Ge?yIv#}8 zJ^Pt(KFkT{D;uUYyj^3~dm89BtA!D?Z~Kb!?a5D@{J^&8rNf{>AHY`T`SNypey(uy zINH+v43;mR^=`427MOsues=hM(A`wqe|75-PzqZ3)~X{UVe@U52#edOOt`v5 zgyrdaNI2fjgw>It`&zTQ6A0_$MLpqs(Y~4w`*nY++Ye;c}VEUtdN4LY+PNUt1D`(GQ&duWE6 z6E@O)FxdRaAj08Z5v(ID5B+}t$4mFE`lI7Bk#M?m2bG+}kRhST3q{?XMV ztPc+}eb$#!G!ff;_mftFILOuHocfez0P}*k4eO_*08F^n4%2QwFiN~zvQ%>b7zOhm z#iext)AQ<%wUaC8mMrMr&s>FB?i)VtsIdf@lNvR7zfO=p@$f)T!shF?5Ef^UL)f}? zKM2c{Dj*zhDB*OP39G9pAgqrB17Ll{#E?;{-{;x$4fH$4^7Mx~^ug4Lb&9*(T48SG zlF9{*I-qxY?wu3r(V(AsdaKl0KIlm+#yCjG!aO~hLG`8|K*RaivzOmSz-U2ajx+6( z%f_@E!sfeT35zo+C2ZZmYQpk3d>}0EbROY!QV6T-+Fs83u&4c(|M&`tA>-BFjMrEn zL*%kj&ZadQlz&%wGRWew7^sY$4%Qv?{F))i9 zpFVTh98ihKQ+jzS8-}Z^UQIgfP1tzr5@GXaW)K#)bPQqZ1}q~iPh|mNc@K>soX%u@ zRu{y8_3^|2SYMuEME>fiWYy{lqN134=HuBmGS2T=c%g?hOiBP$N9?z9--e9*qxe|%l(BMRg0oEvCTL8gaY7}3$uN|gJ& zB5TGv6X~QbxumFAkStdg4Y(2mlbvg1eg;Lulp{-Djy%=@N=xjewt7~>_+Xh`_KJbf zPvz2V*{@>cPaHq$IAQZD(+G=m?ILVlfj41!)}1CS?~52|Ouu)<>usuj;xJe@)z5gj0m#g= zjZKw_0a*{-Nx_)_BVYeEnt!OHyk~sLg#rECeCKh{N9Tv`WV>&EmEmS;?5 zIm@dq2AobTu(}FP!1~ZX0IaW9&Sa90g?Q823Zgk8c|J0V; z*+xe1yTY9BZqu&{F*S&`5`#g8YS!n^M1yp0mvn!%$sn;Q@3y?UbNT1Ou_F>^wCS_a z>IY%-x|xKgz0qt_wJ`??ia9oi?I)pgzvtdF++!1`KQK_*C4+r8Up zK&EfH%v6di5RG3y*S;TXKvWjaS9SGvA>)HuKRtQ@M0^C}(dZ*q{xa)b=cEsP<-dL= z4sm&3QT}s%bN#J)nvb6_QZiOtpN;v!`hW7b#SHXW+{ajbw$85)Se~u){Qtw-K(E6; zIv(}F>dJ@#>!Y6wu)gR%QloP!XZr?-5tXF6+55i7kZB>0%~Q8IlPQrOrrG_9A+nc- zJL$C$B9Xl4R?FD}Oa>+3w+W(R3%O57(TU#Pr$tPo@5! z{0J#AeHIr@{r{col%vaj5`SSJD7j zA59GW@ul}G2DUER_Rc45E2Q-GefHc?2FW}R!&0$BkmNJ-M6pUpBz)0b6char5?-u*Gh+D{j9)R|jJOe42gq{-dD~ED zG3wHO(5#OS=&J~}&^UG>6G}(eK%+9{y9-uo9At z+7@WV&WFU0>#ygZdj^STXAa3UjfX^0M@;CYPDl*@;2IELg7E_8dk~lWw~phnK;9Tm z$6FnB>Gwyh4^z(9lp&BgTgEBf;3H%lOw`g;`UYvsRh&{T+=Z0fu}9?8wIKO~d*aLK zGa*@O&gXI6^n1d6J%fc-`jBLM@V%tcB1oF{WMqe8e@Gg2-HFt?V06Mf{oatp8DO0W z@@z(4E7Y;$bW6lIA5&&>zL;UKY1cR7$Ae`dqxIY9^4#~3?iwe5uJ=pPKNpg^mo#?EMM2V)g0+R}g^+ag{?3k5cQDpr{_I~I zS4Znvo-*X^K%KRy+r#T;z=A+>kQ5u=1oNS*F+w`GAAr0fX&nKy^7tETkB@XyMS{BeL`x$%2QuGzUs>oEPk zmyH&fe~GwhSZ9trrW|kLDAcJ%-RJ0|6@Aq~dfT4u1M1~L)UB9Q@H-ns37K(OmF&_y(yeHU~Ews5S4iQXcZpyILW=F}1!EU> z{ukLi?HkYHT(IsG$FoopdH12tTTZv?Ums2A%M#L~@-0WL+6bZ}`%fFI&~;93xN>>R zM@X-&T$L=i4QX9jx{isZkftZEHP|Q|QVTLBd70AhfAwc*YrLZC*NR>K-%P2dwibGg4DK<#++UOq*nC3 zNKL1|D`2B6=BY0hM}POg*71>N4D!07&K%U;fj)H6*H1{7?|S^Cg1Yp50)244==!SgCYx-GhxG1eqK5-VfXM8d z?yj0l5Y1|SJZ%X;`qOn~H3>P89=S=({j5EtPabw`V$NwuyZcf)q-r&!?LC(@)@nPX zCAd3Oh`q%42=md1Gsn8)$YX)LX{d7nbwfBG1HPayA4u1gI;?l&I;4LxcAu*32_ik; zt#6m-foPt5>#!r0kp2^5+c zhsUmLp1utuT}L)Q9dWi?-BNm7S)Mn@I}CO1qV7TTu^N5R<7RK87pM9e(%*Y0o>dE` z$NzhLtVsrlbT-|L_(*@}F}%H0wdx+E-!1s~yq)T86YiU$PVWnAyZD2S(Bq|}eXnd- zIHW5-p69%ME=G!D^TCK)gmo3jvjlk`{inm~rlF58&et?CNZ+{VgukaTq_+#RiVlQ< zXyzr8vb8lJTKI62ny(Fr6c%qQ*s>ndzkKvKe3aggsuZo>DAVJ;vo>jo-FZkCMigYM zpgw)>ex6DG!FV6@vk-R?>*)HhJXD9}6`>BjK3Lsq^bv@@7DM_0NvUSD`Hz$2CnBRuDy;!#ic`T5ZUcao)ZPca5@sAIEW%R{B`t`2?C50yR_c3Fx zoV{UAkFT}g@Qd`iGK`7&XnYSui-x(q-Y|+@XJ={_>@Wb)$l9h>E$ZWEvew9#2O$03 zz4sRe>eKVR+xK1xJzv;J*MZHiL|iJ?(esVv(d2mjdQs;o>eizV2lTay^2oGH%$NnD zv0Idn4X&o^ZPL7XVI7E;osN7rpB`t6#aW^+Ngy%`S{mQ+o1V`HmnzPq$7PzQww&*2 z5Xn#OU$Fcah{pYx-g2rCV+EJDqCQyMd90)7Gt1MCyaA}wgu3)PVSUi|2iBJ!h$Ljh zbT`oZj&jRrxl1$}W|Wd4ZuEXMsF^;-03w$>yP|XS{BUV@GlA_Oa_oOnq5mZit+*ZX zTa3OgbMLOSNiFpLpmgNujj*)HhJk%%4D~CFzs7rCIkI(3fuB+^= z$ZbV!^nBP`C4P;*Pg}abmc2*sGwX*2ysdc#qDW(xm0usz_wPfEapv^AjDPykaSXkm zM?D>SVf9K72~B>Cxa$j|&}-$ICiHq_<8{nCB5oPh)gsRmGoAN0Ip zeck@|IgtOw|E<9PR^Wdt@V^!K-wOP11^%}J|676ot-$|Q;D0Od|9b_PSc^~f5wGl- zuyYAt&ad)ig1?1@hn|;ag7j8-H8p!Mfm1@OuATkF@SJ$(Gp5o$sV8JROEaSw|BeBU zarr#PKV0L!@SqsG890Ou)}UQKpTwKV`{}{$mdWVD!VhJK}C)-2~(ri@bfP(~Y{#oDYKmoG-^Q zOr+IEOQ-ZlO!()f)>Y&s!`M40u?EF^;c_{&;~m}?iWWU#4yut@xTF0u!iN4 z36}ayke6rXd%crPVB682{MTJfph&i6;1=57&&}}nSU=h~kc}Cbr~L$3+z+fPK^{Zo zRYV;j>PDiEjp&OW*R-gkOIOWi!jC?wSa;+MBe=3~)#T0qCamm6{DsSBn9vz*S2ixE zKBdCW@_W*l;6?WN_8wVG&?ytmNuGz9pp{Bb@2VFvLDLdv-zvF?@dD;gBJLp85I=4~x5c&|Jugi?kq>xp+BdiB+KdEACEqsps$;Z;OpeD>gX4Y@Xni6gIZD;q0^RYN^5};tUj}3X~!;x zulLMg&5=D!7*jg3Gm+1PZj2nik5|Zqythlrc>9hC$@ndE@0Je};ymxW*JV45D=_bd zxYt;B0eLne?*-JUMBO*&qnPs*Gn^4rrnN@bZDWLcGMwB@PcuSak&RaMH%4%{A?%7{ z2*WRaU(xf~gb8cd6PLSt7!xMHL!9VtWkR=~Y8Z8C4->lZdA!YJTPAeamZp_64KOao zycOa^f9p7&k;uCab#`*PH^-rmdh~UQ5gZLxtFL*>2*amMsZvd3gaO|ThOhX}2wLUu zPCGM!5sd$pV=`Nr;oGJTyFJ;P2|GQuf9j)&OxP@kS$Vg2F`-Y!Z7e$0$b=Tn_3wWF zZ@iBAQpD}Rx|zrmguDw;hj6+pCD6x7&R4B8Bgor)f9o_kM(D1ZaDUNqMi`u{>itZd z5e{uVkv?G(BiJCLpOK`?@ULfjoU2b|_}ckz6TO0%u*yY;&hz#&VIc}`8T9yuStLfQ z)Bf&UjKMs8JuGeq)~!dLt;lPSI@37ar{B?sCHj(O1g8|$8bz-eq5Xvkw``IbA^&W6 zj?*bds5Lx(pIIs+ID1=kNc90Dm^O6828aC&|7dLCtzlgZ-{{_RWoJ!>FE)I_)tc8# z*b|orOU`b_n1uNT#7+5I$MNh&-g?yeS2qWJ1fZ`5Mo_h(dh{RzMrb=EbBf$kMi{vv zE39b-BedMtq35Q-2tLhET#+Hk2qL}CO^x5e2uAB&`R!%J@XI8#&6m)1jdim;qeK0; z$?BHLQQvHQj(Hy9=zX89^Fp4p$U7Ew=ArI%^zjgVQT-OLo4z(YMz}i4_s#Fsj4*NI zJ+n3R`1;gs+X1T>q0-2!N>l9^!OhVj!;Q8xf}q0U>tgPVV7lT>$y;w2epk<=T93~R zztt)-z$^u0Eau-Kj$UtUT_p0*>yYJjMICxx{n1_h3w=1FuP{c?=aaknNjp962YX+5 zu3&_jWb7#edcTQxuNQwF!3eFc-3{<@XN1yWf*s2XD1VDV)!{FUAoFma@FN|2eUnyq z?O_BqU+V(i&cLXR`Co`Tfpwk8a|?N+P{##zThNCC`uad$M_;xmN|K(R^A0Aw8Ndj0 z--k^KH=@^hlUIf;Js%>nc~gTQGeYye4iC_x_xVrR;-B9$f_9VeeuwCK)a7VrhkalK zFv4eaej&yxF3%tJ7su7n_X(C~F7kGvP66s#pbusAHIm+^i*|_OM$`4}zjV+RSVT45=@+-xI8R6bvgFv3k561qp| zeKX<3t&1x+V?2oYbBOE3I(nY7Jaqk7ULDl&MqPS*SReFyWqr~6cHH*$r4Q)qJLZ{q z$6zWWd{9-~o=eYzPN&{M_IsIdiJwI+A*M|D;Plg{hkG#LV%G*v%v{e1zit`xNMy|j zU%NHTwm!)S+YHK%t$T=(-tXD`Bg7?RT?F#1MBX{5lZ(1<(1#}a3S)$uvvZU5>3yCPRN^$I&^(l-EZi_7JZrhA9)I+`v3p{ diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4.i b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4.i deleted file mode 100644 index 8fe88ffa..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4_out.e b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4_out.e deleted file mode 100644 index dede9443bea0fa5cdfd39d07bd04d11920f3de6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105840 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≥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 diff --git a/dependencies/mooseherder/tests/sweepreader_test.py b/dependencies/mooseherder/tests/sweepreader_test.py deleted file mode 100644 index bcabf69c..00000000 --- a/dependencies/mooseherder/tests/sweepreader_test.py +++ /dev/null @@ -1,34 +0,0 @@ -''' -============================================================================== -TEST: SweepReader - -Authors: Lloyd Fletcher -============================================================================== -''' -import pytest -from mooseherder.sweepreader import SweepReader -from mooseherder.directorymanager import DirectoryManager -import tests.herdchecker as hc - - -@pytest.fixture -def dir_manager() -> DirectoryManager: - this_manager = DirectoryManager(hc.NUM_DIRS) - this_manager.set_base_dir(hc.OUTPUT_PATH) - return this_manager - - -@pytest.fixture -def sweep_reader(dir_manager) -> SweepReader: - return SweepReader(dir_manager,hc.NUM_PARA) - - -def test_init_sweep_reader(sweep_reader: SweepReader) -> None: - assert sweep_reader is not None - assert sweep_reader._dir_manager is not None - assert sweep_reader._n_para_read == hc.NUM_PARA - assert len(sweep_reader._output_files) == 0 - - -def test_read_output_key(sweep_reader: SweepReader) -> None: - pass diff --git a/docs/requirements.txt b/docs/requirements.txt deleted file mode 100644 index b7bf23a2..00000000 --- a/docs/requirements.txt +++ /dev/null @@ -1,9 +0,0 @@ -numpy -mooseherder -pyvale -scikit-learn -tkinter -math -pathlib -joblib -shutil \ No newline at end of file diff --git a/examples/ex1_2d_full_control.py b/examples/ex1_2d_full_control.py index ab1a903c..06aa3b17 100644 --- a/examples/ex1_2d_full_control.py +++ b/examples/ex1_2d_full_control.py @@ -1,52 +1,74 @@ -from pathlib import Path -import math +""" +Example file showing how to use Icarus and detailing customisable options. + +This example runs an input file to produce a 2D temperature field with +different parameters perturbed. Any results from the default input file +are considered valid, while any other results are invalid. The datasets +generated are split into training and validation datasets and labelled, +and then a machine learning model is trained using the training dataset +to distinguish between valid and invalid datasets (and classify the +invalid sets depending on which parameter has been altered, if desired). +The model is then validated using the validation datasets to see if it +correctly predicted the labels. + +(c) Copyright UKAEA 2025. +""" + import sklearn -import inspect -import sys -import joblib -import numpy as np from icarus import (DatasetGenerator, - ModelBuilder, - MooseSetup, - UserInterface) + ModelBuilder) + def main(): - """main: runs all of the other functions. + """Run all of the other functions. """ # Required parameters - change to desired values + # Input and output paths input_file_path = "scripts/moose/plate_2d_thermal.i" - output_file_path = "examples/example_outputs/ex1_outputs/" - # Perturbation parameters, leave blank (ie parameters = {}) to use auto-generated - # tkinter interface + output_file_path = "examples/example_outputs/ex1_outputs/" + + # Perturbation parameters, leave blank (ie parameters = {}) to use + # auto-generated tkinter interface # Format as {param_name, [param_class, [param_values]]} # where param_name is the name of the parameter from the input file # param_class is the classification of the parameter - # geom - geometry, bc - boundary condtion, mat_prop - material property + # geom - geometry, bc - boundary condtion, mat_prop - material property # and param_values is a list of values the parameter should take on parameters = { "max_temp": ["bc", [750, 1000, 1250, 1500, 1750]], "thermal_conductivity": ["mat_prop", [55, 65, 76, 85, 95]] } - # Number of validation values to use for each parameter, respectively + + # Number of validation values to use for each parameter, respectively. + # This defines how many different perturbed values each parameter will + # take to create validation datasets to assess the quality of the model. num_validation_values = [3, 3] + # Parallelisation options - n_tasks, n_threads = 1, 2 - num_para_runs = 2 - # Ratio of invalid:valid datasets in training data - ground_truths_per_dataset = 3 + n_tasks, n_threads = 1, 2 # Parallelisation of each simulation + num_para_runs = 2 # Number of concurrent simulations + + # Ratio of invalid:valid datasets + # This defines how many datasets will be generated from the default + # input file (no perturbations -> labelled 0 for valid dataset), + # as the right ratio is important to ensure the model can recognise + # a valid dataset without assuming all datasets are valid. + datasets_per_ground_truth = 3 # Modelling parameters - change to desired values: + # Classifier framework # For a comprehensive list of available classifiers, please refer # to the relevant documentation: # https://scikit-learn.org/stable/supervised_learning.html classifier_framework = sklearn.ensemble.RandomForestClassifier + # Classifier parameters - # Note that not all parameters are required for every classifier. - # Any irrelevant or unsupported parameters for the selected model - # will be automatically ignored during model creation. - # For a comprehensive list of available parameters for each classifier, + # Note that not all parameters are required for every classifier. + # Any irrelevant or unsupported parameters for the selected model + # will be automatically ignored during model creation. + # For a comprehensive list of available parameters for each classifier, # please refer to the relevant documentation: # https://scikit-learn.org/stable/modules/classes.html#classifier classifier_params = { @@ -56,128 +78,67 @@ def main(): "C": 0.025, "max_depth": 5 } - # Filter parameters according to chosen classifier - sig = inspect.signature(classifier_framework.__init__) - valid_params = set(sig.parameters.keys()) - {"self"} - filtered_params = {k: v for k, v in classifier_params.items() if k in valid_params} - # Make sure there are some filtered parameters to be used - if len(filtered_params) == 0: - print(f"Invalid parameters for {classifier_framework}: {classifier_params}") - sys.exit() - # Print ignored parameters - ignored = set(classifier_params) - set(filtered_params) - print(f"Ignored parameters for {classifier_framework}: {ignored}") - # The field being analysed as used by your input script + + # The field being analysed as used by your input script field_key = "temperature" - # Analysis sensor type - # (thermocouples for temperature, disp_sensors for displacement, or strain_gauges for strain) + + # Analysis sensor type + # (thermocouples for temperature, disp_sensors for displacement, + # or strain_gauges for strain) sensor_type = "thermocouples" + # Sensor arrangement (x_sensors, y_sensors, z_sensors) - sensors = (3,2,1) - # Number of spatial dimensions being used + # Defines how many sensors are present in each dimension, + # with sensors being uniformly distributed. + # e.g. (3,2,1) would result in a 2D arrangement as follows: + # _______________ + # | | + # | x x x | + # | x x x | + # |_______________| + sensors = (3, 2, 1) + + # Number of spatial dimensions being used dims = 2 - # Whether the sensors should include basic errors or not + + # Whether the sensors should include errors or give exact values. + # Including errors means the model is more likely to miscategorise, + # but a successful model will be much better in reality, where errors + # are unavoidable. errors = False - # Whether the model should be a multi-classifier rather than binary, so it can - # distinguish between perturbations to different classes of invalid parameters - # (geometry, BCs, material properties) rather than just valid and invalid results - multi = True - # Whether the unlabelled data should be deleted + + # Whether the model should be a multi-classifier rather than binary, + # so it can distinguish between perturbations to different classes of + # invalid parameters (geometry, BCs, material properties) rather than + # just valid and invalid results + multi = True + + # Whether the unlabelled data should be deleted delete_datasets = False - # Whether the model should be saved as a .pkl file and what it should be called + + # Whether the model should be saved as a .pkl file + # and what it should be called save = False model_name = "ex1_2d_model" - # Setup MOOSE aspects of Icarus - moose_setup = MooseSetup(input_file_path, n_tasks=n_tasks, n_threads=n_threads) - moose_runner, moose_modifier = moose_setup.setup_moose_runner() - - # Accesses the available parameters - found_vars = moose_modifier.get_vars() - if len(parameters) == 0: - # If none have been manually specified, allow user to select which parameters are perturbed, - # what values they should take, and how many validation values to use for each - num_validation_values, parameters = UserInterface().accept_parameters(found_vars) - else: - # Ensure parameters dictionary and num_validation_values list are valid - if len(num_validation_values) != len(parameters) or 0 in num_validation_values: - print("Invalidation number of validation values specified") - sys.exit() - for param_name, param_data in parameters.items(): - if param_name not in found_vars.keys(): - print(f"Parameter {param_name} not found in input file. Exiting.") - sys.exit() - if param_data[0].lower() not in ["geom", "bc", "mat_prop"]: - print(f"Invalid parameter class. Exiting.") - sys.exit() - if len(param_data[1]) < 1: - print("Insufficient parameter values. Exiting.") - sys.exit() - - # Initialise dataset generator and generate perturbed, validation and ground truths datasets - dataset_generator = DatasetGenerator(moose_runner, moose_modifier, parameters, output_file_path, num_para_runs) - - # Sets up the paths to where the outputted unlabelled datasets will be saved - perturbed_path, perturbed_vals = Path(str(output_file_path+"perturbed_datasets/")), None - validation_path, validation_vals = Path(str(output_file_path+"validation_datasets/")), None - - paths = {perturbed_path: perturbed_vals, validation_path: validation_vals} - - # Generates the unlabelled datasets - for name, param_class, values, n_valid in zip(dataset_generator.param_names, dataset_generator.param_classes, \ - dataset_generator.param_values, num_validation_values): - # Generates valid validation values for each parameter - validation_values = dataset_generator.generate_validation_values(values, n_valid) - - paths[perturbed_path] = values - paths[validation_path] = validation_values - - # Generates perturbed and validation datasets based on chosen values - for path, vals in paths.items(): - dataset_generator.generate_dataset(path, name, param_class, vals) - - # Generates the ground truth datasets based on the ratio of perturbed:ground truth specified - for path in paths.keys(): - num_datasets = sum(1 for d in path.iterdir() if d.is_dir()) - num_ground_truths = math.ceil(num_datasets/ground_truths_per_dataset) - dataset_generator.generate_ground_truths(path, num_ground_truths) - - # Sets up, runs, and (optionally) saves the chosen model: - model = ModelBuilder(output_file_path, field_key, sensor_type, sensors, dims, errors, multi, delete_datasets) - - # Generates labelled training and validation datasets and saves them - header = ",".join([f"Sensor {i} reading" for i in range(1, sensors[0]*sensors[1]*sensors[2]+1)] + ["Label"]) - training_dataset = model.generate_labelled_dataset(perturbed_path) - validation_dataset = model.generate_labelled_dataset(validation_path) - - # Deletes unlabelled datasets if specified - if delete_datasets: - model.delete_data(perturbed_path, validation_path) - - # Splits data according to modelling requirements - X_train, y_train, X_val, y_val = training_dataset[:, :-1], training_dataset[:, -1], validation_dataset[:, :-1], validation_dataset[:, -1] - - # Builds the specified model and predicts the labels of the validation datasets - classifier = classifier_framework(**filtered_params) - classifier.fit(X_train, y_train) - y_pred = classifier.predict(X_val) - - # Outputs model metrics - model.output_model_metrics(y_val, y_pred) - - # Saves model if specified - if save: - joblib.dump(classifier, str(output_file_path)+model_name+'_model.pkl') - np.savetxt(perturbed_path/"labelled_dataset.txt", training_dataset, fmt="%d", delimiter=",", header=header, comments='') - np.savetxt(validation_path/"labelled_dataset.txt", validation_dataset, fmt="%d", delimiter=",", header=header, comments='') - + # Initialise dataset generator to generate unlabelled datasets + dataset_generator = DatasetGenerator(input_file_path, + n_tasks, n_threads, + parameters, num_validation_values, + datasets_per_ground_truth, + output_file_path, + num_para_runs) + + # Generate the unlabelled perturbed, validation and ground truths datasets + dataset_generator.generate_datasets() + + # Initialise model builder to set up, run, and (optionally) + # save the chosen model + model = ModelBuilder(output_file_path, field_key, sensor_type, sensors, + dims, errors, multi, delete_datasets, save) + + # Set up, run, and (optionally) save the chosen model + model.build_model(classifier_framework, classifier_params, model_name) + if __name__ == "__main__": main() - -# Next steps: - # Continue building test suite - # Improve classifiers - # Stretch goals: - # More complex input files, e.g. 3D monoblock - # Accepting multiple simultaneous perturbations - generate datasets class - # Allowing user to define sensor positions - labelled dataset function \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index fb8011aa..3a940775 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,6 +8,9 @@ version = "0.1.0" description = "Machine learning for fusion simulation validation" authors = [ { name = "iomags2211", email = "isaac.magee@ukaea.uk" }, + { name = "arjavp-ukaea", email = "arjav.poudel@ukaea.uk"}, + { name = "barisc-ukaea", email = "baris.cavusoglu@ukaea.uk"}, + { name = "lukethehuman", email = "luke.humphrey@ukaea.uk"} ] license = { file = "LICENSE" } readme = "README.md" @@ -18,7 +21,12 @@ classifiers = [ ] requires-python = ">=3.11" dependencies = [ - "numpy>=1.26.0" + "numpy>=1.26.0", + "sklearn>=1.6.0", + "mooseherder>=0.1.0", + "pyvale>=2025.5.3", + "joblib>=1.4.0", + "pytest>=8.2.0" ] [project.urls] diff --git a/scripts/moose/monoblock_3d_thermal.i b/scripts/moose/monoblock_3d_thermal.i index eedb1601..33a4e756 100644 --- a/scripts/moose/monoblock_3d_thermal.i +++ b/scripts/moose/monoblock_3d_thermal.i @@ -1,5 +1,5 @@ #------------------------------------------------------------------------- -# monoblock_transient_thermal.i +# This is a MOOSE input file to simulate the temperature field of a 3D monoblock. # Author: Luke Humphrey, Lloyd Fletcher # (c) Copyright UKAEA 2024. # diff --git a/scripts/moose/plate_2d_thermal.i b/scripts/moose/plate_2d_thermal.i index ef9d7119..27f69efa 100644 --- a/scripts/moose/plate_2d_thermal.i +++ b/scripts/moose/plate_2d_thermal.i @@ -1,3 +1,8 @@ +#------------------------------------------------------------------------- +# This is a MOOSE input file to simulate the temperature field of a 2D plate. +# (c) Copyright UKAEA 2024. +#------------------------------------------------------------------------- + #_* Variables Block max_temp = 500 init_temp = 20 diff --git a/src/icarus/__init__.py b/src/icarus/__init__.py index 43e38ce7..6f03855c 100644 --- a/src/icarus/__init__.py +++ b/src/icarus/__init__.py @@ -4,11 +4,11 @@ """ from icarus.moosesetup import MooseSetup +from icarus.userinterface import UserInterface from icarus.datasetgenerator import DatasetGenerator from icarus.modelbuilder import ModelBuilder -from icarus.userinterface import UserInterface -__all__ = ["moosesetup", - "datasetgenerator", - "modelbuilder", - "userinterface"] \ No newline at end of file +__all__ = ["MooseSetup", + "UserInterface", + "DatasetGenerator", + "ModelBuilder"] diff --git a/src/icarus/datasetgenerator.py b/src/icarus/datasetgenerator.py index b01a5762..6331dd32 100644 --- a/src/icarus/datasetgenerator.py +++ b/src/icarus/datasetgenerator.py @@ -1,205 +1,268 @@ +""" +DatasetGenerator module to generate unlabelled datasets for Icarus. + +(c) Copyright UKAEA 2025. +""" + import random -import math +import math from pathlib import Path -from icarus import MooseSetup from mooseherder import (MooseHerd, - MooseRunner, InputModifier, DirectoryManager, - SweepReader) + SweepReader) +from icarus import MooseSetup, UserInterface -class DatasetGenerator: - """Used to generate the unlabelled ground truth, perturbed, and - validation datasets by running the required functions with the necessary parameter - names and values, and save paths. - NB: To run the input file, mooseherder requires that the moose_vars be structured as - [[{param_name: [param_values]}], [{param_name: param_values}], ...] for each parameter. +class DatasetGenerator: + """Generate the required unlabelled datasets """ - def __init__(self, moose_runner: MooseRunner, moose_modifier: InputModifier, - parameters: dict[str, list], output_file_path: str, num_para_runs: int=2) -> None: + def __init__(self, input_file_path: str, n_tasks: int, n_threads: int, + parameters: dict[str, list], num_validation_values: list[int], + datasets_per_ground_truth: int, output_file_path: str, + num_para_runs: int = 2) -> None: """__init__ Parameters ---------- - moose_runner : MooseRunner - Constructed MOOSE runner used to run the input file with modified variables - moose_modifier : InputModifier - Used to extract and modify the variables in the input file. - Specifies the comment character. Variable definition blocks should begin - #comment character#* and end #comment character#**, e.g. #_* and #** for - moose. + input_file_path : str + The path to the input file used. + n_tasks : int + The number of tasks for parallelisation. + n_threads : int + The number of threads for parallelisation. parameters : dict[str, list] - Dictionary containing the name of the parameter and the list of values for - that parameter to take for each simulation to be run. + Dictionary containing the name of the parameter and the list of + values for that parameter to take for each simulation to be run. + num_validation_values : list[int] + Contains a list of the number of validation datasets to generate + for each parameter. + datasets_per_ground_truth : int + Contains the ratio of perturbed:ground truth datasets. output_file_path : str - Contains the path to the folder where the datasets and model(s) will be stored. + Contains the path to the folder where the datasets and model(s) + will be stored. num_para_runs : int, optional Number of parallel runs for running the simulations, by default 2. - Raises + Raises ---------- ValueError If there are no parameters entered. FileNotFoundError If any of the required output file paths don't exist. """ - self.moose_runner = moose_runner - self.moose_modifier = moose_modifier + moose_setup = MooseSetup(input_file_path, output_file_path, + n_tasks, n_threads) + self.moose_runner, self.moose_modifier = \ + moose_setup.setup_moose_runner() + self.num_para_runs = num_para_runs - if parameters == None or len(parameters) == 0: - raise ValueError(f"Unacceptable parameters. Exiting.") - + found_vars = self.moose_modifier.get_vars() + if parameters == {}: + num_validation_values, parameters = \ + UserInterface().accept_parameters(found_vars) + + else: + if len(num_validation_values) != len(parameters) \ + or 0 in num_validation_values: + raise ValueError( + "Invalid number of validation values specified") + for param_name, param_data in parameters.items(): + if param_name not in found_vars: + raise ValueError( + f"Parameter {param_name} not in input file. Exiting.") + if param_data[0].lower() not in ["geom", "bc", "mat_prop"]: + raise ValueError( + f"Invalid parameter class {param_data[0]}. Exiting.") + if len(param_data[1]) < 1: + raise ValueError("Insufficient parameter values. Exiting.") + + if not parameters: + raise ValueError(f"Unacceptable parameters {parameters}. \ + Must be defined. Exiting.") + self.parameters = parameters self.param_names = [key for key in parameters.keys()] self.param_classes = [value[0] for value in parameters.values()] self.param_values = [value[1] for value in parameters.values()] - if not Path(output_file_path).exists() or \ - not Path(str(output_file_path+"perturbed_datasets/")).exists() or \ - not Path(str(output_file_path+"validation_datasets/")).exists(): - raise FileNotFoundError(f"At least one required output file path not found. Exiting.") - - self.output_file_path = output_file_path - - - def generate_ground_truths(self, base_dir: Path, num_ground_truths: list[int]) -> None: - """generate_ground_truths: used to generate the ground truth by running the input file - with no modifications, and save the results to the required base_dir under the - sub_dir_name "ground_truth". Creates a specified number of ground_truth datasets + self.num_validation_values = num_validation_values + + self.datasets_per_ground_truth = datasets_per_ground_truth + + if not Path(output_file_path).exists(): + raise FileNotFoundError(f"Output file path {output_file_path} \ + not found. Exiting.") + + self.output_file_path = output_file_path + + + def generate_ground_truths(self, base_dir: Path, num_ground_truths: int) \ + -> None: + """Generate the ground truth by running the input file + with no modifications, and save the results to the required base_dir + under the sub_dir_name "ground_truth". Creates a specified number of + ground_truth datasets Parameters ---------- base_dir : Path - Contains the base directory to save ground_truth sub-directory for running the - simulations. + Contains the base directory to save ground_truth sub-directory for + running the simulations. num_ground_truths : list[int] Number of ground_truth datasets to generate. """ if num_ground_truths <= 0: - raise ValueError(f"Some ground truths must be generated. Exiting.") - dir_manager = MooseSetup.setup_directory_manager(base_dir, 'ground_truth', num_ground_truths) + raise ValueError("Some ground truths must be generated. Exiting.") + dir_manager = MooseSetup.setup_directory_manager(base_dir, + 'ground_truth', + num_ground_truths) moose_vars = [[{}]] * num_ground_truths self.run_herd(dir_manager, moose_vars, num_ground_truths) - def generate_dataset(self, base_dir: Path, param_name: str, param_class: str, param_values: list[float]) -> None: - """generate_dataset: used to generate the perturbed and validation datasets by running the - input file with modifications to specified parameter, and save the results to the - required base_dir under a sub_dir_named for the perturbed parameter. + def generate_dataset(self, base_dir: Path, param_name: str, + param_class: str, param_values: list[float]) -> None: + """Generate the perturbed and validation datasets by running the + input file with modifications to specified parameter, and save the + results to the required base_dir under a sub_dir_named for the + perturbed parameter. Parameters ---------- base_dir : Path - Contains the base directory to save perturbed_param sub-directory for running the - simulations. + Contains the base directory to save perturbed_param sub-directory + for running the simulations. param_name : str The name of the perturbed parameter. param_class : str - The class of the perturbed parameter (geometry, BC or material property). + The class of the perturbed parameter + (geometry, BC or material property). param_values : list[float] List of values for the currently selected parameter. """ moose_vars = [] n_dirs = len(param_values) - dir_manager = MooseSetup.setup_directory_manager(base_dir, str(f"{param_class}_{param_name}"), n_dirs) + dir_manager = MooseSetup.setup_directory_manager( + base_dir, str(f"{param_class}_{param_name}"), n_dirs) for param in param_values: moose_vars.append([{str(param_name): param}]) self.run_herd(dir_manager, moose_vars, n_dirs) - def generate_validation_values(self, param_values: list[float], num_validation_values: int=2) -> list[float]: - """generate_validation_values: used to generate a specified number of validation values - for the selected parameter, so that the model can be tested to see if it can correctly - determine when the parameter has been perturbed to a value that was not present in the - training dataset. + def generate_validation_values(self, param_values: list[float], + num_validation_values: int) -> list[float]: + """Generate a specified number of validation values + for the selected parameter, so that the model can be tested to see if + it can correctly determine when the parameter has been perturbed to a + value that was not present in the training dataset. Parameters ---------- param_values : list[float] List of training values for the currently selected parameter(s). - num_validation_values : int, optional - Number of validation values to generate for each parameter, by default 2 + num_validation_values : int + Number of validation values to generate for each parameter. Returns ------- validation_values : list[float] - List containing a list(s) of validation values for each parameter, to be used to - determine the value of the InputModifier for that parameter for the run to be saved - under validation_datasets/param_name + List containing a list(s) of validation values for each parameter, + to be used to determine the value of the InputModifier for that + parameter for the run to be saved under + validation_datasets/param_name. """ validation_values = [] min_val = min(param_values) max_val = max(param_values) - + while len(validation_values) < num_validation_values: validation_value = random.uniform(min_val, max_val) - if validation_value not in param_values and validation_value not in validation_values: + if validation_value not in param_values and \ + validation_value not in validation_values: validation_values.append(validation_value) return validation_values - def generate_datasets(self, num_validation_values: list[int], ground_truths_per_dataset: int) -> None: - """generate_datasets: convenience function to run all aspects of the DatasetGenerator class. + def generate_datasets(self) -> None: + """Convenience function to run all aspects of the DatasetGenerator + class. Parameters ---------- num_validation_values : list[int] - Contains a list of the number of validation datasets to generate for each parameter - ground_truth_per_dataset : int - Contains the number of ground truth datasets to include per perturbed dataset + Contains a list of the number of validation datasets to generate + for each parameter + datasets_per_ground_truth : int + Contains the ratio of perturbed:ground truth datasets. """ - perturbed_path, perturbed_vals = Path(str(self.output_file_path+"perturbed_datasets/")), None - validation_path, validation_vals = Path(str(self.output_file_path+"validation_datasets/")), None - - paths = {perturbed_path: perturbed_vals, validation_path: validation_vals} - - for name, param_class, values, n_valid in zip(self.param_names, self.param_classes, self.param_values, num_validation_values): - validation_values = self.generate_validation_values(values, n_valid) - + perturbed_path, perturbed_vals = Path( + str(self.output_file_path+"perturbed_datasets/")), None + validation_path, validation_vals = Path( + str(self.output_file_path+"validation_datasets/")), None + + paths = {perturbed_path: perturbed_vals, + validation_path: validation_vals} + + for name, param_class, values, n_valid in \ + zip(self.param_names, self.param_classes, self.param_values, + self.num_validation_values): + validation_values = self.generate_validation_values(values, + n_valid) + paths[perturbed_path] = values paths[validation_path] = validation_values for path, vals in paths.items(): self.generate_dataset(path, name, param_class, vals) - for path in paths.keys(): + for path in paths: num_datasets = sum(1 for d in path.iterdir() if d.is_dir()) - num_ground_truths = math.ceil(num_datasets/ground_truths_per_dataset) + num_ground_truths = math.ceil( + num_datasets/self.datasets_per_ground_truth) self.generate_ground_truths(path, num_ground_truths) - def run_herd(self, dir_manager: DirectoryManager, - moose_vars: InputModifier, n_para: int=1, keep_flag: bool=False) -> None: - """run_herd: used to run parametric sweeps of simulation chains in - parallel with configurable parallelisation options. Takes a list of - SimRunner objects and a corresponding list of InputModifiers to insert the - variables into the input scripts for the SimRunners. Will first call all InputModifiers - in the specified order and then call run on all the SimRunners in order. Uses the - DirectoryManager class to log the directories in which each parallel worker is - creating input files and running simulations. Uses the SweepReader class to read the - output from one or more calls to mooseherd.run_para(). + def run_herd(self, dir_manager: DirectoryManager, + moose_vars: InputModifier, n_para: int = 1, + keep_flag: bool = False) -> None: + """Run parametric sweeps of simulation chains in + parallel with configurable parallelisation options. + + Takes a list of SimRunner objects and a corresponding list of + InputModifiers to insert the variables into the input scripts for the + SimRunners. Will first call all InputModifiers in the specified order + and then call run on all the SimRunners in order. Uses the + DirectoryManager class to log the directories in which each parallel + worker is creating input files and running simulations. Uses the + SweepReader class to read the output from one or more calls to + mooseherd.run_para(). Parameters ---------- dir_manager : DirectoryManager - Used to control how many and which directories are used to run the simulations. + Used to control how many and which directories are used to run the + simulations. moose_vars : InputModifier Used to extract and modify the variables in the input file. - Specifies the comment character. Variable definition blocks should begin - #comment character#* and end #comment character#**, e.g. #_* and #** for - moose. + Specifies the comment character. Variable definition blocks should + begin #comment character#* and end #comment character#** n_para : int, optional - Sets the number of simulation chains to run in parallel. , by default 1 + Sets the number of simulation chains to run in parallel, + by default 1. keep_flag : bool, optional - Flag used for allowing multiple calls to run to keep everything or to - overwrite each time, by default False - overwrite inputs and outputs with multiple calls + Flag used for allowing multiple calls to run to keep everything or + to overwrite each time, by default False - overwrite inputs and + outputs with multiple calls """ - - herd = MooseHerd([self.moose_runner], [self.moose_modifier], dir_manager) + + herd = MooseHerd([self.moose_runner], + [self.moose_modifier], + dir_manager) herd.set_num_para_sims(n_para=n_para) herd.set_keep_flag(keep_flag) for _ in range(self.num_para_runs): @@ -207,4 +270,4 @@ def run_herd(self, dir_manager: DirectoryManager, sweep_reader = SweepReader(dir_manager, num_para_read=4) sweep_reader.read_all_output_keys() - read_all = sweep_reader.read_results_para() \ No newline at end of file + sweep_reader.read_results_para() diff --git a/src/icarus/modelbuilder.py b/src/icarus/modelbuilder.py index 32634d97..906da739 100644 --- a/src/icarus/modelbuilder.py +++ b/src/icarus/modelbuilder.py @@ -1,18 +1,25 @@ +""" +ModelBuilder module to create and analyse the Icarus machine learning model. + +(c) Copyright UKAEA 2025. +""" + +from pathlib import Path +import shutil +import inspect +import joblib import numpy as np from sklearn.metrics import accuracy_score from mooseherder import ExodusReader, SimData -from pathlib import Path -import shutil + class ModelBuilder: - """Used to create a sensor array, generate the labelled datasets the sensor array and the - simulation data, train the chosen model on the training datasets, use the model - to make predictions for the validation dataset, and verify the accuracy of the model. - Outputs the pertinent information to the user, and allows the user to save the model, - and to delete unlabelled datasets + """Used to create and analyse the machine learning model """ - def __init__(self, output_file_path: str, field_key: str, sensor_type: str, sensors: list=[3,2,1], - dims: int=2, errors: bool=False, multi: bool=False,delete_datasets: bool=False) -> None: + def __init__(self, output_file_path: str, field_key: str, sensor_type: str, + sensors: list, dims: int = 2, errors: bool = False, + multi: bool = False, delete_datasets: bool = False, + save: bool = True) -> None: """__init__ Parameters @@ -22,73 +29,79 @@ def __init__(self, output_file_path: str, field_key: str, sensor_type: str, sens field_key : str The field key used for the analysis field in the input file. sensor_type : str, optional - The sensor type used to analyse the field in the experiment/simulation. + The sensor type used to analyse the field in the + experiment/simulation. sensors : list, optional - The number of sensors to in each dimension (x,y,z), by default [3,2,1] for a 2d - simulation. + The number of sensors to in each dimension (x,y,z). dims : int, optional The dimensionality of the problem, by default 2 errors : bool, optional - Allows the user to determine whether or not the sensor array should incorporate errors, + Allows the user to determine whether or not the sensor array + should incorporate errors, by default False. multi : bool, optional - Allows the user to specify whether to use a multi-classifier, by default - False (meaning use a binary classifier). + Allows the user to specify whether to use a multi-classifier, + by default False (meaning use a binary classifier). delete_datasets : bool - Allows the user to determine whether or not to delete the unlabelled datasets. + Allows the user to determine whether or not to delete the + unlabelled datasets. + save : bool + Allows the user to determine whether or not to save the model + and the labelled datasets. Raises ---------- FileNotFoundError If any of the required output file paths don't exist. ValueError - If any of sensor_type, sensors, dims, errors, multi, delete_datasets, or save - are unacceptable. + If any of sensor_type, sensors, dims, errors, multi, + delete_datasets, or save are unacceptable. """ import pyvale self.pyvale = pyvale - if not Path(output_file_path).exists() or \ - not Path(str(output_file_path+"perturbed_datasets/")).exists() or \ - not Path(str(output_file_path+"validation_datasets/")).exists(): - raise FileNotFoundError(f"At least one required output file path not found. Exiting.") + if not Path(output_file_path).exists(): + raise FileNotFoundError( + f"Output file path {output_file_path} not found. Exiting.") self.output_file_path = output_file_path self.field_key = field_key - if sensor_type not in ["thermocouples", "disp_sensors", "strain_gauges"]: - raise ValueError(f"Unacceptable sensor type {sensor_type}. Exiting.") + if sensor_type not in ["thermocouples", + "disp_sensors", + "strain_gauges"]: + raise ValueError(f"Unacceptable sensor type {sensor_type}. \ + Must be either thermocouples, disp_sensors, \ + or strain_gauges. Exiting.") self.sensor_type = sensor_type for sensor in sensors: if sensor == 0: - raise ValueError("Invalid sensor array {sensors}. Exiting.") - if len(sensors) != 3 or sensors == None: - raise ValueError("Invalid sensor array {sensors}. Exiting.") + raise ValueError("Invalid sensor array {sensors}. \ + Can't have a dimension with zero sensors. \ + Exiting.") + if len(sensors) != 3 or sensors is None: + raise ValueError("Invalid sensor array {sensors}. \ + Must have a number of sensors for exactly \ + 3 dimensions. Exiting.") self.sensors = sensors if dims not in [1, 2, 3]: - raise ValueError(f"Dimensions must be 1, 2 or 3, not {dims}. Exiting.") + raise ValueError(f"Dimensions must be 1, 2 or 3, not {dims}. \ + Exiting.") self.dims = dims - if errors not in [True, False]: - raise ValueError(f"Errors must be either True or False, not {errors}. Exiting.") self.errors = errors - - if multi not in [True, False]: - raise ValueError(f"Multi must be either True or False, not {multi}. Exiting.") self.multi = multi - - if delete_datasets not in [True, False]: - raise ValueError(f"Delete datasets must be either True or False, not {delete_datasets}. Exiting.") self.delete_datasets = delete_datasets + self.save = save self.labelled_dataset_cols = (sensors[0]*sensors[1]*sensors[2])+1 def sensor_array(self, sim_data: SimData) -> "pyvale.SensorArrayPoint": - """sensor_array: used to generate the array of sensors used to generate the labelled - datasets required for training the model. + """Generate the array of sensors used to generate the labelled + datasets required for training the model. Parameters ---------- @@ -97,8 +110,9 @@ def sensor_array(self, sim_data: SimData) -> "pyvale.SensorArrayPoint": Returns ------- - SensorArrayPoint - The desired sensor array used to extract the values of the chosen field at given points. + sens_array : pyvale.SensorArrayPoint + The desired sensor array used to extract the values of the chosen + field at given points. """ sensx, sensy, sensz = self.sensors[0], self.sensors[1], self.sensors[2] @@ -115,11 +129,12 @@ def sensor_array(self, sim_data: SimData) -> "pyvale.SensorArrayPoint": zmax = np.max(sim_data.coords[:, 2]) zmin = np.min(sim_data.coords[:, 2]) - n_sens = (sensx,sensy,sensz) - x_lims = (xmin,xmax) - y_lims = (ymin,ymax) - z_lims = (zmin,zmax) - sens_pos = self.pyvale.create_sensor_pos_array(n_sens,x_lims,y_lims,z_lims) + n_sens = (sensx, sensy, sensz) + x_lims = (xmin, xmax) + y_lims = (ymin, ymax) + z_lims = (zmin, zmax) + sens_pos = self.pyvale.create_sensor_pos_array(n_sens, x_lims, + y_lims, z_lims) sens_data = self.pyvale.SensorData(positions=sens_pos) errors_map = { @@ -130,24 +145,67 @@ def sensor_array(self, sim_data: SimData) -> "pyvale.SensorArrayPoint": func_name = f"{self.sensor_type}_{errors_map[self.errors]}" factory = self.pyvale.SensorArrayFactory func = getattr(factory, func_name) - sens_array = func(sim_data, sens_data, elem_dims=self.dims, field_name=self.field_key) - + sens_array = func(sim_data, sens_data, elem_dims=self.dims, + field_name=self.field_key) + return sens_array - - def generate_labelled_dataset(self, folder_path: Path) -> list[list[list[float], int]]: - """generate_labelled_dataset: used to create a dataset by extracting values from the outputs - of each run, using ExodusReader class to read the data. - Assigns a label to each dataset depending on which (if any) parameter has been perturbed. - Parameters + def generate_training_dataset(self) \ + -> list[list[list[float], int]]: + """Create a dataset by extracting values from the outputs of each run, + using ExodusReader class to read the data. Assigns a label to each + dataset depending on which (if any) parameter has been perturbed. + + Raises ---------- - folder_path : Path - Specifies the location of the unlabelled datasets from which the information for the - labelled dataset should be extracted. Should be the base directory - i.e. either - perturbed_datasets/ or validation_datasets/. + ValueError + If the training and/or validation datasets failed to generate. + + Returns + ---------- + labelled_dataset: np.array[np.array[list[float], int]] + 2D array containing the list of extracted measurements for each + dataset and its corresponding label. To be used to train/validate + the model. + """ + labelled_dataset = np.empty((0, self.labelled_dataset_cols)) + folder_path = Path(self.output_file_path+"perturbed_datasets/") + + for file_path in folder_path.rglob('*.e'): + if "ground_truth" in str(file_path): + label = 0 + else: + if self.multi: + labels = {"ground_truth": 0, "geom": 1, + "bc": 2, "mat_prop": 3} + for param_class, class_label in labels.items(): + if param_class in str(file_path): + label = class_label + else: + label = 1 + + sim_data = ExodusReader(file_path).read_all_sim_data() + sens_array = self.sensor_array(sim_data) + measurements = sens_array.get_measurements()[:, 0, 1] + + measurements = np.append(measurements, label) + labelled_dataset = np.vstack([labelled_dataset, measurements]) + + if len(labelled_dataset) <= 1: + raise ValueError("Training and/or validation datasets \ + failed to generate. Exiting.") + + return labelled_dataset - Raises + + def generate_validation_dataset(self) \ + -> list[list[list[float], int]]: + """Create a dataset by extracting values from the outputs of each run, + using ExodusReader class to read the data. Assigns a label to each + dataset depending on which (if any) parameter has been perturbed. + + Raises ---------- ValueError If the training and/or validation datasets failed to generate. @@ -155,38 +213,86 @@ def generate_labelled_dataset(self, folder_path: Path) -> list[list[list[float], Returns ---------- labelled_dataset: np.array[np.array[list[float], int]] - 2D array containing the list of extracted measurements for each dataset and its - corresponding label. To be used to train/validate the model. + 2D array containing the list of extracted measurements for each + dataset and its corresponding label. To be used to train/validate + the model. """ labelled_dataset = np.empty((0, self.labelled_dataset_cols)) + folder_path = Path(self.output_file_path+"validation_datasets/") for file_path in folder_path.rglob('*.e'): if "ground_truth" in str(file_path): label = 0 else: if self.multi: - labels = {"ground_truth": 0, "geom": 1, "bc": 2, "mat_prop": 3} + labels = {"ground_truth": 0, "geom": 1, + "bc": 2, "mat_prop": 3} for param_class, class_label in labels.items(): - if param_class in str(file_path): - label = class_label + if param_class in str(file_path): + label = class_label else: label = 1 sim_data = ExodusReader(file_path).read_all_sim_data() sens_array = self.sensor_array(sim_data) - measurements = sens_array.get_measurements()[:, 0, 1] + measurements = sens_array.get_measurements()[:, 0, 1] - measurements = np.append(measurements, label) - labelled_dataset = np.vstack([labelled_dataset, measurements]) + measurements = np.append(measurements, label) + labelled_dataset = np.vstack([labelled_dataset, measurements]) if len(labelled_dataset) <= 1: - raise ValueError(f"Training and/or validation datasets failed to generate. Exiting.") - else: - return labelled_dataset - + raise ValueError("Training and/or validation datasets \ + failed to generate. Exiting.") + + return labelled_dataset + + + def generate_labelled_datasets(self): + """Generate both the training and validation labelled datasets. + + Returns + ---------- + training_dataset : np.array[np.array[list[float], int]] + The labelled training dataset. + validation_dataset : np.array[np.array[list[float], int]] + The labelled validation dataset. + """ + training_dataset, validation_dataset = \ + self.generate_training_dataset(), \ + self.generate_validation_dataset() + + return training_dataset, validation_dataset + + + def filter_parameters(self, classifier_framework, classifier_params): + """Filter the parameters to only use those which are valid for the + chosen classifier framework. + + Returns + ---------- + filtered_params : dict + The selected parameters that apply to the chosen classifier. + """ + # Filter parameters according to chosen classifier + sig = inspect.signature(classifier_framework.__init__) + valid_params = set(sig.parameters.keys()) - {"self"} + filtered_params = {k: v for k, v in classifier_params.items() + if k in valid_params} + + # Make sure there are some filtered parameters to be used + if len(filtered_params) == 0: + raise ValueError("Invalid parameters for {classifier_framework}: \ + {classifier_params}") + + # Print ignored parameters + ignored = set(classifier_params) - set(filtered_params) + print(f"Ignored parameters for {classifier_framework}: {ignored}") + + return filtered_params + def delete_data(self, perturbed_path: Path, validation_path: Path) -> None: - """delete_data: deletes the unlabelled datasets and just saves the labelled dataset + """Delete the unlabelled datasets and just saves the labelled dataset Parameters ---------- @@ -201,8 +307,9 @@ def delete_data(self, perturbed_path: Path, validation_path: Path) -> None: shutil.rmtree(folder) - def output_model_metrics(self, y_val: list[float], y_pred: list[float]) -> None: - """output_model_metrics: prints the actual + predicted labels, as well as the final + def output_model_metrics(self, y_val: list[float], y_pred: list[float]) \ + -> None: + """Output the actual + predicted labels, as well as the final accuracy score for the model. Parameters @@ -213,7 +320,87 @@ def output_model_metrics(self, y_val: list[float], y_pred: list[float]) -> None: The predicted labels for the validation dataset. """ for i, (actual, predicted) in enumerate(zip(y_val, y_pred), start=1): - print(f"Row {i}: Actual Label = {actual}, Predicted Label = {predicted}") + print(f"Row {i}: Actual Label = {actual}, Predicted Label = \ + {predicted}") val_accuracy = accuracy_score(y_val, y_pred) print(f"Validation Accuracy: {val_accuracy * 100:.2f}%") + + + def save_datasets_and_model(self, classifier, model_name: str, + training_dataset: list[list[list[float], int]], + validation_dataset: list[list[list[float], + int]]): + """Save the labelled datasets and the model if specified. + + Parameters + ---------- + classifier + The machine learning model classifier. + model_name : str + The name of the model the saved. + training_dataset : np.array[np.array[list[float] + The labelled training dataset. + validation_dataset : np.array[np.array[list[float] + The labelled validation dataset. + """ + if self.save: + header = ",".join([f"Sensor {i} reading" for i in range( + 1, self.labelled_dataset_cols)] + ["Label"]) + + joblib.dump(classifier, + str(self.output_file_path)+model_name+'_model.pkl') + + perturbed_path = Path(self.output_file_path+"/perturbed_datasets") + validation_path = Path(self.output_file_path+"/labelled_datasets") + + np.savetxt( + perturbed_path/"labelled_dataset.txt", + training_dataset, fmt="%d", delimiter=",", header=header, + comments='') + + np.savetxt( + validation_path/"labelled_dataset.txt", + validation_dataset, fmt="%d", delimiter=",", header=header, + comments='') + + + def build_model(self, classifier_framework, + classifier_params: dict[str, float], + model_name: str): + """Convenience function to build the model using the other functions + present in the ModelBuilder class. + + Parameters + ---------- + classifier_framework + The chosen framework for the machine learning classifier. + classifier_params : dict[str, float] + The list of parameters for the classifier specified by the user. + model_name : str + The name of the model to be saved. + """ + # Generate labelled training and validation datasets and saves them + training_dataset, validation_dataset = \ + self.generate_labelled_datasets() + + # Split data according to modelling requirements + x_train, y_train, x_val, y_val = training_dataset[:, :-1], \ + training_dataset[:, -1], validation_dataset[:, :-1], \ + validation_dataset[:, -1] + + # Build the specified model and predict the labels of the validation + # datasets + filtered_params = self.filter_parameters(classifier_framework, + classifier_params) + classifier = classifier_framework(**filtered_params) + classifier.fit(x_train, y_train) + y_pred = classifier.predict(x_val) + + # Output model metrics + self.output_model_metrics(y_val, y_pred) + + # Save model and labelled datasets if specified + self.save_datasets_and_model(classifier, model_name, + training_dataset, + validation_dataset) diff --git a/src/icarus/moosesetup.py b/src/icarus/moosesetup.py index 20752cd9..ad8ad924 100644 --- a/src/icarus/moosesetup.py +++ b/src/icarus/moosesetup.py @@ -1,93 +1,128 @@ +""" +MooseSetup module to carry out the setup required for Icarus. + +(c) Copyright UKAEA 2025. +""" + from pathlib import Path +import os from mooseherder import (MooseRunner, MooseConfig, InputModifier, DirectoryManager) + class MooseSetup: - """Used to setup the MOOSE Runners and Directory Managers required to run the simulations - and generate the datasets. + """Setup the file system, MOOSE Runners and Directory Managers required to + run the simulation and generate the datasets. """ - def __init__(self, input_file_path: str, n_tasks: int, n_threads: int) -> None: + def __init__(self, input_file_path: str, output_file_path: str, + n_tasks: int, n_threads: int) -> None: """__init__ Parameters ---------- input_file_path : str The path to the input file used. + output_file_path : str + The path to where the outputs will be stored. n_tasks : int The number of tasks for parallelisation. n_threads : int The number of threads for parallelisation. """ self.input_file_path = input_file_path + self.output_file_path = output_file_path self.n_tasks, self.n_threads = n_tasks, n_threads + config_file_path = Path.cwd()/'moose-config.json' + if not os.path.exists(config_file_path): + with open(config_file_path, "w", encoding="utf-8") as file: + file.write(""" + { + "main_path": "path/to/projects/moose", + "app_path": "path/to/projects/babbler", + "app_name": "babbler-opt" + } + """) + + for file_path in [Path(self.output_file_path+"perturbed_datasets"), + Path(self.output_file_path+"validation_datasets")]: + os.makedirs(file_path, exist_ok=True) def setup_moose_runner(self) -> tuple[MooseRunner, InputModifier]: - """setup_moose_runner: Constructor for MOOSE runner taking a MooseConfig object - that contains the paths to the main MOOSE install, the MOOSE app and - the MOOSE app name. + """Constructor for MOOSE runner taking a MooseConfig object + that contains the paths to the main MOOSE install, the MOOSE app and + the MOOSE app name. Raises ---------- FileNotFoundError - If the input file path is unacceptable (not found or not an input file), or if - the moose-config.json file is unacceptable. + If the input file path is unacceptable (not found or not an input + file), or if the moose-config.json file is unacceptable. ValueError If there are no parameters found in the input file. Returns ---------- moose_runner : MooseRunner - Constructed MOOSE runner used to run the input file with modified variables + Constructed MOOSE runner used to run the input file with modified + variables. moose_modifier : InputModifier Used to extract and modify the variables in the input file. - Specifies the comment character. Variable definition blocks should begin - #comment character#* and end #comment character#**, e.g. #_* and #** for - moose. + Specifies the comment character. Variable definition blocks should + begin #comment character#* and end #comment character#** """ - if self.input_file_path[-2:] != ".i" or not Path(self.input_file_path).exists(): - raise FileNotFoundError(f"Unacceptable input file path.") - + if self.input_file_path[-2:] != ".i" or \ + not Path(self.input_file_path).exists(): + raise FileNotFoundError(f"Unacceptable input file path {self.input_file_path}. \ + Must both exist and end in .i") + moose_input = Path(self.input_file_path) moose_modifier = InputModifier(moose_input, '#', '') if len(moose_modifier.get_vars()) == 0: - raise ValueError(f"No parameters found in input file. Check input file and try again.") + raise ValueError("No parameters found in input file. \ + Check input file and try again.") try: - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - except: - raise FileNotFoundError(f"JSON file moose-config.json not found, or points to non-existent MOOSE app.") + moose_config = MooseConfig().read_config( + Path.cwd()/'moose-config.json') + except FileNotFoundError as e: + raise FileNotFoundError("JSON file moose-config.json not found, \ + or points to non-existent MOOSE app.") \ + from e moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks=self.n_tasks, n_threads=self.n_threads, redirect_out=False) + moose_runner.set_run_opts(n_tasks=self.n_tasks, + n_threads=self.n_threads, redirect_out=False) return moose_runner, moose_modifier @staticmethod - def setup_directory_manager(base_dir: str, sub_dir_name: str, n_dirs: int=1) -> DirectoryManager: - """setup_directory_manager: sets up directory manager to manage directories for running - simulations in parallel with the mooseherd. Clears existing directories and creates - specified new ones with given names + def setup_directory_manager(base_dir: str, sub_dir_name: str, + n_dirs: int = 1) -> DirectoryManager: + """Set up directory manager to manage directories for running + simulations in parallel with the mooseherd. Clears existing + directories and creates specified new ones with given names Parameters ---------- base_dir : Path - Sets the base directory to create sub-directories for running the simulations. - The base directory must exist. + Sets the base directory to create sub-directories for running the + simulations. The base directory must exist. sub_dir_name : str - String to be used at the start of the created sub-directores. - Default on creation is 'sim-workdir'. Populates the list of run directories using - the new sub directory name. + String to be used at the start of the created sub-directores. + Default on creation is 'sim-workdir'. Populates the list of run + directories using the new sub directory name. n_dirs : int, optional Number of directories to be created., by default 1 Returns ------- dir_manager : DirectoryManager - Used to control how many and which directories are used to run the simulations. + Used to control how many and which directories are used to run the + simulations. """ dir_manager = DirectoryManager(n_dirs=n_dirs) dir_manager.set_base_dir(base_dir) @@ -95,4 +130,4 @@ def setup_directory_manager(base_dir: str, sub_dir_name: str, n_dirs: int=1) -> dir_manager.clear_dirs() dir_manager.create_dirs() - return dir_manager \ No newline at end of file + return dir_manager diff --git a/src/icarus/userinterface.py b/src/icarus/userinterface.py index 026dda26..77cc7c33 100644 --- a/src/icarus/userinterface.py +++ b/src/icarus/userinterface.py @@ -1,46 +1,53 @@ -from tkinter import Tk, Label, Entry, Button, Frame, Checkbutton, BooleanVar, StringVar -from pathlib import Path +""" +UserInterface module to provide tkinter user interface to control Icarus. + +(c) Copyright UKAEA 2025. +""" + +from tkinter import Tk, Label, Entry, Button, Frame, \ + Checkbutton, BooleanVar, StringVar + class UserInterface: - """Provides a user interface using tkinter to allow the user to control aspects of the modelling process, - including selecting parameters to be perturbed and defining their values and how many validation datasets - to generate for each parameter. + """User interface enabling users to control aspects of the + modelling process. """ def __init__(self): pass - - def accept_parameters(self, parameters: dict[str, float]) -> tuple[list[int], dict[str, list[float]]]: - """accept_parameters: used to allow user to select which parameters to perturb, and the range, - interval of perturbation values, and number of validation values to be used for each parameter. + def accept_parameters(self, parameters: dict[str, float]) \ + -> tuple[list[int], dict[str, list[float]]]: + """Allow user to select which parameters to perturb, and the range, + interval of perturbation values, and number of validation values to + be used for each parameter. Parameters ---------- parameters : dict[str, float] - Dictionary of parameter names and their corresponding values in the default input file. - Used to allow users to select which parameters to modify, and show them the default - values so they don't include them again. + Dictionary of parameter names and their corresponding values in + the default input file. + Used to allow users to select which parameters to modify, and show + them the default values so they don't include them again. Returns ---------- num_val_values : list[int] Number of validation values to use for each parameter parameters : dict[str, list[float]] - Dictionary of parameter names and their corresponding list of values for perturbation. + Dictionary of parameter names and their corresponding list of + values for perturbation. """ def submit_parameters(): - """submit_parameter: specifies what should happen when the submit button is pressed. - The values within the Entry boxes for min_val, max_val and interval for the selected - parameters should be saved to their corresponding variables to allow creation of - param_values list, and the tkinter window should close. + """Save user-specified values to their corresponding variables to + allow creation of param_values list, and close the tkinter window. - Raises + Raises ---------- ValueError If the range or interval specified are invalid Value Error - If there are fewer than 2 values for perturbation + If there are fewer than 2 values for perturbation Value Error If there are fewer than 2 values for validation """ @@ -57,14 +64,17 @@ def submit_parameters(): min_val = float(row['min_val'].get()) max_val = float(row['max_val'].get()) interval = float(row['interval'].get()) - num_validation_values = int(row['num_validation_values'].get()) + num_validation_values = \ + int(row['num_validation_values'].get()) - if param_class.lower() not in ["geom", "bc", "mat_prop"]: - raise ValueError("Invalid parameter classification") + if param_class.lower() not in ["geom", "bc", + "mat_prop"]: + raise ValueError("Invalid \ + parameter classification") if min_val >= max_val or interval <= 0: raise ValueError("Invalid range or interval") - + param_data = [] param_data.append(param_class) @@ -76,8 +86,9 @@ def submit_parameters(): current_val += interval if len(param_values) < 2: - raise ValueError("Insufficient perturbation values") - + raise ValueError("Insufficient \ + perturbation values") + if num_validation_values < 2: raise ValueError("Insufficient validation values") @@ -92,7 +103,7 @@ def submit_parameters(): if len(parameters) == 0: error_label.config(text="No parameters submitted", fg="red") return - + param_root.destroy() param_root = Tk() @@ -100,9 +111,12 @@ def submit_parameters(): table_frame = Frame(param_root) table_frame.grid(row=2, column=0, columnspan=2, padx=10, pady=10) - headers = ["Select", "Param Name", "Param Class", "Default Value", "Min Value", "Max Value", "Interval", "No. Validation Values"] + headers = ["Select", "Param Name", "Param Class", "Default Value", + "Min Value", "Max Value", "Interval", + "No. Validation Values"] for col, header in enumerate(headers): - Label(table_frame, text=header).grid(row=0, column=col, padx=5, pady=5) + Label(table_frame, text=header).grid(row=0, column=col, + padx=5, pady=5) params = [] for parameter_name, parameter_value in parameters.items(): @@ -113,11 +127,18 @@ def submit_parameters(): x = 10 else: x = parameter_value/2 - params.append({"param_name": parameter_name,"param_class": "geom/bc/mat_prop","default_val": parameter_value, - "min_val": parameter_value+x,"max_val": parameter_value+5*x,"interval": x,"num_validation_values":3}) + params.append({"param_name": parameter_name, + "param_class": "geom/bc/mat_prop", + "default_val": parameter_value, + "min_val": parameter_value+x, + "max_val": parameter_value+5*x, + "interval": x, "num_validation_values": 3}) except ValueError: - params.append({"param_name": parameter_name,"param_class": "geom/bc/mat_prop","default_val": parameter_value, - "min_val": "","max_val": "","interval": "","num_validation_values":""}) + params.append({"param_name": parameter_name, + "param_class": "geom/bc/mat_prop", + "default_val": parameter_value, + "min_val": "", "max_val": "", + "interval": "", "num_validation_values": ""}) rows = [] for i, param in enumerate(params): @@ -128,30 +149,42 @@ def submit_parameters(): checkbox = Checkbutton(table_frame, variable=row['checkbox_var']) checkbox.grid(row=i+1, column=0, padx=5, pady=5) - Label(table_frame, text=param['param_name']).grid(row=i+1, column=1, padx=5, pady=5) + Label(table_frame, text=param['param_name']).grid(row=i+1, + column=1, padx=5, + pady=5) row['param_name'] = param['param_name'] row['param_class'] = StringVar(value=param['param_class']) - param_class_entry = Entry(table_frame, textvariable=row['param_class'], width=15) + param_class_entry = Entry(table_frame, + textvariable=row['param_class'], + width=15) param_class_entry.grid(row=i+1, column=2, padx=5, pady=5) - Label(table_frame, text=param['default_val']).grid(row=i+1, column=3, padx=5, pady=5) + Label(table_frame, text=param['default_val']).grid(row=i+1, + column=3, + padx=5, pady=5) row['default_val'] = param['default_val'] row['min_val'] = StringVar(value=param['min_val']) - min_val_entry = Entry(table_frame, textvariable=row['min_val'], width=10) + min_val_entry = Entry(table_frame, textvariable=row['min_val'], + width=10) min_val_entry.grid(row=i+1, column=4, padx=5, pady=5) row['max_val'] = StringVar(value=param['max_val']) - max_val_entry = Entry(table_frame, textvariable=row['max_val'], width=10) + max_val_entry = Entry(table_frame, textvariable=row['max_val'], + width=10) max_val_entry.grid(row=i+1, column=5, padx=5, pady=5) row['interval'] = StringVar(value=param['interval']) - interval_entry = Entry(table_frame, textvariable=row['interval'], width=10) + interval_entry = Entry(table_frame, textvariable=row['interval'], + width=10) interval_entry.grid(row=i+1, column=6, padx=5, pady=5) - row['num_validation_values'] = StringVar(value=param['num_validation_values']) - num_validation_values_entry = Entry(table_frame, textvariable=row['num_validation_values'], width=10) + row['num_validation_values'] = StringVar( + value=param['num_validation_values']) + num_validation_values_entry = Entry( + table_frame, textvariable=row['num_validation_values'], + width=10) num_validation_values_entry.grid(row=i+1, column=7, padx=5, pady=5) rows.append(row) @@ -159,12 +192,13 @@ def submit_parameters(): parameters = None num_val_values = None - submit_button = Button(param_root, text="Submit", command=submit_parameters) + submit_button = Button(param_root, text="Submit", + command=submit_parameters) submit_button.grid(row=3, column=0, columnspan=2, pady=10) error_label = Label(param_root, text="", fg="red") - error_label.grid(row=4, column=0, columnspan=2) + error_label.grid(row=4, column=0, columnspan=2) param_root.mainloop() - return num_val_values, parameters \ No newline at end of file + return num_val_values, parameters diff --git a/tests/__init__.py b/tests/__init__.py index e69de29b..2542f927 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -0,0 +1,3 @@ +""" +Icarus Test +""" diff --git a/tests/datasetgenerator_test.py b/tests/datasetgenerator_test.py new file mode 100644 index 00000000..c9f26f1e --- /dev/null +++ b/tests/datasetgenerator_test.py @@ -0,0 +1,43 @@ +""" +Test suite for the DatasetGenerator module of Icarus. + +(c) Copyright UKAEA 2024. +""" + +#import pytest +from unittest.mock import patch +from icarus import DatasetGenerator + + +values = [10, 20, 30, 40, 50] +with patch.object(DatasetGenerator, '__init__', lambda self: None): + dataset_generator = DatasetGenerator() + +def test_correct_number_of_validation_values_generated(): + """Test to make sure the correct number of validation values are generated + """ + validation_values = dataset_generator.generate_validation_values(values, 3) + assert len(validation_values) == 3, f"Incorrect number of validation values generated: was \ + {len(validation_values)}, should've been 3" + + +def test_validation_values_within_range(): + """Test to make correct validation values are generated + """ + validation_values = dataset_generator.generate_validation_values(values, 3) + min_val = min(values) + max_val = max(values) + for val in validation_values: + assert val > min_val, "Validation value generated outside of acceptable range" + assert val < max_val, "Validation value generated outside of acceptable range" + + +def test_no_duplicate_validation_values(): + """Test to make sure that no duplicate validation values are generated + """ + validation_values = dataset_generator.generate_validation_values(values, 3) + for val in validation_values: + assert val not in values, "Validation value duplicate of parameter value" + + assert len(validation_values) == len(set(validation_values)), \ + "Same validation value generated multiple times" diff --git a/tests/moosesetup_test.py b/tests/moosesetup_test.py index 4a61d861..48c018d7 100644 --- a/tests/moosesetup_test.py +++ b/tests/moosesetup_test.py @@ -1,25 +1,45 @@ -import pytest +""" +Test suite for the MooseSetup module of Icarus. + +(c) Copyright UKAEA 2024. +""" + from unittest.mock import patch, MagicMock -from pathlib import Path +import pytest from icarus import MooseSetup def test_invalid_file_extension_raises_file_not_found(): - setup = MooseSetup(input_file_path="input.txt", n_tasks=4, n_threads=4) - with pytest.raises(FileNotFoundError, match="Unacceptable input file path."): + """Test to make sure the correct error is raised when input file + is invalid (doesn't end .i). + """ + setup = MooseSetup(input_file_path="input.txt", output_file_path="", + n_tasks=4, n_threads=4) + with pytest.raises(FileNotFoundError, + match="Unacceptable input file path input.txt. \ + Must both exist and end in .i"): setup.setup_moose_runner() def test_nonexistent_input_file_raises_file_not_found(tmp_path): + """Test to make sure the correct error is raised when input file + doesn't exist. + """ fake_file = tmp_path / "input.i" - setup = MooseSetup(input_file_path=str(fake_file), n_tasks=4, n_threads=4) + setup = MooseSetup(input_file_path=str(fake_file), output_file_path="", + n_tasks=4, n_threads=4) - with pytest.raises(FileNotFoundError, match="Unacceptable input file path."): + with pytest.raises(FileNotFoundError, + match=f"Unacceptable input file path {str(fake_file)}. \ + Must both exist and end in .i"): setup.setup_moose_runner() -@patch("icarus.moosesetup.InputModifier") +@patch("icarus.moosesetup.InputModifier") def test_no_parameters_found_raises_value_error(mock_input_modifier, tmp_path): + """Test to make sure the correct error is raised when no parameters + are found + """ input_file = tmp_path / "input.i" input_file.write_text("Dummy content") @@ -27,7 +47,9 @@ def test_no_parameters_found_raises_value_error(mock_input_modifier, tmp_path): mock_instance.get_vars.return_value = {} mock_input_modifier.return_value = mock_instance - setup = MooseSetup(input_file_path=str(input_file), n_tasks=4, n_threads=4) + setup = MooseSetup(input_file_path=str(input_file), output_file_path="", + n_tasks=4, n_threads=4) - with pytest.raises(ValueError, match="No parameters found in input file"): - setup.setup_moose_runner() \ No newline at end of file + with pytest.raises(ValueError, match="No parameters found in input file. \ + Check input file and try again."): + setup.setup_moose_runner() From 565f2ec27811686d9068f917bff8fcc20d63a1c0 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 10 Jun 2025 10:03:27 +0100 Subject: [PATCH 46/48] Deleted superfluous files and folders --- dependencies/mooseherder/.gitignore | 179 ------ dependencies/mooseherder/LICENSE | 504 --------------- dependencies/mooseherder/README.md | 44 -- .../dev/dev_create_moose_config.py | 16 - .../mooseherder/dev/dev_para_multi_moose.py | 138 ---- .../mooseherder/dev/dev_read_exodus.py | 17 - .../mooseherder/docs/requirements.txt | 1 - .../examples/ex0_create_moose_config.py | 27 - .../examples/ex1a_modify_moose_input.py | 46 -- .../examples/ex1b_modify_gmsh_input.py | 46 -- .../examples/ex2a_run_moose_once.py | 51 -- .../examples/ex2b_run_gmsh_once.py | 63 -- .../examples/ex2c_run_both_once .py | 86 --- .../examples/ex3_run_moose_seq_para.py | 103 --- .../examples/ex4_run_gmsh-moose_seq_para.py | 108 ---- .../examples/ex5_run_moose_paramulti.py | 85 --- .../examples/ex6_read_moose_exodus.py | 127 ---- .../examples/ex7a_read_moose_herd_results.py | 119 ---- .../ex7b_read_multi_herd_results copy.py | 110 ---- .../ex7c_read_multi_gmshmoose_results.py | 110 ---- ...ex7d_readconfig_multi_gmshmoose_results.py | 140 ----- .../ex8_read_existing_sweep_output.py | 54 -- .../ex9_full_functionality_no_print.py | 62 -- .../example_output/sim-workdir-1/sim-1.i | 92 --- .../example_output/sim-workdir-1/sim-12.i | 92 --- .../example_output/sim-workdir-1/sim-12_out.e | Bin 105844 -> 0 bytes .../example_output/sim-workdir-1/sim-13.i | 92 --- .../example_output/sim-workdir-1/sim-13_out.e | Bin 159724 -> 0 bytes .../example_output/sim-workdir-1/sim-1_out.e | Bin 105840 -> 0 bytes .../example_output/sim-workdir-1/sim-20.i | 92 --- .../example_output/sim-workdir-1/sim-20_out.e | Bin 105844 -> 0 bytes .../example_output/sim-workdir-1/sim-23.i | 92 --- .../example_output/sim-workdir-1/sim-23_out.e | Bin 159724 -> 0 bytes .../example_output/sim-workdir-1/sim-8.i | 92 --- .../example_output/sim-workdir-1/sim-8_out.e | Bin 159720 -> 0 bytes .../example_output/sim-workdir-2/sim-15.i | 92 --- .../example_output/sim-workdir-2/sim-15_out.e | Bin 159724 -> 0 bytes .../example_output/sim-workdir-2/sim-17.i | 92 --- .../example_output/sim-workdir-2/sim-17_out.e | Bin 105844 -> 0 bytes .../example_output/sim-workdir-2/sim-2.i | 92 --- .../example_output/sim-workdir-2/sim-22.i | 92 --- .../example_output/sim-workdir-2/sim-22_out.e | Bin 159724 -> 0 bytes .../example_output/sim-workdir-2/sim-2_out.e | Bin 105840 -> 0 bytes .../example_output/sim-workdir-2/sim-5.i | 92 --- .../example_output/sim-workdir-2/sim-5_out.e | Bin 159720 -> 0 bytes .../example_output/sim-workdir-2/sim-9.i | 92 --- .../example_output/sim-workdir-2/sim-9_out.e | Bin 105840 -> 0 bytes .../example_output/sim-workdir-3/sim-10.i | 92 --- .../example_output/sim-workdir-3/sim-10_out.e | Bin 105844 -> 0 bytes .../example_output/sim-workdir-3/sim-16.i | 92 --- .../example_output/sim-workdir-3/sim-16_out.e | Bin 159724 -> 0 bytes .../example_output/sim-workdir-3/sim-18.i | 92 --- .../example_output/sim-workdir-3/sim-18_out.e | Bin 105844 -> 0 bytes .../example_output/sim-workdir-3/sim-24.i | 92 --- .../example_output/sim-workdir-3/sim-24_out.e | Bin 159724 -> 0 bytes .../example_output/sim-workdir-3/sim-3.i | 92 --- .../example_output/sim-workdir-3/sim-3_out.e | Bin 105840 -> 0 bytes .../example_output/sim-workdir-3/sim-7.i | 92 --- .../example_output/sim-workdir-3/sim-7_out.e | Bin 159720 -> 0 bytes .../example_output/sim-workdir-4/sim-11.i | 92 --- .../example_output/sim-workdir-4/sim-11_out.e | Bin 105844 -> 0 bytes .../example_output/sim-workdir-4/sim-14.i | 92 --- .../example_output/sim-workdir-4/sim-14_out.e | Bin 159724 -> 0 bytes .../example_output/sim-workdir-4/sim-19.i | 92 --- .../example_output/sim-workdir-4/sim-19_out.e | Bin 105844 -> 0 bytes .../example_output/sim-workdir-4/sim-21.i | 92 --- .../example_output/sim-workdir-4/sim-21_out.e | Bin 159724 -> 0 bytes .../example_output/sim-workdir-4/sim-4.i | 92 --- .../example_output/sim-workdir-4/sim-4_out.e | Bin 105840 -> 0 bytes .../example_output/sim-workdir-4/sim-6.i | 92 --- .../example_output/sim-workdir-4/sim-6_out.e | Bin 159720 -> 0 bytes dependencies/mooseherder/examples/run_all.py | 30 - dependencies/mooseherder/pyproject.toml | 32 - .../scripts/gmsh/gmsh_tens_spline_2d.geo | 62 -- .../scripts/gmsh/gmsh_tens_spline_3d.geo | 89 --- .../scripts/gmsh_tens_spline_2d-mod_vars.geo | 62 -- .../mooseherder/scripts/moose-mech_mod-vars.i | 92 --- .../moose-test-cases/moose-creep-gmsh.i | 182 ------ .../moose-test-cases/moose-mech-block-2d-o1.i | 82 --- .../moose-mech-block-2d-o2-moo0.i | 85 --- .../moose-mech-block-2d-o2-moo1.i | 85 --- .../moose-mech-block-2d-o2-moo2.i | 85 --- .../moose-test-cases/moose-mech-block-2d-o2.i | 83 --- .../moose-test-cases/moose-mech-block-3d-o1.i | 92 --- .../moose-mech-block-3d-o2-moo2.i | 94 --- .../moose-test-cases/moose-mech-block-3d-o2.i | 92 --- .../moose-test-cases/moose-mech-sub-dom.i | 94 --- .../moose-mech-subdom-2d-o1.i | 95 --- .../moose-mech-subdom-2d-o2-moo0.i | 97 --- .../moose-mech-subdom-2d-o2-moo1.i | 97 --- .../moose-mech-subdom-2d-o2-moo2.i | 97 --- .../moose-mech-subdom-2d-o2.i | 95 --- .../moose-mech-subdom-3d-o1.i | 103 --- .../moose-mech-subdom-3d-o2.i | 103 --- .../moose-test-cases/moose-mech-thermal-exp.i | 119 ---- .../moose-test-cases/moose-mech-two-beams.i | 107 ---- .../scripts/moose/moose-mech-gmsh.i | 73 --- .../scripts/moose/moose-mech-outtest.i | 115 ---- .../scripts/moose/moose-mech-simple.i | 92 --- .../mooseherder/src/mooseherder/__init__.py | 28 - .../src/mooseherder/directorymanager.py | 302 --------- .../src/mooseherder/exodusreader.py | 590 ------------------ .../mooseherder/src/mooseherder/gmshrunner.py | 120 ---- .../src/mooseherder/inputmodifier.py | 197 ------ .../src/mooseherder/mooseconfig.py | 175 ------ .../mooseherder/src/mooseherder/mooseherd.py | 412 ------------ .../src/mooseherder/mooserunner.py | 232 ------- .../src/mooseherder/outputreader.py | 25 - .../mooseherder/src/mooseherder/simdata.py | 93 --- .../mooseherder/src/mooseherder/simrunner.py | 38 -- .../src/mooseherder/sweepreader.py | 291 --------- dependencies/mooseherder/tests/__init__.py | 0 .../tests/directorymanager_test.py | 80 --- .../mooseherder/tests/exodusreader_test.py | 328 ---------- .../tests/generate_moose_output.py | 50 -- .../mooseherder/tests/gmsh/gmsh-broken.geo | 62 -- .../mooseherder/tests/gmsh/gmsh-test.geo | 61 -- .../mooseherder/tests/gmshrunner_test.py | 118 ---- dependencies/mooseherder/tests/herdchecker.py | 200 ------ .../tests/inputmodifier_gmsh_test.py | 101 --- .../tests/inputmodifier_moose_test.py | 177 ------ .../tests/moose/moose-test-broken.i | 94 --- .../mooseherder/tests/moose/moose-test-gmsh.i | 73 --- .../mooseherder/tests/moose/moose-test.i | 94 --- .../mooseherder/tests/mooseconfig_test.py | 160 ----- .../mooseherder/tests/mooseherd_test.py | 319 ---------- .../mooseherder/tests/mooserunner_test.py | 233 ------- .../tests/output/moose-mech-outtest.i | 136 ---- .../tests/output/moose-mech-outtest_out.e | Bin 336948 -> 0 bytes .../tests/output/sim-workdir-1/sim-1.i | 92 --- .../tests/output/sim-workdir-1/sim-12.i | 92 --- .../tests/output/sim-workdir-1/sim-12_out.e | Bin 105844 -> 0 bytes .../tests/output/sim-workdir-1/sim-16.i | 92 --- .../tests/output/sim-workdir-1/sim-16_out.e | Bin 159724 -> 0 bytes .../tests/output/sim-workdir-1/sim-1_out.e | Bin 105840 -> 0 bytes .../tests/output/sim-workdir-1/sim-20.i | 92 --- .../tests/output/sim-workdir-1/sim-20_out.e | Bin 105844 -> 0 bytes .../tests/output/sim-workdir-1/sim-21.i | 92 --- .../tests/output/sim-workdir-1/sim-21_out.e | Bin 159724 -> 0 bytes .../tests/output/sim-workdir-1/sim-6.i | 92 --- .../tests/output/sim-workdir-1/sim-6_out.e | Bin 159720 -> 0 bytes .../tests/output/sim-workdir-2/sim-13.i | 92 --- .../tests/output/sim-workdir-2/sim-13_out.e | Bin 159724 -> 0 bytes .../tests/output/sim-workdir-2/sim-17.i | 92 --- .../tests/output/sim-workdir-2/sim-17_out.e | Bin 105844 -> 0 bytes .../tests/output/sim-workdir-2/sim-2.i | 92 --- .../tests/output/sim-workdir-2/sim-24.i | 92 --- .../tests/output/sim-workdir-2/sim-24_out.e | Bin 159724 -> 0 bytes .../tests/output/sim-workdir-2/sim-2_out.e | Bin 105840 -> 0 bytes .../tests/output/sim-workdir-2/sim-5.i | 92 --- .../tests/output/sim-workdir-2/sim-5_out.e | Bin 159720 -> 0 bytes .../tests/output/sim-workdir-2/sim-9.i | 92 --- .../tests/output/sim-workdir-2/sim-9_out.e | Bin 105840 -> 0 bytes .../tests/output/sim-workdir-3/sim-10.i | 92 --- .../tests/output/sim-workdir-3/sim-10_out.e | Bin 105844 -> 0 bytes .../tests/output/sim-workdir-3/sim-14.i | 92 --- .../tests/output/sim-workdir-3/sim-14_out.e | Bin 159724 -> 0 bytes .../tests/output/sim-workdir-3/sim-18.i | 92 --- .../tests/output/sim-workdir-3/sim-18_out.e | Bin 105844 -> 0 bytes .../tests/output/sim-workdir-3/sim-22.i | 92 --- .../tests/output/sim-workdir-3/sim-22_out.e | Bin 159724 -> 0 bytes .../tests/output/sim-workdir-3/sim-3.i | 92 --- .../tests/output/sim-workdir-3/sim-3_out.e | Bin 105840 -> 0 bytes .../tests/output/sim-workdir-3/sim-8.i | 92 --- .../tests/output/sim-workdir-3/sim-8_out.e | Bin 159720 -> 0 bytes .../tests/output/sim-workdir-4/sim-11.i | 92 --- .../tests/output/sim-workdir-4/sim-11_out.e | Bin 105844 -> 0 bytes .../tests/output/sim-workdir-4/sim-15.i | 92 --- .../tests/output/sim-workdir-4/sim-15_out.e | Bin 159724 -> 0 bytes .../tests/output/sim-workdir-4/sim-19.i | 92 --- .../tests/output/sim-workdir-4/sim-19_out.e | Bin 105844 -> 0 bytes .../tests/output/sim-workdir-4/sim-23.i | 92 --- .../tests/output/sim-workdir-4/sim-23_out.e | Bin 159724 -> 0 bytes .../tests/output/sim-workdir-4/sim-4.i | 92 --- .../tests/output/sim-workdir-4/sim-4_out.e | Bin 105840 -> 0 bytes .../tests/output/sim-workdir-4/sim-7.i | 92 --- .../tests/output/sim-workdir-4/sim-7_out.e | Bin 159720 -> 0 bytes .../mooseherder/tests/sweepreader_test.py | 34 - docs/requirements.txt | 9 - 179 files changed, 14018 deletions(-) delete mode 100644 dependencies/mooseherder/.gitignore delete mode 100644 dependencies/mooseherder/LICENSE delete mode 100644 dependencies/mooseherder/README.md delete mode 100644 dependencies/mooseherder/dev/dev_create_moose_config.py delete mode 100644 dependencies/mooseherder/dev/dev_para_multi_moose.py delete mode 100644 dependencies/mooseherder/dev/dev_read_exodus.py delete mode 100644 dependencies/mooseherder/docs/requirements.txt delete mode 100644 dependencies/mooseherder/examples/ex0_create_moose_config.py delete mode 100644 dependencies/mooseherder/examples/ex1a_modify_moose_input.py delete mode 100644 dependencies/mooseherder/examples/ex1b_modify_gmsh_input.py delete mode 100644 dependencies/mooseherder/examples/ex2a_run_moose_once.py delete mode 100644 dependencies/mooseherder/examples/ex2b_run_gmsh_once.py delete mode 100644 dependencies/mooseherder/examples/ex2c_run_both_once .py delete mode 100644 dependencies/mooseherder/examples/ex3_run_moose_seq_para.py delete mode 100644 dependencies/mooseherder/examples/ex4_run_gmsh-moose_seq_para.py delete mode 100644 dependencies/mooseherder/examples/ex5_run_moose_paramulti.py delete mode 100644 dependencies/mooseherder/examples/ex6_read_moose_exodus.py delete mode 100644 dependencies/mooseherder/examples/ex7a_read_moose_herd_results.py delete mode 100644 dependencies/mooseherder/examples/ex7b_read_multi_herd_results copy.py delete mode 100644 dependencies/mooseherder/examples/ex7c_read_multi_gmshmoose_results.py delete mode 100644 dependencies/mooseherder/examples/ex7d_readconfig_multi_gmshmoose_results.py delete mode 100644 dependencies/mooseherder/examples/ex8_read_existing_sweep_output.py delete mode 100644 dependencies/mooseherder/examples/ex9_full_functionality_no_print.py delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-13.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-13_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-23.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-23_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-15.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-15_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-2.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-22.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-22_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-2_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-10.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-10_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-18.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-18_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-24.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-24_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-3.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-3_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-11.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-11_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-21.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-21_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-4.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-4_out.e delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6.i delete mode 100644 dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6_out.e delete mode 100644 dependencies/mooseherder/examples/run_all.py delete mode 100644 dependencies/mooseherder/pyproject.toml delete mode 100644 dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_2d.geo delete mode 100644 dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_3d.geo delete mode 100644 dependencies/mooseherder/scripts/gmsh_tens_spline_2d-mod_vars.geo delete mode 100644 dependencies/mooseherder/scripts/moose-mech_mod-vars.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-creep-gmsh.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o1.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo0.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo1.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo2.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o1.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2-moo2.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-sub-dom.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o1.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo0.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo1.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo2.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o1.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o2.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-thermal-exp.i delete mode 100644 dependencies/mooseherder/scripts/moose-test-cases/moose-mech-two-beams.i delete mode 100644 dependencies/mooseherder/scripts/moose/moose-mech-gmsh.i delete mode 100644 dependencies/mooseherder/scripts/moose/moose-mech-outtest.i delete mode 100644 dependencies/mooseherder/scripts/moose/moose-mech-simple.i delete mode 100644 dependencies/mooseherder/src/mooseherder/__init__.py delete mode 100644 dependencies/mooseherder/src/mooseherder/directorymanager.py delete mode 100644 dependencies/mooseherder/src/mooseherder/exodusreader.py delete mode 100644 dependencies/mooseherder/src/mooseherder/gmshrunner.py delete mode 100644 dependencies/mooseherder/src/mooseherder/inputmodifier.py delete mode 100644 dependencies/mooseherder/src/mooseherder/mooseconfig.py delete mode 100644 dependencies/mooseherder/src/mooseherder/mooseherd.py delete mode 100644 dependencies/mooseherder/src/mooseherder/mooserunner.py delete mode 100644 dependencies/mooseherder/src/mooseherder/outputreader.py delete mode 100644 dependencies/mooseherder/src/mooseherder/simdata.py delete mode 100644 dependencies/mooseherder/src/mooseherder/simrunner.py delete mode 100644 dependencies/mooseherder/src/mooseherder/sweepreader.py delete mode 100644 dependencies/mooseherder/tests/__init__.py delete mode 100644 dependencies/mooseherder/tests/directorymanager_test.py delete mode 100644 dependencies/mooseherder/tests/exodusreader_test.py delete mode 100644 dependencies/mooseherder/tests/generate_moose_output.py delete mode 100644 dependencies/mooseherder/tests/gmsh/gmsh-broken.geo delete mode 100644 dependencies/mooseherder/tests/gmsh/gmsh-test.geo delete mode 100644 dependencies/mooseherder/tests/gmshrunner_test.py delete mode 100644 dependencies/mooseherder/tests/herdchecker.py delete mode 100644 dependencies/mooseherder/tests/inputmodifier_gmsh_test.py delete mode 100644 dependencies/mooseherder/tests/inputmodifier_moose_test.py delete mode 100644 dependencies/mooseherder/tests/moose/moose-test-broken.i delete mode 100644 dependencies/mooseherder/tests/moose/moose-test-gmsh.i delete mode 100644 dependencies/mooseherder/tests/moose/moose-test.i delete mode 100644 dependencies/mooseherder/tests/mooseconfig_test.py delete mode 100644 dependencies/mooseherder/tests/mooseherd_test.py delete mode 100644 dependencies/mooseherder/tests/mooserunner_test.py delete mode 100644 dependencies/mooseherder/tests/output/moose-mech-outtest.i delete mode 100644 dependencies/mooseherder/tests/output/moose-mech-outtest_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-1.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-12.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-12_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-16.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-16_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-1_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-20.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-20_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-21.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-21_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-6.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-1/sim-6_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-13.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-13_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-17.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-17_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-2.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-24.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-24_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-2_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-5.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-5_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-9.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-2/sim-9_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-10.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-10_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-14.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-14_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-18.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-18_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-22.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-22_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-3.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-3_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-8.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-3/sim-8_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-11.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-11_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-15.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-15_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-19.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-19_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-23.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-23_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-4.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-4_out.e delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-7.i delete mode 100644 dependencies/mooseherder/tests/output/sim-workdir-4/sim-7_out.e delete mode 100644 dependencies/mooseherder/tests/sweepreader_test.py delete mode 100644 docs/requirements.txt diff --git a/dependencies/mooseherder/.gitignore b/dependencies/mooseherder/.gitignore deleted file mode 100644 index 59a08138..00000000 --- a/dependencies/mooseherder/.gitignore +++ /dev/null @@ -1,179 +0,0 @@ -# MOOSE config/output files -*.e -examples/sim-workdir-* -examples/*.csv -scripts/sim-workdir-* -scripts/*.csv -tests/sim-workdir-* -*.processor.* -# Keep MOOSE output files used for pytest -!examples/example_output/sim-workdir-*/*.e -!tests/output/*.e -!tests/output/sim-workdir-*/*.e - -# Gmsh output files -*.msh - -# VS Code -.vscode/ - -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# poetry -# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control -#poetry.lock - -# pdm -# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. -#pdm.lock -# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it -# in version control. -# https://pdm.fming.dev/#use-with-ide -.pdm.toml - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ - -# PyCharm -# JetBrains specific template is maintained in a separate JetBrains.gitignore that can -# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore -# and can be added to the global gitignore or merged into this file. For a more nuclear -# option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ diff --git a/dependencies/mooseherder/LICENSE b/dependencies/mooseherder/LICENSE deleted file mode 100644 index 8000a6fa..00000000 --- a/dependencies/mooseherder/LICENSE +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random - Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/dependencies/mooseherder/README.md b/dependencies/mooseherder/README.md deleted file mode 100644 index 9da4ef53..00000000 --- a/dependencies/mooseherder/README.md +++ /dev/null @@ -1,44 +0,0 @@ -# MOOSEHerder -A `mooseherder` for calling multiple MOOSE simulations in parallel from python with configurable parallelisation options. Includes functionality to read and edit MOOSE/gmsh input scripts as well as reading the associated output of the simulation in parallel. - -The main use cases for `mooseherder` include running parametric sweeps of small to medium size simulations for mesh convergence analysis; fitting surrogate/reduced order models; and optimisation problems. - -## Installation -### Virtual Environment - -We recommend installing `mooseherder` in a virtual environment using `venv` or `mooseherder` can be installed into an existing environment of your choice. To create a specific virtual environment for `mooseherder` use: - -``` -python3 -m venv herder-env -source herder-env/bin/activate -``` - -### Standard Installation from PyPI - -You can install from PyPI: - -``` -pip install mooseherder -``` - -### Developer Installation - -Clone `mooseherder` to your local system and `cd` to the root directory of `mooseherder`. Ensure you virtual environment is activated and run from the `mooseherder` root directory: - -``` -pip install -e . -``` - -### MOOSE App - -`mooseherder` has been developed and tested using the `proteus` MOOSE app which can be found here: https://github.com/aurora-multiphysics/proteus. Follow the build instructions found on this page to install `proteus`. - -## Getting Started - -The examples folder includes a sequence of examples using `mooseherder` to run the MOOSE tensor mechanics module with and without coupling to gmsh. - -## Contributors - -- Lloyd Fletcher, UK Atomic Energy Authority, (TheScepticalRabbit) -- Rory Spencer, UK Atomic Energy Authority, (fusmatrs) -- Luke Humphrey, UK Atomic Energy Authority, (lukethehuman) \ No newline at end of file diff --git a/dependencies/mooseherder/dev/dev_create_moose_config.py b/dependencies/mooseherder/dev/dev_create_moose_config.py deleted file mode 100644 index 4400726e..00000000 --- a/dependencies/mooseherder/dev/dev_create_moose_config.py +++ /dev/null @@ -1,16 +0,0 @@ -from pathlib import Path -from mooseherder.mooseconfig import MooseConfig - -USER_DIR = Path.home() - -config = {'main_path': USER_DIR / 'moose', - 'app_path': USER_DIR / 'proteus', - 'app_name': 'proteus-opt'} - -moose_config = MooseConfig(config) - -save_path = Path.cwd() / 'moose-config.json' -moose_config.save_config(save_path) - -save_path = Path.home() / 'py-workdir' / 'pycave' / 'scripts' / 'moose-config.json' -moose_config.save_config diff --git a/dependencies/mooseherder/dev/dev_para_multi_moose.py b/dependencies/mooseherder/dev/dev_para_multi_moose.py deleted file mode 100644 index 9a2e0809..00000000 --- a/dependencies/mooseherder/dev/dev_para_multi_moose.py +++ /dev/null @@ -1,138 +0,0 @@ -''' -============================================================================== -EXAMPLE: Run MOOSE in sequential then parallel mode then read sweep results - -Author: Lloyd Fletcher, Rory Spencer -============================================================================== -''' -import time -from pathlib import Path -from pprint import pprint -import numpy as np -from mooseherder import MooseHerd -from mooseherder import MooseRunner -from mooseherder import MooseConfig -from mooseherder import GmshRunner -from mooseherder import InputModifier -from mooseherder import DirectoryManager -from mooseherder import SweepReader -from mooseherder import ExodusReader - -USER_DIR = Path.home() - -def main() -> None: - """main: parallel herd run multiple times and read - """ - print("-"*80) - print('EXAMPLE: Parallel Herd Setup & Run') - print("-"*80) - # Setup the MOOSE input modifier and runner - moose_input = Path('scripts/moose/moose-mech-simple.i') - moose_modifier = InputModifier(moose_input,'#','') - - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = True) - - # Setup Gmsh - gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') - gmsh_modifier = InputModifier(gmsh_input,'//',';') - - gmsh_path = USER_DIR / 'gmsh/bin/gmsh' - gmsh_runner = GmshRunner(gmsh_path) - gmsh_runner.set_input_file(gmsh_input) - - # Setup herd composition - sim_runners = [gmsh_runner,moose_runner] - input_modifiers = [gmsh_modifier,moose_modifier] - dir_manager = DirectoryManager(n_dirs=4) - - # Start the herd and create working directories - herd = MooseHerd(sim_runners,input_modifiers,dir_manager) - # Set the parallelisation options, we have 8 combinations of variables and - # 4 MOOSE intances running, so 2 runs will be saved in each working directory - herd.set_num_para_sims(n_para=4) - - # Send all the output to the examples directory and clear out old output - dir_manager.set_base_dir(Path('examples/')) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - # Create variables to sweep in a list of dictionaries, 8 combinations possible. - p0 = [1E-3,2E-3] - p1 = [1.5E-3,2E-3] - p2 = [1E-3,3E-3] - var_sweep = list([]) - for nn in p0: - for ee in p1: - for pp in p2: - var_sweep.append([{'p0':nn,'p1':ee,'p2':pp},None]) - - print('Herd sweep variables:') - pprint(var_sweep) - print() - - print() - print('Running MOOSE in parallel.') - herd.run_para(var_sweep) - - print(f'Run time (parallel) = {herd.get_sweep_time():.3f} seconds') - print("-"*80) - print() - - print("-"*80) - print('EXAMPLE: Read Herd Output') - print("-"*80) - sweep_reader = SweepReader(dir_manager,num_para_read=4) - output_files = sweep_reader.read_all_output_keys() - - read_config = ExodusReader(output_files[0][1]).get_read_config() # type: ignore - read_config.time_inds = np.array([0,2]) - - print('Herd output files (from output_keys.json):') - pprint(output_files) - print() - - print("-"*80) - print('Reading the first output file, no SimReadConfig = read all.') - print('Returns the first sim chain as list of SimData objects.') - print() - sim_data_chain = sweep_reader.read_results_once(output_files[1]) - print(sim_data_chain[0]) - print() - - print("-"*80) - print('Reading all output files sequentially as a list(SimData).') - print('All function parameters blank to read everything.') - print() - start_time = time.perf_counter() - sweep_results_seq = sweep_reader.read_results_sequential(read_config=read_config) - read_time_seq = time.perf_counter() - start_time - - print(f'Number of simulations read: {len(sweep_results_seq):d}') - - print("-"*80) - print('Reading all output files in parallel as list(SimData).') - print('All function parameters blank to read everything.') - print() - - start_time = time.perf_counter() - sweep_results_para = sweep_reader.read_results_para(read_config=read_config) - read_time_para = time.perf_counter() - start_time - - print(f'Number of simulations outputs: {len(sweep_results_para):d}') - - print() - print("="*80) - print(f'Read time sequential = {read_time_seq:.6f} seconds') - print(f'Read time parallel = {read_time_para:.6f} seconds') - print("="*80) - print() - - print(sweep_results_para[0][1].node_vars['disp_x'].shape) # type: ignore - - -if __name__ == '__main__': - main() diff --git a/dependencies/mooseherder/dev/dev_read_exodus.py b/dependencies/mooseherder/dev/dev_read_exodus.py deleted file mode 100644 index d66ef61a..00000000 --- a/dependencies/mooseherder/dev/dev_read_exodus.py +++ /dev/null @@ -1,17 +0,0 @@ -from pathlib import Path -from mooseherder import ExodusReader - -def main() -> None: - output_file = Path.home()/'moose-workdir'/'dice_output'/'DICe_solution.e' - exodus_reader = ExodusReader(output_file) - - sim_data = exodus_reader.read_all_sim_data() - - print() - print(sim_data.time) - print(sim_data.coords) - print(sim_data.node_vars) - print() - -if __name__ == '__main__': - main() diff --git a/dependencies/mooseherder/docs/requirements.txt b/dependencies/mooseherder/docs/requirements.txt deleted file mode 100644 index 296d6545..00000000 --- a/dependencies/mooseherder/docs/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -numpy \ No newline at end of file diff --git a/dependencies/mooseherder/examples/ex0_create_moose_config.py b/dependencies/mooseherder/examples/ex0_create_moose_config.py deleted file mode 100644 index 751cb182..00000000 --- a/dependencies/mooseherder/examples/ex0_create_moose_config.py +++ /dev/null @@ -1,27 +0,0 @@ -""" -============================================================================== -EXAMPLE: Create moose-config.json - -Author: Lloyd Fletcher -============================================================================== -""" -from pathlib import Path -from mooseherder import MooseConfig - - -def main() -> None: - """main: create moose config json - """ - config = {'main_path': Path.home()/ 'moose', - 'app_path': Path.home() / 'proteus', - 'app_name': 'proteus-opt'} - - moose_config = MooseConfig(config) - - save_path = Path.cwd() / 'moose-config.json' - moose_config.save_config(save_path) - - -if __name__ == "__main__": - main() - diff --git a/dependencies/mooseherder/examples/ex1a_modify_moose_input.py b/dependencies/mooseherder/examples/ex1a_modify_moose_input.py deleted file mode 100644 index 6eaeb580..00000000 --- a/dependencies/mooseherder/examples/ex1a_modify_moose_input.py +++ /dev/null @@ -1,46 +0,0 @@ -""" -============================================================================== -EXAMPLE: Modify input script for MOOSE with mooseherder - -Author: Lloyd Fletcher -============================================================================== -""" -from pathlib import Path -from mooseherder import InputModifier - -MOOSE_INPUT = Path("scripts/moose/moose-mech-simple.i") - - -def main() -> None: - """main: modify moose input script and write modified file. - """ - print("-"*80) - print("EXAMPLE: Modify MOOSE input script") - print("-"*80) - moose_mod = InputModifier(MOOSE_INPUT, comment_char="#", end_char="") - - print("Variables found the top of the MOOSE input file:") - print(moose_mod.get_vars()) - print() - - new_vars = {"n_elem_y": 40, "e_modulus": 3.3e9} - moose_mod.update_vars(new_vars) - - print("New variables inserted:") - print(moose_mod.get_vars()) - print() - - moose_save = Path("scripts/moose-mech_mod-vars.i") - moose_mod.write_file(moose_save) - - print("Modified input script written to:") - print(moose_save) - print() - - print("Example complete.") - print("-"*80) - print() - - -if __name__ == "__main__": - main() diff --git a/dependencies/mooseherder/examples/ex1b_modify_gmsh_input.py b/dependencies/mooseherder/examples/ex1b_modify_gmsh_input.py deleted file mode 100644 index d7c95506..00000000 --- a/dependencies/mooseherder/examples/ex1b_modify_gmsh_input.py +++ /dev/null @@ -1,46 +0,0 @@ -""" -============================================================================== -EXAMPLE: Modify input script for gmsh with mooseherder - -Author: Lloyd Fletcher -============================================================================== -""" -from pathlib import Path -from mooseherder import InputModifier - -GMSH_INPUT = Path("scripts/gmsh/gmsh_tens_spline_2d.geo") - - -def main() -> None: - """main: modify gmsh input and save to file - """ - print("-"*80) - print("EXAMPLE: Modify gmsh input script") - print("-"*80) - gmsh_mod = InputModifier(GMSH_INPUT, "//", ";") - - print("Variables found the top of the gmsh input file:") - print(gmsh_mod.get_vars()) - print() - - new_vars = {"p0": 0.0018, "p1": 0.0012, "p2": 0.001} - gmsh_mod.update_vars(new_vars) - - print("New variables inserted:") - print(gmsh_mod.get_vars()) - print() - - gmsh_save = Path("scripts/gmsh_tens_spline_2d-mod_vars.geo") - gmsh_mod.write_file(gmsh_save) - - print("Modified input script written to:") - print(gmsh_save) - print() - - print("Example complete.") - print("-"*80) - print() - - -if __name__ == "__main__": - main() diff --git a/dependencies/mooseherder/examples/ex2a_run_moose_once.py b/dependencies/mooseherder/examples/ex2a_run_moose_once.py deleted file mode 100644 index bad367d9..00000000 --- a/dependencies/mooseherder/examples/ex2a_run_moose_once.py +++ /dev/null @@ -1,51 +0,0 @@ -""" -============================================================================== -EXAMPLE: Run MOOSE using mooseherder once - -Author: Lloyd Fletcher -============================================================================== -""" -import time -from pathlib import Path -from mooseherder import (MooseConfig, - MooseRunner) - -def main() -> None: - """main: run moose once with runner class - """ - print("-"*80) - print('EXAMPLE: Run MOOSE once') - print("-"*80) - - config_path = Path.cwd() / 'moose-config.json' - moose_config = MooseConfig().read_config(config_path) - print(f'Reading MOOSE config from: \n{str(config_path)}\n') - - print('Creating the MooseRunner with the specified config.\n') - moose_runner = MooseRunner(moose_config) - - print('Setting the input file and run parallelisation options.\n') - - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 8, - redirect_out = False) - - input_file = Path('scripts/moose/moose-mech-simple.i') - moose_runner.set_input_file(input_file) - - # Run the MOOSE! - print('Running moose with:') - print(moose_runner.get_arg_list()) - - start_time = time.perf_counter() - moose_runner.run() - run_time = time.perf_counter() - start_time - - print() - print(f'MOOSE run time = {run_time:.3f} seconds') - print("-"*80) - print() - -if __name__ == '__main__': - main() - diff --git a/dependencies/mooseherder/examples/ex2b_run_gmsh_once.py b/dependencies/mooseherder/examples/ex2b_run_gmsh_once.py deleted file mode 100644 index 22d4ba90..00000000 --- a/dependencies/mooseherder/examples/ex2b_run_gmsh_once.py +++ /dev/null @@ -1,63 +0,0 @@ -""" -============================================================================== -EXAMPLE: Run gmsh with mooseherder once - -Author: Lloyd Fletcher -============================================================================== -""" -import time -from pathlib import Path -from mooseherder import GmshRunner - -USER_DIR = Path.home() - -def main(): - """main: create mesh with gmsh in 2D then 3D - """ - print("-"*80) - print('EXAMPLE: Run Gmsh 2D once') - print("-"*80) - gmsh_path = USER_DIR / 'gmsh/bin/gmsh' - gmsh_runner = GmshRunner(gmsh_path) - - gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') - gmsh_runner.set_input_file(gmsh_input) - - print('Gmsh path:' + str(gmsh_path)) - print('Gmsh input:' + str(gmsh_input)) - - print('Running gmsh...') - start_time = time.perf_counter() - gmsh_runner.run(gmsh_input,parse_only=True) - run_time = time.perf_counter() - start_time - - print() - print(f'Gmsh 2D run time = {run_time :.3f} seconds') - print("-"*80) - print() - - print("-"*80) - print('EXAMPLE: Run Gmsh 3D once') - print("-"*80) - gmsh_path = USER_DIR / 'gmsh/bin/gmsh' - gmsh_runner = GmshRunner(gmsh_path) - - gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_3d.geo') - gmsh_runner.set_input_file(gmsh_input) - - print('Gmsh path:' + str(gmsh_path)) - print('Gmsh input:' + str(gmsh_input)) - - print('Running gmsh...') - start_time = time.perf_counter() - gmsh_runner.run(gmsh_input,parse_only=True) - run_time = time.perf_counter() - start_time - - print() - print(f'Gmsh 3D run time = {run_time :.3f} seconds') - print("-"*80) - print() - - -if __name__ == '__main__': - main() diff --git a/dependencies/mooseherder/examples/ex2c_run_both_once .py b/dependencies/mooseherder/examples/ex2c_run_both_once .py deleted file mode 100644 index a8334caf..00000000 --- a/dependencies/mooseherder/examples/ex2c_run_both_once .py +++ /dev/null @@ -1,86 +0,0 @@ -""" -============================================================================== -EXAMPLE: Run gmsh+MOOSE once with mooseherder with MOOSE reading the gmsh -generated mesh. - -Author: Lloyd Fletcher -============================================================================== -""" -import time -import os -import shutil -from pathlib import Path -from mooseherder import (MooseConfig, - GmshRunner, - MooseRunner) - -USER_DIR = Path.home() - -def main(): - """main: run gmsh and moose once - """ - print("-"*80) - print('EXAMPLE: Run Gmsh+MOOSE once') - print("-"*80) - - gmsh_path = USER_DIR / 'gmsh/bin/gmsh' - gmsh_runner = GmshRunner(gmsh_path) - - gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') - gmsh_runner.set_input_file(gmsh_input) - - print('Gmsh path:' + str(gmsh_path)) - print('Gmsh input:' + str(gmsh_input)) - print() - - print('Running gmsh...') - print() - - gmsh_start = time.perf_counter() - gmsh_runner.run() - gmsh_run_time = time.perf_counter()-gmsh_start - - config_path = Path.cwd() / 'moose-config.json' - - print(f'Reading MOOSE config from: \n{str(config_path)}\n') - - moose_config = MooseConfig() - moose_config.read_config(config_path) - - print('Creating the MooseRunner with the specified config.\n') - - moose_runner = MooseRunner(moose_config) - - - print('Setting the input file and run parallelisation options.\n') - - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 4, - redirect_out = True) - input_file = Path('scripts/moose/moose-mech-gmsh.i') - moose_runner.set_input_file(input_file) - - # Copy mesh file into the directory - moose_mesh_file = os.path.split(input_file)[0]+'/mesh_tens_spline_2d.msh' - moose_mesh_file = input_file.parent / 'mesh_tens_spline_2d.msh' - msh_file = Path('scripts/gmsh/mesh_tens_spline_2d.msh') - shutil.copyfile(msh_file,moose_mesh_file) - - # Run the MOOSE! - print('Running moose with:') - print(moose_runner.get_arg_list()) - print() - - moose_start = time.perf_counter() - moose_runner.run() - moose_run_time = time.perf_counter() - moose_start - - print(f'Gmsh run time = {gmsh_run_time:.2f} seconds') - print(f'MOOOSE run time = {moose_run_time:.2f} seconds') - print("-"*80) - print() - -if __name__ == '__main__': - main() - - diff --git a/dependencies/mooseherder/examples/ex3_run_moose_seq_para.py b/dependencies/mooseherder/examples/ex3_run_moose_seq_para.py deleted file mode 100644 index 9f6fd697..00000000 --- a/dependencies/mooseherder/examples/ex3_run_moose_seq_para.py +++ /dev/null @@ -1,103 +0,0 @@ -''' -============================================================================== -EXAMPLE: Run MOOSE in sequential then parallel mode with mooseherder - -Author: Lloyd Fletcher, Rory Spencer -============================================================================== -''' -from pathlib import Path -from mooseherder import (MooseHerd, - MooseRunner, - InputModifier, - DirectoryManager, - MooseConfig) - -USER_DIR = Path.home() - -def main(): - """main: run moose once, sequential then parallel. - """ - print("-"*80) - print('EXAMPLE: Herd Setup') - print("-"*80) - - config_path = Path.cwd() / 'moose-config.json' - moose_config = MooseConfig().read_config(config_path) - moose_input = Path('scripts/moose/moose-mech-simple.i') - - moose_modifier = InputModifier(moose_input,'#','') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = True) - - dir_manager = DirectoryManager(n_dirs=4) - - # Start the herd and create working directories - herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) - - # Set the parallelisation options, we have 8 combinations of variables and - # 4 MOOSE intances running, so 2 runs will be saved in each working directory - herd.set_num_para_sims(n_para=4) - - # Send all the output to the examples directory and clear out old output - dir_manager.set_base_dir(Path('examples/')) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - # Create variables to sweep in a list of dictionaries, 8 combinations possible. - n_elem_y = [10,20] - e_mod = [1e9,2e9] - p_rat = [0.3,0.35] - moose_vars = list([]) - for nn in n_elem_y: - for ee in e_mod: - for pp in p_rat: - # Needs to be list[list[dict]] - outer list is simulation iteration, - # inner list is what is passed to each runner/inputmodifier - moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) - - print('Herd sweep variables:') - for vv in moose_vars: - print(vv) - - print() - print("-"*80) - print('EXAMPLE: Run MOOSE once') - print("-"*80) - - # Single run saved in sim-workdir-1 - herd.run_once(0,moose_vars[0]) - - print(f'Run time (once) = {herd.get_iter_time():.3f} seconds') - print("-"*80) - print() - - print("-"*80) - print('EXAMPLE: Run MOOSE sequentially') - print("-"*80) - - # Run all variable combinations (8) sequentially in sim-workdir-1 - herd.run_sequential(moose_vars) - - print(f'Run time (seq) = {herd.get_sweep_time():.3f} seconds') - print("-"*80) - print() - - print("-"*80) - print('EXAMPLE: Run MOOSE in parallel') - print("-"*80) - - # Run all variable combinations across 4 MOOSE instances with two runs saved in - # each sim-workdir - herd.run_para(moose_vars) - - print(f'Run time (para) = {herd.get_sweep_time():.3f} seconds') - print("-"*80) - print() - - -if __name__ == '__main__': - main() - - diff --git a/dependencies/mooseherder/examples/ex4_run_gmsh-moose_seq_para.py b/dependencies/mooseherder/examples/ex4_run_gmsh-moose_seq_para.py deleted file mode 100644 index cca44c16..00000000 --- a/dependencies/mooseherder/examples/ex4_run_gmsh-moose_seq_para.py +++ /dev/null @@ -1,108 +0,0 @@ -''' -============================================================================== -EXAMPLE: Run parallel gmsh+MOOSE simulation editing the gmsh parameters only - -Author: Lloyd Fletcher, Rory Spencer -============================================================================== -''' -from pathlib import Path -from mooseherder import (MooseHerd, - MooseRunner, - MooseConfig, - GmshRunner, - InputModifier, - DirectoryManager) - -USER_DIR = Path.home() - -def main(): - """main _summary_ - """ - print("-"*80) - print('EXAMPLE: Herd Setup') - print("-"*80) - - # Setup MOOSE runner and input modifier - moose_input = Path('scripts/moose/moose-mech-gmsh.i') - moose_modifier = InputModifier(moose_input,'#','') - - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = True) - - # Setup Gmsh - gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') - gmsh_modifier = InputModifier(gmsh_input,'//',';') - - gmsh_path = USER_DIR / 'gmsh/bin/gmsh' - gmsh_runner = GmshRunner(gmsh_path) - gmsh_runner.set_input_file(gmsh_input) - - # Setup herd composition - sim_runners = [gmsh_runner,moose_runner] - input_modifiers = [gmsh_modifier,moose_modifier] - dir_manager = DirectoryManager(n_dirs=4) - - # Start the herd and create working directories - herd = MooseHerd(sim_runners,input_modifiers,dir_manager) - herd.set_num_para_sims(n_para=4) - # Don't have to clear directories on creation of the herd but we do so here - # so that directory creation doesn't raise errors - dir_manager.set_base_dir(Path('examples/')) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - # Create variables to sweep in a list of dictionaries for mesh parameters - # 2^3=8 combinations possible - p0 = [1E-3,2E-3] - p1 = [1.5E-3,2E-3] - p2 = [1E-3,3E-3] - var_sweep = list([]) - for nn in p0: - for ee in p1: - for pp in p2: - var_sweep.append([{'p0':nn,'p1':ee,'p2':pp},None]) - - print('Herd sweep variables:') - for vv in var_sweep: - print(vv) - - print() - print("-"*80) - print('EXAMPLE: Run Gmsh+MOOSE once, modify gmsh only') - print("-"*80) - - # Single run saved in sim-workdir-1 - herd.run_once(0,var_sweep[0]) - - print(f'Run time (once) = {herd.get_iter_time():.3f}) seconds') - print("-"*80) - print() - - print("-"*80) - print('EXAMPLE 4b: Run MOOSE sequentially, modify gmsh only') - print("-"*80) - - # Run all variable combinations (8) sequentially in sim-workdir-1 - herd.run_sequential(var_sweep) - - print(f'Run time (sequential) = {herd.get_sweep_time():.3f} seconds') - print("-"*80) - print() - print("-"*80) - print('EXAMPLE: Run MOOSE in parallel, modify gmsh only') - print("-"*80) - - # Run all variable combinations across 4 MOOSE instances with two runs saved in - # each sim-workdir - herd.run_para(var_sweep) - - print(f'Run time (parallel) = {herd.get_sweep_time():.3f} seconds') - print("-"*80) - print() - -if __name__ == '__main__': - main() - diff --git a/dependencies/mooseherder/examples/ex5_run_moose_paramulti.py b/dependencies/mooseherder/examples/ex5_run_moose_paramulti.py deleted file mode 100644 index e0801911..00000000 --- a/dependencies/mooseherder/examples/ex5_run_moose_paramulti.py +++ /dev/null @@ -1,85 +0,0 @@ -''' -============================================================================== -EXMAPLE: Run MOOSE in sequential then parallel mode with mooseherder - -Author: Lloyd Fletcher, Rory Spencer -============================================================================== -''' -from pathlib import Path -from mooseherder import (MooseHerd, - MooseRunner, - MooseConfig, - InputModifier, - DirectoryManager) - -NUM_PARA_RUNS = 3 -USER_DIR = Path.home() - -def main(): - """main: run moose once, sequential then parallel. - """ - print("-"*80) - print('EXMAPLE: Herd Setup') - print("-"*80) - - # Setup the MOOSE input modifier and runner - moose_input = Path('scripts/moose/moose-mech-simple.i') - moose_modifier = InputModifier(moose_input,'#','') - - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = True) - - dir_manager = DirectoryManager(n_dirs=4) - - # Start the herd and create working directories - herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) - - # Set the parallelisation options, we have 8 combinations of variables and - # 4 MOOSE intances running, so 2 runs will be saved in each working directory - herd.set_num_para_sims(n_para=4) - - # Send all the output to the examples directory and clear out old output - dir_manager.set_base_dir(Path('examples/')) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - # Create variables to sweep in a list of dictionaries, 8 combinations possible. - n_elem_y = [10,20] - e_mod = [1e9,2e9] - p_rat = [0.3,0.35] - moose_vars = list([]) - for nn in n_elem_y: - for ee in e_mod: - for pp in p_rat: - # Needs to be list[list[dict]] - outer list is simulation iteration, - # inner list is what is passed to each runner/inputmodifier - moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) - - print('Herd sweep variables:') - for vv in moose_vars: - print(vv) - - - print() - print("-"*80) - print('EXMAPLE: Run MOOSE in parallel x3') - print("-"*80) - - # Run all variable combinations across 4 MOOSE instances with two runs saved in - # each sim-workdir - for rr in range(NUM_PARA_RUNS): - herd.run_para(moose_vars) - - print(f'Run time (para {rr+1}) = {herd.get_sweep_time():.3f} seconds') - print("-"*80) - - print() - - -if __name__ == '__main__': - main() - - diff --git a/dependencies/mooseherder/examples/ex6_read_moose_exodus.py b/dependencies/mooseherder/examples/ex6_read_moose_exodus.py deleted file mode 100644 index 8ee74433..00000000 --- a/dependencies/mooseherder/examples/ex6_read_moose_exodus.py +++ /dev/null @@ -1,127 +0,0 @@ -""" -============================================================================== -EXMAPLE: Run MOOSE once with mooseherder and read the exodus output - -Author: Lloyd Fletcher -============================================================================== -""" -import time -from pprint import pprint -from pathlib import Path -from typing import Any -import numpy as np -from mooseherder import (MooseRunner, - MooseConfig, - ExodusReader) - -USER_DIR = Path.home() - - -def print_attrs(in_obj: Any) -> None: - _ = [print(aa) for aa in dir(in_obj) if '__' not in aa] - - -def main() -> None: - """main: run moose once and read the exodus output - """ - print('='*80) - print('EXAMPLE: Run MOOSE once, read exodus.') - print('='*80) - print('Generating exodus output to read by running MOOSE once.') - - # Create the moose runner with correct paths to moose and apps - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - - # Set input and parallelisation options - moose_runner.set_run_opts(n_tasks = 1, n_threads = 4,redirect_out = True) - input_file = Path('scripts/moose/moose-mech-simple.i') - moose_runner.set_input_file(input_file) - - # Run the MOOSE! - print('Running moose with:') - print(moose_runner.get_arg_list()) - - start_time = time.perf_counter() - moose_runner.run() - run_time = time.perf_counter() - start_time - - print() - print(f'MOOSE run time = {run_time:.3f} seconds') - print('='*80) - print() - - output_file = Path('scripts/moose/moose-mech-simple_out.e') - print('Reading exodus file with ExodusReader:') - print(output_file) - print() - - exodus_reader = ExodusReader(output_file) - - print('Read all data in the exodus file returning a SimData object with everything.') - all_sim_data = exodus_reader.read_all_sim_data() - pprint(type(all_sim_data)) - print() - print('Attributes of SimData:') - print_attrs(all_sim_data) - print() - - print('Read only specific node/element/global variables using SimReadConfig.') - print('Use ExodusReader to get SimReadConfig with all variables then edit it.') - read_config = exodus_reader.get_read_config() - pprint(type(read_config)) - print() - print('Attributes of SimReadConfig:') - print_attrs(read_config) - print() - - print('Set any attribute of SimReadConfig to None to not read data.') - print('This example sets elem_vars to None and reads the exodus:') - read_config.elem_vars = None - sim_data = exodus_reader.read_sim_data(read_config) - print(f'sim_data.elem_vars = {sim_data.elem_vars}') - print() - - print('The attributes of SimReadConfig for time, coords and connect ') - print('can be set to None or False to not be read or True to be read.') - print('Here we turn off reading for time, coords and connect:') - read_config.time = False - read_config.coords = False - read_config.connect = False - sim_data = exodus_reader.read_sim_data(read_config) - print(f'sim_data.time = {sim_data.time}') - print(f'sim_data.coords = {sim_data.coords}') - print(f'sim_data.connect = {sim_data.connect}') - print() - print('Turning back on reading for time, coords and connect.') - read_config.time = True - read_config.coords = True - read_config.connect = True - sim_data = exodus_reader.read_sim_data(read_config) - print(f'sim_data.time = {sim_data.time}') - print(f'sim_data.coords = {sim_data.coords}') - print(f'sim_data.connect = {sim_data.connect}') - print() - - print('Set attributes of SimReadConfig to a list of names as np.array') - print('This example only reads disp_x from the nodal variables:') - read_config.node_vars = np.array(['disp_x']) - sim_data = exodus_reader.read_sim_data(read_config) - print('sim_data.node_vars =') - pprint(sim_data.node_vars) - print() - - print('Element variables are an exception as they also need a block.') - read_config.elem_vars = [('strain_xx',1),('strain_yy',1)] - sim_data = exodus_reader.read_sim_data(read_config) - print("sim_data.elem_vars[('strain_xx',1)] = ") - pprint(sim_data.elem_vars[('strain_xx',1)]) # type: ignore - print() - - print('NOTE: depending on output settings element variables may appear as nodal.') - print('-'*80) - print() - - -if __name__ == '__main__': - main() diff --git a/dependencies/mooseherder/examples/ex7a_read_moose_herd_results.py b/dependencies/mooseherder/examples/ex7a_read_moose_herd_results.py deleted file mode 100644 index 9deaebde..00000000 --- a/dependencies/mooseherder/examples/ex7a_read_moose_herd_results.py +++ /dev/null @@ -1,119 +0,0 @@ -''' -============================================================================== -EXAMPLE: Run MOOSE in sequential then parallel mode then read sweep results - -Author: Lloyd Fletcher, Rory Spencer -============================================================================== -''' -import time -from pathlib import Path -from pprint import pprint -from mooseherder import (MooseHerd, - MooseRunner, - MooseConfig, - InputModifier, - DirectoryManager, - SweepReader) - -USER_DIR = Path.home() - -def main() -> None: - """main: parallel herd run once and read - """ - print("-"*80) - print('EXAMPLE: Parallel Herd Setup & Run') - print("-"*80) - # Setup the MOOSE input modifier and runner - moose_input = Path('scripts/moose/moose-mech-simple.i') - moose_modifier = InputModifier(moose_input,'#','') - - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = True) - - dir_manager = DirectoryManager(n_dirs=4) - - # Start the herd and create working directories - herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) - - # Set the parallelisation options, we have 8 combinations of variables and - # 4 MOOSE intances running, so 2 runs will be saved in each working directory - herd.set_num_para_sims(n_para=4) - - # Send all the output to the examples directory and clear out old output - dir_manager.set_base_dir(Path('examples/')) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - # Create variables to sweep in a list of dictionaries, 8 combinations possible. - n_elem_y = [10,20] - e_mod = [1e9,2e9] - p_rat = [0.3,0.35] - moose_vars = list([]) - for nn in n_elem_y: - for ee in e_mod: - for pp in p_rat: - # Needs to be list[list[dict]] - outer list is simulation iteration, - # inner list is what is passed to each runner/inputmodifier - moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) - - print('Herd sweep variables:') - pprint(moose_vars) - - print() - print('Running MOOSE in parallel.') - herd.run_para(moose_vars) - - print(f'Run time (parallel) = {herd.get_sweep_time():.3f} seconds') - print("-"*80) - print() - - print("-"*80) - print('EXAMPLE: Read Herd Output') - print("-"*80) - sweep_reader = SweepReader(dir_manager,num_para_read=4) - output_files = sweep_reader.read_all_output_keys() - - print('Herd output files (from output_keys.json):') - pprint(output_files) - print() - - print("-"*80) - print('Reading the first output file, no SimReadConfig = read all.') - print('Returns as SimData object.') - single_sim_data = sweep_reader.read_results_once(output_files[0]) - print(type(single_sim_data)) - print() - - print("-"*80) - print('Reading all output files sequentially as a list(SimData).') - print('All function parameters blank to read everything.') - print() - start_time = time.perf_counter() - sweep_results_seq = sweep_reader.read_results_sequential() - read_time_seq = time.perf_counter() - start_time - - print(f'Number of simulations read: {len(sweep_results_seq ):d}') - - print("-"*80) - print('Reading all output files in parallel as list(SimData).') - print('All function parameters blank to read everything.') - print() - start_time = time.perf_counter() - sweep_results_para = sweep_reader.read_results_para() - read_time_para = time.perf_counter() - start_time - - print(f'Number of simulations outputs: {len(sweep_results_para):d}') - - print() - print("="*80) - print(f'Read time sequential = {read_time_seq:.6f} seconds') - print(f'Read time parallel = {read_time_para:.6f} seconds') - print("="*80) - print() - - -if __name__ == '__main__': - main() diff --git a/dependencies/mooseherder/examples/ex7b_read_multi_herd_results copy.py b/dependencies/mooseherder/examples/ex7b_read_multi_herd_results copy.py deleted file mode 100644 index 2ae353b5..00000000 --- a/dependencies/mooseherder/examples/ex7b_read_multi_herd_results copy.py +++ /dev/null @@ -1,110 +0,0 @@ -''' -============================================================================== -EXAMPLE: Run MOOSE in parallel multiple times then read sweep results - -Author: Lloyd Fletcher, Rory Spencer -============================================================================== -''' -import time -from pathlib import Path -from pprint import pprint -from mooseherder import (MooseHerd, - MooseRunner, - MooseConfig, - InputModifier, - DirectoryManager, - SweepReader) - -NUM_PARA_RUNS = 3 -USER_DIR = Path.home() - -def main() -> None: - """main: parallel herd run multiple times and read - """ - print("-"*80) - print('EXAMPLE: Parallel Herd Setup & Run') - print("-"*80) - # Setup the MOOSE input modifier and runner - moose_input = Path('scripts/moose/moose-mech-simple.i') - moose_modifier = InputModifier(moose_input,'#','') - - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = True) - - dir_manager = DirectoryManager(n_dirs=4) - - # Start the herd and create working directories - herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) - - # Set the parallelisation options, we have 8 combinations of variables and - # 4 MOOSE intances running, so 2 runs will be saved in each working directory - herd.set_num_para_sims(n_para=4) - - # Send all the output to the examples directory and clear out old output - dir_manager.set_base_dir(Path('examples/')) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - # Create variables to sweep in a list of dictionaries, 8 combinations possible. - n_elem_y = [10,20] - e_mod = [1e9,2e9] - p_rat = [0.3,0.35] - moose_vars = list([]) - for nn in n_elem_y: - for ee in e_mod: - for pp in p_rat: - # Needs to be list[list[dict]] - outer list is simulation iteration, - # inner list is what is passed to each runner/inputmodifier - moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) - - print('Herd sweep variables:') - pprint(moose_vars) - print() - - # Run all variable combinations across 4 MOOSE instances with two runs saved in - # each sim-workdir - for rr in range(NUM_PARA_RUNS): - herd.run_para(moose_vars) - - print(f'Run time (para {rr+1}) = {herd.get_sweep_time():.3f} seconds') - print('------------------------------------------') - - print("-"*80) - print('EXAMPLE: Read Herd Sweep Output') - print("-"*80) - sweep_reader = SweepReader(dir_manager,num_para_read=4) - output_files = sweep_reader.read_all_output_keys() - - print('Herd output files (from output_keys.json):') - pprint(output_files) - print() - - print("-"*80) - print('Reading all output files sequentially as a list(SimData).') - print() - start_time = time.perf_counter() - read_all = sweep_reader.read_results_sequential() - read_time_seq = time.perf_counter() - start_time - - print(f'Number of simulations outputs: {len(read_all):d}') - - print("-"*80) - print('Reading all output files in parallel as list(SimData).') - print() - start_time = time.perf_counter() - read_all = sweep_reader.read_results_para() - read_time_para = time.perf_counter() - start_time - - print(f'Number of simulations outputs: {len(read_all):d}') - print() - print("="*80) - print(f'Read time sequential = {read_time_seq:.6f} seconds') - print(f'Read time parallel = {read_time_para:.6f} seconds') - print("="*80) - print() - -if __name__ == '__main__': - main() diff --git a/dependencies/mooseherder/examples/ex7c_read_multi_gmshmoose_results.py b/dependencies/mooseherder/examples/ex7c_read_multi_gmshmoose_results.py deleted file mode 100644 index fcb16248..00000000 --- a/dependencies/mooseherder/examples/ex7c_read_multi_gmshmoose_results.py +++ /dev/null @@ -1,110 +0,0 @@ -''' -============================================================================== -EXAMPLE: Run Gmsh+MOOSE in parallel multiple times then read sweep results - -Author: Lloyd Fletcher, Rory Spencer -============================================================================== -''' -import time -from pathlib import Path -from pprint import pprint -from mooseherder import (MooseHerd, - MooseRunner, - GmshRunner, - MooseConfig, - InputModifier, - DirectoryManager, - SweepReader) - -NUM_PARA_RUNS = 3 -USER_DIR = Path.home() - -def main() -> None: - """main: parallel herd run multiple times and read - """ - print("-"*80) - print('EXAMPLE: Parallel Herd Setup & Run') - print("-"*80) - # Setup the MOOSE input modifier and runner - moose_input = Path('scripts/moose/moose-mech-simple.i') - moose_modifier = InputModifier(moose_input,'#','') - - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = True) - - # Setup Gmsh - gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') - gmsh_modifier = InputModifier(gmsh_input,'//',';') - - gmsh_path = USER_DIR / 'gmsh/bin/gmsh' - gmsh_runner = GmshRunner(gmsh_path) - gmsh_runner.set_input_file(gmsh_input) - - # Setup herd composition - sim_runners = [gmsh_runner,moose_runner] - input_modifiers = [gmsh_modifier,moose_modifier] - dir_manager = DirectoryManager(n_dirs=4) - - # Start the herd and create working directories - herd = MooseHerd(sim_runners,input_modifiers,dir_manager) - # Set the parallelisation options, we have 8 combinations of variables and - # 4 MOOSE intances running, so 2 runs will be saved in each working directory - herd.set_num_para_sims(n_para=4) - - # Send all the output to the examples directory and clear out old output - dir_manager.set_base_dir(Path('examples/')) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - # Create variables to sweep in a list of dictionaries, 8 combinations possible. - p0 = [1E-3,2E-3] - p1 = [1.5E-3,2E-3] - p2 = [1E-3,3E-3] - var_sweep = list([]) - for nn in p0: - for ee in p1: - for pp in p2: - var_sweep.append([{'p0':nn,'p1':ee,'p2':pp},None]) - - print('Herd sweep variables:') - pprint(var_sweep) - print() - - # Run all variable combinations across 4 MOOSE instances with two runs saved in - # each sim-workdir - for rr in range(NUM_PARA_RUNS): - herd.run_para(var_sweep) - - print(f'Run time (para {rr+1}) = {herd.get_sweep_time():.3f} seconds') - print('------------------------------------------') - - print("-"*80) - print('EXAMPLE: Read Herd Sweep Output') - print("-"*80) - sweep_reader = SweepReader(dir_manager,num_para_read=4) - output_files = sweep_reader.read_all_output_keys() - - print('Herd output files (from output_keys.json):') - pprint(output_files) - print() - - print("-"*80) - print('Reading all output files in parallel as list(SimData).') - print() - start_time = time.perf_counter() - read_all = sweep_reader.read_results_para() - read_time_para = time.perf_counter() - start_time - - print(f'Number of simulations outputs: {len(read_all):d}') - print() - print("="*80) - print(f'Read time parallel = {read_time_para:.6f} seconds') - print("="*80) - print() - - -if __name__ == '__main__': - main() diff --git a/dependencies/mooseherder/examples/ex7d_readconfig_multi_gmshmoose_results.py b/dependencies/mooseherder/examples/ex7d_readconfig_multi_gmshmoose_results.py deleted file mode 100644 index 685a76c7..00000000 --- a/dependencies/mooseherder/examples/ex7d_readconfig_multi_gmshmoose_results.py +++ /dev/null @@ -1,140 +0,0 @@ -''' -============================================================================== -EXAMPLE: Run Gmsh+MOOSE in parallel multiple times then read sweep results -with a specific read config to extract certain time steps. - -Author: Lloyd Fletcher, Rory Spencer -============================================================================== -''' -import time -from pathlib import Path -from pprint import pprint -import numpy as np - -from mooseherder import (MooseHerd, - MooseRunner, - MooseConfig, - InputModifier, - GmshRunner, - DirectoryManager, - ExodusReader, - SweepReader) - -NUM_PARA_RUNS = 3 -USER_DIR = Path.home() - -def main() -> None: - """main: parallel herd run multiple times and read - """ - print("-"*80) - print('EXAMPLE: Parallel Herd Setup & Run') - print("-"*80) - - # Setup the MOOSE input modifier and runner - moose_input = Path('scripts/moose/moose-mech-simple.i') - moose_modifier = InputModifier(moose_input,'#','') - - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = True) - - # Setup Gmsh - gmsh_input = Path('scripts/gmsh/gmsh_tens_spline_2d.geo') - gmsh_modifier = InputModifier(gmsh_input,'//',';') - - gmsh_path = USER_DIR / 'gmsh/bin/gmsh' - gmsh_runner = GmshRunner(gmsh_path) - gmsh_runner.set_input_file(gmsh_input) - - # Setup herd composition - sim_runners = [gmsh_runner,moose_runner] - input_modifiers = [gmsh_modifier,moose_modifier] - dir_manager = DirectoryManager(n_dirs=4) - - # Start the herd and create working directories - herd = MooseHerd(sim_runners,input_modifiers,dir_manager) - # Set the parallelisation options, we have 8 combinations of variables and - # 4 MOOSE intances running, so 2 runs will be saved in each working directory - herd.set_num_para_sims(n_para=4) - - # Send all the output to the examples directory and clear out old output - dir_manager.set_base_dir(Path('examples/')) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - # Create variables to sweep in a list of dictionaries, 8 combinations possible. - p0 = [1E-3,2E-3] - p1 = [1.5E-3,2E-3] - p2 = [1E-3,3E-3] - var_sweep = list([]) - for nn in p0: - for ee in p1: - for pp in p2: - var_sweep.append([{'p0':nn,'p1':ee,'p2':pp},None]) - - print('Herd sweep variables:') - pprint(var_sweep) - print() - - # Run all variable combinations across 4 MOOSE instances with two runs saved in - # each sim-workdir - for rr in range(NUM_PARA_RUNS): - herd.run_para(var_sweep) - - print(f'Run time (para {rr+1}) = {herd.get_sweep_time():.3f} seconds') - print('------------------------------------------') - - print("-"*80) - print('EXAMPLE: Read Herd Sweep Output') - print("-"*80) - - sweep_reader = SweepReader(dir_manager,num_para_read=4) - output_files = sweep_reader.read_all_output_keys() - - print('Herd output files (from output_keys.json):') - pprint(output_files) - print() - - print('Extracting SimReadConfig from the first moose run at:') - print(output_files[0][1]) - print() - - exodus_reader = ExodusReader(output_files[0][1]) # type: ignore - read_config = exodus_reader.get_read_config() - - sim_time = exodus_reader.get_time() - read_config.time_inds = np.arange(0,sim_time.shape[0],2) # type: ignore - - print('Simulation time steps from the first MOOSE run:') - print('sim_time=') - print(sim_time) - print() - - print('Indices of the time steps that will be extracted from the sims.') - print('read_config.time_inds=') - print(read_config.time_inds) - print() - - print("-"*80) - print('Reading all output files in parallel as list(SimData).') - print() - - start_time = time.perf_counter() - read_all = sweep_reader.read_results_para(read_config=read_config) - read_time_para = time.perf_counter() - start_time - - print(f'Number of simulations outputs: {len(read_all):d}') - print('Time steps extracted from the first MOOSE simulation:') - print(read_all[0][1].time) - print() - - print("="*80) - print(f'Read time parallel = {read_time_para:.6f} seconds') - print("="*80) - print() - - -if __name__ == '__main__': - main() diff --git a/dependencies/mooseherder/examples/ex8_read_existing_sweep_output.py b/dependencies/mooseherder/examples/ex8_read_existing_sweep_output.py deleted file mode 100644 index f62f0208..00000000 --- a/dependencies/mooseherder/examples/ex8_read_existing_sweep_output.py +++ /dev/null @@ -1,54 +0,0 @@ -''' -============================================================================== -EXAMPLE: Read existing sweep results - -Author: Lloyd Fletcher -============================================================================== -''' -import time -from pprint import pprint -from pathlib import Path -from mooseherder import DirectoryManager -from mooseherder import SweepReader - - -def main() -> None: - """main: - """ - print("-"*80) - print('EXAMPLE: Read Existing Sweep Results') - print("-"*80) - - base_dir = Path('examples/example_output/') - print(f'Reading from sub directories in:\n{base_dir}\n') - - dir_manager = DirectoryManager(n_dirs=4) - dir_manager.set_base_dir(base_dir) - - sweep_reader = SweepReader(dir_manager,num_para_read=4) - output_files = sweep_reader.read_all_output_keys() - sweep_variables = sweep_reader.read_all_sweep_var_files() - - print('Output files in json keys:') - pprint(output_files) - print() - - print('Sweep variables:') - pprint(sweep_variables) - print() - - print("-"*80) - print('Reading all output files in parallel as list(SimData).') - start_time = time.perf_counter() - sweep_data = sweep_reader.read_results_para() - read_time_para = time.perf_counter() - start_time - - print(f'Number of simulations outputs read: {len(sweep_data):d}') - print() - print("="*80) - print(f'Read time parallel = {read_time_para:.6f} seconds') - print("="*80) - - -if __name__ == '__main__': - main() diff --git a/dependencies/mooseherder/examples/ex9_full_functionality_no_print.py b/dependencies/mooseherder/examples/ex9_full_functionality_no_print.py deleted file mode 100644 index 656bec24..00000000 --- a/dependencies/mooseherder/examples/ex9_full_functionality_no_print.py +++ /dev/null @@ -1,62 +0,0 @@ -""" -============================================================================== -EXAMPLE: Full functionality, code only, only print at start and end - -Author: Lloyd Fletcher -============================================================================== -""" -from pathlib import Path -from mooseherder import (MooseHerd, - MooseRunner, - MooseConfig, - InputModifier, - DirectoryManager, - SweepReader) - -NUM_PARA_RUNS = 3 -USER_DIR = Path.home() - -def main() -> None: - print('Start minimal full functionality example') - - moose_input = Path('scripts/moose/moose-mech-simple.i') - moose_modifier = InputModifier(moose_input,'#','') - - moose_config = MooseConfig().read_config(Path.cwd() / 'moose-config.json') - moose_runner = MooseRunner(moose_config) - moose_runner.set_run_opts(n_tasks = 1, - n_threads = 2, - redirect_out = False) - - dir_manager = DirectoryManager(n_dirs=4) - - herd = MooseHerd([moose_runner],[moose_modifier],dir_manager) - herd.set_num_para_sims(n_para=4) - herd.set_keep_flag(False) - - dir_manager.set_base_dir(Path('examples/')) - dir_manager.clear_dirs() - dir_manager.create_dirs() - - n_elem_y = [10,20] - e_mod = [1e9,2e9] - p_rat = [0.3,0.35] - moose_vars = list([]) - for nn in n_elem_y: - for ee in e_mod: - for pp in p_rat: - moose_vars.append([{'n_elem_y':nn,'e_modulus':ee,'p_ratio':pp}]) - - - for _ in range(NUM_PARA_RUNS): - herd.run_para(moose_vars) - - sweep_reader = SweepReader(dir_manager,num_para_read=4) - sweep_reader.read_all_output_keys() - read_all = sweep_reader.read_results_para() - - print('Finished.') - - -if __name__ == '__main__': - main() \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1.i b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1.i deleted file mode 100644 index 719299b7..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12.i b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12.i deleted file mode 100644 index 8fe88ffa..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-12_out.e deleted file mode 100644 index 900e8d63f88a776f2ddb4e6c5e3a3653f1c09533..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105844 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

=%# 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 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-1_out.e deleted file mode 100644 index 1c6160b238716cb89913a8385e93829a06ed51f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105840 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 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20.i b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20.i deleted file mode 100644 index 8fe88ffa..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-20_out.e deleted file mode 100644 index 783b70226621d91a3506d28d1922fa455903ad3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105844 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

Wg7>tBG*_in0;vGDH}7x%r>$ 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 z%0D`s?hW)ggudgDqXoIlLHs4C@`3wrSdn&4uc^Hf#4oL8PEpeYaj(Y=bUuQVSw->h zHRz-wIvi09|W`pB6=%Hin9 zamp%?qP;?Eb(aK^FaAEZxoHn1i*_9`Q4NOVnbuZU!(KtMk+sHl_a6U6Hs6SKuGqH~ zb?EbGR<}R;7^Ck^(qmFkP_o;zu1r-52gG*$_`f{`9}5w@s(Cc-u3F1P^<&VsarO?SnbDn?7uu)_X7Ja zqD~>|-b0_c=v#>#pO9+?h)0L$zaBMz^V@p3M z@1g5EY_PY2=rp7}S~xRch8p!tuPI-p3@J-9@2Q8rgp|O+nQ9w`V>H10Tdpqc2lh#$ zP8#a&M;{tl-xTC%L#`4KtB$R&%q8@A-nlo+dVEJ>@$ynl!r%xjegVn*SRO_Vjej`%KnAxs?UGHNRKOMdWc^`p|V?eK#P-VC1R=v1!`3=-3+|-YPTHP?w&UWmR_+XVag9*ZQZM7aRfc z@tt)SGEab5yth8D$PdJ>;G3dmDRi1PmcB3Kn&tzkDIiv8wlLX8&j&W$?&;z982>Af5-|U$&2++#8pC9vlSX(vN-eomD`5{e+gj zE$u7Jch_;J>$yF$@v5Oah?lelxoe*WvB#a?CT(*-Y;$H!^TbFHTg;VYD$;&7I%0kS z*3tU}+qWBa=AkatXMHFy>r0Od%i(}rJwY6FZHBZsmag|Uqm}3QwC-NVfDC$nzN!3G zlYahFT(YOk=5ir@y(brmH}(c`mduN#>*#$bvGsPI;0lPNwyhaxtPJAdExRrjJi*wA zc^RxbfPHk_t+Roif2{5<^r3yMFFj5y$4um+$1AC%Z}Z`D5FZ|1x#%Bzy3U?!)6D4c zs(PFHATEQR7dvH3Yr8;vsl3cY@g4m+`7`{$Me3I`LoYJrJoV*8Y;e2>;tj#$$9vHG zJ{#%r`8WS>9ot9OozA z@xAH+4?VYm`2PEX^SSi8s4t&U&+mNuGRIr= zx?^J=<}YBK4fYkGPA2M(L7%Vh|9{*dkkD~;-81bd%Gr=B z99u!p=NBU?O?uM%>5HgkJ0k5t+?3~7@{cWu>s;5*O-={#gEYbK=k)mBExLR2488u? zxD@mB__1|~*hkle)tQdEo#<1BzLcBg2t+Px5TE@XTKyw{-iKz(=L;yu!^+(fviA5gC6&GhkO2~C}$^s7UN`0qf~jq^=}~lUOr`BpC$C?(oi$ar&b{TTvL;lM%Rsv zl$XtWV_h2dy+9p${;;}d(dQKU(&Nl>JU}j&e?J%UH~w9Lzbo)}1^%wU-xc_~0)JQF z?+W}~fxj#8cLn~hSAba}n>YQA+G<8HWsvC_&Ff6q`foYr--a_G)9oW8-rZ$_Dr+iA zUS=_Y*8-EKUA1BYm2_9cO$8<(^TZ&RZ+)4784ByCzx>4nXleUTK0XMe3g$bpP7eD{ zp^gRW=Alm$`i?}7tH`yMSu|tSNljrs6YXKFG`L8}L}Y42?&_Swg#H?P*)mMPgiKy8 znsC;L3GV&nd(bwjJ3)HmWS<-+FlWMPeZyuZaC+6kLGGKFK(&hv%-R1ZviXfz_Xhhm zqs~Os{nuv^`p!ZQ5poqVF)RBg=qHMp=uiDKUVV;W1pkbC5b9gWgl~rIawRz?bnmv~ zJ6=v;LTv1^N9yS_!7kf_wU!@ag7SyxJw5c637VtXw83u*6Erw%w(6Au7zbkB1nU~G zF9&r7qplVDD4_3k$b_cM7_xs>I1>`LYW0FX-R^JMUo5F>m1TmpLqaMZ9R4q|d3mh+ zf_-06#{+fC(Z>RPZy?7qK7q)>M~`Z%Jm3Ua(gE^j8e1gHKH9_x&po!^I!=#?nlPesp>P5d zN%CfHh#Sg;mmKSCUNV*mI~>oive?IjJ}a1c?aCM?H1LV!j&mXtYG7k#H!~Gu0_GQE zogVgWL7gF}tBF2F=&Ow!o001rBfM9;yy=b>6YWyuu&f{DySx3%I`3;t)N{$pE&jI{ z!Kh0iYkaMlh~n`xoSlv_;fF0_3qPncVb4^CRa*3A!u;=DiH?qD!bZ+qHo?C?#(tRh zOLSyx5SsRfMCByEhE zU?n4X7j|81;wC0CdrtD_WN#*7b6wq`k;P2--Q4BU%1@Z^h59$hE_Eh+h*rJD#041r zFt3Vr*RU@Kbta*%7=6~G??U7liCo@{Fn&#wen|xrEnoe^#JHXjHZSz~G<7f|49Z+E z&hHZwweGl}Kr@9A_<98@tkh*9!&^t1+izzg3Ir1#l{zvJ7MJceoIlA#^fqcPTVoqnpSJX{JpHB2uMUHCZDq@5Y$KRxxj$njeJJucjBEtwjw7cy+_Jt9y zlbA1T+RF(0_Kn(~MwqDn^Cs-xqss`4{NqKv<}s0JNf($8*-Ydhb4buKW+ECz6%ztS zVVsP4dj7I?bk|O{Z#bv3y9IS8pwB+^t>ZY_z9N?_BMi-evdBzE_}W`=x|AN@mayrg zUG*5@vF%oG?M^d7%jGYdbcQlf`|4-d?g?cCPt@bJ@){U{b>Y#@JbfmzN%mc|jF5>u zv48)uG8K%2F(1R#o$kQCLev?By1mfnAo?mHhc0r_<1bW{k@-TeizinU1CBT|!nWa$ zqWgO=!pmjXJn!{ogi%WG8bb%t`_s0a?#j+gRD8aE@|;zS;9G&qsb4=C!7kGd9lJ6{ z5UKj}^4{kdYcYQa>z-g=IO@zo-5#9J-B0K{134xk*D^+!a7=3(FN6^`e4YI5AU#jN z{ZM{Yw2=`$w5VMB<0>QE+ITzvhyf#Cn8>qH(>5hR+(DsXmcO;uKLFQqyMQb&gAcfhb=C$4!^|`$NH^kBP z`cs$Ni9C~#cOvSXLtPR22uEM^I?Z<2`P_6U!)tqDAxh0;c)hDt=O|Y)ytk?LtFz@9 z-o*>|>TO>!yqIlO%X)4wJd^ny&X?%=kG(Sao~b(%^ybY#znJSx(2d8#TpbT%OvHRL z;;gYw9eExg?^D#F>&WV!MjwfsFO%O4uh4S#m&Ho-xTi*#hNm#W{dY+!_E4Wa4FyNv zy=QohjPBJ18Vv8)Ve|d90SqtpdCZvoTN$47uk_9&V0dKk#dna-@MbA09sGx0Pi&;? z&*p;=cLD1tj^*(}-l?c_A9W+qM=1J|V0fjk<^_CP!tg#T7Ov+d(CfRc+CQh8#<@>E zh0I`ho#GSJ!~4_YurK`O7W(?m<*W+GqQ`4TrR?(?^!}doP-@Q7YKA9#^Jc`2r5MdI zPmcqO%fmYAhvg~ac*8!Tjt1(sp$|XwrN{8f;9E%h2J;@ycbT~@pW)rOEdMOQfZ>%zE_8WD zuOl|fVV)pv2Uqt(40+ZdZvg6yS1{A6`%YgMn88Aej6EnpB~?-yN~JV zbTGl%Vk^7bs88*^`+{G6qwk02o9k>mDW9QZ@XDJ^@Q5vuuf-{TU>37+?I?!V7v8Ef zhx%n>BA55?MO-%4T}GZ&$omy_X8xzk`rx6j+0?IK_3?FsnBZ~dL0KJ@Oz@l?&L_6h zx+OnUx3oQ^?}zEl*R?M)!A|1OKkmzAf^B0?*K|?;i#t+fsuwW9OwSM31$|8LLW_Ma zZuB^@aXjWfA#NeowIa_3hq6|27P_3ZWH=&M_=O%CI8=l;eb(z+B%KdOTo@@jeSy1 z#lI+6*dq{6yIK8rth3>v*_;LI{*Gs#+}eIL@Y>(;4A*VdA1lrOj#VPo&9C_UU;i$J zC6VJ29shn017mgLFKhQN{fi&)$$e+@iB12GuZT}w^La~e!M|g|&9C@7=IS&5jyZnj z@0iu^_^(ei=da)2dCvdMzhmz83I2|`*Z=JAm|G{8zhiE_TEKpaf!N|CWpJJN>-w)$ z`g`|n`E9AYzJb|KZQqSL_h8YtL9di)f2M_{Ee%_{qF~;olUplo%Rno#`>wYw?YGPi z@3i{z1jcG?935jVd->aB69YTNG{TL=2{&I(IQ%uj)n^fo&xvsS5rorgBCLMC6ybc$ zC!DWlSbZgMjdsrk@N|kj*8ZFJ*_wX2aptvKU^}+U?@U4?SnQc~*pU8C%QW;&X%9ah z7`2;{-jyw&`_gDY)#qH$(z$mcaG3&3?rZg`I&n#_ug)xCU{oC8#@7fpKZbC4A>rz) z2*(#nIR0|N={+T!{$s-VqR;KJzGj0*=YPi<7)HJIv~GU9Z~S^X*6 zn+Ex}o+aG4k#O@@35VApT>W^$@$m@9-$gjR)r8Z(KsaC7g!Oe^47@u^_V&{ehqYyL z#gi7igEf)yYqna(!Kxj~Qkk_^z;SQl<`nCbV7qVhQvDP+u-MdN9g7*&FY`BRJTVJ4WJnCH7MQA7NI7*Xn^D794 zw9Bp3> z9>;DB(srE>uAiRiy3XW*bHH9-ZIc0Dmw)4A#iAy#*mqSBd`|$2E(MRzeUSmPle(pP zI`s9I?v#k?`DY#B#zlmiKTbIOX2R9KCLG@g!ttjNPH!>c^aX_T0`Fek zGx7Uv2);OJYxVcX;IEi`!BD{lyehK1MjLGc_i72j+!amW5@jCOeW?apVg zR;f{NIddLN)aCTlYZ742mt$5nSxx%3NrNQhS7{P`XsaG!C5HTKjHQe*l|jTNha0_zq@~j+0d*+CgX0t3CM^TlF0uwC|8hk0$Kc z(uuJ1d_%(GZ;m5uea$e!@#zwdznu0hpn9Ie>GSP>^zRVPR|MgFDM7I5(80Ny`Vg9< zv$e;03ao3C8(B2X1pF39z4ddf1J7U6Dr4Tnf?Mx5*AdlkVMX$K)5d@Dz%H?0>a6~S zu=ubZ^E@XI=7;84R32HOzp6a$s^qRZ!j6y9KJV=O1H$1S5U#$8uzWTB2*Y{4Z#-psPZ66__F1$i>hVCgxh>?xmDgI?13b-dRd`tJVgpKl+&n6TqForIfj zA}n53o^bUUv~R{AzA(b^8xl_M8sYTS3FoVhaK6?<$kjKePum`a@Nv&RL=`;&o{#dq zB(EtDpmbB?Y{w0H{N*}wBtC%0(sw6EB+0;PXWcJLhS9#;p)wzCJg5N6{aY2blzf4O zVV&WIar^Z>ZdDzY(ugJOIKGLn^XCMF#n(#`wto0j!tpJl$D8s?(&yhiq$`2#x+3jUd_iP;V&RC z_HFm8FTUV+FJZIuHWlz%6fb-C@mX-Y*CXA+qx&25?>|qP{*Kc+dtYvj%6Kr0-C@9M zU8L_5STa=G$cnJzwgH5j4x1aQq&G)5|BUeuNm|eC;NjuOASWUD-PO z?rwm46^K|lifLSKCC3laczORzngu=b5gc~;#c7C@n;qX5QS5Nz=vwY=*r{70dU&lug&Q}bC?|JTIbMP?;`nR9+ zxsU*%b5&g&(#(N(J!qWVb^!z&7N0onTnPBwu^+#1axkp}fo?f@*RWg15BkJ9%Kba-SdJ%zC21CfNCpQuGx{9W3Ihpq1>9N#&@@zdwrS-qWv z(+?!9uR<}x`8o;_Qx%t(AFc+0DEPv>!7UJa?nBM+R}&$aNteAgu?E&{$oL>npBwef zArZ&dp9GIRRmH0e*1)P&mmO;cyal`T{M%c<6@pPhO>kkij<1q%{GSM?w}5c^hY05@ zm2keU1Am@)b>vZ55bhoweMX=JVb_Z{EuT>bAx51Q(-+Ww=AL)+LuB*7U*r2LnUIIz z`M$F^EjCyiFf-K;Z8$k3tk96KWAg~Y&i`XTSiDyd z;p#sSmM@g{(_r~O6Hf0e;q-qI&X*D4d|CYacgVjHjEfH}x4Jo*o_F!y@sX;3^G4P# zTkYlk+s|i_mPv3y%#XkG%+Upd?cL}7H(vI3W^`)Hf8$XO#hUx1{*Db_4|#n#F#Esp z?J3_L?E1T34;Wqyl+c*j{NMbU?*lKL3;S=(&bR(IX6sA-8?*d>`(6XX>i;_}M(0fJ&PxBNuoY~jX>alz9k4k#d{SZ>?XT=|ZPpDHDX>vLtebc62-plZ8}f0723Y?X zu2L{F60F;=Kdl@chT|xlpN05SSU-s4OIJbu6{y$8>2HunUt#F$8o1xQ{w!nUL+~l7 zd^LA8?Vn%cY+4l70WMV;t@_TYu=3b${eA}{Va1O!skd{RV8wcp-)LA4E2dWNeY5>5 zIDZ_sx^UVtaK4*icJz`PI9I$4wd)DN@fw^zjrd-yFXQ;;jY0lnsOP}xhtvMTtgkNg z#RuO(x_Rr>9AMqqmonlzXdh#_H_pXtl)0vF21GSUd2|oVNnnkGLuCyH(d|@UN~j zs#1RScg)Sxe*G+d3Dy@O-!J5+eTZ4TZ>WEe^QAYK^R;a>guOl|*;a5I__F`3bx_<0 zp^HWqr0pCIA(QBnp%XtrutT8DMMo>(-MN@8*KZ#1{2ul^Jmv|!srH+;m2^Q+`>s9v z-n&E4B0 z9v%QfusG17X$uikzD#+&+Z)0P)Iea%5% z2@tu7-|vE2Iz+80RX7uy1VV9VgTTZOz`x!VFBn<_5e-)MKQA7qp99J(tJ5w)_yLdJ zv|QS6*L3!SVa0PGTq39EN~#-#J&%bo-%oWLPWz<)ru~0$%+0$ZUKi{4Am2meuSUIZ zoPN>-^mPS&U4Uqpk)0~HXy4L7^0$o_>B9QQ1)DS%v_a&~lcuwcMIhX}v`RaM_TO#I zbDr?Z76i-ecxs+nz<<@HaxuXe_Y#7!C5vas$Q#OhfcPWHD>LF=+Z8wDfGF^=tYeyhdvkrQJiF#Y=foG`xC`e$Azq5B&zD9%K>mlQ_Y3t)(HDKbfb|tbpC9nH zHXdFEiSa`e+&9wa0@Qct_#USHTC=owwS4NN{ZlVjHl3ocD<|c{mZ0qrM<(UU>^MvN zz+T#-F`hnOy6@TpHL{oXr=9UOd;B$sUHRNn;>T(AOjMbsUm(e<>VWuBrq^R`=Ry2n<*{Hln@<`XcB{0Li=N&psb)0V(sY?;oVE4@o_T%Vrn7fF!rGN36V! zA+cd~K~BU5Nc31HTwu`-iGyTKf5*`0Eg*FKxZ*(iT#V^!x!z}x5WMQV`^ByFIiC6& zlW1)m)8|RpdHP%rix0*6Mvl*NAoA}1*={~2Q0;C+-#ZRgTgOoYJg}w)$K=K2|^myWaNY2=|WxDrR zNOqK{lmTf-*4=0}E$b*GYsNT9&Nj#KF`TE*L9=)ntUrc)Uywf)_2!`d8T7RmeF-7` zPV<6Xmzj{^qMT`!HXqWpBL~YLdGc$Kc<4QXo8*B{y1LfR0+i23)-A+_(V!6c1B99!VL1L8}telha( zAip!}WuX2G^tB9q#erz2)}FJ<<&dSe<7Lm`KoAX*O_}7s05U^!PUomsLdJ(QiK#}} zkP*@GKEt90GR8@Vn^r!euXmj0zNfvAo-=l!pF<0zN92?oiE@MV0F`Sm9e6ligY(Z2 z{|oD%BVP;h7oy%H)L)Lin$cGp?Q_{rdijEZ#BBS4NfHu2h@tctoBQs;MAy-@<_ zGN=ES=_%I~$t=^CA?q?iiDna=oG;!;G<+sa+%(;es6Ss~Grd@usH^q#yZ=}bqZpSz z@da`2T%Fh%epxC9Y;Jn*Bv`PWf5@= zuAb>vYe$^-cKjacCrj*qS&bKLzDDeJBrFzO987E_9(S}penMW13A#nB?7%cAXU@;Oh87 z&v|mht8w^P+b7eA`KgAFp}PZF8K?S|^wNFymiKgq7N`-Yek4&fe-v?a zUz}&Kgzm@2#yT#)>m!Fd@CEDm$die@0@N`_U32u2hQ4BmK(Ew|_hKOlzZ~>b|MF=P zJYVxu-i`BQt-~psle=i2xl_9TT-cLMJPONq-ks-4+;`=|B(qP%&FEXn?t%+s^)m~z z=Y@3Nwei=*8bh{YOvL;u#O=nq=g1R{yd|h}0d*VEM+^E2Bm4)w-S29}NkpD(t@VkA zBy^5Mh*OV%1U=n6ApOKEvUXs|Z@C#A#ODBLi(jPwH?`6FxPH%U;&Jti<_@cNvZhwq zckk*6WX+0%!kuH^VQl2`t9~NxA=asJJha~o%d0tx(3N0zpK1B&n`>$R-n%gmtYhYpwH8Gxh*Ym?WRgkJ->*!u(XxriHvb-$6P8F`&hCk1uipbu~KwTX5jSH@fCO$2T0K|Fg9HrUY-2NV z5AnB5TNv+4`yS7JGa~0?AMrhM(|J|9JjQXDZ$Vrj)*V2ewa8nGI>%Ah1AYADd>t82 z_*%D&=lj$DyL#{}hkflP5z40>W;vc9VNA;Bno&PVh|9?I{L2jCRoMJc-KtH3hK^o& zq`Hr+Tm0(t?WQLrKx4Gr^T5Sq?Y{N({e3$ye!#p6;!3!>nt{lpgS-x$&giMAdyVt) zjrw7I%^>_KT}rPSZxVjQt>Ks5?vjX|b?;hqzmRbGAqgKnVo7MU{qMKC`bfy&GfcSU zdcte_Ug*C>jqoJPzw0f3MFM-gy*52`CxIa&wp{LM!dQ=a+Lx5YJ;1sd$dkzN=1)YO zgQ!c7BkSV{`g%`!&+zouBadkOqnPwyDH!!&DM}`$yS>16xU0P^qDnjTZ@3 z3njO%)Bh{VWqtmdqDz8p=eP)Gq!C`t^7&)7(|)X3zUo?&B)BO58}kZ?i^e*_@!S}I zym6>gfVwj1V-EUyMEG-NOtWvYCH$OUuJ5bt34eh_bei&Y65&`E+Hij@3D+<2lYA6U z!c=B_?JaL0p}Go-jk7#SNCH3G)Ri8m!DWYbIzA`C)%B(g!Gkf1VZPxnj;jkpo{z}8 z8Fd0s_bU1@Ltj>ezjVp*_{L#`fB1D`nsqDThZW!b8TWuhRIgATs8&hBKU}t1^lS_X zAK0j4EYc%k3+&a81o27e&K(zZ_KYB*TAO6c&o3b%Kg9=FEc%M^CFbdM#^PkKE)98H zkarU5l%Z||`gn@I1`@vCl>3%D>3Lah?p@<%PUnYw`&ySt_}W_8J1lOHh*YE22k-Jo zc#Y5ErBCunxQcVXrxCkI*j`(IUWEn;GZu{~J=ILY#%V{KD73@41oICOr-O9|kq40X z80wrx-FWn|3VmH9{LI{vpTV_+|2S6v6cbJOO^Whe?=BPmM(1hyX9@{_RExvQIvo;` zeBepa+&~f`cEDujubU)%%N-S)*9Iiq?AabY(`h7JQDKTnyC=qA%+EmFQmmujBe6Ui zk=F!uvQYOD`p83HcM1RG?gL9bRS3UpL;XPE9U_p<|1HySl<;3&QY=*0C;V-~me8La zgg;B4-#a{&9*+jIjZ=n`2qCYqD zdFXwY<^6#=W~h4@eY{3rvkCv9*pTQ7b0QeuUgZ<3M+A#>whqq@CxV3{xRogpqVIC3apLXu=O+R-DGvDspzk>+2_tY0Z5D`Jn zyJIgjeiK2|p`*8EAEBSi6syuL!iYd^+4Mdwdm_uJrxr+7Sj=reg=!QF|>gea072Uyi>h2T48Qp}v%XSmN&o#dlG^P`w zQv1$?d%i@dHlUx9p%@X$NZBY19!ms022#>>tB9a=TJb-$f1jXs+U6hc`(f;lc~!(E zVVwfUL*5~;8|rAH?jiK?8hxb_fy{0h_0Jwe;I&~Ek9V60I-W>=Q4A%*pf^&r0g^;m zai`pB;R+&rZr@P$sUH!xg}fPFtxANqSIaF6r}0$qP1z_JBHULy&VO+yMyk)|XClrW z>nu5*kL}1iA9V(xZaVt7g}$61RD;Pbm{$;_2EP~U+<|O!R85ybYC!0sKON= zy05J5#W;y`72q%b=$ZPhS>Rc$AEY8}32ribgtPKG!AVAm45`Qf>nk~ZCq@khql>Wv zB#Y*N`iQQDHGS&|7tIKlpGa8T$hU;6J4!g7bi(njBAkv6;dHAA=Y#fbXMNG{86Lk} znNe{Ig2kj0&08WMsGr%rwI9vEPkw85vDS6)R6F|c#*kg$njv*{!1ijoZ~V8&MXj^I zI;MV@{6qyX;tMmRoOz&D`n!HksSn}ePQvBA35S!S`@#RITSr(P`m+a)_X6Q`Xy15N z*OYKRVhHD}85}CDnJcdRntoly-M5`Y- zyP5VIbf_C&aAMt7SoYe*+{4WZ7PXrH_I#uZ(|Ro*TWqo;Tx=p-K7epIQ^M6X5|$@B znsB^kgwqibPWL3?d^8ZwmpNGIhY$4ZYNGp463wqhFTs0|N0GO`6?kT+%NTa;0(bg% z+z@4RaFK6`sct(3_A!%pO>rs$E5ljq)~j9v=10if_tkNrdhhnjpmce{#V*3-+X#oN zAzWPxVR>2;3CFvFa5^^$r>jm_AI1`d^Hl~+q5H?2=`Uf0WAg>+XS5%=&((7+rX#>T z{L%euE3U!nkC~E9pYMWms*UNZiS=N2`-_!R&ULVu@Tt!#vk44uc<(BXQU(=Emzgo& zGYK0ztqGUUBrHxOMYuZpd$d11a+QST{X+NKW_3OiR@dY`;e6~NoUd${dtlS+Yu(vk z>vpSi#?uwB;!v8q(HUQG*_Y{JGs_oNWL+J9IXVy=Hp<-3ou~^o)$i|hduzku>^)^q zl}3WWg>@Z9I!T}$HB{S4vgL%$>zWV_=S{dedYu38$c-T!?^eR;coA0j^k>5P zuppeTT$on>cBOgmNub}X7Dv&(?RI5bQ=c{kfWw)W&VvSh00)`p%i8JrY3Jc}xTX6U zEL$||-6Ab5FaPy)eKjBT>;6=`7s#?v%cCZ0frZqUT)2M?Y*r1+p5WU8 zHg^<?xKgPtscC1t1j8D75)MmHx}Ui*3nbZ0%3UOt@mzc!Kg(u}kqY^3{O zu=$Z8gu}feSVveM`u_lqm+o8jN5^j>;dJK^)`y%mVSU{%FZ(_=wRnT77|e>)o^;Xs z5&fOx+)NAO0$A*OrZ>G)2ut_xj84e7083^sRqD7B2Bt>dPbclG0>hg#4L4fm!knu| z3k2FDVB(lFY2s~T2piu75jH>9oNzc(!qx33EYGD!gyqeYCag}^aQgenKf3ya_2Ff1 z!1_{(C1M-zebP!22f6CJ6Q42+VP5E#Vf~a8fQi)FX4V}5#>w|CEYTbQ#-aSigp4j= zdS2bNaa{v?7v^{GWv;<2&vhTSRa=3~agFMNU&qLwcyORMVe_?{2#Yh!BW&I3AB5#e z7Z8p&oNzkLgw<6P5Y|VMA+WyU;>ak~@AI7ah6WvDc?LtB`(WzCTE!h6tuVJ@amD-w zUC=){_wF(ESTM*wxmjuzAM~Xa@&roD{y;Y9l{|M3+TN5-qY8LzQ6j>zSt zoz7@5Ec>qVWRT@!F;E#h$K&Dje_-~aQ;8w_a$)X9=?#`Qd|^)Smv0_};$RjzI(_ES zIiM0%p!D)YE(}*!y_Ry)m$32nCBo)U%^)mp$r!@c4OmK8o{A#E@*WsLIGxD`tS*QF z>*I+bu)e&-i2Sutsj5}wL`5HSi8plD!vZZzHhS911mcWXIC!p4REgw3CjB`hvcjj(mY zDhSK7WCUS(X}@e%M^+qI-Dz>a`JjEX|MZ5L|2b> zBho2daw#$KAX%m?8gMlZCc9P3{0xbODTkK49C@SzlomTlZT7B$@u4z1oD_qhpUS1# zvR}o>pE!QhQNrd`rV$pmri-w3MZSdPS$&eQyf5N_)yXsjR(Fgcus%NS1=g3b0#TTE zA!XR>IHEbMQ{#f+WHNpH%56_4w-SX>3AXFB#0+}vUT;wi5Qo8f=>aCo3_)g|LwveS z9LRdS_}pmso9)66${e&UDEy4CWFL=f;;l+Ze^c~$Bsyz(PqF#>mP*8 z>tz!br$qZp|EW7{SoVh}fnJ9!@9S1zb!eY-R@ZGWus+)M0_$seIhi0)<@j#BA(_76 zGE*V0Ks0{+T=jmeAyHYNqq@e|os17@{nYpZi1-M`tHDpK>}Afo&PgBo%6|P!9^(GK zyzJ-N=DOQ;G@m$Oq-4Cf0UHZL4gTcsh#4BNxR3D$Y+XPfusoaT`TvKvo?eH4biC?- z)s+zg)<-{gV13bjq(-Pey^V<+O-FRSqbX5TB%TJ69DKIHmC>2j8UVquWtKN{v z_f(6$7H5cTO}4|#HDYAs8P`>iT22P3PFgZyS-C;i*zK$0%i|1QNsWAY|FW1tUH@@U zE0x6!j``9i_`O5R{zT@Wd>NaUjw@qv>*LDUx({){^0+7f$EyIWj(a(kWuAnC=bHzSsP!T1&P&4?R;b$~pFkhcwW7NIWf z2hIBUfWFSaCi>uckJ393**4CQ(HskDr6Wb-7pp_6NOPEs5B;94^3gw~^~)i}xNW{x zybdIPTzjMN>@!F{J#$F5St2BhI^x1FbwYCFhc!Wo7cid3d=KJM|JHFlmdG2&>G-On zF8%(9^Onlc2kXUn)|8h(VV{mELIO5Y%3nTl)L`FoI-KlYHEx)!7!^Gtp@eI}$z z&G|g8n|@EYr)RLx+5l1<_P>`@S_moAo{a2J><=lUZn%;fcZ{x>r{5d0I76&6MV^hw zYmGXNobClN&c~FQoG)e=Y}oP5h^FxcB`SUm5}9d(_-9=O^|imexl)=3J{G*?=O+m0U7*Jrn)oqA>Ddy z(NV8)kd~}8=62h6NbSs7?r>2EsoRYV9*F4ox+_Ns=3B`^s=;uBM|7VHE;e9(JmS)^ zj(!jQhv%sj^3FmXH%>QM9)0{mUw1*o=c^g~%!Mp_`Bj%r6oJT7E7K+R1Z0l=r7m~n zFr@cxI%J&G3F*_l?zPOhQa=tbDl>Txsny#zXdR^A_p;Fv z^DhxM4eKnB$Bg4m9)&tJsQVm!w4$$C$ZXrSbwHgwh`JS1ihk#UC@DK3r=lG)lLz>` z*R6t#^pHnJ8@54unVOyc{BMx1V!MB%VLqf?PS-WHUIS_TbM8^hKuB}AGk@%Y&i^8t zr+wpDoIBQ?;CL2DBJUp5dCTcm{_CR&eOW~|6eryOBbOtgG-mL%7JrpwJQsxC|D?@t8h@e|_zK|ZGp=q(x4$^H*a+goM zhOr9sR*0k5C)RO1qmlOx>TE{c4)n1SeVvEQsqe=2w$tOU9qaMBL;^%>hljhLpzAq4 zW7NeTBOr5ww)&0}){xQraaLhXf5?bUZH*ki5;7*g+U56j7Noa@HRSaQAiccrMS3Rv zT>%?qF;9K5IQqK>wvLZHV~}?Z>dZmiZRkS}ef@+?`L4%LF8o8UpGBu-yH!Et)NSVN z)CnTBkSpVod5~H9+w$@idc7ER8R(oafQaka zHi%|5Kc2Q2AoJa$AB;B%MUX3qz>xeyaAb?OgyJ5dxJ>dfAiaA z1t6Ly-#YA21!Vq&X{Mw5L*_9H@hhp7khuz0H!c1FnGOu5JlEt}M?R!E8~@W`bu-XM1m|m-7-X(rcr4J{1Tx!&IcN4ofN16= z)6!MdAX@NfgPOlBh!hrWDcZCaGQWKEI(V4gk17?d-zd}Ly}c%7vEw<&6h;+g*-@W< z_dd@g|6qK8`B{j&h;?**SRSgw@`_N0ULUM(75WH9UyC4fpQKc?xejD@HQD7Y?4!8+ zc~U;FL1du$)VZ`2M4G4a=XKAguXo|sfHBnH`<*XuC{bT`?kR1)w-++c7LaF+0gzdg zxi#|uz24cVg!wIq+l_S_kjD~v>GjL%+(BJ>9RK(*P)1)2WZw81bfMUk{yt{R)zddE z=<&4)7=DpnS4MGhA5HFqXyGuA*Xu^n>+DqZ{B4FH8d=lSszrVLOw}6savx;AyZ`?D zKm&Tdcl+PJK+hL8(sf|-%Mq83b@Y5=c{DlRfL_#jin?{^!x??qQy!Uii5as%Gkc1d;sY z{zc1vfoR;1=`AOUF_v?AYwCl=ox?hMKC?XS$Qy(@O{hz+6V?ZPe_(y-gGfR~Om7{% z?i7(nD+;CSXNJwM!=JxpOMh+O&~SLlBUM0R(=ev8r9 zW#QYEF{y>#ACwLqzBv}72A7{q*Ner4U>#i_mWTRedF4>&3hGiE>*F)}qU$PqJ9^8R zHhMnnt`xsc->0oSU(4R7_nEargWgs@15vbz`|_`k>HGJAh6D?GUM4>M=rV@h&tskr zJ-=c(h=is;M%?oUQTX*TO;dV3vhfDyT@bev>uQka3G&kQ_@h%pU&p_?tPgr#vA*v7 z`y9ys;{R6Qe=G3675Lu@{BH&Rw*voLf&Z<*|5o6CEAYP+`2W2EOuXf%x~Nx9OvKrw zFX!z2nb2<$k>Tg0nGk(@pQdInCU{DC<@M8_7@jNdT-H?DC-s4KP9(gq?@s`dDDqsMC$Q&72Rz0h}+FF-)}e zM=RINMkexeQ>#6B$?#>AXg{{OOxVTHe$TITGoeOb8;;yfWkL+seA?nk`v7M4rfc;6 zru_)dXC2x-nc-c{FlpMjjN$FJSX*$1_K{@cK+IbqPJyfYH2`@C@)mG9rLw5&!1*v7 z&G{0IVAdDeN-A{kXCgo81^JbkG6EGTdG%K-neci?LH-vPCd???anZm5OsIy{p$S$7 zOo)$n_Iv%~OmN%bp2F8%Ot46{df+D7-_OJ7_t*g1H;|24n5X>&S=mkD%4EWt zbDn2ZbTDCqA1?azdpr{w;qdj<(&tR5?A3$-`4ddYdxv^!_>A!#<_{t61=dYLo?pmY zfI4?j_W=43qOZ%0(DbIl{ug;nz{b){9n2v(e0yrg3X!`FXi zxbo00CW5&#vNM^_gs+btzlT@MguQo6$$I;a3CsE|bN{v<6XrJWyU%4ujCPp!K-_Dr zJC8i;k@r06RG{t~^ijh3iW|-dDl%GQYqv1MU0JRkW+xe;zsOdr>Kh|CSRZlKC5+*h zyf5$hY|2E`?@GwuIgE*r-zHA2!|qJ>Wg0uoDmLf zJ(f9P5+hhAV~~}i$MA1td!4OIXZYHMZKG7(`49$EDGMp!1ts?+}N zT#Um!eLXC08`iBwp3TVXggVnW-KXEthZXvgWdtV_)fz;v8KKkp3Ab%i86p34WS;8@ zMyNGBagTXABRG9WbU^hXBbYXH#5(7_4F7O^@$F$<4Bz?4GJwJ*sH1du`oq4D`9eq4PUsS)v=a#=Mj}fkj@qhDs1tUyef8Ts1 zJ-&XmTeg8cBUBoBO=+qlBe*p>Y`F1OMi5e5azo6M5lmOSC3*V|!|&>uRO9uT;kQ~x z2brf~jK};t#L?@Gt&2t;dL6R7Yfy)tSATR@{6ZgY=qrK|^!ep)e9}&j`~Kb+-gb;I zn~XhSNbfg^o^|5SqZpy}^?N~no{UgBLa=RF5#?_&tUUOI5o90i6Mm#)pKsFYYkC-g z?bq6%w=*zmWBwQ7j$vIV^4vz=7}Rk`-4^uWjJ`h5*U^_Nijkz}=e+$%Zw4^J{Pz)) zB8};F-sF=dOV5X>T;9~s$BfXTufq$p=zacEuK4HojG)~#vflx^9<_Pexe*^20gUh) zU095NCO&B6TA-krDc;lyv=6qWAkda^-tAFv3|(q4W;=I+QP- z?iC!vco*~M5f_Vf3dj?Jy!5(dbrz%UZ}f2neW@`*pBo|VOEMW@Zn*T)cl16~QBv4& zlAfmzde6OD=gbJ}wPHf9ThsT$f%=h0O&Q^t4}}%tp^R|%ui`IhUl`#A4GFzN^uC$& z;`YVm8!_(3{8_~HVjVrtSsuE6EUzx=_@XX7KCBOVy|TXOeLG?6+A9y~>pS9|eAjR) zBYap{(wPY(BDBE_x`oS40q5q{k?rcq?W2w!{D z&$c2mwd?Vsgu`UXEmLu;R)X7KPH|RqXeMKzF6z+rVRgTu4+r#R{(t(pqwW9z diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8.i b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8.i deleted file mode 100644 index e6aa08ad..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-1/sim-8_out.e deleted file mode 100644 index 98b389f6093951c0fb07cb0f628a312a18b8bbaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159720 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 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17.i b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17.i deleted file mode 100644 index 719299b7..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-17_out.e deleted file mode 100644 index c67905c2339fb30dd7b3e5149718b86a2ad24cad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105844 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≷Uw1wtF&%%wLD0v%T5mooUm$xP7?~R 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 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-2_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-2_out.e deleted file mode 100644 index 3670687eb69995789deb3a7d200fbf41ef53378b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105840 zcmeEv2Uruy`#;zV_TFQ!s0bDm9D{&eR8SGr5FkJ>Bq0e^P@28>-tO$ZcO858&a?M& z_OqV7`+MJ=+0fDC_&?8m|3{wZlX>Uena{lQ&g|~Y?(A-RXV+X778ZE`g#cv%1yl;P zOf3&lSXfv>)S{q48KRKs4GJyB*e}02EJWt748a)YFNkrq#$Tal+aE$u0CftL0uvnr z6k>6iuWFEx2+50x`DA*9f#*eA1ifDA59OxP7v&sEHPYA!Jjh*)^T@Oc9h50-Kprd9 zGafxEOQ+E_gE-bZWjfmo(%JEJg~f8z0-Z$}(5KKLokii)I;2aR4(U>-3zzFqhrSeS zLBGkEGB4-^Un{RO!9D=} zMh3p^gFs2`vtbY*hZplg=DTum8y?i6~;OVra?~pfh>v@E<+rBnvzTO|4(x9=Cr6N zaDl&4a*4h*k*g|l6++(`*;qZX9{Br7J~4R>!#tqc!HA#yx4r}Z&ZB==k-x3H)s z)WuJuRxA7r*td}g_mhGEvFw7vF~<<4WiA%dMR_sguZSS2kGHg&j5c`Li*I@ zi_XJDSiS@W3k$n9@K-=cuNMxSXe%Cf#UJMD!6L0nLs%fiF*~cY{+O2Y;=vcw;;};f zA#XhvX|)+bk@rVwuVY%yiwAJzML&tZ6!zMqEb{&+tp}#%ymlZXZxMj_OJT45Vo-{_ zKT3NF)3W|x^lwp-6hh?1vf*d{2L8mfq92M0o7f+wZN$XZ9U&Ccign}1A0b5w-qwZ` zX+?WWFdk!Ck@pyAtZ>J|K?6U}VV^9?)1$A2cF%gh7x#zOSf?W4auw{Yj1N0G{4fFX zWOAH(FcY?=%7+et-w*OVI|FHo2=)t&$u}eJEIba=12z3xSZ4|y~ z>QR7mV*tmseC=5LE$UO}ZT7QyKVuuG&TIRVc`YqRrps&hvw8C$OP9C#&*m+P^<~E& zaJ|eR_k}pN89Gz+KZruVFO7nQg%te@V~_xiOsDXJvzQ*@mc4ZG_X;oXHp@uT`X#L&($+g|J=4}JZ9UT1ont5Wd)oe! zw!ft9A8GqTn)c6Wciyja`X@SKcDmzZ&i>B)^8d+x#Ev4#|Kk2HhT@i-I6E%<$RFv( z8RB^3-xiAJ@qc@Gh54QQ+r!(eXBfwe|JJxTPW!iq;<)-+zIx$Sf6E_eX%!HD->@IEEp8^W~!cn=@%>)^d_ya$c!s1N9$^U27rUNP=F4A_vvsf69xzeL;xZIxUwV~ zFc=U6hy@G*3?6@Zn1Re;riHGs8% zb%6DN4S$lg2si{d3^)Qf3OEKh z4mbfg2{;8f4fqZ4JKzl955QT#Ily_q1;9nXCBS9C6~I-%HNbVi4ZuynEx>KS9l)P} zyMTLu`+x_4hX6}JErgHTD8zLr7Y0~y9m+)jMY#^;Vu0dY zhjIx(Nv=b=6reQMpeLw>M>drh7Dwd6XK(RZ!5 z4rTO{J=dWu0kj674rTOH8vyE1Mn5?KP=_-5$q|4$l+jOZ0jNV6eMbPOL!Y7V+5x0o zM&CIB+5u2T-?ayz4rTP6GXQlcqwib*s6!cj=L$d_%ILce0Mwz3zUv4;9m?ptP5{)Q zjK1p(Kpo2HyDk9Kp^U!k3P2so=(}zJ)S--i>JC61%IGII0P0XiKlK2h4rTOHPXOvr zMnClepblm9lRE%)D5LK@0H{NswFC49^x-o4sV~=|jDGUuI+W2*{kRTg^ph9Yp^Sd= z<~o$oPyM+LW%Sbku0t99G?431MnB284rTO{4*+#2qo3peA1d^^^qq?9P)6T{ za2?9%J2ls#jK0%w9m?oCE!Uxpz6<3#l+kxOu0t7pr{_A9(N6}hL)ixq20$Ik=%;W1 z>QF{MMF3ETGWsbJfI5`XPf-BWp^Sct2A~dQ^wVGf>QF{M#Q;!;GWsbNfI5`XcS8WE zL!Y7Vh63WajJ}Hppblm9T>=1gD5LKZ0jNV6eU}749m?ptVF1*jjJ_KVKpo2HyAc4? zp^Uy82|yjn=%-Nt)S--i8Vx`l%IK#t0Mwz3ei{ov9m?pZaRAhzjD8vqKpo2HrwIVm zp^Sc-2tXam=%+~l)S--inhZc4%ILc(0Mx|+&`(nV)3}U&n$C47qn~DQ9m?pZnOui5 z`e_!|p^Sc-&2=cFpXP8K%IK%LT!%9HX&%?1jDDKWbtt2s7H}QP=%v34l+kxrh7Dt>-$F(RUlT4rTP+My^8{eYc70 zP)0v(<~o!Y0=589hcfzUD*$yUqo1|`P=_-5X*&RQD5IZt08ocA`e`Qsbtt2sb^%a_ zGWuyZ0Cgy%@Ad#thdx8!?FCRSqwn?sP=_-5Za-ijm(h0z0H{M5eRmLmI+W3OhXANU z8GUycfI5`XcSiuILm7Q{6o5LE(RarHs6!e3bR2*>l+jNo0H{M5{d5w5I+W2*rvRu! z8U1t`fI5`XPrm_Bhcf!N_I z8c+sM7ElgQ9#8>L5l{(G8BhgK6;KTz0aORn0MrE30@Mc70n`Q51JnmJ05k+N0$2kY z1DXJu0&D=y0JZ=-KyyF~KubU?fIXl!pbfwQ;0S07Ab@rNDZmNP9^edc0k{G>06GFX z0XhS^0J;LY0lEX+06hRb0lfh301rTKKp#L~fG40Izzg6F=nohG7zmI7d;oHQFTfAr z4^RLC0D*uYfD#Z47z9uOLI7%j2A~Cm0(1a9zyJsXgaaY~k$@;bG+;0w1`rDv0vHO2 z1H=Oo0EvJkz%amYzzD!dz$n0Iz!<<-z&OBozy!cVz$CzAz!bn#z%;;gzzo1lz%0OQ zz#PC_z&yZwzyiQRz#_mefL{TN0ZRZ&0m}f(0V@D20jmJ30c!wj0qX$k0UH1t0h<7u z0b2lD0owrE0XqOY0lNUZ0eb*@0Ti$gupe*$a1d|^a2Rj|a1?M1U@Ifc+f%<{|*r0o&?lfPCl|Y*%bkY)@=UY)5QEY(H!} zEVCS-0-zG03ZNRGI-n+?HlQv5?LssF5P%0j3BY|0_mSlQ?1N_k4*}-@=K&W07Xg<5 zmjPD*R{_@m*8w*GHvzW*w*hwme**3T?g8!t9srON>x6Z01dsyy00sf#0Mh`tKVknr z@2}KrW!PK(qd%ek*mM4)KfOUGhX;rw|EpakaSV!s{3Y33^=!yrn^-Zf%BT zViwj8ys*}i-`cimYY@PFc4-OH#$6&6eqrzkt4bko!uv5ov;wh5m_p*_XMnm(Y?`)i+8j8A z_DD`Z_ke7+MIw=fsgB4RgRK+YK_ca5g-p!8F04ugC7zq4NAF67NFCF$b{F&;QL$fRYF1$j*_lY z4;OcwEdJClBSLuoJK0=ws?03(hutiLpXr1uO$5Ax$X62vXO#?orW49lKq*rz0-zi(N^cLhpXxC}B8emuB9YQ`LgDo!nX{Tsh_77{&B-8ilys2xc6a~jI%oUg z>!(Zp*@WIs?e*DxjQ!cNe=eOw;@!AO51b){=@i*vDzrlfQ*C4Uf`SaPOuCMv zq-m-QKZ-EIEDjH*9vm2-qA<~2$x!qnY68wjIQ8fd14VS1Pagux&T zhID>V@qhpYPAQeb&>uKWXcuM;5{i3^zYIp$K}IXh>4)Bp8#l?O!z&(Ovz6{gz0{2D z!Wo4e{iCQxt>#dc0!T+`^$X&@N_TQkgg6$n8o4Mygen0JsAm2o$JBK zLGR`p3@18PEwnks&zydk<)GM6;;hsu{en~qgH!u-9!sx4Te3JSo9DwUPNGO?+Ea*V zp}$fdDC0*kjHmjUbNCVu3+%#XDmt{#^wX$9EnKQf!^ETJv@$y@!?94Oj7)be!<;H- zahf-;m6ah{mC_Hcjb`*Sr^=aBmeE6_=%e5oNr(h5mi%aB!$z=Ln5HN)whyap`cNdZ zE-092PNV1*a4R6QpGl`Y*tL--i*p`U*@SZ_Clp5N*=ZqMno?%EuQ;-i>rdZ85|GUr2{{!~|*e!6lE2_|C$9dl3 z2h(pHAF|acDGFw@))b25HpT%bUax^qC%~Jd)&6kHP@{$qW?3Lv)qWY> zFf{!%ntUNr?(%B1Yof)7nSr}zaa{071G&B&BZku00uD6lXImWtp-Vs@`yoae}V z6#*KZ0{2Ro{K7Rf{ZF+x4%rzYuP}6=RK7I5W8=OIw*rJO^1v61_W|x4(Dw}%5_BX(BFsu&nd zCgo``>Sf?a;jW>0nl|kaE0L&V z8FZGEt!(NkKm{M3O4k&r2%Ew$b>GM$h8AXYzD#4O2xVHi-ym3^nSu}cp%y+@=$9!$+6@v3dN48ozV#QT^@r8+DalZFl-M=1 zx3h22vYGu))f)%{0^s1r}ZNrX1768azZpOBSy0=%&d0{9otk3 zGpjD^Hc(|7Q+7S5vT&fr$w|5VAW5ncw5_&{@HK>H5~p~~>gkFn1Pjbg3!6OQPq8Z*;~gq?##3)4@2 z93`r-OmkfIAc^uVkBkPC;{IT7^ytAJK*DU}=Xprgxi^ zghGu|Q~o2u)Ksip%p(*hdTIQJl!6aUx*!RU7~n_X`Tk<;E}~$1D+`1$vI!CHMd=Oj zl(`=~l%(O$+L?Y{PDz;Vcx}!}ie0;4*D>S<;p(a2QeQP%8u5HAhCf(2 zXHGxNa!nNynzq{cf1s7S!MO>p5391JiN%)5&QN%^0%j_Dc+y2_$c9y%xYPdl*$UAw ztQ(3keUoHMjFm*fEZ1U~eoo2ehbYm)EZ1U~KG%~-G97GUX|Ozo-6HR#*T5?VU^47t zY(fu(8qPgN_Xz^#!Etc9mm1&({F&oJ;Q@7)J^jB~g!oW?#!oz&Xi`_ z3XX??`bjd!}#h!<_%Yp~!!6iAHYe#?}ZJ+y85 zw1N?)UEW|c(F{U9pU=cd)BB?wNTk*mz!1!$80@Ic0I z2m8Z228Fx9It45sFbGd{$>aezorKE|_%`65Z5U2yWHIi;V$c3rBJnT_gn0K>SVJIk zqzX;%hgn|i!$!f^u;Pn+MH{jX;pGczCEk$|eU-{Qh?rhwJirRoPD{n&rW4{@b@XAr z{_v6|T;84bUZ&|Co4tn<-qREo;tSW@#Ur(7uj!`%;k8^ccx5zutV|>lL(?tvRT$)% z^FgDSy3{SpE3oDq9DKu+Dt~-3iXRX0U8yN9WtiT|e(ygqnCYw@SWQI$+SxwB$IR(J+7zRm!3V1wNp27R}O!r}+9A5jL`L1FHAs@X#KQzFz ze|lK6o6?h}6RH&IKtm8-UCQv0F4GBdC8J6q4@hU5v6X**93r%`8Ww5km8mW@r>?R| ze9&!R7ltDPKK_^C(+luk5f@i!@2)@lwrGKno!C9(aH6wU?dTHEw~ zXtdCHlukwZ4+!D0HCS$viVd2^bV6adAR7eAB7ziZS?aNg>BmD@7HO=kv9lx#rdpV; zmHw$hxJS>At_uHbxcGo|`-uzVFy8DS9@CSrHZ(C>l3Xt&%(*a*UP%7IE5Vub6#h7J zH+nMJYpEs73Co-Hvb1+?MM~2b6#B7qDZE=m2CJktl9 zP-T%2uVe@}t5e(uH+5gex@9^3`pGv27@Hai@%8zcoJ8?>*t56P+0K~ZM}k0@)qu{N zMqzJg6kqeNRKsa6`O^XB_%Ki&1}iRc$(sRQ(}IsUq22svPAg|Qx-p9|v)vAjgjP0j znhXqtMlq>PERZ9MD-PxiMI@3)7`JC+oS-x3;1HSB`xnfqa#Yq9{`_1S z`wvztD!VO=&Tb2%v)96$n_Q_59sh>N|AQfMPAmT#8a9;;Ijx+^9cD$myW#p*#lLm| zI-XPDgE4H?ayNxvkX)_w`M5x*F$?h~O$JXO;YM?YB3Z8dGG|(m;#>vZe<+VqX>=};T6_(nMxC5DLx~e+{>1?Es+`4Y4AWO)ppEds zI#}5aS2y8C98Q{3T%t42LcH}DX1qtu+`#|Ahi)Fyt{M6(BPGiwUUHJ9pR$-|VW9Bz z6+AnNl}=?KbZk>^!(sj`UhZkm#0Lrebi$XFA$-$7cod2I5MD|UqExXt zYW5JO_}rd(gla{EjDK0dSXVBXceH`t0@sve@R2Hb%~a}3yp9snzOK#eNJWURwZu=) zu}$VxIYUC>r98s3%%+fLVIjOffVI6zN9_yXzVv7$%xq9>&Xsl~g;BOJ+Du+Up%4c;rtN$wEEEaFBY&E+ z{!jA$1R*=?|0JJcz4U`mllBymFw;j$e%3Ov;}{8X9~L7iLvsn)$|V?X!V4H+ z0Y&m4`yUWy{CV+ACq9|X4#nE}MZr6U{NeZo9TC?jus5sQn0pF<$ytVk&CDmvbaH0i z)C}+KW%4;Ua~mb~C{y$-gys`w@{v{Z=6YGo_RO^~)6cn?OPJBnQ1GOAlSf#U&2Pku zM^$69fDgkp>JX(~0dIs69$AyHahWVKQk0^in1m-OwJegy)UxR4AAkByJg8(Eik4(L zA2rv9na)Sen~i2MA2rv)OwLT^?2#^HK9=qgl*H&9yMo`KZ~1 z*)<;(8^!qkS5YB`W?QI*_d5y$5nMqIYsTRP1!`PrYc^qKGiLMV%dnDwT`x^P?ljjz zcs(AxFClqYD7w(>DrY*UH`l^!o70O`L&9vC(~E?e&gsoPVrSc&o>`cU_n46|8|m0> zxNQ8axP`_4z{9+5?B&zhazzBkcv)NzVI4rcug3~zmqfS`8IBR*;(%6*Up&d^;{!-( zddE&dC|rbOL!Ss^pg#Ma<5P2palLCIz2^EnF_~sT|=}L3|jT;M7 zvrgSRd32I?m3VaO=Hl+*(nIFb-8s`a7ffs;;l6lg9z+XGUFsG94_#*P`e4zUrtc|% zA=%t0f$A`=N|SmA7R@uOQG%5IneHY6p{e&qGo6PrGfm%9a51tDJ_VklnkhxoTR9ls zdzF$Qjcj_yhQ)`<5crUT@NV7o=9*5J5p zaPKGpR&~p@L210lqNZ0lnGl}B4^P)6O>gBigt8D=g0E7Bh)?eUp^0C~NlPfSb~2-* z#Do{72_pwBJhRNcPzbjQp-EsY8whU_&?)3X2Q{P0DG9|l=_el_%_W5OAwlr2ak(0; zOSv}Nj8+ybO#XCHx>}oNBTl{1hslI#YHb=F4(Ax5(AFwV`j@qvQ)Nvc-mlJZKQU)t z#wGHZkfGZ2ecAXan;>}og+`b5DF)N4tdCN|_fg=@YWQm)ngyNga&w_FKazcoa0gSC*2>y~m#ZWc(m8ZPovL$n_Bqjp>_B zKk{eI-O2eIJUJ!l=hDZxy?T<>i~MVBjqwuB_QzL+6EW`4{7IP|?iSm{IAPo08sjYg zL}Q%s?=r?&`N77xVBg4+#yGQohB40SCo{%b{XLCw=BLueIP=#V>XYZ>fLE3isoxvg zZL7;j>UsbAt}#8{OnL6$7-mK@~F|>{CshZoi z4xu*N{;W6NaxkqP-ETuad0U6hlZ&4!@0du0xNmX7w%;Wz{VT%qA0&(~kqG=p8xvMu zWx~ooL6}{O3A1YnRkRIg+av5fRTlePddQNJR6f*T@vXyt+COmNxjiRa(LUGu{Vl!w zg!ZaXR8;@xL)xH9)lqTo4;*@L>pt{h&)!6c z_ijgo?RUo$mVPK<`F|sfZ#EJ5?^PnKygK{U%G+RH zxnHTG|EB5Bs?VVEE95tv_Fm#Jb-2Htx?T1xn%Aokb$;1qRvGzRYImq~Wv2jd2j684o>@%L5g{Hp zmI&K@Z3#=imazPP5XSe6F#c6UC@)uO!pi?l1iSj>CCskLR6V+6$s5nV)6nXclU3Fw zY4FbaU28P4q5&^HjbEoMMg5$*>%-Q!r?RLDcUO#vqn`A(ML_qav{(1tFDygcXvYS- z^er2^&{laP+?%&==%9G;sQM$@azuzbPa$mkC&JQiBrN|d!uVbi#ve^sc^wEVzY`Jc zdf`ZzUA9!)e&EFYcbiaM?IHA9Tw|(QpXdFB=ly8V#i>uirl_f+;MN*>R!*aGcWdu` zJL^(!)rz@0i_M`PeoYVUuCShVvD{c{NF7hw`azqKYmWDE2tKDd8D27s2=S9vMA%-p zB@xnBtVx9Y#Y+&z=SLX-8N$k2MOgXs2(zm%VRrSUp|#f>89uNZ)fcnhJM6_#st$I( z{(0|W8XR9nTYd9Q8Zax5*YQX5sP7Kzp468 zy{ThV+XQ9RIu5E@ligZ8i6uh3+EXHIAJmBm>C43tmj5eZe8&jmzej}fwlpHF{Lh5h z6-$_1A86?J(S5AFdQ<&N%OT{^X{s%-IAUs<-BeZP`}a{33^b@j;lEDp+)DlPPcP=- zewxa@YiS95mw%Q!pgr#m|by%+4Ys`Zr{rPtRGlzpNl(`CkymH;oAVT^kZs-eAJYzfG83 zqY1OiT0HKHA?+MG{bcQ%=V_l#y9Y(ozhu;RsQc<*;s>oU?&7;8w3{>S*FgWF_mRQ0Z^;JUcdB^O-sjGES!{>nX8s}L##XCC zJqCBl^J4km)T3hCZ8r{1r|wt&w5%5V3w7W8YJl~97wW$J?t*&NyYqNQzI{1Qzkug| z%lVpf{;|9~6)%4tv&*Uux679X%u8su@UJU0IPOpHS~EXVzmMCd>@FEVeS2#U_4jh2 z@-C|arFG(|&x}O((`zSEp9+6&+`VfIl_kx-vuda#l@;$}ueo-Q4m`bVi`L>K9k}gb zvjx7jc>E0C{*;c5x$=)M)asz zb2*F?dMh8l{dkEgT&g@Q`e#obzsk3- zdw#0fjOw4$B}*ljXlVb+)i!>8Otqc~OS^`+P)&u7`Nr+-LPPG%%va-j5vuwS)G_hm zXR31hrAhG_v+1B4gL;o!v6Bv()1yz9UIBE_u+QAFq-F|d6Und&9X~C;8^XAaV+4NQU?r&(s z>_Jb;e)yAy@9>*4Veoqz_Vr45@XSjzEa=L-=EIIs!-rGdH=W2s4XbRMgx{G+4Y6D2 zH#l5{8q|AgNn*7;F5%m!^Yq1e{&Sq~7U%z)m-m{L?^cxC70m70MPpmP{%dYR939eh zMvax$-)T%s+a2paR;PmoTn9wn!Q^gATVZ7DOXIH+QamWj2jW{1!99 zI)+9zr4?iTxDKryjr}%#K;-IeG`3C5ia}*x z(U>_ehFSiyhQ?Iy-_HKYS33A)^AVrI3emwc9UD!nbC(Vt;VWCf~0*Ert@&fk%jC+Fq+a=Q+3yOxr`CAI2P<#*Dj?8294F1{pP zP8Y9uqTEK}d_4N;B8OJ{ zLd*>t(tKJ+hq4}yJZ#7Hjyzo;&v%^jbmP3Pyqq9j?nP$DrQ*!4;5sC1rT%H>flr9) z-l8bi`jd&@hlxXv%`Hm??kPU@d8xOgU-NQZD{4-W-pfBX8ZbMYxObV?clOI|r01?( zAC6Y-~7TV4iP1=YjEvzkNl=sM@Cu)Eh(5;Am%YLmrn5>)8w{-oH7#J}UL4(qQMA@U7H<9hxPLu7wc ztTc$~$pF=(z&uaC5bxLZB#j$66YsXGYE8Ad&%+yB-;SkwR*vTz#d&m`w>U4S6f4)V zB)4NPx9beio!|X1B7ZBQyXv#^N~b0yw6Rs0`dtbTb+J*FRTeBJ!9iF1t38&Hz`4gf z!eXlv#pKzOA_m?g{`DP~eVyS){9FwO29E4ae6KXG7CNeiF=ToePYUTmSw2}V&Qpl< zPUYq7=H)i!b`0cp4I;W>H+^OoJ4|$6rvLKI@>im>Pk4Sd;RVs&I5wl*cS_V(j^=XT z7DiP4M>OyF-h~7!KNhWWwhB?^lC@t{Z#)UA^$`-da(SH^FADLn2-p9{)BVcx zb>}?poVO1z2g(=9{m$*U#qD}WbR%CnjvU>P==1l}br^Gn=nmvrQ+BQ`34K5M?G0IJ zqW!o-n&3KyXmd}Ewa*tr)XMlGE-}YRh|Q!KE62SjD!)A|Ha~tq27P^Bd*unr!~IDm6v;i*-@@Bw`(BLI~7~#wO||34{K4P z-XC{~epjQ1*7Ku@{><3Nwv%Is{wO&fuy8`fz;*o^A}!x195I;k+ezITLxgz>9XAEy3+NMf9pI8(qf? zC;H8j;Vs7d5JTmvb%%C#A%^h8(G{%c5W~78Cq>zE#Blh0v8hiF62k$vquZNJB8CmY z@1j&AiDCZjVKl;n7^d_qaPa*m9`4|JFP=`v^G)GAFFCIhFXtCtZVPUQg4;EVhE2>z z@7l%E&=D~omULN62jv=6rqD?kuSV3l*z3zw>hmsliR#0?Qm@|ft6x1nQuo!fFLu7r ziFWB~aiw0!N!qSNV#z|?^|ZFVb=95`PDBVJuMwudPK0!72g34ACIV0IGDP4VUYW3R zmJ(L(CBp33OqgA>Xur0HzxM99~@5n(*mgz-)#telyIm3x^mJJu7yu2GGsQ=h7p6F2myUgs^kz5iU7`kbsB zba6@nDw|sWuL7fYQSZ9<&u-AHp?%7_mGXLFOM86UljnN9*0jSHyFMS)y&6(-V7?YB-3-S&mL`}h5$-?^`}_aJGkeC9Tozb)F|E@BGp**{>FsyTp$8( zWGTYR8BAEYzY)QX?d^$RSEYq}-`ItH{c~g-Z8m;e_eEb%QKvU;dKR3$o_5?)e!`wl zV`*m#A4TVcX0&78-qIHPpHt`JXSzLk9zz`;Ul06Pp+9ZrU#(8py5(s3QFo_{7n z_;Md%`W=L&D@BBSFW`C_@*H$00&n6(!piAPSh?4UV8@s8Z3Vlg#gP(q8?Bx<`}W>j zKDWY-&9s((4+VxGKc0GeD zblz8%*59n#lDl_HT4LhN4wD-0AVO$8l?eL2C5e!ZHX}m5e$GVTiD^v)-ltYXD5v~X zB9xmD)K;*g);B8HHD>{-T)30w{ufJ9V`d@iE+Ztws`9D1hO!H2i3X2sqfXqWwVVIC z`NPJ2w2?)lg7@4Z+z>Nrj@@@!&+)I_wHj8YlENzBIqlu zCqlY<_lc0N^7-$cGRx5M@x|M{jAy!`{dL1a_`P9-@*0MV)mmHC(G=o(T-GzaBlPK_eG?>>{;_I2i-{hFD`QqN#aP&foGyDrgtQz?+rT< zRo9~Jo3A6E{aL=<-q#U-joC&CwVZzP)8oq%_kJta?tPa7xA#7*QPlR)rTuM%@J{Qt zf_|G15z_7W-d4!>rEUf*rdVB^S=8? zm5J^L{2#>=Noh+<`MoowVwtP0Dom(GN>se+FuHggv0U)$JFA#>Z6DTp&^K^j{N9a+ zV>&FlYPt99zW2ul>>9dv|Ep!=hA;TqRtWd4Y%A#Rk+zs_eu?jUg?t0rQGq8yMg`u2 z`>0UP%%)T*_eDGv?06hU1-m*}(BU>y|6J;JoDTW^_G5!Oqv_y_i+erOZ==z5=QOh` z7)Yb+a@XD~v!;=gcf=O7`ISc2T-5GOsWUX<(vYX^`*_lbWg7kX4$W!A#ByINyg8H{ z3i>uYot)=8%XwCC-nP7)NM7zmZpRjG*E5>5(f9BDA6#j|Ny}ziUpmpa))P-QoH~le zzQ1WxNBTF78CY%bhPAEI2^>MYw7#zXK2>YG~fbWM4_uAHYC=dH@i>BGw%$?d4c?Yc@%PW9Rrhiu`M9awzD%c)B?}-*(QU=DaSvoV&c-$J~x-+^$J9-nFTG zg95hKC^l()5Tyxrm;X@YcBS!W7MHOfNMQb4tVye1deXSvD?Q}DXlPv5zg4+^e@TbF zcK&;V$9Xz*cpj^pJ{9TE9yPbV*jAN?60Wbt)7@kF&g3%kFkY}vD944D+k@Nj2e<1T zjc@y*l|_Rv8vk;xzs2^KG@*{u-sfLJY5eyMcWMv2N#j>+UOQ`eIU3(Fca@HNs?oR? zGZrs&8bae%+DiZ0xRu5Y_N>yt`!tR7yI*Mct^7PJ#Pz@Pbo+R|$(*M#=dHxcImgR2 za68^`yCClORP)TG8IAvQLy6U$R5YPdmCprM+0%s5Z)``)TG99iC$C07v!LQ=DfL<9+(Y zSPm<<6SpIp+htGV=U0f?xFCVXKRxr_@76o8&$q?R%9m(Dtvn0nkE}}*iYMlFa%@23 zpD*rs{o{KYfBerWk2{0iE3UPzHsLjmpM2TnU84&$e)x-PdG@d2;R>!l&(ck_rCQYc4zlIR0vLcbeci z`0@=HA14GwHxE6qfhMTS+^ckTGEGo*itPKfCrt>rblN7m3r&#M4Y_6END~IEsj_@> zV;;8TdMQr_$5$a=U(U0U^B(8r+~VZ|pI}EtZr2m>zC})$S}eAf_IVSzB>(DSQjasQ|Ll6fTI$|ye23S6tdsU? z_4oV8gZ9#%Q643icRnfYY0)&iympAR$6;OTrTgNIA=3}z=`Qhn?K#gj&g;a>sm9Cg z$n99n?edrUCGI%aFZ{Dqet*KFtu14u18e&SK98Fz^_qXf;&x;=sb@vy$*w0BN&9r) zGvL~dG1A_7cDc@dIj)^$(T0cereEvNqI12%B(y1Wz}c=R3@K zrg7fQyqsRV+)dn$Y0R#O%2Ih_3(M%r)1~rh9S$tf4wU-XuPpH@xTtr37 zRA$qD*Q}`d(gC(DUi~7KOTCAWKeTvm5vf>9a$bL4&Q@M-1h=CZx9gGAr+mxH=XZ~g`W){cv~k{C zsn6OLcN%OjBK4^{^la&;Eu{m`4As_MHdQ(xyxEd^wUr8mgjct;C3yN`jqa`|Cd7_ zq&~~TYq;P0BK6rhF4vG>4@!Ns+BwUkEDfnCyp(W~3)>y+VPWv>5?r#r&)xpN+9H-Wc# zayde|6Sy5pZdWYWZxcLl-XBt*9S^=!W5ye5?w zxJ4Q&n@D{=O5U#>*-`3qui}JlUzSRJe%JpsWE<>XuoC54$X`;Qt?P%`MHJ#8^j|^$ znx{L=^FhDiJdD?Ym-C62yO`S%#O=~cea^IRVX&Me^?4ol{M?)%sl1ka?%ro#rSfi* z*35M|C6xy}C{b|oL8)BpW4F^aw^XifcU!aR4d~k_B}My5d)@0V z9=_)K;yhgsp6?^)smXb7@N&-aa-ly7cKC6-=C#Y@WJBdOPrP22_=pBCTF~&wjAvpp z+AnzF+N72@jdAyjF57N7d@#n{dL1o3yZk9*yyNIfwhi)%Q48v{^Fp44601c8ZBu>B z?$)!D*LmA4TUn^w?E2=kM1^*dqy`bM?o-)>nv?*KJe6))I)Z4s)> z|L~bleJkpBdg_?yfD=@vKDaW@t|IkZKl9kKrKM=EJJut*3{Rk4{7OVf_YbAgOBLHp z@6?pq%<{>Vw}bU=QZnxAFMb<|5O;k^*!JRtr4J%3e>7oyWeMZ2M_74(5LSM9!t6Ru zm|bOQm}leFV+t3cQH{oyR1}oZ&}o0)v}xI$s>T;Q-F)&$8t{44fM#9ZP+!~b`NQ(% zqTZjr{h8iy4w55M%vnW$@*c9s_Z5;tOEC}nM;It!yANcA46FB zN`&RVM;Koo!uY=tR^DX7%J(G9uJVN0)s#j#Uz`1AcMy&FR;Zsx-2fUE_IA7V!kskq z=8@T3a!sTm4uSUzFS$tr0}cJ}<)YNLS|hj0g9=fvgbmLdm0wDG4hVLu)~N=SHfea! z&Bx99fVRMQT7H>n?_OgVfUrbnjSjQpo9U+YW5n<&`C9M2IgxM8Nm|f8{#yM!y zgRlTP^uzYtbC<8Ck%o~D2lhZe*lBZeNu#zj)Xr5Mw)7(%bh%@X(?`lu#V(uN#g8we zvJYkZR|~sNd*?YhyYh|s)cLaWx+{j=yW5@KS7x7AEyChU2-`lBu=KYG%fFg1J_!-{ zm*pm`JXgZXKSh{bVT9SWn+{oA*0$OD=QO@ag}Nd6|D@4p-bQ;oNuUwAD_*xf{ekLx z9vK`nu^rV+aveF$)r$t5%|EvE@_x%jSosqOv+EOKc0HnT-6n2WTdfmKXnJ^A zvvrke%>EYbw#{lqBk%RDIBEKH8dlmhUt=Zo1F!GTD|)Y@gCb7$x=!a)|KRn*wbNfw z??Ts<*P|cN&d={8`pp^cVBfB2bm_Vu2#e1pZ2KF+(tjc>|1!e())U6RpRn>45>~z| zVRrQ-%&uBAzM)hz+bxMEmigPp&IQ(U>3Xf6x9kXw9^PxQtmS4JKDVgkb%Rz^xARxo zarH|Ya&n<(VDsuUz+reUpGLpY0i!hgx^7RP-69rwRi5|8p?x2(xxHl*i4dP(i?Hp} z2}^&Ku>4I3<9kOKzm%}@_7Yb9Wy0(lPncb8X#BTIEA~ykN)ul^DWzL6oyO(MHE(a} z(=?`--{_663^cOf%hPj)!umanRVSXd>PR&&`!CqKu`msMSUP@!!Gp?vU(k5^!A{ie zaD>C8osS%P+12g4q1GWH#CJIpwmp)t^Z|tBhx_{iUpK<|&k$B#3}NM;CCsjygxNKh zCS35m-NQ40CLQY&b^Llq8h34^_sG>}XzX(LGj64lXw=XvgYs%4X_(9U56WxfX=tts zxyEc*PL(n7m;1kj`}Xh8?CE_`OMAQyYPs!bD+ga2S84PyDPi#;gl!*3So*bu<=;dY z-!#JbhZ0uaXu``U%r0NT>~b=m7`Q;aMi+T7ESDXuUw!g5-;&1ScG{OT+ADu|*%&jXE9~rkZKNeq`xYS1Nl_W&7YkC&OmYz=n^mRt@b= z6)%b``}Lh2Rn+SAYOHiM^`E86J!nTu>Te%t*FEoiSiih~z!zB%^}FEUo^S3M>UX?H z+^nzTdHg)zuHxyJ^8AjR?-1vA=HpZvL7($c?b_D5vGYbzt}cGI$cOC@y3)Zz3RH}W{fkCTwrc<0YBG&%)&Pk^ny=ZI=O~R_1^=M4=+_#ngzCdFN=DKeYC#8drwsm;sP#*3BZiyPRprkR* zw!8B5_j&%-oKMU7zwq*Wc=_GAT_d?&&UCn4(HZXAg>*!}i%m~hUZKNE4jpyV$(JS- zySe^l&Al|S#r`T2k~-3ak=6&_x_Hn8i*L(=ufqMKc?CY$6kbi^J(D{6+rfRRrc-}$ znSP(f*NpHO}J1@4!^LvgU#HRba*Al>LbT}qQi#2^F09f1&5XMy1yc- z3QanZtAfnRlP1kwQt(7V1DZ5$^A)cM3m$L8w-4m$>+t-a7~l8;oc|jy?-Vcp3%Bb7 zw=0N_bMKTdx_f;(zWqM`KHXl@vF`nkUz;?Vj`6xZw(WR3{im<({5F@4?T}Pa{r6Qm=I^NQ-M%fNWA=`GTR6y( zj#;zz*`zhrJnqD|FXid)@%$?|-*24%H(uU#Uj7hn*CTG%0Xo^W%D8Ru(RA{*&AH=# zji!@+t2C?2ovL(F-*H=C7>Yo;EhG9gC`2cYTGsPat=4p6>sD8CckrYWJ~rs-a=fwF-@$yRZ@*8lw5=6U5 z#LmfM?Kc)70reC`Yv#X3yzd|Rqt$~r;&D6p+0|E9NRPK`R?M^+Lb_QEeB5E*64L2x z7yAC97wNEmvtyr6BZ#Yf{8rC4l(_7l?R&S&2p$gS`n^2eRGzON=Mi}~^Ku^Za%XZo z9&x)WkYRfYm&+f2ki>j#BfSjkHw}fI>RT=7NYuA%^A-OH>v#J&6;uvBLlnnKs+{EX8Q21~2UJxIx)2uJmI`gn2*T3ZHO0axW3vr%yj5o%D zm(z%s+lSlHklS^fBhq@RbP_%C zZG+vet4PGIR_nSYtsr6R6sKbEc-1c_Pnt`js&4)0E?rL|TU4nuX>WcKacF6Wk2+5t zdU1Uzp6)Quw~O;=IqwKwPFr4Xdv1q{+qID-Otl)TeC9$D%O!lsy?r@JI3K;V@)igS zRrA{SFoMJvw%*ZvXCjF!HR$^GbwkLIVNaabtlUmwyVy39^m8RKgJnm9i@qT-r6<%~ zYF&Yc^_ad`exA;g=R3uDMswbAyquxD+_l_}9o#Okd%s)p9S$u?V$*qxj}&@A5*u6y z-f%`w5)MW#K2S(Y66)l4b$WfC#K)WoY^|I{;_d}rn!DvBiBnZoY>4eg;wlCm44t=v z4E=LM!|TI>c&O$2^*o)7=R3!F7INN8yqw{@+#%eKcigU~Br$Kql$mot@9o^XO#UR2 z7~bsl=c@ZjV$U<5hnKic5_9dWRx!exBrN)4_2Q9JNkV(4LB+ndBk^x~H(g~nhQ#k) zTBiEih9rJrf%~mWeCOd;u5ZHAfuDqY9XQVn&fA}t^PHCpK*s_lf)C-l=FxGO%hjh+PrXo8Im|;a0&ZM6G)=R zrQhfEFGLdUCM|8bVKzyuS#Dj~!54XWjqB(0bh(rB2|T4Z??+xv2rsuXw?o72Dnb$? zEsI^vTaF~|m~igZnPw!ZvMT!ejyfbscjm&Yt=&k{@<~hD)Xh(lcFSh>o_?PsZL=CM zyYgg`wD|S#c^~qUq)8j|6s*>SBn`W$*cVuohef!)5li>}6VEq>^W5OP`FJ@!dAU%3 z!H%ljuEKQK$|=?pT3?~@3p;P@THKosw%%K=#K=lCY+hd1hu(j|b8z)uUA_B-29J8W zx?;XwF#dOWa-jES>OE|a`f}?Dw1@4xg?FdarOgB0S1k2=XCj2Z!E-jKpZtQbbRLA| zgXc^H9=N`Oy!R{#E9VVi<<^J(fp+*2X4hk?RIKl0ao{119vu6w!^3JcvQWA0MQbHc zL%AvI-?sr5A#%^ZtJu!#ucnY?cN-I zbmPNVB82aE6G30#4y<#Abh)1qmd~Cro^FKk)*-B%0K&>0O_&|^iD1{k{Iu8LD+ND% zct8i`cHLLlQbn~7TlPA2bv4x-Yo2dXp#yY~`{flg6+tw>zRmArniQq-(hoK|$ZV;n z#HHl3fC04YmPNBVE?+@yiz;4y`tDAI@Y_kk^g6=Ql_V@5Ap%e1MTGILC9IsCgq6FE zFgxZE!LE-g+Uol4)`xT-XusI{u6GO1rGBFd#9o*K?`xP~xu)g9L)5<&wQX5?K9zfQ z9J9DVE$Th1+R(Bq>Qnc>emnJE(UNw|^?J+nJvV97g7(v%uW}_UEK8Vv5n<^H6P7QE z2t4(V5ytzRuyU3WR&E>-?69&Rf?Z)!n)l8ir$Qa$sMDF_2TPQdz`FYZr9IBMQqL>* zqTgLuK)ou@IM;J`B=s!+f9;)VI8|NP$5omXp$sV*ijw9@N|s$xA__?(MTBq+;ZTNT zo{yQHC{szLLK$zVL}e%?r6Len)_ZR)~y6B zi`3+=@xq`hFm(KtgCyv->ra{|I0dv{FFo(2)dHF;&b_k>yb7w3C26K!5+LUqIL7bR ze!^Bw!t{^QpL_eQ3ph>KxlF?NOdLU2Up2z!#1b}FPMzU+?*k0iJ2Rp@aAfD+8>h&U z$}i?~?1YJQ&(hn*57I#9>@1yues5Ujn8tBEoCd4aJ~eBeJPT^00_^3R4ueVo=bQV~ zDX{S1RU@xS;ULzjx^Q84IALnfR>JfrJ|c`xVjp4V9^E61Pf9akd|fpNlk?pNnA}Gd zz;M`bfZ+l{7ET`!%)Q)7R&%sCy3Ipm<)o_0ov$>A@`lM1pA^yen%{r8@+4&hOue&v zO9Dp&6k0T=1b?^&inbZu5?if6R;!@5!DAeZ{U@vK%kgxpx*L6<}Ch)=d+XrPjH<`jXqq=7O$tjE?ZB|DN0WV-Ogh=huPpwNC{mC$j>W+&3eD;b=AmhAa66kv&#< ztLhW|IRuecidCy*$J4vn?z;LLv0>kxz58^jSG|j*I5hA5;W()7ihR{C6(SnWX5TX^C-1(v! zf{nViTPo47GYdSPl<=*EpbhWNJ0=A~;LrDqSIw${z}n<^n@zS5Sa|Az5q;lsxH5e^ z)Yao$IQrL%bl%d?Q0Is&3}e8($mc|pXqS%F%z z^y^AL4JG60+ac8LOj7Z{ZU})?lNE6zA!OY+|I<&rA^3}Yz!Odj1lLEbSmp{?E3p3@ zb$&QE0eu|MmxDPMF*gV~1dyu@cu{tPBy<;o=+Xe^o)G zUht|*Dv=N|QlGjeSODP?!f97OnnKv&{mW!xc0t&r$AP-#P7wOM=3YU~PORIo?}$2c zoO484-{eXs>qkyOWa>u%RA0gW9=vvvnH4t@C zWr?niB1BDem5eGegh)BZlP@y&K!hVVV|QF5MDX?2NX(c5;dd0ab@d5jorHZU)V1N< zA@ngu-^G}-5p(;ILln7kA$seUpW%upfwx3_^O8|VfVXj0!Qm{L@AZ2#iyzt$z0=LO zYVbQmHC~EeU~Uaj7Mq-DT2<4aL4F>fYnr z2lR1feTVokXA9=OM-G4FIuFs>rv1H_UILHLa<=G*IlxmrZ{>S#6Y#`T0_zLuucJa| z^N8-{5N#?nI$5~~qQ~6uyi>dcqOR}Q(qKS;zw!>fAY0WT%A-p&eb1D?mFd%ePr&H- zaqf@LH}qA<99hgYK@K_OdJ56@(@HdNBtUfUmBpb46oI$k(yM%N8{o~|(LS;-2cm!W z8jN<l^H+qfP|p z+|h@wj4yo-OwMJ@J%k(!k?RCRpMe(7S+xFF5Wl`aEUo*|8ltHJyp@-ROl;`2g5v~% z$~C|n#W^(eQ5T}0@7sHyKbX$pm$X~w0MS{+m$lx}-`~mSQYMXZ4NT=t!R~I)(0Z)(b_O(&3fOk;Oyfa`r@Z9QrYx-&b zBcIIu#`OWuqe!-CT^{gUdd{^feFB~X|5*Q~g}}45>Ce(A#af2_1*oHQn7JJEp?^*p z-`SWWhq?6c;XfP<*NH#xWBgbDJAwaB;J*|2?*#rkf&b45P_D~A-AJe}qZ~>$@ABvM zP&VsD_Iyj5LRn2NmY*1vNLh4?PrucpLYdnE0+Hht2uTeJx=N_UD2YokSP8R0QWI19+AlDtrIZj#YS=xEZvHwS_ zn8z*3e#55?<9hZ|HWgmt5(5d;!PUq2nvPmTSvmyvyF5y#4k+lZGTbafS&;s1B?beO z`Gs`tvN1B0`9YyE;$~V{H(*~Lbw6=#4*Fa`-%Xg4g}L^~QHNZGl;dib4;vnvP>xwb zbwZj)DUObL;JvnAlwDxJ^oXbOlM^`cpDa-d6r54lu zDN9|gfp?rl>cG&%<#ooDSj({=kGgQ2vp}D0);D!L<}6}!+s7kEAaa>e9G4KI_q%E+ zNBQO?!PM0hC#%3VtZNkIU~IX*-9?GAGx>H``0f_UHkT6>?@~e8?72Ll(7Knhw(_p!efb(ZX$%{cVAiM}?Nvl4R!kz+G*J)}7Daj~Ln zJ1I`H((_55ohc4fyid@$L~$0IKG5?$P1*O)o4D`z56bRDcSUCUYU;lEhhu%CjuT$}^+Q9|D)%qhoQ`g|CUFUWO<;!p$U z0v24MI0cz67f?4T&eNrabugadl&bby-O8XiuI@2que9l}C(o*2Jw-WWeu;f^XCLJ- zv*?gi>k`VoMs>?7U-~>!Wb>LWHLz-7e+TMT;hfd559>?+cVu!dVlI82498vMDxf$X z6DJpjf2TOrL)BhV^n7=&g0C2T-XDzg3S)j!oSNY8Wpn9sO`g8);i)!?W9`-hP!}tm%k(W!mxyyQe|;F=&umUCKjzZs$Z)tI7rkF_ zW@D`>eU5Km{n+P2|J+P`w!?K?6y+%O+_N(;fpQcd)74=pKsk{677?PqwEg{equs{P6zvEc>U~(sPE_2EkKz zd#G$1Uh8g7iqSFud+%G*r{l&!?(n^9Se2&?s%g*VUT^xG{%2jP_F#?jy%?cC zYr^gi-;X2geAe(j>;L!p+iZUE@IK3@HN0l|6^GaV>+2)z*FXFmRD$O;tY^fko1h3_Mk24%Sz^PSNwkC55*tJH^-KhT)tggBREzgOB{ipX>@=i>F-M-_js(0mr z(fRFZs^O<$Q_shT8YatNRjlBy9-E9(-Q~*^E;i&6cD;Zw``f<~Rv$#z`6$BrO(3j) z7-91U2%9fPSgv;Rhs#Io;DinG^mFjO);<|+5DXs2xDPiv<-*~>Su%?vu7RUbvet`D zBf!>$Z-&rY4LBh6q&WIQA?z(Ocgeav28$o-R=Wo#f$Mn5Zt9HBt+bzkr@5*X``S+W?n<8Xj=R9{_X8{ki z-&|2uck3%PTM;d1T6lu6>tlr7HzBNk3}NRN5Z14iu>Puq&C4Nd{x!mKr4yFR0Q@)J z)4ROj8w82eaQQzr!7&?qyLbg}@K&jcwD5QU+z$2KKX>SXOaB?I8)hEB+5PN%@4`a* zImfTIl`2+)Y1R~x^w0I6zrT!F$DS@Vzwqxi?NjQ6U5gTS-=BVN@o#+=Vdu{f*3X`> z{+fi%t0HVZm#|#DgypJ-K%q-c88iJLxaEtHndm4uKL4FhfbT)@-Ew_U%I**x6&;ru zs6{_F1W1kA)gEvuaellVGS_$hvm#}&J2%Eo`uw1T$;S!o7Sn-ErinXvPEg!S_xtbaUV^9~U<{}^GoQu_$Y z#f9LSyPENWl@N9=Md6$|4+5U)tZ=Pv1iy}1O)Hw|`+)srlY^}l;fPer%&?qQ;JTx4 zeel*Lz&U?TWZ<+3SSmJ{F3PP3&U;+V?H`rrXa)*tIxe_oE4`S0n7aIAQ%H z2m-4cLB1P`*y*NU8mbjiM5Z zMG3p6pF7Cxk0h-A5MkyUy9w)OL0JDV!sgv1Y`!XCx#kd-%L2j{9Z1>TdjcY7*jp{U zrv|~QQ7_&MWeHv^Zm_UxCGP;eF!JGo|c7Fe5# z*QsPE!VZ(2?HwL+r3c+-drnDRPM9_K7Gd_&y9uj5PS|-1!urwoR2ctzgw5Me*!&>E zavdcsm-L_C`+q9^`)1T*$#>s@)10Bx^RQ;Pzt5+&HnaEdpNnSmhoSUK+x%+pW(vh!` z@i%WbvtRdjpPAPfUhiT2<^Qgke23xnUWPC9@0#K79A2|u-|*+9fc^UC4)3$)H2m*m z;CWSnt3%7VxO7oCYGpwR4j6;;=)Ku1j~)X@7mcA!OHF_inBzColm0wG+d<)H6%ybu zdGxJ+)Z4-SxW|qyYdXPRar}$((&}K>{Vb!F{yky$eE#t%F7I$1i~DO)-;MLn(Qh95 z>tWs=%s-A?Ldc~@KbPggM8SO-aD0^V_S2_C!E5m^v2khi^K{EX7O87wfX9;g0ZSKb z0q*QIBP)xo!QC!ye1J?7xOE!r6ArrvZt>AGhhjXz?SOe~Xrv^#Z8J&xuqP1L^mCJ$ zeJ|8E49~NE?&!Z0^Kvksex3@$m4;jsAs~C(gsEz25G)$YWe_erw-| z<)*ELV`?f&QnvJcVxKuDk9=$gpKs@8b}XTvlapA~F`!%yJ|@9!1!L&@(@PU`-ghEzFNA*M(O(zyf`;>1t}Vz#-*YWkD&EVffau6y zk?j%}AhLwd;YW-$M5snAm_fg99QNhOj_*rj=zF-%>Vc(v5IVa+!N4USLU=BE4k~dF zGEcH={|`P0?y=d|RY<=-{H#HAn(1g<-@$$Q{Z~exjPph4HwOI^FfSkT4n@Wa@D(j${PbOv10U*6|*6_rT(WMAN_vU@&ij|S4crr&aTxL?!SPj)j893 zGRHw=L%8)$QzQDm?yE_HH8UV`>gdCdF1FM6g>yLiiNd(1-#29T`wOZ1+*pYf1~8`r3A=tx=Nl}6 z_<}W-+BIV#ewJP2x8wQ{cm5yC+6C7j&Oq|<^=u1>6UkU@IY$LzKRD+Xto;D7&l@ac z{m*A1jxc;`3>P<+TdgR4ZwHuJ|cyM)4^$SSI`!)C8 zu6>Y@F;V>8OM6`J$NhHH-^TfB^pimUvf(^7e-3gLB9|HQeKsRQ*o%Jt?zua2R`$Oj z7DJ7eL0Vtxfy1Y9lUd{FOJHSZ6CazD<%&TL+`7BSGB##);A(WM;Kbv*iS_v#R@C3pAwsXRr6oZi;1;= zh0Wc0+2r6Of7kK$aacpKpNYC#IQIyB4xuj(bIdXK1af>vu9YNwZTy7v{q-a?^_bOb zsRblJNAA=UrzCQ0k?U;J?-9hS=%%gV!|BAM(W~E1wvV{a;`=VNCW5#cTXuwbJ|Txy zmp0z-x_>Zcd;@iVn(=;v^s)xE~KWY$M+0{Sk)oD|GGi5!cO>pBUud@W};Yb6Qe z&bv`_2}tm_MhCIBMiNl=(|xkqYvMO}(Ot&7f%v|hdPB%tj`*1TYPOF(N4z4_7kjVO zBu7_jJKVbXl^o#}f4XLUw6SBgFg==%h7x-qvFIc_7@ViMZJ+jf93Tds~}lPJ;cu?a+JGP6AC7W=(qZk@&l2-7M`jC4RreWgh(El4G5#6}rBy zCCAhM+ zNu{jpjyEK1r@MA!rx^)V9@kX3L5~FIbnV@Ezm^0odvpKA9cvOWaL-OH6G*^>0>fX` zkBPti-qBTKg^0iG(a0G;Yp~wMz8LDB<6Is3xS;PX%-M{&M#%9RxqyT%sXO7kM3#iL zkpjOLbtJ51^xa#6wj@mb>!9n20us7K{#vEiM-rkx&my#OfCO8`zPZ6?LW1)0WO&h? zbl$$7Tc`XYfnQ#pTcK-;bvN4=<40XD&Y7amcl7PRoE*&EjvRlu1V~s?NYauOxg=b+ zkqQ&~K*F_0%f2%yAmNj=oo6@iAz`t_Qjfj&lh7f*lJfn+B-CEJQl{xR3Hh?5Ef+?U zkks1LX)0MH#JTHmi0cTp9v;H}dDIEuTomiGZwP%YFlP(qrXk03T0IM<6l%IHhyF*%zsmx~+*$hDA!YpI^svezf! zX`4P@kPage^9F~O?hqppXFTJZ#*34PzR4GF9T6sxg3TAMt#l-jBfk$+H3X1|*RNE@ zZ?7Z~w;#O=j!`EO1-_$rEq|&8_Lrb89p`+|$DH-`{Ej&jF?Td__#zj5AIPveK0uN{ zNSyhN(5>|6=8k#9U0nVUe6~ImSa0whxD5}kohq3KE<(E6E%g6~+x;Au!ON`xi@NXf z6QApXiO+LI&dX(>u~678Pav1Dbpm1f?Hz>G$rE<&JYjw02_I=QaP1dh!#le+4A7QBq)L>@?O0{5^@wsx5r;H*2LY~_KIU^mJ8 zvvZLkSgd`u{G`KC*xq&YOHR==AXz!>%BnGhsVfx-)4xXFFJ^Q*2|FiASRWI@`d%h% z4*huoCigsHIq2uoGhD{7>yx$BhiD314%iy(dLRzmLUt-3z{oeBN?hOze_Z(j)8vSTA96*q!f`F)R5XNn0^v*ifWS7@T2 z%kWz_im-FL3FEW#CSiRC37d0;u(|Z-ffx>T!g7_t+L!fObrF(azTv0UdYL@1^NUEm zpF9CL>$5*j)UO76-|LIpJ(q#aT!96T$|AwyZZm(aSpw`GvA@^!*hw&$^7D9Q%L!Pi zD7s>S?-;^V?;C{eD-c$vLfE;>gz+hTMp$2c!sgs0Ol}hW@53=1orLA80FmUX>wH51 zx{04f2! z8BBh2jTn8MDDkO9dgrDA-_E=0!lCr@QnbhQ%+61PEqB_BmE}2L^z(_1yVVTXmLNM) z^lUyD8rL|xO`Z&T^90Nm37Enx?CYlFbGYRW!MVK7zR$y{x^1*M8oS}MPxOPPmmB<+{+oo!e z^>StJJLi5QYrh1PRGXQQ70LM<=6iM%aY=pc!;3XwMyX=|QpD=SJ3kl=%{1Y&~%Qb+>IobeB zuBjU^9CJ*7;S%E`%WfOHbeYSL^{Kl>w>>o>T5Y*^&y9US)(TV^FDQ;CE7sd3Sgn;K zGhGfiT4kB3f6^|LTxP-t<7&M}7<*R0gu(Dd$Ldqd`xSqv8!t9jXX@1bgy|Rc5Jq=k zL^(6Jh7TB@Jbhq&p8%WF3{38rL|{0Y`GDctJ46=jySdb?M1zp$YYuf$-GoxEoj78y z3R$yJRXbvF1zGN2m0lnqLX^96e`SlA5n2AtKJQbb$fU28=_(l->firabt^`$LcPV# z;P|eC-sMd7K2Xl|=g9!0%iRae+zDY|eUgCjoge~C&eH3^=2F0LkRD*TuJS?Jt-$sR zo9{xxp*pSpjr8kIL7gprlBXc%p0v!~+q)q~a+4DM)EVHN9y`B(3w^I|%V&WYZ(ra| z4P3v%{ue}ljpv09&7$wWrscxj<5>N$KNEHIJx6BlDEeGLUt`QM$J}(}=tZs?NL|Y( zdwszNIB}pjEyVN|B!-ldG))e~U#MA^WAFjuyyo#IiN1i?!ZPOGW<|Y^afIZ?eF2A8*Fs_sQ2cqekdUPJvrPCp#Gj%%^zOSs+^0*6-*(hO9Cv)B zSiKp<&8HeEovRQxE~8_E<58?fuus2kW^@N|?g9FEqVFBdamL&_a{I*`jd)y(#G*C>!s{vA`AIt6>`4y63dHLFA`ds(xI=g+l0m)*k5?tS8LsF}^ z|HocoNV=);kJiyWe=E}$McqZ5yNy28==%wCYBARyIj$mCB_xLz#Z(SeL5dh}YS61q zw60y`+^+qQ;xcl}^x6@SvfVrWSovB=nWgI{v(gNbJJ)tv9nXd25|!~yrd^Pn(E4kq zGTrx&(2vXS_*9FWNO7w_-Q2eVQuZdQ1RS%2l=aWgbZ-0(DNE|# zd|g9-eRCr0R*jsERpxJ>(b3;G%$yVYtVCZ|%+bf(*T|v4a^0r6SGYC@-WWsA7p)k0 z-w7$v1SJ0RumXuml%G|&CM%^6m5kW$+t^izI1q}(iAFh^)1q?9=7 z%l?xNDFsjN?a`;Xm`dxIehlj9J~K!EoH9Q0=xc*HW|+GbIq08Lmg~>^82{D(PT;>2 z`0oV%JAwaB;Qw<1luuEw&}U;C%I$6O6KN+M%K4sk<4)_nl%u6|(!H#!ltWAqe~deQ zzgMTFD#4_lvd!sxoEg|a*@TGlEh~6LSvOkVsZFY;tUc=QbPS!udSbZG>K@=+4f@9 z(<$scpZ_%F@Xn%bu>ApLA2mHLDO8lQE9f+waB(J`+Z!`>sWjGU*q?>EDLB`NKB?&I zjX4#Vdu^D5%YbxblanvkPEt}%rE!BM4+C*`uBxIlOZ=&2z#GbK#8bZ0wc;~zIZYkyR zZ)BrqMGfWLZd*7xW{7fD?#NQAo55IQ{NX!QQV!`Zjyoq6j$|og1Yo1%H4AFWp3q%%BAV~Wy7Sil#5N|fSCA0%4J!F!Gce#v97^>)3A=6JB>ac z(DyUu^kA+4a%@5_LCSsgVCCqEg%o#=rj`CbN=Wf zfWDV7=O4^njvNNal}@=kUUE|^QKGnt8B-#T(dW0%ski5i9K~J!EJ%rxqugticBJXQ zq1^TA8vflJLb){^lyK8&pxm4Xs*HA}Q*H~xZZ>)HD7T4ucSL3#!fK2CIMkiNxktl3 ztZy6U%)nd;v`ttY|sI zhH@XgG#GJ+*5?O4?O1T0az88}Qtqoxxo?PkZ6Iq!xi1`yDH!s@>Wh8)`<~HhL~-3ZM9+`Rp}5B7pN~DG{npGsVLoI*aTl6)ZTeD-HUDp)(RJb61@zHG z-(1X@gSqs7XNKcBa;>DeX1AZ%aib}2tXN#ByBNi7UbCip-b%_tBuZx9(xa5e(zr1J zBQhutb^jWN)#E9Tm5)V-#PTT*TW#vG?Sq$m7q2A!10l(4Dy4=ljC82c|!=ZJIH U&}R(#CS#5_=Bgma6yys3AGsRT9smFU diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5.i b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5.i deleted file mode 100644 index f8fd18ce..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-5_out.e deleted file mode 100644 index 5e2518e56962db13f34cfe3f3b46809f4e2fb3d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159720 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 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9.i b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9.i deleted file mode 100644 index 719299b7..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-2/sim-9_out.e deleted file mode 100644 index 3b2f81497311a8d5431d27dd85c9de5bf345c971..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105840 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Ξ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 mqLY-bAH}*K`<BySuKv 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 T&lvPg#vE_VRY8s^$QAxS^8wWx diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16.i b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16.i deleted file mode 100644 index e6aa08ad..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-16_out.e deleted file mode 100644 index 32cbd4702e3ca4fbf404ff11d85c44af781a6f18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159724 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

k*CXHgUt+YMp38)5FV} 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 W?;oOLf{)9H?)l}^$93w<@&5q2$C%k9|c- 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 B=-mJS diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7.i b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7.i deleted file mode 100644 index fdf63759..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-3/sim-7_out.e deleted file mode 100644 index 837c9c7d5df4d2435a203e3624ab71e23b194d24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159720 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 A+5i9m diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14.i b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14.i deleted file mode 100644 index d3ed3f24..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-14_out.e deleted file mode 100644 index 12f919fc262817a213d3d60be6657d12c213459a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159724 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 diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19.i b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19.i deleted file mode 100644 index 83eea962..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-19_out.e deleted file mode 100644 index f835f34ae99bae166ad843f6a6859e8bc35e1306..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105844 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π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 R^wq+g9L&{5j&;Zt@js^U8~*?R diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6.i b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6.i deleted file mode 100644 index d3ed3f24..00000000 --- a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6_out.e b/dependencies/mooseherder/examples/example_output/sim-workdir-4/sim-6_out.e deleted file mode 100644 index 2accd80f0b2f7907c331b73ed31c565a2cd583ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159720 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 z 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%0DW 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.0"] -build-backend = "setuptools.build_meta" - -[project] -name = "mooseherder" -version = "0.1.0" -description = "A herder for calling MOOSE and gmsh to run parallel parametric sweeps of simulations." -authors = [ - { name = "thescepticalrabbit", email = "thescepticalrabbit@gmail.com" }, - { name = "fusmatrs", email = "rory.spencer@ukaea.uk"}, - { name = "lukethehuman", email = "luke.humphrey@ukaea.uk"}, -] -license = { file = "LICENSE" } -readme = "README.md" -classifiers = [ - "Programming Language :: Python :: 3", - "License :: GNU LGPL", - "Operating System :: OS Independent", -] -requires-python = ">=3.11" -dependencies = [ - "numpy>=1.26.0", - "netCDF4>=1.6.5" -] - -[project.urls] -"Repository" = "https://github.com/Applied-Materials-Technology/mooseherder" -"Issue Tracker" = "https://github.com/Applied-Materials-Technology/mooseherder/issues" - -[tool.setuptools.packages.find] -where = ["src"] diff --git a/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_2d.geo b/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_2d.geo deleted file mode 100644 index 9d1f4f07..00000000 --- a/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_2d.geo +++ /dev/null @@ -1,62 +0,0 @@ -// -// Demo input file for parameterised geometries with Gmsh -// Author: Rory Spencer -// Date: Nov-2023 - -// Geometry Variables -gaugeHeight = 10E-3; -gaugeWidth = 2.5E-3; -// gaugeThickness = 1E-3; //2D for now - -// Parameterisation -//_* -p0 = 1.5E-3; -p1 = 1E-3; // Testing comments in the variable block -// Another test comment -p2 = 1.2E-3; -//** -lc = 1E-4; -filename = "mesh_tens_spline_2d.msh"; - - -// Create some points defining the boundary -// Will have vertical symmetry -Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen -Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 -Point(3) = {p1,0,0,lc}; // Parameterised point 1 -Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 -Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line -Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline -Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge - -// Connect things up with some lines -Line(1) = {1,7}; // Bottom Hor Line -Spline(2) = {7,2,3,4,5}; //Vertical up side -Line(3) = {5,6}; // Top Hor Line -Line(4) = {6,1}; // Centreline - -Curve Loop(1) = {1,2,3,4}; -Plane Surface(1) = {1}; - -// Top & Bottom -Transfinite Curve{1} = 10; -Transfinite Curve{3} = 10; - -// Sides -Transfinite Curve{4} = 50; -Transfinite Curve{2} = 50; - -Transfinite Surface{1}; - -Recombine Surface{:}; -Mesh 2; - - -Physical Surface("Specimen",1) = {1}; - -Physical Curve("Top-BC",2) = {3}; -Physical Curve("Mid-BC",3) = {4}; -Physical Curve("Btm-BC",4) = {1}; - -Save Str(filename); -Exit; diff --git a/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_3d.geo b/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_3d.geo deleted file mode 100644 index d7250dc9..00000000 --- a/dependencies/mooseherder/scripts/gmsh/gmsh_tens_spline_3d.geo +++ /dev/null @@ -1,89 +0,0 @@ -// -// Demo input file for parameterised geometries with Gmsh -// Author: Rory Spencer -// Date: Nov-2023 - -// Geometry Variables -gaugeHeight = 10E-3; -gaugeWidth = 2.5E-3; -gaugeThickness = 1E-3; - -// Parameterisation -//_* -// Testing comments in the variable block -p0 = 1.5E-3; -p1 = 1E-3; // Another test comment -p2 = 1.2E-3; -//** -lc = 1E-4; -filename = "mesh_tens_spline_3d.msh"; - - -// Create some points defining the boundary -// Will have vertical symmetry -Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen -Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 -Point(3) = {p1,0,0,lc}; // Parameterised point 1 -Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 -Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line -Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline -Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge - -// Connect things up with some lines -Line(1) = {1,7}; // Bottom Hor Line -Spline(2) = {7,2,3,4,5}; //Vertical up side -Line(3) = {5,6}; // Top Hor Line -Line(4) = {6,1}; // Centreline - -Curve Loop(1) = {1,2,3,4}; -Plane Surface(1) = {1}; - -// Top & Bottom -Transfinite Curve{1} = 10; -Transfinite Curve{3} = 10; - -// Sides -Transfinite Curve{4} = 50; -Transfinite Curve{2} = 50; - -Transfinite Surface{1}; - -Recombine Surface{:}; - -Extrude {0, 0, gaugeThickness} { Surface{:}; Layers{3}; Recombine;} - -Mesh 3; - -Physical Volume("Specimen",1) = {1}; - - -delta = 0.005E-3; -topsurf() = Surface In BoundingBox -{0-delta,gaugeHeight-delta,0-delta, -gaugeWidth+delta, gaugeHeight+delta,gaugeThickness+delta}; - -btmsurf() = Surface In BoundingBox -{0-delta,-gaugeHeight-delta,0-delta, -gaugeWidth+delta,-gaugeHeight+delta,gaugeThickness+delta}; - -bcksurf() = Surface In BoundingBox -{-1,-gaugeHeight-delta,0-delta, -1,gaugeHeight+delta,0+delta}; - -midsurf() = Surface In BoundingBox -{0-delta,-gaugeHeight-delta,0-delta, -0+delta,gaugeHeight+delta,gaugeThickness+delta}; - -// We now can use these variables to assign physical surfaces. -// Again note the tags! Physical tags start at 1 and tags are shared between all physical entities. -// Physical Volume("Vol",1) and Physical Surface("Sur",1) will cause errors! -// The names given to these surfaces will be used as the BC names in MOOSE. - -Physical Surface("Top-BC",2) = {topsurf()}; -Physical Surface("Btm-BC",3) = {btmsurf()}; -Physical Surface("Bck-BC",4) = {bcksurf()}; -Physical Surface("Mid-BC",5) = {midsurf()}; - - -Save Str(filename); -Exit; diff --git a/dependencies/mooseherder/scripts/gmsh_tens_spline_2d-mod_vars.geo b/dependencies/mooseherder/scripts/gmsh_tens_spline_2d-mod_vars.geo deleted file mode 100644 index 76b0f5c3..00000000 --- a/dependencies/mooseherder/scripts/gmsh_tens_spline_2d-mod_vars.geo +++ /dev/null @@ -1,62 +0,0 @@ -// -// Demo input file for parameterised geometries with Gmsh -// Author: Rory Spencer -// Date: Nov-2023 - -// Geometry Variables -gaugeHeight = 10E-3; -gaugeWidth = 2.5E-3; -// gaugeThickness = 1E-3; //2D for now - -// Parameterisation -//_* -p0 = 0.0018; -p1 = 0.0012; // Testing comments in the variable block -// Another test comment -p2 = 0.001; -//** -lc = 1E-4; -filename = "mesh_tens_spline_2d.msh"; - - -// Create some points defining the boundary -// Will have vertical symmetry -Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen -Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 -Point(3) = {p1,0,0,lc}; // Parameterised point 1 -Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 -Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line -Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline -Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge - -// Connect things up with some lines -Line(1) = {1,7}; // Bottom Hor Line -Spline(2) = {7,2,3,4,5}; //Vertical up side -Line(3) = {5,6}; // Top Hor Line -Line(4) = {6,1}; // Centreline - -Curve Loop(1) = {1,2,3,4}; -Plane Surface(1) = {1}; - -// Top & Bottom -Transfinite Curve{1} = 10; -Transfinite Curve{3} = 10; - -// Sides -Transfinite Curve{4} = 50; -Transfinite Curve{2} = 50; - -Transfinite Surface{1}; - -Recombine Surface{:}; -Mesh 2; - - -Physical Surface("Specimen",1) = {1}; - -Physical Curve("Top-BC",2) = {3}; -Physical Curve("Mid-BC",3) = {4}; -Physical Curve("Btm-BC",4) = {1}; - -Save Str(filename); -Exit; diff --git a/dependencies/mooseherder/scripts/moose-mech_mod-vars.i b/dependencies/mooseherder/scripts/moose-mech_mod-vars.i deleted file mode 100644 index 46fa6efa..00000000 --- a/dependencies/mooseherder/scripts/moose-mech_mod-vars.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 40 # Testing comments in the variables block -e_modulus = 3300000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-creep-gmsh.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-creep-gmsh.i deleted file mode 100644 index 929abe20..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-creep-gmsh.i +++ /dev/null @@ -1,182 +0,0 @@ -# -# This test is Example 2 from "A Consistent Formulation for the Integration -# of Combined Plasticity and Creep" by P. Duxbury, et al., Int J Numerical -# Methods in Engineering, Vol. 37, pp. 1277-1295, 1994. -# -# The problem is a one-dimensional bar which is loaded from yield to a value of twice -# the initial yield stress and then unloaded to return to the original stress. The -# bar must harden to the required yield stress during the load ramp, with no -# further yielding during unloading. The initial yield stress (sigma_0) is prescribed -# as 20 with a plastic strain hardening of 100. The mesh is a 1x1x1 cube with symmetry -# boundary conditions on three planes to provide a uniaxial stress field. -# -# In the PowerLawCreep model, the creep strain rate is defined by: -# -# edot = A(sigma)**n * exp(-Q/(RT)) * t**m -# -# The creep law specified in the paper, however, defines the creep strain rate as: -# -# edot = Ao * mo * (sigma)**n * t**(mo-1) -# with the creep parameters given by -# Ao = 1e-7 -# mo = 0.5 -# n = 5 -# -# thus, input parameters for the test were specified as: -# A = Ao * mo = 1e-7 * 0.5 = 0.5e-7 -# m = mo-1 = -0.5 -# n = 5 -# Q = 0 -# -# The variation of load P with time is: -# P = 20 + 20t 0 < t < 1 -# P = 40 - 40(t-1) 1 < t 1.5 -# -# The analytic solution for total strain during the loading period 0 < t < 1 is: -# -# e_tot = (sigma_0 + 20*t)/E + 0.2*t + A * t**0.5 * sigma_0**n * [ 1 + (5/3)*t + -# + 2*t**2 + (10/7)*t**3 + (5/9)**t**4 + (1/11)*t**5 ] -# -# and during the unloading period 1 < t < 1.5: -# -# e_tot = (sigma_1 - 40*(t-1))/E + 0.2 + (4672/693) * A * sigma_0**n + -# A * sigma_0**n * [ t**0.5 * ( 32 - (80/3)*t + 16*t**2 - (40/7)*t**3 -# + (10/9)*t**4 - (1/11)*t**5 ) - (11531/693) ] -# -# where sigma_1 is the stress at time t = 1. -# -# Assuming a Young's modulus (E) of 1000 and using the parameters defined above: -# -# e_tot(1) = 2.39734 -# e_tot(1.5) = 3.16813 -# -# -# The numerically computed solution is: -# -# e_tot(1) = 2.39718 (~0.006% error) -# e_tot(1.5) = 3.15555 (~0.40% error) -# -[GlobalParams] - displacements = 'disp_x disp_y disp_z' - [] - - [Mesh] - type = FileMesh - file = 'test_mesh.msh' - [] - - [Modules/TensorMechanics/Master] - [./all] - strain = FINITE - incremental = true - add_variables = true - generate_output = 'stress_yy elastic_strain_yy creep_strain_yy plastic_strain_yy' - [../] - [] - - [Functions] - [./top_pull] - type = PiecewiseLinear - x = ' 0 1 1.5' - y = '-20 -40 -20' - [../] - - [./dts] - type = PiecewiseLinear - x = '0 0.5 1.0 1.5' - y = '0.015 0.015 0.005 0.005' - [../] - [] - - [BCs] - [./u_top_pull] - type = Pressure - variable = disp_y - boundary = Top-BC - factor = 0.2 - function = top_pull - [../] - [./u_bottom_fix] - type = DirichletBC - variable = disp_y - boundary = Btm-BC - value = 0.0 - [../] - [./u_yz_fix] - type = DirichletBC - variable = disp_x - boundary = Mid-BC - value = 0.0 - [../] - [./u_xy_fix] - type = DirichletBC - variable = disp_z - boundary = Bck-BC - value = 0.0 - [../] - [] - - [Materials] - [./elasticity_tensor] - type = ComputeIsotropicElasticityTensor - #block = 1 - youngs_modulus = 1e3 - poissons_ratio = 0.3 - [../] - [./creep_plas] - type = ComputeMultipleInelasticStress - #block = 1 - tangent_operator = elastic - inelastic_models = 'creep plas' - max_iterations = 50 - absolute_tolerance = 1e-05 - combined_inelastic_strain_weights = '0.0 1.0' - [../] - [./creep] - type = PowerLawCreepStressUpdate - #block = 0 - coefficient = 0.5e-7 - n_exponent = 5 - m_exponent = -0.5 - activation_energy = 0 - [../] - [./plas] - type = IsotropicPlasticityStressUpdate - #block = 0 - hardening_constant = 100 - yield_stress = 20 - [../] - [] - - [Executioner] - type = Transient - - #Preconditioned JFNK (default) - solve_type = 'PJFNK' - - petsc_options = '-snes_ksp' - petsc_options_iname = '-ksp_gmres_restart' - petsc_options_value = '101' - - line_search = 'none' - - l_max_its = 20 - nl_max_its = 6 - nl_rel_tol = 1e-6 - nl_abs_tol = 1e-7 - l_tol = 1e-5 - l_abs_tol = 1E-7 - start_time = 0.0 - end_time = 1.5 - - [./TimeStepper] - type = FunctionDT - function = dts - [../] - [] - - [Outputs] - exodus = true - [] - - diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o1.i deleted file mode 100644 index 1462059e..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o1.i +++ /dev/null @@ -1,82 +0,0 @@ -#_* Variables -n_elem_x = 40 -n_elem_y = 20 -e_modulus = 1e9 -p_ratio = 0.3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = QUAD4 - # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo0.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo0.i deleted file mode 100644 index f962bd08..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo0.i +++ /dev/null @@ -1,85 +0,0 @@ -#_* Variables -n_elem_x = 40 -n_elem_y = 20 -e_modulus = 1e9 -p_ratio = 0.3 - -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = QUAD8 - # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - material_output_family = MONOMIAL # MONOMIAL, LAGRANGE - material_output_order = CONSTANT # CONSTANT, FIRST, SECOND, - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo1.i deleted file mode 100644 index 8a852f35..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo1.i +++ /dev/null @@ -1,85 +0,0 @@ -#_* Variables -n_elem_x = 40 -n_elem_y = 20 -e_modulus = 1e9 -p_ratio = 0.3 - -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = QUAD8 - # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - material_output_family = MONOMIAL # MONOMIAL, LAGRANGE - material_output_order = FIRST # CONSTANT, FIRST, SECOND, - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo2.i deleted file mode 100644 index 4409d0aa..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2-moo2.i +++ /dev/null @@ -1,85 +0,0 @@ -#_* Variables -n_elem_x = 40 -n_elem_y = 20 -e_modulus = 1e9 -p_ratio = 0.3 - -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = QUAD8 - # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - material_output_family = MONOMIAL # MONOMIAL, LAGRANGE - material_output_order = SECOND # CONSTANT, FIRST, SECOND, - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2.i deleted file mode 100644 index ced3c313..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-2d-o2.i +++ /dev/null @@ -1,83 +0,0 @@ -#_* Variables -n_elem_x = 40 -n_elem_y = 20 -e_modulus = 1e9 -p_ratio = 0.3 - -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = QUAD8 - # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o1.i deleted file mode 100644 index 82f7bf4d..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o1.i +++ /dev/null @@ -1,92 +0,0 @@ -#_* Variables -n_elem_x = 20 -n_elem_y = 10 -n_elem_z = 10 -e_modulus = 1e9 -p_ratio = 0.3 - -#** - -[GlobalParams] - displacements = 'disp_x disp_y disp_z' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 3 - nx = ${n_elem_x} - ny = ${n_elem_y} - nz = ${n_elem_z} - xmax = 2 - ymax = 1 - zmax = 1 - elem_type = HEX8 - # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [bottom_z] - type = DirichletBC - variable = disp_z - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = -1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2-moo2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2-moo2.i deleted file mode 100644 index 36613b31..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2-moo2.i +++ /dev/null @@ -1,94 +0,0 @@ -#_* Variables -n_elem_x = 20 -n_elem_y = 10 -n_elem_z = 10 -e_modulus = 1e9 -p_ratio = 0.3 - -#** - -[GlobalParams] - displacements = 'disp_x disp_y disp_z' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 3 - nx = ${n_elem_x} - ny = ${n_elem_y} - nz = ${n_elem_z} - xmax = 2 - ymax = 1 - zmax = 1 - elem_type = HEX20 - # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - material_output_family = MONOMIAL # MONOMIAL, LAGRANGE - material_output_order = SECOND # CONSTANT, FIRST, SECOND, - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [bottom_z] - type = DirichletBC - variable = disp_z - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = -1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2.i deleted file mode 100644 index a5f8c760..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-block-3d-o2.i +++ /dev/null @@ -1,92 +0,0 @@ -#_* Variables -n_elem_x = 20 -n_elem_y = 10 -n_elem_z = 10 -e_modulus = 1e9 -p_ratio = 0.3 - -#** - -[GlobalParams] - displacements = 'disp_x disp_y disp_z' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 3 - nx = ${n_elem_x} - ny = ${n_elem_y} - nz = ${n_elem_z} - xmax = 2 - ymax = 1 - zmax = 1 - elem_type = HEX20 - # EDGE, EDGE2, EDGE3, EDGE4, QUAD, QUAD4, QUAD8, QUAD9, TRI, TRI3, TRI6, TRI7, HEX, HEX8, HEX20, HEX27, TET, TET4, TET10, TET14, PRISM, PRISM6, PRISM15, PRISM18, PYRAMID, PYRAMID5, PYRAMID13, PYRAMID14 - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [bottom_z] - type = DirichletBC - variable = disp_z - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = -1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-sub-dom.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-sub-dom.i deleted file mode 100644 index 7d9aec00..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-sub-dom.i +++ /dev/null @@ -1,94 +0,0 @@ -# -# Added subdomains and subdomain-specific properties -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html -# - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 40 - ny = 20 - xmax = 2 - ymax = 1 - [] - - # assign two subdomains - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '0 0 0' - top_right = '1 1 0' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '1 0 0' - top_right = '2 1 0' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity1] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - block = 1 - [] - [elasticity2] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 5e8 - poissons_ratio = 0.3 - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = NEWTON - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o1.i deleted file mode 100644 index 3c6397cf..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o1.i +++ /dev/null @@ -1,95 +0,0 @@ -# -# Added subdomains and subdomain-specific properties -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html -# - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 40 - ny = 20 - xmax = 2 - ymax = 1 - elem_type = QUAD4 - [] - - # assign two subdomains - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '0 0 0' - top_right = '1 1 0' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '1 0 0' - top_right = '2 1 0' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity1] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - block = 1 - [] - [elasticity2] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 5e8 - poissons_ratio = 0.3 - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo0.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo0.i deleted file mode 100644 index c10034a6..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo0.i +++ /dev/null @@ -1,97 +0,0 @@ -# -# Added subdomains and subdomain-specific properties -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html -# - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 40 - ny = 20 - xmax = 2 - ymax = 1 - elem_type = QUAD8 - [] - - # assign two subdomains - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '0 0 0' - top_right = '1 1 0' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '1 0 0' - top_right = '2 1 0' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - material_output_family = MONOMIAL # MONOMIAL, LAGRANGE - material_output_order = CONSTANT # CONSTANT, FIRST, SECOND, - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity1] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - block = 1 - [] - [elasticity2] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 5e8 - poissons_ratio = 0.3 - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo1.i deleted file mode 100644 index 7682f70b..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo1.i +++ /dev/null @@ -1,97 +0,0 @@ -# -# Added subdomains and subdomain-specific properties -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html -# - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 40 - ny = 20 - xmax = 2 - ymax = 1 - elem_type = QUAD8 - [] - - # assign two subdomains - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '0 0 0' - top_right = '1 1 0' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '1 0 0' - top_right = '2 1 0' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - material_output_family = MONOMIAL # MONOMIAL, LAGRANGE - material_output_order = FIRST # CONSTANT, FIRST, SECOND, - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity1] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - block = 1 - [] - [elasticity2] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 5e8 - poissons_ratio = 0.3 - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo2.i deleted file mode 100644 index e7b4b574..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2-moo2.i +++ /dev/null @@ -1,97 +0,0 @@ -# -# Added subdomains and subdomain-specific properties -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html -# - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 40 - ny = 20 - xmax = 2 - ymax = 1 - elem_type = QUAD8 - [] - - # assign two subdomains - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '0 0 0' - top_right = '1 1 0' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '1 0 0' - top_right = '2 1 0' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - material_output_family = MONOMIAL # MONOMIAL, LAGRANGE - material_output_order = SECOND # CONSTANT, FIRST, SECOND, - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity1] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - block = 1 - [] - [elasticity2] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 5e8 - poissons_ratio = 0.3 - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2.i deleted file mode 100644 index 7ea848aa..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-2d-o2.i +++ /dev/null @@ -1,95 +0,0 @@ -# -# Added subdomains and subdomain-specific properties -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html -# - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 40 - ny = 20 - xmax = 2 - ymax = 1 - elem_type = QUAD8 - [] - - # assign two subdomains - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '0 0 0' - top_right = '1 1 0' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '1 0 0' - top_right = '2 1 0' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity1] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - block = 1 - [] - [elasticity2] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 5e8 - poissons_ratio = 0.3 - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o1.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o1.i deleted file mode 100644 index 6143d8a4..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o1.i +++ /dev/null @@ -1,103 +0,0 @@ -# -# Added subdomains and subdomain-specific properties -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html -# - -[GlobalParams] - displacements = 'disp_x disp_y disp_z' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 3 - nx = 20 - ny = 10 - nz = 5 - xmax = 2 - ymax = 1 - zmax = 1 - elem_type = HEX8 - [] - - # assign two subdomains - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '0 0 0' - top_right = '1 1 1' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '1 0 0' - top_right = '2 1 1' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [bottom_z] - type = DirichletBC - variable = disp_z - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity1] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - block = 1 - [] - [elasticity2] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 5e8 - poissons_ratio = 0.3 - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o2.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o2.i deleted file mode 100644 index 5750233e..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-subdom-3d-o2.i +++ /dev/null @@ -1,103 +0,0 @@ -# -# Added subdomains and subdomain-specific properties -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html -# - -[GlobalParams] - displacements = 'disp_x disp_y disp_z' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 3 - nx = 20 - ny = 10 - nz = 5 - xmax = 2 - ymax = 1 - zmax = 1 - elem_type = HEX20 - [] - - # assign two subdomains - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '0 0 0' - top_right = '1 1 1' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '1 0 0' - top_right = '2 1 1' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [bottom_z] - type = DirichletBC - variable = disp_z - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity1] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - block = 1 - [] - [elasticity2] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 5e8 - poissons_ratio = 0.3 - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = 'PJFNK' - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-thermal-exp.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-thermal-exp.i deleted file mode 100644 index 7e690b02..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-thermal-exp.i +++ /dev/null @@ -1,119 +0,0 @@ -# -# Added subdomains and subdomain-specific properties -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step03.html -# - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = 2 - nx = 10 - ny = 20 - xmin = -0.25 - xmax = 0.25 - ymax = 5 - [] - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '-0.25 0 0' - top_right = '0 5 0' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '0 0 0' - top_right = '0.25 5 0' - [] - - # select a single node in the center of the bottom boundary - [pin] - type = ExtraNodesetGenerator - input = block2 - new_boundary = pin - coord = '0 0 0' - [] -[] - -[AuxVariables] - [T] - [] -[] - -[AuxKernels] - [temperature_ramp] - type = FunctionAux - execute_on = TIMESTEP_BEGIN - variable = T - function = 300+5*t - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - automatic_eigenstrain_names = true - generate_output = 'vonmises_stress' - [] -[] - -[BCs] - [pin_x] - type = DirichletBC - variable = disp_x - boundary = pin - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - [] - [expansion1] - type = ComputeThermalExpansionEigenstrain - temperature = T - thermal_expansion_coeff = 0.001 - stress_free_temperature = 300 - eigenstrain_name = thermal_expansion - block = 1 - [] - [expansion2] - type = ComputeThermalExpansionEigenstrain - temperature = T - thermal_expansion_coeff = 0.002 - stress_free_temperature = 300 - eigenstrain_name = thermal_expansion - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = NEWTON - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-two-beams.i b/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-two-beams.i deleted file mode 100644 index e1f27114..00000000 --- a/dependencies/mooseherder/scripts/moose-test-cases/moose-mech-two-beams.i +++ /dev/null @@ -1,107 +0,0 @@ -# -# Multiple submesh setup with two cantilevers side by side -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step04.html -# - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated1] - type = GeneratedMeshGenerator - dim = 2 - nx = 10 - ny = 100 - xmin = -0.6 - xmax = -0.1 - ymax = 5 - #bias_y = 0.9 - boundary_name_prefix = pillar1 - [] - [generated2] - type = GeneratedMeshGenerator - dim = 2 - nx = 10 - ny = 100 - xmin = 0.1 - xmax = 0.6 - ymax = 5 - #bias_y = 0.9 - boundary_name_prefix = pillar2 - boundary_id_offset = 4 - [] - [collect_meshes] - type = MeshCollectionGenerator - inputs = 'generated1 generated2' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - strain = FINITE - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz strain_xy' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = 'pillar1_bottom pillar2_bottom' - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = 'pillar1_bottom pillar2_bottom' - value = 0 - [] - [Pressure] - [sides] - boundary = 'pillar1_left pillar2_right' - function = 1e4*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = 1e9 - poissons_ratio = 0.3 - [] - # we anticipate large deformation - [stress] - type = ComputeFiniteStrainElasticStress - [] -[] - -[Executioner] - type = Transient - solve_type = NEWTON - line_search = none - petsc_options_iname = '-pc_type -pc_hypre_type' - petsc_options_value = 'hypre boomeramg' - end_time = 5 - dt = 0.5 - [Predictor] - type = SimplePredictor - scale = 1 - [] -[] - -[Postprocessors] - [max] - type = NodalExtremeValue - variable = disp_x - value_type = max - [] -[] - -[Outputs] - exodus = true - csv = true - perf_graph = false -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose/moose-mech-gmsh.i b/dependencies/mooseherder/scripts/moose/moose-mech-gmsh.i deleted file mode 100644 index b6dd5443..00000000 --- a/dependencies/mooseherder/scripts/moose/moose-mech-gmsh.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables -e_modulus = 1e9 -p_ratio = 0.3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - type = FileMesh - file = 'mesh_tens_spline_2d.msh' -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [./u_top_pull] - type = Pressure - variable = disp_y - boundary = Top-BC - function = -1e7*t - [../] - [./u_bottom_fix] - type = DirichletBC - variable = disp_y - boundary = Btm-BC - value = 0.0 - [../] - [./u_yz_fix] - type = DirichletBC - variable = disp_x - boundary = Mid-BC - value = 0.0 - [../] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - #type = ComputeFiniteStrainElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = 2 - dt = 1 -[] - - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/scripts/moose/moose-mech-outtest.i b/dependencies/mooseherder/scripts/moose/moose-mech-outtest.i deleted file mode 100644 index ea705aff..00000000 --- a/dependencies/mooseherder/scripts/moose/moose-mech-outtest.i +++ /dev/null @@ -1,115 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1e9 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress stress_yy stress_xx stress_xy strain_xx strain_yy strain_xy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - #exodus = true - [./out] - type = Exodus - elemental_as_nodal = true - [../] - csv = true -[] - -[Postprocessors] - [./react_y] - type = SidesetReaction - direction = '0 1 0' - stress_tensor = stress - boundary = 'bottom' - [../] - [./max_y_disp] - type = NodalExtremeValue - variable = disp_y - [../] - [./max_yy_stress] - type = ElementExtremeValue - variable = stress_yy - [../] - [./avg_yy_stress] - type = ElementAverageValue - variable = stress_yy - [../] -[] - - diff --git a/dependencies/mooseherder/scripts/moose/moose-mech-simple.i b/dependencies/mooseherder/scripts/moose/moose-mech-simple.i deleted file mode 100644 index 079a7293..00000000 --- a/dependencies/mooseherder/scripts/moose/moose-mech-simple.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1e9 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/src/mooseherder/__init__.py b/dependencies/mooseherder/src/mooseherder/__init__.py deleted file mode 100644 index 83b304f7..00000000 --- a/dependencies/mooseherder/src/mooseherder/__init__.py +++ /dev/null @@ -1,28 +0,0 @@ -# -*- coding: utf-8 -*- -""" -MOOSE Herder -""" - -from mooseherder.inputmodifier import InputModifier -from mooseherder.simrunner import SimRunner -from mooseherder.mooserunner import MooseRunner -from mooseherder.gmshrunner import GmshRunner -from mooseherder.exodusreader import ExodusReader -from mooseherder.mooseherd import MooseHerd -from mooseherder.directorymanager import DirectoryManager -from mooseherder.sweepreader import SweepReader -from mooseherder.simdata import SimData -from mooseherder.simdata import SimReadConfig -from mooseherder.mooseconfig import MooseConfig - - -__all__ = ["inputmodifier", - "simrunner", - "mooserunner", - "gmshrunner", - "exodusreader", - "mooseherd", - "directorymanager", - "sweepreader", - "simdata", - "mooseconfig"] diff --git a/dependencies/mooseherder/src/mooseherder/directorymanager.py b/dependencies/mooseherder/src/mooseherder/directorymanager.py deleted file mode 100644 index 0f8fffe3..00000000 --- a/dependencies/mooseherder/src/mooseherder/directorymanager.py +++ /dev/null @@ -1,302 +0,0 @@ -''' -=============================================================================== -Directory Manager Class - -Authors: Lloyd Fletcher -=============================================================================== -''' - -import os -import shutil -import json -from pathlib import Path - -class DirectoryManager: - """ Manages directories for running simulations in parallel with the - mooseherd. - """ - def __init__(self, n_dirs: int = 1) -> None: - """__init__ - - Args: - n_dirs (int, optional): number of directories to be created. - Defaults to 1. - """ - self._n_dirs = n_dirs - self._sub_dir = 'sim-workdir' - self._base_dir = Path().cwd() - self._run_dirs = self._set_run_dirs() - self._output_paths = list([]) - self._output_key_tag = 'output-key' - self._sweep_var_tag = 'sweep-vars' - - - def _set_run_dirs(self) -> list[Path]: - """_set_run_dirs: helper function that populates the list of - directories that will be created by the manager. Uses the base directory - at the start of the path and then creates numbered sub-directory paths - based on the sub directory name and number of directories specified. - - Returns: - list[Path]: - """ - run_dirs = list([]) - for nn in range(self._n_dirs): # type: ignore - run_dirs.append(self._base_dir / (self._sub_dir + '-' + str(nn+1))) - - return run_dirs - - - def set_sub_dir_name(self, sub_dir_name: str) -> None: - """set_sub_dir_name: used to set the string used at the start of the - created sub-directores. default on creation is 'sim-workdir'. Populates - the list of run directories using the new sub directory name. - - Args: - sub_dir_name (str): string to be used to name the created - sub-directories within the base directory. - """ - self._sub_dir = sub_dir_name - self._run_dirs = self._set_run_dirs() - - - def set_base_dir(self, base_dir: Path, clear_old_dirs = False) -> None: - """set_base_dir: sets the base directory to create sub-directors for - running the simulations. The base directory must exist. - - Args: - base_dir (Path): directory in which the new working directories will - be created. - clear_old_dirs (bool, optional): deletes previous directories in - the base directory and their contents if they exist. Defaults - to False. - - Raises: - FileExistsError: the selected base directory does no exist. - """ - if not base_dir.is_dir(): - raise FileExistsError("Specified base directory does not exist.") - - if clear_old_dirs: - self.clear_dirs() - - self._base_dir = base_dir - self._run_dirs = self._set_run_dirs() - - - def get_output_key_tag(self) -> str: - """get_output_key_tag: returns the string used to name the output - key files that map the simulation outputs to the various directories - that are being managed. - - Returns: - str: common string used to name the output key json files. - """ - return self._output_key_tag - - - def get_sweep_var_tag(self) -> str: - """get_sweep_var_tag: returns ths string used to name the sweep - variable json file that contains a copy of the dictionary the user - provided as part of the parameter sweep. - - Returns: - str: common string used to name the sweep variable json files. - """ - return self._sweep_var_tag - - - def create_dirs(self) -> list[Path]: - """create_dirs: Creates the specified number of directories based on - the sub_dir name within the base directory. - - Returns: - list[Path]: list of paths to the directories to create. - """ - for rr in self._run_dirs: - if not rr.is_dir(): - rr.mkdir() - - return self._run_dirs - - - def clear_dirs(self) -> None: - """clear_dirs: deletes all working directories in the base directory - that have the corresponding sub-directory name and their contents. - """ - all_dirs = os.listdir(self._base_dir) - for dd in all_dirs: - if os.path.isdir(self._base_dir / dd): - if self._sub_dir in dd: - shutil.rmtree(self._base_dir / dd) - - - def get_all_run_dirs(self) -> list[Path]: - """get_all_run_dirs: returns the list of paths to all the directories - that can be used to run simulations. - - Returns: - list[Path]: paths to all created directories. - """ - return self._run_dirs - - - def get_run_dir(self, dir_num: int) -> Path: - """get_run_dir: returns the path to the run directory based on the - input directory number. The directory number can be greater than the - number of managed directories in the run_dirs list in this case the - directory number will wrap and point at an existing run directory - allowing multiple simulations to be run in the same directory. - - Args: - dir_num (int): number of the directory path to be retrieved. Can be - greater than the specified number of directories and will wrap - appropriately - - Returns: - Path: path to the directory - """ - if dir_num < 0: - dir_num = 0 - elif dir_num >= self._n_dirs: - dir_num = dir_num % self._n_dirs - - return self._run_dirs[dir_num] - - - def set_output_paths(self, output_paths: list[list[Path | None]]) -> None: - """set_output_paths: sets the list of lists to the simulation output - based on herder input. - - Args: - output_paths (list[list[Path]]): paths to all outputs from the - variable sweep. Outer list is the variable combination run - inner list is based on the order the simulations were called. - """ - self._output_paths = output_paths - - - def get_output_paths(self) -> list[list[Path | None]]: - """get_output_paths: returns the list of lists to the simulation output - files. - - Returns: - list[list[Path]]: paths to all outputs from the variable sweep. - Outer list is the variable combination run inner list is based - on the order the simulations were called. - """ - return self._output_paths - - - def get_output_key_file(self, sweep_iter: int = 1) -> Path: - """get_output_key_file: gets the path to the output key file created - during the variable sweep mapping directories to given combinations - of variables that were run. - - Args: - sweep_iter (int): number corresponding to the sweep iteration to - retrieve. Defaults to 1. - - Returns: - Path: path to the output key file that maps output paths to the - combinations of variables in the sweep. - """ - return self._run_dirs[0] / f'{self._output_key_tag}-{sweep_iter:d}.json' - - - def write_output_key(self, sweep_iter: int) -> None: - """write_output_key: converts the output paths to strings and saves - them in json format. - - Args: - sweep_iter (int): number corresponing to the sweep iteration to - write. The sweep iteration is used to number the output key - files. - """ - str_output = output_paths_to_str(self._output_paths) - - with open(self.get_output_key_file(sweep_iter), "w", encoding='utf-8') as okf: - json.dump(str_output, okf, indent=4) - - - def get_sweep_var_file(self, sweep_iter: int = 1) -> Path: - """get_sweep_var_file: path to the json file which contains the - dictionary of variables that were analysed at the given sweep iteration - - Args: - sweep_iter (int, optional): Sweep iteration (call number to herd - run_para). Defaults to 1. - - Returns: - Path: path to the json sweep variable file. - """ - return self._run_dirs[0] / f'{self._sweep_var_tag}-{sweep_iter:d}.json' - - - def write_sweep_vars(self, - sweep_vars: list[list[dict | None]], - sweep_iter: int = 1) -> None: - """write_sweep_vars: writes the sweep variable dictionary to a json - file to log the variables used for each simulation. - - Args: - sweep_vars (list[list[dict[str, Any]]]): sweep variables as passed - to the herd to run. - sweep_iter (int, optional): iteration number for number of calls to the - herd. Defaults to 1. - """ - with open(self.get_sweep_var_file(sweep_iter), "w", encoding='utf-8') as okf: - json.dump(sweep_vars, okf, indent=4) - - - -def output_paths_to_str(output_files: list[list[Path | None]] - ) -> list[list[str | None]]: - """output_paths_to_str: helper function for converting the output paths - to strings to allow them to be saved as json. - - Args: - output_files (list[list[Path]]): - - Returns: - list[list[str]]: as input with Path converted to str - """ - str_output = list([]) - for sim_iter in output_files: - iter_output = list([]) - for output_path in sim_iter: - if output_path is None: - iter_output.append(None) - else: - iter_output.append(str(output_path)) - - str_output.append(iter_output) - - return str_output - - -def output_str_to_paths(output_files: list[list[str | None]] - ) -> list[list[Path | None]]: - """output_str_to_paths: helper function to convert strings read from output - key json to paths. - - Args: - output_files (list[list[str]]): output file list of path strings as in - the output key file. - - Returns: - list[list[Path]]: as input with str converted to Path. - """ - str_output = list([]) - - for sim_iter in output_files: - iter_output = list([]) - for output_path in sim_iter: - if output_path is None: - iter_output.append(None) - else: - iter_output.append(Path(output_path)) - - str_output.append(iter_output) - - return str_output diff --git a/dependencies/mooseherder/src/mooseherder/exodusreader.py b/dependencies/mooseherder/src/mooseherder/exodusreader.py deleted file mode 100644 index 93f3dbbd..00000000 --- a/dependencies/mooseherder/src/mooseherder/exodusreader.py +++ /dev/null @@ -1,590 +0,0 @@ -""" -=============================================================================== -EXODUS READER -Used to read output *.e from MOOSE simulations. - -There are several different cases that lead to different MOOSE output formats. - -1) Outputs can have 2 or 3 spatial dimensions for nodal DOFs - (e.g. disp_x, disp_y and possibly disp_z) -2) Element output may or may not be present (e.g. stress/strain) - 2.1) Element outputs might appear as nodal variables if - material_output_order = FIRST or greater - 2.2) Element output is split by block if material_output_order = CONSTANT -4) Sub-domains may or may not be present but see 2.1 above for exception - -Authors: Lloyd Fletcher, Rory Spencer -=============================================================================== -""" -from pathlib import Path -import netCDF4 as nc -import numpy as np -from mooseherder.simdata import SimData, SimReadConfig -from mooseherder.outputreader import OutputReader - - -class ExodusReader(OutputReader): - """Class to read exodus files output by MOOSE using the netCDF package. - This class handles extracting the data from the exodus file and creates - a SimData object with the required data. Most used cases are covered with - by creating an ExodusReader and then calling either read_sim_data() or - read_all_sim_data() specified at the bottom of the class. - """ - def __init__(self, output_file: Path) -> None: - """__init__: Construct class by reading the exodus file using the - netCDF package. The exodus file must exist. - - Args: - output_file (Path): path to the exodus file to read - - Raises: - FileNotFoundError: the specified exodus file does not exist - """ - - if not output_file.is_file() and output_file.suffix != '.e': - raise FileNotFoundError('Exodus file not found at specified path') - - self._exodus_path = output_file - self._data = nc.Dataset(str(self._exodus_path)) - - - def get_names(self, key: str | None) -> np.ndarray | None: - """get_names: Extract a list of variable names from the dataset. Useful - for getting node/element/sideset/global variables names. - - Args: - key (str | None): string key used to extract a list of names from - the dataset e.g. 'node_var_names'. If key is None returns None. - - Returns: - np.ndarray | None: numpy array of strings representing the names - that correspond to the variables in the dataset. Returns None - if the specified key does not exist in the dataset. - """ - if key not in self._data.variables or key is None: - return None - - return nc.chartostring(np.array(self._data.variables[key])) - - - def get_var(self, key: str, time_inds: np.ndarray | None = None - ) -> np.ndarray: - """get_var: Extract a numeric variable from the dataset. - - Args: - key (str): key corresponding to the variable in the dataset. e.g. - 'time_whole' - - Returns: - np.ndarray: numpy numeric array containing the variable data. - """ - if key not in self._data.variables: - return np.array([]) - - data = np.array(self._data.variables[key]).T - - if time_inds is None: - return data - - return data[:,time_inds] - - - def get_key(self, - name: str, - all_names: np.ndarray, - key_tag: str) -> str | None: - """get_key: builds the key required to extract a given variable from - the exodus dataset. - - Args: - all_names (np.ndarray): all possible name keys extracted using the - get names function. - name (str): the specific name key that the user wants to extract - key_tag (str): the string tag that is prepended to get the variable - from the dataset. - - Returns: - str | None: the string key in the dataset to get the variable - """ - inds = np.where(all_names == name)[0] - if inds.shape[0] == 0: - return None - - key = f'{key_tag}{inds[0]+1:d}' - return key - - - def get_connectivity_names(self) -> np.ndarray: - """get_connectivity_names: gets the connectivity names in the exodus - dataset. These are of the form 'connect1', 'connect2' etc. - - Returns: - np.ndarray: array of element connectivity keys as strings of the - form connectX where X is an integer of 1 or greater e.g. - connect1. - """ - names = np.array([]) - for bb in range(self.get_num_elem_blocks()): - key = f'connect{bb+1:d}' - if key in self._data.variables: - names = np.append(names,key) - - return names - - - def get_connectivity(self) -> dict[str,np.ndarray]: - """get_connectivity: returns the connectivity table as a dictionary - keyed with the name 'connectX' and the table itseld as numpy array. - - Returns: - dict[str,np.ndarray]: dictionary containing the element - connectivity tables based on keys related to the subdomain e.g. - key 'connect1' returns the element connectivity table for - subdomain 1. The table has dimensions N by n_e where N is the - total number of nodes in the subdomain and n_e is the number - of nodes per element. - """ - connect = dict({}) - for key in self.get_connectivity_names(): - connect[key] = self.get_var(key) - - return connect - - - def get_sideset_names(self) -> np.ndarray | None: - """get_sideset_names: returns the sideset names as a numpy array of - strings. - - Returns: - np.ndarray | None: numpy array of strings corresponding to the - sideset names specified in the simulation. Returns None if no - sideset names are found. - """ - return self.get_names('ss_names') - - - def get_sidesets(self, names: np.ndarray | None - ) -> dict[tuple[str,str], np.ndarray] | None: - """get_sidesets: returns the sidesets as a dictionary keyed by a tuple - of ('sideset_name', 'node' | 'elem'). Gives either the list of node - numbers or element numbers based on the specified key. - - Args: - names (np.ndarray | None): numpy array of strings specifying the - sideset names to extract from the dataset. If None return None. - - Returns: - dict[tuple[str,str], np.ndarray] | None: dictionary of sideset - nodes and element sets by name. The key is a tuple with the - first string being the sideset name and the second being either - 'node' or 'elem'. Returns None if no sidesets found. - """ - all_names = self.get_sideset_names() - - if names is None or all_names is None: - return None - - node_key_tag = 'node_ns' - elem_key_tag = 'elem_ss' - - side_sets = dict({}) - for nn in names: # type: ignore - node_key = self.get_key(nn,all_names,node_key_tag) - elem_key = self.get_key(nn,all_names,elem_key_tag) - - if node_key is None: - side_sets[(nn,'node')] = None - else: - side_sets[(nn,'node')] = self.get_var(node_key) - - if elem_key is None: - side_sets[(nn,'elem')] = None - else: - side_sets[(nn,'elem')] = self.get_var(elem_key) - - return side_sets - - - def get_all_sidesets(self) -> dict[tuple[str,str], np.ndarray] | None: - """get_all_sidesets: returns all sidesets as a dictionary keyed by a tuple - of ('sideset_name', 'node' | 'elem'). Gives either the list of node - numbers or element numbers based on the specified key. - - Returns: - dict[tuple[str,str], np.ndarray] | None: dictionary of sideset - nodes and element sets by name. The key is a tuple with the - first string being the sideset name and the second being either - 'node' or 'elem'. Returns None if no sidesets found. - """ - - return self.get_sidesets(self.get_sideset_names()) - - - def get_node_var_names(self) -> np.ndarray | None: - """get_node_var_names: gets the nodal variable names as a numpy array - of strings e.g. np.array(['disp_x','disp_y']) - - Returns: - np.ndarray | None: numpy array of strings containing the nodal - variable names. Returns None if no nodal variables are found. - """ - return self.get_names('name_nod_var') - - - def get_node_vars(self, - names: np.ndarray | None, - time_inds: np.ndarray | None = None - ) -> dict[str,np.ndarray] | None: - """get_node_vars: gets the specified nodal variables as a dictionary - keyed by the variable name (e.g. 'disp_x') where the nodal variable is - given as a numpy array of dimensions NxT where N is the number of nodes - and T is the number of time steps in the simulation. - - Args: - names (np.ndarray | None): numpy array of strings that are the - variables to be extracted from the exodus dataset. - - Returns: - dict[str,np.ndarray] | None: dictionary of requested nodal - variables. Keys are nodal variable names e.g. 'disp_x' and the - variable data is given as a numpy array. returns None if no - nodal variables are found. - """ - if names is None: - return None - - all_names = self.get_node_var_names() - key_tag = 'vals_nod_var' - vars = dict({}) - - for nn in names: # type: ignore - inds = np.where(all_names == nn)[0] - key = f'{key_tag}{inds[0]+1:d}' - vars[nn] = self.get_var(key,time_inds) - - return vars - - - def get_all_node_vars(self) -> dict[str, np.ndarray] | None: - """get_all_node_vars: as get_node_vars but returns all nodal variables - found in the dataset. Gets all specified nodal variables as a dictionary - keyed by the variable name (e.g. 'disp_x') where the nodal variable is - given as a numpy array of dimensions NxT where N is the number of nodes - and T is the number of time steps in the simulation. - - Returns: - dict[str, np.ndarray] | None: dictionary of requested nodal - variables. Keys are nodal variable names e.g. 'disp_x' and the - variable data is given as a numpy array. returns None if no - nodal variables are found. - """ - return self.get_node_vars(self.get_node_var_names()) - - - def get_elem_var_names(self) -> np.ndarray | None: - """get_elem_var_names: gets the element variable names as a numpy array - of strings if they exist. Note that there are several cases where the - element variables may be interpolated to nodes and stored as nodal data - - Returns: - np.ndarray | None: element variable names as a numpy array of - strings. An example variable name is 'strain_xx'. Returns None - if no element variable names exist in the dataset. - """ - return self.get_names('name_elem_var') - - - def get_num_elem_blocks(self) -> int: - """get_num_elem_blocks: gets the number of element blocks (i.e. - sub-domains) in the simulation. These are used to partition the element - data. - - Returns: - int: number of element blocks/sub-domains in the simulation. - """ - return self.get_names('eb_names').shape[0] # type: ignore - - - def get_elem_var_names_and_blocks(self) -> list[tuple[str,int]] | None: - """get_elem_var_names_and_blocks: returns a list of all possible - combinations of element variables names and block numbers present in - the dataset. - - Returns: - list[tuple[str,int]] | None: list of tuples containing the element - variable names and block numbers. Returns None if there are no - element variable name or element blocks. - """ - if self.get_elem_var_names() is None or self.get_num_elem_blocks() is None: - return None - - blocks = [ii+1 for ii in range(self.get_num_elem_blocks())] # type: ignore - names_blocks = list([]) - - for nn in self.get_elem_var_names(): # type: ignore - for bb in blocks: - names_blocks.append((str(nn),bb)) - - return names_blocks - - - def get_elem_vars(self, - names_blocks: list[tuple[str,int]] | None, - time_inds: np.ndarray | None = None - ) -> dict[tuple[str,int],np.ndarray] | None: - """get_elem_vars: gets the element variables as a dictionary keyed by - tuples which containg the element variable name and the block number. - For example: ('strain_xx',1). The element data is given as a numpy - array with dimensions E_bxT where E_b is the number of element in the - block and T is the number of time steps. - - Args: - names_blocks (list[tuple[str,int]] | None): list of tuples - containing the combination of element variables names and - blocks to be extracted from the dataset. - - Returns: - dict[tuple[str,int],np.ndarray] | None: contains the variables - requested keyed using the input names_blocks with the data - given as a numpy array. - """ - all_names = self.get_elem_var_names() - - if all_names is None or names_blocks is None: - return None - - key_tag = 'vals_elem_var' - - vars = dict({}) - for nn in names_blocks: - key = self.get_key(nn[0],all_names,key_tag) + f'eb{nn[1]:d}' # type: ignore - vars[nn] = self.get_var(key,time_inds) - - return vars - - - def get_all_elem_vars(self) -> dict[tuple[str,int], np.ndarray] | None: - """get_all_elem_vars: gets all element variables as a dictionary keyed by - tuples which containg the element variable name and the block number. - For example: ('strain_xx',1). The element data is given as a numpy - array with dimensions E_bxT where E_b is the number of element in the - block and T is the number of time steps. - - - Returns: - dict[tuple[str,int], np.ndarray] | None: contains the variables - requested keyed using the input names_blocks with the data - given as a numpy array. - """ - - return self.get_elem_vars(self.get_elem_var_names_and_blocks()) - - - def get_glob_var_names(self) -> np.ndarray | None: - """get_glob_var_names: gets the names of all global variables in the - dataset. Global variables include the output of all MOOSE post- - processors. - - Returns: - np.ndarray | None: numpy array containing the global variable - names as strings. - """ - return self.get_names('name_glo_var') - - - def get_glob_vars(self, - names: np.ndarray | None, - time_inds: np.ndarray | None = None - ) -> dict[str, np.ndarray] | None: - """get_glob_vars: gets the specified global variables as a dictionary - keyed by the variable name specified in the MOOSE input file. The data - is given as a numpy array of T dimensions where T is the number of time - steps. - - Args: - names (np.ndarray | None): numpy array of strings specifying the - global variable names to extract from the dataset. If this is - None then return None. - - Returns: - dict[str, np.ndarray] | None: dictionary keyed with the global - variable names requested giving the data as a numpy array. - """ - all_names = self.get_glob_var_names() - - if all_names is None or names is None: - return None - - key = 'vals_glo_var' - - glob_vars = dict({}) - for nn in names: # type: ignore - inds = np.where(all_names == nn)[0] - if time_inds is None: - glob_vars[nn] = np.array(self._data.variables[key][:,inds[0]]) - else: - data = np.array(self._data.variables[key][:,inds[0]]) - data = data[time_inds] - glob_vars[nn] = data - - return glob_vars - - - def get_all_glob_vars(self) -> dict[str, np.ndarray] | None: - """get_all_glob_vars: gets all global variables as a dictionary - keyed by the variable name specified in the MOOSE input file. The data - is given as a numpy array of T dimensions where T is the number of time - steps. - - Returns: - dict[str, np.ndarray] | None: dictionary keyed with all global - variable names giving the data as numpy arrays. - """ - return self.get_glob_vars(self.get_glob_var_names()) - - - def get_coords(self) -> tuple[np.ndarray,int]: - """Gets the nodal coordinates in each spatial dimension setting any - undefined dimensions to zeros. - - Raises: - RuntimeError: no spatial dimensions found. - - Returns: - np.array: returns the nodal coordinates as an array with shape - (N,3) where N is the number of nodes and the three columns - are the (x,y,z) spatial dimensions. - """ - # If the problem is not 3D any of these could not exist - x = self.get_var('coordx') - y = self.get_var('coordy') - z = self.get_var('coordz') - - # Problem has to be at least 1D in space if not raise an error - num_coords = np.max(np.array([x.shape[0],y.shape[0],z.shape[0]])) - if num_coords == 0: - raise RuntimeError("No spatial coordinate dimensions detected, problem must be at least 1D.") - - # Any dimensions that do not exist are assumed to be zeros - x = self._expand_coord(x,num_coords) - y = self._expand_coord(y,num_coords) - z = self._expand_coord(z,num_coords) - - return (np.vstack((x,y,z)).T,num_coords) - - - def _expand_coord(self, coord: np.ndarray, dim: int) -> np.ndarray: - """Helper function to create an array of zeros to pad any spatial - dimensions that are not defined for the simulation. - - Args: - coord (np.array): the coordinate array. - dim (int): the size of the vector of zeros to create if coord is - empty. - - Returns: - np.array: returns a vector of zeros with shape (dim,) if the - input array is empty, otherwise return the input coord array. - """ - if coord.shape[0] == 0: - return np.zeros([dim,]) - - return coord - - - def get_time(self, time_inds: np.ndarray | None = None) -> np.ndarray: - """Get a vector of simulation time steps. - - Returns: - np.array: returns an array with shape (T,) where T is the number - of time steps and the values of the elements are the simulation - time and each time step. - """ - time_steps = np.array([] - ) - if 'time_whole' in self._data.variables: - time_steps = np.array(self._data.variables['time_whole']) - - if time_inds is not None: - time_steps = time_steps[time_inds] - - return time_steps - - - def print_vars(self) -> None: - """Prints all variable strings in the exodus file to console. - """ - for vv in self._data.variables: - print(vv) - - def get_read_config(self) -> SimReadConfig: - """get_read_config: constructs a SimReadConfig object by extracting - all the variable names found in the exodus dataset. Useful for creating - a mostly populated SimReadConfig and removing variables that are - unwanted. - - Returns: - SimReadConfig: data class containing names of variables to be - extracted from the exodus dataset. See mooseherder.simdata. - """ - read_config = SimReadConfig() - - read_config.sidesets = self.get_sideset_names() - read_config.node_vars = self.get_node_var_names() - read_config.elem_vars = self.get_elem_var_names_and_blocks() - read_config.glob_vars = self.get_glob_var_names() - - return read_config - - - def read_sim_data(self, - read_config: SimReadConfig) -> SimData: - """read_sim_data: reads the simulation data based on the specified - SimReadConfig object. - - Args: - read_config (SimReadConfig): data class containing the names of - the variables that are to be extracted from the exodus dataset. - - Returns: - SimData: data class containing data from the simulation. - """ - data = SimData() - - if read_config.time: - data.time = self.get_time(read_config.time_inds) - if read_config.coords: - (data.coords,data.num_spat_dims) = self.get_coords() - if read_config.connect: - data.connect = self.get_connectivity() - - data.side_sets = self.get_sidesets(read_config.sidesets) - - data.node_vars = self.get_node_vars(read_config.node_vars, - read_config.time_inds) - data.elem_vars = self.get_elem_vars(read_config.elem_vars, - read_config.time_inds) - data.glob_vars = self.get_glob_vars(read_config.glob_vars, - read_config.time_inds) - - return data - - - def read_all_sim_data(self) -> SimData: - """read_all_sim_data: gets all simulation data from the exodus dataset. - - Returns: - SimData: data class containing the data from the simulation. - """ - data = SimData() - - data.time = self.get_time() - (data.coords,data.num_spat_dims) = self.get_coords() - data.connect = self.get_connectivity() - data.side_sets = self.get_all_sidesets() - data.node_vars = self.get_all_node_vars() - data.elem_vars = self.get_all_elem_vars() - data.glob_vars = self.get_all_glob_vars() - - return data - diff --git a/dependencies/mooseherder/src/mooseherder/gmshrunner.py b/dependencies/mooseherder/src/mooseherder/gmshrunner.py deleted file mode 100644 index 475be2ec..00000000 --- a/dependencies/mooseherder/src/mooseherder/gmshrunner.py +++ /dev/null @@ -1,120 +0,0 @@ -''' -=============================================================================== -Gmsh Runner Class - -Authors: Rory Spencer, Lloyd Fletcher -=============================================================================== -''' -import os -import subprocess -from pathlib import Path -from mooseherder.simrunner import SimRunner - -class GmshRunner(SimRunner): - """Used to call gmsh to create a mesh file to be used to run a finite - element simulation. Implements the SimRunner abstract interface so that it - can be used by the herd. - """ - def __init__(self, gmsh_app: Path | None = None): - """Create a gmsh runner with path to the gmsh app. - - Args: - gmsh_app (Path, optional): full path to the gmsh app. Defaults to None. - """ - if gmsh_app is None: - self._gmsh_app = None - else: - self.set_gmsh_app(gmsh_app) - - self._input_path = None - self._arg_list = [] - - def set_gmsh_app(self, gmsh_app: Path) -> None: # type: ignore - """Sets path to the gmsh app. - - Args: - gmsh_app (str): full path to the gmsh app. - - Raises: - FileNotFoundError: gmsh app does not exist at the specified path. - """ - if not gmsh_app.exists(): - raise FileNotFoundError('Gmsh app not found at given path.') - - self._gmsh_app = gmsh_app - - - def get_input_file(self) -> Path | None: - """get_input_path: the path to the input file to run gmsh with. - - Returns: - Path | None: path to the gmsh *.geo file. - """ - return self._input_path - - - def set_input_file(self, input_path: Path) -> None: - """Sets the input geo file for gmsh. - - Args: - input_file (str): Full path - - Raises: - FileNotFoundError: Not a .geo file - FileNotFoundError: Geo file does not exist - """ - if input_path.suffix != '.geo': - raise FileNotFoundError('Incorrect file type. Must be *.geo.') - - if not input_path.exists(): - raise FileNotFoundError('Specified gmsh geo file does not exist.') - - self._input_path = input_path - - - def run(self, input_file: Path | None = None, parse_only: bool = True) -> None: - """Run the geo file to create the mesh. - - Args: - input_file (str, optional): Path to the .geo file containing the input. - Can also be preset using set_input_file. Defaults to "" and ises - the input file specified using set_input_file. - - Raises: - RuntimeError: the path to the gmsh app is empty and must be - specified first. - RuntimeError: the input file string is empty and must be specified - first. - """ - if input_file is not None: - self.set_input_file(input_file) - - if self._gmsh_app is None: - raise RuntimeError("Specify the full path to the gmsh app before calling run.") - - if self._input_path is None: - raise RuntimeError("Specify input *.geo file before running gmsh.") - - arg_list = [str(self._gmsh_app)] - if parse_only is True: - arg_list = arg_list+["-parse_and_exit"] - - self._arg_list = arg_list + [str(self._input_path)] - - print(f'arg_list={self._arg_list}') - - subprocess.run(self._arg_list, - shell=False, - check=False) - - - def get_output_path(self) -> Path | None: - """get_output_path: default return None for gmsh as there is no output - to be read after the simulation has run. This information is stored in - the exodus. - - Returns: - Path | None: Default returns None. - """ - return None - diff --git a/dependencies/mooseherder/src/mooseherder/inputmodifier.py b/dependencies/mooseherder/src/mooseherder/inputmodifier.py deleted file mode 100644 index c14b44dd..00000000 --- a/dependencies/mooseherder/src/mooseherder/inputmodifier.py +++ /dev/null @@ -1,197 +0,0 @@ -""" -=============================================================================== -InputModifier Class - -Authors: Lloyd Fletcher, Rory Spencer -=============================================================================== -""" -from pathlib import Path - - -class InputModifier: - """ - Class to modify variables in generic text-based input files. - - Once variables have been modified by the user by passing in a dictionary of - new variables the input can be written to file. - - Variable definition blocks should begin #comment character#* and end - #comment character#**, e.g. //_* and //** for gmsh or #_* and #** for - moose. - """ - - def __init__( - self, - input_file: Path, - comment_char="#", - end_char="", - var_start="_*", - var_end="**", - ) -> None: - """Initialise the class by reading in the input file. Find and read - any variables that are at the top of the file. Default comment_char - and end_char are set based on reading MOOSE *.i files. - - Args: - input_file (str): Path to the input text file. - comment_char (str): character(s) describing what a comment look - like in the file. - end_char (str): character (if any) that ends a line, i.e. ; for gmsh - var_start (str): character sequence used to specify the start of - the variable block to edit. - var_end (str): character sequence used to specify the end of the - variabled block to edit. - """ - self._vars = dict({}) - self._input_file = input_file - - with open(self._input_file, "r", encoding="utf-8") as in_file: - self._input_lines = in_file.readlines() - - self._comment_char = comment_char - self._end_char = end_char - - self._var_start_str = var_start - self._var_end_str = var_end - - self._var_start_ind = 0 - self._var_end_ind = -1 - - self.find_vars() - self.read_vars() - - def _extract_var_str(self, var_line: str) -> tuple[str, str | float | int, str]: - """Helper function to split a string from the input file variable block - into the variable key, the variable value and any remaining comment. - - Args: - var_line (str): line from the input file to process - - Returns: - [str,str/float,str]: returns a three element list. The first element - is the variable key, the second is the variable value as a float - or string, the third is any comment string remaining. - """ - - extract_var = var_line.strip() - extract_var = extract_var.replace(self._end_char, "") - extract_var = extract_var.split(self._comment_char)[0] # Remove trailing comments should they exist - - var_key = "" - var_val = "" - if extract_var and extract_var.find("=") >= 0: - var_str = extract_var.split("=", 1)[1] - var_str = var_str.strip() - try: - var_val = float(var_str) - if var_val.is_integer(): - var_val = int(var_val) - except ValueError: - var_val = var_str - - var_key = extract_var.split("=", 1)[0].strip() - - if len(var_line.split(self._comment_char)) > 1: - com_loc = var_line.find(self._comment_char) - comment_str = var_line[com_loc + len(self._comment_char) :] - else: - comment_str = "" - - return (var_key, var_val, comment_str) - - - def read_vars(self) -> None: - """Reads the variables in the file""" - for ss in self._input_lines[self._var_start_ind + 1 : self._var_end_ind]: - [var_key, var_val, _] = self._extract_var_str(ss) - if len(var_key) != 0: - self._vars[var_key] = var_val - - - def find_vars(self) -> None: - """Find what lines the variables are defined on.""" - - # TODO: this needs to be made more robust to multiple occurences of variable block characters. - # Also need to handle cases when the start and end block characters are the same - - start_string = self._comment_char + self._var_start_str - end_string = self._comment_char + self._var_end_str - - start_found = False - for ii, ll in enumerate(self._input_lines): - if start_string in ll and (not start_found): - self._var_start_ind = ii - start_found = True - if end_string in ll: - self._var_end_ind = ii - break - - - def update_vars(self, new_vars: dict) -> None: - """Updates the variable dictionary that will be written to the input - file. - - Args: - new_vars (dict): new variables to be written to the input file. - The keys must exist within the dictionary of variables - extracted from the input file. Only the variables to be edited - need to be present. - """ - for kk in new_vars: - if kk in self._vars: - self._vars[kk] = new_vars[kk] - else: - raise KeyError( - f"Key {kk} does not exist in the variables found in the input file. " - + "Check input file to make sure the variable exists." - ) - - - def write_file(self, input_write_file: Path) -> None: - """Write the input file using the current variable dictionary. - - Args: - input_write_file (str): Path to where the file should be written. - """ - var_block = self._input_lines[self._var_start_ind + 1 : self._var_end_ind] - - for ii, ll in enumerate(var_block): - [var_key, _, com_str] = self._extract_var_str(ll) - if (len(var_key) != 0) and (var_key in self._vars): - if len(com_str) == 0: - var_line = f"{var_key} = {self._vars[var_key]}{self._end_char}\n" - else: - # NOTE: comment string includes the new line character already - var_line = f"{var_key} = {self._vars[var_key]}{self._end_char} {self._comment_char}{com_str}" - line_ind = ii + self._var_start_ind + 1 - self._input_lines[line_ind] = var_line - - with open(input_write_file, "w", encoding="utf-8") as out_file: - out_file.writelines(self._input_lines) - - - def get_vars(self) -> dict: - """Gets the variables found in the file. - - Returns: - dict: keys are variable strings and values are variable values. - """ - return self._vars - - - def get_var_keys(self) -> list[str]: - """Gets a list of variable names found in the input file. - - Returns: - list[str]: list of variables name as strings - """ - return list(self._vars.keys()) - - - def get_input_file(self) -> Path: - """Gets the path and input file name. - - Returns: - Path: path and input file name. - """ - return self._input_file diff --git a/dependencies/mooseherder/src/mooseherder/mooseconfig.py b/dependencies/mooseherder/src/mooseherder/mooseconfig.py deleted file mode 100644 index f8d3ae4e..00000000 --- a/dependencies/mooseherder/src/mooseherder/mooseconfig.py +++ /dev/null @@ -1,175 +0,0 @@ - -''' -=============================================================================== -MOOSE Config Class - -Authors: Lloyd Fletcher -=============================================================================== -''' -from typing import Self -import json -from pathlib import Path - - -class MooseConfig: - """ Moose configuration class that handles 1) the path to the main moose - build, 2) the path to the moose app, and 3) the name of the app to be used - to construct the command string. These are stored as a dictionary keyed - with 'main_path', 'app_path' and 'app_name'. This class can also write and - read json files containing the moose config. - """ - def __init__(self, config: dict[str,Path | str] | None = None) -> None: - - self._required_keys = ['main_path','app_path','app_name'] - - if config is not None: - self._check_config_valid(config) - - self._config = config - - - def get_config(self) -> dict[str,Path | str]: - """get_config: returns the config dictionary after checking it is - valid. - - Returns: - dict[str, Path | str]: dictionary containing the moose config. - """ - self._check_config_valid(self._config) - return self._config # type: ignore - - - def _check_config_valid(self, - config: dict[str,Path | str] | None = None - ) -> None: - """_check_config_valid: helper function to check if the moose config - is valid. - - Args: - config (dict[str,Path | str] | None, optional): dictionary - containing the moose config. Defaults to None. - - Raises: - MooseConfigError: Dicitionary not initialised. - MooseConfigError: Dicitionary does not contain the required keys. - MooseConfigError: Path to MOOSE does not exist. - MooseConfigError: Path to MOOSE app does not exist. - """ - if config is None: - raise MooseConfigError( - 'Config dictionary must be initialised, load config file first.') - - for kk in self._required_keys: - if kk not in config: - raise MooseConfigError( - f'Config dictionary must contain all keys: {self._required_keys}') - - if not config['main_path'].is_dir(): # type: ignore - raise MooseConfigError( - "Main path to MOOSE does not exist. Check path at key 'main_path'.") - - if not config['app_path'].is_dir(): # type: ignore - raise MooseConfigError( - "MOOSE app path does not exist. Check path at key: 'app_path'.") - - - def convert_path_to_str(self, in_config: dict[str,Path | str] | None - ) -> dict[str,str] | None: - """convert_path_to_str: converts all paths in the config dictionary to - strings so that it can be saved to json. - - Args: - in_config (dict[str,Path | str] | None): - - Returns: - dict[str,str] | None: as input with Paths converted to strings. - """ - if in_config is None: - return None - - conv_config = dict({}) - for kk in in_config: - conv_config[kk] = str(in_config[kk]) - - return conv_config - - - def convert_str_to_path(self, in_config: dict[str,str] | None = None - ) -> dict[str, Path | str] | None: - """convert_str_to_path: helper function to convert string to Path for - readin in json dictionary. Does not check if the paths exist. - - Args: - in_config (dict[str,str] | None, optional): input config dictionary - with string instead of Path. Defaults to None. - - Returns: - dict[str, Path | str] | None: as in_config but strings to main_path - and app_path are converted to Path. - """ - if in_config is None: - return None - - conv_config = dict({}) - for kk in in_config: - if 'path' in kk: - conv_config[kk] = Path(in_config[kk]) - else: - conv_config[kk] = in_config[kk] - - return conv_config - - - def save_config(self, config_path: Path) -> None: - """save_config: saves the moose config dictionary as a json file in the - specified path. - - Args: - config_path (Path): path and file name with extension .json to save - the moose config dictionary. - - Raises: - MooseConfigError: Parent path to save config file does not exist. - """ - if not config_path.parent.is_dir(): - raise MooseConfigError('Parent path to save config file does not exist.') - - with open(config_path, 'w', encoding='utf-8') as cf: - config_strs = self.convert_path_to_str(self._config) - json.dump(config_strs, cf, indent=4) - - - def read_config(self, config_path: Path) -> Self: - """read_config: reads the moose json configuration file at the - specified path. Checks if the configuration is valid and raises a - MooseConfigError if it is not. - - Args: - config_path (Path): path to the json config file containing the - configuration dictionary. - - Raises: - MooseConfigError: MOOSE config file does not exist. - - Returns: - Self: returns a MooseConfig object allowing the config to be - initialised by directly loading a json config file. - """ - if not config_path.is_file(): - raise MooseConfigError( - f'MOOSE config file does not exist at: {str(config_path)}.') - - with open(config_path, 'r', encoding='utf-8') as cf: - config_strs = json.load(cf) - config_paths = self.convert_str_to_path(config_strs) - - self._check_config_valid(config_paths) - - self._config = config_paths - return self - - -class MooseConfigError(Exception): - """MooseConfigError: custom error class for flagging errors with the moose - configuration. - """ diff --git a/dependencies/mooseherder/src/mooseherder/mooseherd.py b/dependencies/mooseherder/src/mooseherder/mooseherd.py deleted file mode 100644 index 288c14b5..00000000 --- a/dependencies/mooseherder/src/mooseherder/mooseherd.py +++ /dev/null @@ -1,412 +0,0 @@ -''' -=============================================================================== -MOOSE Herd Class - -Authors: Lloyd Fletcher, Rory Spencer -=============================================================================== -''' -import os -import time -import multiprocessing as mp -from pathlib import Path -from multiprocessing.pool import Pool - -from mooseherder.directorymanager import DirectoryManager -from mooseherder.simrunner import SimRunner -from mooseherder.inputmodifier import InputModifier - - -class MooseHerdError(Exception): - """MooseHerdError: custom error class for flagging errors with the moose - herd. - """ - -class MooseHerd: - """ MooseHerd class that can run parametric sweeps of simulation chains in - parallel with configurable parallelisation options. Takes a list of - SimRunner objects and a corresponding list of InputModifiers to insert the - variables into the input scripts for the SimRunners. When calling run_* the - herd will first call all InputModifiers in the specified order and then - call run on all the SimRunners in order. Uses the DirectoryManager class to - create/clear and log the directories in which each parallel worker is - creating input files and running simulations. - """ - def __init__(self, sim_runners: list[SimRunner], - input_mods: list[InputModifier], - dir_manager: DirectoryManager) -> None: - """__init__ - - Args: - sim_runners (list[SimRunner]): list of objects that inherit from - the SimRunner ABC in the order they need to be run. The mesh - needs to be created before runnning moose so a common chain - would be [GmshRunner,MooseRunner]. - input_mods (list[InputModifier]): list of InputModifiers to create - the required input scripts for the SimRunners. - dir_manager (DirectoryManager): used to control how many and - which directories are used to run the simulations. - """ - self._runners = sim_runners - self._modifiers = input_mods - self._dir_manager = dir_manager - - self._n_para_sims = 2 - - self._input_names = [f'sim-{ii+1}' for ii,_ in enumerate(sim_runners)] - - self._keep_all = True - - self._var_sweep = list([]) - - self._sweep_iter = 0 - self._sweep_run_time = -1.0 - - self._sim_iter = 0 - self._iter_run_time = -1.0 - - - def set_input_copy_names(self, input_names: list[str] | None = None) -> None: - """set_input_copy_name: sets the name that will be used when copying - input files to the working directories for the sweep. The defualt name - is 'sim-i' so the first combination of variables in the simulation chain - will be called 'sim-1-1'. - - Args: - input_names (list[str] | None, optional): List of name prefixes to - be used for the simulation files. Defaults to None. - - Raises: - MooseHerdError: The lengths of the sim runner list and the input - modifier lists are not the same. - """ - if input_names is None: - self._input_names = [f'sim-{ii+1}' for ii,_ in enumerate(self._runners)] - return - - if len(input_names) != len(self._runners): - raise MooseHerdError(f'The length of the input names ({len(input_names)})' - 'must match the length of the sim runners ' + - f'and input modifiers ({len(self._runners)})') - - self._input_names = input_names - - - def set_keep_flag(self, keep_all: bool = True) -> None: - """set_keep_flag: flag used for allowing multiple calls to run_para or - run_seq to keep everything or to overwrite with every call to run_*. - - Args: - keep_all (bool, optional): True = keep all inputs and outputs with - multiple calls to run_*. False = overwrite inputs and outputs - with multiple calls to run_*. Defaults to True. - """ - self._keep_all = keep_all - - - def set_num_para_sims(self, n_para: int = 1) -> None: - """set_num_para_sims: sets the number of simulation chains to run in - parallel. Limits the number - - Args: - n_para (int, optional): _description_. Defaults to 1. - """ - n_para = int(n_para) - n_cpus = os.cpu_count() - - if n_cpus is None: - pass - elif n_para <= 0: - n_para = 1 - elif n_para > n_cpus: - n_para = n_cpus - - if self._n_para_sims != n_para: - self._n_para_sims = n_para - - - def get_sim_iter(self) -> int: - """get_sim_iter: returns the current simulation iteration corresponding - to the combination of variables being analysed. This number will - accumulate with multiple calls to run_* is keep_all=true. - - Returns: - int: current simulation iteration number. - """ - return self._sim_iter - - - def get_sweep_iter(self) -> int: - """get_sweep_iter: gets the current sweep iteration. The sweep - iteration is incremented with every call to run_* if keep_all = true. - If keep_all = false then sweep_iter is held at 1. - - Returns: - int: current sweep iteration number. - """ - return self._sweep_iter - - - def reset_iter_counts(self) -> None: - """reset_iter_counts: resets the simulation iteration and the sweep - iteration counters to zero. - """ - self._sim_iter = 0 - self._sweep_iter = 0 - - - def _get_process_name(self) -> str: - """_get_process_name: only here for monkey patching with pytest. - - Returns: - str: the process name string. - """ - return mp.current_process().name - - - def _get_worker_num(self) -> str: - """_get_worker_num: helper function to get the worker number for the - current sub-process. - - Returns: - str: number string taken from the process name. If this is the main - process returns '1'. - """ - name = self._get_process_name() - - if name == 'MainProcess': - worker_num = '1' - else: - worker_num = name.split('-',1)[1] - - if int(worker_num) > self._n_para_sims: - worker_num = str((int(worker_num) % self._n_para_sims)+1) - - return worker_num - - - def _get_run_num(self, sim_iter: int, worker_num: str) -> str: - """_get_run_num: helper function to get the run directory number string - - Args: - sim_iter (int): the current simulation iteration. - worker_num (str): the worker number extracted from the current - process number as a string. - - Returns: - str: the string specifying the run directory number for this - simulation iteration. - """ - if self._keep_all: - run_num = str(sim_iter+1) - else: - run_num = worker_num - - return run_num - - - def _mod_input(self, - modifier: InputModifier, - mod_vars: dict | None, - save_file: Path) -> None: - """_mod_input: helper function that uses the input modifier to write - new variables to the input file and save it to the specified path. - - Args: - modifier (InputModifier): input modifier for the specified type of - input file. - mod_vars (dict | None): dictionary of variables to write to the - input file, if None just copy the input file. - save_file (Path): path with file name and extension to output the - modified input file. - """ - if mod_vars is not None: - modifier.update_vars(mod_vars) - modifier.write_file(save_file) - - - def _run(self, runner: SimRunner, run_file: Path) -> Path | None: - """_run: helper function to call the SimRunner and get the path to the - output file. - - Args: - runner (SimRunner): for running the simulation, must be a class - that implements the SimRunner ABC. - run_file (Path): path to the input file to run with SimRunner. - - Returns: - Path | None: _description_ - """ - runner.run(run_file) - return runner.get_output_path() - - - def run_once(self, sim_iter: int, var_list: list[dict | None] - ) -> list[Path | None]: - """run_once: runs a specific simulation chain with the given variable - list once and returns a list of paths to the output files. Used by - run_seq and run_para for parallelisation. - - Args: - sim_iter (int): current simulation iteration which is the index of - the var_list from the var_sweep. - var_list (list[dict | None]): list of dictionaries that contain - the variables that will be run for this iteration. - - Returns: - list[Path | None]: list of paths to the simulation output. If there - is no useful output from the runner in the simulation chain it - returns None in the list. - """ - iter_start_time = time.perf_counter() - - worker_num = self._get_worker_num() - run_dir = self._dir_manager.get_run_dir(int(worker_num)-1) - run_num = self._get_run_num(sim_iter,worker_num) - - run_files = list([]) - for ii,mm in enumerate(self._modifiers): - ext = mm.get_input_file().suffix - run_files.append(run_dir / (self._input_names[ii] +'-'+run_num+ext)) - self._mod_input(mm,var_list[ii],run_files[ii]) - - output_list = list([]) - for ii,rr in enumerate(self._runners): - output_list.append(self._run(rr,run_files[ii])) - - self._iter_run_time = time.perf_counter() - iter_start_time - - return output_list - - - def _start_sweep(self, var_sweep: list[list[dict | None]]) -> float: - """_start_sweep: helper function used at the start of a variable sweep - in either run_seq or run_para. Sets the var_sweep attribute, deals with - the management of directories and starts the performance counter. - - Args: - var_sweep (list[list[dict | None]]): as passed to run_seq/para - - Returns: - float: performance timer start value. - """ - self._var_sweep = var_sweep - - if not self._keep_all: - self.reset_iter_counts() - self._dir_manager.clear_dirs() - self._dir_manager.create_dirs() - - return time.perf_counter() - - - def _end_sweep(self, start_sweep_time: float, - output_files: list[list[Path | None]]) -> None: - """_end_sweep: helper function called at the end of runseq/para. - Reacords the sweep run time. Increments the iteration counters. and - writes the output key and sweep variables to the first workers - directory. - - Args: - start_sweep_time (float): the sweep start time taken from the - _start_sweep() function. - output_files (list[list[Path]]): list of list of paths to the - simulation chain output files. - """ - self._sweep_run_time = time.perf_counter() - start_sweep_time - - self._sweep_iter += 1 - self._sim_iter += len(self._var_sweep) - - self._dir_manager.set_output_paths(output_files) - self._dir_manager.write_output_key(self._sweep_iter) - self._dir_manager.write_sweep_vars(self._var_sweep,self._sweep_iter) - - - def run_sequential(self, var_sweep: list[list[dict | None]] - ) -> list[list[Path | None]]: - """run_sequential: runs the variable sweep given in var_sweep - sequentially and returns the paths to the simulation outputs. - - Args: - var_sweep (list[list[dict | None]]): outer list is the simulation - iteration, inner list is the position in the simulation chain - that the variable dictionary corresponds to. The dictionary - contains the variables that will be inserted into the input - file before calling run on the SimRunner. If None instead of - a dictionary then the input file is copied with no modification - - Returns: - list[list[Path | None]]: outer list is the simulation iteration and - the inner list corresponds to the position of the SimRunner in - the cimulation chain. Gives the path to the simulation output - or None if no useful output is produced. - """ - start_sweep_time = self._start_sweep(var_sweep) - - output_files = list([]) - - ii = self._sim_iter - for vv in var_sweep: - output_files.append(self.run_once(ii,vv)) - ii += 1 - - - self._end_sweep(start_sweep_time,output_files) - - return output_files - - - def run_para(self, var_sweep: list[list[dict | None]] - ) -> list[list[Path | None]]: - """run_para: runs the variable sweep with the simulation chain in - parallel. - - Args: - var_sweep (list[list[dict | None]]): outer list is the simulation - iteration, inner list is the position in the simulation chain - that the variable dictionary corresponds to. The dictionary - contains the variables that will be inserted into the input - file before calling run on the SimRunner. If None instead of - a dictionary then the input file is copied with no modification - - Returns: - list[list[Path | None]]: outer list is the simulation iteration and - the inner list corresponds to the position of the SimRunner in - the cimulation chain. Gives the path to the simulation output - or None if no useful output is produced. - """ - sweep_start_time = self._start_sweep(var_sweep) - - with Pool(self._n_para_sims) as pool: - processes = list([]) - - ii = self._sim_iter - for vv in var_sweep: - processes.append(pool.apply_async(self.run_once, args=(ii,vv))) - ii += 1 - - output_files = [pp.get() for pp in processes] - - self._end_sweep(sweep_start_time, output_files) - - return output_files - - - def get_sweep_time(self) -> float: - """get_sweep_time - - Returns: - float: the time taken for the variable sweep to run based on the - performance counter. - """ - return self._sweep_run_time - - - def get_iter_time(self) -> float: - """get_iter_time - - Returns - float: the time taken for the current simulation iteration to run. - """ - return self._iter_run_time - diff --git a/dependencies/mooseherder/src/mooseherder/mooserunner.py b/dependencies/mooseherder/src/mooseherder/mooserunner.py deleted file mode 100644 index 24b04e3e..00000000 --- a/dependencies/mooseherder/src/mooseherder/mooserunner.py +++ /dev/null @@ -1,232 +0,0 @@ -''' -=============================================================================== -MOOSE Runner Class - -Authors: Lloyd Fletcher, Rory Spencer -=============================================================================== -''' -import os -import subprocess -from pathlib import Path -from mooseherder.simrunner import SimRunner -from mooseherder.mooseconfig import MooseConfig - -class MooseRunner(SimRunner): - """Used to run MOOSE models (*.i) from python. - """ - def __init__(self, config: MooseConfig): - """__init__: Constructor for MOOSE runner taking a MooseConfig object - that contains the paths to the main MOOSE install, the MOOSE app and - the MOOSE app name. Sets default parallelisation options to 1 MPI task - and 1 thread. Sets environment variables required for MPI setup. - - Args: - config (MooseConfig): moose configuration object containing the - required paths and app name to construct the command string. - """ - self._config = config.get_config() - - self._n_threads = 1 - self._n_tasks = 1 - self._redirect_stdout = True - self._arg_list = list('') - self._input_path = None - - - def set_env_vars(self) -> None: - """Sets environment variables for calling MOOSE with MPI. - """ - os.environ['CC'] = 'mpicc' - os.environ['CXX'] = 'mpicxx' - os.environ['F90'] = 'mpif90' - os.environ['F77'] = 'mpif77' - os.environ['FC'] = 'mpif90' - os.environ['MOOSE_DIR'] = str(self._config['main_path']) - if not str(self._config['app_path']) in os.environ["PATH"]: - os.environ["PATH"] = os.environ["PATH"] + ':' + str(self._config['app_path']) - - def set_threads(self, n_threads: int) -> None: - """Sets the number of threads asked of MOOSE on the command line. - - Args: - n_threads (int): Number of threads. - """ - # Need to make sure number is sensible based on cpu - if n_threads <= 0: - n_threads = 1 - elif os.cpu_count() is None: - n_threads = 1 - elif n_threads > os.cpu_count(): # type: ignore - n_threads = os.cpu_count() # type: ignore - - self._n_threads = int(n_threads) - - def set_tasks(self, n_tasks: int) -> None: - """Sets the number of MPI tasks asked of MOOSE on the command line. - - Args: - n_tasks (int): Number of mpi tasks. - """ - # Need to make sure is sensible based on cpu - if n_tasks <= 0: - n_tasks = 1 - elif os.cpu_count() is None: - n_tasks = 1 - elif n_tasks > os.cpu_count(): # type: ignore - n_tasks = os.cpu_count() # type: ignore - - self._n_tasks = int(n_tasks) - - def set_stdout(self, redirect_flag: bool = True) -> None: - """Sets MOOSE to redirect output (True) to file instead of console (False). - - Args: - redirect_flag (bool, optional): True = output to stdout file, False - = output to console. Defaults to True. - """ - self._redirect_stdout = redirect_flag - - def set_run_opts(self, n_tasks: int = 1, - n_threads: int = 1, - redirect_out: bool = True) -> None: - """Sets all options for MOOSE run parallelisation and output. - - Args: - n_tasks (int, optional): Number of mpi tasks for MOOSE run. - Defaults to 1. - n_threads (int, optional): Number of threads for MOOSE run. - Defaults to 1. - redirect (bool, optional): Redirect MOOSE output from console to - file (True). Defaults to False. - """ - self.set_threads(n_threads) - self.set_tasks(n_tasks) - self.set_stdout(redirect_out) - - - def get_input_file(self) -> Path | None: - """get_input_file - - Returns: - Path | None: full path to the input file or None if not specified. - """ - return self._input_path - - - def set_input_file(self, input_path: Path) -> None: - """Sets the path to the MOOSE input file and checks it exists. - - Args: - input_file (str): full path and name of *.i MOOSE input script. - - Raises: - FileNotFoundError: the MOOSE input script doesn't exist - """ - if not input_path.is_file(): - raise FileNotFoundError("Input file does not exist.") - - self._input_path = input_path - self.assemble_arg_list() - - def get_input_dir(self) -> Path | None: - """Gets the path to the directory for the specified input file. - - Returns: - Path: path to input file directory, if no input file is specified - returns None. - """ - if self._input_path is None: - return None - - return self._input_path.parent # type: ignore - - def get_input_tag(self) -> str: - """Gets the input file name string without the path or the .i - - Returns: - str: input file string, if no input file is specified returns an - empty string. - """ - if self._input_path is None: - return "" - - return self._input_path.stem # type: ignore - - - def get_output_path(self) -> Path | None: - """Gets the file and path for the output exodus file based - on the specified input file. Includes '_out.e'. - - Returns: - Path: output exodus file name with path, returns an empty None - if no input file is specified. - """ - if self._input_path is None: - return None - - return self._input_path.parent / (self._input_path.stem +'_out.e') - - - def get_arg_list(self) -> list[str]: - """Run string getter. - - Returns: - str: command line string to run MOOSE. - """ - return self._arg_list - - def assemble_arg_list(self, input_file = None) -> list[str]: - """Assmebles the command line string to run MOOSE based on current - options. - - Args: - input_file (str, optional): Full path to MOOSE input file, if not - empty updates the input file. Defaults to "". - - Returns: - str: command line string that will be used by the runner when run - is called. - """ - if input_file is not None: - self.set_input_file(input_file) - - if self._input_path is None: - raise RuntimeError('No input file specified, set one using set_input_file or by passing on into this function.') - - arg_list = [] - if self._n_tasks > 1: - arg_list = ['mpirun','-np',str(self._n_tasks)] - - arg_list = arg_list + [str(self._config['app_name']) \ - ,f'--n-threads={self._n_threads}','-i' \ - ,str(self._input_path.name)] - - if self._redirect_stdout: - arg_list = arg_list + ['--redirect-stdout'] - - self._arg_list = arg_list - - return self._arg_list - - - def run(self, input_file = None) -> None: - """Runs MOOSE based on current options by passing run string to - subprocess shell. - - Args: - input_file (Path, optional): Full path to MOOSE input file, if not - empty updates the input file. Defaults to None. - """ - if input_file is not None: - self.set_input_file(input_file) - - if self._input_path is None: - raise RuntimeError("Set input path before calling run.") - - self.set_env_vars() - - self.assemble_arg_list() - subprocess.run(self._arg_list, - shell=False, - cwd=str(self._input_path.parent), - check=False) diff --git a/dependencies/mooseherder/src/mooseherder/outputreader.py b/dependencies/mooseherder/src/mooseherder/outputreader.py deleted file mode 100644 index 024b2dc2..00000000 --- a/dependencies/mooseherder/src/mooseherder/outputreader.py +++ /dev/null @@ -1,25 +0,0 @@ -""" -=============================================================================== -OutpuReader Abstract Base Class - -Authors: Lloyd Fletcher -=============================================================================== -""" -from abc import ABC, abstractmethod -from pathlib import Path -from mooseherder.simdata import SimData, SimReadConfig - - -class OutputReader(ABC): - - @abstractmethod - def __init__(self, output_file: Path) -> None: - pass - - @abstractmethod - def read_sim_data(self, read_config: SimReadConfig) -> SimData: - pass - - @abstractmethod - def read_all_sim_data(self) -> SimData: - pass diff --git a/dependencies/mooseherder/src/mooseherder/simdata.py b/dependencies/mooseherder/src/mooseherder/simdata.py deleted file mode 100644 index 4504cb69..00000000 --- a/dependencies/mooseherder/src/mooseherder/simdata.py +++ /dev/null @@ -1,93 +0,0 @@ -""" -=============================================================================== -SimData Class - -Authors: Lloyd Fletcher -=============================================================================== -""" -from dataclasses import dataclass -import numpy as np - - -@dataclass -class SimData: - """ Data class for finite element simulation output. - """ - num_spat_dims: int = 3 - ''' Number of spatial dimensions in the simulation, required to determine - element types given that all coords are padded to [x,y,z]. Allows for 2D and - 1D simulations using any combination of the [x,y,z] axes. - ''' - - time: np.ndarray | None = None - ''' Vector of time steps with dimensions [t]. - Defaults to None. - ''' - - coords: np.ndarray | None = None - ''' Array of nodal coordinates in N by 3 where N is the number of nodes - columns are [x,y,z] coordinates and rows are the nth node. - Defaults to None. - ''' - - connect: dict[str,np.ndarray] | None = None - ''' Element connectivity table: - key = 'connectX' where X is the subdomain e.g. connect1 - Element table given as E by n_e rows where E is the number of elements - in the given subdomain. n_e is the number of nodes per element. - Defaults to None. - ''' - - side_sets: dict[tuple[str,str],np.ndarray] | None = None - ''' Sidesets by name and associated node and element numbers. - key = (name, 'node' or 'elem') e.g. ('bottom','node') will return node - numbers associated with associated with sideset called 'bottom' as a - numpy array with n_s entries where n_s is the number of nodes in the - sideset. - Defaults to None. - ''' - - node_vars: dict[str,np.ndarray] | None = None - ''' Nodal variable by name. - key = 'name' e.g. 'disp_x' or 'temp' - Gives the nodal variable as a numpy array, N by t where N is the number - of nodes and t is the number of time steps. Note that element variables - can be stored as nodal depending on output options or material output - order selected. - Defaults to None. - ''' - - elem_vars: dict[tuple[str,int],np.ndarray] | None = None - ''' Element variables by name and block. - key = (name, block num) - Gives the element variable as a numpy array, E by t where E is the - number of elements and t is the number of time steps. Note that element - variables might exist as nodal variables only depending on output - options and specified material output order. - Defaults to None. - ''' - - glob_vars: dict[str,np.ndarray] | None = None - ''' Global variables by name. Global variable include postprocessors and - extracted reactions at boundaries. - key = name (as specified in input file post-processor), e.g. 'react_y' - Gives a numpy array with t entries corresponding to the number of time - steps in the simulation. - Defaults to None. - ''' - -@dataclass -class SimReadConfig: - """ Used to specify na mes of variables to be read into the SimData class. - This class allows the user to only extract the required variables by - name. - """ - time: bool | None = True - coords: bool | None = True - connect: bool | None = True - sidesets: np.ndarray | None = None - node_vars: np.ndarray | None = None - elem_vars: list[tuple[str,int]] | None = None - glob_vars: np.ndarray | None = None - time_inds: np.ndarray | None = None - diff --git a/dependencies/mooseherder/src/mooseherder/simrunner.py b/dependencies/mooseherder/src/mooseherder/simrunner.py deleted file mode 100644 index d93acaa9..00000000 --- a/dependencies/mooseherder/src/mooseherder/simrunner.py +++ /dev/null @@ -1,38 +0,0 @@ -""" -=============================================================================== -SimRunner Abstract Base Class - -Authors: Lloyd Fletcher -=============================================================================== -""" -from abc import ABC, abstractmethod -from pathlib import Path - -class SimRunner(ABC): - """SimRunner: ABC for the moosherd simulation chain. A simulation has an - input file which can be get or set. The simulation can then be run with the - given input files and then the path to the simulation output file can be - retrieved. - """ - @abstractmethod - def get_input_file(self) -> Path | None: - """get_input_path - """ - - - @abstractmethod - def set_input_file(self, input_path: Path) -> None: - """set_input_file - """ - - - @abstractmethod - def run(self, input_file: Path | None = None) -> None: - """run - """ - - @abstractmethod - def get_output_path(self) -> Path | None: - """get_output_path - """ - diff --git a/dependencies/mooseherder/src/mooseherder/sweepreader.py b/dependencies/mooseherder/src/mooseherder/sweepreader.py deleted file mode 100644 index 3be6b85c..00000000 --- a/dependencies/mooseherder/src/mooseherder/sweepreader.py +++ /dev/null @@ -1,291 +0,0 @@ -''' -=============================================================================== -SweepReader Class - -Authors: Lloyd Fletcher, Rory Spencer -=============================================================================== -''' - -import os -import json -from pathlib import Path -from multiprocessing.pool import Pool -from mooseherder.directorymanager import DirectoryManager -import mooseherder.directorymanager as dm -from mooseherder.exodusreader import ExodusReader -from mooseherder.simdata import SimData, SimReadConfig - - -class SweepReader: - """ Used to read the output from one or more calls to mooseherd.run_para(). - has configurable options for reading in the variable sweep in parallel. - """ - def __init__(self, - dir_manager: DirectoryManager, - num_para_read: int = 1) -> None: - """__init__: Construct the sweep reader with a directory manager and - the number of simulations to read in parallel. - - Args: - dir_manager (DirectoryManager): the directory manager as used by - the mooseherd that ran the simulation sweep. - num_para_read (int, optional): number of simulation to read in - parallel. Defaults to 1. - """ - self._dir_manager = dir_manager - self._output_files = list([]) - self._n_para_read = num_para_read - - - def read_output_key(self, sweep_iter: int) -> list[list[Path | None]]: - """read_output_key: reads the output key json file produced by running - the variable sweep. The output key file maps which simulation were run - in a given sub directory. - - Args: - sweep_iter (int): sweep iteration to read. This is the number that - is appended to the output key file e.g. output-key-2.json for - the 2nd call to run_seq/para in the mooseherd. - - Returns: - list[list[Path]]: paths to the outputs from the variable sweep the - outer list is the simulation iteration and the inner list is - the position in the simulation chain. - """ - output_key = self._dir_manager.get_output_key_file(sweep_iter) - if not output_key.is_file(): - raise FileNotFoundError(f'Output key file for sweep iteration {sweep_iter} not found at path: {output_key}') - - with open(output_key, 'r', encoding='utf-8') as okf: - output_files = json.load(okf) - - return dm.output_str_to_paths(output_files) - - - def read_all_output_keys(self) -> list[list[Path | None]]: - """read_all_output_keys: as read_output_keys() but finds all output key - files in the first sub-directory and reads them. - - Raises: - FileNotFoundError: No output key files found in the first sub- - directory. - - Returns: - list[list[Path]]: paths to the outputs from the variable sweep the - outer list is the simulation iteration and the inner list is - the position in the simulation chain. - """ - output_paths = self._find_files_by_str(self._dir_manager.get_output_key_tag(), - self._dir_manager.get_run_dir(0)) - - if len(output_paths) == 0: - raise FileNotFoundError("No output key json files found.") - - output_files = list([]) - for output_path in output_paths: - sweep_iter = output_path.name.split('.')[0].split('-')[-1] - output_files = output_files + self.read_output_key(int(sweep_iter)) - - self._output_files = output_files - return self._output_files - - - def read_sweep_var_file(self, sweep_iter: int = 1 - ) -> list[list[dict | None]]: - """read_sweep_var_file: reads the file containing the sweep variable - dictionary for a given sweep iteration and returns it. - - Args: - sweep_iter (int, optional): The sweep iteration (i.e. the call - number to mooseher.run_seq/para) Defaults to 1. - - Raises: - FileNotFoundError: Sweep file not found. - - Returns: - list[list[dict | None]]: The sweep variables as passed to mooseherd - .run_seq/para. - """ - sweep_var_file = self._dir_manager.get_sweep_var_file(sweep_iter) - if not sweep_var_file.is_file(): - raise FileNotFoundError( - f'Sweep variable file for sweep iteration {sweep_iter}'+ - f'not found at path: {sweep_var_file}') - - with open(sweep_var_file, 'r', encoding='utf-8') as svf: - sweep_vars = json.load(svf) - - return sweep_vars - - - def read_all_sweep_var_files(self) -> list[list[dict | None]]: - """read_all_sweep_var_files: as read sweep variables but finds all - sweep variables in the first sub-directory and reads them. - - Raises: - FileNotFoundError: No sweep variable files found. - - Returns: - list[list[dict | None]]: The sweep variables as passed to mooseherd - .run_seq/para. Additional sweep iterations are appended to the - end of the list. - """ - sweep_var_paths = self._find_files_by_str(self._dir_manager.get_sweep_var_tag(), - self._dir_manager.get_run_dir(0)) - - if len(sweep_var_paths) == 0: - raise FileNotFoundError("No sweep variable json files found.") - - sweep_vars = list([]) - for ii,_ in enumerate(sweep_var_paths): - sweep_vars = sweep_vars + self.read_sweep_var_file(ii+1) - - return sweep_vars - - - def _find_files_by_str(self, search_str: str, search_path: Path - ) -> list[Path]: - """_find_files_by_str: helper function for finding output key and sweep - variable files based on a specific string. - - Args: - search_str (str): the string to find in the file name. - search_path (Path): the path to the directory to search for files - containing the specified string. - - Returns: - list[Path]: list of paths to the files found with the string. - """ - found_files = list([]) - - all_files = os.listdir(search_path) - - for ff in all_files: - if search_str in ff: - found_files.append(Path(ff)) - - found_files.sort() - - return found_files - - - def get_output_files(self) -> list[list[Path | None]]: - """get_output_files - - Returns: - list[list[Path]]: returns the paths to the output files as read - from the output key files. - """ - return self._output_files - - - def read_results_once(self, - output_files: list[Path | None], - read_config: SimReadConfig | None = None - ) -> list[SimData | None]: - """read_results_once: reads a specific simulation at the specified - path based on the specified read configuration. If the read - configuration is None then read everything. - - Args: - output_file (Path): Path to the file to read - read_config (SimReadConfig | None): class to specify the data to read - - Returns: - list[SimData | None]: list of data classes holding the simulation - data for each simulation in the chain. Will be None for a pre- - processor like Gmsh that has not output. - """ - data_list = list([]) - - for ff in output_files: - if ff is None: - data_list.append(None) - else: - #TODO: replace with output reader ABC - reader = ExodusReader(ff) - if read_config is None: - data_list.append(reader.read_all_sim_data()) - else: - data_list.append(reader.read_sim_data(read_config)) - - return data_list - - - def read_results_sequential(self, - sweep_iter: int | None = None, - read_config: SimReadConfig | None = None - ) -> list[list[SimData]]: - """read_results_sequential: reads the variable sweep results - sequentially. Can read a specific iteration with a specific read config - but defaults to reading everything found in the simulation directories. - - Args: - sweep_iter (int | None, optional): sweep iteration number to read. - Reads the output key file for this iteration. Defaults to None. - read_config (SimReadConfig | None, optional): object for specifying - which variables are to be extracted from the output. Defaults - to None. - - Returns: - list[list[SimData]]: list of lists of SimData objects containing the - simulation results corresponding to each combination of - variables. - """ - self._start_read_output_keys(sweep_iter) - - sweep_results = list([]) - for ii,ff in enumerate(self._output_files): - sweep_results.append(self.read_results_once(ff,read_config)) - - return sweep_results - - - def read_results_para(self, - sweep_iter: int | None = None, - read_config: SimReadConfig | None = None - ) -> list[list[SimData]]: - """read_results_para: reads the variable sweep results in parallel - Can read a specific iteration with a specific read config but defaults - to reading everything found in the simulation directories. - - Args: - sweep_iter (int | None, optional): sweep iteration number to read. - Reads the output key file for this iteration. Defaults to None. - read_config (SimReadConfig | None, optional): object for specifying - which variables are to be extracted from the output. Defaults - to None. - - Returns: - list[list[SimData]]: list of lists of SimData objects containing the - simulation results corresponding to each combination of - variables. - """ - self._start_read_output_keys(sweep_iter) - - with Pool(self._n_para_read) as pool: - processes = list([]) - for ff in self._output_files: - processes.append(pool.apply_async( - self.read_results_once, args=(ff,read_config))) - - sweep_results = [pp.get() for pp in processes] - - return sweep_results - - - def _start_read_output_keys(self, sweep_iter: int | None): - """_start_read: helper function to read the output keys for a specific - simulation iteration prior to reading the simulation outputs. - - Args: - sweep_iter (int | None): sweep iteration number to read. If None - read all of the output keys. - """ - if self._output_files == '': - self._output_files = self.read_output_key(sweep_iter=1) - - if sweep_iter is None: - self.read_all_output_keys() - - diff --git a/dependencies/mooseherder/tests/__init__.py b/dependencies/mooseherder/tests/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/dependencies/mooseherder/tests/directorymanager_test.py b/dependencies/mooseherder/tests/directorymanager_test.py deleted file mode 100644 index b8b3b23c..00000000 --- a/dependencies/mooseherder/tests/directorymanager_test.py +++ /dev/null @@ -1,80 +0,0 @@ -''' -============================================================================== -TEST: DirectoryManager - -Authors: Lloyd Fletcher -============================================================================== -''' - -from pathlib import Path -import pytest -from mooseherder.directorymanager import DirectoryManager -import tests.herdchecker as hc - - -@pytest.fixture -def dir_manager() -> DirectoryManager: - return DirectoryManager(hc.NUM_DIRS) - - -@pytest.fixture(autouse=True) -def setup_teardown(dir_manager): - yield - dir_manager.clear_dirs() - - -def test_init_dir_manager(dir_manager: DirectoryManager) -> None: - assert dir_manager is not None - assert dir_manager._n_dirs == hc.NUM_DIRS - assert dir_manager._base_dir == Path().cwd() - assert dir_manager._sub_dir == 'sim-workdir' - - -def test_set_sub_dir_name(dir_manager: DirectoryManager) -> None: - new_name = 'new-workdir' - dir_manager.set_sub_dir_name(new_name) - assert dir_manager._sub_dir == new_name - - -def test_set_base_dir(dir_manager: DirectoryManager) -> None: - dir_manager.set_base_dir(hc.BASE_DIR) - assert dir_manager._base_dir == hc.BASE_DIR - - -def test_set_base_dir_err(dir_manager: DirectoryManager) -> None: - base_dir = Path('no_exist/') - with pytest.raises(FileExistsError) as errinfo: - dir_manager.set_base_dir(base_dir) - msg, = errinfo.value.args - assert msg == "Specified base directory does not exist." - - -def test_create_dirs(dir_manager: DirectoryManager) -> None: - dir_manager.create_dirs() - for dd in range(hc.NUM_DIRS): - run_dir = dir_manager._base_dir / (dir_manager._sub_dir+'-'+str(dd+1)) - assert run_dir.is_dir() - - -def test_clear_dirs(dir_manager: DirectoryManager) -> None: - dir_manager.create_dirs() - dir_manager.clear_dirs() - for dd in range(hc.NUM_DIRS): - run_dir = dir_manager._base_dir / (dir_manager._sub_dir+'-'+str(dd+1)) - assert run_dir.is_dir() == False - - -@pytest.mark.parametrize( - ('dir_num','expected'), - ( - (-1,0), - (0,0), - (1,1), - (4,0), - ) -) -def test_get_run_dir(dir_num: int, - expected: int, - dir_manager: DirectoryManager) -> None: - check_path = dir_manager.get_run_dir(dir_num) - assert check_path == dir_manager._run_dirs[expected] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/exodusreader_test.py b/dependencies/mooseherder/tests/exodusreader_test.py deleted file mode 100644 index 7ba2c608..00000000 --- a/dependencies/mooseherder/tests/exodusreader_test.py +++ /dev/null @@ -1,328 +0,0 @@ -''' -============================================================================== -TEST: ExodusReader - -Authors: Lloyd Fletcher -============================================================================== -''' -from pathlib import Path -from dataclasses import fields -import pytest -import numpy as np -import numpy.typing as npt -from mooseherder.exodusreader import ExodusReader -from mooseherder.simdata import SimData -import tests.herdchecker as hc - -NUM_TIME_STEPS = 4 -NUM_NODES = 441 -NUM_ELEMS_PER_BLOCK = 200 -NODES_PER_ELEM = 4 -NUM_BLOCKS = 2 - -CONNECT_NAMES = ('connect1','connect2') - -NUM_SIDESETS = 4 -SIDESET_NAMES = ('bottom', - 'right', - 'top', - 'left') - -NUM_NODE_VARS = 10 -NODE_VAR_NAMES = ('disp_x', - 'disp_y', - 'strain_xx', - 'strain_xy', - 'strain_yy', - 'strain_zz', - 'stress_xx', - 'stress_xy', - 'stress_yy', - 'vonmises_stress') - -NUM_ELEM_VARS = 8 -ELEM_VAR_NAMES = ('strain_xx', - 'strain_xy', - 'strain_yy', - 'strain_zz', - 'stress_xx', - 'stress_xy', - 'stress_yy', - 'vonmises_stress') - - -NUM_GLO_VARS = 4 -GLO_VAR_NAMES = ('avg_yy_stress', - 'max_y_disp', - 'max_yy_stress', - 'react_y') - - -@pytest.fixture -def exodus_path() -> Path: - return hc.OUTPUT_PATH / 'moose-mech-outtest_out.e' - -@pytest.fixture -def reader(exodus_path: Path) -> ExodusReader: - return ExodusReader(exodus_path) - - -def test_init_reader(reader: ExodusReader, - exodus_path: Path) -> None: - assert reader._exodus_path == exodus_path - assert reader._data is not None - - -def tests_init_reader_path_err() -> None: - err_path = Path().home() / 'no-exist/no_exodus_here.wrong' - with pytest.raises(FileNotFoundError) as err_info: - check_reader = ExodusReader(err_path) - - (msg,) = err_info.value.args - assert msg == 'Exodus file not found at specified path' - - -@pytest.mark.parametrize( - ('name_key','expected'), - ( - ('ss_names', SIDESET_NAMES), - ('name_nod_var',NODE_VAR_NAMES), - ('name_elem_var',ELEM_VAR_NAMES), - ('name_glo_var',GLO_VAR_NAMES) - ) -) -def test_get_names(name_key: str, - expected: tuple[str], - reader: ExodusReader) -> None: - check_names = reader.get_names(name_key) - assert (check_names == expected).all() - - -def test_get_names_none(reader: ExodusReader) -> None: - check_names = reader.get_names(None) - assert check_names is None - - -def test_get_names_no_key(reader: ExodusReader) -> None: - check_names = reader.get_names('no-exist') - assert check_names is None - - -def test_get_var(reader: ExodusReader) -> None: - key = 'coordx' - check_var = reader.get_var(key) - assert check_var.shape[0] > 0 - assert check_var.shape == (NUM_NODES,) - - -@pytest.mark.parametrize( - ('keys','expected'), - ( - (('top','ss_names','node_ns'),'node_ns3'), - (('top','ss_names','elem_ss'),'elem_ss3'), - (('disp_x','name_nod_var','vals_nod_var'),'vals_nod_var1'), - (('disp_y','name_nod_var','vals_nod_var'),'vals_nod_var2'), - (('stress_xy','name_nod_var','vals_nod_var'),'vals_nod_var8'), - (('strain_yy','name_elem_var','vals_elem_var'),'vals_elem_var3'), - (('stress_xx','name_elem_var','vals_elem_var'),'vals_elem_var5'), - ) -) -def test_get_key(keys: tuple[str,str,str], - expected: str, - reader: ExodusReader) -> None: - - name = keys[0] - all_names = reader.get_names(keys[1]) - key_tag = keys[2] - - key = reader.get_key(name,all_names,key_tag) # type: ignore - assert key == expected - - -def test_get_var_no_key(reader: ExodusReader) -> None: - no_key = 'no_exist' - check_var = reader.get_var(no_key) - assert check_var.shape[0] == 0 - - -def test_get_connectivity_names(reader: ExodusReader) -> None: - check_names = reader.get_connectivity_names() - assert check_names.shape == (NUM_BLOCKS,) - assert (check_names == np.array(['connect1','connect2'])).all() - - -def test_get_connectivity(reader: ExodusReader) -> None: - check_connect = reader.get_connectivity() - assert check_connect is not None - assert tuple(check_connect.keys()) == CONNECT_NAMES - assert check_connect['connect1'].shape == ( - NODES_PER_ELEM,NUM_ELEMS_PER_BLOCK) - assert check_connect['connect2'].shape == ( - NODES_PER_ELEM,NUM_ELEMS_PER_BLOCK) - - -def test_get_sideset_names(reader: ExodusReader) -> None: - check_names = reader.get_sideset_names() - assert check_names is not None - assert check_names.shape == (NUM_SIDESETS,) - assert (check_names == SIDESET_NAMES).all() - - -def test_get_sidesets_none(reader: ExodusReader) -> None: - check_sidesets = reader.get_sidesets(None) - assert check_sidesets is None - - -def test_get_all_sidesets(reader: ExodusReader) -> None: - check_sidesets = reader.get_all_sidesets() - assert check_sidesets is not None - assert len(check_sidesets.keys()) == 2*NUM_SIDESETS # NOTE: node+elem = *2 - assert check_sidesets[('bottom','node')].shape[0] > 0 - assert check_sidesets[('bottom','elem')].shape[0] > 0 - - -def test_get_node_var_names(reader: ExodusReader) -> None: - node_var_names = reader.get_node_var_names() - assert node_var_names is not None - assert node_var_names.shape == (NUM_NODE_VARS,) - assert (node_var_names == NODE_VAR_NAMES).all() - - -def test_get_node_vars_none(reader: ExodusReader) -> None: - node_vars = reader.get_node_vars(None) - assert node_vars is None - - -def test_get_all_node_vars(reader: ExodusReader) -> None: - node_vars = reader.get_all_node_vars() - assert node_vars is not None - assert len(node_vars.keys()) == NUM_NODE_VARS - for nn in node_vars: - assert node_vars[nn].shape == (NUM_NODES,NUM_TIME_STEPS) - - -def test_get_elem_var_names(reader: ExodusReader) -> None: - elem_var_names = reader.get_elem_var_names() - assert elem_var_names is not None - assert elem_var_names.shape == (NUM_ELEM_VARS,) - assert (elem_var_names == ELEM_VAR_NAMES).all() - - -def test_get_num_elem_blocks(reader: ExodusReader) -> None: - num_blocks = reader.get_num_elem_blocks() - assert num_blocks == NUM_BLOCKS - - -def test_get_elem_var_names_and_blocks(reader: ExodusReader) -> None: - var_names_and_blocks = reader.get_elem_var_names_and_blocks() - assert var_names_and_blocks is not None - assert len(var_names_and_blocks) == NUM_ELEM_VARS*NUM_BLOCKS - - -def test_get_all_elem_vars(reader: ExodusReader) -> None: - elem_vars = reader.get_all_elem_vars() - assert elem_vars is not None - assert len(elem_vars.keys()) == NUM_ELEM_VARS*NUM_BLOCKS - for ee in elem_vars: - assert elem_vars[ee].shape == (NUM_ELEMS_PER_BLOCK,NUM_TIME_STEPS) - - -def test_get_glob_var_names(reader: ExodusReader) -> None: - glob_var_names = reader.get_glob_var_names() - assert glob_var_names is not None - assert glob_var_names.shape == (NUM_GLO_VARS,) - assert (glob_var_names == GLO_VAR_NAMES).all() - - -def test_get_glob_vars_none(reader: ExodusReader) -> None: - glob_vars = reader.get_glob_vars(None) - assert glob_vars is None - - -def test_get_all_glob_vars(reader: ExodusReader) -> None: - glob_vars = reader.get_all_glob_vars() - assert glob_vars is not None - assert len(glob_vars.keys()) == (NUM_TIME_STEPS) - assert tuple(glob_vars.keys()) == GLO_VAR_NAMES - for gg in glob_vars: - assert glob_vars[gg].shape == (NUM_TIME_STEPS,) - -def test_get_coords(reader: ExodusReader) -> None: - (coords,_) = reader.get_coords() - assert coords.shape == (NUM_NODES,3) - - -@pytest.mark.parametrize( - ('coord','dim','expected'), - ( - (np.array([]),4,np.array([0,0,0,0])), - (np.array([0,1,2,3]),4,np.array([0,1,2,3])), - ) -) -def test_expand_coords(coord: npt.NDArray, - dim: int, - expected: npt.NDArray, - reader: ExodusReader) -> None: - check = reader._expand_coord(coord,dim) - assert (check == expected).all() - - -def test_get_time(reader: ExodusReader) -> None: - check_time = reader.get_time() - assert check_time.shape == (NUM_TIME_STEPS,) - - -def test_get_read_config(reader: ExodusReader) -> None: - config = reader.get_read_config() - - for ff in fields(config): - if ff.name != 'time_inds': - assert getattr(config,ff.name) is not None - - assert (config.sidesets == SIDESET_NAMES).all() - assert (config.node_vars == NODE_VAR_NAMES).all() - assert len(config.elem_vars) == NUM_ELEM_VARS*NUM_BLOCKS # type: ignore - assert (config.glob_vars == GLO_VAR_NAMES).all() - - -def test_read_sim_data(reader: ExodusReader) -> None: - config = reader.get_read_config() - data = reader.read_sim_data(config) - check_sim_data(data) - - -def test_read_all_sim_data(reader: ExodusReader) -> None: - data = reader.read_all_sim_data() - check_sim_data(data) - - -def check_sim_data(data: SimData) -> None: - for ff in fields(data): - assert getattr(data,ff.name) is not None - - assert data.time.shape == (NUM_TIME_STEPS,) - assert data.coords.shape == (NUM_NODES,3) - - assert tuple(data.connect.keys()) == CONNECT_NAMES - for cc in data.connect: - assert data.connect[cc].shape == (NODES_PER_ELEM,NUM_ELEMS_PER_BLOCK) - - assert len(data.side_sets.keys()) == NUM_SIDESETS*2 - for ss in data.side_sets: - assert ss[0] in SIDESET_NAMES - assert ss[1] in ('node','elem') - - assert tuple(data.node_vars.keys()) == NODE_VAR_NAMES - for nn in data.node_vars: - assert data.node_vars[nn].shape == (NUM_NODES,NUM_TIME_STEPS) - - assert len(data.elem_vars.keys()) == NUM_ELEM_VARS*NUM_BLOCKS - for ee in data.elem_vars: - assert ee[0] in ELEM_VAR_NAMES - assert ee[1] in (1,2) - assert data.elem_vars[ee].shape == (NUM_ELEMS_PER_BLOCK,NUM_TIME_STEPS) - - assert tuple(data.glob_vars.keys()) == GLO_VAR_NAMES - for gg in data.glob_vars: - data.glob_vars[gg].shape == (NUM_TIME_STEPS,) - diff --git a/dependencies/mooseherder/tests/generate_moose_output.py b/dependencies/mooseherder/tests/generate_moose_output.py deleted file mode 100644 index 49bd731a..00000000 --- a/dependencies/mooseherder/tests/generate_moose_output.py +++ /dev/null @@ -1,50 +0,0 @@ -''' -============================================================================== -GENERATE OUTPUTS FOR TESTS - -Author: Lloyd Fletcher -============================================================================== -''' -import time -import os -from pathlib import Path -from mooseherder import MooseRunner - -USER_DIR = Path().home() - -print('------------------------------------------') -print('GENERATE MOOSE HERDER TEST CASES') -print('------------------------------------------') - -# Create the moose runner with correct paths to moose and apps -moose_dir = USER_DIR / 'moose' -moose_app_dir = USER_DIR / 'proteus' -moose_app_name = 'proteus-opt' -moose_runner = MooseRunner(moose_dir,moose_app_dir,moose_app_name) - -# Set input and parallelisation options -moose_runner.set_run_opts(n_tasks=4, - n_threads=2, - redirect_out=True) - -# These are all the test cases required -input_files = [ Path('scripts/moose-mech-simple.i'), \ - Path('scripts/moose-mech-sub-dom.i'), \ - Path('scripts/moose-mech-sub-dom-order2.i'), \ - Path('scripts/moose-mech-two-beams.i'), \ - Path('scripts/moose-mech-thermal-exp.i')] - -for ii in input_files: - start_time = time.perf_counter() - - moose_runner.set_input_file(ii) - print('Running moose test case with:') - print(moose_runner.get_arg_list()) - - moose_runner.run() - run_time = time.perf_counter() - start_time - print('MOOSE run time = {run_time:.3f} seconds') - print() - -print('Test data generation complete.') -print() diff --git a/dependencies/mooseherder/tests/gmsh/gmsh-broken.geo b/dependencies/mooseherder/tests/gmsh/gmsh-broken.geo deleted file mode 100644 index 2914213b..00000000 --- a/dependencies/mooseherder/tests/gmsh/gmsh-broken.geo +++ /dev/null @@ -1,62 +0,0 @@ -// -// Demo input file for parameterised geometries with Gmsh -// Author: Rory Spencer -// Date: Nov-2023 - -// Geometry Variables -gaugeHeight = 10E-3 -gaugeWidth = ; -// gaugeThickness = 1E-3; //2D for now - -// Parameterisation -//_* -p0 = 1.5E-3; -p1 = 1E-3; // Testing comments in the variable block -// Another test comment -p2 = 1.2E-3; -filename = "mesh-test.msh"; // String variable -//** -lc = 1E-4; - - -// Create some points defining the boundary -// Will have vertical symmetry -Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen -Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 -Point(3) = {p1,0,0,lc}; // Parameterised point 1 -Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 -Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line -Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline -Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge - -// Connect things up with some lines -Line(1) = {1,7}; // Bottom Hor Line -Spline(2) = {7,2,3,4,5}; //Vertical up side -Line(3) = {5,6}; // Top Hor Line -Line(4) = {6,1}; // Centreline - -Curve Loop(1) = {1,2,3,4}; -Plane Surface(1) = {1}; - -// Top & Bottom -Transfinite Curve{1} = 10; -Transfinite Curve{3} = 10; - -// Sides -Transfinite Curve{4} = 50; -Transfinite Curve{2} = 50; - -Transfinite Surface{1}; - -Recombine Surface{:}; -Mesh 2; - - -Physical Surface("Specimen",1) = {1}; - -Physical Curve("Top-BC",2) = {3}; -Physical Curve("Mid-BC",3) = {4}; -Physical Curve("Btm-BC",4) = {1}; - -Save Str(filename); -Exit; diff --git a/dependencies/mooseherder/tests/gmsh/gmsh-test.geo b/dependencies/mooseherder/tests/gmsh/gmsh-test.geo deleted file mode 100644 index 1a69a7b2..00000000 --- a/dependencies/mooseherder/tests/gmsh/gmsh-test.geo +++ /dev/null @@ -1,61 +0,0 @@ -// -// Demo input file for parameterised geometries with Gmsh -// Author: Rory Spencer -// Date: Nov-2023 - -// Geometry Variables -gaugeHeight = 10E-3; -gaugeWidth = 2.5E-3; -// gaugeThickness = 1E-3; //2D for now - -// Parameterisation -//_* -p0 = 1.5E-3; -p1 = 1E-3; // Testing comments in the variable block -// Another test comment -p2 = 1.2E-3; -filename = "gmsh-test.msh"; // String variable -//** -lc = 1E-4; - -// Create some points defining the boundary -// Will have vertical symmetry -Point(1) = {0,-gaugeHeight,0,lc}; //Bottom of centreline on specimen -Point(2) = {p0,-5E-3,0,lc}; // Parameterised point 0 -Point(3) = {p1,0,0,lc}; // Parameterised point 1 -Point(4) = {p2,5E-3,0,lc}; // Parameterised point 2 -Point(5) = {gaugeWidth,gaugeHeight,0,lc}; //Top of gauge side line -Point(6) = {0,gaugeHeight,0,lc}; //Top of gauge centreline -Point(7) = {gaugeWidth,-gaugeHeight,0,lc}; // Bottom Edge of gauge - -// Connect things up with some lines -Line(1) = {1,7}; // Bottom Hor Line -Spline(2) = {7,2,3,4,5}; //Vertical up side -Line(3) = {5,6}; // Top Hor Line -Line(4) = {6,1}; // Centreline - -Curve Loop(1) = {1,2,3,4}; -Plane Surface(1) = {1}; - -// Top & Bottom -Transfinite Curve{1} = 10; -Transfinite Curve{3} = 10; - -// Sides -Transfinite Curve{4} = 50; -Transfinite Curve{2} = 50; - -Transfinite Surface{1}; - -Recombine Surface{:}; -Mesh 2; - - -Physical Surface("Specimen",1) = {1}; - -Physical Curve("Top-BC",2) = {3}; -Physical Curve("Mid-BC",3) = {4}; -Physical Curve("Btm-BC",4) = {1}; - -Save Str(filename); -Exit; diff --git a/dependencies/mooseherder/tests/gmshrunner_test.py b/dependencies/mooseherder/tests/gmshrunner_test.py deleted file mode 100644 index 55bb29e2..00000000 --- a/dependencies/mooseherder/tests/gmshrunner_test.py +++ /dev/null @@ -1,118 +0,0 @@ -''' -============================================================================== -TEST: GmshRunner - -Authors: Lloyd Fletcher -============================================================================== -''' -import os -from pathlib import Path -import pytest -from mooseherder.gmshrunner import GmshRunner - -USER_DIR = Path.home() - - -def test_gmsh_exists(): - exist_gmsh_path = USER_DIR / 'gmsh/bin/gmsh' - assert exist_gmsh_path.is_file() - - -@pytest.fixture() -def gmsh_path() -> Path: - return USER_DIR / 'gmsh/bin/gmsh' - - -@pytest.fixture() -def runner(gmsh_path: Path) -> GmshRunner: - return GmshRunner(gmsh_path) - - -@pytest.fixture() -def input_file() -> Path: - return Path('tests/gmsh/gmsh-test.geo') - - -@pytest.fixture(autouse=True) -def setup_teardown(): - # Setup here - yield - # Teardown here - remove output files - all_files = os.listdir('tests/gmsh/') - for ff in all_files: - if '.msh' in ff: - os.remove(Path('tests/gmsh/' + ff)) - -def test_create_runner(runner: GmshRunner, gmsh_path: Path) -> None: - assert runner._gmsh_app == gmsh_path - - -def test_create_runner_err() -> None: - wrong_path = USER_DIR / 'wrong_dir' - with pytest.raises(FileNotFoundError) as err_info: - _ = GmshRunner(wrong_path) - - msg, = err_info.value.args - assert msg == 'Gmsh app not found at given path.' - -def test_set_gmsh_app(gmsh_path: Path) -> None: - check_runner = GmshRunner() - check_runner.set_gmsh_app(gmsh_path) - assert check_runner._gmsh_app == gmsh_path - - -def test_set_gmsh_app_err() -> None: - wrong_path = USER_DIR / 'wrong_dir' - with pytest.raises(FileNotFoundError) as err_info: - check_runner = GmshRunner() - check_runner.set_gmsh_app(wrong_path) - - msg, = err_info.value.args - assert msg == 'Gmsh app not found at given path.' - - -def test_set_input_file(runner: GmshRunner, input_file: Path) -> None: - runner.set_input_file(input_file) - assert runner.get_input_file() == input_file - - -def test_set_input_err_geo(runner: GmshRunner) -> None: - wrong_file = Path('tests/gmsh/gmsh-test.i') - with pytest.raises(FileNotFoundError) as err_info: - runner.set_input_file(wrong_file) - msg, = err_info.value.args - assert msg == 'Incorrect file type. Must be *.geo.' - - -def test_set_input_err_exist(runner: GmshRunner) -> None: - wrong_file = Path('tests/gmsh/gmsh-test-noexist.geo') - with pytest.raises(FileNotFoundError) as err_info: - runner.set_input_file(wrong_file) - msg, = err_info.value.args - assert msg == 'Specified gmsh geo file does not exist.' - - -def test_run(runner: GmshRunner, input_file: Path) -> None: - runner.set_input_file(input_file) - runner.run() - assert os.path.isfile('tests/gmsh/gmsh-test.msh'), 'Output mesh *.msh file not generated by gmsh.' - - -def test_run_with_input(runner: GmshRunner, input_file: Path) -> None: - runner.run(input_file) - assert os.path.isfile('tests/gmsh/gmsh-test.msh'), 'Output mesh *.msh file not generated by gmsh.' - - -def test_run_err_no_gmsh() -> None: - check_runner = GmshRunner() - with pytest.raises(RuntimeError) as err_info: - check_runner.run() - msg, = err_info.value.args - assert msg == "Specify the full path to the gmsh app before calling run." - - -def test_run_err_no_geo(runner: GmshRunner) -> None: - with pytest.raises(RuntimeError) as err_info: - runner.run() - msg, = err_info.value.args - assert msg == "Specify input *.geo file before running gmsh." diff --git a/dependencies/mooseherder/tests/herdchecker.py b/dependencies/mooseherder/tests/herdchecker.py deleted file mode 100644 index c06c5154..00000000 --- a/dependencies/mooseherder/tests/herdchecker.py +++ /dev/null @@ -1,200 +0,0 @@ -''' -============================================================================== -HerdChecker: Helper functions for testing MooseHerder - -Authors: Lloyd Fletcher -============================================================================== -''' - -import os -from typing import Any -from pathlib import Path -from pprint import pprint -from mooseherder.inputmodifier import InputModifier -from mooseherder.mooserunner import MooseRunner -from mooseherder.mooseconfig import MooseConfig -from mooseherder.gmshrunner import GmshRunner -from mooseherder.mooseherd import MooseHerd -from mooseherder.directorymanager import DirectoryManager - - -NUM_DIRS = 4 -NUM_PARA = 4 -NUM_CALLS = 3 -BASE_DIR = Path('tests/') - -MOOSE_PATH = Path.home()/'moose' -MOOSE_APP_PATH = Path().home()/'proteus' -MOOSE_APP_NAME = 'proteus-opt' -MOOSE_INPUT = Path('tests/moose/moose-test.i') - -GMSH_APP_PATH = Path().home() / 'gmsh/bin/gmsh' -GMSH_INPUT = Path('tests/gmsh/gmsh-test.geo') - -OUTPUT_PATH = Path('tests/output/') - - -def create_moose_config() -> MooseConfig: - return MooseConfig({'main_path': MOOSE_PATH, - 'app_path': MOOSE_APP_PATH, - 'app_name': MOOSE_APP_NAME}) - - -def create_moose_objs(input_file: Path) -> tuple[MooseRunner,InputModifier]: - moose_config = create_moose_config() - moose_runner = MooseRunner(moose_config) - - moose_input = input_file - moose_modifier = InputModifier(moose_input,'#','') - - return (moose_runner,moose_modifier) - - -def create_gmsh_objs(input_file: Path) -> tuple[GmshRunner,InputModifier]: - gmsh_input = input_file - gmsh_modifier = InputModifier(gmsh_input,'//',';') - gmsh_runner = GmshRunner(GMSH_APP_PATH) - gmsh_runner.set_input_file(gmsh_input) - - return (gmsh_runner,gmsh_modifier) - -def check_solve(check_file: Path, check_str: str) -> int: - check_count = 0 - if check_file.is_file(): - with open(check_file,'r', encoding="utf-8") as so: - stdout_lines = so.readlines() - for ll in stdout_lines: - if check_str in ll: - check_count += 1 - return check_count - - -def check_solve_converged(check_stdout: Path) -> int: - return check_solve(check_stdout,'Solve Converged!') - - -def check_solve_error(check_stdout: Path) -> int: - return check_solve(check_stdout,'*** ERROR ***') - - -def check_output_key_file_count(check_dir: Path) -> int: - work_dir_files = os.listdir(check_dir) - - key_count = 0 - for ff in work_dir_files: - if 'output-key' in ff: - key_count += 1 - - return key_count - - -def check_run_sweep(check_herd: MooseHerd, - dir_manager: DirectoryManager, - run_call: int) -> None: - for ll in dir_manager.get_output_paths(): - for ff in ll: - if ff is not None: - assert ff.is_file(), \ - f"Simulation output {ff} does not exist." - - assert check_herd.get_sweep_time() >= 0, \ - 'Sweep run time is less than 0.' - assert dir_manager.get_output_key_file(check_herd.get_sweep_iter()), \ - 'Output key file was not written.' - - output_key_count = check_output_key_file_count( - dir_manager.get_output_key_file( - check_herd.get_sweep_iter()).parent) - assert output_key_count == run_call - - -def check_input_output_count_sequential(check_herd: MooseHerd, - dir_manager: DirectoryManager, - run_call: int) -> None: - (input_count, output_count) = get_input_output_count( - dir_manager.get_all_run_dirs(),'.i','_out.e') - - if not check_herd._keep_all: - num_sims = 1 - else: - num_sims = run_call*len(check_herd._var_sweep) - - assert input_count == num_sims - assert output_count == num_sims - - -def check_input_output_count_para(check_herd: MooseHerd, - dir_manager: DirectoryManager, - run_call: int) -> None: - (input_count, output_count) = get_input_output_count( - dir_manager.get_all_run_dirs(),'.i','_out.e') - - if not check_herd._keep_all: - num_sims = len(check_herd._var_sweep) - else: - num_sims = run_call*len(check_herd._var_sweep) - - assert input_count == num_sims - assert output_count == num_sims - - -def get_input_output_count(run_dirs: list[Path], - in_suffix: str, - out_suffix: str) -> tuple[int,int]: - # Go through all work directories and count the inputs/exoduses - input_count = 0 - output_count = 0 - - for rr in run_dirs: - dir_files = os.listdir(rr) - for ff in dir_files: - if out_suffix in ff: - output_count += 1 - elif in_suffix in ff: - input_count += 1 - - return (input_count, output_count) - - -def run_check_seq(keep_all: bool, - expected: int, - herd: MooseHerd, - dir_manager: DirectoryManager, - sweep_vars: list[list[dict | None]]) -> None: - - herd.set_keep_flag(keep_all) - herd.set_num_para_sims(NUM_PARA) - - herd.run_sequential(sweep_vars) - check_run_sweep(herd, dir_manager, run_call = 1) - check_input_output_count_sequential(herd, dir_manager, run_call = 1) - - herd.run_sequential(sweep_vars) - check_run_sweep(herd, dir_manager, run_call = expected) - check_input_output_count_sequential(herd, dir_manager, run_call = expected) - - -def run_check_para(keep_all: bool, - herd: MooseHerd, - dir_manager: DirectoryManager, - sweep_vars: list[list[dict | None]]) -> None: - herd.set_keep_flag(keep_all) - herd.set_num_para_sims(NUM_PARA) - - for rr in range(NUM_CALLS): - if keep_all: - run_check = rr+1 - else: - run_check = 1 - - herd.run_para(sweep_vars) - check_run_sweep(herd, dir_manager, run_check) - check_input_output_count_para(herd, dir_manager, run_check) - -def debug_print(to_print: Any) -> None: - print() - print('-'*80) - pprint(to_print) - print('-'*80) - print() - diff --git a/dependencies/mooseherder/tests/inputmodifier_gmsh_test.py b/dependencies/mooseherder/tests/inputmodifier_gmsh_test.py deleted file mode 100644 index 3ffe17b9..00000000 --- a/dependencies/mooseherder/tests/inputmodifier_gmsh_test.py +++ /dev/null @@ -1,101 +0,0 @@ -''' -============================================================================== -TEST: InputModifier with Gmsh - -Authors: Lloyd Fletcher -============================================================================== -''' -import os -from pathlib import Path -import pytest -from mooseherder.inputmodifier import InputModifier - - -@pytest.fixture -def gmsh_mod(): - input_file = Path('tests/gmsh/gmsh-test.geo') - return InputModifier(input_file,'//',';') - - -@pytest.fixture(autouse=True) -def setup_teardown_gmsh(): - # Setup here - yield - # Teardown here - remove output files - test_dir = 'tests/gmsh/' - all_files = os.listdir(test_dir) - for ff in all_files: - if '-mod' in ff: - os.remove(test_dir + ff) - - -def test_gmsh_find_vars(gmsh_mod): - gmsh_mod.find_vars() - assert gmsh_mod._var_start_ind == 11 - assert gmsh_mod._var_end_ind == 17 - - -def test_gmsh_read_vars(gmsh_mod): - gmsh_mod.read_vars() - assert gmsh_mod._vars == {'p0': 0.0015, - 'p1': 0.001, - 'p2': 0.0012, - 'filename': '"gmsh-test.msh"'} - - -def test_gmsh_get_vars(gmsh_mod): - assert gmsh_mod.get_vars() == {'p0': 0.0015, - 'p1': 0.001, - 'p2': 0.0012, - 'filename': '"gmsh-test.msh"'} - -def test_gmsh_update_vars(gmsh_mod): - new_vars = {'p1': 0.0009, - 'p2': 0.001} - gmsh_mod.update_vars(new_vars) - assert gmsh_mod._vars == {'p0': 0.0015, - 'p1': 0.0009, - 'p2': 0.001, - 'filename': '"gmsh-test.msh"'} - - -def test_gmsh_update_vars_error(gmsh_mod): - new_vars = {'p1': 0.0009, - 'p7': 0.001} - with pytest.raises(KeyError) as errinfo: - gmsh_mod.update_vars(new_vars) - msg, = errinfo.value.args - assert msg == "Key p7 does not exist in the variables found in the input file. Check input file to make sure the variable exists." - - -def test_gmsh_write_file(gmsh_mod): - new_vars = {'p1': 0.0009, - 'p2': 0.001} - gmsh_mod.update_vars(new_vars) - - mod_file = Path('tests/gmsh/gmsh_vartest-mod.geo') - gmsh_mod.write_file(mod_file) - assert os.path.isfile(mod_file) - - gmsh_mod_check = InputModifier(mod_file,'//',';') - assert gmsh_mod_check._vars == {'p0': 0.0015, - 'p1': 0.0009, - 'p2': 0.001, - 'filename': '"gmsh-test.msh"'} - - -@pytest.mark.parametrize( - ('input_str','expected'), - ( - pytest.param('',('','',''),id='Degenerate blank case'), - pytest.param('x1 = 1;',('x1',1.0,''),id='Variable only, int case'), - pytest.param('x2 = 100.0;',('x2',100.0,''),id='Variable only, float case'), - pytest.param('x3 = 1e3;',('x3',1000.0,''),id='Variable only, exponential case'), - pytest.param('order = SECOND;',('order','SECOND',''),id='Variable only, string case'), - pytest.param('x=10; // comment',('x',10.0,' comment'),id='Numeric variable and comment case'), - pytest.param('// comment',('','',' comment'),id='Comment only case'), - ) -) -def test_extract_var_str_gmsh(input_str,expected,gmsh_mod): - ext_strs = gmsh_mod._extract_var_str(input_str) - assert ext_strs == expected diff --git a/dependencies/mooseherder/tests/inputmodifier_moose_test.py b/dependencies/mooseherder/tests/inputmodifier_moose_test.py deleted file mode 100644 index 74ab52ec..00000000 --- a/dependencies/mooseherder/tests/inputmodifier_moose_test.py +++ /dev/null @@ -1,177 +0,0 @@ -""" -============================================================================== -TEST: InputModifier with MOOSE - -Authors: Lloyd Fletcher -============================================================================== -""" -import os -from pathlib import Path -import pytest -from mooseherder.inputmodifier import InputModifier - - -@pytest.fixture -def moose_mod() -> InputModifier: - input_file = Path("tests/moose/moose-test.i") - return InputModifier(input_file, "#", "") - - -@pytest.fixture(autouse=True) -def setup_teardown_moose(): - # Setup here - yield - # Teardown here - remove output files - test_dir = Path("tests/moose/") - all_files = os.listdir(test_dir) - for ff in all_files: - if "-mod" in ff: - os.remove(test_dir / ff) - - -def test_moose_find_vars(moose_mod: InputModifier) -> None: - moose_mod.find_vars() - assert moose_mod._var_start_ind == 3 - assert moose_mod._var_end_ind == 14 - - -def test_moose_read_vars(moose_mod: InputModifier) -> None: - moose_mod.read_vars() - assert moose_mod._vars == { - "n_elem_x": 20, - "n_elem_y": 10, - "e_modulus": 1000000000.0, - "p_ratio": 0.3, - "e_type": "QUAD4", - "add_vars": "true", - "y_max": 1.0, - "x_max": "${fparse 2*y_max}", - } - - -def test_moose_get_vars(moose_mod: InputModifier) -> None: - assert moose_mod.get_vars() == { - "n_elem_x": 20, - "n_elem_y": 10, - "e_modulus": 1000000000.0, - "p_ratio": 0.3, - "e_type": "QUAD4", - "add_vars": "true", - "y_max": 1.0, - "x_max": "${fparse 2*y_max}", - } - - -def test_moose_update_vars(moose_mod: InputModifier): - # Changes number of y elements, elastic modulus and element type - # Does not change add_vars or other variables - new_vars = {"n_elem_y": 25, "e_modulus": 2e9, "e_type": "QUAD8", "add_vars": "true"} - moose_mod.update_vars(new_vars) - assert moose_mod._vars == { - "n_elem_x": 20, - "n_elem_y": 25, - "e_modulus": 2e9, - "p_ratio": 0.3, - "e_type": "QUAD8", - "add_vars": "true", - "y_max": 1.0, - "x_max": "${fparse 2*y_max}", - } - - -def test_moose_update_vars_error(moose_mod: InputModifier): - new_vars = {"n_elem_y": 25, "n_elem_z": 50} - - with pytest.raises(KeyError) as err_info: - moose_mod.update_vars(new_vars) - - (msg,) = err_info.value.args - assert ( - msg - == "Key n_elem_z does not exist in the variables found in the input file." - + " Check input file to make sure the variable exists." - ) - - -def test_moose_write_file(moose_mod: InputModifier) -> None: - new_vars = {"n_elem_y": 25, "e_modulus": 2e9, "e_type": "QUAD8"} - moose_mod.update_vars(new_vars) - - mod_file = Path("tests/moose/moose-test-mod.i") - moose_mod.write_file(mod_file) - assert os.path.isfile(mod_file) - - moose_mod_check = InputModifier(mod_file, "#", "") - assert moose_mod_check._vars == { - "n_elem_x": 20, - "n_elem_y": 25, - "e_modulus": 2e9, - "p_ratio": 0.3, - "e_type": "QUAD8", - "add_vars": "true", - "y_max": 1.0, - "x_max": "${fparse 2*y_max}", - } - - -def test_moose_get_var_keys(moose_mod: InputModifier): - assert moose_mod.get_var_keys() == [ - "n_elem_x", - "n_elem_y", - "e_modulus", - "p_ratio", - "e_type", - "add_vars", - "y_max", - "x_max", - ] - - -def test_moose_get_input_file(moose_mod: InputModifier): - assert moose_mod.get_input_file() == Path("tests/moose/moose-test.i") - - -@pytest.mark.parametrize( - ("input_str", "expected"), - ( - pytest.param("", ("", "", ""), id="Degenerate blank case"), - pytest.param("\t \n", ("", "", ""), id="Degenerate whitespace case"), - pytest.param("x1 = 1", ("x1", 1.0, ""), id="Variable only, int case"), - pytest.param("x2 = 100.0", ("x2", 100.0, ""), id="Variable only, float case"), - pytest.param( - "x3 = 1e3", ("x3", 1000.0, ""), id="Variable only, exponential case" - ), - pytest.param( - "order = SECOND", ("order", "SECOND", ""), id="Variable only, string case" - ), - pytest.param( - "x=10 # comment", - ("x", 10.0, " comment"), - id="Numeric variable and comment case", - ), - pytest.param( - "fun = $fparse{2*x}", - ("fun", "$fparse{2*x}", ""), - id="String variable, no commentcase", - ), - pytest.param( - "fun = $fparse{2*x} # comment", - ("fun", "$fparse{2*x}", " comment"), - id="String variable and comment case", - ), - pytest.param( - "fun = ${fparse 2*x}", - ("fun", "${fparse 2*x}", ""), - id="String variable, no comment case, retain whitespace for fparse", - ), - pytest.param( - "fun = ${fparse 2*x} # comment", - ("fun", "${fparse 2*x}", " comment"), - id="String variable and comment case, retain whitespace for fparse", - ), - pytest.param("# comment", ("", "", " comment"), id="Comment only case"), - ), -) -def test_extract_var_str_moose(input_str, expected, moose_mod): - ext_strs = moose_mod._extract_var_str(input_str) - assert ext_strs == expected diff --git a/dependencies/mooseherder/tests/moose/moose-test-broken.i b/dependencies/mooseherder/tests/moose/moose-test-broken.i deleted file mode 100644 index f3005ba4..00000000 --- a/dependencies/mooseherder/tests/moose/moose-test-broken.i +++ /dev/null @@ -1,94 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -n_elem_x = 40 # Putting this variable outside the block to test - -#_* Variables Block -# n_elem_x = 50 putting an equals sign here to test -# n_elem_y = 20 # Testing comments in the variables block, this line is broken -e_modulus = 1e9 -# Comment line to test -p_ratio = 0.3# Another comment to test with -# The next variables test strings -e_type = QUAD4 -add_vars = true -y_max = 1 -x_max = ${fparse 2*y_max} -#** - -# Another variable outside the block to test -spatial_dims = 2 - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${spatial_dims} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = ${x_max} - ymax = ${y_max} - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = ${add_vars} - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = 5 - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/moose/moose-test-gmsh.i b/dependencies/mooseherder/tests/moose/moose-test-gmsh.i deleted file mode 100644 index 6183bf97..00000000 --- a/dependencies/mooseherder/tests/moose/moose-test-gmsh.i +++ /dev/null @@ -1,73 +0,0 @@ -#_* Variables -e_modulus = 1e9 -p_ratio = 0.3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - type = FileMesh - file = 'gmsh-test.msh' -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_zz' - [] -[] - -[BCs] - [./u_top_pull] - type = Pressure - variable = disp_y - boundary = Top-BC - function = -1e7*t - [../] - [./u_bottom_fix] - type = DirichletBC - variable = disp_y - boundary = Btm-BC - value = 0.0 - [../] - [./u_yz_fix] - type = DirichletBC - variable = disp_x - boundary = Mid-BC - value = 0.0 - [../] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - #type = ComputeFiniteStrainElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = 2 - dt = 1 -[] - - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/moose/moose-test.i b/dependencies/mooseherder/tests/moose/moose-test.i deleted file mode 100644 index 93020cb1..00000000 --- a/dependencies/mooseherder/tests/moose/moose-test.i +++ /dev/null @@ -1,94 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -spatial_dims = 2 - -#_* Variables Block -n_elem_x = 20 # putting an equals sign here to test -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 1e9 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -# The next variables test strings -e_type = QUAD4 -add_vars = true -y_max = 1 -x_max = ${fparse 2*y_max} -#** End Variable Block - -# Another variable outside the block to test -time_end = 2 - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${spatial_dims} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = ${x_max} - ymax = ${y_max} - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = ${add_vars} - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] diff --git a/dependencies/mooseherder/tests/mooseconfig_test.py b/dependencies/mooseherder/tests/mooseconfig_test.py deleted file mode 100644 index d2ba8dd5..00000000 --- a/dependencies/mooseherder/tests/mooseconfig_test.py +++ /dev/null @@ -1,160 +0,0 @@ -''' -============================================================================== -TEST: MooseConfig - -Authors: Lloyd Fletcher -============================================================================== -''' -import os -from pathlib import Path -import pytest -from mooseherder.mooseconfig import MooseConfig, MooseConfigError -import tests.herdchecker as hc - - -@pytest.fixture -def config_dict() -> dict[str, Path | str]: - return {'main_path': hc.MOOSE_PATH, - 'app_path': hc.MOOSE_APP_PATH, - 'app_name': hc.MOOSE_APP_NAME} - - -@pytest.fixture -def config_dict_str() -> dict[str,str]: - return {'main_path': str(hc.MOOSE_PATH), - 'app_path': str(hc.MOOSE_APP_PATH), - 'app_name': str(hc.MOOSE_APP_NAME)} - - -@pytest.fixture -def config_dict_broken_path() -> dict[str, Path | str]: - return {'main_path': Path().home() / 'no-exist', - 'app_path': Path().home() / 'no-exist', - 'app_name': 'broken-opt'} - - -@pytest.fixture -def config_dict_broken_key() -> dict[str, Path | str]: - return {'main_path': hc.MOOSE_PATH, - 'app_name': hc.MOOSE_APP_NAME} - - -@pytest.fixture -def config(config_dict: dict[str, Path | str]) -> MooseConfig: - return MooseConfig(config_dict) - - -def test_init_config_blank() -> None: - moose_config = MooseConfig() - assert moose_config is not None - - -def test_init_config(config: MooseConfig) -> None: - assert config is not None - - -def test_init_config_key_err(config_dict_broken_key: dict[str, Path | str] - ) -> None: - with pytest.raises(MooseConfigError) as err_info: - moose_config = MooseConfig(config_dict_broken_key) - - (msg,) = err_info.value.args - assert msg == "Config dictionary must contain all keys: ['main_path', 'app_path', 'app_name']" - - -def test_init_config_path_err(config_dict_broken_path: dict[str, Path | str] - ) -> None: - with pytest.raises(MooseConfigError) as err_info: - moose_config = MooseConfig(config_dict_broken_path) - - (msg,) = err_info.value.args - assert msg == "Main path to MOOSE does not exist. Check path at key 'main_path'." - - -def test_get_config(config: MooseConfig, - config_dict: dict[str, Path | str]) -> None: - check_config = config.get_config() - assert check_config == config_dict - - -def test_blank_config_get_err() -> None: - moose_config = MooseConfig() - - with pytest.raises(MooseConfigError) as err_info: - check_config = moose_config.get_config() - - (msg,) = err_info.value.args - assert msg == 'Config dictionary must be initialised, load config file first.' - - -def test_convert_path_to_str(config_dict: dict[str, Path | str], - config_dict_str: dict[str, str]) -> None: - conv_config = MooseConfig().convert_path_to_str(config_dict) - assert conv_config == config_dict_str - - -def test_convert_path_to_str_blank() -> None: - conv_config = MooseConfig().convert_path_to_str(None) - assert conv_config is None - - -def test_convert_str_to_path(config_dict: dict[str, Path | str], - config_dict_str: dict[str, str]) -> None: - conv_config = MooseConfig().convert_str_to_path(config_dict_str) - assert conv_config == config_dict - - -def test_convert_str_to_path_blank() -> None: - conv_config = MooseConfig().convert_str_to_path(None) - assert conv_config is None - - -def test_save_config(config: MooseConfig) -> None: - save_path = Path('tests/config/moose-config.json') - config.save_config(save_path) - assert save_path.is_file() - os.remove(save_path) - - -def test_save_config_parent_dir_err(config: MooseConfig) -> None: - save_path = Path('tests/no-exist/moose-config.json') - with pytest.raises(MooseConfigError) as err_info: - config.save_config(save_path) - - (msg,) = err_info.value.args - assert msg == 'Parent path to save config file does not exist.' - - -def test_read_config(config_dict: dict[str, Path | str]) -> None: - read_path = Path().cwd() / 'moose-config.json' - read_config = MooseConfig().read_config(read_path) - assert read_config.get_config() == config_dict - - -def test_read_config_exist_err() -> None: - read_path = Path('tests/no-exist/moose-config-no-exist.json') - with pytest.raises(MooseConfigError) as err_info: - read_config = MooseConfig().read_config(read_path) - - (msg,) = err_info.value.args - assert msg == 'MOOSE config file does not exist at: tests/no-exist/moose-config-no-exist.json.' - - -def test_read_config_key_err() -> None: - read_path = Path('tests/config/moose-config-break-key.json') - - with pytest.raises(MooseConfigError) as err_info: - read_config = MooseConfig().read_config(read_path) - - (msg,) = err_info.value.args - assert msg == "Config dictionary must contain all keys: ['main_path', 'app_path', 'app_name']" - - -def test_read_config_path_err() -> None: - read_path = Path('tests/config/moose-config-break-path.json') - - with pytest.raises(MooseConfigError) as err_info: - read_config = MooseConfig().read_config(read_path) - - (msg,) = err_info.value.args - assert msg == "Main path to MOOSE does not exist. Check path at key 'main_path'." diff --git a/dependencies/mooseherder/tests/mooseherd_test.py b/dependencies/mooseherder/tests/mooseherd_test.py deleted file mode 100644 index 291d270c..00000000 --- a/dependencies/mooseherder/tests/mooseherd_test.py +++ /dev/null @@ -1,319 +0,0 @@ -''' -============================================================================== -TEST: MooseHerd Tests - -Authors: Lloyd Fletcher -============================================================================== -''' -import os -import pytest -from pytest import MonkeyPatch -from mooseherder.mooseherd import MooseHerd -from mooseherder.directorymanager import DirectoryManager -import tests.herdchecker as hct - - -@pytest.fixture -def dir_manager() -> DirectoryManager: - return DirectoryManager(hct.NUM_DIRS) - - -@pytest.fixture() -def herd_blank() -> MooseHerd: - (moose_runner,moose_modifier) = hct.create_moose_objs(hct.MOOSE_INPUT) - blank_manager = DirectoryManager(hct.NUM_DIRS) - return MooseHerd([moose_runner],[moose_modifier],blank_manager) - - -@pytest.fixture() -def herd(dir_manager) -> MooseHerd: - (moose_runner,moose_modifier) = hct.create_moose_objs(hct.MOOSE_INPUT) - return MooseHerd([moose_runner],[moose_modifier],dir_manager) - - -@pytest.fixture() -def herd_gmsh(dir_manager) -> MooseHerd: - (moose_runner,moose_modifier) = hct.create_moose_objs(hct.MOOSE_INPUT) - (gmsh_runner,gmsh_modifier) = hct.create_gmsh_objs(hct.GMSH_INPUT) - - runners = [gmsh_runner,moose_runner] - modifiers = [gmsh_modifier,moose_modifier] - - return MooseHerd(runners,modifiers,dir_manager) - - -@pytest.fixture(autouse=True) -def setup_teardown(dir_manager): - # Setup here - dir_manager.set_base_dir(hct.BASE_DIR) - dir_manager.create_dirs() - yield - # Teardown here - dir_manager.clear_dirs() - - -@pytest.fixture() -def moose_sweep() -> list[list[dict]]: - e_mod = [1e9,2e9] - p_rat = [0.3,0.35] - - moose_vars = list([]) - for ee in e_mod: - for pp in p_rat: - moose_vars.append([{'e_modulus':ee,'p_ratio':pp}]) - - return moose_vars - - -@pytest.fixture() -def moose_sweep_seq() -> list[list[dict]]: - e_mod = [1e9] - p_rat = [0.3,0.35] - - moose_vars = list() - for ee in e_mod: - for pp in p_rat: - moose_vars.append([{'e_modulus':ee,'p_ratio':pp}]) - - return moose_vars - - -@pytest.fixture() -def gmsh_sweep() -> list[list[dict | None]]: - p0 = [1E-3,1.1E-3] - p1 = [1.5E-3,2E-3] - - gmsh_vars = list() - for ii in p0: - for jj in p1: - gmsh_vars.append([{'p0':ii ,'p1':jj},None]) - - return gmsh_vars - - -@pytest.fixture() -def gmsh_sweep_seq() -> list[list[dict | None]]: - p0 = [1E-3,] - p1 = [1.5E-3,2E-3] - - gmsh_vars = list() - for ii in p0: - for jj in p1: - gmsh_vars.append([{'p0':ii ,'p1':jj},None]) - - return gmsh_vars - - -def test_create_herd_blank(herd_blank: MooseHerd) -> None: - assert herd_blank is not None - - -def test_create_herd(herd: MooseHerd) -> None: - assert herd is not None - - -def test_create_herd_gmsh(herd_gmsh: MooseHerd) -> None: - assert herd_gmsh is not None - - -def test_set_input_copy_names(herd: MooseHerd) -> None: - new_names = ['sim-name'] - herd.set_input_copy_names(new_names) - assert herd._input_names == new_names - - herd.set_input_copy_names() - assert herd._input_names == ['sim-1'] - - -def test_set_keep_flag(herd: MooseHerd) -> None: - herd.set_keep_flag(True) - assert herd._keep_all == True - - herd.set_keep_flag(False) - assert herd._keep_all == False - - herd.set_keep_flag() - assert herd._keep_all == True - - -@pytest.mark.parametrize( - ('n_para','expected'), - ( - (0, 1), - (-1,1), - (2.5,2), - (os.cpu_count()+1,os.cpu_count()) # type: ignore - ) -) -def test_set_num_para_sims(n_para: int, expected: int, herd: MooseHerd): - herd.set_num_para_sims(n_para) - assert herd._n_para_sims == expected - - -@pytest.mark.parametrize( - ('process','expected'), - ( - ('MainProcess', '1'), - ('process-1','1'), - ('process-2','2'), - ('process-3','2'), - ('process-4','1'), - ) -) -def test_get_worker_num(process: str, - expected: str, - monkeypatch, - herd: MooseHerd) -> None: - monkeypatch.setattr(MooseHerd,'_get_process_name',lambda _: process) - worker_num = herd._get_worker_num() - assert worker_num == expected - - -@pytest.mark.parametrize( - ('sim_iter','worker_num','keep_all','expected'), - ( - (0,'1',False, '1'), - (4,'2',False, '2'), - (10,'3',False, '3'), - (0,'1',True, '1'), - (1,'2',True, '2'), - (3,'5',True, '4'), - ) -) -def test_get_run_num(sim_iter: int, - worker_num: str, - keep_all: bool, - expected: str, - herd: MooseHerd) -> None: - herd.set_num_para_sims(hct.NUM_PARA) - herd.set_keep_flag(keep_all) - run_num = herd._get_run_num(sim_iter,worker_num) - assert run_num == expected - - -@pytest.mark.parametrize( - ('sim_iter','worker_num'), - ( - (0,'1'), - (8,'4'), - ) -) -def test_run_once_moose_only(sim_iter: int, - worker_num: str, - herd: MooseHerd, - moose_sweep: list[list[dict]], - monkeypatch): - # Force the process number to be not the main process - monkeypatch.setattr(MooseHerd, '_get_worker_num', lambda _: worker_num) - - herd.set_num_para_sims(hct.NUM_PARA) - - output_paths = herd.run_once(sim_iter,moose_sweep[0]) # type: ignore - - worker_path = output_paths[0].parent # type: ignore - stdout_file = worker_path / 'stdout.processor.0' # type: ignore - - assert output_paths[0].is_file(), 'Output exodus does not exist, MOOSE run failed.' # type: ignore - assert stdout_file.is_file(), 'stdout file does not exist, MOOSE run failed or redirect flag set incorrectly.' - assert hct.check_solve_converged(stdout_file), 'MOOSE run did not converge, check stdout file.' - assert herd._iter_run_time >= 0, 'Iteration run time is less than 0' - - -@pytest.mark.parametrize( - ('sim_iter','worker_num'), - ( - (0,'1'), - (8,'4'), - ) -) -def test_run_once_with_gmsh(sim_iter: int, - worker_num: str, - herd_gmsh: MooseHerd, - gmsh_sweep: list[list[dict]], - monkeypatch): - # Force the process number to be not the main process - monkeypatch.setattr(MooseHerd, '_get_worker_num', lambda _: worker_num) - - herd_gmsh.set_num_para_sims(hct.NUM_PARA) - - output_paths = herd_gmsh.run_once(sim_iter,gmsh_sweep[0]) # type: ignore - - worker_path = output_paths[1].parent # type: ignore - stdout_file = worker_path / 'stdout.processor.0' # type: ignore - - assert (worker_path / 'gmsh-test.msh').is_file(), 'Gmsh mesh was not created.' - assert output_paths[1].is_file(), 'Output exodus does not exist, MOOSE run failed.' # type: ignore - assert stdout_file.is_file(), 'stdout file does not exist, MOOSE run failed or redirect flag set incorrectly.' - assert hct.check_solve_converged(stdout_file), 'MOOSE run did not converge, check stdout file.' - assert herd_gmsh._iter_run_time >= 0, 'Iteration run time is less than 0' - - -@pytest.mark.parametrize( - ('keep_all', 'expected'), - ( - (True, 2), - (False, 1), - ) -) -def test_run_sequential_moose_only(keep_all: bool, - expected: int, - herd: MooseHerd, - dir_manager: DirectoryManager, - moose_sweep_seq: list[list[dict | None]]): - hct.run_check_seq(keep_all, - expected, - herd, - dir_manager, - moose_sweep_seq) - -@pytest.mark.parametrize( - ('keep_all', 'expected'), - ( - (True, 2), - (False, 1), - ) -) -def test_run_sequential_with_gmsh(keep_all: bool, - expected: int, - herd_gmsh: MooseHerd, - dir_manager: DirectoryManager, - gmsh_sweep_seq: list[list[dict | None]]): - hct.run_check_seq(keep_all, - expected, - herd_gmsh, - dir_manager, - gmsh_sweep_seq) - - -@pytest.mark.parametrize( - ('keep_all',), - ( - (True,), - (False,), - ) -) -def test_run_para_moose_only(keep_all: bool, - herd: MooseHerd, - dir_manager: DirectoryManager, - moose_sweep: list[list[dict | None]]): - hct.run_check_para(keep_all, - herd, - dir_manager, - moose_sweep) - -@pytest.mark.parametrize( - ('keep_all',), - ( - (True,), - (False,), - ) -) -def test_run_para_with_gmsh(keep_all: bool, - herd_gmsh: MooseHerd, - dir_manager: DirectoryManager, - gmsh_sweep: list[list[dict | None]]): - hct.run_check_para(keep_all, - herd_gmsh, - dir_manager, - gmsh_sweep) - diff --git a/dependencies/mooseherder/tests/mooserunner_test.py b/dependencies/mooseherder/tests/mooserunner_test.py deleted file mode 100644 index 25b9dced..00000000 --- a/dependencies/mooseherder/tests/mooserunner_test.py +++ /dev/null @@ -1,233 +0,0 @@ -''' -============================================================================== -TEST: MooseRunner - -Authors: Lloyd Fletcher -============================================================================== -''' - -import os -from pathlib import Path -import pytest -from mooseherder.mooserunner import MooseRunner -import tests.herdchecker as hc - - -@pytest.fixture() -def runner() -> MooseRunner: - moose_config = hc.create_moose_config() - return MooseRunner(moose_config) - -@pytest.fixture() -def input_path() -> Path: - return Path('tests/moose/moose-test.i') - -@pytest.fixture() -def input_noexist() -> Path: - return Path('tests/moose/moose-test-noexist.i') - -@pytest.fixture() -def input_broken() -> Path: - return Path('tests/moose/moose-test-broken.i') - -@pytest.fixture() -def input_runner(input_path: Path) -> MooseRunner: - moose_config = hc.create_moose_config() - my_runner = MooseRunner(moose_config) - my_runner.set_input_file(input_path) - return my_runner - -@pytest.fixture(autouse=True) -def setup_teardown(input_runner: MooseRunner): - # Setup here - yield - # Teardown here - remove output exodus files - moose_files = os.listdir(input_runner.get_input_dir()) - for ff in moose_files: - if '.e' in ff: - os.remove(input_runner.get_input_dir() / ff) # type: ignore - - stdout_files = os.listdir(input_runner.get_input_dir()) - for ff in stdout_files: - if 'stdout.processor' in ff: - os.remove(input_runner.get_input_dir() / ff) # type: ignore - -def test_set_env_vars(runner: MooseRunner) -> None: - runner.set_env_vars() - assert os.environ['CC'] == 'mpicc' - assert os.environ['CXX'] == 'mpicxx' - assert os.environ['F90'] == 'mpif90' - assert os.environ['F77'] == 'mpif77' - assert os.environ['FC'] == 'mpif90' - assert os.environ['MOOSE_DIR'] == str(runner._config['main_path']) - -@pytest.mark.parametrize( - ('n_threads','expected'), - ( - (0, 1), - (-1,1), - (2.5,2), - (os.cpu_count()+1,os.cpu_count()) # type: ignore - ) -) -def test_set_threads(n_threads: int,expected: int ,runner: MooseRunner) -> None: - runner.set_threads(n_threads) - assert runner._n_threads == expected - -@pytest.mark.parametrize( - ('n_tasks','expected'), - ( - (0, 1), - (-1,1), - (2.5,2), - (os.cpu_count()+1,os.cpu_count()) # type: ignore - ) -) -def test_set_tasks(n_tasks: int, expected: int, runner: MooseRunner): - runner.set_tasks(n_tasks) - assert runner._n_tasks == expected - - -@pytest.mark.parametrize( - ('in_flag','expected'), - ( - (True,True), - (False,False) - ) -) -def test_set_stdout(in_flag: bool, expected: bool, runner: MooseRunner): - runner.set_stdout(in_flag) - assert runner._redirect_stdout == expected - - -def test_set_input_file(runner: MooseRunner, input_path: Path) -> None: - runner.set_input_file(input_path) - - assert runner._input_path == input_path - - -def test_set_input_file_err(runner: MooseRunner) -> None: - with pytest.raises(FileNotFoundError) as err_info: - new_input = Path('tests/moose/moose-test-noexist.i') - runner.set_input_file(new_input) - - msg, = err_info.value.args - assert msg == 'Input file does not exist.' - - -def test_get_input_strs(runner: MooseRunner, input_runner: MooseRunner) -> None: - assert runner.get_input_dir() is None - assert runner.get_input_tag() == '' - assert input_runner.get_input_dir() == Path('tests/moose/') - assert input_runner.get_input_tag() == 'moose-test' - - -def test_get_output_path(runner: MooseRunner,input_runner: MooseRunner): - assert runner.get_output_path() is None - assert input_runner.get_output_path() == Path('tests/moose/moose-test_out.e') - - -@pytest.mark.parametrize( - ('opts','expected'), - ( - ((1,1,False), ['proteus-opt','--n-threads=1','-i','moose-test.i']), - ((1,2,False), ['proteus-opt','--n-threads=2','-i','moose-test.i']), - ((1,2,True), ['proteus-opt','--n-threads=2','-i','moose-test.i','--redirect-stdout']), - ((2,2,False), ['mpirun','-np','2','proteus-opt','--n-threads=2','-i','moose-test.i']), - ((2,2,True), ['mpirun','-np','2','proteus-opt','--n-threads=2','-i','moose-test.i','--redirect-stdout']), - ) -) -def test_assemble_arg_list(opts: tuple[int,int,bool], - expected: str, - input_runner: MooseRunner) -> None: - input_runner.set_run_opts(opts[0],opts[1],opts[2]) - assert input_runner.assemble_arg_list() == expected - - -@pytest.mark.parametrize( - ('opts','expected'), - ( - ((1,1,False), ['proteus-opt','--n-threads=1','-i','moose-test.i']), - ((1,2,False), ['proteus-opt','--n-threads=2','-i','moose-test.i']), - ((1,2,True), ['proteus-opt','--n-threads=2','-i','moose-test.i','--redirect-stdout']), - ((2,2,False), ['mpirun','-np','2','proteus-opt','--n-threads=2','-i','moose-test.i']), - ((2,2,True), ['mpirun','-np','2','proteus-opt','--n-threads=2','-i','moose-test.i','--redirect-stdout']), - ) -) -def test_assemble_arg_list_with_input(opts: tuple[int,int,bool], - expected: str, - runner: MooseRunner, - input_path: Path) -> None: - runner.set_run_opts(opts[0],opts[1],opts[2]) - assert runner.assemble_arg_list(input_path) == expected - - -def test_assemble_arg_list_err(runner: MooseRunner) -> None: - with pytest.raises(RuntimeError) as err_info: - runner.assemble_arg_list() - - msg, = err_info.value.args - assert msg == 'No input file specified, set one using set_input_file or by passing on into this function.' - - -def test_assemble_arg_list_err_with_input(runner: MooseRunner, - input_noexist: Path) -> None: - with pytest.raises(FileNotFoundError) as err_info: - runner.assemble_arg_list(input_noexist) - - msg, = err_info.value.args - assert msg == 'Input file does not exist.' - - -@pytest.mark.parametrize( - ('opts','stdout_exist'), - ( - ((1,1,False), (False,False)), - ((1,4,False), (False,False)), - ((1,4,True), (True,False)), - ((2,4,False), (False,False)), - ((2,4,True), (True,True)), - ) -) -def test_run(opts: tuple[int,int,bool], - stdout_exist: tuple[bool,bool], - input_runner: MooseRunner) -> None: - input_runner.set_run_opts(opts[0],opts[1],opts[2]) - input_runner.run() - - assert os.path.isfile(input_runner.get_output_path()) is True, 'No exodus output.' # type: ignore - assert os.path.isfile(input_runner.get_input_dir() / 'stdout.processor.0') == stdout_exist[0], 'stdout.processor.0 does not exist.' # type: ignore - assert os.path.isfile(input_runner.get_input_dir() / 'stdout.processor.1') == stdout_exist[1], 'stdout.processor.1 does not exist.' # type: ignore - if opts[2]: # If there is a stdout it can be read to check for convergence - check_path = input_runner.get_input_dir() / 'stdout.processor.0' # type: ignore - assert hc.check_solve_converged(check_path) >= 1, 'Solve has not converged.' - - -def test_run_broken(runner: MooseRunner, input_broken: Path) -> None: - runner.set_run_opts(1,4,True) - runner.run(input_broken) - - stdout_file = runner.get_input_dir() / 'stdout.processor.0' # type: ignore - - assert os.path.isfile(runner.get_output_path()) is False # type: ignore - assert os.path.isfile(stdout_file) is True # type: ignore - - assert hc.check_solve_error(stdout_file) >= 1, 'Error string not found in stdout' - assert hc.check_solve_converged(stdout_file) == 0, 'Solve converged when it should have errored' - - -def test_run_noexist(runner: MooseRunner, input_noexist: Path) -> None: - with pytest.raises(FileNotFoundError) as err_info: - runner.run(input_noexist) - - msg, = err_info.value.args - assert msg == 'Input file does not exist.' - - -def test_run_with_input(runner: MooseRunner, input_path: Path) -> None: - runner.set_run_opts(1,4,True) - runner.run(input_path) - - assert os.path.isfile(runner.get_output_path()) is True, 'Exodus output does not exist when solve should have run' # type: ignore - assert os.path.isfile(runner.get_input_dir() / 'stdout.processor.0') is True, 'Stdout does not exist when it should.' # type: ignore - assert hc.check_solve_converged(runner.get_input_dir() / 'stdout.processor.0') >= 1, 'Solve did not converge when it should have.' # type: ignore \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/moose-mech-outtest.i b/dependencies/mooseherder/tests/output/moose-mech-outtest.i deleted file mode 100644 index 0dbbc842..00000000 --- a/dependencies/mooseherder/tests/output/moose-mech-outtest.i +++ /dev/null @@ -1,136 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 2e9 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] - - [block1] - type = SubdomainBoundingBoxGenerator - input = generated - block_id = 1 - bottom_left = '0 0 0' - top_right = '1 1 0' - [] - [block2] - type = SubdomainBoundingBoxGenerator - input = block1 - block_id = 2 - bottom_left = '1 0 0' - top_right = '2 1 0' - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress stress_yy stress_xx stress_xy strain_xx strain_yy strain_xy strain_zz' - [] -[] - -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity1] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - block = 1 - [] - [elasticity2] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${fparse 0.25*e_modulus} - poissons_ratio = ${fparse 0.5*p_ratio} - block = 2 - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - solve_type = NEWTON - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - [./out] - type = Exodus - elemental_as_nodal = true - [../] - csv = true -[] - -[Postprocessors] - [./react_y] - type = SidesetReaction - direction = '0 1 0' - stress_tensor = stress - boundary = 'bottom' - [../] - [./max_y_disp] - type = NodalExtremeValue - variable = disp_y - [../] - [./max_yy_stress] - type = ElementExtremeValue - variable = stress_yy - [../] - [./avg_yy_stress] - type = ElementAverageValue - variable = stress_yy - [../] -[] - - diff --git a/dependencies/mooseherder/tests/output/moose-mech-outtest_out.e b/dependencies/mooseherder/tests/output/moose-mech-outtest_out.e deleted file mode 100644 index d79c15826bcd72fe70dccd1210633f8ddf0d8a48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 336948 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

9BaoIl%hmTUh*8GM~ytny^0PGPa`&OO8FH zYaX}!zx!SPJ^w@CKLq|m;6DWZL*PFI{zKqD1pY(dKLq|m;6DWZe;|PL-?NAmGI}C| zi)NIG_OS>n+f%wbr-n421-kzm_drJ1&r|TvR3d};1A)H>l*rWe{L$O$5@g(^d!Q;L zh)&!3dtDW{h|IP=U;G=agDiX33#geSkR^kT7SXrU=uD`dIVbpztge?9&2m;D8t@7z;5gueQ zG#7i7p$1t#BDT?c6oD*VJ7|87&mmK?tz{d|bfjYv+>o4kgw&XgKArC1MT&YygXirZ zB6;1sV-H6Pk=)frx`u&jB$qqlxe{7{fTaGsZ4R_*q?D z>wQ7QeycnC`|IyW;@f(Tgj_e`$i46BF5HSVR1~5D^vaMfLwDMIj2$xM8r(7+%10&! z2QMg73y@h@2`%q#7&7Pd53rTIicIBhv++I`Lk6d-m0d5_B3!!@9uhr`S9;~Oj;3%Y8`xh zEgXqBj#Hh@TCziwnNn^t`w2*}fRf9vJ{8eBd~PyHZbym>t4zV|?g-3ldy^?jB0Y`% z^~zWVWat$jJ$&2)85@5pF{z(I#?dLkw~2I+p?|J0Q8_Qty~;C`-Xep5ydvjCaT}z% zNfXjv&59IdLsfUsB$CBT+`RHw1WB{ZRz4B&K@yfChi+>*=p?L9m)tNg!fk(tvqNi7qxbf?ZL>DR3sSu0WMAU&XJ^pZG;LO{+FeJY1y^!uo zf|O4NOjd(Qq;2om+jSg6Iyg_+zkLNrkA#)TOehQK$vjHp@f1cn12s=&Pwyj~ivwQQ z;y2PTDzY08v_#4*L>2BHcqA90#J$pFf+RgAgv21_`wSRx$#vU^_C6NJslkKR%~fpqlOmm{~z5vKi#_{W>u zNc-GCzX-!TQnN4p8zFrhDJqAS3|UN|Q+)1ksap?`SpE~|rCJIkurvPI?}!p{ePXHl zJ3ozBJ;|nNJ5L~b($^-=ry3Cv{GFrztp>j;Yhge`FNq&^Nqfg1n}Vp`usz|ApT}>Z zvWq#Meu)3u-sKF>mq_M=)|jIB1ElPDU7Tuo1ZfHnYxo?KLf{{1JX_ZY!qwy(Q*ejaiCo2!vO zVni&_v0gClGonj;C7K?ZhDfzapW#3+ey8q$?Sm8*{!;*HR##6PzDvK*!|!h@B26{5 zzBjIeUnBkgSa!MzaS0XjBs|hX;?@i4iYM}r{O1rRJm(vv>VF{pBH0aTrU=}PX5>fO zo>e6Iq|r#LDsffGj|HilKWclkw2YL_OpF4eFX+_rwb@@=vPksYSDvBN^N3d>Ki&UP z9Ac3xadrs^h)6uYKJB&h$NxN#R3i*7@e5tk4~lFU@O@|7F^{WZ`0@*s zGHXZw@P8{Lf&KR|{6hAx*QE?$h~=+|DA8yD66VJ95wE5one|@gi&>LM@o~pYXJji< zBMlsUl*xxQviQE|yt{}rym<}^kRVdE>r7N>UPB5BbsDWNX^^BWar}#!NF-45_~dIo z2E=M(l*(ZmhmIx47S9gV;*S7n4b`0|_#GN2O2qOWzc78RH@G+qKS(qqd|q7^pL$mz z?qUo%?s^|%&D}9#{H~8#9@Pyg{G``!RfcLJME7b&^uVJE@zmzMAS>rUV&l=o$>a@4 z7K%5eg%J9OR+azTqO(Xf@K5S?SshY4))Za+H4iD9&^M^IpGLB~dp#E)^dZrc{;ju% z)X)i@$KS2RjnOgAe|IJw81TQFMFox9>G3NMa_OR{DEJ*Yv7mMzHC4Rf$wyYda-C-}s&E+rWbGaqr zdX%Zk`SJ_!sd`@)fBquDohP48h^ivO-FR**az=^>cfFL_y>IXcw`#x{cqnO!8-1sq z&%21n{aLR1)Ttng5jj-rkUP8Jerp#JSyOW0=VK-~2fXo!G2$onmliK1blk7}_n|kE z9E!Dp;RJqc(=X0W8%6@UhWl5RjSz9I-$NbaRNTHmMHhK(HAX55w*Q6r;(mWp)4A^& zj+^+ScA)od7eA8zhkB>fosf4F6-58s@$c$5e6v1o;oIlPYIdIA#8)J)u`iJkN}RCrq8 zGq;wMb0HNYy;gHXe<~BV$#f^I!!;FS-)&RT(DlKDX~xc-d8~m++Ky(}?B`>$Ja(>f z3aW%>=$bQ<#!fO_5;!OQ1!E}9d4}tm#P5ZvAdR><++5YiI18dmjE!oGtDa9~@naJ%hujsiv|W7bb8!pVE}FP7-1Kda;%H?%bG^2ZdMNL@%b8rzE%d z@GPcoUutaTAcAR&JNO$~XkuD^gXTDGH%!TiA)UuY0u!ZCefGME5##UD%p>F9(MEv%daayTVi2t*|S)}pH1L#z^Ek6Rctk;K!_%6%3Ok{2lBPrSE2cP(3Tynn_-Xg!SNrkH!&0e=udZRo;7Fw8_a@wiRYpNW zVk%*sKLRhLPhiT4@8zQ7{$M)&^;WWn+nA}@jg2-P3G9s4kEa3^2ADnD;j;ZZGt7lg zu(12zEzFhZeA?&J06ViFFW))-9+TZp%GZ|9MdH0UTZfAmkbHF8XUF3%NbX?wASCt- zk}$~;+sMB!+kV*72x%crQMn|T8N--k zG?(vM!yyIt4I6J=4$~ng_cs zX&7U2N1pXgSLKni(l_<0sU9THr*cS3hLB39C9xF|36dYNKp*N7k<_YFw|y|-oJY$= zEfFDuPV_AP`rOoj|J8wAAt52cSnjW7u<6~y1Zl@M;|`x)e0Eif8$Uu$Bi8oW z2fwBG@apf#J^UvQz4NoR?YO0F5}osVg&0YbzV*`PAjU*PCo|APzI{xrkZmiT3J9O;rh;nlo z6JoTHKil#Fhv?Ol)UGzxB2t&TA^D`g6XZ!bRn+qoG29YN z+OfpggKsU1`zB#Lt1YXSy7AsdGfas z@|9al^fk@CAQI}Z?HT{lfP`M%KAkbk#B#V^RG4{6dL5cA{dEwP3afWB=@dD}R3iFt8?SHm5Qfn+e0SFILfC<<9p)vv?o-41!XZsIV~H%;Pur}yx0{FPms zX7vywBUx`vwipr^kE9qYwnHa-M>DcMHX!kZWIh%zVIo-#_MtIJF8$M#!u8FO|NB#arevGhd>^Td4j3x z!_xxXmZopBZNpu}I5ltZ%!(5Uk9qoKi+n=T=Y;C5u8g2loZ5P*P7z5CV4F`WIFZPh zCrM|M58^`mSDHvo5ryo*rG()++=e&p{*-4MMl1Vi>B&udjA>6nbmPboW7PZAtZ(rP zBkf+2l8C#A+ht!j(I;WJxB!VF%pSy=RbK`;&xcy<8Rr~Vgh{M%>Hq$VXVMd{*D;KW&Wcw69^J z1{-#qY$B0S?g2*U$i1f!*3BZI@*>6hPsABAGgIGH09wv?U z3adD7VzLjqMew?m*s10y_8c`P?BuAMxBC1H#^KaVu{cMID4&zz4{219M9T9kPu=8@ zl9S3r^>Iz4a!9WxLz;?|=DX=bUn?Rxt&wz@vxIZq`7T+pCl3&71+P+QW+#5-x^KDV z)ILUXVanGg+Zm&)a=M#1@c^SOO>Vq>eG?kk5cV$xTxISeKpV*Hu!>Z)j&@%zTY*K({% zk)#mpJ3JnNREqw#eD+{N8bW6ETjiNZ^=aq8eTCadLFVp<2UXnYWRe$8Lc%&?KXFJk z(=~}-o08J;)1$^n_2P4OA9OX%_4hD^TAs%7EI&-4tMli{ObSePt7S<)#}5+$>}z~F zGq~4r5oTsV1Uz9TeNBisQfvK5-Me~(v=cKrcXln1M!AbleCH5ST=A=F@{&N}o%#V| z7x9Q)g!B3N&*}K(<8N+%e&>#nd6B|C&CLoO>0UhJ40E7{dRByg8M%wYY{6x>=kTNJc z&+{B1@wLRmQ!(y{HT}ooYkGJ5Xg6`&Q5G9UW>rGkvZRF3xoqQ$EpZslk)u<{&kBrq zecsWR*dO=v3gmcT5rhfZ&iw`MwHVuQbi~EDlb9^|zqxPH`RV30$X|?ht=?$FXx}}&^=w@k zqkdqu_o~_pBl^9%aXoDhx0^TpFrLB*<6n6@eP`h|#vEBPgxh+BNllXPw{_NI@^Ye9 zzbzCng@1L&zsGoC3cY&&^ji)w*$D}VmVGcm3&H6Gj*p0Qcc&(bkqT+fwsYhr^&q_j zNqcE66NGj5tkUc}M9Q~1${O;?kx0$u`LtgRN_+v7F`#W%vRONCT?#Hiu?LTf=80QD|gs+q52z;;?AnQnliTzQR zVpZC}PU!^RzL21f$<>n^ci!yBhnYFq($54z#|F#uL$bWP)R!Na1KL@v?$DYot zNQnDTeg*BQ3r6uTcHz#-21Y73^`Jmh8TYH_Qrfe3y|}d^0Vw0Ji7}CdkR{SFV#G0V zo|`7qm_Ue&hLKQCTTP8(J*#|Nz=_zD3>Z>QU{e||5W-g3DT#rE@876 zbH{J3?@S+&VhOXf%BC06e|+BNBi6CpIAdPg_3A#HZ6-AL01yPX@12Jh-WHU`vR8mTjQUNhQ z0Y#9zf4KK^|AqG*vng2Ju-pltf;<=X_rVdQCc_q-$oDw>Ns??s;x z`9!yf7^M7$@Q+X?hw>DTIQY{nhFzQtJ(W;2}9oJ7r`u#!T zzD#kwbOXS|FtJ*$Tm=R%cmsV$c=Rcj9fNY=2&d&#Sr`m^X z?|f0xk~=ODgpEuzew)dp>#TNR3Sayb(%E<7gbNMMc1|W0q%zYdbxwo)fiL`@ftqvo zp`};~ke{DZXZ`>{_URX1e|rNc8jV+QY76)}i@bjPJrsPG8-;DR6a$6H_PdgD8a_kzY9p5T)Ltbcr+!0e;N^!S)pp zz`fxl`AY$uvaSR*naP5a#l!pDzGdJVek#92a|v9nJ*53tmB2&gdqb^a7kH>OP=%8% z!E31adYgSJcr84y<)JGDUmw=By03%ao4J<@3pWMw=W@+cj!Z!QCuxNX1OQdO+zAsA z1FF$smWfgWpykixh;gm~4R<`iJbwlPBBg$m)-u2`6gbv1 zE+qlMc;bWXZ6OfOygRX^dJ@zE2I@+Q)YRMSd{&@ZC#5jlX{SxY-c+G1A}R(HjN-p2__?O?AGlSTaGU4fvf7}RF793 z;Nks7ILqW0csq85$lRC%GV4NUr^FkeI2IYVyxRn7jqK#0RX6zYso!C7^#K1+A?XJ$ zLE!&4*N&#>1zv+<`)I*E;336dc<$B_AZHv~KVaAcl&|yKCRt>F7VR|nRm>Lrjn2@Q z9U}ahdicgw`!EPmL3`>D9fXsbkLJuCgecMdPbd;v;2*f(!|YfSIB_15Ej1AbR}Y2a zI0ZNGI4!TUITQ@uWj-r^f|r53=e5biaettsFhu=Okpb$%_|F>=4dBP=^7GB$P4MRn zD7KV70RG7j+?T3rz{@)Fbp6GAa1S~usd3^lkYg5xC9^Go%9?H#a2o?!VFEqFw@={j zrYlSLB>@7DWjtOV*ajhrN^C<$JrFL_lA7Cm4x)JaEJLF9f`9O&Nc&|TaMIuqYh-o@ z*D}U~H$n};;{%Tsea{+r&&RhLpBe$O8;?5mRVz>`Ir8a3nt?i4vsLYu1khGb#PhsR z2fsI?xqIRi!C!1Bk!QRJyu{o}Uf*K__kF?s(^Eb`4i1>b<_CbvvpT%2Yy`A(6N;2? zmEi9>_NJrr8U!Ysew2AA07AAT`rK?Qhp^xOo@tSjAd1DN-!9-AvG43Hw{wQTDWGyg z-6sNEKgEsjNH+mb{fYadJayn>F}GY9J`3cmkx?s+Dxh>K?A?=}3Dn80S3A|2f%d^< zzO}9y{LWO<7yPjWzp)Lg;`Mg$+V|ym(HnYj&#ah{3p6L@sT3v^O#*2!_5d8A3eBWmu2)j4(O}By_A{R%4PHcS({^?tjxD@w- zQ+1{D!TBBFW}Inhidw+)no5^Qhc)=L1W-75p8~ldyv2B$87Lo`AMAJb2I_3p=rqd@ zpgn7IoW2?be!-#HdSidV@9LvreWg0^s@#r6%!z}?P7OZcXLLZ0n`v7UUj`~S^=nEP z3(&H*Jo5Hf0e`{2j8B`iA&@PfAytG1!HMthIej|_VPQyHW8f1+z8SeyM12kZ$E^cX zFSmo!%&{j0hZ4Z;HgE3sAQAAAnQ$#h=mlSu-(q({6@WaW-dXo?6)2nhDrZg)1NA$f z4-qUtYq(fB+tUYrMx=V>*D~Ojx_$RuWnS>s`fguxv=BUg>)OaLOaVFHWG#KL3#gp) zc5&@*fELKiR35br{3gUGJ8!r_KtugwFI;aecG#?rs0H4yxZ z>`9m!GdSK(1fup%jJy zm1DF-_MbS=_FtT9NJs#`^ECCj;D-=k$yWT1^Bn}`-~Kc;t^uJX=l&=jJPeURA4vl% zec)f>;PCo;EI1$IZtC871>D;v(@ftJ&vCN}V`G{IvWyYO?^-XQI9w0-ss9eBq~(o4 zy&FLN$0__m*&Jv^{kkE~CxEs&T;5#m0)8raS!R{%;4@vkovHE$cw2D!8u=yxd5UYH z^RNL>w-uDw1vUUpa`m;#dACcA3@;iI`!{?hY-qYVs&J$5h6u- zPo2DC2mYl)QR=bhzpE1GEQM555~a2o#ov;@RBiK)$OJ zQ*-SeP_7PnkgAUY)y(6(Ot2nMM^+}rxZeRSmc{Cr%oXr6Q?9(nodW(38xyI{tq@fC zgne0PAB0~R$_@TQ)T7LlLqXb~!1YFKS5E0!@a9uFwf_%ZPhJZpF#eQpFzd@!A7tOALU#-b`~lPzsc_!=6-; zRG^+n;MTgK1JqAfeV=j30ZleA_0{`qpgCz3DCG_jel@>bUU~#*QB9(~ed0v^Vaus4 zpC$6x>~onUB3_JY!YWIN`cPsk$st3Wr*V7pyC%dr+=cCt8q6i?{fXq}aiXrtdk9tk zP=f#~HIEAt?GXCd?Bivd0Pr`3Z}p_B;C_EZz)ABQ_)dFWOgmfylr!p;t~s7Sb&tVs z93=AIgBK4|jQfGQ!Nwl)Hw9?&PnQR!Ujog1pZv&gU7*=5ikxNs2($yj;RBC}ekz$c ze7i_HP%}l7uX%3=YJPeDuZAF?KGN*5zVR5SKNv63-5&uOZ$)w0$2~yPvXTF{F9>Ma zXY&LZ$>8^g^7pe27leeq=?y(Q2L9}?=VPKq?){?PPM{eW7(28T0!{DK9EV&r&{Us9%+uun z^>yuG23;bq-~G5FE!7Rwo-1ndIyON4_IsZ#g*bmKN@GuL#DK=fZ`g7(6KLZ1&W^rK z2bux{6_XtR+WqIrcz_rLwWTR@c4&j&mC(PbyZXS}I_%6+$TpyihLgjV-GO@R`;Mzh zEI^%FXi&E20~-C%Im1eI!tM*Xw&{~VlO`LraFzjW@9126*g?X+#a4-1?8H8rq&?{% z;*I6nx8ROPL|$M>f8Mo3^u_AG$tR8yufrpD#heD3kls6vF$>Ex-uCbwl>(zY7rMxKW zs6{7oWj})737@C-i(`+ej#RQj8~>jZN59_3~_r;a@4^wsj;Bjj28 z@bzH9H1cjY6t?@OgnTC7a@(vPLFB$2ZnF|uh%z!p|2XRe@>iSG(g;dI0eXii&CY9x zEXHPe%xxW!HG3_hGbE7RqrZCQs*K2P%hmhtyiv$eVg50fe+P2-+{n!#!H1kr>kHk^ zUO>)ep7u9dH<9a<@Sy`In~>YK$2sjMA0vu#a!^lft>rRQjA@ZuS zrP`J9BA+8w2Nf3Dkk6)S?~Sv>b4wh}k6pNh$ZIOam$P~h?Z}4(1;s%`yYzHLIAH+! z-~a1WLoz`Av6o*yNk4yYKkw209I`w{C!ZqYp<6JrW^c`|z`sH9AF@@Y-F+cxQ zN%%Q)D}zBtC-PQ3d#c0xIwGIy7M}WLhiGN~XXzfRp})gkx!f1;~+GTC}rI3-5;pPuXEQ<2ChmJm6Z z*5}ayx;LY5whthOBfed=)5FMl^!hsUg%`+eq{imuvtr~~*rYJq{SNu;zEylR=PEHS z>HYz+07PY?pDfhoMzjk80wAD){2Xsfj5#JDH{pnJ2M;gga$fN6UAoiAz5R3bM`{o9 z;8(W!{Nn}k*ckD3xz~lfzA!erRO=uzyY4&VqH09-mDf5`*Ms~MWG*xDenvt4kIsgO z|3&2Umb%yXpF{_eBBNjB-A4|OFR82uzCtc)p{h~4OOU%WXTjkVk5%H_0x&^gZ3TBMMP}zb8H;) zP^i3m_N5W>SkJX`KWc=$wj^f0{zAn6-|J}n-%ld0YAb$by++i}{hL+m`N)4pxyvxP z8wE?`Ka20bkH{nG=NBRakgbnJ$t4+PRUkF7?6ph4@*J`^@P%0r-x*p6fI2 zlaWQfiJ>vyH>VMW?d>N&t^q`~nLeeQybsYV6VtBz^+vQhUc>xneaMZ0t9yUHHF6P< z&sx1Jj67UWL!PfgN)IjFLte}OxSHMuBcE}FVU_4hMBK-Xd@p;4X!_anKVP|^ z0LgpHrAvw^*xP*>t*#)71pi)2(g?D%aI2N4w?mF258IDhwIWwX3%mIj{K(^Ywmw~F zF7ghQm)h5>R| znCIX^q8jqyPW|zXc?OZqX7&`N{6rK#6^5zT*~C0Ae~6_J{$yf0UZ|viXr@J4lII1H z+Y)Ikx>Fjtavh;JOd%uBuCo^=3yP4pW$fw3tux3c+1O?*PYIDZqFXY;RuRQp+DqgV zaUMf7rCz*qLjlAul_%w=Q1G2u9;-Lei1JA1Ri?KyvLBOpBu8I{oYRX{sE2p>HL_T!K?Df^QBVW-E13k4%h)nWueDjnE zQG)UZbTYjV&8b?2rz#KyD2{f;^F*QGmx2wlRxXGt67;${Qwlk}Y08;jm_aV-u@*}V zsmOgAiS&=lA+L8X+-@%Wj=$DNNul!^!c#!BXh_!LWN>*PSx7tPQ8 z*#9Ex#*OTUV=~C2SXBHQ`80C-QlGo5CxyKCzR#t4?n6Fz?JnO)|Au@!0>w*>KOl0X zG@pQHHlhS%Z>TLgA)12HwVJ)#Pyqer^}YxS3LayR(NJDS)RermPl74PacZP2D(4b% zJ%4jdN=X}ee6^SzQEnybQEOMi=siScQRLERyMo9o@=B!@uMwr0OgZTI3{g#Axjs>+ zN7Or9w@cP`BkI`4gZh&z$TR<6LBeJ;QBUqmR*#M&@3oAY4Y8fb_u#hXTbu2OtbRAk zMDjEuS68Rmd~-w;Do@tMh--+tM9I?0v_$?-{vOVH@=G0P=LS+*9{?0QtPpy4xMM1(A0s)v zL*!yxZaL9bM4r-$XT7@^}pr^e!o z4AJ*1IR;V_OkTTdgQGWE6mv2g?w`#q^YwBAo7(dx36^kh~khvT_d|4Q3f@y z$6n4tR895@)mxttH97B**IqhAE%mr77?O>=8y~i$wy7bnivAqz${yrXs9 zBiaiJnaU=KTz`G-jZeCcJg)|NT4UYFCrVi2C{{}J6CZm*>pmm$f>vPGGZ93Ii!?k{ zPVD=;t%bsmI}lZl`NU+G45E6abIQHSL)7SMJFlPN$meBnOY&D)kBq5xLj$2d;f1@}%AZ6Gu7;`CdIY=~s4xs8`p-%9q;^W%m!#)Z5#L za>8MyX?GK%jCO1&Tz!nF0^(o)s1o_fP$;j!K?6~(wauuU zVSi>6qKHQ&ZZqyhl+{xn%LEN8^;%d*>63eiCh8-5dF~3L?e92SwRJn9SqOPQp>!a> zP$c|4br=QHj)~9jJB$4DT(j<5-$UMahTH?{MTk5uAHc2r29YP_tq!n;5cR6)>cYn| zL~-216Y!1>QL>l%*(`~=dGE1)gZf!SnUxZ&ncs(~bUX6?Y3mVv3ERUhVv!5Lk^C2wIIsj^JYvdM1BZAY;N%I3!>Rr>?1HmvscA-^=K<+xKspOi1F zz*P~A{C=urUUy|g!QlbaFQT0&z*55J$L}&kW~|x5A9My$whWe}X>}orLerFDggv6j z#kid2zk(>F$G83{5c3OJV7}M66;aAX8iLNWBg#vrFOTy-Bg%9#MdVfzqI~kz%jF{> ziX=~)OY==cp8M1GH#GrK`r6)A4edqLw{a~7zmpJcQ7EcHKOFgQDGhqGQv?OjDa<*T zd82@`Jw^EshfqLWr?S?BH453|Rl${_fdUPl)fMeAL=?SeiM@2Zh;nqZx4AtPQFbLS zrQ3%Q{lWHdkYGR*?sJK!R&)`?@ax9gZ$#gja6kFcmM@5M9VNXJSKoYX<#Zhu?f$BLj}TZ^|(%-9fBNu#O6bq}JrY0$Ei z?;!G}E@mf-LE;>l@C=JSN93p57bV?35dPNWfAw((qS#rq9=|DtD8&-N$8z5wN_$%9 z^x_htboCWr4^JYBO+TM~JmFV9M&sJ~(}>F9H+RwHIHH+P>AOyt5dHLXRD5Rw1zgSL zqA$rqL1)FJ>VqRtNPEhbK`RCnR?10BtD8ZQV`kZV#+6XWz}l_sYek59*i=gO@Cc$X zhh67m(?Vp6%}wt&5{OJmxN!4=7b2eMO{bAff%yZX=7u@&$(~sNz>Ic_~#B)q+S+w`p^^2I$G5>7R&{a&}$lLF$URIdU z4KE%QR|ZV{@1#$4*CwXGyL_ddyhk66%sk!|X25 zd)G->VC2RQPS%&>n3MWd8B0R<%BFXxK%Z_2X5#Z8gsqhhBQ*=xvr9N(hRaU>h$2Mr zz<%HE#B!P7-A)%XIZf!ieL2mkTXz9-8+d8ecSZ%H2EIAx#HEHg@!zkLQEc8Wt(g5?7I7uMSD5Qj`@_y1S(xvoIaw7ZPK>tZ*Ywk)7jqIo_aBKeV$P9n zYvs=geXJwiliQ-LF?;_DJ598fFuU-qWl2p>%w8wNVqPl>b24%;Om))6++Uas3RV;P zA(b@AYa^wYUoL%r@Y!iX*X*+N&!4iGi?84v%L@drzxnk36B`#X$Kn>--y$-YL!C?E zafL|C(W9d8$9gezO|HO(>6sm5%p=e_M+@gJ}PD7Z}pKaV0>=evZ z=~%kUK3&YE{+a7eo^s5Yk}RvjorpOVJk{%Uc!4=Uil7s$%~69#!7SJ(%;|FHu`AzrkF8aYf!uB=q<`&K7zSdi5^f{B*eX4P!1U z)x5Gp=P{R~YoKe zIYNJ9rJO^w0CQ)O*WB*9in+Oc3GjAz!d$P5Xax$s!(5+z9DK(>!`$QSiax)X!@T|5 zWgpH-VU*2=9(ryzEFkWdh6=d{bG`TK1buQW=6=1?US5FE$C6fgD4Lduxpx**lJ^N? z?oz7`8I`)2JM%8fe(E>OL&N#oXNQZJ_jQhsU&9qJs)(`H>armgFfmca#<+yJeVLd{ zPiZ9d%5Dn0IKhc|dL?|Cql?BojlMUWz4Qz7cvR_p^Is|9m@hNk^OqWOm{0zm<*HqmF(2XVBy-IV zn6IXH9cucHQ4e@jxw`$vf@IsS&#iM}UcDCnqtzENAEV=~dfjfA@9+2=oe4tk>EgKs zA$ci`y!dJSPP-&Ve)qJgOXUqlK6reG6c?dO6&vLlRcMM)b0@Abs2st9u8&;~LWeP* ztv@RJMrttMGj!ThF}wri*QV1AbzNH@Ffu@K)uH>b0T z7@2Ws{YLN^jKbU?cwey(qdq#ksxlq z!};gult$c0wdv{kdPQ7|x85aTf}>;g(bwxS4tW^qVc^TB*7lf(Z?#DD_CL7YegSdj zA>|HQfK1M+u=&FPcD(J(=hI> z*2d(HXBcTlt#^fgD`sMs6q}Y5fE#fcMJOtE;|JCby-;Ek#w}kR*ZMgtjhlo?yiFPS zh8ymWw#(r6#5G*PyI*^_;=ApdR@6A>F>cnn?$lIsOrNb;b%1Ry|H!wF z?`o{EEyocq)DyJ0F?Af@b%eXVI+)N^xj_4L@Ou@`@l<-C|9d9RF~5Juz+@*b^n_)H zm}wL)FWvrmcgh)DlY2$`X89PdS8R4u;awcY6Z6zY=nowxpm`~|J+uttKQ3_li|Gzb z&|YST^UDd0??C6~r{Z?QKij4+6NH7hz~`p+jZi;)@4(}}=Y-CRfww+0uf#qa@qV4! zhG$^n{p@Ea)cr7(V>EsJzjrXzjFR(5GkGvouKu5m7@_An&VE7U!T=_`@85^&YyJ54 zBi`LNvs7{QWyc>LTzNRs4@oXQIEkBF5%qL@PVk*e6+N;dIbqr(_e{T7T*LHR?omIT zo5l3`a`)8-1EytmCfECb946N(ePMY>1841S*BjWq7uVv5fl00g+<5+(;NL5kadVv; zax^XjOo?xzESjz#Gjx&<=WR+R_}Jqeb6@phMy$?`+ds`>hE`FVvzyV3d|%%2 z$&;Qp7sFc^|)C1c84Ql<1ZJ8^Ye1E(T76Wp5GVRYhs3+{wC z=i_G1VybwgdIlJ`>&vr)Se zGK<-i-aRSkHiFqW#1$Flh-2peyf1B<9>(_7dpRtuh~vUvZqs!aaN{;g842qCUbs8A zt;^oE)0pyRPf|soHD;v5wtDq_0%kt1U-FmG7qzbB>+b1k#cXKKeuCX+Fw1*VH_vS; z!HkAZCT9_Pj9dwoh5AkOxaIhx?!G4(xTinwx5^)6OwOi1c*m?AX82JnP>iz&GiCT_ zJ8+mAvt;QyAE@n*S)Hrs4W|E&SyqX~Ju$Sy_K*IKKdBmosmdIcSoJr@_bWBt*haU2 zd+#0R4zu#X#OrE(Eq7~R+Q&}DtA>hTsA(_Lk;)_3{_HlNVsj15EQ$JDJ2nV2d;D3? zZR|B>D*cuB?yv}ESaR%MMy@@s$@wq(?%!G5JK&XJ(S=QH>s!vJW@C3SW%aD_qnp8~cc_epf zvN-NeRWQrh`{h6WeO?+96bK z@%p@la=St$JW^J=!Qou$5My!SRb!$?~N8b{<68B?r<%hR8sA~bMhgcvZObnCsB!K za95QeM-@CMC}dPAtq>3Ql9fp!c;q8{k|nj(HmMOvGS1^Z;j@Nino5{sS?az41_f7++2?0Fg zz=VS5rz?0c6SFcUJ0A~k-kxd17lcQlnW0aA5985R{?Beu@8K~4c-^r}j(F^c$Vvu# zZ#@3<3;N;Auf%#?4Siit;wk<2)m~{t;2EJ6HZD1L@ZhJWUi&5g;t@PmSDjUc@ThC*MbXcuc|%(bDI#cx-=7ge|=Z9^W21B!ZjZNv>gZYb*13%2h{xPNgwC z<8ZhCiYGrF@-TMjH)R2jD3qENZsfqD3RH9y*5BgMNBR22l4y9$L7x^kr)WI3IfGmJ z*)=>qx!T{&ml02*-?sc|w;7%i)Hn7vq8raBE}d52+=+)ScvpXqlEfnwcj&OGp24H; zPpi!46ywnqGWVIL*zuU8Q2OOie>^rX?ZpGXgLu5Oo}H)}iO_!-|HD5egQxHnMjSm| zh-aLw+2Va$01wx3V;Ehr$0H|e#vES-;89DJzPusIcyxR7uhQ*OguOq{a~=?UtQ41e z%{V}Qqvp3D~gLV2xk6v5CGfMBc+lQCo5$CY6j}5wblq=hTp{is& zT0`MAYri$Y)BgGPzm$GF<_Is{h37qZtf8#fsq+MHv;T`evmQ@8A#M7|lM6HW!QEoy zyf`jATtgLwFqbj2yqHFCPCPh9Z?Xf+we*yq$dWDzU$v6|%F3@u()(oqLxF9&sIHma={g zj~?+>TH($i;zV%TZtgQ4^R_jzxIUYh-(BaSftz^jh~LZ)R)PoHgzuPR;R!scDOQiG zcL$!auV9<-4`w{t#YjbkNNQ!Jq5PLTM>9n$H`Zjee!s$>H>Pr>8FAPly#}->^ri!ZIv9p?g=&PpiIH{BTPu?owaYd8!JNK6231eR< z(wSHA^x~?4rc-rzjJL#1j-*QjZ?=Yyuu?W2vsw3WELaPV&HYHN_W4fu%g6o1<(qii zk?@=Egn#34Z%q$RBYw+YAXEsK#Tux7u|n zj^VMk8BV)A_TaH!;A8H_Rv ztKf(AWKcJam)?DC)T(I~RBRRV37Fa($`VOR1z;?!ZAzZW+>`U%kdtY)K9L-bgaIIA7#*dEW&t7B{DlF1!TA3tnGa1^y9uxy3x?ZOdS4&-6Vkb8s%K8U-80<~aY}ez2v}WDPi92)25B zXL)u$2CEu!P~^%PFtLo>wZ=06ytK2aW-M`_D)Lt1$>;B|@AsX~H!aOz{OX6Q0#y>s z5|4P5i4%6ksb7mC*1#%(;hESn4J_}vp$>-2V5ZW-r$2EXj6@mrd-fLq>-_N`mLJDK zZj|1B@!Vt3;S%hSi%$j8&#NPpA0lAV!fIv{Oa(LJd(ux$3c%dPG@+T{D44l>X)Up& zg9+^^1Alr8kgl(On%zAHbXQgEa=+7oWOI7q_l?J(9;G8?ob?#a)CO- zozh@Z`x=*d-UR!rKOWwCumnu{1j(Pl1&rdo{#Jj>0F1@uqvncO=kHt%rYwU=5M`lb zze4!~DtBs$51~z7x#^l?AAAW+7%h_L{f{|bx$o#U1;I%XQ(6ImeE)tM7 z6ZOo)2EbtHY5lgo)y}0pi@fxaPT*gOI+{b~2KiqiQao4GLE~P2>+!-_(9i2Lve-f3 zPfbQjggX5J9k%}y`dSsxfy)ImHN}9PmtS;Yz6W}1=4=;Es&sy(JY$m`l>lDSVpYr( z9Z1XVSlM_s3aXSrnj2>TXg^Rf{ZlXn2KaG3NxCJ#>h|O-4@v;`!>KM%{0HpIGE96s zk^{ON79K1TNu8gr2zu*&AOUBZgNBg89T5M3eQF(I0Hq@Zej&H=L1RZ)L~>F!=<;_x z%UomzgH%>V#%Ufo;6@PSi}3U*OsGp6jHSDu~@Trz>+OgB;g3kwsAh*!wcMq5ddAm3Fxq3}{(njOKsq{T`h$EZ- z!~PRRh{vrVUq&qnZQEGacCU^kZG;ZXHE3hNoS@ocR#6WUeRXd_+`B=+=K<4~WG0Z_ z^}af1fr&KRv(kHey%Vu>$m+}b(;=bhKWXzvl8|JZyo_oDHrml~0VH$kz1#y4 z3KDmbW!ufKMEYsA^qN*O0fMhZ0!%WGgWy)PXQjS^q{TWp)+t|c#Cvu75f45&v|B<% z>;$F@s zFT0!KwH^MERbc1MWKrw8$gRldMpI~Yfg193GAa|=YW*KC5y=4wk(kUt&(RK^%+`SBp(Y&* zxb(~+0H7Qn75=Lh>=eCnKJ$>~iW$VYOFwyu6}i;>aHWHi%x3(&TG z$Qp4g77PR5R&q;@tU7)2JVHa9mLhuD%NHwxM4a!E-alVS8 zAbq>lR@8Pki0*#zU}WSBaNKx#qu2i}X=SxjX5P{T@i+hKVI%IRZk0Z>VwnFJghQ;i zs9*L5rQ0sI4PIJ<;&lbLQ&9&%+KK6ABKr{#%Q}7VY()p`(5bSWc=#5Wx6~vHaO~?G z)!tEWGiXP;`TCsJ+NI~fP*RusueuyqKk;&Du8o7(q}nwm`ZW;u(PMpfW(Npmbok*G z+`w}`b*<)*Gi<5BuVD@}VB`_m+XQLARP8fu(oh3D^jp47$NmAKT;H&7UROHbx@$7z z7VZRwbTj!KW#hndYR%Q%ehKK*j|~O9?C<>f@vc+%_Q#z+H_z>GZQ=ul1hK_dx^>`X zVh}WHybEF~Tgy~sKErM{g_f@c?@52?809w^9wEA_bM5sjPY|8d{`bioe-V9XbMit` zC+Xj@Gp}dvyOAb;d2ZLM?+1EuMZc>%bwN?2DyaW776ofXp6A4 z@AI)4#9!)Jw>fTzgm}Fl(~dDB!AP>yi&rLS`^r$@CJQTKJffm_QM$hK?@Etp=!aAg zDXX(?iz@@UJN2!CoPwZSvU=d!Hx0yn+Go(`>ro`ZFZ=ZAKN{LSdegW5)D+rH{Gj(k z+aB#&kl^9IcLed=*9%KvAMIS^9Nut$hr_OtUupW}hoF>`m(5;P4XPeW1?_zbXouL) zrK&6pN#8Siab0v0DKI&?d4|;?`GIi-U4=Fz-NdMvM`wg~8X8N`Zh3Xy>JwO&iMs*f zr;nel;aY~htcn6{nckp5&vLTzoiyU_KI6GrV~6Bz@6B!)9zrTC-?d5TFH#A69@cry z6)8&I*Qwi(M-rFWg#<}wNxvT7zjiQ;`dGTeH-seBv`c} z%j8#$6h}rJ_G}G8s-d?-Scv=2YHVSnYf4wqUY@)3RN{*v87jf>8mx!5IR9SvxY7!{ zO8M(#+L%FI!hfer;t|k&lkqTG;}#OiEj-uJG&Aw^Afx69LNXh-+u@;h-95U#t!Mxt1QhV$&hXOkSTk6B*vs9QY_X|TBv(<+a`Av}e8vWt33!jk6@Mq#0m=4;tZRQWRO*`y( z*lo1ZZwZ=Qoo2}d-j1Z1xfW+ViUcM2T<+EtBBk{5ZUu4>Qd>LeIjf+JG}ZEqcieD8 zn)Ee|Pq&C8)z7c2teBjU^!{r7JFx-4M0df<-((XsKE=3yf8q=1SFLV{sXpRM8!T|$ z{}3s##kW}2aU<0c@_g}@1f+3jcMx33N19ysW%^!@Aa&`xXZapILJFIDRtj`Bq-Ei} z_s0?jKpk8DrE$6mjH~ttv0GOV{A5mB70wg9SdvQL7=PYGDmjhOK_mvGc3EG4FuV(? zKRprW_=kqnx9@m7YV;kc*rl&BOCLdk#URIh!3FlXyeievQU;T`Q*8k*n}~JNyp7{v zA`&07>T5k+jO4xB(^a=cp*=%gV!aRM(B7WVKrdZ-q{?b=POVTMsobAQy(+_sq~`?8 zVs=J?n7r@at}n-7Kex7)g2o7GMZj*?MJf+5BLG4eWTHa;RVoA@e=?sj}m zMw!4Ru_s5l9wu;D526#VFS~+2Xk5&f>wzGdi6@V1|3V0XTP|>@f`|^!55?|E5WSQA z`1qr7@H(6LJJIYRklAhrHY7Cwc}0y;-c$pq*6RC?4fhc^D2|`ru{R-r;mdH6hz113 ziZR@}m<6FR%uo0$k3+< z_zd5cr745o-pj`ZE1DrdV{7Tf-~AADz2;ik6$=QxA}{%NpEyL!Gs{QDs6$k*Uy!%) z18~2fwI$!S4SXFR>GgJ30L4P?&G!l_P@5yE<4?>8obP67VA*yEu&cE{^fm&5;Ewo* z9ytiTcI=ghT?9lt-?e`1q8voM5Z|fT@(tY87xc%T^nfqtaDQ$s2Z7Ty$O-L?1L`X& z3c2h9_yw3;^Lye00ZzZ!o0I=QP|K~-cPiH*^u+UvruY6q#D$=27P&!)dOq`7TgnmK zO+OWW`S%rk7F$|Br+5LyNx**8T?VKFfwFrT3c-(dC*`zzJp_;rZ?g_Q4?zVA-n*CF zA=E){CW<){B7zIJMan85>gAC7AO0KQe$Q3M?@bN(GTo=LF9`s}nPT6eDFM_sA;WUY z_rUMKvgV~%#D46UP!3I@gCMKOsy!O{5XzYKBqv%DB9wOi>j_$es8?)!m$Eg%;~@89 zUxyF)8p}r~O9cVN1Ct9fCf55flUB+09Q+iG%Gm;H!GBAa(@;4+)&8(qM)V>Af!UXHG%*G1)@XnynD^)K9;N*9W|+zZsn9UIH@z zlKqo6)j&zC{WP~w1k|db)_MO$0w+&>$1f!Y{?gBcRovSkU?ZiZTeTg6i`S)=Qw~D7 zfWWA^I>B$zZhF!o@+o-#P&)KyaRbPKQt|ZM7*L9nnC%S+{O2iDFS6|^fxo8y!nkD! z<cHQb^TsR8$D3wxHohq6o7i*KIzHEI)Tr;tmbr(z-7`2?pYsdA@H|h)^*dW zKzl!1?pDSE{;DNswr@QOLG=@59&(8gMZXdi@P*(lFdG7kShqkrM;() z>I1dgNBg$v6#^G8pEHwm3up=l8d)VvfEJu>**!)FeoC}iTg(6gMZP<eVLjn;Z zMeJi+fbjXu0|ZaZ8Tt2a%0PX#vpzwKu={o5V4Wv{hh)9t_;?_Vz*&0UZIt>0G)2ZA z(fzzYb5G*z6ITO&qxP$h2ws8+p1qlA4|fwd(-f0i&#izuBcC?8p90ji2a!=+tOPz* z&i%&c5TFS#nQn-z6Szo+EB=-F1fElef8rsP80Q=}G*P;1RNMWG7#G?6uW<%wyU4m!iNC~npVHl?Pk<(KJWA(-V-%_STh$i!# zG4ss6ws|V^JY6pHJVcSqLo&}9k|Cl(DuiTT2MHCCQYu3ON~9z*Hf-VCxX4`BsqHJ6k5k3BH0R8J z9H#Zsw+EjBUP5c1Q(Kr8C$t_J`)pw925o*%JHN`Uhj#6!bH#W4q2qDk7t0S0Ll(IQI`~7c+fFOcPVO}+EmQ~Ez!HNVSDaJ3ZTsR^&u?fu zV@5cVyaes%zZ_gQdj_2rZsEtdt3ua9NBKm20CaB_lRfJC5&Dd?&sz$zLEDU^gSFWt zXjic$yiAmbwrAIGdCgBk+gtN-l(#FO-9~bLdQuv61QCL^S399go1KNH^%5lc7m_n; zzC%yxho@yL+oA6fmyl0E*3f$A+Mzq1zR<4Jd_|!t8rp?x`gM53Lc2#wfjsoDpaa*$ zy;E;%pi^#=#d!M~BsP4iPH9MnZhmER{`k4cp1(6gCs&lAudVv_y_H#Lt(4_LF71YP z<%(>T9gm^C?%3gd4=+Ib32!~Dz!v8`msrJu%%L-SboW5q2A=R_C%>e^ z^W`2lTYg#Hfxe~1Q1BEtwA#I$#Aqx6?fP1uMqW3D4tvmb{ezLvVN6!U=H5f-q-GWU zdqWU^&YIp+hn(;n_QCKp<9*Qm42NQ7Ju~#G6KSfhv4_4>Ly_z>kD#^WwZvH=258SF z>DVOK3?1&i1Dz1(7Vo|_Ya+J8^sA{DS7^BnZJn1(AHExa4&!wmAqkR>ZQ3396$#w~a=wHuRzj~KIU(D0X6QG2{94UdE@&4K7A<}`9_N{SsW$7v zp>ygjkg!t+U24-q*L+SxqT1Q{$0R&LKJqz>nwtn+e}B8m!oddJMO7Yc^c{p=wSV6v z#yo=l$KMH>^iD(j+j|C%aH&A2uw%>RRW;DXbj0C}bUh@>U2&I}#krJp2AUF(0Eyo@ z&OKlE!#N5Y-^z=<(CrnChC+!Z^a^xeqA#OHVwzeODDXxALkywo^lb_pn$Fdq_tFl^AismhK)3tp<6^jUHsf*=*62t)l$+2 z{V&lczqlsAjzERl@rbUDy^kjdKgEr|;z4YJ#rBV@=W(7Vt#Iv+ z2+o0B8+1I;gU5gBikW*jq31)?!BeaP{ktcgw%*8t&KX<92?tsr@nF)r)K@i}d&-Nw zcc>P+=9{X&XikT&-`(pNWGoJgn*2O`=0VNk3$~NqxIJY`LrYSD&ghTeAfkiO4v_u|Hk+K z^yHVciVrZrSp9u)>pTpRKXLhNqB1(w{`PIr3mYWOT-b3vRv8_P%UX2F69WwLucZ<+ z7y&O2;U<0}95|tM?UL4VDqk4yVbS;xkL{z z*K%Yby`*f*zx69fK(lqfJ@+vn6lm^4QMrg8>UlEz!dH8s$t1(D_53@~;|s8>W+()w zmW0;dT#N%YTK%n~sb_)j-qi_x>Fd)!Z7WY<`*+`6r#sR48~Yxnn9 z^a6{>fvTJVR$#9*1p@*hAo}Lov1r}`?!^U88a{u3@1DS`YyOrX(8bQ@y6-n+w=OWz zdQ=r@=jc}dKDQT0xY1X8iQNLH^+xXohkXLJ+`WoY3R%D6*}X$^q47ZQB7MwTC0)9erSp!$TAdY#x7yb}PJmb8yd5C#_Y{Rv9C_krWv zoXPax6M!VBw@q_d8+fEze^PN}JpzHoYb>*GI*_57gwA^6c_0xlv`i_!0L)eS=~#xYU^R(XQnD;U9t@VxSki^_-X+H#p{}Vy;u+-dfC?xd3mjgSs~!_yS*TtLsvmwZMOGx&ZUC zJqR#JyGGU32?D9LTd>9;B>d}9joNbvPInM8`0;)@Q)a5&I57s?IrN1M7Q%s-j~cW8 z4=>|G*foq_p)cdCe=RRfA>oOj^2O( zBW;EES*0MLR;QEy)Gq+rg@Ol<76Zr4NUyJAmw<;uyhfMy2JoSr;t(ut1ip1DPA@lo zfnUVDygZN88fDdnIP~t0K(rGe&i2fQNIfzKJ zUt9p*8LJxwPa1&lmhcNt%Msw0wi@-m;wkWJ@&kwc)Pdi+wJGiR8Q>pqyq1#VCh(s& zC}tcw4*~>MsCWcDfbHJL+hxNXz_Zvl^zi%r_|Fd)lzC|Ye}k%Dn>NRQUjuPk$KwU? z)69%La4!n@;RhQXTAK!bpIl#fGR^^i{IE4U^Vh)tO+jn-M-m`@-&-HM34x!Y?5n%0 z=^$XuyuRa=Ebxz=A8%)Q3w)mtIk}m~fiFijb=mSe;A&_rH!^;BCqN0j zPe$yM_5A?6pF4X=+&>L`sdH<%uFeBLCqd#%I$z+g=#k2zTML3R8%H_GmLOEQFLL20 zH3(3r7tCZo1H1%|Ifd?x03J%?Cp3j6fyaf~@v~c}f#=*z{C*J{;5`tu&KD#Kd>gDA zRg|fL-$trRFT z#K-fj#DfXZhrnSZN@~$p0B9~tAFMn+4y3jmehvo?0%?b9jrKzwKtq!7F~lny7*t7F zhdvwy7LBJz_wQ~1$0OeRQ|$AB+q3Y8Li~F`faXCe&%D1tm#b4}()1os8y*xh7|j4u zJS`r|8{dK4UUs*xguMVN89JH{wgF>i?c$JYI3M`BOu5zP3UGXwJl!|60^CKOC-9V< z0nS8h*d@mRFeO#B79>OfW-!&mShE7S7#=C~z7PS@``_*IPS^sdtLsZU8VZct296NM zhJfXJ?GGZ83c!)I?d7YqT0lH}G$f?i3Yfv;3z6!~NX__AlzP-RBqv(Kcs0)iaa_6Z zO~BO_@Vm{8GrxBSfJ)RsmuCnVU45nfMMnwe1A9g9)z<(!j>3IUpCtiXKe6BK1^hsV zP0UqSLI@cLFlfG;TtYg3uNa&i(?Lq+-=?eFM!J`Mb-qvx?*gSO9+&w$UgP=xhTGFJ z_706$ z7HdO^#CRE>Xmi>CDTN5#tm!_WGjQ&2K<7(f%DKln_WBWEPMux<*(d`T=l-Q@@}L8< z?X1hO3Kht~VpN^^#uBn_$iJC)Mi`xLZZi;j`3b4=>`2S{(gJq+lT~kIXaW2lONp+z z1EaSK&vaSCz-haCpXH}Zf$m%<110YkkW5c(NO}PfaqcS7y^4$+Q)dqtuRlVT%-xmg zonMi5!0&EqHg`llBK*zGof)WUWK*BbTLF5jFS}Sw+kqj4RVRTl7iejYUagbd03vTb zr2hItK<-~h`~}vcj!qMx z{j5?st4;vuuI#yco1y{0ql?sMJR*Sbquh~=?l|Oi^T(9?t!U&97Ib?Y;*pcV{$tsF zG|2Rl)~%0q7m=)A%1mARERd4qeW9@(3^XtGM+jbi4YapK83v=n0QkeuD2CA`HL8lpcol2d5oWg^M1J?Cd4t_=!hsS(%TEvhtZOfgwH!DCSh((Sua2G%k z&#*}UPe5zYZztX}4gm4$4zlJKApA#i-}^}-3gTS?mkzHYUuU+jZmxR}sb%6SJAt`34BC*I97+E}jw29$V8{Q6ZUqp^MY|oi z_5m$7qr;qS^#Gjz1wKdL2BPv0n&J-NxnZo#m+Ffs3g${u>6`hCJgh$%%$Nlut2dXQ zvBeZ2WfsLFZx5XW;?|T2yF>^G+qdod%#?uE>5kIh7!Lq}ojqgkf`RDEnL4dJS9F$| zgF3WH3xzl)LH>qia zA%U7i|IZ04KyIb37~7f!P+IKpJKkmhdkmEvHeLhO4Ib);jLqPL-5$Y-O8}j3%ZgSX z!E@NwzVpfhqR91c`oj^Pv&ewacET;%yZd*)Y_&~I98ef-o}I+-`JnB*hz)K4z^+om z-L?W0eJZYS^#LHTw|s4LaRyy@ZgEv$Lkk7}+WTc-mj(S z=$HoV#+2Q8EmT-?UV>?CD;~A=@2Jr9dp?$#*V!yXdHUiITvNSd_36D&2EV z45gTyjuP4YhAt^hsW<2SK^b&H6xUflpsZ%Bjec?*<&=HvWw`Bwa$kS>&GK;p@F z?=1i2L^qT(j%m)fhN3*aXr6A9izq*4KR@LT2^B^y4)6Z)Ma4pDPa7=?QT$4b4c}@C zN=}29%95(kCHDA`1(u5_!;OyC|B>2X4~Uolvl%QN&NK$6|jZgB`E2k!n&=z&q}XRQR|OqRSM=P;W*s@mCS9F z{5Idm=41)Flu6sOe2W)l?rk<_H)TLMhtz$enfg&~95;igcpS=`Gz9D5alkv*i);;h4RHJsio_^P=Nul)a5NF zDwIDMbmzG?D(t(|?a^e45*~NYa76T=i+eoKvY!n~+e!B$8=Ii4tih!-=d)4HSQM9o zLKeys%$T~akcsk*3fb6MIPvzVRxvEBQ#__-vi}2Hh-X{X+ink?;c+3dW{P7#MlhYEfD3hzoSphUYHt$>vor5--j?x@?0GVDhHmi``PuY9|6yyhLs^|M}#9i&Ei z1y?%#?#841q~Y(5GbQ-=oqqJ(%@-9+ymc|!FhYe|vZWqovna7~Ge6{&CQ9w@X^aq( zM494a4nYl@D98Ez;@$h#P;U2#H?utr%6lf*_;xf3`34W#v1lo!OVcbWe!%2$1H@D~Lu%74Bsa-Jy#6%aUX9xrJi5nH1Rx|>09H_uTf;TZf23@?_EF0l>8s#W`ZOAy=j`Bi; z-`;oXNBQc<tRi?M;-w8*V*1d;}G+mW&pcjiCaX z&R?_&j411!eFNqF3#h!OhRp>IYf%C9U5@)0GV{4Par9bbI^ zzE*J0`g9iWXI${n8v=McuWoG|R6qrE4GecCO#i=@C;s35{O<_-?+EkB|{QqMF zFu7=%q=J}8OuDev;_hBvOnPVIyTOqsnCxDGgnYVFm>j{1w)OZ)Og?w*vq72>rtpba zEcf9)rgTz&dXwfArtCrL8S}n|DO$`o3>>VyM zbJFHgoeh3<_l?sw#l4$Lv;*~8(wJhM$SuhjI7IOOvuY zF*S0(q2!l2Orb)N(dnB3CbN?2$XOMQNoy3m&(aUWq%u5Ap!^L?%F25^=+|{jiqmis zaUQ`WBaWZUAqHVWu{l@Rt(Y*z-`QQ8O!}Cbte~<&|65F<0h(so9KmGD-bN3*dtp*+ z2F?5C&R`NYF??TjMli7o=Sn)W3OqmT=WnW@g9-6ZmeqdziLtl8m~UNqfKf0H?7Dqw z#8mgTEJo5_#pGYI=zMnW!=!66M>3a$FbS*gdmf139Dd zPo*%$J3>Kp)Weuei zoK>OvId-6qIgoNpnf&LK^M_sC$K>%1k2=%QSWKSG_msuJ0F!FbUU|4lkDV9|D5fnw zkMZeM`~CTT3}d$$x!=xUjj=Xd>OF*K!5Kzc=Qptj7$qyitv#Plke56)e9D7d$bAD! z78S-6m~6wEn;X+JOk(fMB-i=~CJ^YJuK7g+ZR zqwKY~kl$8A{&h9>=BySS`Ca=!QDTEDxpB>1Rj8i=laBP3mm_duCk!5kWeM|P+?P+P z2PV#Ib2Av*wwim_m%SKGS>IQM=;!1=W97%T=L*S74g@=nf#)0oiVNPAo)SfemC3$N=}tLex^uqm(X5K!E(HAmq6a-dYKTl zhtN=&wDB3E!1%j1>KkNjF(!+!mud{Om1b&&5U)ARyioaxU@ zsxBa)doi!8sdot-KJ-OyCu0enC6{|jlHv&0&$A`Avru5{;ygm{zvBJze#8ndG!r%( zto2>)E)aGic{fs}ObIJM$iQKDn=sPU86N)@BR{Mu3L7HrlCftp3ik5^^0iahWfm7G z2oV$47d#&S!RS^mA6c{)hkK?jYjpP)KnBf;3iTk|bE@TkK;PD%FlTg$Xdpr$ze(Yh zy`36IUWnW=e3i>Y{v;%owdD~{enHb3lF?W}Zn`}6>&HV1!ivbxpfSltc(_bz#nwRv z9$MI6R~s=$_}j|qdG^F(@@#o*lHo;V@)qm~WQeLH?}X{ZKd#uYJ! zYYEyJlP%c(nog-ldGZ(~I$T5dU5WhjM)hCQ!4C2mZC!ZkQ64BpwWQjkU<8G^PH!|Q zHbRPLsh@{49WiF#Z)2sVVc4|&j^1}5bFR;xo- z4db^;-jqA(fpKg_R(1BA!&qu##$p!YFv{AW;qpRq zt;4#1q&DY2FEtcOZVDur6hOusRs#e6cL`hZuB1s47h#*z;@ARnKBNs{=_zXpg{)Y{ zhRN@F$UXJJ$I5pC3ZbRlqHn2CithZ@)tUK!erDz`-_v=IEkGK}U=xwM+k{PS6)lkt z+(Rd~#J#8RFr@#)LLvS?-nPy)=jOg8$TR!mt52US6xI!QygSejr7U$eFMN-MCrbWE zSKOsJlezUz$);b#=A?$XC1kpjB z&!xpOTFOx9A$oIEf(D8*(!)RN+K~OH?HA))K^XPd!g!?$J&eNghw&#tTJpSD%Oxd} zHsQP1j#MB=E~Mk;@_QA&*oEi?ix4C}4eJmQfVV*T>-AWxJ4X$_kQ;|J*G4E0{6hKMDG^}dk(43?92^a>&19J4?ourRK?g0HM$%&CoyJ1+ihyv zaq`-R|I9Nt6~dch46Lwdu zT2}T)VnV#BE=4s17@y+^t{g7Jj!t&OzA2c&s5YD{3L7pEKF_uJ^*lKT84e5=Y_?v7 zhqDpAheb6!TAETxz*`wIoDb!&`=@OW5a z!4qRjKid^Y<3k>ccur1>SclZp*O*(mG~gkRiDPFCoOn z&#CTly@^S=1mz0EPGDkR)8Chq1~7sB9w(l~9>Un>jujXvyd;_r)o$6IKZ>cBwZ$VzQzm7jB4@V^W@?dJ+!0nDG6O zzh&NMvEu^;J7-oZ$-80J3kRdF5jN%iyoxLQ1sSRD(6vN;gG_%bp1DbUg>;{)&Xp)+ z5PmM|3b#`#U<${l#2>BbU^3GpjR!*|F)_(*o~U{)jB8P#@BY|3Y@aR@*NoI2!mr}r zX`Xtakp9W)$H6^qkcqduh2m@}qyuc8jUF9@RbMfg_Z(L-Wd$D<+4NA{M|)AQP2&qD zY3y#~x7vj9{8jzwU}lU__tq<;{i}qZdN+S6oK1xL-=5e~>3RSUW<57tzE2D3v@h3u zaq1`hGF@<4QR2kZ5_l37n_gpzPo}iaS(#x{0b7rUz7jFs;f?x?(N&Ck!lSC_^n1dp z(ot}&l@{(_7!5M=I1UebQGEBdlZA9K3I0cfj}q3D-w?ciH(+45*Jv=a5L01qS`T!J z!ld<&MKG;KW4w2MCNdP7Vf#+?mQ7P|;#^zhdb+L{q))uav3T+tJgCzgMQ0}m>B6q; z`|;~IVeLU$q#8{s24C*pS%08~sd06`ep{f2Nk@&)_+>LptE)TxU8xwRp481F z`R*_#)y^_t@pl_zf6Q7hm>N!Axqt0XRS*8Ty>_b78_zq^zfOJ6En5c<^cJZGVRVrC zdhx?$;7eG&|EO{z9QSTki|=~fCt~XN66or=lrRZF$x*K8LX6e0s@_S7hTId9W4Fco z7E+#{GTGGs%=X0r>%eo`m_x=3#@U%um@}Wbepb&- zjEMW&-7?}Z*95zQ-eak_XJ`7*11{WSXZYoB+?K{aFQj?K*N^K)E|^u`3x(O5R?N0H zP%HiEQOuz(YC0E-!97aJKCpZm_r|gL$#M?jd39CW>XJb`uUv54HDwudpI)IqPZx=K zous$9s5FR~JL)^!rPsi$lA$+|<^g7l^$P&Q7R+HdZ@%_=Ddt?pE_UO*Hb%UXw>8S* zj_1`w=G-|-FgFeVjrI=*F!yh4Rm~A=n5TZ&!TZ+Sn7P9gLq<;*W_5*~Hey#6v;BC+ z(fqR&=D0VQ>ZQ6E=KNuA_F1cPjM$fLRgtlPd)OK#sN0WWZmx$$r6a;I_dzAgm`gt~ zkEZI}gA~P>d9X@ndX7A1HTeA5<8DXHj@#&nI&~E0Xn5AQRIVO#k7zfIE$ zN8Z9nlFL~?ca|`>z!Tm>8OE4<@jRh#U=QY@{hIF;{$607)p==H%oMYx@$|k~mW0^_ zrI%A0U&S1&Hy9+kL@}4NSLM1f;+QL&bSgRX3q~?J$tqN9fw!kCK9{}`cJa^N@eUJN#euAMRn05^p8uxDEPOvdjL&<5*-}W)ef&WiB0o@I49BDSz3VmrQA7LD!UDqFpC@S!&#|cV76tegC4$3nB!=# z|B(eU&Nn5D+~>T7xvK4o@)5Ez5)UQG=kRZg^n@ct^c|kVH-7Z=Z+S50*6`a>+_nz) zUDm8|GdW=vYp>rbUC+VntRH5LKdHo=I_yqvGo8kWXRenm)^cL58BI?;F5~OY?2K1x zdjdw9sh;NRynwkGUf&{W;MdEkdh-kTbC0SWJfD6Cv$P~Vi4Mrb>{Uv64yc^Rocqsv z%KUA{i1R+z&YZl1xlTC{II8bpr1(qZTZ&s4=~opCP24`rP2cip`!#%C68Bhp6R%^q zw`C59X=0Yo0w z*9BtM+BYf9T9h#7#5x)+K||bI>%^P8igO=UdX<^1xG(Mg{bcq~oO}2Qv#(u>$GMGF z_YKW3%uU(oS0_gY=4QmEFd0>axv8(UB+tIVY(g*l44!|FuiKHbDYi9_zhYy|jn~ZQcV8#oFEcZZ@uxU9@_%`_Oe9ol zLQma?W=v~n@$(--Jua^X!$ZUJ=Z z=sVt}_YOa&zAy34kwEyLkIIO{zBZ$97MdN15@NXW6k4i9&p;c^2{FHfThQ+Bon6JYAn16JlOf~726UlOzx|Tq)vu zANLQ?*@!pc9)t{;bZ!-CXjt@)LH4g8G<~j;rxoY~E$uJfiEPw`Hs#;0i!Ind`-?|B zUA8B2Kh{^JnDUd*WjNgO_CgqRwGJ72)K~XEIr2VU8a%(vF4lh8zZ)8v2NtoDR-u{L z-`(4r8PM{<$OXSsd!a3x_mA7RTA{NjKmM7b#R3v95|$?~+2gr&PorvEJpcZI|9e%?1L&46+Zb*r4o}^jiY{AyKV^a@VwWfsE!S`_RPE}%BjM0`RFl=)nFiVm{CQz~KN~t7OJE4R z`vtl*1(ufT1VZA*-O@mlLg@PQJkPlr1w4-*e~;lM8+4QL{5|7~d)0!IFZ0dI?x<&w^sT$E(rW>lM~gCqi%COkzm$I7 z40UL?-Y3_0hYdQen{#E})q^fxOuD81nvmGYzteXj7rLG?Zy0NNg?mo8a;QejAnAPW zFW&l>ko4rh$qC23(4x)v4Rz20wCVPG*WZ-`9hBa461QGJ=e=1IyDxAK=WwImouUDJ z{o0I`O&-8~CIzN#&j~n}V;=1%gReg?nzQd*iXo}qqkoI}CA2zP%p{O!2JIB()|wV@ zzf$gr8gk@o=)$Tvy0lXYiD6%z9_HP|JuW4S_1pM;D$u0R_1!#S!;NwLOcOCMCuJRwFDBAzx^N?9lxc_3H`m!0$sd&V_4(-D|GljgJizj~I`;Ffru&@!jE<17Q9Q*}cSCgg} zDk|~M#pAzudyJtg$zYN&fIpYZL%Dm&anO}}e@wF?H-6<2H(|N}T?sc>)01PMYp{FJ zp3ENTS~IAv$C88dK7&7w#QH(kH_C+)X*hS2GI=z%@){%w`iF$J;m;?P-XFBI1c}21 zrh;Yoyu8hNFkNK?U1^wS3#%%it5$KIG7UBEi4m?!yI=`jJ7RMdPMJg3!DO}8FmLDv zY9x7#@qYI$9M|lif<&Dks`GYUka(K0XI%R&zFwvxQr6x%4VnZmW)52 zCqqbLFaf$=AEgvtv;NQjfw}Pw>d!}y{rA_J|K88xnJ~4dY-|mL|8D%hu1KEwY5HW6 zB+?u`Q6zIc?7!Pc>hDgdM$P8GTC7Wf&CJ>RUoCXy@I9$W+J80gho@CAxCKIxNPSHsEo4fB~E|7zhviV?{K|9|zN zPyE1)7X7Q~{jIK^lU)8+A9_fzKi@g`ujYAq{g_FcFd(S=6|&XwPtcl#~9L)Ud}vTdl;R1Je?tvLO`Iy$d&nYKT=jT zEKay9g=D9qvQN{tAc>jm=;w4rh+kxIMYh%hQAzu{J-es{xadUf8g>kUGBax-_5QQK zu!1^2;oLk>u``VF>&O7&1u4&%O`3r4jiYvD(s@8)bbIwV)l(q<$cA)jCm4WpIRP*5 zbJum&&K+)zlm(|&Bd#nG#(`CQM@2lxT|hkjP0)Hy8lBqbx+plPi_H7~=*zXfLprN> z1-LSY5MlPoI|cI{q+ISX@yn|f$*?SZAKPk2{NFo1jc;Gpc(VOj^pXq#NMu((V3qC$ zn%4U@?sf41(;IYVVjptwd~47Lnp7pAaTzNdj}m0Fw766R>4X>>lYl0f-(l6~_j6fu~mggGh=}WOiIP*;q^qS(&b9 zJ(T1{hC-Z$M?QEXts2?!sat=MT3GPU6RY2lOrTJH5}uRc=Cp8(S^o^!4snT7r*8s< z)z#&I0dAmIZ{~Y8pAJ}*Uzr<8eGUw-d9$V669C$2d#Gt5GJw{v4I|=<1)x`VaHJ|j-)1vdaYth1Q%31Iv~hIEDW6IjPx;0!n@2~3|;Z(ke#1&oU=+1z`@!6^yaSJ#t< zftiRAZJ`nwpVts4^)`0kV4!3)T3!lVm315f)b)YK)nY!2o_XN=>t0k;VlfE5kU)yr zK7`E25(k#4MUV}hqIvpo4l*wMy6@FmA<~vniq+i-N6N)<_H@wBP@J0TapBJ@ubxwv<|>B{pL;5)Dkf7k##SW5(O5| zZ|76VX#*SO&gdqp1>hJxVIHl!3tX#)3eh_m;L-N&V1n2I;G240YcpmJ1n>8JWA%Fr zoH;P`y(R1eGMCCr>=hD3){*M_f8*yY8|}&1Mqvb`NpYN>?a>aBwU`>%j1olj`9~OR zJ>-B$`_Oqp<{tcfd@}PNzZGDJC56l=R02yw=^JDCI&(ystxD#Bz_vu$TTg)&*fiW( zc-d$Q?5ZZeUt3`ZPQRarxu-}0604Ty7ZT26ES4XWo&N@WeOvY8V@UMMSB8IRibFc;XvSff&V~4z!V5FTYI_peiI0_ ziktj#C=7%vh#Q@rT>ues)yz8k!jSRSmuE%%O2}gWRr9#u4x~i~-{fp+BN-_x#d9w> zHI^1de#eNV0$C3(>hVlApt)7Dyk9RC81Ft-p?b&yEX`NGrFt39M+UxkRxZyvHi95iPmO_#q99a3 z$ROPBF9=%?porYO4$e(+&FchGfb(y1otn2&ke<#bA>UbiT%ET*ysuP6Dpcc5VZ-|o zn@nCe)lxW+7~Elt+r0vyI^(YbdzsC!7k-7n#&hEQ^EaETNO`U)&KPc5^YQf)yFMj}5;xj77p( zd+6=TzXSf7*|hT&Hv!;GiS=3U0tU-DkAvNrfcasaw1MgkVB;EQ8uV%iIGuVwuKMUF zAZf;O{C2>-FR#a$|7_g^o{fzPf4NeCx5t|%(NPNESL8dX$2JXu`s7X*2z>{kdJkMn zqZB~c^v2~9gC=n9N>9oi4l+0&F7RsS)*Og-F)KXwoE5~01hbr7&qUI_K`!*ICy%4ef)z4Lgf``2Y% z!XVl}3cIbhsfs#*e9@y_imn4dw=#5D$nPaEGqQg~et_>2#jYb-!>qt*pOm|J_Zo0@ zEqHyGL<`(~tGkH8MZlZ(PyAiK6yQHFSV)TC0|CPs6S1#w4lLAe_>~bA2(AAiIxss2 z!e!q3YvnqFbMK$++fcs>&KFlxjQ5j3v}-2?$L<1%;~4xj;-w7Yvz$QXeSeThd2i?v zkrA9+O7IAUtE7ATTEBe&!4lD4aVB~oguXiFV7>|n-PC{7Su730 zW5n`qtT%uN=_~$?Pi(>YFXolEIqgAoo%Y|M|V4B}c%0ULxb=Zj(d6kxoKg$+`%*UOMtd z2gCWb1I$S;c)kPgv+tL3#&E9exxgNPje?-~U$0yx9dYh0NN|-S1e{3}jK6&HE(o7` z=WsN^7ev%GF7&cEfT*BaCC&?fK@1m5sf1n|h$F^j?hbtf@vUZU76(p%#6$X34o(Op zMH!vZHtYt;3k?DRI-m%JTjr$GG1kIG#^6_BWwtC3Wj29h%8 zCw(U)K=N|l{AoE`aM708iy<)-m@cyVJHK56I^2u0qCX6QO?7b8)C=5OwPxAA8AOTu zn>aaUIz@pOenO8}xdqNa(rbFZz6pZQOa%Ea&w$Wd^3Aung+SOKzct^*P;f59H&Cp7 z14Mo~H%;|`4n)gLcDEJkgSf*hPcLwpfOyN88PP;-kPseq>WG9fNGy0IO>u7qBw=dP zkEZ583Z;8Ri!ukeX!kvo`L!fSMZwy+Hze zaQ;UsPobd(h_UdoxN^V{#O(;Ls&F=f1f$N6hug|PqW+~DVRC^WN&boSlPk<1S>j@% z?)wKIMg5frxqJv*^gk%86B7zj+dJOQK^~BHT&a_;>IJY(&N?USJpjzsen%-<4FQ*| z{4!^s9^m$XR9o)22E3tuWY-@O2nghU;%(~)LTcCAMK(A<*f+EL+4(m?L{cX9z_JNk zp!K7E(UbyWQ{coyS__aMP(c#pRse}J&Cd0!UqI6J8m#-E8A#Uuxu)M^2$FwN@2@^v z15!F$lFuq^gNqHcF6?$QAhka++DqyuNTcq&SCG;S(%l)~iit}Chv~U@MrGo_isXK! zFWeCKbxmYlSX=`hZogfm`&EH2S5!Ci#smmzTfZYtNC#*5?zA+QD}%E?P8>=Jkp)ps zzD7dI0wC@*;d94F1QMmSsMl_*f)woR<)h*nAZ4>m;`1*iaPerCw|967xTsbAUT=RK zxL9tg_;~sNNR?43WL^CRF75Mt$MC8dq%o@0yoJ;t9WHEdJ#_~e#ZNuIPo4Phd&qxR zB-c3jSW&c4%m4bh@(rLZd`Kwa@YLy%-3GShP z-_wvf$f;>7>;HG3Aj@_B%OU%JwI<)Y;{wad+pO z3y{?XD(uGLcgQ|V;ZQSS8xh6uH+IW{R|L2_ z>^6~K;mHNw(m)iDqvPoJ><|h5WiBb>xI_!GzWr+gb6-JrHiF+$3K4R= zI~17_egP3np8cjh?SR~x+KF~jZpfQLT~uHy1^J7H%0A&QL_r&IrnGEXD5T?$$NDEj zbjFhZNX_eSxM$)zc~iU#owXeiJF`y$MeM(?<@&1$yL{ zS!s31&YYQG+xZ?@kFfC%Gn_y+pKp6L+o>VDlI)K6qAAGX<>IS8=~3j|YIz?1NkXnC zS9FQL^O0Nf+Y-7o7vve+$MdlDD)MC;*H;yzMnO}tRU-TPP-suv^0n?w6i#G%>i0Mw zo$ERL$aX~qMSlPEXUw<{MQ#3E%-iHgG5esOLPH6P6VePgbb}7XHz0XL~fy^ zfQzH|k;mZbOj4sh^6n|mAs6=}e{YGIoBHM`SnCH?_*)G3d`wxsPvJo4q8rSIlhe@o zahsWSArbU{*t_n3tiSg!WhBYUh)Q;{viEV@BwP00BYUsxy|OBM+$5bDq!he8x`sa04`5=mRgvahE z6wG{46}tk#$%%Q-XBr@U{Q+}k^%BIKyI+_(E(q~r;*&DfnUHvp==XW&dup{-BEDmc^kDJIu9=PXK5)C zyTElt;u+mHHgMapCSE9e3?3GWg@fj%;H79C9{k`Y_&ixHo8+Ja|D!}3`n_)uSW7LM zP{aixoP)~4Cvg9e7u>CF9!d~%FgbZPVF%)`mYhyy^Ms^*ZgDaf^&myu?Ad8!R-m}6Nb1?()!qU zBm6yEK%(rocblOClKirCvV)R3Nh=sWy6&75br&I^S9awNcObj3uHV6>3WTA0#Q{a>iB)xg`_#1-|q<=N(@BRH4a)#-@ z`rmPZ%Pd;eG>dakuqzNJH!BQ9MUI=6X+2Q za~Lqof-+uN%^$CJA((f-P5BoM1SZLK1``iKh-K*za}p1PdRzB4{-J@e;z^E^hj<}^ z>7aShZWlyxvMzNEIYG>~Lu3`#=po*I^frTuKO_$RDdJ)Ygp|t%Y|Mn%AWN_2#TC{D z$hWam-e;=>1>GCR&e#5eqQ_XTa_KshguQTPl)=wS&9e)+BY4-T^5saWTJLgUE zHa(P$Qyn{~e++OrxF?xbbPzHWBHUld4#BKx^bO~RA&gn&r7V99gv-pBT-Kz92>(an zy)-uqK75c9ZD3MDYhF#;cA5VFO`yNC^fXZO)0_)WiwxhUkd(0h0ZxU zHI*T#EXyt^k4u88Rm^=xE*7e<^KFawOhJU|#*^IBMGzME-a(5j03sXUm)HjGE4Dav z=w81b#K;Ob&!{Cp?C7vYQ)3rg`fIsbRE58rPG#OT)4ByoooDK9KsKa)Jj`J;dLJ@p zG;Kn~!{Bn#*hN#0YAELYZ4|@s6Rt9xV$uDp0HsbjmAzfeP_BMCQOS-DDn35;u?bFt zDm}9Ey^G>dZPYVfD_8>6zfM|i%SS-X4V!Ls_XI@I#%{WK;XZWd*|ihBaUZof&*xlk zdm&~>o|{@!0OABMQ9t0dg-b8)>GdjyL;Sy*hE2nBkeCry^2dJ&lKU*kt$S-B{n#kS z-&d z+L?THhU)sdcxO8~s4?XTjF!=Znm<1`^(Qu=_D1U4gZ4BKJ^O;1H}54x2^3IVmym&2 z2kHASn+GATb4k7}1^+HHp3nVpcM#%Nepd(A(?BBiSoorYC?plf^qLA^gOpc$vQ$ZI zkfC`c+0uX;a?>X=BkAOzsPJc9e@i=D9kE@h!*QOn#R9Ktzj>(CmZBOs7YWtJKYA-?B6y(Y)@- z_q0YRegBSN_B$E9)#iIQlhz;X!e0pc$QdRwld;7T| zc3JvC-P$a~Un?B{n#=(S7KiqC(lp_H`>1^r2Q4Jgs9pM(Hwei})So>r9>Cw<*PJ(X zz60r}Tip7-J%OzBjTa5O#c-Kxc%}A9E?mtCXB}B*g7S8MSuTb*Q1z1Ddi?kv)Uc;t z_=5L|TE^b~7S0u@U3|__SWy9WMEyfvNije)-|*?^+=6;?Q_kTD3#h+NyHERLBQk5N zAGj5@gmi}l8(WN*koh&X*jh7$90HiAvdrv}#6HExe~JQ-`oo_=Ims)Ncp!zob~NCsSE? zlE5#>Plg0Hy}FbJd6C?r#H{YzB9i*)W1Tl?gf!laEIi_zMT$>0JFlNML+2ibmvf0c zL4?71D~(_!WIUki>mqavohaokMOam)T5XJCIo(*XYv^QRw`zHOI3IeWXh|g@v8xL%N*{ zI$6iakwLb|t2SR=WPYMvDsZ9?Ip$|A*cZqkpNf0MC;uv-lQ-nfjCzQJhpbZ8jnzc_ zym$2Z{RTS3csuRk=cH+*%kq!Lg-aZn-7Md}xTcD1GFfwdCB%_a_YBA6wN~V1hE`fc<(pE8Nvce0NvL%wque z{Vb2LE(`#Zi2CSz|3>lq^G#X9V^YXe{Zoo$uo<%N9jkE^8^Q0%ulqHv>L70k&Q~M* z_)*~BvIM)o+bEKE#O3w`H;QFTd~Wr(8o9=2(ifC5AUBQ{Nk!>MelzekJLtxoz>#kwD;V|`G+#?d%ICwx9XF;<}G~`Nci1Y8SaQw z3Ya~ejV!_AFtxLXkp&p--*=!}T@$IMZc@B@N>pvj<`a8=P_$Sl-SL`-&NUKNXSNv&pOLli!iAYp|k+zYz*L zTI{ZeeM8ze7D!_E_rTRii|+mO8m_-Yd;YF{1Um2dO#A}5G;(sZ;_`LsL0;O9f!COE zyp4@AOYK263hp;B@*|5x5!|1r!SpGL(X_54G?bvYLu${s9s7{m$0OUxWj~M`*JWv^ zCVu4h(AN53>@IQ{mbJ3>V?)mJyQ&R5LCBe^%K0s>gXl7-`bA^t0P=XdHEjGu0Qr&E zxrVv%qM&Ok7{=%7yqP|2^AFt9tvBEOk9U?m@jxz9}@1gz3 zgEj9Yk*WZ>AEe~><@|v>*7Bx%F3=zkCa!Y=_YWhtpFI2b-N5m^y9X234}3=MKTGX6 zxtWl+@z)9?ECBgWxLtj{j~WGE8?wlK$%L#|HtmG9YryEhCUpn}BQo%1vK!dPja*^w zTm2M{%N(hXt9%=Vf}_7$vY1$-u!hdfG=CW<8cy-zIV*#t#~<#H6K26Mj;!; zt}*2aJP*O=PfD{tTn)KDoAXuNUPYdh%AQWN`pDCc%+zI<5_yDQwFq3DM;<3c1*bl} zL!PWPbt=upJZ?RqVJh@D9Z&$@HvN$e>tv z1yi9K5?)8YIie5$K%RH$^IZg3kVo5h#rIc>k=OIS<TgPVS1NMnlWfWN z<41;(wgE39#*k-qPfq2-(&8WSk9AtWg|yLHRa{O}KTGiA)f`cju?B-fTo(Uy|s{l=N{uM7{ANg*TC} zd`7Fe%njtTQRi+OB#wOi8x5LWSCG#I`lr>ExL#u04Y zDe`hZacPf)<4ya9?t1;xL4Loq#g*PNqtKHS=V|xiP=rYgk0$*S6vZOoe@C+!MaygG zeW+_fF&wfA`^GP$m|oH9jKlc)6t*5E_1ob1obU!EUcWwb98bCzaJ@plRGH0S4RrD3 zb+?SIFX-Zn_cRR|W9Z_CIpW9s9dt1`m{muU4_(B~?`ZrN(Z&0MYvdZ8BUs5?JyoIk>EkX%J&WF2%U(`oYZ>@OB z8UCT@;IfA|h73^*ojYmy{w9hkCHkc|HKUjvhZ|p0%uy`!u!^LcJ-W!Ae7Nu5BjoEg zxJ3GU5&6Z*K0A580r^)37pGM2M*&Q)3cqsSM*$QU!xYVjk$>!vEk_dv^7lMMuGPbX z0;zg)nE3-xsO-wPCnk;pQas(~PpctcRX=yT{CO0n!cwO}^BqO5t#|spI)tKTH;uDj z7on)%g6C~wQc<)hSJM%@B^2FQZydF948^E)ojxQ+j$&?we!U!f7sZUe`Q7;CJo3BX zbT{wZ6uMaXEqTyi8~OiM$ztf8M*(l1{rHaAqd@% zf!s8O)94)v9Qgcg@+)4y&HcuY5-d^BTJ&k0y@7&UA6@)ngXix$@vpzk6pGG!L;mXw z7m6l#S(dtNfTFB-&11DWP}BvmX6Jj2qUJ8UxO{kvqHnGE=Q+*cPieo`b}}ACF`16W zdv^inIf&Q34;M#%qy||fXLc0uw0Q8ATqO$J;&o#iIgEn-*>?wfY@*-}->UE9Z7BG& zjN!%0Jt#Qjrqr9UV<_0rC%i!`0)?f&;Zb$aM4`J>TR#;=QMkd^^9|;LD5g7n^)q=j zilJfh>VH7M@h`3M%QcTt#LJ-T?Jv_&#GEScmBM2v^5Jz?RV{xMwb;Q({iY2?&n(pK zzb=7dlr8gmkEo&m!>WepmQfscDI>hR^&ADJKFDsV??k~IS()L{2g^N=`g#L;DDY%b3-z^Esn1wVLgd+rudARe0FF1-!nb5;qP7GNQ;Y4;x>7 zc#5L!4=#;~x}xZ>zv+CgsH1>~CV$om+$cbz)xXnjz0y^H4K*<2K3{^g+)J3We*YLn6IT1N@# zujPdjpP<;ME%)E8W~0zo3eO(w*Fr&$PVUp@VZ-q}$>0W`9uy)|(|hwzD~^XASub)b zLJ@sm^KKkjMN!Xm1wEBIQFO)eyit~X6fifgfSR&Vfbp7-V$Bo^%GItMQO5B=4sJoJ zov$cD;*VXuEQX>>Bwat=E3kFt zYcG3B${K|iL{`&HHKM3fIW!y30#G!P+OoJOi^m!8RDSRT3NUgUbfscNLDzdXUS}lZ zc=@4%tduSkNhNx;{WUL&`TJGRp)Uu;SKP?kYe+(g)5HO49Is6NX*lrrg+EG7Pa59M zlR=q*bW3O%$Imf!GLt6($Tym2nN#^Ka$H^PqF%@Mt*7ia8wBH#$CH?suWs=of4!d_ zA=&tPPdmh4-+UQG4qUEM_&JKAY0lj75zK{vQ=UQ}oSMN`KL0Luyc0Zm ztKDKUoxyWRM!P6j3*0u}VMB6J;KuMiK1Wm#oGB(}@2Y(R$L--j*9W3t*V>R+v`hq> zJRxtDe+ppngkU*^-=CXbXD&oxxL&hFe60JqK`;nji1qcb2i1}52Cok(fTF{pR|8+Z zBN?GDR&oK9NG{*v^6P7C$dO%7v#(FN}VSyaHkks_NO0lN@`|pxjI3c)Rln z(P$P~3?EJijiyC7{chz?uP!3!RJN!%79z>y-3u8kxIVY>W$OQxLx+V=&YCf$$&NwFO5 z`Z61I_QlQo;Lu5=p=am97a@<-?8s9_Lkp0cgq+}^#~3n$N7dkm zU|wHCp*o-k29k-q$2_gUhL4x?w_7(@cz5crXi0#H^=1yGem$Hc9*s(m7XY;{z0Epj zn?YjL?#s}cVwXj-Bqz8+0@BN=~J^&+8S}Mog z8=x39{qpRMRU}@eYkB;cI5P6y_mAN(5!nuE^xv@*MlQvlyAMot;^(w;g%Lw6$Tlg` zw(GztWOOOVWw4JABaz*&ggsMRnR ztRL8Cw_93)ez((j(=SP&Dl6&QxBC?7{x&?KmRN(VOmtT>R~nJy#JTX*$$p%V@@mQK zgby+sv0a~rrZVm_GaeQa0eqX(!*lvna5{NTk>~tv5NPGQ z>E==nLZ2wy9yPrJskm!uhWl1P^;O`LF-2w2^$%$1aWerU_A^J*tJlHlc29J8sswn3 zZ;w+Zlfb$4YDe`+8@LcG$?~w94&*Oio{gaVjtJLf+4nVwAal)+y=Qrgkgb<(;)o?zkQ1eI^MPW4(klE5$ zRb)h5dAxGLZ!W34zL<0WPx%Un1dk^fobd)Vv#O9&dIMlU-0LfEi2~EAgUhmv(%|;V zRBhl3CHOt43Uh5^22aKyagCQHV2^P(f2gShowgUb{XgT-+5F-P=WF7~SnAncJ>eI! z7&|$~NAHC$C{kV|bMivEnFrnWQRgE0OVibp=`%>4#)ULdqK?j9Jg`jplM<PJzBC0F!%s!q1e<_MLaXJsjPqckaKdLgN=M~mE1?pV1)y_G z)H+8igpipi+e2FUzsO{#?1oX&b)-3eUyN>*8p&wl*ZW)V5TX6nv-e7pNLH?{yEsw> z>Bgok{u*3FdhRM2k~=d_&T( zvq1LSrnDcyj)^0^J(&UmWAYAk3mZTrLm|rNRDlo{8v)H(Meq@)YC1c^2ezi(jJ|($ zKmjKr23Wcx)z(7mZPQj{7#g|r_kj#D3_O0sP#KR?^FbR)@&uAr_xk!Ja0Ka0Z*~8* zt44_G4n=xY7&6)B8+zSMkIV*tuk?RRN2d7USu17+>2r-)-@UJlq;d;m1O+~Ua@yH% ztR_QX?oLy_)w2zb>{DhO(yS0XyRUe;bpm28?F3Nb_-R=4Pvw6zmUy1O@-lbd28RWy z=M62%KoI_%-22T6DIJ~dLi!iNY&^ZSfAMy{K0nB9tM8{b^@DiBTi{C_j~2|0#5SqeJJ5773~6@-O6m*g~?( z%c0$&j_BM=`OZI_QAqWBUpN-TjLbLS;)rP(vQqk2`9X#WS<W?CYh$??o3@z8t!R zw7E_gBq1IGXX2%fk#h04SVzKXq#)syWvs(34TwHREp=w! zT?n-4v+x~t2Pb*T5{-&mphlC_Me|+}DHQP)_J6|p>+HI@{LcL7eC3l99s81z`lBQ_ zY9C=FcQo|Qaiw*1E}BWiv-1$HYdu5qc#w=P91-EKEsQ}{dtW4$3dWFifZe|V;~``r zSfs*}ON$IxAI>laenVuNX{{PATwr#-dbQ)^4!B-QjJ`Rj0@2&<`)&3VA*rH5Nc&+T z#O`lduliL8fqCpQ#z~Ce==~@3vHBRO2y&5+6$vAy4w}2zydXMP!_ivPLWlIbzD2cf z;`i*f)+>T@2ap_BKkDZmLAnDk4HB;YLMkmknx{VtAoEjp>**UN zB|PrPa{P)#ziuirIe$m!3XK7Z>SoK183BhGD+a(bEf=&%R7i$=4R^nWD6-~ zx3{H^(Ln6a_lM+Z`XFG*TghDk_aWglnO*%92+~LEroDHGNM%gFiZW^y=@}7D_TFVi zdX?`C$b6R&;pgr24buQ5(_4K!n_nDhRaB_oRb)X5dasG1q7=xK$*9DVwGCPHE*mc1 zF-BHH4Oic7xgjeCq47W&GGx|N-KJr*iPZhhJ7r}Ug3fvtch8|*-7GnT;OvN1*U8ZGd5$ZFnQzlv0bRE(_dIU;Q{ zvCyCTSCQ5g<`%j7WTYYtJ-k73NYc1%#y}I--`+YQ`ogypNq(Zg{_c7{GHiYRONtYZ zC$M1jn7t~x@Ln%i;qoxD5YZnz_46z;KN9xqp|=mxmxhe*h7urk>}j)z-7dH?IWc|I zpMgXLlVA#s-;mZ~(fnP%2cjMIHdOK{!81GmXvz8*80+c3bgYgBCL7B@$2D=Jz(8mI zVLl!a#_P0;7)VI<5OMv*GyJ`S*KDaaZv;9$Mc;C#Ru##9t_$`X*@px|EV|ox@V>s> zPOc~7iwvHJO6$?mAmh4;rf<(LA(Q0P6?2OwWOC~J*UtG8WO#w|nQLkj5=)<6uKn^E z99A^`Z0kOO#N~lphb1*glWA_hGkp<4*Jpjhn5MyrYmh)*Ru4K~%{k?>lz^@9;h);6 zS#-vl^2Oetd?X=4JE0dKj)d&jlGmEK5bNnFmqV_O=zv0`I3@QU;%YVe8=^VUCd4K8dHX!Wl7fmVgsR&o_S z4~;Fh3X??Op_GxEBM*S%yth+NTpb?lhpo2DGp~&^iqlGa3Sg#N}1AP ztmlW};6lV)JQAQ*D{;X62F~UUSP5wPBB`FiS0m0{NXGZQqeH7F{y#ie@1|Wv^1^#M zF_*=WTKOs?y+JZ47A+T0^>D!@iA5d8DIrUbTAR4RuBK7wh)Jb&ThDt;ai zncyzk1@!B11e3ig$cb;c&dS7tj41Iu@slISA6p!-O5y_fw5DY4U-TfW^S-aXjtt`a zxvnMI--p;#JH*SA-y=JwgX8b+`eP@!A=-m3h%R^(V)*Slr7Lek zOt0Ow@@<@V5#8A&d*doxI$R@bOiG6Mn;L<)ifbYMI}3SHo(?2hyHbCfa)iXYCS9Tj zTOrxDuS8P11d>NrRwy(zA@$z9bI$xike2SXw4XZ#GCPEao=bj%tZdE>Hj)73_u=vu zL7|X;-!}Qw6j}fJuv`&GBy8(l=gKA?(rj#K1+z)-Z=r;H@fpIy*D7gRP!8f9Ss!T^Z#AM%n4W2CC6!~ z$f5LF@AYGxH=&~ZRbY*)Csd0)(7Z?Q4mGjMN7Kbxp!VfbB#}M{h~6AE7Gh)2U_+PF zbweDkJDACN+n_!eXYc01T~L}?5AuNp^l~V-Me!IKrH7A@RKQn z2D&!=Gg`UOaJ%2qa#|E(Tv%zx-%UbPsN1>(EjPsdG^~r3l7M(|ZI}2YJxDlpro7<1 zC?qCK2;C%9LbA`_?&hmUAaz&S`oaxE$YhQCMs-9Ba?XVv$!u(e{2MKO+k}r$IB-<- ztYHnlZdh7N=^3GnQpE8>!egk^^rd?EsTQhBS>ImuZGxKZ=@mDJ38>Q#em{}c0mLR2 z&lzqTsPBKHbVr#28l=&E;b1z5p;9nSt6zf1NA6!D_vYY|k@|}o?*@p^tN*NcO%vyV zWWDg2tcAqsJ8dOC`jGti_jWeN2}o1lslIAWf=nHg7R~G~$nottwJgC1`Gckcwk(@a zv_Aw4l9k}fbI!vTDpa7%?aH6~nr%?of|0!w&V}mHgrSxtoVRessBK>257Y&zv`hr# z0a#j^cFuf+`swSkN*3-Ay?XpuRt7+1(%9v?KzzP4c-QK(<{*AlzP-w@ zAK&*Jt%*MJ0g|}3SA&)2A$e<|T&&s}(ww9251%iAOw+%sk58^ZP9mRZ&oMmC4Rek$ zfh1fXyvJlJI~}f`efctyR~^beH0WGR=!L2?RVO)C2B7A!T*#?+u6TV(WF<7`LtXYv z&k2WJAYP-kh|UL>fsA9NA3y7m{>sMJ=^mnp*XnIrAEzEy9fzn zt|IQ=K0+e-^Nzu+PDs*RsZ`p)eGU%P-sowhgEU(+b@df5$kfQD`1?2ta&k)jjdK^_ zGKck!hJHL0)wjGXn|%UTZ~7X_xi&$$+cS&em)%fxUugEE1J0w-bC7FzvJ15tOAC|+ z15j7}+as0s6%aGC8slSmp#JQE%p&pusP|t>>81987+)n#s+SrNB^_MQGtLi}e&l+Y zXQ$%pa?7U2Vjm=Og|h{^1wfMVURG#|H6-s07OVChhcwwc2SugpAoGOU`%vvN$jJ?< zAAZCMxHgVVx-%UVQ*QMOjxobEnf|PS$Rkiez8=VzKm*nM9_oYE7oa9n`fnN8F{r)2 zryo134Rv?dUwdZ01!BzOgAqb_d~~ctDaTt-uT7Ar_$&u8zlIHqCl(>m=@DG1k1d@vapr?pb~wQS^uENa2@vgTFz|(6{tm z|1qeYE&gY;st9%1U|+_`1|SC9YT^jf1LB&hg^DOS)N{Z4OuiZjv2CKqLvl4CdP_Zx z_n;om8)lCFiThY2Se;qSd!PY{^5o36Q@0^WW|fg64uj;Yn6sjT8>H6lj9p3}fsFjo zP z1P`>3S3=$4Gkx`cPC?zP05zVyA|Sfk-uo=e1;o+*v#HNTpq`9vl0vHr;_~N@{`^7> zv8*$bx)zoYpM^D=vY&;7NJo(j+>A1jQ0+P!_6m|t1g~V@;eurI!5;cUE0C%b=(7`3 z0vUq$*=Ud9eF^=!!#1W3mtP70v@+Pld4AFgCj^V2%+&mQjKUaHnP$iZSoT1Tq?Tua zRu|M-i+|8;r-C}UxR@t0a!@z(Il=1#-aqXeLavoo0kOm7XMrBR4kj)0Pn^biUg^KR zZ6xr0xRv5PQ5_G6e^tzEBtixWwQ8EK&)-6#(FWayH_n$lxHZVRLI=t8iIVs5b(qp$ z(p>x02tVgpxWd9SdH$Lalq*L)+nJWnG85wStpr+NU&+(|An~GHP{1}TB$0PYwKS|k((7A7 z2cE@2%6SzUCj9+DI#b~i)R0SSru}QNJgj?!r6}6IfSOWbk;4 zMU0pA93lR-clFn~dk`Q0w$kgI10+NzF*9Enf<(5-sy{WIkXV*U&;7X_k{G1~u6-+n zq~_;@$WbFmem}o_=;H@S^Y-j9NtuCc&F;}pGVD;0TvY!?`59b&=w~of+5?ptgA55D zoALdKkvKFTh1vkAgX0_Dp-x2nPl!4l)ZLt>*r~(UB_-zph)DsW`kTetXuOZQGfnPq zti$Wd>Xf9=ZAh?5G+JZThXlT~?n{sQAmKw_p0O3qbN7^P^4IBs#HrD%Uo)d2Np-M{ zr;~)oc|;}RWD6uG=-KPcTSq@bUEi%c@#2&~Je0_(;((9xYmzgeb9i3& z(^}j;hmU=6Ju7N>T%rCfMN5$Ih^y{|q8TKr?7j$kS`Uejtwl*Zm3W=s7kGJQ9+C?0 zyT1IC3rTZC_p7JRL$Z_nwS-PpNTuHh7D&AfS;r#^rnPvWP%X%Q1C>IV%A2X2Ps33C zHq^l7{spLw6t_E?egx_yVzbU^<9)s8O{)0eVW@kjbZPPHFFelME*&phfGGMY$Y(GD zh*FwHlXoeAC_Go0`Njbf&sFmM6qJTU*^TGkf2bj`%7&;h4Cr)Bno|b<;%)T_ja}-mOaV#PB-e9y8;A z;|@fw$JuwAH-X4}xc_`H?yFP##eF%u84@p#3}n(LLE_d)4h^wMNQ&tp%G`^GWIDyx z$YDQ7E{nfVs2>a|?2a0yC!HY0$3x{u<2Ohd*3jG*RKyRT(ZpXPb5KN7@u;9=hbnJf zmnV^wP&=e5lzf;5-)F>a7jYhhx@(N%ZIe4t*A-c{_}~H5O)_U%Ro=ks$ePwkMIMMO zVpm@usRbevsU$}NA1R9$KM1rz;+rc*w-Fv^&;9TZzv3WCjMpG`3D0MrS>l;f6ObIq z5SMY@8B*lm{l-}kkn*>n#pQ}Fq(1y1S*s!iX>_vNSEw8`V zvgHQi0SYeH=lAe9AImz{v*BY>)^K_A|Gn?}Z~QL<|7GC64E&dY|1$7j2L8*ye;N2M z1OH{{9Gpy zvrsRqsQf96*;0sFZA!Ld)^=GHAH$t6``3Sdw;#^M?0m1W4*a->>x}0XQj9KPj!FZ+ z7gk(x9rOWV@l_dIKmTy*`j>3XRqUZg=$ZxQLe4L#rR9LRRbweXtSB*;VVBx3HwQ8I z)2*q?W4Jzf;n2Pw*Ta~NsGnh0fhcAn#sB+juLh>J)!Q%l`Ua+XPk1YOdI=-6D_nei zlM7S37k^aCuL)E0e*gGQ&ksz^N#`Qt<{wNwwYKI|oerkECikRWMCc^66P!JxnLMh7BEP#WX7yYG=$p zVcL67%QEE|F|`P3otk-GOl#vnMB(ZtrqZL;yJ5?XY35yKS(fI&Wa4gz^!m)-nd`X)UvlkW%MbF~yx*(Wz~E*y*bi zPgsSAFnu<}NlJ;qOfxR!P(MA2StOMA0m5$%|MlnU@nOo8y{W0nB#zti&zyyl-)D4Y4Vyu*;7F`c!Oj7Dn z8O@C>>|{ddsk*WdOfzw=Tx7BqGcv|Ld$%3I%t{)TT;CaB7PmSROcX~jtJtsB@140Y ztCCkt59Ssziv)*5^J}=CeT!83qi7k-(5+KBp#C!GYOdz*UVTjA$oasWEFvcR*g;#PSOJsD8#+Fe*^7xJwx@?Am0+AyxTw9f2u6MO z5=p(Y3p;b?13LcqFvh%li!|_K3sZfPs_jXv!OopFI-12bfEiDfE0^TbVrD-=ZKK($ zu?x-Pbafl6*o8Z#@;e_)Ftd3^mbPYQ%y>cQ!ppcm?0iHOE_auUY0tXNkw3%NF?WQ4 zmAE#hGD6=Ul@^4_r|@^oMiMdU_l@Z{ue`t{p7%!6XgOh`;x!s^Pr5Lk_83vQihPXz zlk4B7cBe_dOzbH8UOd2fhZ;s0w0p6`Lq@Twrev5xc_MLV)CSWczImV1CXN}*u30>> zzKfY8Yy~Vdh+}37EqaaLr!h18S;5=kwwTHGtP7G)#f;KkPScSxnNqHZ$0d<9hgsoN5>QK9$q?I_vbxM)FO#KW-sk>XI_t*%N_N(VCU?*T|t1JnX zpXo5Y^7M9ZnP-@hp-CG@?jB}xJTtLFUJ5gbwQ1FV7lj!Imvy|S#rxPmw!+{QaZI;e z>cv}C5lkcbi|f`;S_~DRA@i(d#bhVNpB3d6U=p04ijSExV`rB1-hT55!T8Yo&FdbG z*zr8=-DZf#=xr%!`1jaJKl~|=A1$*aO>vxFsP~$|*rRj083WX?eF`2jLi5zvS%>zJ zLKZU&74VGnISgW2qbDD{R};eY8znrBUwMETspjKU){lsB(|m>zFWcc zNj?g1$1^eQ=cU)@l!=&H`cV8a{mYnQYPS6K(;ArMG!n>ceS`^LRi-mPz5 zB4WqOM<&K7<}s$D??)8EVzK?I3*C2}XGlvati5?x@=1g3?-h&8$uQ;b$MzAwGS;2L*dYHn&mF?@o37EPCTPv5fBBrx#&a$2zh@GdeA^YJff*EWTTK|&1 zf*A-u7y0VujOmT9v2(~C!8FINifp{X*SUwl5}QIRCM)1(Hqn%eiFtJL74J1-d~9tS zC%BGaoCW(I?=N=17*`2BTV1CyN@WI{@_*!{@3{#a@?UgFuXAH$^pdJc*NM#99i_b9K#xN<< z$Tm!0Ph%>qoHCdcPsM;xZ}Lp!v8Wf4<<9!EAP6m0w=szf4tQhHj`4qu z=~2u~#yHlJc}8l_HE4DFhaU&&F5eCQ&(xJe&5&vpC=qb7~g-h{2`8PYw| z{U6@Gj#niWm97e1B&j|TSvy=MF{ApB!c=|D{U7OB826L#pZiE^XJfX>_Q*)zpNpH1 z&A!5poTc-X+IokbvRvGwzpQ|XMXd@{MVDZ5L&qfw1bs0A(_#9-yM37YhtOMg+#Q&j zE&QQTn8M_9Q_oDlSinv@R6l(}AA}wDF78mj;i)>NQ2=v!WU8y3-4&dl22@90_mqZ5 zw~$71K2A;el1O7zt6ZNdT1bz)Zhh{`O;oMC@`KkY?~m&BNWp0`VKUXNSnErc2~MiB zbjx`c$;k)@{+OE=A9Ey7%`O^{x67$+du_QsFh9_y*{#RtK4HxN7e1@U% zBsqb~f`2WcGG294tiYk!vzox+L&f@GX^X%odvxb`tS8~LY1v1L=Gz2;_?-UX+jInW ztzl`lEgOvCNl3s4UQ0}T<%Xv4Kn^B-O6u+NrT3U%nEBqsr$W`&6_gEg_eKb8XSH`9 z+g>Cv<~g`aEPYg6zT0YZpMM=Av-pFVcPsb&q14b^&I4d)3%}V`6H#9~Xg( zy7f1aU6a6*wcI}#mQSF2{bpX^egQ__B|-YMSB|lqOEwIb2*KEhXQ!Hm`Y>kI-3RSl z6WGBcbS-M84@g`3e)dY^jijma;6duJDgwL82eAl^Ey8}|G?J80H9^dgoXUP589`Ba zKjX)74}yBqy`L51Sp=QIprj2k5<#CKts#1|k)Zc>eC5wRdxBc}ON*G1FoO6^sgB0H zC4!(cy2%%EogiMW+`-IMPT*(D%%|v2CVf7*zp*=L3FCV5)#vCM8OAr%S??|P9pf#X z85^Nz#7_P`v)1I`k1;*qZxp{YfstK$8kWvhOIneb4{N-mN;q-UoM%IRi$Iw_Imo=A zN|3ZTKKd)ifbRXFL45k8mL* z*hq{1HNhaec4<3douD=($^6az0zuy9xnVrZ8iCy_a%1$a7{)JhfH-Q5`=}NcH|L~% z$IkxC?WOekjEN5I%Uz>4#Q5J6CdIjKW1MHiINu-nhEXS(dF&}OlD6&*oml93M>swZ zsTGy{%krx(1-G0~F`omo<|AEu7?2CTh1SPU30vwJ1 zFhv4Mfe%9o0n$$35z-pa*{&y5Hem-u1EPp0`^C_7<> zL2WJ3C5)JXxEZ=1n~i%>JXI*pNW^sXw~v_xe!(=ga{41gcQN%I^XAvi-!K9to!!Hn zDGX8aJ#oHYg~`>eGW~F9!=y*{J{^<1iwUwmOdLG7f&GuYH~*$8`s4qJ%wy(I<~g%W zaqdRud5p+BPj@iS^H4%cqDT^wLW2zD*k!0hqLd*aQ=&|n<8$6?eZTL&;qzJR{nJ@@ z-Fx?Wo!5Tt*M6OS_IW&oZ;s#mR^bg!zGfiTEm8!6H};rUKO_MIRx*{ldAk6ZRhc>} zJ^}{Pn{p|hM1YVc^`Dt;V*01L#e@6WK-fT=lcV?{V4y6INv}4>9hT-i znYc#@$ikl8I?)sX==MGdn!m9GjQ9WAeWXhOyh(q#)p-p8zrNxy<QLDMFWl0>+a$c`ast#Iq{WYC&1+od*Rl+ zfx*d1Bhw%80AwW9Dvg9dgJtsR8Z$aL8-hI`r;)ulwC9C(EKonG|n2=o_dIfcfZj<(VnGn}qk=mx; z2{lX~)P#G`K&3uw#!99uP@3-)o#NX~$jeVH8%=oDG0P`3-b`+T>sC+BOwBTc)TX@| zH<@c8li%|nM$<{|YV5hzyl=$rl1DyTkBek|+X z6jc4qkoxs#DpcZgpECZU0Z+Ny{?mcgi(;oghFCvsf&%XnkFC>@!4tKtb*A-cP`F(2 zn($R?C?-Gs@Pu3?6#Diahsrm@B?U9MwUBVf>?$rjz3pd)oc)kbX zmOUR1ZJdEz^KMgl(Q}|cas7LGdLIzyBHo?FZc~ppkL(GVut32kyR^X;OLzGrcGdil2KH_aW^y6eb$e?lg5mAy;ev$j4u>di)i8$a`}r&BD98 zEZzqd#;I)v+a8D?Dw{qa#XYBq~|D0^`<%=CdCtSZTGJOUd zbXkpuwt#)RABp@^4;!C6J5FRs>ZY#aX30ZdD!wM1uWYaxzNn$+#^1GZ{67*ex65L}& zMRP$=QLTUf>BS1D$}*JxX4Dv}ioN%$bMk{q17G~e23w)5;RjXvTPLBA>^bvMA1_Gx zbZ%H#fd?=YwXJ{7Jq83d%ztNJaRTB;OtI}R51+*I{nTO|1 z0jv2zVcAG0U}!qNFlu-Qu<@PJKWBOZu-v(1Iunin>XxxjH-_zTZNmZu4=GMV4xZeO zP1`^yrF-*(z;6MlvLT)0eTxLo@Kcw)sb+v@!u|G|RNSE2l;E`l-gu~#a3_$u@+Op6 zpz__dkcaF?`0Z-8q;dNsc2k^}D&U>)k>bBy1%yo{W{6jnfDqZJd>$kN?2r1Gqk9Yh zWmN$U**_{ExDpV~G5Q*CZ*_76|H1)9X(Aop;AoYuV+QQ*{82Wmf*bqMAU!;br@oI%9C6X{!Lgx(HZX z*FI|ujesLGe^lCp7J;O@xrxwqOCV6u;iu~+1r&8=d*4*>1I3?ZrH1d)fV>tc{P)!k zh$uY~ilQpUJysm~UaBMjr3ycZesdFony$|p)80ixotr1znkK}dZtmsG_K&03eY^7P zOcWzLqt5kml|~3E9j)@Z(2xLyC6mrh7j$-P)x9Zaa@7T_EJ^p*?{NY?$G>-oS!KfyijZ<<9oiNB|I8&a*WFP9iXRAu)B{l06a0r z-ahFQ06Y;F^}HrC0JADDFqB*bS z@812~VRr+X#8V2A0o6cRtU+g4JOS{BX$7#!#X(W=Al@o*Tc}<0_fDgR2Q*;)bPjQ` zhepofX^xXt(15+9%2OZ>>bM9oES&rV)v8(jEv#-q$xpepTg7US{$u%=)bc|>)!sNC zzt94>hC;}EwgWIdmPmSdJ4o}IQ*^R?gv`G z#L{+r!vLi> zMixw*n`U@un%(kSJnbtqT4f>Y<`;%~4mt&IcZZx(=X8WL&<(MisWM|-;N9brTSHd z`|s}p@mFkX*CxCGa?@n(S*JMAxqV}BN3Ry>tb7;g%i93BBJCx{gQGwtcXL%rJ|4GV zsOzw3g4L5;vIE?y!qDtOHK)p_Y-sg@{gK+2DrnIa$z%qHph2QxT`s*fJcF;3Y)hMg zQbiX7Z4aJ8njpT@67r`3HBfofd?^5Mx(PTL6hOdrb{9qrTn5bNJ2~DYYyyglXWpfS z)dIz+&t@F2wt(n9irnm31lsz!mG}K?fR1IORFGd4(8ZN_c$}C4;62r`AjuSwsg&a$$cF>YH^D7LRH<-^(Mma;9%j=RfMQYGW-{P*{(k*DHf9GKBZY|XG zc0Y~l*Mt& zM+n^0*2Cw3yi&uT#Y!R&`n;?A=xrs?wEe6=8*&T)>c0uOIR`)|wy-UV;xqt%&&IeO zGXYw+LK+MFKLF`3N{SOgvQXjMoaw!9U!nP@t8oIcE6~owefx?_jrxOZeI@Y{{;}Zux0nO@B%YtVb;Mhz~Y*ShuIA-Fjz8_N$ zXhKIv$!nW&hsJ5`q1(5BWQ*NlA4MeKOGwOS{ICj6KMNa=IKbl3xZZ{&*AH+P2$zoi z^#{0;@>caZI-o7{Gv3733Mi}8wJc}efPDQH=Qwp+q3P=uW?B8O(7rNAaKESk+Q`Xf z=W1I)ed&sxiSO%BX)2?Q{5Ch_BiBkUWU=k|?j(rsjuiw)`9y643VZ;=oaCzfh!ddw z$KSd1DiM%nN!XRM#Nam8MrKZUSOP(TlSgE_{Qyf}`mDB#DUc6P-jj9`1*e%?F5B=3 z0(E^myo?U&2d`1M=BX%bWQ9ov1tSrp`%@fd;n-xL$9Xq%vYr_(bv zFGFbkzRK)5w!R8F`;+h4jzH;l^4C>5j*wk$mihF$PsfjWn}yjZ`<=+F=^BP~E9}bAb*jS2KvJfH)|0t-i;NK@uLbbkx+wwL!ABqxU*m3_E@g zXk|+5jd#qKkeTTFUFcZLwsPR3%;?zMCOz$C*X{VbS&*2@VUJtA81#PfQccI?6Z;BD zO*+7m#8vam@euGxUe)~cG7s>#SRbhKCIA5z7?xsn2MFvwq0+n00EB3jTe|!Qfz$&f z>htyOQ1}(8^hDlMXt7ivoNwp@jSjj0+VjXmakn=fo9UeJWcI$L;?Hf!ro^N7J7piz z&f;@EyjX=4MfNeBd-{-kb8t%ffjy+OeII6+eH~KPO%;ly>cAso7xGto;vlK=1Kvbg z6cQ?>jmA1wAVDEkuuInzVh}#sNV_tKmwy^;dAJ4fsRM1wDMFCoC$+J(k^u=h!ddNA zK9D#!?m6@d2TAl4jW;L)U|2(&%f-uAVc1aOaqMM27y-w7eJwx1h^3F2IdRl5TFR)V z>6|l+_P8osbg}@(PT0_NvyQ?zTTc2d@pYI)fAjFo;si|MRG&9|-3ucmYUDD917P?l zM+A**JM?nZ7hwJR0eXpjHrZWSfW9_c6^?gOp|9fCqoYQK^J>6w%lf!v ziWnFfeL%;9*%QOhH1vRy3C1ft8s4d@hDq!y4HTyaVYu1nDj>rOJx3*Y#SJH+FVEFK z9-$2|;4GW7h?)QlR?#?kWvUKC=eAx2Ml(Tz>aBHy!3U5S_nurWZU&Mj3kXA3ubZVK$f4!8_5BQR%9s-{@AShqC)Fw<#8Au zV;@?dvIZmXJoa#>UV|~nthlDe5{y@Cag7%fz~ZXJHIFg|h8qeQ^gX77p6hF5M$ZSJ zuWs!y6|Wo&h%*@VR5pXbF?EtbmHZHYe0Ic)3J(dcP@?s81SFQ87^yV-3rQni+3}ZU zVA!YADO>mNz;K1rYtKJ5z~ErzKTN+PU_fd0>ga?q#Q$2qb8A5x5`E)-Y;z7_|NFp0 zoHmBxd3%T4IeIYiVHB-G-*FhD_4?ey2tF7uw9m|nR=^}mx*_JAYSiPe@X8;B&5}Fa(^*`#KuOcwQN2} z>M6~dc-9KTu5u)qpmi{8tn=MNCM_5&q>&zuuZ95@n-LxYvJgLVXTw9;0}_KDy!X0B z3rRoX^-dq`Vs<*XzC*oWWNE}b=U`E+-{bx$xc0!fo!#@*5*jdZJ2&O?&nOt~8t?d| z?Ere&8B|_u-h{rNct|mF4KPs5b-dN)5e$*l75b^D0r3PtSCVB62~}fPZt;AD#P(6A z$DH+$^jQ8XESozdQM-mJmwT*qOc?|Ib`r>WNlaS~? z`NxHG9+Jl1*?#QGfZ*`Crb`B5drxZfQW@!xr3r}p=`US#}n+FNkMejj;dF>ZY9ydtnc{V?+ z)(nYnBK2ZI-$7F8!`xfv{=zWj?6Cvsasm{n&2%MZay2gY;6Q16)g|rnNS#AaIuf$;yD->iLj29`ohF_ zOkobiYcM=v(5QiD0eX!boGKJrgnoC7yAMlOU=X|crG?-U7|OX6U|kjh@k7333IrBN zSSZbHK3finA2o*P&tv_5=^gFSdtxw*wcPOMs|PSlKlKV*u`Uc=F5B+w(}RJJ|M@@7 z{{->Vw2IHRts&9j*6L2)E+kcz%2HzaE1doLzM#hh#u(!H&`B>;mehv_)q_`uNH(N!NG>q7$V z(BTXhHV)`Y+=YIVLE`AM+y>`XNQ(P&S5n>slGavs9DiVOD(s?#xM^Vhpb=W~CjbUL z^ewf#p$qZ)HB7ws7D$sRvEM~ zw)W)=o&P4EUqoL8CVyWAW5bC8e5qY43ndC@c%;v!(%I1jo0R} z@pL3c@OwUtiSiM1s<=VrkXQ;y?H|=U zV#Of7?nh<^{XWDi&;IFs&ISor)H(SKc_7gldx)KgZ*y=3#W`IMkgU*(92v@wHp%g>pUeaX^?cpku&F%3M7^6tz~iy z!LZPm8$ws=VEB^wje8=zFsf&x66dQAX31|#$f)i?|Cem3Q3l4%35!CVsXku z&!l@7lA_PC-r|abg!;1Yd4zFnUbsG30 zh{Jrwf7ZY7e>plAe}_TBY6cLDAB4mdY_;I}1SC!xH;8FjLXyDh`ME~#R_?BK6+s`pT!9M->|+h zKOBak6H)i9mSiCzcaG3Kh4qu=N`F9G2_!y$ouOh0F+bdOi~X(vN#eP(4z%qUk|< zo-ja?tabMb>^TL=KD_>JcpxM_ta0SI`vitd3awgg_`#S`O8fSgJuqD2O#iWSAu!PT zo{TH^Cd7ZHm%0q!VE(AsOC8=q*ALgYEt&*)>R#f&$W)v2mlN z`5=w|IwUDc>ByO3^_p;wf)(90Nc=7=7nWEBiOb{FaRxPzIHiD6sm(wVIj!@?lpiD= zuWaXX{RK%fJz>6zb&zzX_mDG%ACgQT-x0^2|C4@7y526n2BVhbS~X5s!>~8nX9TC( zVX&(d@>wMf5{7sG6-GXU#Hup#-U3ZX{MJZRT1$i^vRj+uaai8rwm;8zuNt%SC%23d zmakRC8e+UsAW5>g{z*QHeb4kj;0Knk*it^9mo9`P{*HU4Bq2y*S*LFQ)&NN-k59?J zX2Jd+jubmlW7j85jfh7m9{H z3B(`KEH}==;(Z{*YwxQU=7%y43-%+BL>ZshY;y)XuiRoL;Tm=x+|%Ed7MNZ63nrif zk`!LA)#?OcpQ+^B?581#Z@jjFz7>*0I~zVLuVD7nlbN;dLXwE#sU}wk?DN25R|#WC zlJC`Hxzvtbr)zgXx+)egjLh0rm5^jUZXS2L3lc|a^j#?fVfdeCRz~MVA*tEN#f-NO z;!&1OQ=Vij&aVDV7mdd9;|V709v-uA1E1$I4oN%#u}4_)AxZE})cmivkR;Jd_rL&6dNN0f6uFcXv{E1cctG zTi41?fw1*WqdSqiApDTAX7b872yKgqaFl%yLbr2*x#@oax58$N;PDf{^`*kstT0pH z$*LhLg{>ob^alu;1#<%LIFkB&dl~RfW^k~`Ed#!t*gncbGT^(mZ6v!;1^j<~FioD+ z0|9Es8*e(ff*{K2+?O=$ASj^r15Jx12+kptmI$u0tdp~?pqv44T5k!oZR}wP7uh&e41H&6a-%Cm@-s-5BwWk z%0+WGfM0L?M+(j!;O`O5CP0t@0ZXrHlm?H1;K;K?kuPTezWmql@~0|5%4Uz6S(yNl zN%~!k_fG=6XxJNS|MS4*Am?DH{ul5FOFnxeK>&DP%S;JXIR*S|^dhbL`9Q$HILFwZ zP7tgxq`SA74?-UvKljwm01!g-s&2)H0#f+MGpe^aAnelK`G*Wbz<=$_1WaB4{z5({ zVwKoIfQet-XtEyg|I+;;>U9kW2>mlA^IjeVot$jCisJ+!JC5MYa1J0;hVN}3ID@b! z$x%r^sX^44^Y5bz2Layj#i?Ho-+;?d_5cq;MZO$&HU#P z2n-;skyLU)@Cxhu{F4m;Z}2NmC^i=mhJ?%pKJ;OJHCfvhssUki50dHMGys2%)fx4? z8sPf@Ib9fj5d_@tt61@<00Hlg1*uI`fxzUIKlf)HL9kI4NaOep@DgjhZ(Je)F-Wn| zhMfSygL`Ju6s$qi zB=?0MAc#uD)k%l3F{r4+CQe|7siJt+aN3BsD!2tNp zM%Z>u5P`4E^@(TOSpOb8i&aq71A(`l-W=SJ0YOR0>L0EJ~SM)_;@kUilt%w3w$JB56%+GVF!ZfE4)H zNgxdyuhY39flqM2mwISbDQOb~y8IxP;I=@JOS$|0>1Gh@`mZ7DOBx83ImT<^BMS(e zI-RfkO#sQHi;c{)6hsK`ia%zp0nsLns%G?M*!M3lQ?3wzo28Z;-}zDC`RT~jdF2t{ zt2+&UT+hYgs5m;{)g=&Y;5FygRRcmt*z0xw>;nSd>AYxxM}R0TH+`f(5fE3LrD$qj z0+Kp)kXND~@E5-O*x5rH`06l;a|#cD!2UDT-g}B5n7;1S18aH^a*|S#Y(NZz4mIv+ zzro_%j{Ux686_Y^a9^t!_zfb?s;Ey?je_Xp#i8{VpISV2NYW&I!R}N;AIid0)DKIe?(~v?4Vyc*i&mz5sztAp%s)XMlgWsHKhQX%L*p?shB^1tHs1JQ;Sy zAast!;EA|4z$ct!N26K+A)x${Yna~6c?d$JMV9s!}% zDu)VgiU5yrJtX|t2Kbu4cI2vcfDkmHZ(f`ZNR(_`<0>p5d_>|O*+DsoUNRUz^lb#h zHTfHjdi%gzdxqwD=V{{d&V#z3T;xOU#|lq(XzdMxDOBupo_HBHV9ht$&>rz1OlImjUT_m0z&B)m`-`8 z1H2-&Y-+9_z!%=J+5XZD@KX`@!}J3%JFRy8uU!Jfu5kA5<;NgA=S$o6kSmB@9I1Zw z@-iTK^~FBS3IRSh-{PDTtw4bK%I1l~TOe4fK5hELFbEC3u_}oi!`ju)DEZS52#5|R zp~wvoI^=5`bZ-M9pZlq}MhQT4ayT(!R|beAZZTtxeh|FNKpU=q2!ei_xHyJvVtK-< z?E_CIz~At9Ysq2)_`Ue6-eqq9K~cEeL#_l6()Mf^-$wvqUZ&ya)jbfd7}Ys`?F5J( zpWQ#Se+EcX?z-(=oxo4fGAUwd0|eH$J4mjFfshOTj`Y1=0C=&mrzL&406%I@@i|ch z5IhX1WU=k7gtyn}KK9H5;;{pPr#G><1d3i=TUPD*<7H9Y%l* z2clsg&50IO5avI7RbE~k_gtj7Za>&rQZ zjv+vZzR1k*L%6W7aPY~-&rRDodMCT?VC6`Cm`P1j(8Z*2*Q#n z#9Bv2Ky=BE?OR{PKscFk{N3Ch5ZD$@e%!(k z;8i@y-?{_=g2cj*%?5T{`y^haEDnf8=C!hgp8<(XQ?ur51|SLB7(Lj~2c%Qc+*A*+ z#U`I@p3-BRAe!)@7$rUe;Z?a0-svuY;1RZAeS96j>xyhC`K1B;fJuirNeU1c$KJe* zS_K3U=#cuKc_ZpoMhxu^HjbnbvUhBNFfsUYa2?C1t4~L~^dtabWz9~EVG_#=Gl6V> zu)I^9wiCvVP_>T~y3S_&X^PPIkw$N<7fVnk6%6(D?BuH?Fb#hV;Q z>v@qbfZri&h?2qbK<{*Yi=FysOHi$In^1Grk4G0Ez93#GC@e|$D`g|7i3!^Xf6qPr? zFGjG+FJA)$3MbA|PA5Q6W-oql))=ch-+QwgJ_CdrG0HdEf!Ms3!}cQf3n29DjXjiC z2L$_YmawN!0O3Svnq8&{AkrIIltwzvi&<8D9N zeP#fn{?hUfy;KF!UqvaUB!7Xp%{^?}0~Lst6*Ru&5)6oPoR8_wVf}2T&ug|X3-Bcs zR*MYP0AH}${%(R7;9sUW%C~y~{Go;tTN`$MgFL+$kw1WN=}L9u3#^`bzVrP@|0d?& zvd2B!9+=-1(gYo`c}t`~B5Fz<5P25r!pI;Xne%YKmVloTX~+8Bp@cR@{cHP0{lOB>)5Z9 z0Ix40@+KA=r!Jj8XvD0s{K+tukPK6`FkYFAkfR2alb&5da8Js4tzr zqXP)tksI2j@&DD2Q@%i-MDKhAku&^CKUUm^NS5DPtc;mJ#LI~GwW3E6$*)}j`69iD z0#D&fU8sg=NX7U~>IxzHXEt_Co$QedRn}7h&#Dn`jt*hv>x+nWPz!bFM+7lsRNX!w zynyHq$b78p4n}k|Pn@`al^W3opnwb#?qMZbg6GL3+{>&B2vSWH+9x)B-*%-~!z;`L*4K+5|g;$B+UDC8uAxa?i~>gi02oS%9^>q0q>xP-i0`g&3h z({=0mb~=m&@g>?UylhxOLj4hK4eN&psjF`GhR) zZ@D4f_fIkApJPV6nwso9^)4gc;{U2LR#Fh(0`qTA^0bg3O~oq%UtACZzKbO(aU2Qv zEWIH@#PqZ-P|KEBS5F-0Sm#doGNaV%277YhiB(Uq|kKYEANU*#u-Ar3I65_1d zGC|Xegsg;CNu0DpLcYD>awtkcLQKzQvAJA9f_r5SSQDNiA(I@EBHzmpqR`Z{j}hre zpOxkjN49o&57U#A4Y{P*&z5w#Dr`%y4D&@-wwzBJoynqw9V!hui8flEi%B9-UuO180Cv^RwB{N zXIti-m61>*f9uHN7z7`);}TE3g%G~b`K&p#Atbf6H??$sk+7isfYLpFBwTxGCRF?a z5^gVi!gq582@CmT?^UgWgsFNq-N!>D`oKNMuq6(`v(DYPI>m$#7=G?nFlJ)((Qa!cn6p`p7g#|O6x=5sh9O+EU2_zQ% zS)tP$ir{S$7}(BKAq3(-+sF}1gcMPzD@2d!*X)d|&ULmTQLkIraA6ckY_a+;Vv9JE zpwQ$fAPJDfxy8h+qHQF>_S+SA{C6brSF`rr&>dK)VF z{@R4-!7O50hAle&!SsFTS$v(>_fdDdTk1q%CDiBb>+OHS-k zVbmTEY99s1pqBS8uN3&UqPne7C)UeGQ7TcU&=kqbi0L`@MxU8ih&6qlY~rm!)F!R- zu1CKW>bA&tWH{Robs5e5My@%JI*^nPWvIhZYf;s$@+)_4*&}3g&yT**t zPxh60JZVOhdvIsz6 zk{oJM63R7aoQdkW)g`rI{4tG#rZW>?22mMIgIbDR5Ec3R_L#HW4yr<{`>%y~3srVV z^-kAJL5+EHuSV(7qo&R8o$nx@QA0^WR@mAdRA=T)<*&=msJ3bqcdE&6RD;Eb*%a4@ zYNTrOncRGV0@Y+CzNz=<*@0U>k3Bj-*;6S`Nf(!+Dk@WUx81!^O@>Eb6fsVk+EJ4Y zpJX3YS%YqU(y{_ocAP8es_aJ9*G4iNVmVQr$0s;)^cqlO4~cAD#VFJ~-&z%A+(WoR zlMIjh$sx=^Yzr4IkZX@4lu2hN;@d|RLZ!Q=5747i;ki}I0;tHZ&m22PWl(k1Ru>^} z6;%Jgm4>>RAGQ3P8^fwZj@occ#^%eXAu{I=2cxV3qUMAiD8_%-)!^>)gHer+e`UZ;gJSs-jHg2lv`hW6@Tlpye#oX4)elcuWwre`K%MM<<6U z*U>Iu0!D~lj7Rac2q{FrLq*%5!5%rw+{@gmcML&{m-|{tb%+>K+^ND+9IE8~fp$5C z3^m2wyNzGWLG261Z6n%>Q78S&k(UV<5cMvt0!PU!h>3W^fF`*&VsW*9{S(C##9T#c zdgq5HVgT_%2DnY+^d_c$z|e_Gm*^-PwGdDZC6%gDX z|EpnThlq`=l9rG!BXW-0?CLBXrlW9dASJ{9JYpa9of1~QM=U}%n!;;dBXXoHn#VC) zsL>57x4`NrsO#}To|I$UsJCsTPxw9)g4-5$W;!d0*u+IccGn@qk&;4GG@cc4>imX` z&3j=wytd+7CrS_-hDG83=s#+!+#;=QeMI&8$roB_Z=h~$f*WEZj;L?*fj^`0D+H%d zCIY1=5bK%V5xev4m`+0A=pKg|a{j#ArF$Q*AWmg-^fjRsSluRb=QJA)VgP=S2K?|Ogqrc?q(tu2^l(?G%rvNd65s>_2sBbFS3CD(trjPiY&Tp)gY?Z zH`GqdV!Ey=>-oob7!li7IqF|2mymOMZ}L7J7eE~SNdoDC?8rIh^zT8)!%ji?r1@93n4wimSlC2GI`)OVv4Mj9At=G)z78M{JLk z^^Mi#Aa<1&=Fd1H5WAvOS<{l2h)pS;>yj}oV%QdNyfXrangp8IP#oMxL&h@4r()hA z{Oq+iG8QoX8#^=Fl&yS3U!C!``}_BZNyMm{Nj(WM*ElgpD-n-a5J|)`Wk1A1>1=4W zSTkZS`y=So&vHaSJYslIssjxasCxEHv;DvP{Sy}3f42MG5!r>Tr*Qu}qV&MjVL8_i zQ5iHcd7{dUs8aifGn|5mnyXi<{S+Qi-z^%h!2LlC&*Z3mh|5PE7g}cnOEJ#x|HsRZ zPVlhj-AhAb1p;()a1f1`v5}wHzlkRH3JK@iUqh4eTOSJ!chFSb0i5xRZZtjo#S-r$ zA2f6Ier-+ZGI}|#{`d0RKWL)e+Z#I%Fdlm$DdjBp3L59TQ)e2(i6*$AXJ7DR9QIHN z!OL&Hpea<i>$SlrVV@%i5u7Z7S!>c=OTB+@MwM z>s{!jGY-pE6o1j&nsi1zW)?JNbCLI?88w<h=%q)@R>5yo(cF%QvN2)pX!QD2mtL1DNC&NiWz8v#rXKXj}e+=NK|tdr9+cNpSNVoN24i- zVYBOPti1u|5z=WvG<|28d~t6H&FZM-i55M9URvx5onpeFd9+-P$#(K+blOYSqWYU? z!nxo6ixYWhQaF)v;D1totje=vsTWzN+n9>I9%@gl{lB1&jt zvsCPcv^W-T0z#EvoY3Tx6}sgJdo|E?AHPv7@P;~$p_p1+uYCY>5&Y48_8lO+%3{xLm4lb3w2^&~f{)!+mPLW4Fwz=o*d>lokm z`HzNwE@-M@X3}+8Niqhg8&fmCRqJ$=g>kW>I{6Uj@E=8&cIH4)lQ<~P#KcOi@I_BZadT6TJ zCBsukG5&Kl<07z+LsMs8U0E2xc;#P8KPTPAIJ?tpj`x2xqIpNX(jJpm(G;?Ml803b z#*3#pSa?x}>3RgGImN$4Qx(3{eG9yS=@H4De_^?a=|wOeWuH2Vrb$2L5xiE2@rFOn z#(q7HW-NO?-+I!D=9Y^;lRS!DPsqG5sp=e>lACixbV&qFWelS4nc_xM3%4c-f7sD9 zj!CulSj?Vui*3bk(`eez&+T6a7$0~kd_t(Z63r06FaAiMqFw^LM{2&ZEHUG&rcY6d~LWB-n_e-Ixh+Z0F zs4{c~`+@r9mhk-Tb}Chc*U;AXvGt8e2Pk}!*rZE_$GC!zcrI#uMXp^N zIz;IhMK2pd+oX45-21%H^1U5Hv6UcXJ!M}z(DEHBAyFb0YuZqEiQ{#`YZGV|Dq(u* zb_TS@CntZbcY(HZyaHEln?Sq4dJ{Hkb7;F;;(4N#1g&q~$r5CUf);ikai4X1A+6T> zy+B0(PxYlVPqT7CocdrllNS{gyuI!Vhg& zhKii&3!#-<1f4ru2{g0x?TR_V1}W_RU6HbOgW?6juCpaUP~-aMNKemccvhxMH_*5d znlkogx(csA%XGP4mt22BE0n^`+W82y%90N|w|E*_9^H6rF3tc=eAW}JX5BjuwC*(7 z|8j#uJu!)rpV*;F>mQo^(XSBn=S9a0k3mD^!fpNtS!ia2l>MN@+U4=w(b2vPEj2ni z;^7uFKRQO9E-(X)vNpah(Drt0MXb|i>fj)M!o}Xt8~#usq~}-r@C~Tt_WAc*^ElKi zqirS;BcRcvI&X75IcUZ;z$pGM4w@fR`UU8|KvU6MM(eZF(BOe3j=s09V^!a@fVI2> za+33PwW9 zxxZB*_!NCWmC+9Mbw-(3NW6urKS2r$ImS!*=fbCL^c3UwMV{XIejRGl1BsieE4al|tsE2SDU_}Mb>{c*JRsZ7_*Q=k2L!+4 z!jo$KfTG5k1-ZE!K(pt|{gPB_pmXx9oDAhPj9WBa$0FVh^h_p+aYD2}^YyNK!~s9x ztc%e-1yqqqD1gu`7URL#O;OweGy$#0OPkW`O>Qi|%<~7(Dw@wYvpaeY$v-psWuZu5LAjs5}SG11BgPb-n>Nt&lq0GBt26 zFRCk9A^^*RAD%Ktng7c<5>E&}dhE~&AgV2uZ+VUa(`CVYLh>B2SL}By=wt^MN_epM zn+1XAtLP|Bbu-}S8?ED9iS2U~3BS7$Lk9d4ZO;farvH~qWMwPQ6ZHBzG}WS&<*(d= z27ZYKj3EqASLBw#^q(J4>jT-mfI}lxiu!`<_icv9Vza6LLJ>_=Q4C*=3baxB7KpdN*OA$j5R2|tKi^w+fMm&G6FDPBK$IYYF&_uD8CQs`o#5o~rw&sl!$^(`UM8XLrwaE@Kw~HUZ!6pSS8$t}NL@OvIso|<^;K!IH^wX7~^VU@DhRg5 zNsK$TeVuK_de0TbXCGa|8oeP#S0)fvR*%oi(q+OjuA>ZHuST$-11L(`^#b#3%C0x8RUzzAjvmQ8(PQ_z|OTt@^2^L~i*!Z+Fm zcg*5p=NT-etBL+Xw}agFuRy#n<;dhd z>+P5XE{#QH^g*!-`rZlOtx(y`F3kB?0^DPr;CnA-9I7b${SHp0Liup6^G!ZuaC51x zA6;J_iwv+mnz$i>H4Tz-O!r1(lH%W6cdDGR;qbRZw#BcZbgb!hAwCPJLD!6b?YI|e zSHdc9Q*o$O#~c6T>L^rW!9o%}&QOweX;+EdHoT?RT!e3&inTaK9{d?^#qj6-G$o>c zsY%M!D7l@7vmUIUo*dXQv!nyO9NV6`g8s z8%e;7_iwK=CA4C#ZH8_&CyKFAfm)2y7NU=ry^({UjsV=L`B75!fGyPfz%9J#M=Au5 z_4k=XYeUku^4Y4KT&RD^qPQ#J2vjQ}Fi7U>M8Cr3cVvQZ(KH=B*qv2|O*Sho9(=P4 zTRFEh>e`n>1*3rh(GeS{pX6~hpDznS!@nHN=d2<8P0Je>cne9}z0GglDTUfuZ@!Ds zbfD02X){K%?irZ`MkI*&xMtTBtD+#;=^X_%8f4Ug4llj zMnu55+i<7G*fG(d_fTIz#paFP9S8@ezrEYn1&vDd+qkYjg+>CJOTq?%5YW$GF-U??)XCJ_tR8BgW>WlURNuYs*(H?IMZC|uD-$&>qu4o- z1>B^iK*?!`Ji{t!{XmIyN+Ulks5c-d{(o++lp=Or%Cgv6h_x3cXL&p@1WT5aK&&9JuU#mTvIS(!Su|S=vYi&zW3p3eeT-R7NrFws8@&OCyeHP?zU_kcQ*l9V2(W-Gvk5 zxW=1boWdz4rF-7m$>R)q*k_rmyD)hutfn?j7?ZCm+TRk?#^jBwIObOnruv?UYr0SH zJO3UZ<9Wb@V`e)Q#w0m$Jn6ajag|7%`0LaA;7WO%TJacsc}w&~Sg=Sbd$fe3^lvL- z&0m<@wC|5&pgX37F8%y;H=W?cymBu)e8Y5uVGjnCgE)52yU)L`MdA3|F8yx}CO9c( ztHcDWFHU_KG}Yww0;l(}H`-{%;s}w4CG+yjm`tNK-Sg9{f2Piq>?Ma!MOxIdBV$B*d^ z8SjL$EOBg>G+*fxVI2R$F;C^BJWeV+y(_U#1*e|w{GtBZ6sLEjr8+qk<1h=sS%2{= z96jcI`0MX^OliCJyt;s!;HZKVCEj1a^qN7Sp)-kNqh}mVY1TOYNH}za|@^6?JAPJF^a<~{2xN~9vuC;-DIi}?p({sXk zuJ}E|vBrKC5}L+1KB7oZ$@(o$61?XVR4#{874ff2$DDC`&mR$o{BRs@$fPCmLoMi3g|Bq^VEsi=UQGQJ{({Af;Apk%uQ$gN z+~l<=C)9(*E9)ETTM{2(+b9%>x$-Z;D znvY~)N>{LGWXC^DeZNM{ICHOK@%7(odYC z@KPl$DS_LYfFBC6WC=cb+^66$#q+!{8;bc^w#1ZZe1cc`i{<{21KlvWAZvenuEPSH(&H z5>D_=Kga3iF_rJbK4NmV>Z&oXIi@%eb-vp1n7X<9z&3LqOzm_^eW62~pU1s3;{w+( zT||&9bXn2Oh^^VZ_H0Q+Kd!DBc{spzSRE3y94PFI+9M`McC?&6-t1WdX7e$&^} zH!xNI>-%d%xkNvNC(Zo}1Q)BFR&qV=AEu!am0&{~Os`PP8w!ucv7yW*R*cVaqWqWB zyY|H4bZ3F}?vSUL@`9O%JhqIf?9sy#*R3!$%3H*zG!#>x&}Edq{2}(qp9I$MgP0a~ zr_R-*3Da3aofR+4;27_N?Y(RzIDY(6h_A>h(Z|E>=&Pa+1b-WCNwrMERG%@=sX7Zx ztvi#uuc4dh^O7v%Y%@XdqqYZH?Tj$ZVjwN?BGLEdlzUcFKf#Y5;8xf>`whq0@8E7z zpT=pSN9mt=B{22TXBIBv^F6g$rkBN4lHg^7sYhNCJTKGYg!wOmUzPB!db&4;;Lx8| z{rWqAX;zclX~E{0cG#nWhYX1R4x9@XAP=V+9{Ma8OXP=d*z$)WG0*wt3oo}TU>Zlx zj!vRKCQWQVtCi?If{SDzuV}o-H1!$r_dW#Yx&MsJ7Gq*u*}qL3xy1cF%g9(<;UZ3^ zat=h4665`k>y&)s=XG_O;DB$g@@?+NH0AGMS4qUa)3_u?eMNAo`hwBdGziX9kM-)K zXoABGyf&-yl!558QeKg#`wAzV9%Nxoq5sEWhHP5r8W*vI!Dch@FEcj7;0&Ahw#i*E zBz^eM$prwzM5<)Bt`x!ur(4e*Oh3TrL(OK|78ykS_nO3Zn|T<&d7i$jh6P3n$E;gx zHo`C}D>m{{g(1@G%fr>pFy!Eo#l)iBFf?FLl>Z_@;Bn^C}p6po=O@JTHVg-Tc(pxdg-L zW8mVkr!bb55~D=M|a5aaInYl=EB z?E1T}4TG;?n2i&&;fe(e3v@X5yam^-UtomG-W?xr5u8|=mdlpqR2aSXRz3IKF@hT?==zqn1=5qO*aJ9T zz__vtZ;s^5!o<5%ib?LPFqltwJM9@2hP`%3YUy)@5mpfl1Ja*}&!JWc-#+KUs4)Ez z(348=B>#@q6Fd!7F1t-<;1;AeUwoRZ_Z-IcTYe9S<$+0@KfVtQXTo6GN6n5{Wf-m@ zxlx$N0wbpQtB)Ng&TH)JZ1hbH7|mZ95Hjvc)V;?KGXsKSF|j}E7kM4h@4VHDd71#@ zJ~0256A^$(&L=MSojD9cwtES=M~@Qo>=pfd#~VhbiYBaA-i1+FJM?6_=V0`Cn=a`$ z1c%dRvcfneLyULuv`#6(UtIpQ{7HH%jGHR_)M{`ACY8Q?f|TySkj2P2zo3^e!e(HJ zdvpXwNd`Q7ZhZho%hNrtpXGpL&Qh_S%6v$EH2*r=c!S{9I_n4Aw-R;#arohnN*MPl zR{O4{Busi&^sw`$2MqoFZkO@YSs2M!{q4}UW*GH2ZHT2x6h=Sp4$Xc3k>H|cHZu}D z7I}=t_6kb?q_X8m{B*^T4uYk2&(UC9+qe#0ummQHZCOq@SPsLt3#A!ZYQo6A!WEBd zHyC~R<@rqyiE+S$;8`gOB%e|{7;^GBBrjY)_rqnFxV~EaEjJ|~?Yk^@{p(p6cUbon z5<5!#M!j&;VKWDeu+!0<|MLSzm9%H8j?P1}4B*aJAog`F|A7C=en|f0Cy=Qi4k;3a zWh?vyU)TMpX0tXoq-D3{-&|~gae5B8KhO;(7k({KKV$_XbA2+prx{>0W#Yp^peQ7t zD889E!$WXDT}!d)1h3%Ko2YMQ2`SOTZo>uy7u0k6rq|_Of{U5f)0z*5v9DH-++|~e z$xr;Z7@s6~>t0}O(4h*+veOySEp?E*SfIOY=LW$&bS54Jv5@k1=)LRPX9VvO?YJYS z3sM;$8Niz}kos-+)?8a#80-1lKJ%72OkthSUMdNI(cdPdpCt)Ea&C5Ykv743d4IV% zB+&$^ycf2jUV`sQ``hnri6OO#WP5Q%8d6JR&KC9OLh6sWdHZ+&V9Zmx(aH3uFh$Q; zn4Cj!88I%@UH@z$`KRki3#&we6B!AwQ6S4?qW}Ij%k! znn#eUX)QRV5Q%?!vnO2J8;Hw2gX7P z-#soJ2Ud>4OWvP9fZz-aGCP7%G+xiFx%eKrovUygDx5=_n>a7u+x8Y{{}hVOU!MjR zWA&FWO_&2mxZP~TBNn*Xy)6(V>WsZNksfIDKLf!EX=cC3tstRp(^99-03!F*~zu@xCH0HiASTrTX;F9v5^-9fc9Ufl*2(NcjuG) z;t0@qT(h!e4};{qb7h~tAVdc21N$d-AfHQdMHS~ekh(_I&G3>HV8_UEHsPEp@aAmT z$x7J`0(E-Bg1vJ+$_|s(;NW-R#-h)ELCB`Y z&zHPpK(yb$!k_mlfTobxM)X+(aUAOONQp*}q%F8u@h1YL3Zce|bE7DzS0YwSyu}g}3#k0LIsZJvK@2r#N#)FA5IIX#p9_|+LS8DX@Z(D{pxxwh z@ENl?@Jo*qHVa+@k-`guP7Dr!I(4{@BQFfZs_?k18ux?vx3+yHOcfwWcEiN*gDXh> zIDGwy1wTlcIHCN7Y=In`3%d866#(`Hb*InUBM{6NxH``K0}%T#>&JsFAck{_duLV$ zh?``JIGPd*5(ULyF$k@Jq!(YRZto_86ah)UX=x^q(jCdcbEzId#r0Eyy@J5Yu5i+> z`wxitD#kX1t^r!j@zE|8Ul7N(-=crD3?$g`9@u}LsGncAZzI*EMrM@vU;{UCsb;b^eb-haP}L^=BvI^X?LSz`l*#KMo*i z-*)Hs{lu~9RN#-HPLQm>$4O_e6G(3VlEcCv29lR*_XRt;fkUVAV;MtOKn(3!{kt|g zNK8BOfbog|ND5_t@>-{W$XDyEOWtLWc>mnOrJ8<_!~@qJ>>C0}&4u}lemNl7-AH{- zk{2Ymu;2QYWdx$WJ&w8ZpPi)0TK#t zq2!(KK*F!!TXA_KAaRtt6O+)@#DFnJinRaT0nO}T@3-~FrKTD?I+$Ir7i#l9d(eMiTM z&J2*ebwxW4n1B>`Q6u0*Hpp;quW&6k14+vts;3Q>L9AI-R_xeAKtB~;c%kJgpih6< z`g7PH#QF$dj!~He@dq9pO}B0WiD5#6Kc5{3Ne})``}~9;%S+LAe#Q-C3>F=1E>{5b zK??&4mj@v0NcHf4VFJ;2%N$;*4ggA);+l{k1EBMH9?*Q331VNfY421ffrRwo8{EJ4 zgCzQXJ!6A$klT?c$rEo3XobRfkC-;_d$P@L1d@O+*G&bzN)`~P!+uAg^)Cpwo0~j+ z!3I!j8BLXR&w-fmt(*RyA~>9*fATm7gg_FfVsp5{DG>Vdo7SYO2Cx-ZHYrir3)J5i zNp^R%08K^D90$5OFxw|3QFrGnaCMg|AJk3*{?f;n?VLA2ScBdA$(J2~Cf2GvQA4cn z+==RgH=hBAMRNnEA`4(5$V!`(?+0p(tF!vmlR!^D`?*{3ZQ}hV<3Q>4B;bD8#3cT_ zF$geVOZ%$g2*UTWJajGZ0{ni+l(dBhoakZwFh_U;Cn zLpwc?I)m1hx@C7jdVS_l)P?WBB_a5wL=zkEJ^5T?mO~2!%>Op(zkdz*d6eff6t)42 z#Zh}Zb5#_aYOh+tu^k1d_rJ@H=0OK82c5jyD1}UBy<22pK$y)=Fh&j~{6!#W;UP!LsBgQV~dxi5|GtQ$%}I;;u7to_`;c-M4$c{T|+ z`@Y#wt55)L(rY&D*2H=HcP=&xoB%rDUmiiL;jb zkH_7`N;156(l@Q*CC-{VqVczB4oO`Z%yj zV?JDF(GMK?_J13VB?D{cwSRK`UxDWQbN4!h(9hiYhHX zbiy#Mv5DM?4s)MwcDb}4#kw65KBMf90V9EvzR&Q zh1zalwU>ufeL5YOi5Sj~+1dlGi<4#XLK`Ui@`?Kl({bpqUK9r)B_Z0|>)M*D-;uA+ zy!8jy5k%VA@+<0zFHj#9UGy0C1;$5BPIDI90n;6cA5DXv0yuN*iiABG>{&S`D@*r9 zxt~2YvAI!E#xL&iBR7grQ~_&jY?~-@jc>6-Nj1JCOC|_Aa51hZXoq=%XT48gz`vTr-sk}MoB5+kI`eg$ORWS00R!50~J3+maloJMqXTVKn7@&|w1E z9h;+yY@;w{&j+X~vs~iueGydMc8a8iy-+PXs=9OnX9OEi4Z|2`L!}d{ zwcl>hXxoeG_g;5i?O8*O{qn4C5{J;4fd;_Xt%ZuBMyIN(@1YXr>q{T3J5iar(DSvK z7pPL#iUoq2Wh zcjZMPRCFx&LRA$)C5px>@B0@}S?+U=n5CDfvgE4FM-Ymt_weWad6t7}4qs(iEHFW} zU-BL+nmM8Rut477>Eoy&nA=2;>VVFyS2_nI{zgSTlm}7?ov0*MSh>$@9F=`NCSvg2 z2URgSec##k8&!u&5889mP|dA!GY>v#RLA+tc3x8o)mu^$&g`V124eFd~KveT(%cyI`A5zqqh=j#<#-aKnUF&HDBPhSUU_YzP z5IXyF`CPq>3o8BUd*NYn6RL>$VbFMjSSR-k~}+$|Pb;EoFa47tH>6Qb#;|I{xdW&+;!F3)UZHR|Gpcgz317OvhpJn| z?)AuQLp8T+8+MjXquP`9S-XGcqB;f5PjW|Zy)C7ROTM_%;Z}Um#ARAQsx<2@b-!L)W?ae#H z*-%}eDGRLNM0J_1IjtfmQBm_IVPV0~sH__+(yEB{_QLs+bx0l-qd@B&YoD~5jgM$RroOf zqqYQ~>Y{VX)umfe4cd0xA}RsZIt_bXYkG)kTeMjBI~t+d#asEfv5vUD`{Ag+E~+z9 z*pvv&3XG#}N8ZDi1|I-xqvog34yU!gj2-6b17E>r?sI^Tk8s5*9)Wvj~) zs+H!d*Y)m0wF&V*@|cuSZR44roa4Vy?GW#+1Ecb&cEOPTFLVUe2?Xq36DQWQd~cm` zt1YVIm@Ki~QHstVc7HY*vJ=((g(>;wyHV}=&cl0jNT@ddPPhB(Ibxofc)aUAs(sWW z=n}z5+@}mabq)~oWy!iUTyIL;7dC&#gE)^! z;a0olGpM$JO_RlL9Mx9YIf?1gQSF@tpx!x*YR5*LZ$9xywaXj_UwxfKb$kqy3s02r z@dZR*b!*X&oHA9p*tpkNFHr{(9y&9ytkj4N1?6WiNO@sH(hUx6D+)HeJ3pLoQ6C!_ zIX~X%c^4Z+S$6%Xn8k)d92Hxe^|7iJhgM8iH@1FLsPX;c8EjhdRZMk)@TgA2SjOLZ ziJ_dC;K`y^ObY4pM6stZNq*sW2(KRo54}_MXJW9yO8Ck@_BU92YZM2IY6BK`&u;E= zGRD@PKV&1)R zm&}aCT3w~_DJx4@QQph)dj=2Q9Qxhw^3p?Wr59COX#I+)qd&!c{F4EOmvPrfuq-w( z;py;s=!Erb>kWE$3t{aO^Qk%Se`1X;*UclJXNfvuW0#oR7%Vx&ayo`<7Bj2}ioZ!~ z!4|g)nhd)gv2i7v@+Ga4m}GU*&>d*ty`1I2yV!cMR;*>F_IH1*F5LZ5Hf#_p*X&p{ z7`lb!xDqZF5p~XjyE`yH;W=jK$i~ zGxxZ4A7HgIp?7bkn6VP4l_K*wE-XhsaYeG>2^QrH%)5T32y<+Ir5~hE>i(!{{_AEU z37bm%x%1Z26GO&f<*brjSkI)qdZU#Ks}~m4s%>V%iuK>5EBn~7Y)8MNH+KgX%PS&j zH;7^WTLK-&;%{{SO?=JS4(Gd{58{arA4u3({NzdM9ZqcU;PzHUnJBEqrST%9!V)X1 zDso7V?!vPE*ZbSbg|KMha_f2k9SgjZec}DmNS{DR@uOfuzqOd{|DUW~S(BFBUPb;}&QO#rzjJJ5DpwF{|R8 zgaN{zzUU#)Uvu?o_tT$ePwm@7BIP?Dw2`1QVUQlrB4kDQ>AejH=9B#K&PA?*?MvVA zj^{E=;}z+cH=oVcZIdo$oWAy<+n3b6a6xj4KV7o><>zXpx})i&j-<`rQCtk9wo0Fh zAoC5pw{?q1MAk2?LK%BF!kvc2ba#%Q@cW0^`!kukIoP|GK3S~$xt4TK&!4TcTO)Np zckJ6uF2^dLFvIAAKN*PF9PKRC06*sUJ{oMUY`+O{u{_0QjLnX|bqs;ou znt^oW?TOt<(X*r%*K6LNWo01I$H!;9e$IE_AuS(KRA3<0tVmYv8CWMh*vZnv{wR%f zvt360Z1o0K-6#AlKJqr+?02#(rD2J*nwwy@{*ezdIlR+7*T7DiT`*V|-GsV_^z6PG zsWNtd8e*px`&V^;IDI5ngpsiu7nfJLZ%Zd7OM3L4t76AeL)Lpk;Sb29rYb7K+z+?r zsJIBc$szoqT%NT3x}=Biy`x>YHo8~cXq+D>(=kK!dE4dWFWt-C-lnP@L*3IHjGs?! z_wDYkHcNSTJ)?Ujcr>BRpG>$9#6P?$FM|^Dq9mO++>lY)ff(m_y$CoQKbH_p-#T2HzL3`(>20n&UbHl(xDaI}jWMRV3q7kIU;o zv31rD-j0tkgNT`jsPs4%O|0?r)p>v=r|jMN`#xi_rRmY|m{hz~fLGP?Y87Ugn2hb) zdAxh-lYguCpGv5m;&LRss}XA4$zi^=zD`=-*F9i+7-QK?PEl+#j+HEqANR31iWU32 zvyQbTWBL1O9P@0lSi-ZbhQZ1O^D(|JWTLcm&yh65Ry4@ac>ecNySyD#vp@JS+$n|d z&&ECF-y(pu>4iRX2kv1V+VaNDL^rINA(lIL#RRKXWuNiiC5Yu5#g9iSy~09GAC->n zV((trc}QZ|k^~)(;7+=0Iac4AUR=r^iw(6mmS_C~u#tth=3;6KhPL;{YS-^z{iSU@ zhiy+_P1+X`a_J7dyDq5cNKyb6dw0Y1zGLVAywp&0hO~RzzZ-B{AkW>;tMa7v(>&)l z?|TjzT#ih;Z8{GHp7E>5m@q-ygTPQ>Q@wrV%7b;h? zyX~_%0W}0i&V{Y?K=u2zj6rOVp`>={?6}B2thl}UXuZ$^mW!IZ` zmgUokH8wR-4>VlBs@tML&r%kaeN-J7bL=|i?_Qq%)SO6KO+9nNF_;3y#9Jg{Tc+Sn zbJ1|~eIao76Nd1bRS76Z{Vdui#0Yt!6&r_Z9${VACLOcO<5=^+GuJeNuT;u8aq`zH z4;EvlwQft_)&0WWU3jLq9tyQ7ysao7gfeZ{o<8?$g7W(U#lTZ4lwA5|a#?5+Zb}e{ z8&e#@28~jjm-ldDJ*BUmS%rkBSoz4S%B+J}R{K$&!pbyes(Zo}qgx93oZWtpsY*e~ z^wI52f0Utg*Y%U!GDo1O!eCSGf*oXf!GBKv$$kv89o$!(+wp#$^^x!xFRaaZ!9xCS z58l=JYOMCuR?IiGX`P^lAgeYb&Cb9YiuC9etc^T`l3*~~ph*yJyTwbd*}EGu8a#e( z7gvmpy_Hh<8Hu|5bXOOLp#xZNfJ^a|O*>ZUTRQmp?Pn}}$p23B`Z#HsDdU6$`wSGG z+WBY7;|dgmqcaIkL>}fJA5v zmTO`a@Jtko9(dtG8}uek=eNH~JbVOh^?m2+zC{~~_=nHzpsqk6W1+F-!xF-Kzi=Ax3%`F4ipp& zAHJpj1@4Gtnu%681BJ9k>1SGbA(L->G4F@d*yd3m{obktHvf0@sbOXrhQ%uPwv&{w zrqq^puER-KVv*)7&kISzKGi#wxT$c=Y0GV zt&i<5Tv0V1+=H!L^)&=%Z(+mK+xuRGUBsHZOw3Ru9gFjTdVxFtNK@8V&$y&Fz%7qn zW!rqKhTF5gY;20pgF-v>?L*wGAoHE#qxa4p!j4&!7ixN1uuWiwtK;vN*s!PR``SBx ztRYy*b4sWYZ*R}^_1URKTHqQI8FRb?w+wLUF*cInwnJ_8{iHy+bqgO~o!Sy)cAexk zb)3b{^w(x;bGNYVn`57>SoN@>@bedYZXUyXkkYFjk*9b|!EPm|fhp2z)@zrGMkk=a z#^kmIl|4|1yQwbf@D3=@MqT@=z6cq!?b>_}^kCOee->GA6WhtCS4{o%#H6jm`SU69 zcsC)rUnBC!xjS1~f4rWweoU=fJm3N3tCTmyjugm0ojTjWn*n*)8CvgK`;*pE!}z2O zu48wdMlS_b9&971GP5Mth;{E>W%PSfi={7q*?*jej2We*JAJ~Bl9t=p%N#nRAzQ(v z@}Fl#;HH(F#)>H8(IMOvormu`xIc!R#_26Z^ z<2DM=8D_)``#){;yL=(xF?M;|rh3v3rnTldk|61$RjHCwf_!%$V&%GHc(i+Dw32=@ zir~5HI>K(1t>E3yS)9ivI9+%-DPfqA{_i#1q3VAcrz%m_L&X1qtC ziDe$gOp2OzdN1VgrqsX^H^Ba%57YnYlGN#HCVc2ev3LPr84kJSE-$GbhQrC$6v8x! zBma?#R@4bUlg9g?)SnMA#h3Qv0jm(fUtrazHw-bITZi#hF2{dfNdLf(YggwY@u9e> zU)!bfamb~dx4fxZI6V9LbH{I$I7&B*@u(#~CVRGU+z9H#lmepX?Fc)jzAzddD=NbD zs%>|~juQ3$FG`Z==PzLYy$+@WhsN=taH+d&d%AH*QVCX+*dG`VNTfvJLx;bV zUD`~=A&*~6TpPQK!@oL)WZ9j;QE1d&cp(&%ub3n){MjJt>02Dn%O?}{+Df{YxHn;X z?yYIdhI||opjH3FiWtv5v23hO2_L#4@i)Cp1BY@9RO)>?fFsm)8;W#i<7hsQrq$dz zOn#;Fy?r8|sHcDRrDl|<&o=5?xS)6((|ub>vaV+^eM1*y9_+&YNzpknZ*Jg2zmgf> zTC?C#&*Z&wGNU-+WG%aQ6XACXYh^qbOYkNeHu1--USq1VF;|8Q;a@VDxc~2=3Z`p{ zD7IwRVS0yy%j>&$v48E!#geHM90V`$ogS^hp?4o-xWf3i~LM4 z4pXn$4p?glFJQv4E27MpEIzgD7utj=PNC}eCWtzHuQN?5`i_`pz&1!V*TuANUsckx z(=pw>e_A({g8kQ-O#b;M<6s6&zZ3Zna9I0gYu<$d9Jx$2Y^WjDooDKw?Z38RO4`u- zV_8Qrm3k>Hgnkv%bQ@e`>3W#<u@kVcJsJ?Jr1{f z5xTuO3r7_k+LQgx8I#M8m(A_DL2xGVIqTQ!G4(`DNjVq6uW0i=E>0c8w6^%-uNi}w zE|9$cG`BYn2y57@9Cj23udxY>-#d-N*R}Wl5?R90q@t!BjSZOmaf3mmV+vC~giKjY z2V-ir)!i>KM4i1>uttRt#F{bTXgt(IzWzE&4_9SHgw&ucQ*(#pEVq!kbFdc0Bb9eIodSkK@CPJ(%{C zQ7ZhxG7k7l(OuC}#-XmfC_iy8j%=1!4ZfF-$zk7p;?^%eKmt`NO z4hMXYdaXv}Z&%&a5oSzF8F|39DS+^HRXc9AalwJ!5$2DL3vrnK6Bb{~5ggUEPijZ> zeN28|ey!wqKfzykyAEYCVQO4}e1XdXrhYxI?jlL>1AAq``EgMl(?WO`j0e~8q13Riw1ZAK;;x%lie@Uog)M@L4MD=w zYTCAB=$qg=Zy0M#h5z#OT~P3k>Ek%_ofyQ zT!>x~#rcyaF^-ywYB49_7rV+9{#_Oa=P~N6Sw6tz2sXPNFCSp4mgBn1f+MCjeR<0K zupCn-hQ>IecVXJ5PHWqD#CTFF`}f*z5bLG?Y*mym!EgA)ea|L5Tsy)%wRf}PP|MB6 z{MCGz^6CD<2?;miKKZ!K^N%s%YmCl}FKQ<|U*+d5*3vL-tIf8di>(CrA^UJUS|L1L z$M1DD5`WkEI#)FpMZA7(jjL=Bhog;1Wm+$$RY+?yCJ?;JSJs>C&z@u27VTi~`MsDX zcr5`vO2ssB>11QqYQhH=6_cG#+z*s?Rt|_u6P!s*T)I;Y@qhk*9xm^zg6wxSB%$An zpwi@u%P`QEr+MT=1q^B$>G{1_0Yl#3o>k@ahhfW;O)uKyVIg5816;HfjyDbYtKj@#nIC29VSnoGU`3J++4#nmUx4_7&>{JEcSxA=RYzPkOCVU+|0Ssr`iShQSY7IYx zwBrUvS+T9qi_)>mTsjW@uKTrTMK!@g2J~xulf-p6tD!3tL51O^8P04HZ()?ZLjEuZ zDbWp4-Stdh~G7a{^1sRo-dT(p~Y{m zm#+MTp=Qgyw-4&U2$PQdVaZw;^+QeK^`JQ6jk&jaHjk+Dzr)g5=l>N_E64(4Ul@SFcVmVH zo|nO}`A%DpP#qX~>(`6Egd#}h(Qr}W@FM&VCKi7^v3E|<; zp;fgw5+07Pel2@+-$QC>J&j7zhSY8w{U3$^`d>R3%(_(^24xiFme(Q}x^$4#`}iTj zy;S6^=JUd6b8-AKAsCWN7TXT(CinrbkB=1PiG4Aj&eXDJ5>gKgPfb0@ht!(=10#uP zFkpTM)0|!`41RS)(OUcn4A;7_`c|Cq*!=kT&*iuiByT#+zt!2F;0Q8CnV%BeM)DKd z>2rG^<#+Mew30fcTKw=j0tk=MVWZiUF$z57R$>q%WdlR)W{SEG|AP_P7exyU9AVVj z(e++WVMq@6{#;e}|L_~42W9-PLQ2v37T$cqlk%tgl74#ur0VS-wyGw4C;l_uLZ!Q5 z(9Gzu0%d|{nwxAC7;l1+3mME%aRibXrDAR6S|PceiQ{C`0;Cuyzl?92f|Pn~ZN5h{ zkh1uoWQOw`!8>S#`>+o|f;jr)T1t50Iv=Mba%;ed+nH)|8HA_DS8dzIX~H*=An4ts z{fY2}NQg=H5}u9&7s~gJ5$Aa^3J{Gfi0cul`1+m}q;8>Rv!_@>szhz3hBqtWU)wkQ zN`mm@U9~h_vpEaNz6b0xr~8O}C0?yn3WF4BlO>zdX2Pp;H`cOfj@TDjuYKyB2u`hU zWNM9x@XyRYly69elnwn0a!Ul)qvCib_Q7LF_P+J%OTRQE|MocZ(fS~fF9xz|Q~5lbJqB2y2^-5u&-!o)frI>OW{ zxCN5`1~$LTI{_(sg9m+5h;fqg4l|3KBfKI4e~vcr5 z1=2o{3^^MDb1y=&l}W8q=s8Fx8%s}35k9WYsXTk?H%Q^uML1fSSl2v^_p=8erLtH$ zzMlPm{tv=K+3xtx$n1Z=*8J~zA0E!)fQHl~B=-Nk^8bHCr0bV*UmZ6^HlvcXTP~me z_bSqt{B4)>Gx)z)J3uV_SaaBavHHR_FM!;8i5_U#uU=z7~4*#ecEUgS@m2 zUG4v3s}&~R>{o05#h#NH>!@)S+5bdO_G|JYw=REj_EmdiQDEKnWQ#vCuKae!<%c&S zo#B!`lP-hhqtc(2y_JvM(gkLEHCMP}}5c+Tl*v=~6 zkmW1_F7bK&4{i(sAI*p=zW~CcF}$_NMx`CO1>Vt}6LUu1()H@$yE~D?G{xe!3l&+j zb@6>?Ie|<@{2cBZh9Q!i)x)<(b&)1NTNV?$JrY=%J+k;H8K`Z(o!=#Y3Yb5C{PpYK zhrlgM!eq6<8CW(QywdmaIUuz(YuXtv0E6?~tFk@{z_7sbqm|+Yu(X$nTvYV}j`{O- z@nMnRK!S$F9wrF|BCtr6kfH)H`>t6kyk$|>ae;X}sG(j4SRx}%<=Hild( zh2!{tI3oM1A1g*3EXaa&Ht^aL0R+jzTbX#MNPW1QqiczK|Ch-nX)Y&8puaa~Wpi{o zutS5&(Bv*7+-(Ldyt;(jWrBh2#L+-`w^`tPe(f8@ zVg-1%c1#)+DFT1T?W9oN(;$RpOR#uH6o?M5prsky2XtAl7+DERD=$li(^+SHuxkx(j%eSu68(ILK>HE38ToG_@D!BYM>L~D#jjQ8M zXaYW}KB67A`#?a}W&UHcMIfXwW`^dm2BNNBk2}`H1gJmrcG#ba0&$zytrIuh07*xu z-h0SjLq4XrUp&0C2l@Z*VT;n{Mee+xcbK=wBL~G|={K(K$fW7^K4xY=q~S1>C--;+ z2+p)thWEGuQc&flAl~!9{)mQ-P}B$DF`Ro^%CH^;+@Nsst!@Fni56E1V_1QYUzzF3 zkw3t1>$~ahm-j)SS!6(V1v3blG*jjJ*8!r+rMs@Id)y|--3>U-XYQ4|GH6tO5lBrF6;C5Dpjl5Xkl?(P<(Q#uq8so_!(1T0WV z!5{?1Km`Gn|GppmKJVc^j_;#=4A+xk_S&=7nmOk@Wr1(Jv@3P>63E-_@jAd72igy5 zZU-~&1yd>4MY_-xu%->(y@T^7SO!Q$@2TwqOKX1epN^|=JzAN}V9gEeoQqA^PI7^B z%arpve%x=qUI=rzx%rg&F&cbqrs}`9 ziDo|!S%~$AqLxzgga>Ok%6UjJzaJ+<-cOIpShd%HZ9+c1a_$>QE&Yn6t-KHFzf`NE zlW9S}dS{WxjTNw9w{$-2+6cDo`c)B(g<$qM)egmz_$;qO?>yv`C^aUpHyC1f&d+{vBsQQqyg+1daic@_pop#<5pAGJGixz$hVw?L#WXnWBrSPwL7#lh0 zMn*apaE*egO6a7!R|cWCq|&qMzzz;=cN=u4?}B}VIx!~w033HKR{DNY1(%2OC#qb; z!9AmeR>H0tyvBBXd3E(8F<0X|We{lrLEae*2{O+ibTs@)^JfYO|M&L!+VTQK@%{O_ zyg7}UE$bS2&4OqkF~NCpl>)C`Eq-$+gbUfqmdTT-{1pDnnL zhL%*cwSd?AjAL)ahF4t_ zhr#GnCTT8;2P`;_*IP+%f_2WOs@D{uYqWLz=yeY@aPz4=K)Y)K+$wtWSkC_h4-H$F zYr@~b`%q_Z-JwbF^X-}F(V2lD5f=uYLjn+bGcvLEGf{)9jZLRu`wo%AM$enS)j;(6 zew9FqPKe{!t#L^u1EF&()UB2S)z6%M?eMh?C_XXKOp%R)w6sVO!x380%;V`g`EC#l zy{bm?uI&N~>T;EC${w)Rl$=+!l?MA)>MH)dJmAW3FRjpt7Cg#doW1@h89c9k-}_** z1H8QqY`I&Nz^^Jou9}MQ&uH<3$aEWomh(6K&EtUZs*bqUV1I~gH)>@Jj)v&*hRJ*4 zj1Wh5V9yb=6-YRDOoxSn8d-LCy-L%z!K>UN%bu)eAoA^Zh@M^#sO$Zhtl$g<{ZFCx z@6NS@IY!U!%4Y^^w`7~Q&+@=wR|c(`8Vk78_D&sd<^lKESDw5v72wT!yCeAbe(<@f zhqb2C;J+*E&feQD5LEd(Ufj(SLWlP3efThyc)wD-jC&#>a230}AekMt#tRzU{D>qnNc?>+F-|pv$WFuc()&6{X8&G_4uhQ|+Zn!2(SAO#Q z4lwKEB??-g6W^U@=U+n@jWcu9fD%L;p*LEu3it;5u`3SJMxYYVE&!S^Q3YyY?l z5NKSa^~@v;f?uC>%6t_FVNUOvDb4I4B3*rX;E5hYCAsZ6TzUy&Y>J|d!|EaKO4I(d z!wQga;+8QEmO~OvSc=W$E=XZ!H|Y>)gVX{>WquPSQ0x11=k;g=Tvm`|?5s)${fz(% z=DvEc@LBPz(J2O7+r=*Pz({a@q<5Rni-ypLvSV40Jq6w@$QS&a8~jY4HdiO9LZDxP zW^=+z2)&eYHG66q!WOyvzP&mCkX_Tw5+tXlTC*}N3ZtRXZq_Pcd8<2=&dQ3 zB3RSciNp1LdxzB>$HC$EOugOlZg2~ZI7I!p2E5cV{xDL<5qeeGizRo`A;`6=aP^Tr zgl4?>{*!eZ!f#g(6%p$-YM&F6`nV&+RLVB&98iR~=*X@pn*9*}bBdc$-x(6s_V?}y znunzOPgIh9X(2_S(&LR;Go(h`iLKVS3TghMBFS_skRCqMubMy(21Wy7QcsLQJ+LW! z`}-F@re2B(p9jp9Y_9@13pewh);3o3Fn@7D5-2 zgf5!iga{9t@a0Dm5cT&^Smoz@h*KO`ocT}*2@f(KkzPK9#F=ZnSZobRgEMb^EB-(- z=`q`r`WQ%A&>KtC-wCOu%dCgK7ebobp+meTv5;}a_(q^paxJ$-x-GPwC-ZU{I)<~hFd>gmt_ zcMti$CyIaXz9RN}6BP;Q%fJZte}9*dSZ$eF^u{huv+uqFJy0Ly>2yg~fzqL}Z0w$hpNB)ftC?pdgMtg4#U^~!(0YyG6T@+!FV zKU=T!$EC5Mr~lbT%FLSnBhvrbrVqaVd9`rxKifP=QQW( z^bhc%dXYT$F{kUO5tpnhl}m}5FP=G+{keqN?#DhSk$a=A`+=*=ZWO4uxPJccBSPP4 zLAL4Ks3@B4Vp|g;??KB7?o^-tc(i5Y$@_MG6&=qQDN{-GpvxdH`vyfax}~MlvETTC z9t>m4sl~+nU((`+NcM3gSbI$WFmRzy8cSpC_ao@{w!m%o{3M2C4JlHIHlab}frSa{ zuV|*Tb(G~@HR^YEdrUYH`fRgC;}U7!Xw?3y(%O#>O*tjF$Yl%BoT*?>T~QHQQkxA0 z?)!t+gPv?XGFC=g0;HAUAd60%G4{u)pQGEH0cHF{X7r+*x^!G;8ht)EI9QY?qrZRE zf}!I<3><$7TQ|O82u-4iL}43-7W;&lN1ny7iQvdyXF^XRr}^sVXG$1-?_I&C*Pdwp zseQ%V;xAgA4V)+2u0r$tK=X)tVs1@w&%!Bs6}0q={K!c09k0_l6<v%~t5tS!&Qdfn0nuUmCqGnhDy4zDHlScX-*K z08HCrAd`--K>PJr)9-KF(Lv0`q55buI_P{R^bz9=_y)te~sP&k$mi2U(heNmol#I9|rzCMX$)1k71Kj22S_FF^bK& z=n5kT#`5Ur8MS+2{3@e!8@ntfIX9V&t;ZOU}k% zj2+h5KEW@EiMEVn&GD+3Qk70~sgxDd$UrdRIO3wjIHFRMwzgCLrR~jn=o>5@NoQb7i$QR7I?ip=*;3Q^`{8<*ESHc`Q zCO@&=KQVU-uS8A9V_s3Dm5Vh6dY*S=X-#TH_wDyel*Igu*TFu4H@-CJO-?fNQw~8N zu`>Z*FXf}}C+4^O>ANuCa{k?ZpG6E-dHPdwFb%^P!bjPaCkX#!dVhSM#;DJ#{T#At zm>|?!d~xg`re3`Hj*{FI(^DqWZz}U(X1xjJnbAF%9j|-0Bv=S@1WG@Ek3Z)2%{$00 z9K<}GYyM2M{+R#gcCSs|IV>EiF8xJ(7v3Iw12?`5py!u+`nwo((I@4?;R}Ba(YLbi zvaib(^!xXQ%3qO~Uwy&Yps_0zgSEQExV!&h=;UqL8=^@VL7^?~@|Y2$3g7!s58cLC z_p*H63IR;^JH;_|aRk#j^X?~HQ^CxU4>9+2UgC`lwn97-j+lF8>UiQM7--97E|Y5JNr!wi#I~|cg4@3Z=aRg417TEb?siEz-9D5Y(}5{ zo(BU|E=V-1hhQMdj%>%2H3r{_T#mYb8$)l?uLKVC2$e6DyHZ81qyi zZapRm70-Z#NyT&pIj4VEXjGBaQLYKmd59P?M>N<0UW!`qvop6kMYShzkw1A zEZXnyTG4<(>mNANnOZR2X)*}%(T*RZ!*)y9MA2iQVc&Zf4A$Sj`jj9+H;NL-ob-d z+)pF7tm%&>)9a*b$>Lc0dguM4zV28?0xs1!Vvervq}Y|m+*nb5v_s{e1cp-Uin6Zk z!=OI;{q6$s7`pUO_S3Q=hBc|3P&8)7@PyQ=S5$v6qM~ci^IcAGoB2Q<@$D8fadu21purQ0|uBq%5EPh|l zu(SUdmh%6++7q0EWjcIE+?rXjT&IbusXQMmu70AvuUdhXd>S4+uI_m2+`oH{cL;xU zk2&Oa?7+~|)H+5&dkMX)3a#`Tgl^d(rKB|`La*u9_Ol5JEFcX!<^fo@5%&$i=hjZoZ%wjzjFno|plLRa-_hQ@GxG6Jt+4 zx&QMZKgOGAH*Se4Vp9Ht+vm?5$27)!13!B8G4r5mnd|v;c$4>h?@Qg?SXB7O{>9t? zmi(PuF#f`aW%ojV-FQLFBQrhU#>f$@RNntd;sib3(p}-Tn6$zwRW>%|5_7B;tFC;% zX98<@pZ??2)xyY~Z7a+DG#LJDGemW=6eG8Fy7Yz$Flydr$C&+YjGmPB)!~UD@^d1BcBf(e?~FON$F>3=s4z^D|k^ZGh)eU zedg}YY<J32d0|!*6z`D$Mlsw16l7DG5cxP%Z8WESom1> zQJ(=Zr<`~#zeu~Os6XZrK&SVdoZOn6Wns}m^~^a5qDrgyj2v3GJGq zJ!S#xUXyi2J==@*{R582!ve9PM)Y<>T`k7)n*~}5nqtge&&{omF&L*vws%i>FUD)I zj>}&o^cU@!^bS!Tz{D=4nFnFB`?raCnj?jX)-=`13bm;G!pvq0^9Sqner zX8*kVj$Iu~O;5_DTf5!0bTLvrAZ=uC>y;Vt}<2M@{V%e6dc#_R#H4 zYOL2aW~yE|jSaeQSL=WHW20h1@FRoI*mT5&NqOH+FmoO`X++u!+6GSxzr8{*-_1DP zsPPbNzZBSuNm z{IlNOpTU6VM%!H9M=;r>k%~OqPUxhE#h(f|Cq79z=AKPOCcfbpe4>!3BO84s+j$~M z5^d@g{xaXOLJ;ZvncJ&{D)Q-3kJWdHcV>ktEWMBrUt@WmGxviB_zuiz-DqhCsh{-) z=?s+svya6L`JF*6_edCD z{6&pEV1aY3KAU!69a8nw^}qx0aPs^$7)T3lreOkl=b|8>LQkoq|0CEtAm5FT5riH& z&(reno?v?agGLr*0qEBD7MgT>ftGLds{i#c&~lJ?zgW=;*LGJb&+*;>)6V11^yg*4 zw&z)&+Q)403>y5JlgJ2+_5PuqmZ`*jP0wNvO)={Ixx^JFR1Zwze@-XwRs}7xcDlZ? zZZMU2tgyFB8?5?2rkMXF>Q_y|%o4rtiGD}%d+zt45aM0hwu?6zBB_taYjGEXGmodt z!>s_qPkD#>&G%qEryNCo_Ys(joN%`c=>p@ME-E{j{(-USxZz$EZ!kYBRjiU!MAYB6 zCf0Tw0@u=;R*97Q;L}f89q~RN_}SW=+5Iz#`$#j}EgcawI?mlHzCZ?oCoWDFSdN47 z&P6ey=uWWVj@n%moDI(9&e6*o=HO9zE5i0^KKPG+c4DR~gz#G(HgUc^5EVBzQyOFi zuDic{wXbvr*Su(cwJZGK&>cNCS^o;GBmAi7x5~k?THQbWfAo7At^yC!@h(5Aa zf0w8~yQUPJo#vMXS8rdPzE2e3a;WpFJZ6IZ%WEml#miu`rYOwyzyoYllt6v0*F;7Fz@Gk9GHA2tg-2>x?Dvu<*;pf2Ne_RVuebh%vY`e?Y@7TB z9Z%YxU2{*tZpj1heU$_EPY=55bh*Koo`b~lHV1;z;y-*OaX{EsO4iE|UWojw95N}}1 z0Z(x1UQ1iJI1Fy%eNOg?jo@vmQKCXyMDV}4s#osY1=l1q+if16K)Zh$y?Qqa@bU$X z0F$vyFbgrgIdo(%xN^y<%yLwMx3jELd+%Kcc)Ys*X8LOgjr^8T?0gv_1m=pgBj_Q@ zd9?X%?nR~?#&TU**m?q`G zS*YRS%-J?@6{LQ5!_$>m@BE)u(zd`yFmbwNxs%`t>>M2BCF*M3zrTg0YoO)ld(vd9 zT5x%YQ{W6&B-k9KYaRGP@E=C9+3?(&1;4>7G|KNxAoyR7Y`+PiTR#(&C6Pf(d^e_F zCEmsjJE zc@ps@ObT4}2B##@m6AcKu&ziBv{|eX` z#M-fj$Dq8xa74taFjz2p>3VdIfcpw>%|*$Xu`P-MfDvd|&Jvni36& zXcr%1=&XjQJwZa+D`^llbLNyn{9cGYLuGMIh45!~Ka2Jud2r{niuLs}A@~vRH8lm4 zfQLm}+CsH5xIf(gTr2DzxEntolN%#=9S11fbC3!=Z&n^!H68_D15pFjfQJywrIFmz z{1hD0_T=gbt-{$|VcZe?b6{`I*05Rq9K6TVpRK(dhM=x}j5?Jg5GFn7pC&sF5o8gR z5lglZsr70#|D-NNDJuD}iYY?WtZi%J-vNj|G_!s>WD`8%TlzXG#0Xx=9a&{NhmM^T7YvTh;I#O%UqFMW5S$9KtPqsv7-P zi8!{V3ujFb{i7qM3P-3Q$|>Y!;Y1`vy)-Wp4;6)|UwxiJhs?oKu_TGo;0k!$$zy-5 zD+6APraaz+Zn~Fj&H05RPr!3i>RMp>2zW+yTp$0L4xUzzq`9h(gO^2h9kt_M@Xh)0 z(fU{w(cgHX6tAue?z-05zqzQv;_fW1MC&>5J`<{7dXb2CTTmMRfkFryqY&$;E`e%He$i0UHWby0kc@K<=wHSaulF)XqUs*!_d zx=BEtmM(bxq0A0dH3M&3zcH!XuHbDLKY8b$4S48#_$_Aso#6SSxRW=c0cgW5{E0v_Fyl?dLN1uS*`d{zeeO__xQ*ZKxsqmq^<$ zVGD?O^d&ZoA{8Qae_bipCHBYJova>jvmr{0lihpIafr(CPoLvwg{ZpEYHR%x;I;9n zcJ5Xic=-rfhzj$7_nODV?)W_LxyO?-n%n@syK369%nyLi_^~VW#D3yq9G$UnSDEOy zamVJSC4--23^}!P0)#}b#hd1+g3nWqm~4A1@W>N?yZV$0LO!~7q=o1~`13B~(7_sr zsAwy6BiTa4#Bxb_@f<`lHPK*N5JaX9u_T;ghbWq%CwwJ~5Ow_?&zTni5Eb(8*UR6> z!TXJXaiZu7cX90Y%P{;Iz(J0bL-bAIn%MF_Yu7jwqW2mIQUt3whRAlxP-o$<6LM66|L zsdIHhM2pIo@JfG(Fxvet_w5)&_>}VQ()b7w8J&t=RkXdjJ`GW- zRQ$rL6yVeG_X2w(C-|J@krN*f1i!QJbvKbO{9j|2`sG{*lsoEnGf*3Xglp0%pAcLZN&spR`tUDgn2XJE)7u1xe*HMefPU4@YF3-<(f&O@m2Dih}}QHadz$^`Rx zh?F(>=_UIS!e{AXhL9P;c|RSDnh}CzM#Ss1W6j0QpAh;!IYEMT4MLS&I`)lDLg?Tpx`qN#2wTuf4b6~&2$|xnJXQ~g zbfi+7{C5H(-)vnFs{0In?60=ArMJM>wD$BTGlH*EdUW2y<`e{9{5svsxd5T}SZmg< z(n7fIc3khz(-6^nbasWu3?g$SDAiv6gvfI{G+AzHLS(b@md%p^h}kdjRCl`#Vyo;l zI}NQMN?}jmo1PX3@ipU2Jp2U$B;x;RhEYI(A=5}A(U%V@y@XhcMI!Yr20drD;Q=NYyB&&|)mNU^G z-(lpZ-S-zFZR5j73yUCn$~eMDRuAGX9+dd>!W823OF8SVPeDTM8HNY0t&kFRuVT@t z7!p`R@>y)7AXqJz!Saz9c*NY_t=*ph?m9-pFP8{D;fcP+gBSh5kIvZ1a0fR8O>y+D zuUv&N36uFO0_PN=KK9|5LjgoeKhq50tpz{NV2`u?ZQz?#A`xpr@bMlY%Uih~385#L zKGJ;s2H_Y2VM~Sz}mG;X6j|)T#|j}C|4i)1&vR!`yNJbt$=JwEuxNmrZsBh zj1PL0yii@{(?mBikv!@KGua z3hw&`K7mi$dsAc}%((sc8%Gfc>M)QLnI?nC1-C3ZvrY)f+qHW6?jE!sSZR`?l)&pn z4e`4xxX}rOSw06ip)Jjy^)8xewDeTC`6fRXO|sXYye4?Fbe0<)2Br$5Z20s`R`F$E z&o=lTH+&!D3>^AI%FcomYtq~|wU5BnS$%HtnjBJfF{~f&n-*UL>okMKgCMp4%5iH! z3b^)|HPb$X46dtPkGtDc3a%$ldn}Wcfj710DaQpF@SHWI+p!o4u5~wcPd!aX^9EY4 z{q*}#FX{^n-@k#@E=#9=ox6;d{qL*q@+_k1zZZ9Z*~g*&IT{xY8G?5<&Dh4NydGtH zl)diDe?&eizsU4k?s%5=uFlJiZd8()W$inZj@tI*+=h|asFM5M(#4Tg-LDeYTBLYGM(r9t;=H4!44{PtKRtjv{dP+#KI3Spmlj^bRod zi=d)Qk~jPDb(ELdQ^EWAJ1VK~NUU9|LX$gLZ)J9nq1E%j@3wFK(ZuY}@e(-&R6m{Z zBT<44c6z2B?s=pMT4(i(o@x;5gUqYNR$w0N|K(BdxWNfd;Y@$4`w6@U`&#L{z3XsI z)len;SQ*NGUuq<`4i#z+^Ff7!PP&Mh*~GCa<*L4Q2k>`sF_nNs>~l$Yy51E z%C!u93T76lI!OEX8u=({%HO6eef1s*luYqp{3WzbGk>;p_9Hrzq}fKC51@^h&qE%P z5E>S~c$j-~2}NG~RLE9w2c^#HV|%6UgPFd{b77g^V7)k;U>KqWHWKy$eq*1(=-drQ+l0 zVkO(vb>s?K{%fM1m#RiJ6+VWX>;w=S)Mowe-wy^+lOa!TIfBLajZ|Kz2Vh~}n#w4B z8FacG`Sed}!PVEdJ*g98f!*=1a%l$_aO{01{MPUpFcdWLN*YtCuEd8 z-n`yKKITi#7xwF+%#cjMHuXKOb6O6WOApUYb0Yx+jy8<{oV z!sj4ZSdiU*|C9LEvF0B}^u-9?s#R1;g{V1x;l;Vg?`R_3L%VR(2`ygA^=m)chn^ec zU&TqO7}WW@GNr&CeLkjVyNnp4>oxVn+Bd3bwmP|sp5Q$dK5xDyt$7Djl+Ql@bA}o8 zgT}VE|DFN8uMM`}+uA{eVVov`yAH%snU1)gJqU7Yre-Y?8d56U}uz+lV2`|W`6>}-v*az2L=fLW**rz`Z4|zxF-q;F zK#P!}v;?~$bQC>&-hx&F!_r;}UuJ!baZEz(htq~IV&+4_YN9auKlx&FEwUe-BG1gE zQLv!SooJI{`32xCq4Su$^c~b{%Up9m<$z|fM;_13RZs}I<3AFj4Zy5<#g>Y|)76H` zW)<;({H2|ZUNUW9QfcqcMv4P-?VSeh)8b%Ou`zyT$qo!mDkn(r3ly$gu<|QjMJeVm z(=*}mXrVpzEI1+?oul@3P@LF9^mPu*kS-p=gz-ne;>S*7RD7)PsKx;dJUc3((hy4E z4lJdgwWp#^>EntwZ#aN`C?&~3lNMB+Z^?ZS3I$E>N%`sT^q^3O~c3{3_T{ zX&!~#k8@*AxcZ>EnZo#AvR&vZ+kSI<(ix+A)6P9Iu*c*q294LIOBnr5`oX?~k1#M- z?cQqlOLRJuc2m!=6}7e)QajWYflCFX3~N(C`IoR&#II@4xSAEskkkh9(_=+37w16Y zRQB^3p(@bytXJJ|iUrwo)cz-gM!|T#M{9Q9M=&1~`})R+;DvXOuske724=;&wXyP_ z;M!jCoSC8`U=NjW-L^Q7Cb64rVWNrXy4|HgVZ?&5yE?lx{@lgXn{Ncq2%N{5np9<7 zvQ7*b)HP|b&P4mxKgyakWvIbz6vyPY7tR*+laUFffa2*F4^_B*LG{7;tMy9bARBRm zzFcM;#A!PnE=YxfI;ihFR*fKiWUO23uNWB8iO>fyUIVkLCyY$$HDEr{mV5DhEtqZG zTLUT+$NGx!d%9Pa^zkzXzOyVXH-J$-JU{3+0lIFplP(+)<>3rB3KXu!1Q?Wv1H zx4|^0USvY}8W=7*mvhNI0QJ9SX4=WcD8G~YkDZw~x)MC84~~&zqOPihQ~NZg2T82` zBk)mC>*2gF`WDg4kjeB#sw!HPGEbETMWej@hk#=hday@RQpibP0)%d{ZCP1=ge&nq z2gi300AGcOy^Nt5oKFhc91af!$-}axzKJZrvuQtZ*kKsdd2K^{0!xYSTPIZDKs)H! zIO;A(W`n-yXEYxU20gCN8fvpbp!N2UBJN~|6TO0z;`fWuUdmM5L|Ge?k}mW=ySsqt zS2HdMKR8VApc|ymYCJ+$4(?3Ss0EtTxJ153|~C*aU*o&PNQ|lm9?E-uQ6VpgS5jk1Ygms$xR? z%XZS_UQ7WakNJQ9&_{DPzNw`eZM`EiJm_Ac@wugK4wHD)WS2U)cj_o{u9*v6HU5n< zPpU+pkbdJ;wf+9)RJJHh>Bj!2p>Uz=am9Vh z=OA=JxOq`EA4Cqde78$H527J`NA_{If#}+}^mk%?iqWcCZ7vqW)mG^(|LudQ+O$2? zmlTU}l2SK5*B`|A*B>H&sB@zWWsJaY&gW=-GT4e;`x_c>zJ2m`V;psPRmWp%KBC5B ziCaDVO{hkSz4*Q!QSFDvt=qX0sC;|wW%Obb%G)gM+jnjU#wS?u9DH{cV=g|duAH_d z`maYVWS%i&Ty^lFfKR~~srQPk@A@Q0@zPto-?G4{)PDlMz7qQlrMk{fo(hcNOG|S+ zD1tF1eL0*aMBh>3)RRS{+Zb0DDWYAjj0sI@BaGJcn8@c;RzLq7lW*4Zig@Khth!-JnOvk<4cC2A$I1g=dbqnS!%FQ0`amJh%*J9QgRU!IId|%rxb41V8Zaiu>L(ST@S$yzg8ER*ZH%PX z6`y21MsHrlTX$6tS-K74ttqji0}p;;b?`gG2>ULqZkpCQB%F!0s@<>V`?9b$w$!!n zlOWbBxLQ5V_s9As;}FK9f3S%p^`_{M3^ujM((0;i;%z-vLea|%n}3nDdr=KxjELz< z;CFG1Y126Tk-%j{=M?gFsg4nSSwDVrgL#Y%+W*W{=orRF8Qz?fv&JNz>CeKa_F<|< zY1wM-DNHZo7;Jgej#&of^nPqtFsE^7$nJ+U!DIfm+mTlYOH5j5M9b8$Y&P}S{PCSw z$&}w>zONgrxTqpK6`Zk#R+HxeEMe_Gvbnn(N3lV5*7;o%EjA^J*mNZOW3#LhZ=c~u zjIRDl8#6wLQLA!yLuf`Y#*==E@BhOgk!@aUm-vBk8fX6g;i13;t$cD)-z7|@n@!Kr zdX1@X1CD748eoRdhV%9%8G@&pp4RW(9?WTS5!SqP01K3aX?jL`vBdHgt>CaOmi=|Q zRw3PlmDj%g_RRi@Ro+|lw|e}s#^q+T4*wmjv)dasx}HC++!#4*Q?mc{ABYVAJhexp>JY)7HPZpNMRX0*@ zaAP^IwdG0jajeXLbHL@&53Cv>jW2oK$D00U6Sl9kENAX|`Hr%nSv)VI_O{ZJ) zC%vCwlNS-`XBxf8(a=5HV-`^teAJIOYMfWjITW#}0KJmV9WvGP3Ph(=H z1g-US9HwYY4hhnaU|L}1WMGvpW;BWSKeNxktWC`^h2xu;ORat*Jw_f2-k$$pS5NSD zKPvrZc7GVl{gk4vyf4Pem5RkfO4L}*G*`%!|qxF*jNEPK*^};m5gb#}SNcF`Tr!B8~}1UEi17 z55dGWtslHfg_u&%#G_FC8`CnolBxNmFr%aFtUJMvpG~v(F%@!^Y;R!^!M}*hG2TJIvo5qZ$t~RL2ft#A={+pO+xU8ni1$it}UKj}h1M-|?7W zk{0=?ViuDwaJhHZJ;0P!?gN|`%`h!3`Q2Io2WH$}p`Y7a!)(S=4?dbZU~X!M-@8U_ zESx^T#xl)?rEW*b%nIuW-2_eZ$q!%fR`bn!E7>hrJ@V)28r3w`R{P$r8R5cu2|~|4 zB^?`5*@x^1d}E`({!;cWU2J?o#W&zzjZyD&57}4PV{;!phGI-9-R-?wy&uzjGQ)oS>%@#)j@M(4doi2!NSjT(3+BFV zdG1EdlSUOo}e_(GZRy37SdJsAhRctLJ#;})I!*^5Q_7xVaU9lc~`#>D) zji&0KhNNLbD2MpvfGTWM`lmy7#}ONEW~-iZlfh_F)4g{YZeS$VN8I`H6k{tpMr#z7 zFDtI+4Z) zRCtqVXp<%VB^K}NJ2!ZW3(GXAzCCEy#YzFS!_I{|SXF$bpW@MNtjVcQTU4RII-dD= znhZodeNX=@^CZIt_uoy=eg$A7+x_Hw4mYsTUgs0LWFkhl{yhhbk{D%2RsPEDA;!K7 zRsDNm55}7@--%`|#f0Mdiw2BIm_+01w_`#aQ|O{5eiM2;Y5RO4R++UigTFC&s8|uR z_dD((7d(qMtwU+Fe;>kP+sjP369=(u{O8W)P(nB2F>l2XCk<9}()A|dSFGJhTRS5z zj&+{(G6FmGu|6Z@-2UKu*kIen^M)x18@6feJwB{sqiB%ji<`q3qrB7}sc{#hFV)?P zJhqH+=U*sz-Il`m=rm>z=`u{HY|3M4$i~D4)y)*iY)o#*aWbLw$JFk&pMtUCn7%}- zIYHcWv%XhKo$t}Wo3{-bMk@)Ois$S4d93nS?yf96)8T@*oC+3S7)4<9z4_Tur$DTA zUN|j(OCRgn3`(jF2V#B08jJpKVQerPc>Lz?BsNT+>2(fL#>N9R+FTh;81q|pFrL6? z#T=flQ$EX$adDKDlJ%c4{(eeT)v^F4+$~wUa_KN8KG?N#FK!%@W%evP*I8n!jbC`; zUJp!9X!nfmZ^o>C>*LL$jF?A0Sz4XkjU|d?)>8JTu;SE_D~Y+giFNsRnM`jt)@Y=T zi61_QwQq!3-*hoz-KHlSDTf8?AD3J%IM09$29S~QaUV9^|G-OBVzFVi+S8qu7}dL- z=b3J+gR$h6+x@@BFz%QA&D*st82@)9yezyH6UN|+^OFutZ1Uad$9WEu=2~GFT{))i zyUq|DtdHr8Q~ct$u47iB(b-4MeVAuba5;@H8cW7E^`eRhKUW-@`F}KF)ykDxxijfl z^F7mg*EfHxQyBP~H$8^+!jTdM{y(w)-S^T#7jJCPK3$p{a|Ro3jDGDqIfo66HnAr6 z_F|l8(v4Da;yYj8W342#iSe#G`OPj%VuJ3O5+9n&n0VMQ$6_!O6Y=FaJ<->gRDL5v za|b`B*qo{u+hK`mg$>GXbe}Ox?Ax7b%NES*$BP{qgkDP2&}m7u$I3}-JvCKltRA?l zNZ}}hwHbmt11_^;UE_x{$%J3^E(U4mjm@xrjqG6T166ELDI6${3&93&^9On^{MZou z_oR;#fjbnan#7l%G42D;wdKxCjQ?dz`SvR>COqgjSk+s@MCZD>gyDKj{4;UxYVmta z%4@M(xfYMf(-W_R^8_*N*t_k-mO9LwcpE4nE{plH^|KZi2we@sShoryzufv7arM-I z1J>MjK29Z2hIQOg9`r$7SWg*g@S{@(>+_;#9x_c~1NpmyE~e$!AiIBLlKCcq3w!dZ zeaa3S)CaAYPIF=WXTCol^hzQ5Dt}wJ#YG`aE^_GKWiKZeYFoMRKtbVXSYbr@ztg5gVv>q-&6`VuRSBRKdFa z*dQX*u+H0u4P1HdbE4Xqkhoo_zDPV>f(|*($ztN((jB=>bePz$IMC=2g-L;<%r=3V zn0)Mhb@n6ToSQPwVZ-qXlh?22A8vb#sgmREt=%1%F;ysg%9s}my7)KGFoj`7-z?dy zix07;$Vhpd{SVgpy`%H|8ba)kyeEd-(y%^w(3^*tudja`d5Ix<78~|tCNkZc!G=o# z1mIjB8#qEgkL5>W!@g%h(hDh=NHrx~FmeSGzON^g9o~tF;TQHR8(LzLqQx&EHBL-s z%9;A!@)47l_CMn9U?leUi2KN|h^dsdKW59#FjeR7%E!}hFvIiV_8XT+SopJYkJM`d zcN!ZY{UcHU>rQ?q8_Fbbe#g3J)FnP*y%4|#%5YT8oeiAc!vlIQhSg<(i z%+(jC*|ECrP40^iudrT!bkSXuIKN+=KN@ONiS;&|mLD!FVtr~Df8zsMtjCC1COB> zljf-vX*}04W!F|Vu@PhHsoR_(8mBRJuu@!vz5vr=ewG~=D8;n-)cg9E7%@}$^vz*m z1uVIAW%1m{8LS!Q>$yJj4eLjz<{EOgu>MN*Lk8k}UVnXHzg;3f*2lJ%+iw_SecR#0 zR;vZ9Uyu^>uL;D4g9+Tq;p5oA#_6~rt%VJ&U-o6^js4$z*Z-dXi@^UP@V^NBF9QFI z!2crfzX<#<0{@G^|03|e2>dSs|Nn>p$>Oq-f2gGc$s*3uqGInL$!N^`W4vGs>Ds)) znar;TNR}0=%&kt}xoGks5ekaRsL@_~761IbE+%7|C}ImyPqsN>u8OOmzyvWxxw zWs+STyWm6`7s)nHeoFe;I>}+v@|XS+BgwwCt({s|f#j?s_HNL9ndF#yIcWd!G?MGZ zzRB}*>?Eg356@YN9Fl9qQIc&Z70IEk?xEYmd6Jb->->gWCg^*r0YmTI_35(1zQY3{g>5h(DsU$hig1+m&j7j3;XO3%% zD3Ew*dqn_L-#9vc=G~o=P(QlmDn?{~nV0igl`J(_4}i zSN2`ee{9fG_E4sgKPiOqV0O?h(13 zkGUjME6eA(U%!#e*YX!FW)n%4(z36@6mF3$@u?V z-kbYe_TGDxl_beJhqLTeQFfCgX;4X4QO8?bA~O|9L@7$crxg9}-#_2K?#IJ@j{CZ= z_v<~*bzk@Uc_WiWxLgOqn)c&67Yrbv1sb&WFoXAdO@n_=KY;uG-Fd`ZDRAO@>QJV| z0K3WuerbK4U=!w=v)NS!sH$4xL){Co@>x7#aw!lDZ-!e~Ua|#+QtPh!J6%Aa^SS5d z1OW`gezKe$z5_C*Cf|mRHiOfXo62o}_JQv+Yu$;oDhRP^(f#@^7Iu$stxe}%hY01n zR%@D05FwK^^I1;_b{Fovn%uk-LO8=aYAe;i-zmSnlcx^6x!baO+pNI#Wx`^7vOPE` zdGB=(DFd7B=<`HqIuL9kJGT|Q0rT-O+DPhsFd|5^ze>;sjnxn4wF_Oaqq8AOqr3uG z3_8q@Xzu_W=4Z?0-IXBv`xI$90_Un7^c}Sx%mFXoCM&-AH3%pUOc+Z(0iiO|#iuT` z!mdj@rWb#X!LAY8ypxx1Lg;nd-^QvBA&7I|y||m<;QJ|G^43-v@cg9ms>6d7oEzpc92+8N_YenV2^_Pi_P&FU;dRROujH`ga zk(^k~=kXAd{qS(Y>~093718vQy;3IJ`wv=@Y{0)?s9&~3wKy5=0Gj|LGurs}6wf+Xad7T_1O|{_JaycK-f3ZL`ioD08GPSoH3T){6xBO&6h9r$SM3XRvC z2lvAxIk!ui!EQazYI&<6&NW=}QQQ;)J-<6f4<=GU>1LL9TNDpSdKs>I1}1?3KU1Ty zZys!MQq{TSJGzi*3nW`feilBr$f|PS=6Yyp2HaQapG) z73{5cqk#)WIm?K^1=iV&Wh0#HVPy72y!f;dsML?f3E(?_#J@TfG@Qmcf}KL|^5$1z zi^N;IksCa{pGobQL6v9k^@Jx{K}<}9M|yvMzhTZI^ueRPpLzd)HBytv;D6lvaetz` zVpkSOE8nO{{N@WfAy>Dat5yN?VP>Is6~kcLn$^AKu@Jb7vWh1jdk>y-)3!F2|G=B8 z$uf-R1b8~V5Z9~t4UT%k3wI5Q!SXaqO&C`=XlZ5s@%-%x;s>4lXs$1S-6XTaqiuWd zy2v-~sdLS}U#niqE%Xz5U$6Z2jO_|1+}M^PFt(aScsvrFx5twSJzo3^TfIk{Et*SVr?%;c^QA=4GTh%X;Yb5B8-?t&=^uFBu-~)@Y62Id z>m`;6-QW@C$=CnI6x_Iot8p3!!M60@H=ZdEFs$Ld_MP`JNJkGU@EvpS{dKTcHmS9! zcksd75P^x(`+?Vn&G$lL?>FvW3W^q!y`PzSZtXpi*gMWIlt?BtD|rHE}Xj`h)zuf5X?t9z9+vp|OVN!*SU zJ}{trik*q^0Bfg^1VcQJI*v$Q@t*Ji$DH~f`<~VTVb{Y;*+r3{+B5UoH6g!uA!PZr z{nQS`5_Hy3c1Du0@He)4$ly}%Z=pwbRi6$3>xf;yNI5Go2mhh%I^Wa#<3>^;my}8G zs|vs8_g)fuZ;!eZU1?-S+cuW1o*XnG{N8rw^duk7FFdJAcy}fpX<+C zAW}N4MvH3IXb?L1E)J( z_Q>rSw7n-KFFgG#5;zgIDt@7^cac%3&>tQM0`Dyk7xHO>Xc4LC-PcwS+P>x{k~abD zESZ))bAi39v7+qT%?Q0O?&T?JdS)Trj(;koA;sF^cF%#*ZI~-3~M9eK97p7P&Rg6R&d*7Fvwmt{Zt=nq{#tlHe!8-rIdl^u;z~dC(nE*1a zbh5%~C%0x zn0+)$Nn7o(0BY{wXZ?mCgW@ZOp(apf|jDiL@Cmh>J^Xc zuSUwA?_LGvMI-%I#Y<J@SfF> zWgY~Rgd&ezLnqKnx%1y_Kqn|WDjNsKG=gyZlhVjl9oX{t{M)gtn*Ze$~ZlLa$<_A>IMT=JQ-dx3%%SdK^VbT6Ua^`GoeFbe+4NilKuw zTwf~-hf#`P)7Nje=qSbfQ=g5dpR~4y~EuykwHgxM~Kt?!WbYR)7Os zZp|_o4={nluaUdPd=+5*-D81WT@}n@?#XTI69C;I=XKMn3m~U;q(*v83xo`h2FvoD zfJhrz)3`l;uzN$Ta^Zs!grt5RV3%`;P+8`Wcb_Fd5VQJ^t9xh=D7RLJzv~CS46hlF zVOH?D{Gx$1)B(JFrfrFobKq$%Z_4R>7hDN`E#|$yz*)qL*ICsQ>=fS|G9|=xgUBJkp`$!g0eQyg z801iekzMDNP?JPXr2A_j=AO1KQn5=^ADeeXeB#ad2mk3I4wk&Vir4-SKFaS3&@*Ks zd@f77y*m5@vA1I*JHqS`_tB@MTeQlKUwJ>s z6xkF?*J#7`UrR5&+|L3l@M@i~jzcWpN-Y$$y^&m~6zdshI?{QrHglX!6qz)q6Lanc zBg^;9`$lK{k+DyP;E$i@k=B$3?RioiU}}PO0?gH*&!;AKyHW(~%{&^v4vm4GyzAeM zszE^Yb9|`*Az*Q7cf`1|Iv5-I-t;(`4|-pn7^dqC&<%gvQbf25`emZF$Et(DK#7Be zaDD}JUT1E;ntco^r&RWAYnB3W#Vq@!pLYn)=KUxK<{OYS*Mrp&@pYv2@N+i%jvdHw zs=z90WfB>`Z`y5S+>CU*l*=~<(~;cF7=N#p0_Y@)=o)=<2U#oCHYIU6FiS7#pe@vc zdD!7bV~KlUVkYeWAXy#^{^hT7f=+*rPO1tbP4C0G{t?;^nL`WqPB_-yHHGe~Dl!Zp- zpPERo_`yBasz{_ac4$VdSpg|i4>%N5&!QcJVhKJ+wLv)K=d{dwo!&Lhit_kJ^PqTh z>D(a;FHqy~8+ID<0X35kPcCX#f=2KU2j#67K=-4)Vfbw#m^8lbkSyT>!dbeKX@)h} z+?*V4-^c+QP0B~B%qKtySDOFTOX zDN?#$CNX6pt?MLWUU4PT9E;d%_M#QZo?b0Ze%6BouAh=iExU*KT9@QM9Wp}O$~7uu zN9c&<@f|VwuX2RJiQ0oX-(-MUY+>QH*GG_uj_=bwMg+~Lj^`;c31H^O;GlYofXx9? zTI!#(;E-|DK`P4@9CTAGEOu`LTfJi<#|L%*fx}jno1+m70~$|0R6Pg^5-w-g|2h(e zgg+Sey%<0;NpY=$H|>z>PJO=UzBfokda$dgLIp|8v)l^_pG4d@maR(UOpxN&w+@sG zwMd4yghKo+iqz9iUu=)%LMq{yv)w@sBx4X;R^UBAn2Wu;NF8hjrNh#Sh5kFhoJrix zI8_|%u4R3(zTpAR>v`@A*IdCxqeo0%at<6t{J3sP*?>)Gm+r6ON-#^iI^g^41*oT- z9PAxp2bPNZI?Q|#ZNIgiQu5mgDKsn_MJ^^H1>FJG|E4m~_VP&{+cIOszPd$vEV~8i zw9Y7XYG@#(QVAvaoQiegZOL{Hx^=yoGcp|GK;`eU4;8PRB+FeFBM_gB*(I zHNdQHLtQ<@9~`nRNSTdA;2u!Sq*!PR9)!?G>V6&I%CqcxmPH8cuN(WGm&UvN#XT7m z8#)BK3MDVM`|yKMSkH8La5LiH8N*zF+fmk&{-|SrBa&_UX=|wQ7m0XTH+A`6L~Qjc zymNZ7$j~xSUtl~BsV80v9eLh|tlnlU=>7SIuy-AKKTp0vW>aP#q}DGW?M7#Lp}?!X z8+~!N* zd9Y@=CssPU4-6zim{^;PL1KIAnV%Dri1i77r+q*JlHwnZ5uBUE?RSW(yqST74|XTk z(9R*YNgHif8iCYS4xRFiY{YKN+HH0!ZZ4Pb}%GN0bd5{$3gsCSpIdDnxR zn&{E-fnKoXQc7cC%@zqLsCoZzbDTp zBjJcZj%Nfb#Qy#kuR(AIGH2u6`r%m)(iwc>*|BVkY@3a19-l5o_I>6NccNo#x%~QUiR=3^`?X2!em?8e!y89QgV- zUwFLl4tQ=q5i)gw7wp<4xJ$LFzaAShQ_Rb%OQ=fjzlzjzRXuW%KTuBt^`o;AAca;U%{nQbE9&3*rM_0&) z()*CZs|wP^+LOq7UQ0R8HW=v%HeQyKIS8t20(I(_v%uNro6}QV{XD~V^yHl>?yS4 zf|>3^$6&NGCH@)bbulE&*phx#Wd(7muH?()_ah6=vXTraN4oqWvtb&I$lkK?{7S=l z_&?Abjau<({4&mlSMm-@CN|3!cW7}xwHpXz4?8Li}-ywjS5@7D+- zCPwjSdrIlCRS#7p@%xmJk(VeEmOJbo>CTO~5xwE+%2Si&piF6R0Fcx zuUebEKtxW*)^k^(T$o=Cg5Qf)DE2jgk6Ko`6JrP1XXi1SiRgl1ef~1nQwfk5-C%d= zx<&YTRHBzH?;;Y>P`XZT^F=#8OlLMd?m~j*wF$3_x)4Y3lhG=A12T4?+^y2JL+XL4 zi8&iTkxh(E>DB)(Acr?+`^Ia>kkcWW)KX9ua`cWNnGt1>4OY|O$sCC^nfEmqb$taw z<^AjOXCoo7Xw_-6N*KbAy=+tW7lzPY^Vd75$>1Y!Q-V;Z1GdKnF1QZp;=10(U)qxk zqSGFIMGeM;Z={qLU&hWN{@1ua9=Ab4aS;}JBTR_rSze%_aVY+dz(T{aUIEg}5+68z zz6mMx7RgK;h(ZLJJ2yR6d6DhWnrH7FR*?Pm$C5IVhmd{!-83fZDze!qyTrQF44DKx zd(3^DA9VHQ17L|}?ypI=q8egRzWwC)NiVcD<0f~8$`8W7;b*Tuh*AmvNgu1a zN@zhUX<8{Eu`OtaPieG!wFNTPKYE2JIRy7_ya&{64}_>!s&%dzB5UE=BP}oQA>=+U ze|cmJvY;67_GHu{X5yiR?^8d(d+5{k9C95*yb|0a^;iYMPMGc9k}ZUDvbi+>@DagG zMQqm#ZoGaPZ#eAtFBpW!r8dWI&GxRVh7PA4d(!(twk7?~~L#OLIU-$P;jR+i> z2+`;r?G#wJu;GA&ZoK|jCS6VVu|MWi?pqF|93kOSO`sv2k_b+#jZ&n)-M&%bbRRO1 z_u&a+^%C_K)}8i!%sgJ@!Yc?SX&t=W=m?DhQxnn;rX# zfNwl~J~P`KID?rPy}=EH)s*)7&Fn3`-wK?D6xt5Q@++7B-R-iswIyIqhe=-qUSRteObo%{2-Zv*A8De>ToC7_MG)L3pX z2Qv4!)Jv2TKrZgmrn#L0%2g!a5xxSHIp+uSG8CXa><;~~Ck$vCE^hoxS0FQBsbOyA zFJu;njr5nsL$=z<6zhaDknO@U_7(S^oR2&I?RdYAzg=H5`!0VMFilFjdaam0`2Tj}+Rm5>lv+1uV_1PN?Rg738bAZdTn zL*;m!5A1!JJe)HEDb!0wxvn@DIK%fClqCW&(P2HRbODH2v-^s!jX;{+9;L9O^N_ZC zba({kMw3}a_62P!0a=N-5zx{Hlt;@=n~sw}S#bm{JvpGY?Yv$3j|8+$*0T7Q29OmD z<>JThLYA@pXtVrT$bLDs@1Nl($PRg(UqlZFa>dO`Iw1$hCR@KW*!u%TuU*edBL=9! z=e~qR83H}JuPHZs7BW|VCh+b41=$6}nf*5ZL2h(wy?xXr$iMc_`c%njC}Ld zneVk4sdmM1;G9fagjozE8E5azxMl?@MfBS6IuRgVQ1O!FZG^O{1tF6e9U$-PN^e+L z1ggbYjYUHee!ZvN;_0T4IkiR&NxTeMCA4y-J-q((wZ6iPyM@B4%<~B%6o1RDuTLfYa&rQAcV4zs+ z+p&}-2{g_kjq&v<$l&lar?gf;maPaHyDQ&H!od`IQfI8jw1%qQdjO z1}Fk^6)eYkfu=O{-`0U+kfFyI|9!$0vV8Y!7hO<-?CHI$QZKLK<8&WqtNI7|6Ssan zF?NK)ud9r|?>!-NRIoh|i9iBhM*7b4&vYNO$_f zYQ7o-6zP6H9h+dFj!(+|cY7M>d!9y%Qu-hxZ#0jzx(*p1zNC>)oB>kxY0Wdg-r?Nx z@?+=D%K`c0WhJ%xL7=HFn%oS)KW{aBI$Y=xWce^UZ!Uj^>=Chdzd#If8|H&wCXgY& zJ9=P8Z8;P!b=<9reuwK=+%U-D2P8xfaSz|>f~4nFe1AMf}{sAeDIJ@=oIO zS<)P#@yHn0*>UT=s;of$ESU1bQ4Q!$L%*xv=Rk(Vre?;VBxF=*3Z;Ko15$yC!j&I% zNG&`Ry|F(7$b*r$c4@@`P4cPo-H%R?q5bTFk<59>vd)e_ch&;3Zzd|W=PE%iH7hvG zr4RBe#hmu0ASj%5U%gWE7}wLj70%~)+<0`*Q{=HZB#X6JYP`P>sb@bIEyeKz>22bt z$mt$PAOEa0GkXsxh1Z|+{i6bPV{cE^SUu3S$;+`t8j!(qL$1ia3o^X5a$;^T0qL^f z>YBR_qz+vb5xVjY$oGftipc!~8he3E(7YdHaC80ORC9(bx!uAky5f+Xs~_EDJ`A~p z*M$e)3qpQ)9qsVNV^BCEmAB#cKmq}ed2PM-+~BaernbweAx=wHcl1q zUX(-5&xTarKPHebU8FhKDFubM+pgFR4dQV@*~foZG8}AaI9j-XbG)CGC&c)E2I7G` zV<{E~Ag$q(R9pNykVy$siPK|1`C2-!>}CKo=@x(e=6s;D&wcggN&|XxbjRob1?VeP z0<*gK{l&&^>8`s8#Q%gG)pC}A{E4IAHtIZ3UoXv!|7`>MiC=QhhNB%%nIWFH(`VwgRpS_IK?*eW8qu~9HaiAADUg>*u z66k$d@77p?AZ?8h+;Yb)d&2 zeU)JL1bX$Q@iF0XNIzM4ywhnXq@BMbXm@rNC;_!jHuZ5p?dKftz7PX+@#+{CnOVp< zysLYAzY3mbs}9>e!t>dUoScsj(;@fUUKQO(kD*XCUJWk=Aj>Q)<9SUfBo5?kc}-7) zR5vLk>6r{^f^A=X&@_-G$m>@6pMg?3Ihysy8K|`@O8Md9K#M%PcKxCW(3UnjjQ$%0 zx?OL_gKIRP@0-ubn>_<$=Z~4C^%o(%QfE%oQVS^O_jVmKego9uzVz(Qd7!-?dH2>8 zK?Z-r;%@sM$ZT3!jmx+N*-BPtOXvfT8(v}c-7JBclB){P+xi7I%d2dXjJxy7t8fPTX4QC zSX>Kq#Yxek@Si}pQ1FY2+Xocp)FEa`dmtC763nXJ0Oj{6ayxt+s0+t^I2z9Y?e4D| z^7TqUKd(`*67&Hw-Yv=>lEv$VV~RQ!&Q6fiS{}XFn*jxT4y;@RJZ~At=gZIBfuw#J zk)5BXf%xcO;tir2q#xcUEs7-r#ior{ifs!}gCZ-I)BS)Zc>AThy&KTV6}A6e$LI6i zK;x08RNSAG*E4SX2XsEl%lwO6KK)5oY>+nF^Keg(8&I6M&u&QLbqC(;pdGv$70_D%v<}y) zm$N-Un||@MPIm=pqw#?|^lNc@@{pE3CIa<)LD6#eG*JKicRZ{B_dAi!!uwMTK-=eV z@>AV5pxsz}-(VmGv=y5M+pCv=uG36Y$Ql6p9b>KY&jlfCi|LbPW&z0C!ATY+<8fi` z28DmG5u_G;J0(yt3uM#s$;ON6K-ExOvwFu2)WyfIdp1LW=IZ{oSlJb5rEY&WKlT9) zxUT8tYXEJE!{q6$qd>cNaJj~%A7~9$M~lOoffiGDJ-{&oXtc|_zH1u+E$+JM;&wGtC^;oAm zex2LVBOma*^eToph_7GM?h;+8!T31Oywa?RHUnCV!S7>zfk5jG^cSmj1X?qL(DMWL zyZfCk(vfe0_L4BEtC@-GrKs-0v=GpKGcP1vhyyxTg8SpV2>iT}KF|BRkR4QcGQLn0 zGNJ>bc#EVVUC?`B;FB)U3@&yQyln$o=%P;1wltu1U+Y$F zX$4w8=Ov!QJAn4WN=|WP7to%E$RD>1$L%kCaixL@QN-6pgm?QO63OEdov#{^G~8K6 zmW5GzS^V|P_+2QOXk*Im+Kf`fW^5gc6H&5Me*5IQ07_2sX_-&if}j7DL6WRR$&bqh z{$zbcDL%^@EY1{^(q?6MP4GBMy)b9;JC2Bmx(>Sv8j27p^ZV7Ur&m#0;0Ny?t$c{Q zefhk4-#DVwp1hFVFo`mS>bpIuuThro=^FCoFDUKc`Gk9SFqC#N_(txLb`)D1RIaq< zj`o(zJ}zL|h2n|ADM|Y2C|)4NjeoEOCGtoV9DBuu61Tm%fiL zii>0T_@14}inxSQN{C$AZ{tzw6u+{W^Z+8Nyy*zZ(81^714qub0Yn-dw2$rPLFw-N zhb0wNQTn`{ee{$#qQy@UOa$c+t?u`Uodx13v)KENn~xI8RL>5#3pj#^z813YrMDqs z|L+j>$8S+8XU)sc?0P6gLm~S2nHiKqIZC-Os)|zcK53q7qac!}y4QmlT|{P|;%m(j zLv+)w#YTYylugae)Gy>mY5%1=7oB*HV!V{r(zjnh`%8kA8x{3XqO{KFVbTtitj4xA z>%}-qW$G2zUfhp}49+D&a0yB)Dfr@U6@bW7zu)dO)j_m@>%xD3oIn}7f(}bu-HKAf zhs3Pcx1p35Lz!E@Y(c4{MAedfE|ju5qFsi)M5)+6Y1VX8M2z{*NIHp*(h}y5JS1@; zN^x*5;dw90*s$=qrYwhYw)w48=dGi3^H;Cbr>ap5LH*6_;B~aWnCPbBdkQ7mvCW*< z7(~fb$rKy8B9xk%v~y#BEh4!)vzIG~qI8p;SKdpdA`0=TBt6>-(VEZ3O&sz>^u~Y( z3MW6Hl)J$ttz}nGa(9>Jb>|N#^;(_122ls4o|O)DJRysS?DBJ#4X+RhEmRMv&UPW%;nbCH)H;+Evv~N-yamc>i`1tio7{m|Z=<5!-C|3dLy zuOtmj9-+ifp~*L@oKT8g)Sm}4GKd(#O}COOKxrP~|Ae1JBC^_%8sE#ki1PL1*Piu0 zM01iQwa;WB+N0A?6zgB26!*rg!1u{0>8GdH!BAI36v(N5;I+sWb+2`KB#4<%D_9?JR5F*+H;g~%1{`ER%Qq1b%8 zyx)v=bfBZ_>SHHil(e^_yU+q3C)g)+xV=Nf*Aib7f;3Rt-B&YK=7NY!x#cm#{0>oB zLVW^W&Lf&6k(0xB3DI&4y#K}&qm;OR7tavBpk(g)-1F#Z#IX zXkYs&4(7!$l<=YClsw%UC9RK!={`0?sV*u3Z_f-OQb1eB9;OVGt|&exS+0S|x79i4 zZgnFnw`pn$aX+H|ykb}GD2Qk-<7Hd6)uWWw=E|2*tSC9;*WtluV~E(`c7mcAibxfY zBKh-1QJVWGp;=4@rSHFXRw}JZVKa!* zv~%>ymwvQ=o8s24{0Nk&!2GOr{uD|+_ei!Op&6yl>U|Vr?nR`DgBq2^hA2JHe{E~B z4kE9N9qhL{gQ$G6;mSSPh&tLRtR7&DXi{#^M&qh+Xn~1VI_3G3$5~5ok5#0CWEz0UxKX7H52jvFm zp62>mj&Mvl%f;jqD84Lgeg2vXO8oFcDDjCoN(naUyc5EKh}oEQOS}R~^AFXOOe#g` z(;v5ceWl@c@VIil+a4e1ScHS}c|^sTAl?P<@p-j)K{&ICQX4%=)s^vlL;YFMeTp5C zlHV-x@ED=A_#Bpx7VlB|w$jY+n_(#Z<>@-!YyzTq{M`07v=-6+zJ0!7H;wC)Di&|A ziEM(Rc)Mv*pj6W+vM7zDGH696~R5RM& zbCS5&9c3lc z1MbKZP%gRg*7f=Ch?dKoG?d(p=dbm9b;dR*x#fl#>vm3*`k!TJNU0(ohxQx|IbMm< zy`F8U6pKUTjDO6#Kb0U#jFXPrw9Et$W?Q+QlLHLJ>b zdML|GW7XL+3FT4``?T&mg6IaqXPYw&QIhbdW}_h=lyb9vr_&cPM4V`0b5Q?`(lRe= zj(!YA=?|lLlajW$!BO9#BA3wy6t$uZkdQNPaK%X*!}(k5xKKH6qfr z|Mn`&yfVFEJTS6xOf16&Pl2L zSxJ-CL)6YY&HwyYQD(q}iqk^_C^uY9ad1%H*G)2Jzi+l7vO&CgUrZRH7(ZbBw=D-zJ|0{?6#f)ZEzgV0 zHAx|=U(BKIy+;uBjaqDXxg^RMUjHKJB!zOV1FyRgexb}picXT2BT8Mq;X9P~3Z<#1 zg`X;1Md>Nnq$N!Sk##K9Rzx}wxodlcEUs6IMtyzFX*@2M5zF;l08yr-^u?y1Azkn|RmD}8*6;IU$q0#ydH=$%zGn_;rqZcTtBs*5$;8q5^;W)w9`Fqk8Sq1@?&1&K(tE@DQJLV%Q?t&=H z5(&=(KOl-~Vcg+@B1F!N8IP#FjL7cjAqN9LlE{CH-{5}GmrgLKO~-Zmx9yr=A)=%` zFZjCO2MNrPuuAu3? zClJ*;eaHI;&k^~Pc!c8Z36%bJ$3)drJWoy}^4xwEjmRQLou}Ja@%eTgzPHeW$a8bd zn*Z;wt_jZJmy>b5mS;UU%!eoqzcUY3;`1#(V0Ory8IcFl%rlSxqMB{LP=Wg$ZQbM2 ziA&iiQ}K~GjiiCHp7K_X2M|$?7~keR$q3~Z{32Z=N1(j6pPTDlG*r0lweyU7J<9EQ ze%ky=ETY2xan;Z)L{6Vq7oL#E>jMSM`)EB%FS*;pBKZ){mq|A-=&>QPhoY+;4bSfn zPs^tmK1LKHhc|C<`%sQ(G;(pa;Ppa7&yjnA|KrDDyXXGaUFgD$+bvSXu^*Ve>#XB7 zd^?No)3UcC$~KsOUZJ&UU>s&TqV-WCr5v+qiDwdMIEZ;(6ddZ-Z^L35^ItWVzQqzd z4T6uE`eUKh>6RfIR+zWjeM;*WF3j!gvmwr?otR6ux6m2O49x8p?@QmXZp$4b|CD=7c+$?ILF|{bgPId7Re?aZe}Tog`cu=%Q(Z1MO<~P*?eV=?HRpm z>4WoJ5>&ZI&PzVQi20o7^$sJ9=JmOg-qL|3W?mZIP%*+1btl3O3NB;&+2&u=1*GGg zHD19P+dgd1_SaKaF6m)0T6@z&qeQT{2J?)tmv6D8!rn6ray(dCBv8UnxMB3*q@_J+ z3s~X-hZje$zQB^CuhtVk?8FjkSS`C+`mne+u_8G}SFwFUFJ4zKXkc-CbqnO%kFkU} ztp^(q4qz#UZbvLOA7bg%=0`V;ab5^kd6;QZ5lbxE8T&Ql4wiKPwAnoaoO9N&n1B33 zE0&-;+RHVxfyJj^Y!mVRh8;i`XjkkOvBbL8W9GEOSZctgiQZTTM&8HJdx%Y8nS#1& zBU39_;^05Rp+F-n+4)F!T>eEY>FP=O=e1w4#FX!^6!++02i+}ud8p5@gAKupj3VJz*O9w(fx?7jda` zJnq1fstXPFb>jAVc}7;@iZqt^pSz<&1I|lJ2yT8Xcm*St4}A<1kHRSX5}utA`;28d z^y6>T*kegUwP`&12upFJeRS~^!jJrF20aN_@=1lG50w_Mq@}$wQ_t^@gToGQ`llH6zAZ~TAuo^8_W8V zl;LBNho#t0mPNSSz*6&OqbrZ3VyUxdgYw*)vDCB74Rw1Ku~gwh38e&QoG&)8-|H>T zn-XoZ`c_HCNa`YWQl8ovWzjiY?$16f+oI*ny@e7iRVM7VOZX&4v`WaG*IB`c10|WS z4+dkzXJo?@`t}$xmQ_SGX&6iWP;n^`!?4tMytlW0>A^@bliS5-j$xFg&a`rQLf~9FIhoNscFOajKZy-_=BON+bhQ)hf zq@7g_8|vFJ(#JYVOzvmXAZ;JND+wd><_8(gnPcgU4s*pcoWHb9|BcB*Q7moKQ{lpgrLeE9*6lzzczTQN1k$o?DUL(*~>rNN+mx2G#crOO2S^QBe_FV8InU>RPGJkKu~W0`wQbQ@<6V3{$F)qN+6G5Q~KWxo=BjDDm4PrAPYmTP$V z;o)3QEM1FJQlHfhBcJiDrtCAoXx!gy7+ia?45)PdekKshy0w|xdfsOOBfjEb4;1PM&1}k*Sp1ObVGgiRad6BPM7b|o= zWX5)c@jng@#V6##Gff4IK5?O(x8^;TZU2#7jDH!+{o6lvoPQK6SUT6=tf`9~`g<}% z=wk&|;uts^#&rujHnL`#9dQyX?d!N=TB7nlZcU1+l;^V67RJGhxnbqGdPZFQ%=6eb zW5%9uuX(O~>SjdHvRY0SHZcMPc*@MwB^ZRU^7Knq?3mZGHg~V}E-Y!d-SwiD7i0gC ziu|x?Sw^y%m`b65DI-4P;`bZErx|;9j|wQdNiibdQu@1uG#O#c6T6fWr5WD$jV|+_ zIm6JuoxSp=Xan=|eIchA@(Aa!OrPAfb(OJuZ^h2wS0u*%MCFi`E?q|K$v1N>n`E4? za`Hd18H};JoUXIErAS?{yxNE?}UKUmY(u#WDQfeW!%*3NnJ8#j72C z{ea=$W6<+&rHSGFZtkF?B`3p^OQKeGt1rW~Z=J2{6(7U(?9i5_c?pK+{m$fKx1$Un z^FfWD3JwgF+C%cU^K(U!bowqtUbfA|3bdd_Y#KVmzvs_ zrg;DA_cfoqqRJWG2fta`W#t$_15&!)Rl}GdMXzw|##@Gnh$ z7IR)a7E>eh0JEQD?fEcdftlabvq}-4VsMpe5~K8FaSjc`zeoTWL6@(vsx7xNB46lB zm66TEPZAS^Zx$BktS_~5q|IEme0~+SagHK&}$7waHabQdEqM~ zCeHH}pKTl??kBzm;d219pAgnt#JLzj{OYaOAL?Pdbgj;YH=o7A?)lWjr5wZp6Z6=f z+OuOW>c@toQf3+I>mOg_+V(Pn?(jS@y1j$3_m9?^^HXa^g52FE%=rQ4C@QDTr1%O8 z{=~gEd*V9IAu!02QwYVvzi_@txBZ5N`Rfi=dgAcQO~0ph1~aqQl?<>qVfd;}40C_9WyFbbEoq#3%}B0{OkaDdfI0X@cAH&} z#)9W8w=3>p!T%rroc6aK7WsaIUBjgXi`;Tt4FBWKf{614jGo~5q z+O|zUoDm)IFZuV(T}ImDJC&hvNtp3TeL{!w80N{Y7%(^?fdw2nwD*SgMJ$wUfQM)^ zjfIU4%yFiMVPO_bV(&ly#)5iYQFoK(G1sHq{%_B6FoFyce20y`GSc<9zOUc>hbeU0 zzMI`$h}qcg*`m863-gf8rXB`<%!dyf{1Ed7^KF}~vHniL{Iq$ae5b=PU+NRr3+8n= zm-uvNAzLv+TrTj=UhWJAv4*eo`1;-d_1~Afz!$1~F%vV`Z=H6blpizwqV-voR|T^$ zFk8FAt%F%S_0W&^CSaCw5x%7SbC@NwIWg0z4s-n!XJHiN$%v^4PW>9T*kxc%T`6xb3=YCbhGisY_VnHfB191c6dR+(4HC}Cl*X>d5pC>2wU+~@U# zQ8sUV!+!VzqiSZw^t7HMqv+A`Zwo(183mSR)^AEC82RJ*4ssP6j6zLDL!bLRqv)Id zNfxgAj3e0buB>MqjH8;Fx*MBpjMBwB4$rT}Gb&0a5>EyQFsg5MtuS21@V@R`21`39 z8HLz+7h8EUqmW6F*7JB$~8>4vVM>Z+H9>y_~lwO;?cwgG4 z(ZQE2IR86P|9q(+3#0nkvzR}VTNwG~`9{K9@V@rBhbpFJ_!xy7Dis?)wHQSoWZpaH z<9&pSYy?+2(-_6?4!zUgp35lZb$PyE8O$ixD4*Ux|D92J-6dXm@EW6fQDRj8={`nY zm@^N1vnHc3b6s=&|JXazZ!Dwt?HeLPib9k!mNA(laoL74WhQfEh>&@n$IO`(l0wK- zWJ=jiNoXL7kdRV|6bY$3*ILhdzQ2Fr_pJ4OdB54~ypDbDeNX4-I2cGD-7DJZV!mED zspx^G+fgH&BHkLhd}|P=MeFoY4O8L_o8}mM_XeEhmlE8*^cd&7w)1^Y1mJwy?!aW7 zmpFDQcb4W!AHL*qFr1z{7$>ebmv_ym;bi_8Pw547oKkN_<>#`2(|+8dlDuq#Gg1@8 zz4E(pR`xLASi2AB%qlJ)f4++Ih36x~8R~HCIJe`222wZ2g~m+>Kb$1XFq);$j+3KA z!}mYaB7Np@VOO^UPM6FPv-ZX~`dFMV4t3xR|0AcPDxIgFDk_FYcbw8@c&M$gU+O)qO$M?LG3kY|@i4y&47ny2s((CP7tnb2b%8o}% zUGgzFRla+@*6KM&_tWEmjA?=Pw9*gJSEq&3j1gE(HiI9*8apO%!Lz* zL*+9Yyl~>R*kgtCCOCQ5cl*}iG@K%oIHe>&iBrYyl#Nhr$7%kfZ;$=ji7$s~Ik$n@)7~ z8m;2w;rI3%yAI)$lA5!;gwqz^GL=r=#+Pka z`e^bqaprpJ^xY^aoUb!cW89dCQ@A_V-X;~{l=B87O93x&>LG0{S9fwBrnMwl176{@ zP&Z$fsHl+3vdLoj7kR&!8nX9j9Ogk-y5{ zamr$2WQff&POVgM&Xgwo-92qlUH(0sE~Jp{z4RWZ_i9lom_*~t3Vbeih9mK1yB*)x z4w;bW?||E$ZSgoSd*%wWTsck^Xj;(xMEaRq^y@TtFXJ?hzto<4_v5tnHDPf}gwsF1 z@(%pbi!VQ)W~pyh!x_f*O_IUhI3uCiBY6K!oDuWa`O5T7oX5QBVWb4`xpAcH(q5tA_Wz;`nlLVQ^y6Nt_YDo^{;hFwW$bomZS;#hKq5t!C~>;LP!h z?1T5{a9-}j!6y%r|Nn5I`frv0Rp7r0{8xehD)7Hef&cLb91GR%s}lyt48M7e(JIpK zFQ*_p@*cP(-=1_-Sb+=AuV?6ewgC@8Axp7|L&aeDxg$p^Yk*`D9;T*c2s8?nT3JkW?pAWl(amPLJ!%|FObEE#*uDjV_KdgJ} z=-ml$G!O`3A^i)T(O;I@T?TO8&%e+8%NsZ!pkFmR{t6uLowaN{It#X`E$=AnXW$5C z_BT^~L;43^dg@)Y2hOysU#1tk0=C~i`kq-n0q6ELpQkas1`ew+Gdc}&;P{e0DU!Dm z90eV;B8$AhKKOSTt6?ozd8T+JADROGqyN-4cfSO+XDMZhraQoBqmSm^R5n=pnz1jI zZo=7(x%s^jr@{XD$!YNxc{mrW$;eoE3GC~e5{zaz!1l{aiIJ6kU}0zTGm#=b z3sln-V9n>6s9$}kS0y+9SPpDj=eUDT8-ew^E9_bw{9wt5%+wcqz>L^Ug_0|Q>4AC0lu9v3 z9iYI{^17hzWdEGX>IE1`{W0QwEC8m?98)ea{9wV)YOC+|8!UeY_|wz=0n2MoJx**2 zgSiD;%Roc~n2Zmu$IM8;cI_R^+h%z{Y`*YBIs17~xi`gRBJ>t?48E+}_?!ZxRNZR= zVmV-Dz7VQ0`3cM~@%7irn}Kz?_f6L-G_RHz&I+?_Rq=!P#sb82{xR9!y_y{ zuT(tY_=;@3Z5S(@yd~Mk{>B~j@BTjzRFEHDz5*+8V2GhjD z><+tclRj+?A1Y^dc5d=3q{M#N0$!C%)Urt`AT#pkNp8eXP-W|9vUMl|ZG?DU`sRSa z&mUrzVxnNYaILP(jr3b2#)GV@e}IWB9n~TS7Z^Of;@eXFp!3H|ji39eRba2GBFnZX z-f%>ztM6JkS!adJ%E(hvPnVMma_|y#-l_YTe@p~J?R5d!Zy&%|KTWd3vlEP-6&92_LR6Y=S^$%$EE|s1g-2(157=5*$0wj(fIra6)TTsm6P_&c}0`>cD zp8eLXpnJfJkmgPWgSlgck@T5hD5P`wsG11q+(o*~hHt%!qJD>SIB6DW9g ztNirm1&O+c$!@Z}fF>nmCY$F#a}Qm5al`_sJ>GRJrOh2t7}7jHXFrX2DQZ6Ve_Tfr zrCFc(-;;c@2Y1S&%0Ebv>XwcZ>F1!ZZHmq=upEhgILPts`Z^rkDxxjy08qMIc>23Y zFX^W!?J$0JFQT(wZap>0i-fN_8wo64M+!f6+zc{KAhjYtm6cr)NXzi_PiXmrbepXC zwK(1)9U_w2AUPBv`Aw1btwEJv+ludB-Tn^*B&H$@1?thRSGYLywjGk_etl4b<_JQ8 zo5Dkkb4aJzjeEK^3mLQQSp8O6j?P?v9m=y)3Rzn6OqLzbL*}}__^(F4K)Nh7M~%l|KO{-VioxWN=TJa(BFZc9a`&5u9bUHl)PBPkm<<_9IS=#)cO*fpPN zWUA)r8aSkk?D!ourQQc2XSThEc6}x1gsm+P>iy+G-WMllJm?YfYYw3Za&1H2U=xeG z`u^ifWaYQJd4uGp%rZ2j?8$q?=$mb-(%T`>_i5R%l$Zf6rj_#t44DBb^;Mf5?F69% zW^a~quOfwd=WPF!W5^!!HYDeMd^U0$k9`ktsXOp;tsh46uer_NxXvKN(BClg4B%vBrp!mt zTrjRYc<>fmJQ!YoafRWBDCwVbXi1#E98MPNS6G>!2PB*AXknTUau1F&m^yz0ZVmk} z5zM}boh7@m`yCKk5fMf;>m(S2^KiiRtbi+w4J= z^L@xSrfE3gKwI4-x&<=RQg44mu7YUd2g9X=^KjTBYxct5auEN1l%7Ib7=&+kqE5D4 zP;s(Rs6{tHHH=@wYm5(6vozQ;>ndfu;2DX$~bDIC^pBc=MTCAank)vbDkykdFDZt`kD?%Uzue zA6o`Na`J@0wKy}7X}mqA@wEz$U+6kBc99iSzQ%2Au6+d6P#J0_gDsWc!9Ke#In{Rl zlNB3{q1^>+xl-p-p3}j8swbNKQ_8?IvJ@tCK^25ez90`7YLIb#DEE2lB@lbmyrf@m}2*a57hU7pgd+YMQVW&-H<486 zFH6xIeMtJG8l@3mK9aCWlpbt-jriXjDqDM**}1a4iqCSM0wnDnwX$y~g6g?=`7;xn zp#86r^R4sAg}FVXwC)>wT5z0Sv!}_KlQWTt%xv_0K5;EeZl8!tL0=cywz6S?EjiLC)9ivPz z*!g{|zw9R%8w4C};<%3_tOY{ZUoRl^GySe%=zXMdgP@*{S3nv@QDP-GuOk#Ae#l4i z2$Bx??eXWubzo&oh!kR|1XVAW^!M7%U?|R=Sdlsorg;;ON|m-DNp$h>nQcW#O|y%> zkDQx1HKf-ns3?y#)l{!<5Ijg@n_=)#C3kduGppgkDRQFiEv@y#stHipsyy!f@*fy+ z^|W&BJq_mDck^&Yav@3AvsPD3FCaBs)a&7K2xR~YS5pDb_cL5UW<4t&muK75pSt4 z7D#iW(_hZt2I=gX&6sr2M_SJsd4IQ1BlU}eRg#>(NJ^hlblvU%$h;rw>?vvmql%r$ zdt^R?jRCvv?g1_&zPE>;Pc|B%4sGdGyg)>Mys+-~O_)ny5?qKKsG!LC@ z-kVI^^g@c~U%j#!>H)s7m@U@f5-^Ncj@@>q5zcd+0DmO=3^!7|m`}oi)$%oU4x)unXYkr_5X@%HWv=$Ctc>$+oY-QBl zO~Ic2kF_g3>Fe`pF}9D@2Fa~aES0RaA(eOhw@k}EB6U{!@0WW9k%sMQ&%0kIkou3b zh~3vbkgAt@yqHA~lJWb-r+B>wRCgx!bKl_wdsFvX!iozq)uqI+Zx2PHg@Q?w2X-R4 z)3&#IHtdk%>1<&`4u7Onz5B_Xl`*7jDSBV`$z7ymVQ3vYwt^IoZ?7GDejKP;f2&R} z9|YUAJ~2mwivRd4Ff@-RXH@#31E|y`JA)DNdh}nLLY|-6cq%WQa}M>k|@~ zlIpp#^%4p6ip;30UPm%5L&szk2Ejn=47+*_^MCvhf=szY4GKsutE;zz!creX^V^c# z&!O%=f2Qi4U*|Fp9Lz0tQKRh66eN9;RsN9G4v*4%T=1{G2H9ao5F+p)Zb$bglGp9lW#2pu5f;nh=AK`(sf|zhA(7H_vaaXOC0}I*U5(A(0U7N3vxRHL_{PaTz;CWYS zZZ<{oj30+s4g^Bz-i-+_kpT#MzS$;zDjOo{GI?BIEJ4&)3%f1TGKi^6+o>QK2Ba%{ zo$#Yra=o^mPMUm3{M;#@dXX0VIgdYLy7mf!xq^6|o%|qFMmML+h~(xO-zBXbwtz_G z*U46Co)Asx7NUCk3B=sbuf3Xc727S*@|H(j5H3m^+43GBQvc^| znT{2R`gPL1?-j`vUx|weu3mw-jK}gcPBW0uo&JRCLJlO+-yab;Zv=itmybQ_Ai1+p z8Mo55S_s`48n|mS3Boyqsluqq^~83&cusOc)a&*K7c6@r##LcSNU|N`titj0ufdRT zJ=?jLWiKS{we4!pISl?({mTyd?z*)Ll!XR~U3A#ClYfaZrQ5b<44Woh<4 zM3rZ#G$hGEjL@lD=f{#Ej{Rb<{k0@W@TQ`c-o_6}Jn^&o3r^sFl{Qd@d_NCr_P{TF zc}ZUN$^=M7bb`nln)lJ<7DLyNn)UJ73s5e)$*@WM|T* zUFji--&LmZV+915@^JEeSB9X!jLp6DqY(0MX0GE4SziU?`d%Snh|uPaDY4CfD4v$T z78Q;V9WbGm=$!?z7Du@Pnff7q{{FG;!Y+_>FqhSno&y4pJe}ipx(UG+^!HjlOd*u{ z67w0-UxegG7K>&#A$&0dZ%E#U$g<7^^)UyCrnk?J@z#Tw$xrS^on;W8;=F#5=M5w= zhiCQeA^U{0PT6&w2ZA3L#9s}xg3zO<$DP!-lU(G1h}<0&BtIJ9L1`}pkyMQe+z+fF zD)ac=_YUC@b2`CvDb5q(cR!h9ZwQX`UZ>=DBXXB-=5+w*xs%i+kG7F(rI|d*{ z7Q)Oj+jOXJL-@%&F2wzH@Y6I%e9@nh z!T1G2D2vw{QX)x?a+IFECImvWaPW-9GYB)?(vrFR7{cjACp`C%{NNj|rV+D3h!k3= zPi%b!QHvjzdmjcu?0u){zqB!sn6)qHijWC}e0;-thKn9TkHABYhxH*Bf3%L5LC*?JZQWfSA6b zK8Wbibv*ha7@|wA*s`*@!lfF)EXL+Rl25nmas5nkkbFuT5BE=!b)~7*pZx$~rBg3G zyGV|5=x_;D9m#pFFRy2)e1~w}lHE*ArVt+8dTmb44x&_aHFLf!LBcR+b-DN{2&?sk!3+Pku1(E~*&3Bl) z5yF0H-ulB>P1eZ}C10Kh;lz5XV~YcX-cGx@a>*ZJ^^Jp5&a|Qb$6@-sELZ&aa2)w? z%*Y8%L?Ryn5!ob;Qsncb=ZOQ)RpdLpC!^HQ68XC|%;?)?puilNp!QKC6jFHWd10M7 zihev`5>r->0=G|T%?G<6zXxr8=MQuspH3x_nvg1z)1*BjZ6l9-FB;Il@X$tn_g~zb z)g-y9jznX1|9vR9T(UTJzY>Zlx40|1987Xv2j5djl_9_MJ?GUOZ1GDys>AwRj7v!=yINRI3QYh(n;m+UDJ@j^-{w36#!mfTAe6>^Y6G%6p( z$_j|=@a#vvyeXN*kE@X1YYPSur6}ZQIXCQSbPD;Y@2MMLiA4T%G@P}k2^3JJ)w5|W zi-NVk35!2)MByTj3x;-Pp=kCm4H38hpx8js$E88($j9_UA08A$el;benXNhUn=El1 zd3hcAZM~0Y66HqzgE@o;eKHD+6Jf9((Ly0=qfCNy&rpO&*%6;AeH88cZXu#!1jV*w z(NIwCL*5%}AB4;qkza9JPkuTj^4Dsmh%+%k{^jNma=7VGK(uT7-1;dLB&(FNm)#nL zteoGyBhv>(Jo(|tfBOfDuJiM(YTQ7vYo+dBS%kd5S9Ubpr6Rw(ME;__6!Nbz|FeUd z2_8~K0&?kLQlKO|p!iJf-1+y@0Scow&elB>%Q&ipA# z{w$H{vO36!f?{|0^#+o>-dTgm)ruJuD$JDEUObK>qIDHYl(+w=e@*KspKj2-C z$s+mDk*RvQ?IfqSbbq*<KO1;QdrV;ig?x}z z6P|s6BB*|?3D&cq=(`*Inh{zkUX$V9i4a5NAM)xwcdjuCJT(4ZX+s_b8A&PG1iGQ1 zf1YpSnGH~|nGwU@Ff|lhXMg{}pb)Jy zm%Y!M#m@y;v4HN%mit?DKx4 zj>0Te)f~!BqNodI7Ky(EQ2bh=qPSuh3hJjlnWue}tn157;HM<@5h|6YC;7dBj#I49 zLQvS9@^LL)MiegJQ74jVg~HW0cMb<=pz!@im_>iRM^UuuQ3AXD2g$5cDA?L+ zSNm-m6ufrYgq!S7l5?W!m+e7e`GR8FKj={SSd#d_Ef*B==@`?NLMDn#W^PxJ{)i&A z{J%@wT|tq528d`LKa?PP>vv_*GRZYvWHpKUO>#d)?SBVtP-tVx*^$q@DBNhuIrw)v zie&zs#WF;4AkNjX3LVoZT8b%sRH`3E-}YL&wpx#(mBU$X*S$sw4lx)0v?~6GCkYAV zRmhPcIiii7ELq0ND10-MDE`}xq6GgH)~sox=!;xwe_KjWOgE+HQ<X+V8b2`2Unc|==)cHjejtuVt2N}5 zL=&pl1s$0`93f5xKFTZUbRhI}jxqYqt`a6u#g1oFR|xO3(X!^E@i>S|{v@@tBDRMX zXG`BPtc1_*Rx@uP&?T9DKkdE|#>M*7@5BNLtJ1Zz?R2VyeWB)PP&p9Jc@g==M>_~_ z?af;S;qpYxYX03_4To`Xz^ws|z6N}L^mL?7l@3?`vu776!1f0zorRY{&;XM~Wm0}*!iIEQe0JQ2^AHI-Mr7YE&6J!bTooCD^k z&UjeVi%a!Z7V$XtX~ zW-j4d*Emw?7(wzGQpxOc4n#zGZax*&dm{Eo@K-4=BO>AWc=!WrM(pQpW3o5t8@3zP zpEXf@La5sHN*y;IBAkV!6KZ=K3Gb!ZlJeYTA~2LfT{bt22&=qz_OcNb5iK!#Df~ed z5vRn*$;)?!NYHOF{ozK1y^CM@n7A-vGe$vG_wXRX)P%+F%1R>Pp3QuqG^~;EH_q>_ zvtK4ceqW2XkM|{_wzbpVSdt}Tl3r&NIMNVtQ;&2x`kaUay#~hWhYZ+*eO*hB)(E3> zB`cPLWrY3Jo(@wc2g19v?WU)t2NBe8@9?m|BO*fZ-!p??Ln8XTpzWR)$B5WC<+BYU zV??}KWmGY@4w0ZXwmZ^wH+D`*E0Ib5OvvvU2wiv~M7T;6G?(gJApGs`7dRwM5}|)$ zLQG0?iKxiRSY?U#L`*`@TPfByBJOxWvX#(2B0k#Em!@BrNRSRlZ{hz#hL4nOzQzX$ z)34HIiVuF0yi0bR=H8b?Fk8LOj)Pi6Uq$K8=|h}gE79T!FT&3;HQNj4i4KjK9Ez50S++5JQU4R@)u9$_Fc?P&YAjPO0BN_FI8KM@W-bd0kuM09t2+l}Ts zM67h6ng2a~B969HW$XQ2BCb|p9oVOdct!l(?%^dOzCiDEAD0&q-$i?+yReI}ufIQL zvpP-$RZd)6)M_H4+3st$N~{yHoU~^Sbqx`*kG_WGH?|US2ktTb8b~JMlGSdGWgZ~n z>H0Tbag7l19*=Cs4`mYZ`9s@dshsB3}A)?Dx4MBHX1t?(9w-BEEOIXxjq0Ul%)`{*k;)#C%9i ze;B?&L`Ox0dHL26(Kft_YB2&t47K*)ddov1cK`Wmxm6z`PKPzb>^;eAZ2pL;IC`6i zQ~kE@*o{dd5!l_-1|*3%&ZnIHJ`F^aK#`1MUp^5*d1&Iu)uTj21xH#R=Oz&q*tm7I zj+uy|`qU%;;{_30b?`#@16?AnbK7XIh&Yj|;*_73Z$>29C?5IjBtnG0+15wV5<>*0 z)++FGR}z7uJYmtT>_qTY4#(D@I3nEQbQMKdI1$yQ=@*x5LBvc{d`6bcL|iCc==AYS zA}1EfKi!v3gg$EanVPb$>opAXsZIJQy9^tci0^KQcBSLS}wdpST6LE9ixvX{% z2$PQ;DPQGi2z8G!kt(NAf>CKBuM|8935$m(ifZ2ydWE*ke}1MAb~MFjtXoeL7b36y z;@LxTTzc0NKNj2}!kEm?A7zgw{9O;<*RIUN>V}WVQNtG)iF}E_Quh=e(-jMf(UKuJ z`+eP)DI^FzX&d!=-6F!yeDx2LtSfQhtiz-(#1cLo-ZqSX{fGeenG;#_9>n?S{j;lI z_F?P!u>Af+Z&D4&K`5LTG9*-rsyUPuO;L9@-z6M7S&m z<>yBU6JD2wG?vWC`zW9%&hF$iVI9C(QDahy-S3w-{i(6S=l9%R&;3e|Z8J?>138{y ztt0u-lDwvb;^*`CeyE=(ET7R{cDO!5IBWi%>U;WtaH}^F>#-dqT&$L5QA7w~bhv2c z%y=pGjrFfpW#PhJdq1mjMxMsbuB~Ir>94R^+b!Y96TZzk}r5qhP9w%wC)#90f+1N6$l#5q4h76*-;gmsk8N$cbZLbcUS zj3>(zhlk}vG8|#R!Gfk{g8hZqC$+7hajFSBZAG8>%t?<=k4#Bf{4pa`$>=IW&uPNK zaH4JHkRV|js2kClmr9&D<;<#RpG_$L%(k)qM}ecYM!u$&oy6e}v=>)ogK&W4_mJ zp2wQ;;@HIxfe~qkaI}Q@_oyqvIQT(uNyx@;>_x8@l&|{_TPNiBe4?<$4Du2s!5mwJ zL1s7Ndnr$tJ*H!4yPirI#kOzXew2bxY`e)S#~q0i8o4N%UXS3|#Ibwqukvv?+v|7q zEg!JY!8yuLdP3OlfqI_TL?V{3n!U=jJ&Mq!nwUFT$wQcYnrR4@ksu7m-WF7M_7W%V zYN*^}D#1x5al$o1MmT=fEifa2G&9)6wL>J_7W=kC|EUXk_?%(bhp)n)@UdA(KE`M} zLi69hhpNVugz?+8BXrT8gkjsOiCfZkgt9S5tVp;DPHn#?`pMlBC(0V_7ZD?$+xT9_ zM@kOt*KBrWt-27O8{c>_-X(_>e&`DK)$kCfQa#?r1l%EvWv-sr{Qj9RYYrDcowRWB1vTsSjSDzNZe(2JKqmH^n#!Dixf`ETJv@J1ya69G(sWTT z-Xcy;f8F>_@q;k(p;J;<)g%mUZDaO76(UqD#v^UM4&ux%eBj1pK2Ejn3j0G5hGQ;C z883@o$A0v>KfLqbVY|$pAo`11ShABQT{OIt&{z#oD{b8(44GuzH=YF%2J&qStk&xU zF>*`&;dTm~od+}_`3X4f$>DFT9pyNB>yVEr$5HIF$NJC9ka29yTifPsT8V{t@3hNi zcM@tD?G40DJ3@E)mXgimOhPAFOi+=1i8!G*lzAs!nS2I7&mO zvF|-4zIeoD=Nr1`*sRB)VNdcaEMVR>9mT#yoVa)5tlp7nLfx_C)0sL6LT#IVt)6rz zAv2ntakDWB=PP)x(ziUvsTUYpDK)Hd2pg-^5%Vg1-d*m2l!`7k-s_h0b>I+|C=J(* zY_TKwlj4^RVpRz7d)HD&uSXGre@iM1X}5@jqg9m^Cn)e04}Jx2Is=^G?`SfhLy5i3 z-s_05zQX4g4VHu>pJ1aY^_aMX&sg=AF6Vx36)fYGkZ;Ar- zf<^P^yh1A}ao)vIExj8a*tT1Y*6ZM^mrnR* zcN0gS!c|;0aYCx<9zVYIj4)gXD8-e<)`R2j%lP(Lr#Uf~L|mi1_wjYUo4C%TkNPLO z5pFQ&RZ!n+hYKFD`K*?1!zCOy^NkvX@y*6qy`Z60T(-e^P-XE0uGkST7HHssD_4gZ zKa9S_w+AMYEM#eLO_N00@j$)6zI{G} z@BD5S{Lpq47i6iZ@*OO|B`objPWOZG%@=aqdY*vGO(%5Sw)%0!Ro0yaZo0UtoHp9? z>LFa6+jn8#$x&QeXfNUuask)(Xw+(pf5vxml&Ev^Z{UJgsY}iyakxZ<#w0?F50}!` z`>&>-#pMNWZa-rQz!hI=r04Y!uG&<&em7PYSAP*7bxr+^YX_%SC0Ax~eIf0K8!^iG z&gr$oQ*IQvP>eQk;yW)ciDKwzd}@SCji1R|*<0iCrLp!GN&2`_Re`coRRrHQxbVfB zY6I7ZKa@HUc?Q=mu)hi1{D#a@ zp+(9^bNH5V>dpk>F|NGX=Xh~r9p5f{^efLY57)T1T&Vatk83vsjv1s&;ClHBCtlqn z_vM>IlacHKF8s|bxc4F88;1`o#l5P4=H)GQN>~PVjG05H2e` zl+qd)i7V8?c1n*A;;K-T6wc_1tM$M=m{tzg4EUH{qrZ;pXljxQ6~b`c*V(4twO(8w z9Xe0T&xecVLi;oGwDFD2i;VJ=iMU))ZX4I|7_Jy_tiNk~1XnHhzG|Iuz}4mRVc!rN zuGtDcslLAz*D-FsX7LuqbuY~7`lZ8hz46fn^|Pz^ntRx1DjErVGxRsh$DB=E{#bI} zGygoUblF({HaUQAdyD3bEn4B~e{Q{NU-)pX_{X@aNB+2O&&?fjw_|bLy#?uWho9j3 zL;VxBuS;<;_4bW~dTm_F%ro1S`w8C){6Os>>W{0K&$q_Dw8yts85Afv9dV7>uiyH$ zvAEWTPq}X86|UnFzxyVV4c8Sr%h6Ua;JUS>XUm2Uaq(TtS68&izI#}&cP!5hSE!cU zd%c6~-^Yx{G|YbD>d+n;afSq3Q_IP{&bNhY6N}|`6$#@yfm}R!!y4Bm4d2Roa|hQw z>D&KfXdPdVo^Te_Z^mV*#lIps>v5$JeyX|K0^g2{SiLXNfNLlz<>rn)z%_r>q#fAz z+)%SJ}umfOVG$%#IH15eyNXQRU;i&iFp@C z^>X8CErH&=@(;KsLYlSdojR^nV-q}nwFB2a-}I)d=frhKeH16hp5i*ksjj-JE4a@2 zr#3%fgiGdnj_k4E#Ji~+usleay>qwu~04YzIr4;6?z}n9WRO4OSgq@Kn$%-$~#<%_79h>yuj6AN)j8p zhj2|@YN(^I2zigt^->2o;@aYQHZ}_%@|^klL`j$6I^i(1Fh};^$qx-IL-%kUd*1oG zo|X9KlITXp5Cgt_sNpDhnBkfNr!7i;^1Snz-14`j#^td*9bH~!57F=6b6t=PS2G>sMTur1O!F5b2{nL@;{z?W?#?O8v*PDDSV>Ey( zI1`muR)TO{>J%F7KaXqoy}1;B{xYt$4EcAriF{6PHZER=ZMe3?TtMyqxD zfc9a!R__aZpbhy)s-=E|uF`X*qmy=^M-yaq!FdGqXNwo^Ra$|;q-sHCV;mTE9J;Dw zwFX9sJp)E_`@vvga#3Y85={5bNhq~3g8rUomndHR1fBl8?@#;FLHn1Tu&QYU=p5Mw zao)_JGvO6J<}(Gl89&zO&bELqZVSG2Fc-A%Gz|)7Z3nr(%V)30N`h(A_{WanKVa}H zY2D%;4d|Yr{KWo-4YaaVKR@;t15MZJLHE0gaB9ux-vxm~()seeaAAId@~oerubP&TFy`Gj7^;!o4H~!J6)G)n zg1X}7j$2FWp!!n7C3)8;P@$SlJ?iiUq?a$7axU$Jy>xDws~iSkl4+uyxKjuWl7Ezb ziQotA^z|EocE3R5Go8k_I2ur$Ft^DW9t4#Z3fgEfGM`-F=%?xWUmzFDb@?)V9|)E0 z|1{Y-0CX=d@URHkgK=oc#m$*z&==>|5qazjnpqEAPuy|^waclxdGDt|g<;<#;+Qxb ze}B~VW$$H>eZQQOOT`W13n7R5Hk#m|eQC7Y)%?y)xovd}Zr8!+__a6BFOs@-EdO5J z{RmESs#*Ki&Vb6Y*aCIyH8}3y#d3IS9%SafKK`y;2uB}HOb63Vf~BHzi@$l+$MM3x+P#+hth%(b7$vUCzgG*uPH%qFn-D7GC!Q0l8ntU z@dg$7r&qFFeLyZbAv$iu4vxC1yLK~q!J)B>0l5wmz!iGwdGeA4?9_MI*7P;1^QThp zeyu#{d}JV^eju0vba4L5vJw+e%MJ}{zxx1=Q=D^n@#r~7^yF2yE5yK|dlAuGUQ)1s zGnjUre;Sz67?#8%Tsr?YUGkXvO3^tc8Ct*8O`&qV$;$|tQ-Nme{=~SjUQpTdUT8pL zlblCRDR0!+1Bacbb?%9e!9MNz)2u%c>=OAl`D-W|DAad4+omyh&Mxg1%FvBc>8Kqu zf?t#>oo^&XA4F||2D5B+igYl@<16*Qco#ufzaswCiWYDjvthrTHUV_+Pbk0UI@|fj z=lU(hpw7;(TmxISHz+%+zh*aQ%TuWgueZNtC-dLCt8FdC6Sn{v%U(R`%>WV~uV;>T zqyPso@TA}zbLa1Z@;mgtk)2<5j+hW3+?`*glDftvQ0K=G3A%*KDxEz%e*<>Nka_Z2 z1_R>LlqwxPub%`~ZNYI1hf~%20C*2%G5V}UsNi%bceN-=m9?3_KR#{T=#2J^taq$r z=v*CHqkLFn*ZG?&wd(LEqVs!r6MLzBROirSsl(S_Q7US^8Rz7-0zu-`jyI}y!g2O4%Rp3a{i_YAOaslblbeK`t~ys)$Ec*kvCUZA;@W%N~x z%x#a3O=wJ*?(F}>%DH2b64-^>-wypzLVRDgUq5MJjCeJjuHXI4s-q%xeJ_e$*;V;j)@_&hNC_;kjZIQshyY`=MBXr@t&-I}I({IWX28ahBnta3<`WM}c{(?#=i6e)F=g#VZSg(rok(UZ zTewgECCJ@(+C1x|3@CBe=VMfdKvle&s-u0C%t`&%{r2=BP>`?M^Od#{Bokl|H)_OSqQ9u!*vERr`YyRdR|l+*)_WLZuPv%@6f`7ZMEr$qtDCupvwUyyke#J z>s}9%^{<14D52PcRXa22##*ur6p?PV>e`(git-HKUKS?8vKsy$mrD%w*~*f*Bfi-bNk7u~o% ziezMVI_36Oq2oQuwSCUC==klM4>S2Ak>HMNYvPT&;FvnE_acW1o#z^&y*gR7>CTA`HC|rJTe^#+b_g0-b3a0IZe`i8+`l5}`-0(BpOw)8 zXI7I^BVQm2_gz$rPle;mzoX74e6)22^9ZU}HE%||t%r3dhZQVwKtW%b=l}2c% zk!Wy#<1sijbJQ(X<1DD#PQF@m&je-0Anu!a5g<8u%Z>9w5pam;b-fvTftWs&t$t2) zMFP=!JbilpNT}v`dMKAO;v1JtO-)oq^epw%`k4x#OA&E7t4k9!S$i$ ze8R#<5DfS`zF3NugU-lzfB(e~pgvl@@rOzf6gE_^y`jzlLC#-ExAM(9Un`DWEibx( z_KjGc+jhMb@p)Z)lp*>C9r!a>Ip%*E(fajS>z@vdbWb-eo2ut6OTK8N3thTc=#dqdTow#am|S5o7B^D^w$yBm+sv$d%V&1 z6G`GvrtQE4C=(Y-!oaZY)1Y{(A81qEFC6@v55zC6!hmufI8q(IzRoZR)aLQ)ZOLTL ztg_V1^=HnAhn@bK-aIYhYMP~v$Yw-z>7T!ryefh->RWH4mMt> zAn%i&Jzh_`6hJ&#j;kx}5ztV19HL`lLwj~}tXU_gAnyHVD^E^oBd$BfsZAL}`20@mHenTI%K!EBwwI+}kT^r&J7Dal+9 z6@?#Sk5+Dh$cW9l{LgQlfAE*~t$0Sn(t9c6<$X4^zgYWH_)`kB?1D=)1Kdm19<*iWXb7Q$%fbK&6h?|g`2`k$jz zZXld{@uAMA@*|v~8mFbc&Iuaa=dDWZcY)M874z2jSU9-AHTJHvsq^>B&VSXv2UM2I z7D|3@+*Dbge2+&Md{tIF9vcd-YpQ(yt^Rnv<|8=t?zx%wQxA+J4h}DgJcko(*A04- zHbA^$zWdt8U2rf{xH`9X5q8SVx;vBe$P{TwQ=aZJo&TCw`x%m&fm-VD&)2tII)9m0 zn`xSoT(-zy9p8mjIFV}Q#}U5;vaQP&Y_u;yOy1;4mq-r?m=(BFN+|)iT-%+6sC3wO zp5l>NB>|jtCK)AGld!L4B7JzM_&<4=ZmV>gpGYp)%a&Oc?%x2Ppkb}FgK^*&5zZe> z@@fI+cE3Db;RHcKEukI(ju8BA@yyA1GFRx%H;QI5*EGE4w4d9Gz<+Wf-K;*&o~XDA zUNk|zUPhJRb5ZM4!c-XeWw*=+JvW1Z%St`(p9w&a(<$j1aDx!BuiyUB=t1ZotA`zu z$z&d0=a{AZ=?C4qnX8 zd-#JW!6%W!)yVJ$_>GT$z5GE70#?`PI;gHd(2U?)i-HUYY4G{xYfsKsU+%cTUC0a( z5hh|b{G||C@!;z1%64$GyX~!ZMjE{2OxK1N)xoDZ^CN}EcJOC8$s^XZ3V~8>h2cw-R8}OrJ+6??nx5LCbKULK6Bj)$;n++(Bv55k}Jj6Qo&4-pq%eCsxD26ut0{minT!Rw2L1W*RtIrGy5g7!vnhLSmd!Bf=Zp=lo=)Is!ztf)2lyq&H;L`fc@xTH2= z#0DZ{)7k0yxWV1aV#9)8mCX6PAm__J48DKUqGR9ff&kb4D504_2=evKu8-acA^cW? zp`Wio=q0{GxUmz$%5_z$PY*(Pa4a7~lmbL-`!JgJM;+X|Y$yJP)`53MOy~~_3-I$A zh`+NQ00Hj?`aKoSLeOY&QS#nu2yxTf$F#Z*p*2Cm#y3OA^~U>{cQQe^<;UEZ(_~-2 z(a@DSe+xVgMA%*2(+S>d$K4y8BEauwuFg@{qY!BCe1M;x0)o|6>UChX3W8e(OaE5KLMV;u4gtP54>)G(b?+-W;@;1|gC~pQinbA=IR?nX>9AgdH*; z;vN--u-2rl3p+^OWbYR9$C=#_ZY({_DPI5=uNGVW`@#UeH5zDUYC8mOQ#{Egk_Ev; zzL;${D}>ZpzuIR%1EDt)uRW#oB=frNb{bgCLKq~j#s@@@xojN8e$Ri9`C6=_wMFva zX^}fuj0V9krsT&Hg3Lo*c&oKNl?8&=(mE$&cR{GIo-gmkEeQQ;cAbW)3`CA z$x;X{910D8^M87}^LVKCK7ivll51Z|2ziC%S}tWtNWPXNWl7y`#!@u4t1-ivnX@43 zO0qpt+1JMsVTu>Zb`PnGD3wx5qg-wp%VUa{>gxIZ@$~$4{ypdS`u%=qUa$Fm&Ray0 zMnr{$Fq9%Qyji264akogI{N8DAVmrVF}+qi)IDS<7xccPn2&4qr7K4%&dgVn*{pI3 zS9g;v`%eKy1hr7xdW|Sz%@wP+LOsn%rCn{lsN<;Aa4Gab-Ne(?kZ*!+ikxa)yWgjc z)?ezljrdf0eYWy7SN2x=E(2^p62+TH(LY|r?zp`SKBHe#Hm*97rA}_o=;@&tx zk{3V#Ull zv_3sc4F@VOQRKOy&-o1GewCY7%-@ut$j*J?;k(edJ;~8(&M=_JH&^YnKBI9h?os#K zjC!zz(i4v*kk`iSRN5~>eai6w)nik?P-Ma9frpjoxyl-Kgz^38zVrt7OPe8Y%eqeP zxCI)&mz6RdUn%l+S;@W`^xXe*xI(JE!q*1@L|h4KcT1%K!Wio!xGl$rcP2KZVbaW2B-CG4S2kbDtS7$`~{~lHF-~%_=Vhsp)kZkVc z^Z-MnFt@^A9$4zJt_>e}5IsL~XvAp|or4dpox_>HabFV1+P48ug=3JNJ_-1nxL1GX zT0#5(UwkiZ5rQM$k4qHuA#7-3onoCPFl45^cBs4tmSNMv8k8_|PX=4_0UbgSiL{2x+V?S0B)Bt4Z-nM*2281N& z$fys_!*5k3EfpWkfyt!ZG#N96=$Rsa>EF=2V-h<0n;~$b^d}JhYOOfkz;B=Tpsc0MBj@b&Cgm?1m#2c)~2){(zSqb z#>V(^Ir5tZ*LZhwN`bwjzq)md1sp4z=s)FcfV+GkUr7vkB8-CgLpmkMp-4P$wEheb z@kSwT)~A4!(g+os>V}BwXpJJO6PQx6GW_6ih|V==lBb0t7i&p|T~Py^fepV7>DvG= zXvSkO6FF0jW6Rod=TL`m;FdufnlBNwzZ0(S0b(-1HU5|#MAFjY+o$J%xwKh1FEI>a zI6Z~&HE9rAn2xddw!jT!%O5`b9CZZ6o{5q|z-BFHYnmGX?>(eC-gzE~<9w_7tSKOF zkE}Ow83hJJWQw;30ZViuRx*_Yc1U*bVs#U6f|akOJE#M9DQU~LIUT?ZOELl%x{zCx z;;_8#72prI#C0A+yOE1wJWuKr5LrvY7yZbaGrKX^cWWGCX8 ztm|I_mw*>nOsiD0MsCjo=!`F-7?d1ik991ciY6^0)t~|OstGx=C{~O2IeHQ^s5L?+*iq>g$%ZGyIK6HOO z&U=M@1l&Qqei}JT_~m-zvODPdC{E3F*$D7%WyiFg6!6UGwpMvQfGd8xcP|n-gD=VE zWyUwumx$ke{Z$2dI)CH_K28O!W8_M;tuo;9`W;n;`v4E+9Cfby4e(p#wD$_ufLCc7 zB(afOQbDANRaF6@n{EQF`G8&9w9e=P4|y;fUM8og0%l|@2&hK$j;a1`=q{Si!@~nD z6Byv;$t$X+s2}=QIlG}@5%6LUM<4nOkfLG7J>FXZ&y)&N51mBople>ynGU>|i&;5i z0^n7PW>_b00H(Z<@Iw3~V3%lWH$R~+X5IMD7Mu*gBbqZ)yga}AAL#v5GI(7(>ifSn Q-+%8zx}X0BrMH6r0>J$8H2?qr diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-1.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-1.i deleted file mode 100644 index 719299b7..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-1.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12.i deleted file mode 100644 index 8fe88ffa..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12_out.e b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-12_out.e deleted file mode 100644 index 437769a67aa8cdbd762eb3161df43ea4207223ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105844 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 U&?g9ewJ;|KbG4CU9dbqd51Hv50RR91 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16.i deleted file mode 100644 index e6aa08ad..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16_out.e b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-16_out.e deleted file mode 100644 index 32645e6a06290e9e8d63135240872b64e46aa9ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159724 zcmeF42Urx>_xI7*dvCFe-oW!YU|WnmE(#a?3XHTD`c#*)}#Z1GwW zqcN7)dx^$wY%!Wd&HFv~-lYlXZg~HXzbDJ{e3&z5X3jnHojWsk?##|KZ_zTni;GJJ zkPQ?9SoXG5MD{A|_mGFon|?EuWRfBP<4Ew3wc5 zI|f^Qv|k=OD9?eWCq!FktS_FV^p-s5`j?{ zS~gwNbo-`am^lT1kzlh$XEjBHXd^AA2&=ZgCCUKJ22yO&kSYO{nKjsC#`cgC5=^7% z`NMUwrf{kQs5e?97h(;CJ8pRm>>LPQw>B!0&Kg6T+7=t8OGc~7YNi75M;hdeHicJr ztE;udSZgS^OLq7xf^4Eb_7AnF1*m*cQ8A>yOn~x*H}fR?&uR>cFOc_=3R!M2$d zUSXUxO&H6j|9i$#o71JDhy}e8#73TfoMO;3T$O(6~`UxfJn8|(L9+tb#B^1 z9I-@QFA5j^)xU;+ImG;l%eRR~Gg0|X$iQLh8vbPw^GAz=C*?}#9NQl)*HMmi(_ok- z!Ermad1<|Eap?d|^U|@x_Lng39yo1r-!X4@+Q)2h=^##VNhjN1g1FrS;k3nl*Ss5O zUZn%cN^x@n+h2mXJ;-N^`>uIOyDYLk#Oa&M78FB@>o3Q9EXB|^uT6*Ca+>&`aNge& z%xhaW(#H0eVBUb%aN6S9^37|T5yOP@F2r~a+OeqNpw4wv-}0&XZFTY;`@L;{2zZR; za`w}ivA4>2RLSv2Gmyr~AE(k~o`q?NmLoy%_m1TX_QX6nMgC%Asx!D;F29HnzhAv$ z9c+iXUbGH*#X8txx*3C#tOxD0wm%%#ats$E>B^SFF!8dr-gnuWE8bex{e749c)Q%% z@4Ia4x67^bzRPx|a^>*{(rc}{AdJ&CBQb6I!xVL{02wYWL8LF*A;A`Hlu?hfSTx3I z8JbRQIolt6E5^wYeFhAv{?H!{6JqmG460uVrzKp*Hl5~oVcX}?-+bFpILUuV`EA3K z?&6QxhUe9E+whuPlG%ng)cm&LtzhxTY{R>1dE4;8PxN<$*@mPJ{+Mm}M9ps-K2z~+ z!{62Nw&5SDJlpW4if0@Csp8p&f2(-5;VTu-HhiPvsbLct&c!xNQNNQa?s-+-HMt;5 zs!LKGlCF2s^-Q{6N!KGu-p)Lg?n&!U()yCLek83ANw&XpyQ_Nbte+&r{I`ye&i!5L z;@pqq`OkTr7dkl4N6zyR9WSK{3EG>^_L4kKINKqjYB<};>iQvt_PlNXu?^W5bh<@5 zL=BVro#Rr0l=QK+=Rf%2epN3%^x+{@A3yZraaAuq^r7wi_@NKasQ!`o8 zLmxg+`_YF!{7vmgANtUCALRod%Dw%+`#;EHwOYg@eE&@iqD*8k?Ji?y~|BLBl{ z@8V)M2LG2gzl(GKckciHq1zNzZH2^LDmp=;${jg+UQO4+|FqAA{nc1Skng0Szb( z%7C(fp64qMDu9Zh5~vKSfU2Mxs19m?n!pv%qmlHuraPz&>VUeS9;go*fQFzE@Bp5m zF<_txXbPHv=AZ@e0xdx+&>DDyHlQtN2Yf(#&;fJ=oq#X!1OA{h=mNTeZlF7$hj;@3 zJulh|^affG2y`F_=z#$kK`;mbp}++CfG}VN)LM@K7C?=+z90(FbBxrMi2?mUe-H}> zfPr8T7z~Dhp1I~hT;5@hhE`m$oGPnY+f@|P9_yybmH^Hyq7Pt-WfVil3=9V&z)0{37zIXy zF<>kh2gZX5U?P|VCW9$pDwqbQgBf5Zm<48oPr)287t90m!2+-lECP$c60j631Ixi@ zUG=O|$mj-2kM%iUCECc8K29S?z(ylEaAK9c`J3v0NNjo1vKC(%t_JDk3lTIA~ z`N$@nIs)>MO*(Y~@FJHtEz&`N$@n zx+@>qq*D*&Bb#&zP(HFrr=H43HtEz$`N$@ndMh8 z&a8Z7lXl_CM>c5}p?qYMb{6F$o3x8mKC(%>zRE{7X&0q@WRrH$%11WoWK}-013?TR zAK9c+KR`aRNvHmRd}NbOv4DJJlTHHw`N$@n1_JVtO*#z%gs7IUpa|q}^&jKGKY|`vR;{Hfgt3`N$^i z)+ry^q}_VuBb&7QQu)Xx?Y>ezvPruQ%11V7w^8}XChayUAK9ecX5}NBblRePWG@9@ z1M-ngI&B5yBb#*k29S?z(rFtYAK9eSc0fL|Nv9ovd}NbOI|2E~CY^Qx@{vv2eGAA( znvr(90arF@w+E1qY|?Ho*rROHZXX~Y*`(cmKt8fbyYB$`$R_Q+2jnB0v^xOEM>c8q z10WySq}@S4KC(%tLx6l_lTJSZ@{vtC9R}nhn{@gKkdJKA=?EYn*`(7^Kt8fbr(=M8 zWRp(E0r|)#oqh)7Bb&540mw(1kxnPUDP`}$@H8MF*`(7MKt8fbr?Y^3WRp(k0Qtx! zoz4UDkxe>X0OTW^bh-%0M>gqn36PI$(&;iFAK9eS6+k|+NvErTd}NbO*8us*CY`Q> zYsw~_egWhon{>JX$VWEmbQ6$|Y|`mhKt8fbr(1x0WRrHc0r^NX(&-Mkt8CKgp7N1R zI^9=3vPq{0%11Wo^icW8CY^p$KC(%tN6JSw>GW9n$R?ehC?DCR(^KUmn{;}nd}NbO zzbhZv*T8c?KC(%tKLGj2CY@dY@{vtCy#(YVn{@gUkdJKA=`TP&vPq}E0r|)#?Op-$ zk!GabYw$+dq}@NtM>e!ehk@{sj?gY09KuIBLc4V7rO(!fBKkbwv-PK>%Yf-0VVrb? zcA_r?K3hLax=hk%>vIu(B=Fh#U(#j4^voD19ifxxJAu#EFC+R9pj`KbP|0nIiyWGiGG)y7$?o3ljwuVC2i74^vC4JIB5p$MBhvv*rXY>v-Q&m z9ig4*ugQmLWMd%uZVD)yv@4{1WRrGH#AM>c6!RQbrx2#P5m*`(da%11VI zN>^O@$R_PdC?DC-DP2kBBO5x2J|psx4V}_yl#gual&&-&AKB0;T^T?=vY}JDvVeSK zL#K4*0Qty1551>=JilCCRNvF!nM|MF_Mfu1k?W!st*`!l7Y#jNlXe}Ik2E9gIssp0lXiZ} zM>c8auY6>acAb@vY|^fa@{vv2byYsHNxN>!M>c8KUHQl+?RqF5*`!^7@{vv2^;ABx zNxNRkM>c8KTlvT)?X=2AHfa~Ad}Nb$I^`pqvoDw8EH2N3|2O2H$?f!ChdkQAK9ecFy$kgv>UE`WRrFyl#guEZlv;&P1=2;d}Nb$ zqm++q(r&c!kxkl-Q9iOsyRphgHfc9b`N$^i#w#D$q}>GNBb&6FsC;CTc9WEkY|?JB z@{vv2O;J9wNxP}aN1Bm#)4+6PlXf$dk8ILzrt*xyna2X*W;#$R_RPD<9dU-2&w!o3vY~d}Nb$ic7y(dd(r&%-kxkltseELUc3&wU*`(bD_UXTyu2L(VuPzV$TML zf>xk4@CI!_ThI>pfcBsR=mV<&;tW7 zf?yB=LV*eN0b#%l!a)SEfJo36M1g2v1u>u>=nrDS05A{?0)xR2Fcb^}!@&qJ5_|$i zfzef$d-i*a>!lZ^3TB z!5**|>;wD3ci?+)0Q>+Bf3cLnyz(3gkF%Z|m=`s8WWB?gKCXg9q0a-ydkR9XzIYBOv8{`3bK|YWl6aWQ5 zAy60;0YyPE@G&S3N`R7}6wrXupbRJr%7OBr0;mWofy$r?s0ylq>YxUw30#32s0G|X zZBPf)1@%CE&;T?9jerO61dRa$O+Zu73^WHVfEQ>9T7lNU8?*s!K|A0B+Jg?DBj^Nt zfgkV(ok17S6?6mLK@SiBdV*e{H_(DWpaVfb4-CKvfHZiOwGsFD*fx6z36advUym#^Sh$ zb#Yk=wt$1+5_pWFu@0i%R>QCfplwRqfwZIbrFBh1(tLZ+c1TNTTVS6S=V9zS;(TYs z5cNu&3zlK{H8=z=gD21lbwKR*)iG=eXrG{ZjJhZ42-TCcg7Ty7LG_O69Mw0fYgEsu zj#2%>u}Q20j!B|Df@6_rhu|0_+8<>xEDtJz%8Du&;us;$>BwE2GiPGB8hi^*fZN~| z)(d5bV-_7_Is)hu*T!D~dplSOR)Nm}Vu<$V8VuKhbznXC5_|OY9jr2# zq9e69YW!FK#QIas{*V4eTcdP%d3x-BwF=nQ|G!!V)cOzjkFWngG?@OAfBh^G;ihOK zy)iz@7#;mz)PUL(i71=Q-@g*3tfqOCQD-$8G(iJ2J{>yvd1`uO3m|8VU&v(Vn$5)lC}t zHHR7|Oo=iYOnCRQwR*JGfUi5CG)))zy$X#t-pd?Ue9I`j862OY2ovt8aD1V{5`oJ+ zhyUbuP-QjL#Q%kutQtMEz@T0oS7RN0-C$Q&jU_@;%e9t!bvM`QuC z?Qj~6dkwb+HQbZV{_b(Vc3vG*4(Rso07>U)9upOXN}}<{7h&Sp7gGAgL}*$XgEVe# z8n=24>(p&nt2W73J86KV<6f~weGFdRZ8nOS_%=v*qzLREW7KreTe0pMH`j))bsD<6 zitUj!!2jMj)p+lS$QY{zpR+K=)%Oo*MFM)IaWWc>HYUQ1j6>AHay;0W}&= zO;dxx*Ju_yd32~L(nlAe3o)YCBl$lKcGw7Ol*NqKzK297jHGN&jd%MlP1~t2v?L!S zp;x0ZMNn@2jL8Hem#3yughgvG2J2$XR=R?G#~%eWSxq{#HaN->t`(ooq3_nvXOu({ zo|<+|{k{Cq`S5;!$pyrF@8i>TWR+!x2JB|Z{MjGSZ0V2BF9lg*a8^m?&;EcqGeT-3 zj3KBP{fyea{f+d>hPVyxsj=@EhH4WNjaOda+ff#MSX`L+RPEo&Dj+^3fRk8!Ae&|X zD${o#aER54h_*2CL+mM?{X4v0m7%#bniK-rLfRite3m8UsP+e>&&}AC=D6HudON4i3Yi87`|s3_!p zic^#>YCzIx828j9vtCKpGr_nFkxESz_3&M_`K^G|PifZa#knBKdBsyxQTF0$WM?Mz zX{YulGc?Ac=P%K=h+BEbGz><2$&#S`5f_d$wD-JB3kSzUh@C${Ae)JR#(Gt(sjX$A zX>z&HP^&hDs^h6~O|-zfMr6QL4iEMo9Av;~9a=T$j#b;!wz@QQY@;L!n7DeULBN3t z6Lc`cm}p!D#Gny|CY>HD9vp0>OG=Yy`Xi;*26+1f`8li}fb)-*KYHwO+I4@`R!@7_>opI^ElHcxxRfU@C`K z$M%#|_GAiZ@3kIU4$&Qg`rt$-SBr8^@aIT9Otn$$scB(~GU-FjMr*U?Zz=Y+gK|mb ztn8SEshmV9pnY!_qYMouU5Hj4!Du|upCgAa+hIX=Y$ggv8QOmuHAaZ8sw9!rs3Tih zo|SPdj55W()tBMODyMRqcWf)0!XwQlJ^DtI`*UQKQ&?FU9vdZk0QyM6HPl)1u9l5# z!A9aT#h844w9583MN+DQB1K0wO0*HT0#f?3>y(FGo8qK$&ZAYf;~c62ik5m>W{9pS zQ;PeFr);^t_dRGzEa6qeTZwvVPzOwg7@hg;V_$Nf|E=@#fDhoj{Pz7~+6d0`a^kA! zJTE7=w;_YL7qCGf%gqHrW&&&S< z_X6ZCaNHF&My17h-sK&a-_$;oPp2d(SYEXzaKvw8YH(72jTX&pobC;{WoU^oMTF3{ zSAX`mu~Tg~IC7nm>h(MYwD*cW)$4f*Xzyi3s@L-r&_7BS5p6a^|tFAZICh85@n>l5*NSdLyLZ|Ely2#8Bnb-Do`RV?XTFhFXL8#7V;Uj z(MDaAJ`}y~^eBKqYu1Ga8FX4a;zQ{r{}@%0DlRW7k_I$eEw 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 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20.i deleted file mode 100644 index 8fe88ffa..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20_out.e b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-20_out.e deleted file mode 100644 index c1e89dcec4ba411e7612526cdf26e2354ea76d23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105844 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 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6.i b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6.i deleted file mode 100644 index d3ed3f24..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6_out.e b/dependencies/mooseherder/tests/output/sim-workdir-1/sim-6_out.e deleted file mode 100644 index dbe31bf7975cd1a9439ea4deaf3ebbc3bc349616..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159720 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 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13.i deleted file mode 100644 index f8fd18ce..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-13_out.e deleted file mode 100644 index c7fa274dab71fbac5b9a9d49f8679b61c63d06db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159724 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

=%# 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 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17.i deleted file mode 100644 index 719299b7..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-17_out.e deleted file mode 100644 index fd82c86f519d2a3033f9b82d8bc486f17292e471..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105844 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 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2.i deleted file mode 100644 index 113fcac3..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24.i deleted file mode 100644 index e6aa08ad..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-24_out.e deleted file mode 100644 index e53ed2b3ccd7afb09a3b7e0454425c3f320b05d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159724 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 wc_zg1%Cj0ZVJ5^rb@!deE0_@L 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 XY0CSD=$PQ+GNOBaIrVX!`f~g~IU3KA diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-2_out.e deleted file mode 100644 index 2f5173d40e63bca7fb2a563bf6c73d50bab30069..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105840 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 WcMW~Upl>qfcw?>#a!f(4@c#jFDAXeW diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5.i deleted file mode 100644 index f8fd18ce..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-5_out.e deleted file mode 100644 index dfd4c14a5f23adecfa2408f38e583019932e089c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159720 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 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9.i b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9.i deleted file mode 100644 index 719299b7..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9_out.e b/dependencies/mooseherder/tests/output/sim-workdir-2/sim-9_out.e deleted file mode 100644 index 28add40b67dc0e87334626f9e06cccf60250d5e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105840 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%0AV&^&9LyPtNF*^ZZqG_NL1s?p5R=pX3+5C# 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 irTxDYt{w&>loD%(btv@^%Jff6@^)?LrqY+HP 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 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14.i b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14.i deleted file mode 100644 index d3ed3f24..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14_out.e b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-14_out.e deleted file mode 100644 index 01412ac646676c8102e51e3cc6ba9873c6168ec7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159724 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 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18.i b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18.i deleted file mode 100644 index 113fcac3..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18_out.e b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-18_out.e deleted file mode 100644 index 3ba605ba8428729094d16f4ecc3d5198cd3d4f4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105844 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 VhCXA^HyLxhF;@jSrXW}N{{XC6)iD47 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22.i b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22.i deleted file mode 100644 index d3ed3f24..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 1000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22_out.e b/dependencies/mooseherder/tests/output/sim-workdir-3/sim-22_out.e deleted file mode 100644 index 9c50016b41e99e67e9e64301f72119cca83bd798..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159724 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%0D(;z4QK$gU^mmrQlP01zs{~NhPbJ~<+ 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 P8PPqzocg#C+doRn_yQ^z2 zyDs*=_FndX&dl6U1TPVHsXj17h#(%lB(UFQ^btJ|xza7T4x?q)&Z@&jY9@MEcDok_~ zkeA05ftm=G2+8wH`4mQ#N#sRanBJ%khH_Kr3kVLi7HJ$94{{e2JPN(a0A;cb$YYOs z&SOMnu~a%oh-1Bzr*ldpT_ce$pHz;P(b*ISeKH-=+2l*9L%P)IkS=Aq7^MMq=u2h` z`c1)=xj@H!sn&+*AW0sKV;gDIT4*Diu9ydq8<0<_S1V#v2BTW1g{TeY%_h&be-ebb z)6tg-(dd*WwKi0t*QvE8ML(S(7Qm9gqb>;uqm z6kuGaDGb!+{4$X3fxJm0=txRaG&Z%w4WdmhliH-g0^x@~$Zu3f)^l)B=%P*ag_`-R z25igA`eVN^oydUYBcz`#2xu?-?oNk4J5^v(p%BNk=ojgSb|B!FuPXfIf%JNVPLKUX zN{jwQIVayQn2kBwxr2u1mGakwxSiJcRe5NW^ux4;cqCt42=hStL(?H16#xYF> zX^Sj{6zF$!FZK=W15z7Fw&hiLsx=y4r6!v92uy>V_ybuIOaBgW^l5S~$^YNUC7RQw z4C4ZSCFhcSYav$!8Mrp$^t>DE07}MeyEd7ud z_e=OS+W~(P@3+z>Vp_qAgE;b{pQK+hdz+&lCEjnP?TKjxFS-?Z^8=(`GJBh^1f|6L zt+Zz_E$5Nl% zasNn>4;=!(Z{&M&9@6Az_Or$mM{u66C}T+4uf8#MNkg3r)}b(~gT(2e3QScG>}%2w z#x>iPJn|a-l`^m6_vZcB@vFQ}-i&?b{j=I#^y{qtiH?~2)%cjTzjMF*f3hF(Q6%YK+W)0c+L9ILjZ5>ie|sp+tN-nxG|&CFhtfLa-yTZqgnxM`9S8oa zVW7@r(y>ca|4k1V)S+Rf|7O)$txY=pf4KHGHX2pPf4TW>viAS1{r|r_0Q}eY|NnB^ zXVsl~0I$JF*Iw{CC0-lCdjaqoK3+$&1K>4iyk3mgdGI=QP##bLP!S*lR0326Q~^{4R0C88)Bw~3)B@B7)B)55)C1H9 zGypUN;H5vj9O(pT1ZWIs0%!_o251g&2DAXU09*lX00L+UkONu)S_9kx9so~38$eq? zJ3xCt2S7(aCqQRF7l0R_E1(;|8{h-z4)6u^0Q3a(0`vy>0r~*^0et}qKmb4q2m}NH zf&nT(2p|*?22caS0TBQV0B7r3fDV9@w3|u4nSfb< z*?>8Kxqu%5^8oV!3jhlNivT|X76X<5mI9UmmIGD*RsvQ5Rs+@meg>=stOKkEYyfNo zYyxZsYyoTqYy)fu>;UWp>;mit>;e1&NB~g4Ucf%Ue!v01LBJuvVZafkM z+y&eNWCLUeQF}CbpoIcW%N^L0P0XiKXn114rTO{7XWoAqo2A0P=_-5sT%-w zD5Iae0jNV6edhx}9r~;#pgX`<$mpjYLWeT?si)APjDG4RbSR^rdJ7%O=qEp+LmBMn8oDP=_-5DGY!*l+kx;0P4_Z=(})0gpkp98lgiOeHSToD5LMR zLWeT?PA7CIqwn-WhcfyuO6X8V-x-7sW%Qj<=uk#KnS>7I06;VVbtt2sVgRT^8U54` zfI5`XPq6^hp^Sct1E3CN^iwQF{MO#+|}W%Scz z0P0XiKTQFk4rTPyQ~>HwM&C^Xpl%2N{WKjgL&)f-nL>v$`e~NXp^Sc-Ep#ZOpXLZ1 z%IK%LLWeT?=|`bM8T~X*=uk#K%@;b9(N7D64rTPyLZL$${j>;xI+W2*KLHjA8U3^v zfI5`XPfGx(LmBbpsl+jNs0H{M5eYX;TI`kR(ZWUm)kkNN* zgbro&-OoaYGWu?<(4maJTPJiVqwm%W9m?pt4MK-9`fj7pp^U!UBy=dF?=}k^%IK#p zLWlAqz*Ye2P)0v(1E3CN^wV|#>QF{M?Es(-W%Scd0P0XiKkWjb4rTPyZUE{~MnCNV zpblm9-7f&tq0i8F2>>c&^xa+n>QF}C?E~x;GWu>m0Cgy%?+yS^hcf!^AOLkJqwfv@ zP=_-5?l1s#D5LL=08ocA`tB$Ibtt2sjsZ}IGWzK_0Cgy%pH2W!hcf!iP)0wU2A~dQ^wSvt>QF{M{RTiC%ILeZ0Mwz+&`;+8=Y_l%!V3V@p^SdI z2tXam=%-5n)S--ix(q-a%IK#n0Mwz3e!2=k9m?pZYXH=tjDGqZfI5`XPk#VVhcf!< zIskPjqo4i+pblm9Qz8I$D5IZl01}0ae!2-j9m?pZTL9FdjDETeKpo2Hr#k@Dp^SdI z3qT#p=(~FW)MW!?2jl?c1mptP0&)ZL0PFyH0r>#-fc$_0fP#QRfWm+xfTDn6fZ~7> zfRcbxfYN|6fU*spgo`i zpd+9YpfjKgzzfh7&<)@X@BwrO_yT$WdIEX@dIS6beE|M|z5oRv0H6c}0)ha+02Lqv z5DEwbr~%=C2!I9<3D5#`06icIU;r2aCO|YG2G9=>3y1^61Ns9700sgE0R{tx0EPmF z0fqxc07e2v0Y(GH0LB8w0mcI+044%{089c*2224=1xy1>2h0G>1k3`=2FwA>1^ft@ z2bd3709XiE1o#QC7_bDe6tE1i9Iyhg60i!e8n6cNGhi)X9bi3R17IUy6JRr73t%f? z8(=$N2Vf^)7hpGF58xL-0)PVc0`>v+0}cQV0uBKV1C9WW0gk;24K5mTP*^hPp}?XhwnjV z`w#t=nLyta2h;+%0=fcJ0PN@3H-7?P9k8vw2grwh!FI(q#rDLu#CF6s#P-9s!!k<( zN(0IQ$^$9_DgmkhssU;M&@M!600H;_)BxP)a35I-z&>~ua1U?}a2{|0a1n3`a2ap~ za20S3@H^lSz;(c%fJDFzz)ip{z-_=Cz+C`xVx6$=bpdjKFCYRi1TX`D`xEy6^TBGP zUV**kKl)?!$DZ>a{TWRLB|JnN`(Nz>QvLs{T|m@7?mu4tc$^^p7k@E2ZKT?$!Y8K< zDx>kg=mI=era+Z6e*efZRb;IVDy2ykEDMa2b?VZ^+e3yE2J3%m82FC~Wvz9QkxFf_ ztRuWmK_)kZMn|f&CZi0>vcgaqJXvp2MH}ns^d?!odfIxXFmOSz(bZ8_Pc7qbHK?zK zEe2Jv8lFKk)iauc;VlPHn#`BKw?Wnpo=-Fv?`eQ1WZ{(z5ln4}gf}(lw9ZyoCS~F6 zAj)!$)yH3@0hP^Qz$92+`1)pKZAuc4#Fks|D<4(y~dhDqip zQ3k0(LYg&lYStt$IH;LZaI>bW=BmKv&6Gh-%I1Mh8#Qj~;Gk;c&{&y*4I*A1KHfoJ z)5&B`^&OhmcS@c7+i~xX9$x7aI((ZTb&A%}1_N{wnGd`fC8@sPO7Cc`%u^L8b8wJ3 zG<9y=#M!YCy01}cg4A)3SXEFoJi@9`F-~|#Mx>q*`$Vf`U4l$dcbP*&=Z1})of@+C zNKNp+7snpoPOFbL$>6mPDszAT7gfa1Ka-7-$rRCAbyT!Up$x*^n7s%hX$O?aTxIg$ z;BG1n+sTb#YJDfARvD@?q-Tc=c37>+pwqzP&!NWTOhR^*wd?FF?k{(TxUM5p( z(Y6>>8f2()mDSYh6v3(xWwgeGtG#dhkWg(>D>aG`gDz6RULk|;Z^73Iu_9b$9pyeA z-ndx&u3uV&@ceg@xz<#fTNn(xSsFjf2{pQY@EW2(T{Ik3()d|UsMG+ZLaPdejuE3$ zMDQ-hC#Q9Ho~p(@D3$iP=uK#$yCc*SrEb_^>7eNB9bJ_tBmhIfFV}F z7$usd5cZVrK3%@6$FM{)Svo`#rR9X|^(5)DT26?sU6IU5BXpIuk$3m@{_Z+w`tbGL zC4X;1zgDe{nLWmSZ`t3MPA2oK-@pr32+;;rW|)fYn&CmfRpt??H^s@>0RsGEEplP17Eib+L5|C zoKP8P)M=tkDtNaIyt4{k%NAsUmp`#1wdLa>QYtn2FeT?s{cjy1J47iBajDrL?kY>8 zUa9MuEY2x1=!vW!eycZsMTqAqHOe4%EJ$@+ah28JXK`ixWG0@2&gjQ2RK>!XzZ7j@ zuDo?V41xKQF4_FUOou+S^tg>Utf-q(G&IH2vZMj}XGawN zz?dR7GwO}b|HgqH)_Sd4^8<=9I9L%Fgok^{hOg>?gc%I4*6k@7?8!)I=~@qF4#qBl z;c%ei)k2$-{jBMS8BU5_W$tQ&Iw(w|GPP>`mB+qTpe-33m96t(1_x0jwCpKFv@lq$ z3{{8`4C5(&)(l_Lu)t4jrl3O$EkBH^wCq$>Dkc%Nrj_|o8OB0`I`*q`8P-%egTuUa zt*nmJYt%t-ZZxf*HC0ZhvYZ|o#TWT432qNWebj>f{@MBGt)viHKk5>UvcF#*YCatjfN#(MSNwb zs|@;pIyhRX`FiY2OY^^VT#ow}9GAboUW|>9bzDx_6|;`ZY3*$(bm*|G<8sQ27SZ!EuY ze#q}mNmejlwI)*}wJ}aO@q7(@Isx7stqq1thB_^LGy~gS{4AeiXE<-LW}TAZdL9Wa zUD0Q_o<~AUmlYYV=aJCIpwt@Ga4Iah@6(lWJ+CvsWkRh2PPW5Y#1N%gBQ*$ymahVo zK|v}#V}y^Iz!mFQRj~LnirSF*k^Qs0@x#YJ<|cU}*Va zH0ea7F-QrYl}X;KnGY>JrUZqlf+FDjW^D4NNRlmY6u2=7ZWY0k#Qa*lw9ZikszP)I z74DU=_=R(5#_wuzoU(I5QDNvnDST;p$HsjbE(Nf!^1xS%l!l-%IO~qL0t72G%E-WA zr2=m8LG#kSjVe_a=ZlKegc_4h>fM&NvbaVMC%_a*G|3yqK~=Bu_ph13LVg#4p5Mul z#3UrEEi|a$h8A;0lX#&~RP`D*OXaEbqd3FHd+Zc?J--H*M8ze``yosWa5nzuRoT)JJJX82lz=uqXHbst{O^*Y0HLKnM|Wdqq8J$ zWlIkM8u;+kS51+Eup#_X_Kgf;Xkl6-znPKyuyFHax#=%WsMx0H)`Ib zsbll+sy7gZguwWf?%iarvVQv1R%8^H$+WDMwK^?26F#=1hbf|7XPzcPqgc?!c+`X0 zx=Cp;Me89{>CJ4A1J~@AdUG?x`S|;5!spXBr7RZViqas`xq>xVD=#}u4 zoRzI?UU9=SfJmwfR4cV`FbGwd!c+z;MjIf+xeb5TB~WQhu_s&SL%h!+`FUrsE9qyA z55Fd4M`|&>!{aNQruwegChOQzJA@i^Fs1vd^H{zw8{sTU${{eRz96~Eq|1KwRMDFB zpO2D8GPuMQq1G!@v3O<|525@dO%kW&J~V1o#>fzuJ)kSoYGq3gqx|%By0dmGds$6*%`CtTMsL zMCd+dH~vFHK29Vz_a73%;sUNvBtMgF`7s5}QRr0$HGD)D&V!|%-dNskk`uBTr=ljitBm7nBs^rQR>Il)uO|?e6UL|v zfx6U3W2s3jxA1@9l6o7BE>NlQ!pTvlJZJYEm(-IN$*-m-*GR`>Dg4HrbJq034DYEz zLd))U{vT-NPH=33^TV1EI+1X@+8O@ty+7aXmL{(3UvDywJF zG63r+ZcO;Px~Q?Hm7!z9vFk`SPNTYP?pO*F>sh$il}>0_)5;lM5VppL(sDCZWu+=x)W|lNi{BB#^MCbkO}F9a zIKgo`n7f-Q#NG=vHy|BN%$+@GUX;y8|;VHPesyr`5Y2vO-0ZPNk8*cq$9ihEaoBJ>AtxS zbN&aXBLBsiLuNmSn&}7n|AFK3zx*(o$*&IhUs%z@%NsK1@Wc<+-#A3!%z-}&;V#~` z66|Hr!CkJAV(AR#q&(_>;}C^}mR=~7W;JO(qmG1@owxbM^4l5dxP0T zD+tAUJ{==1?}yUc9MU}s$< z1ve0w*b`j}We6@O;q(K(4fuN-Mi81=%=@s^v%i-}8fJkIuimnI2qcaaq2>KB!;^j3 zDEJyye37qYL&hPzd_k+mD^ilLQkVx3%d3n7EUR{EDjv6-5Z|g}j1CNjmn`A!-Kno- zTHdkwdpO}eP0^8oaL!#CsU>?YKLoJXaw*`I(fqM8iAV}9w=hs;Ql`%bjbiDoZW*3| zwPtV#j8j$r8LKl)r3MYT4wWH5MXax_h*%tY@#@8SlO+w&GJr$)5E{ZX1^^sV*|Z zDcy_~X4V`6U_6FNQm6_Z4_2n}zCFu*7^;NVzNf#dSV1UeZ_p1-@a&%v?%7T5Ny`Z} zDs8AK49_m5`AC=Lgm@>TMx_k-$~JQ=fB!s$wXzm&(lV-3oN7*4WsCTr+rTaiBLhDE zm*&$8@LmxQPkHx_-}|;`M#vBBDQ=lF8)^B|A89vkGQvg{)fp|s-XdWOr=$%oSRra9>Q&r=E|BoOOjxzgB>C zT?e;xU&gv+IRE<2HwKuS8VT|B`RN=)aXjqWUGCnJtzV++53t&IH#s}+~o7RG0` zh4GndVb(>i6hp_qA@cuVN}Sco|AvN5VMA6cr*MZ=5x-7&|Eua>djmQiQ{aO!{I2Cr zs-Q5XRvq*&vlfqfU}Gn^OFna6fQW<{F2UJdRgpSvDz}JLIB!wOXZ7pXw~_oNY_zJU zq{zfA#EUd(Jb{E8t(l5sc;}Zj%Zd!oI=IS2*Owe6IVnX&lOnvza04~mTCX$mD~^%y zps`L`tHApYm2n!K!6R0WuR+vllk%o13BvTh7+_tMGq@YW@;fomM)+VI+}RChH{n7Y zE}D~_qO;CIy!04tzDCX6ApXIJU3}yn)AUzbN}f$R<)rv}$zq*_q3r1^cy<&kox(uq z*p^;~!~7Y%+|!zc4-y6$*q4=*(n|%+W?E+N;-}~MChMx4CLwz% z4||r`64DGTg!c#Vwzp{1PJ=Mz{$h!BxNmbpYz?^aKCLmrng?FsB8_N=G+wh|orM{E zTf<61xQ7g?oT9OXE3G6Qa{Y#kz?ydn;3Wp6wDXkn@4!pUAo1lVWSmv?D3Zve|4i=^hG|G|{na=SyaxL@15?sgC;J$@?9I{HXt( zd^To6^Vjvho_t!gr$~h9K2q|%mPsAQOo;oi6iFUhOUUnBg6Sr_fB|lxNSb8-1H!aF zFP`qgC!N)yRJ))!c*jsMj9<_Z@%{w(k6O1H z&0sxht%d0vnXKPaQWKijqt;rO?t0XsBNVi~)XFIq0Le!R>sF)e3U1N@S6T;QY1URb zg@qEKHS5tdt86Ben#zKydzysF*Q3@}Io}b= z0S3zl2ll>JX?*6@O#W}Vg+V&F$d;TUrEK|W7F>G6+c#6vB*m;EOnd3gNiCmai<_s@ z82uTe6+Se^BvtTh$#TMAT}Y%dosUTYzvYCgSQUJ83(j<l+egbZj?}Mv|gi2 zxdTh)S=A_E>fm&D6Gmw1wb69fq1;T%_Y}Mt*#MscPgc$3qUEg|4)486&X7vByko=7 zhw4c9kOO#_3AYD6KnQmyhT18GE`f>FPlGQ z69%up&>2!c#b9}rjd5D|J_@|KJnc$beh7d!y=U%GFUFMSl^)5hmRC78SSe*rE3}3% zg9))U-6l3Ny(1_y*isAs2iAICDZdS!X=}bT*KO7)**&J-oxC#5GHl6jJm%@Gg73T~ z_l(NG7p2K{a3@0punWh-3~#u!X0*xh&N(Es^j%dzXzUUg4tHJfilEKOewH5szWFL< z=9=$raI_@|zQm$|qbK_$OX^Y4@(~-BKAHUhU`Vtk{qeyXA4VAU?6YXenj%Sbh4+$nrpz2eLen<$){@WO*RV16dx( z@<5gcvOJLGfh-SXc_7OJSsuvpK$Zvoa~>ei(ylUXQReS;q3z32kAgL-A2<*rrJ{}M zC%o~pi!;X?%=yi|#ixGecrBYBoB5T=VUAZ>uxMreP4JKq|IzZF4^)5r<6?8XIQ6Vw zFy9b!+}do~-@$U@+s(BgEPr@2DLvu*m(6ij z{=ACjIJeKtPq_Uf&D&Z1J{L8|dHsJg$GM*dn&aGG`)IpkxtGl8H=lZy`|Hokw+2!7 z9M^4g)W1Q=nyWn;Uw%iM*R(&lspxF#bY$Bh*Icb>{kHarcHthh+Q+T8Lk5{>xmDGb z!}Cm`_U+tHC`)Qw9Bs!QkF4QOSiIC?!nWIWB0T+D!t=i(oNp^({KaY$R^F8*gq7dG zlQ6qt^AT>>KHAmcx_!RctErFQ zMvU**?;&k6xcGF{vM|~(FsPU9C?l;F`e|EhwHqy7{qDTlGnTn{*0HUt{%bX1@mVs$ zwucuYJpF6J@-NR#7+>s0!uad-BfPwYgqMGwFuUg15N_8Q>JwG1aa^4rXpb>3T6B+? zM!R~CUfAGD0_}MAZq$=weQBF1I~F)LdPZAapZsWP$^F!|MXk4E!{TY9_}Xsppt%`LnHBM&&cZa+dNxOPk+NHgj%pl{)0AwkP|KGAg@q`^?~&;VykAwzFUN zM^nP$u>%O(KCe1q=^Oq{SpL2P3FBMcn=t-|s|YXe65-{~Ak41U4GFVL=0rH}am%zX?<;NGK?Uu~@t-5Ofb+6T_T#l(~ z>U!Qa@2VrusndpW(>kp`PpeEFp>@o=*+tbnYQc@TU4+H+dl9yMV;#cMA2Sk`f0_$n zd~TkE@lVJ>czF*9FMkzbc9oh#xLsdp??qF3t_q2#{(JkqTfXreF%7 zwTNbN+O@&*`SZ`uq#Zksoj!KkcIv6BnRnx~1ln@hxrfTc3baZ7h&CgA*V1ZlKHYKI z^`lF;$1vyd3$qgz|K$r|+j|BRmi|Ug!tzhwOc>wx?S%1PkP%+qRl>^m7)zL4p|uIK zYtw4lr{ej=O><46igp8M{xo(S?fIli)rGT9)9zc3Uv2uO8|^ma#A?&}^|bSff={>9 z@S$y$b5CyE^nkWzhiszGGcDjmiV7B3b@*mm#c zgr$Fchp_xx>A4PoVN z%T8GN8!HfI*TN=*+qIG^3eM;`_;4asRt}-rdoQJaCwDD8{ZvkS8fInR9^p*8=g9tc z{Ip`U>qy5RI#zE*J7#;`Wr+I%>i%wJ;gW{Iw8eur6%@X2X`LIk>*~xpoN26$|$qmS?7Oq$}aP#L1?q{f9H{RoNeCT^u5<``Yu~iJpAC0bNd!1#qCJK zm$Eg@@g|3Se{>9KkQAR?a&5P&wUgq5Z0DY-)*~q%J@}8~lkX+P+4iucILqHIDbD!K zUnHkZS@}uF@uti^^KqJT`{m~Rync!1IIsUUbDaCBzd6qRb&z&BP-4SH!%gbF_l~2# z`~mH7{jz4lLg$5BIs#HWdOFc`lkn+Y~)tN4B+zh%Xk~Lq+;gBL88|_j?t=-(8fKD9S&}?J~CF zcC~V%J#IJrw6dlr^{Z52-Luz&Y4yt&?S8RVN(ytWx zwSupk;9tbct58Uke@56fMc9={730?znNsK#RhFwb?sAoU)L&7QG&uf-`W;w*W@PoA zwDP&Fxu0{?!NonF0`lT zK&{Qlaw4u2+b8h!AM=a+g9Tr#;O{NUTgl5m(Sh4lxTmnog9Z(`yUw85PJr}bCN%6D$FVld}G|vL3a2hbMc8l3lThV~>WhNd8(NV?vu5~WYu%U{s zVGZ}I9#KWv;)m-L=tdQGod>Gj?~AyeZx1Of(#u8unSw7`@Xz4o9Vp1lZ(3H^^-kDz zgoZjSSmB)i4;ofOF{)e#2O83nzV`Y1XQ~SK=sqLwP#U~#{m21zztG_7%YW{99~|(5UP*(pt=!(Z_Fxg$i|y_rJr(((e8%^l z^Vh2{%1aRCzv6Zks4nb^r{Rfnw@kj8lSb^mJ!;U3!BqWsrOk;Uuc*4NHgB|p4 z+@;#6=J^_&dP}u+f=)e@U!dCTRUeGXKb%Is8e#fUYlw)?6Wc%X^uIdt{2%KIzRsNg zL03_pt0@14uxlf?>q`!5%)V=0S*?m1Rb5)w%X^m^=GVWpW1=rLINNNQUakX;x_-67 z;wdL-)TFgd=7)WtQJrVKvM(y9QRRB;yxpcy{kwa;Ki_Xe^|$^U661ZD>VLn#zQBUL zB7R3~_Y~>ZiTuHwPc0MtuS9wAqWqDUh)*a9FoDlohKi8G-BrfwJ#?Sp_ zHfd2|SIDLF>xi?u*)Un`Y!Ut}^zV7Pga$lct3I5^wuj(-Cdzpz$~6c(P6@m8MDf_a z!?o$2#D811*+q{{AU#gTHv6-ABJu8i|M|5FFNs&@0g+?xjU*l8JG<@lok7~IsNMO! zsUB%_@ZPod9-hQ=-XJo+QDNd)u<=hdUq_2@l+d>p={AUb8#qso)`IsUFQ;N_UaoT$ zVaHuz*UvEDY*YDh{zs(mAN2-~`}qj*dz`cQTmJ^6r%#y)`TRPP?%iM2oqK&E@h)mJ zVFdk)bk+Z5|L0HZh*#Goms|9_PP({6Moyj(Ogc}_zr0{&oe1X%{c4`BS1FP2Bj?#0 zBzSL%au$nn=W;vNw&Qjc@P)WRo4uqnQ8XXhc}(lw#D9N<=6c;M;uqQc`FvS#(ku7! zSG&}+i0>CuN@=L9cT-=5pyt`K%jAbqb7IX3#zEu!#G92UE-Ea|&*!nNjk6NrD; zrP}VwNyKmIrp@~TuaMsP4_zyN{{!i{$L-U~o0mxs`amB$J1^-`ruUDpHP49e(S1ki zzi1%BdR!lAFVY3`e7D+io(F9>Z%|=gPGC7+Za$r`<1n}DvI9|+oILwbycN5(&bGc<^~e#TxOH+!{?@~YV$P;2=lTyNioz}C?|bM%`szz6>GNTB%l3xHq|eE2$Eqodim)2j8*_?u&ODz}1;H~;@Q&c+3@9tg zear1QnqAmcpD0cn+pqki8VM*_XXP0>_E(Y;yYX)vDN&;jx zPWD(nh$!A(e%-%cMDuch4woQgR+qz>&`{nhyjfi-Cd z2j8%{Ep}3mn&S=k^fr|I-1p<6oVjTen+@5PR@US!C z`jv#I(-59-D&ag%gz>s`CcK>fgqJ%N_8YY00^xRPY3q)rRtuJDsL!LhBimm2oqFg0 zlWwhahIYAe<#>&OGibX@ep|a5G}OI^|GtW`b*S5#De~j*kI}}Vqe@Nw^%q*J!;pcm z9tYDxdwg{{<`yA5oJ+X=7Gdd5*B~t4hl7Ok^d^kg*pRSt2KfSZ!;dULP zb@#be-uG7}>d{?)VD^M7wEbVZ8*lv3m$vJDHBZae@2SV>g++^vK2PO)E3O;e_c(3Q zrRKfxTY0Ec$HTub4(ULvf0*YuID8r{FnrYHcVq)$p*)f>eMA|;(;X%(-|b?A@hEHw z;~le(uyWo!Bdpwy?FqAEVi;j|Jsm)c>7#l?l`TXYg}Skbgyqu@BAn+uVZ4*Q2rH*+e!|Mt z>It)BEOA4-JnQatdp+%FQ5D&r@L=FicY9WCNlVCl8`*A1q*a2htkbO>Lu=e_61(rl zeOfc(?4Ngz8)&stoqbE*KSO2jPaQAaZUrr_+gG5&p}`5CJ$keq)Fsi4g`OtD^oJi2 zmagpt!tyR${XxRg zHK|HiK2=Y`c+S|nG2T6U6IeM$8D-^eSVWl}quWwuS6Lg9ed?G(e}veOA`PBBar4SU ziWCSgr$2C?*fp-PtW3S3Zf}BIA6`6^n6R~XVuMWq*%F?H9UZu0kWIqNKhOO1bKyb> zPb>Agf8uFk!X=mM!$T`~51a8rf|UR`vf-t?=>e3BT#)ehhgrB;m}ti&wUOwn^A^IQKzA`w?y!Mpad~ zp?;eqabxM0?sa4Nu6#^Dp6b_cCNSPEizq8+WB_I5Iy|Gyj(vj@m|a`{ru~AwuX_X- zXjFXdnBOXCsXmv#o$`eP)ed>SeaP`d8o6L%<==gB(#Sl+R@|!fnQDG2|E{msMXKo? z{G{8(SgNUa_DS)`7gSTKQNDnUcSZP&>$Uksx+OdxoY!SMwOa|^-n^U>j-p(Juw#L+ zYaflSzT7$ZY=U%eE*rJf8H^&i$*YVbRU0 zTUWrk-Er#r_uJ~xs3S3VylU>IQQ9Y~&sBL#qv}4qp(#~@MrB(OSZ<}7>L2^mTw-%b zgy)35zerb;=c`&)@JPHqyquNgM7bY?9UkGV+==f)m- zQmZyK>=@i*@{%&t5L2jIzQuc}p_baU!``|y>K3hh%zX-tT5DG(U*)ZEKBDY-KgUTl zDtbw1{j#-^LZ<&oq`N8d9S}S%1@CcDPGeCnoWDRj#ugKHHKK-^`xkem=Av2U;ovlB1@=YbMcqU3)iBC*_vmy#tx!}{)TnE;j&7b9Irucx^LDBAj*F>b zw`|*-#c!zL=HBz?=PDqb{h*&!Q0_JP(9TZKo-B+L`r9I%x5)Qa@PL0A?S!u3Kbj4d_v_!;C@cI_ z-pjV@uQ}#DkoVC3-u&-g+2p?62eh9xNGI<;xplpvKdR;3?LwB8?KWNRv*r4U=LMI_ zeI^tu{CQn55tbJET_W9fk#DNtSs{44@N(ui<>eOf6n6CEc1?1V2X!#balCO~u1pNe zeR1SfdEZZWqW}KvD(_R-euL+mPRi(;urF-R_{XgH32V8pm!{8Thy#>z^&O5xIDCc)k?nhzAT5eafV)B6S?zRV;Pml*BE?KYr z;iNp^$r+ncZyU-3*6$y_cgYudK&J_<-ravESDdgNSbE4lxuU4u=8$~PJ}iORI`g55iR`i`KFC!1QT2gW6=rVc0qSDP~$ibg}WOJ#%d&mRI z)PA^R?i#t`_@vIC%J!2hhW4EtGN+AP(Z?}+tsz8&t%TlRq}wR+ofAAG1n*H%&P7qK zm#|}=uq#L&u&&m*mUTD7<;mRcN6rPxmDw+pIk0JlJmB-u{e}8z$BkA1#J`&MsG$zCEM=Qn0hC{HQwNp2`~J z;hZO50l_(-Z_a+>4yi{Hsv-DQ?JUhTJLp^J0( zGRMnB&`kPzuipf7oY()XInMoLzW zE;Rdlr$#quyJn7!e|NQ^telCR@6r7p&?fmRSBNVN*HwOruK3`*CoSh6 zMk-ewx2N`jVnx@E9zb}!D&gBJ5}y7L;rYK1&R3goeh0$JYg~cw^2ZTwmmA@B)ul>j z&l7 z8%{X?7Q)NZ6JCBW;dX5x%&v3AXmGr1^?j4t)6l6muc;H7P^I7S1)B<-rF{~kPmKA| zmiCx;=R~nBVDG&_L*0E$v{T#bhXO*HQjf@UMFt1DQOok+dh}@^jgC6M-a|;oN#^<;pI6J zUjBT->>5^|aJvF&*oTnK{r)aMHASoKnscuRRh`#gimqs+f!lvx{h{Dlst7OR?ce5a z+G|zU949m-sZTxMYcEdP(@s~GCRRV4hqm5)Hh#i_aOyN;&WPMwR=W78Ue#OMc_Lx) ztzLw0-%oh@aKiJqB%H4kVf<}f2rusq;pNXG+^%MX+treWFRQLQSLY#(Jaou;efFL- zG;ZwEJViFp;4b-MZ+>`4l@9d}$)B~OeL6Spc52!S>Z`hObm=B9>b2Y^=7z%t>Y2ZN zg@MIi(8h0;bUAseluI8|_g_10)esiHotLofCBg|$5BE8+{F4deo9;k3znZY}KH3vr z{uRRPs#}b3yM|GXtX4wbNnupieo{i9yOxGM9&~DLt+`aSCE%vB&ovr2=<(!V-Zi3q z7k}BerQvki(|^Yw5i7dWZuO76j_6l`wyi!x-+B8@+N|W!ZO+q9x&#G1k6zxU6=Cri zg$UceBcAZ|;e_X3N;uzj!ufp(FYgoK-sbxwAF*~U+&Z14VrX{hx^UEXZg0f5OagJFRYwd zqHq)HoTurj+YaMg!e;&2$>W0uVR5G_gl#X9jj;6n+zHFysxe`F3B?HK??rfdKNDVl zFyVI9CETu^RA)1)%%oOsG^%Xg(^^Gu8j;|)?Cn!e8m97H_vTy+8vM4=sm+bPP-Xwp zKUAo?nEE{*U$@@qKGf&2>yqcR9PMzWXP%%Jg=mX2fq&*qc;lj*@?hNR!ygHY@BM?Y z?Jo-uo_;Rj`HvIMcaAXr#tjHBPeXY5M#Ak1Cfu$_={O*TwA0uIb)p;9r@q@wxoeMh zH0#^PcW>3LX%Tb0ZQ_VqySsHvisxEesqnpW=6IWaFUK{oO}g*9P01=pia44-Tthw2 z9qn5E#uamV&*e|XJ&LhSicc)LcV%4Or1*%XbLSp)Ns6=W=I4amKJL=C%ziiXc3!`v`_y^;8=ALsKXow2xxYG7#c5lQ<(r?;praj1l-cG;{T_BM zvv=S#+Ph4IZ~2$&XfNA=llOtfDM#1rc#dnD9E+YMTo?nwk@a+-&RFrp?mp=&Z_eHz56cl!K zq@j;Lf9l(HJB_G4tN*yuPhdYk^JV(vUukeR-Lw6Zd(t37!$UVr_i5nOrWa~N&!U0) z=HnV3iKBtld+un|=Pp&g?t1#~k`t-&O5?JM(tlCq8N1!vNA3~v7h?Ndk^a5NKSl8E z;{4IJqCBH0|BkTh47ck{0jis2|7(}|wlu2J))B)Bj-ine#h)FXzkx=anHqJ!;s6@H z`rfgPH&0OY+sWjz5s^eIgADb~zX?TSLQq>A;P* zTZ#A;^6Vo24#8Jj@ZS{W zofPFq2)lX+yN1yC2frq$ZAZ}l2UJ}*wARviyE8L8jqgC?ntAMg&`wTchitz+>3lrx zci;ACyMB3SKkfa*7tsZ2zoM^l^z;d&F&FYAOv-hZ#%!qXJwp4O#w^XhDRbmn|r8j}8u1Z;u(Doen(Ow6aIzdvw6Z z+LxTR-=G6p^{(dQa+mgB`dZ(htcmuob~CD2*d7{xsP$2o@FFyR=*ztz^rqe-piF{vUet6@PblB1ddoF)|Lx;5r`?clpFgo(imL z&v&mrtr;EK<4J?KLXGLrYR87s=H=_P2Kk%j4yCjpoD`V6B(?ndY*HJT#gqr~=7 zB7IGf-(B#v75uKEy#BoWFZRN&M#8SEB=Gp#FyE84NLL@nYKJPWAs)|bcb+(O328ZM zS&b>ft`g_>-6};ty-1qY@026hXD(^9X8q{)BP$T6oc_5h7Z^$$vz74Z)9?*(7&&L# z%(II`xP_xg?M7}nhr@I~Jeda65`69~QChS-%>}pD)qN~d$uUJh&%Qd)Zw|NRt z+?_CTRKcG}&*^;zRIXQ%_%u=HoV?webd5NFwMw}V(xr0OUdQB#q~k`1&}-p+Ne9PI zLFMy)BJBs(&%SrBtq5~*eZI0H9o!F&`C2&(o(+OmD#urpyIeGw9Jnlh!%R3)l8+1s7r-WWD(#48==QvN9u7X!7%4sdi^%8dM6LwW5 zx^Au$?CZr4?fn+rR%UBPBHoVZ=LbvRFolb%VAa}06%gNKLaZGLDtFE;p=mlv+6pzjnR!g!(oQKb7(8@+^0_4FCzRX^i@T=86sbG!BbN3 zJ{RRI5ao6jc03Sv$%wAPh0?EfxDef}YiDx(UW4d@JJpjN%1gA1Bl9fqawCz`{mwR0 zc@s_ie%Blaok+xxFTG2;+$G_^tQl6)e*y__{>!d=t>zK++vPcf|Li8ho$4$y_sm^ZUsjo3PTP3@2#R5iZe zuY*2osM6_*yup~O)US>Enw+xQw7YY3L0M=Z?Q%5#p2;`LQqN)?z3RoDl_H$SlW^X?gqQQ4@N#DmZpQ$^?W#t-d$o5` z&Rs);-<=uzxqDR_RA$xrvH53G#k;_&p;uneUJu*Me%$mi^$D4pr_lK*+Ij!hZN>u~ zs7Jr;HP2RkNt^dwxMN?B{8V=I{l1G^XA>4~8Ah1icOl{FP7$6jmT(>y!g!lCBdnaO zEeS982;p}0B;2lR)a6=F=Mq6hX?NB2Tbh`e)GvEy`^t(rw3p_o|HkYmY4__VHy!J9 znsz-|?BcU~CuoO&JK>SxBWUZMH{SO`*?ZzOmY42rij-!QeTzN1l-Tv-&120$@`OMu|_d8fd9{KX1(G9FU?p>;SnhaL90|(AL zy%Lu7zmX^7G7HQW-Kvf$ECwSv?Ww6#j)9h2YWS_KGN9DndfEN-XhLgoBcc5*R|uy| zBHY{oLVcV!6VA7Va5)zU&23U6lw*E4plH~l^sh4eo%v1cggMyuEAU;PKv$NZ^3k=6yHmSi8- zFj-A#HC7;8-;r=SWkTn=n+fMLj8NbGI|-L_o6uZC14234(hUFQTGB6q47C68XXdMY z72g+BT5aA`2~*T#)iQ2aftJg!bid>l(0Mw2Xqjpo=&qale(%d`Fb~Z0yg&DY+3y_2 z+FUvZlbx!{tmTbh#H^)Xng`4!w2G}Gv@iFPP+eIdp>w_Eg!;VrO{njLCxqstS`wOj z{f{B#*g}AEy~`uAr8Se>MdOL$o85!W?@Akfo_0X|bcr~~X75$A+s9sCesNBeULy~t z-QNF9NnaYKwauN?yzvrDx|JT*6mt#6I7tfhwgf}}VJq%i+WsN5T1pbyPe~zE7v)Ik zoOd{(KDt8*^?h1JxE$#UntL${D97#hK)IsU6Zu5*JkmCvOthW*>4s(=QAsd*eYT4I zH@jrD7|E2pig%r}^`EIkgLGqT>WF)@LH_BsUu#p0K(5oE^+3>LkZgZ*{Kbq76`!a7 zS}eVAq#>>P_JsDQE+SOtt53K&9-%(B#SE$M0&$=@X<|TguK{oz89=$7s}PxA>rUG3 zT~8*o+{&*isU{P?h79C&M3FH{hmxPT=8+*E`ky};9Bp`u*MHW7rGF~E+lHH)O6>>n zKZEmZcV$%kyw@E1X~fBjmnY$%*xCp~T9^N0Nc+;wgzC~14e8wQ$_naZCJxlsPX)M~ z@xbMt0?JWb4U{W~yjiyt9Cpj>? z((toM$yxORVtCi`)o70;(G_>b6qOFy@w?*T=a0{RzY(jrdhpe;04p%0Rr0Ojzx_WW zRSl_bIa5LB9KI%^L#}kFL@m~O>pUUmZrSSY zSw|qcB<r zH&b07V#K4ZX2lEwkz3j;t?)$j86HukzRd}ljEHE&Qn$v+HHyN20og#kqQ z$n@8IVFOY2Gpiaa*uQ^i-HCk%)Yai!1?Q7J7=1G^#|d-UzsD)ZD&(2~B9#i=R*iTN zJ)PV!Tp|cWpITG51V@AD*fe8-g$#)Fd0A!b`-0JTiUZw}^B`L2RFY`PK7O6B(MJ=B_g}Mnir-?oe=*zxtKy&V6?r7vtMy_NK&5~=nbQD08 zz4%ejtwSKHd3<@5pA(3xmF}Njc??7a3k`A`%0LvHe!0d@3PcO#?Dcg^Ks4sl!c#Y- zK_oU@&DG!^i2nGGaEvs2KG15`*XMNdI9G{2lIY8>X%1Uyt`Bms{*fPR}CgiCbA%^wegs&v>Qa1Hkuw)RRYoeYpF6n=YuHryj_}t8;HC;-!mEP zey=8(64kRnWckde+#n7sd%n=V8tMk%oG1Da^i{>2qnOJ+-;^T}xq3j9yoGnju@FRs zg3v0>KoH$HRUj4b2co-wo@n>7xp(G-4zk_K_Lqz;a{UUTi(}7SlVkU%$S-%Zg#m~T zUcGr?uL6knW^WsA{F|#L;@D@OC#o~TxfSU11$|>NM;mk5HRWK>KgxB2U7xd9e^?Jh z70O>PYD3B{Z4WibM&g}+TSaq>~9(C+K(K$=>Vf)l~8|K{Pa!;`POgY%|fpQuA?|qB^ z>VG@%-wyn@1OM&7e>?F1vja>>s?v*I`CW{E%k#X`O}`oM#HU7uRldvy*)pY=MRAO0 zxUE6w_9KjktJJX>ciuDZdwS~Il71YtN{K|MW<}Qpm=E!*M`%+~L zL0J8;@5=)Ue6ow-HQRYgeLuqR zhTAW=QP9Bng$y*3X9SF|QfEogoXL!jU2Svo8GAms zZwlBp;U?A^>~BS#I?g4dPXhWb<#O2Tv$o(Sq|qK(I=bpT_}S&^SE5?0m!i!xk?yb!o>wj)3-Cc)=A16 z{`t-Detfy-<)O;18#l$TVs(dKOz_b6V|XslM;WeAW_aVXv%a~uF#b;@+M7oVWBk+7 zD!dbRGyWS5WEuzD#@c}WeW;VixlZ&^Lf-()S%$d!Jmn*Se#{L!5oxnLZpZc)p7y5EJV=?y>a*RZ-Huk)Huzud~O)QT= zY5MKUOn~abB=Z?OCO}Q!BVPP86EIn!Xpn3p6Cm%TUH^4H6VU(gJ1@aYhWGJ+zuWj^ zhWFy?*K6Kp4Dab;GqK4QSgo;dj=EHw`-nc;=v$9D?DrL#D?*MY&2-I4+{_$}pz;B4g)LkQ)0QbU} z?q@rgfVF|=+-L1!0#?OZADDXw>pkorKwUP@4MU$J=qragt1#COIaH8~F_QRy|Fi+S z4R6iYmL|cvvwI%+o{ImU3M@8Wi@o{ld*6D|Jsn0iqpELh+*DrF<>=VAHrQ>xHbP&g zZ>@d6A*6EE$G-LKjYesg%AWVFC%XjRUHQARZ!M>2RI$dTFJE7;<<_W?;(xEBrpI0T z@(7*(GyQ+_g!*3^*SDtmt7rDDIlidAHOHUUx8@$-kG?g1{J*vP*4#cF>RWUBbrxJV z79Z^mj0G=aVadJOZQwL@!?6$7*!x94OLp+w2VnDgW>i9}1T4QdOM2xAM=*P!xA(#x z4=~ESKXXR@6qvVX-i%O*e3-mqnCth=e)^U_>)qzdml3*-@FVp2kST=I`x0)xgm8YP zg!4BdT;31Dky$_nv%f2oLRD`DSbH(7bYpz`aN3WftR^Mr0FV;S9#6=6RQo7M@95et- zmEzAihs}by&(j?SEx4fX`rLe|`qCMMt_{Qqcl&We~NH^EFbm%LbyBu;qrG7 z%4IT|a9mChU|hSf{96YEW!eWtZ(Ibv4M(qpWU=?VG%PTh;8O-}AHy7Ps?@>y?ummp z&8dMkL3L4s?IplAq{H^rbpb5SRu=pIa2d>Zft-Ho_w_fv-g>yl`75F8*~x?+e>9zN z`VWMgPbAb&Ybc@qs!D|B`3@yq{v$%UzRMAgi@hJgARN~l!f`c1 z(4X~L?+iXc=qk56C6?^{8}_u!ZMiK5eqpW}r@oDb4Y%gr&zeyJ?)rm|M9j;C^>vc@ z`S(Y_s&C$1lg8?TRnqsx=ROpGk>K9^#85;1V6kbBbr-BBbj?pB^!UeRgwwww+`I?j z{5}%uKXWwU@?r^>uS+PGp&H@1u0e=moJ@|GD)0r*?`rz8_cJJ#m~6i46Y$I&CdQgX zu=f{jXlpiF0v=!7-yN^91Q(N(;c70P;J`#AesT)~8>KDByF>E9SaRvedV`z#0_j_s zrrkV3*Tjy{k<&_Yczj_woxKc@P zE6sQcZk^-5Z|GVA>#Qb=ozivzyN9<&ub;6W7B)z0mbY5#M~d#%tGc8Rx_)6s=<%63 zgz9zN2sd9#sNXg_!ueMbF0Y5s{QQ}O*=`* z2SeY_MX;7&?yNm+)Tg)V9U;HKx$ox|SanrRGT4&&e;xnbx8~*-{asW4zW-kWYnq?) z_c-MX>sxdD_y4Zx$BHAtVka- zhP_{L?vp`JQbgc#TNJ#bu^3zymt`(_uL90pg>4JF-h%VVVr2#PzCO-zpB3b+(!tqp zuvL0d9XNaFeDnxnujioa20XqK^*eC>6Z&bRKYO2KnzsY+ zbChnAk_PZB%yo?e%)l?H^n<2x7x?Ne(a2Sp13oKt0%mM^3*HyL$eubwz7w*41-{d7%NQrx%*Tu0;abkwu=C#Lh(oZr?F=x@#CnGD1H704xr zT;{+peOzwxzyO37e}{J7N{3LT727w(^oQVAa-&+0cR=va@T*-<%OS{j-VMhs?0sH- zyw10KF%trhU-+hD$=(+wRHe>5}(0N_- zJB$8zFz+YkD|jW-ZEXHlD4f;~hyw5w+g9|fCBbQE?={e;a6Ub@{;><8f;Q`_hHjEC^^t_9vs z(hz>w`G$#|4z5Sx@tLT{d1+bn(?b7X%=?P@mB`hNT*(lty-fRUcNfGyHhg4SGYw+W zoPR}}XW!@Qkr|qJCKN;)2mf?@7z@!~KC7x6yARQO{FSP%vG4b-_Rc7l`N>`nyryLk z!(QJjdE@TNumcc1@N9C7IQu>)T^HbSZB8#Mf%B}6`myg%rJtu>sh^$hV>AqUl6qEiYmn3kSe*CCl0Y*QnDpm z9zd*0wNr)9O^A8tFrCj|3NiJ^RSFW^A*QNj`pWu!xc0*1wy1xI^Uu*w4*fMTuLbk1 zkZV116+lwW42@T}Lm_!}`TXgsryyyzlXq#32PEe3F1#vU1BoMtzFw~(4+%Nz`jhIP zkT5@ZtcB_Uh<~rNYOLK&h`-owD#15{_}meaAulT-KBF;9J5v(ZRd{?k>L1{IG3Qq! zjs9www-NJ$kSi9sDj_x7ba6=QMc6W>bF+$NFQoSSe(Mo&gcP3k@Sx$@klb;XKi#SU zk^|q}zToBw$s->sZkY;@biL|Zql`2pWx$kugLXkupowNdQ5Ph6K9H@u{t(yQcsvjF z$~gZ&zex0dfq6$Tev(v?&g!Ege)&Hd% z3ADU?{m*N0!jsmub5XA#KBet~dz<3P#)ZX;&b{a*UYVUs8PO%;8Ru#H&}I+u?C-v2 zV7U@jW$YhDT@yFgrhqFkZE5<^I+Ym1K9 zons_8Uoy9*Cz%93Jn0}A)I|a;v}Ah%e-Yj|(`=7h8N@GXmPXI<(Zn~fbmQ#_V#Mc- z^|#3;(OBcKKOA)?ICqru36kb~+0S?3a`G|vI&zFhu6Jy;Q9nMD<=%0@<=ZWmcdWPn z48N%)RBEKp%WbDgaP96jEu8@*C|hIjAf`VF%zl=0;i4D`cv5?LSgr{Pa9rUeuG&fh z#_`ooO*6zwu-}2YwK%7YK62=rjyZLh%OJ;S1+EV(gO)UvqmpY zC7kfZa}+IX8%gNA;+_X$goHQ`diK55lYP974va@{2S_8ql3?CT=}_5GbMPN@-r^X_wT z`O-w-7d&HIeSacY`7`?D@X16lT|4(euQ}nre|OIBGJC$3N*5}sTM+)%hSBXM?BnJC zE-4B*j`a-o2cgak=ep6y5`DEXM*(vOBgbUqI!*-AidS9@T0jKrM*ZQfXLS!}yA=*- zBtm`p-1rX@iBO>R>3qr)B1{SrTuS{wgqwEsxIED#LZ=3u(mV5r(Abps6+KJpNpP6_7i35jF>ztpgzGSeBXCg1;~^wb|r zggbpMsD(_p<~PL{Xh1#q)6{d{qQ9=NJZO4pp60_y`^J?`&!gf&;+u2|Z<9PF~5 zzj%_A4a*hQ|6Y@G1Q@H2z1A--!j#`*tfdof5L%PI6WVVxBUHD0IiYjO3WW1vKTnJL zmJlwdg>bp4gmSDMKsc^K&=|b=zV{9du=wZ9m!oeM!^$&;epf~|!tNLujr{8lfC-ml4XfvlRxOI#{a~V+6Y5l@o9E=fk2K znyLAgqrsvy%YNE?0#*vV3_*DvEI+s|bVQgDn4hVZ_!O%J#xB8@qa%NUc2>^eJM*5w zIRA#dA?i~Jt(x_O_H{-Ps*74qxVblk`UtlW>RS;`XpWwU&|IrbLOBNN63UenMWl}N zC61UeFko(ayGdvz%r5LT(KZ_o2C^z|rb*5PrrD^oy#c`3aKW?Fji15Dbm5X0zj9!{ z^&9JwLuH`R>v!q$yAL4O5Go{x=MY+t1{2!v@*z}rSe$TkZwcp9OQ`SNDTL-oe;_p1 zd;p;wv6Vo%jEusrZ#tLBn3cw$6+-#McK1tU=2lm2wRnGwvIu;R?R^8%Q& zt~aT>IveJMPD%P1x)ju#7l|?!ABRcSGcLZF8xF%46^zpT)JACiKAh0L)(1j$=I05W z;}0Oz=lT>veaqJqnzOtWXzma(pd5ZiK)G%aqWalWY;L<4ndSD0{VbAxWSXOLb?Vaw zqA-rX)Yr7KqU+_;lF`Ltpm6NU#D(LfK{YgDtm@QCP`SUg>3WS7dwq5MKZ;g-5YreJ zvb}aHp|#GJy&jzHFYh2!S3Q-`IW-?bedNRq|MeX+O&n;B(I23>jp;x+B#VJ^y=)<4 zm6fYiZbp(>_9+tiL8@d{-Me3w$(3aCh3EgQooGqqWp7Q{SQ=pXPC>Wf>(xIMe|l&9 zENJ@!67$L%Yeq;x|IW%03OuQbF1^_H-zOPETK8KM+7Ff>R42tVq;nmW761BtQ)Phq zo;(FKM^y@FZh|IIj=*Bzxb_k0TBY*JHIZb(^}M@`rxlqbDNu+AI7L*oWYnuoTZo*K zuyVeuDj5`A)UoMFi{S^!xOypyFR$w$!}}I`gzZXXpTt(&|F>%P!6vapj=M-A!C=+wA_AXki2YU z@V0S1kT`by;Ej6oA^yuKv)q!c5N~leRPo?hh-*IQdf(zF#AU9SURZSx;?}9vt@Bid zI74eIC@f&FV|H~*$-4Nr(*7~jO~JV*oR8%&^u2>Q1(<8eai|PIE=NdfIAr|Hyb-qC zI3mn6bcN(StLH7+(FRFU<77|P%z;FyO|qA>(;>m5PIF)Uc8KrJv%eu83-JeE&B<;w zhxowby!tzq5WnV4QKxPF-%9&-sI$Sj4D>mKzQ-_UDdzr0j?KvR4N~7c(VUmE54PmK zd~oH9XlfkeXt9@`XUAmORW?{8<6 zAz`m@R#UJPBt-2~v=xT@t+dbn9Zhx9ac&yt6W$Mf4Y(Xlam;H(=+i%!Iu1wl%_XQ+ApXGlKhXlwi<0+PCSv`;gSf+VNt36J*Q#$9WlmgfSCcLZ18Yhllv2rYwC6MJ~l$K>48s2v-d;N z^REs=r#VB?0V9LuBdQ@uv|?|bbRpK`*snvK2hN>GpAVex9$CzB;&LVXBgaGJdIu>J zgZW+WVtoU)*36j0_JdPdy0?C%50?S${tTJ5xNI%pCadQ>}(I*gnuVKz)%w^9n%CR50 zM3Az?uw_XxyU$(KYu7FiLh6FeYI(24AXRV5aTESmNF5Z_oVH^Yq?Dfs?DvX&Ji)&w znA~Asm(Z>F9=m2Uq)0a88W-Ou;R))qASE;4<0T6RNQqmLd%`RmYwq7Z)n(uu%R_y}qwf#QX~bMB(!%Ekn*jr%KJz+SC6t^kF@fj&LxdlPfEV6HQA zY(TDg?D@IwUd}SsXIi@Zx?O6lz9Yd#d=R9%RyrT&v5za@WT|=ac}NXD)4F5kNl4`_ zmVW)93sSvyq~}Gl-v^w{6q?V)L#kuXwC8W?vEIhMh|{rO&vfqLVDw?17wX%9IZc?$ z9;Y0t$d&iM_ci{j|LwqkJMiBQ{I>)D?ZE%f4lq#~4|Zo1_SYM$?` z3T6Ty-}TWK(_{h;FEf95yOiPG_xUs^x`N>u73L|9f64ftx0hdZ_!{G{d#S5uOcLYw z<4`lSe8u`5``b|W0O#JK&rS4wfH_MrcMHccPXW2|nazXb$GuR`X2M?GeJJ_z3&Xda zv2TRPoe9yHGWO%nA575Mf84Hr?9T)i+3U0g#xMarf~#{1)tG=_nWn8ehnRp#qdey< z{K)Wr@%A4Pu-AXmdL8?pQFjXGbkQdReO0-fYz52}aU8GYk?SlIHeEp@b=M0fEN`v~ zpQpzNo@>WcW}Rh1zsZEXS7w-yXtk2lhdwgFo?;`*zM3&XyY4)izeI%z8d_0gEXZL3 zPmQlL?th*MjGftYqC^g>BK84w1vobseb#WkhovxQE#}@v4m;%f$q1(&+_|kaf)Re( z?q~P$B_mv;G$u45i4lymTa&4`l?i>(yTIjXGZWH$cW_y?2@|5QVY0KWE)$%vRz_h# zIuopxWn}W8h6(zm<&|NtiB%o@wW!;Tb4$_39({W;=Md)RBgY@)+QtY<&7YsiOlE}J zwZ!yhCNjdHeOY6U*)oF5E6)`1Ef{|Dm+mL4{TcqSq@s`wgP2gqAe*tj>X?uxg7;aM z{Fsm!?YRdm&6$u@i4BLRyZo)RzYKMJoO^*jis+k+IX;-{jU0K%mCXo_U#V%?`IHg5 z&b&XP(~=Q}l`}&kUok?Jlzl>fS4NQfbe!pnBMkpT?X8f!#|+;iS@z-DV@&AxV@9@R zIZSBr!^e8})-s`6R^FJqNE)jQ_T5o;66da=PZ#=L#hg&g?LiKQJ}$wXtnKa=?DM;( zbBOzkJVqG%+NHameV(1%JHu+!7~$aXOGdDS5$vmM8hqD?5g5dtDUAqZ`0w^Ay}!AY z;g>9rQt3=$_&Hjd3j>~DeTMx#s5^>tiRiN&eOF_SF6MS4$6YPi+>ks z9M1@L>?@sc!>Ssa+s@y9Ad~7%n0poPD{FK z&Ir@KPnazy%?K~{KY0D+5=L0bG9&HQV*mHT@Eo}607EyhPGjSiT#4VIy&cvK791e#2mofCgfnxE6U~he*jtk B>E8eV diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15.i b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15.i deleted file mode 100644 index fdf63759..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15_out.e b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-15_out.e deleted file mode 100644 index 66e9e2b163c317d6baf1d2a32b25dbb52c4e01b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159724 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 xQYL)S*1`_6u}t{Ic>V88Xw&=_3{{Y^yqx%2= diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19.i b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19.i deleted file mode 100644 index 83eea962..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19_out.e b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-19_out.e deleted file mode 100644 index cfae6550f480486a8e45397ba1b2ee45f9e0609c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105844 zcmeEv2Ut_d_ck^Z#ol}Dy@3T07^8q)Q4kAa2oN9;l8^)h?7gqOu5ImQ?Y%5x@2;-B z?7GOTmATOWVj29zWp8qc~Ga)s4&q{ zKwchK1ZpB!A|%f*jc#ylG;8EyR1}KwlKpuP4 za~>lqi>1;zKpg9xJe^}2=^Bf4`J{5RjLxPw=#%M?&L&?<9nz&vhjb~^#V8G^Ltipm z&~FN^%mq5;OSLvc2TAf^9NS2v)2YG8ol5EktcFZ#H?h{gWWf zosPa#h(@P0skNaBy-uw)Df;OQ!QiuaPYuJdj>*(CM+i zNNLf(DCgw+1+y_nJ9p6Vyi)#}5VzABzbX%Hl75)B5Rc@m3t=8epS(Ow`>pb%{4S8z z&iHkC*cYT<^71-@G7qFrULL0X-tziDTH7EU^pIFak3Px4B>o4s=XT;^J`IFCZ5-2N zkhaKDNP&Jw_hR3`J|MM`WLsW^r&^=&RcfMnkH9p@i9e7fvGnf{N1rC=lKlUjT%tK` z$}leQS8^`Nw-$0$K(4&#J2M-vC)NXh-^nK>uZ(>5IOZyFP>NLI@SNJmP>~$-kle}`&Ilz6|DwkM_)yy#Zs%@2@%$?R>u5|k3} zx6+=$w7fr<{aZjHg%Ejtc)U4l3z1gxL%~#O>+-mBM+hZescvHYVJVXFI>#nUE7@C^ z^O)00yeC0pk2@Al9K^8>`&$u_-X22M?iug*m<4~%Sf~6kN)7C-oDVxW{4fFXq%%(4 z#r-2iK6D8DzLD?Ac}SC=+0PnN9Km_MqKqMFzxu}5B@J~hSck%_4iaZ0RbZ-mU|*Ad zFs|9QUcO=?A){V|b($mV^BVe;6i* zq(ctuU&*&6&m(Qe^fqMY9Q@6dLZ(FhF`<{jbB^psr0|N^E`^CaCy~NiBE1ye4Pieb zg%3o2DSUhqf2W8PJ`;RW_*|ry!k2#m8lePb6?f?Jf0pP#B|NocU zKCAA`19%Nay7q$CDe>A6-V1=&@bNmD9RROE^&V$!s@tP@K3oQh|YnOOE60avo z*NE^Qsgi(FfYN|6fUxHyu7GX;Z-5V=JHQvv1JD!D3(y3&1-|;sN~u0{{a7 zg8+j8LjXeo!vMnpBLE`-qX44;V*q0T;{f9U695wdKL92HCIhAbrUIq`rUPaGW&&mb zW&`E`<^p~M%md5^EC4J7ECT!lSPWPKSPEDMSPobLSP57KSPfVM_!+Pkunw>uumP|U zunDjkum!Lcunn*sumi9YunVvoum|u9AOS!Ddjb0Z`vC_42LXowhXF?bM*+tG#{nk* zCjqAbzXDDJ&H#P`oCTZ%oCjP0Tm)PKTn1bLTm@VM{0{g7a2@a`AQ5l_a1(F~a2s$3 za2Ie7kPVO>kOPoY$hjc26*`o21M&zR%65RfLWgobfW6S6oF7m?=uj>QC?s?!7X}m& zI+Tk7iU}Rc#Q`OR4&{=7QbLDvX+RmFL%A%VoY0|M9#BE(P_77&0Z@l>B|v3>OvqIr ztO`IK%GChX0jNW{2B0PYbtu;Y)CQmqeTKfP1E?!x^j$rnLm7QnU+7Rq-!%|Al+kw$ zg$`x(T_d4G8GYvL^j%}2Lm7S7MCedP-!&CFl+kz1gbro&os-a^jDBh^ zbSTRJ&H&V*jDBhXKpo2HCl>(fP)0ww0#JuC`pFG|I+W3O1b{m98TzgzKrUqTT`NFK z0LtjQ)&SI@jJ|URpblm9od*DQD5LK@0jNV6eb)wnI+W3OZ2_o58GY9dfI5`XckKbF zLm7S70f0J`(RUpIs6!cj*9m|+l+jO}0jNV6{nQ13I+W2*UI5ggjDG40Kpo2Hr)~h$ zp^Sd=2A~dQ^qmg?b?CE}fbIZaA)}vq2p!7kr=CKGGWw~P(4mZe>Me9Aqo4eQ4rTOH zAE84T{p2rnD5IbH3LVPmCxy_VjD89Lpblm9lM)ahWb{)Y0Cgy%pMn6WLmB-P3_u;q z=qD8bbtt2sLI9{k8T}LrKpo2Hr!WBOP)6UW0jNWtq3^;05kf}aX@m}C^j)OTp^U!M z3LVPmJDt#>jK0$g9m?ptD4|0ceP<9ll+kxap+gz{WD+`*0|3zg)S--iiUFVwW%N@& z0P0XiKg9x2hcfyp4uCq8(NFOJ)S--i>JLC2%IK#70Mwz3ei{fs9m?ptK>*aD&(L>+ z0Yik0z8eZa9m?ptVF1*jjJ_KVKpo2HyAc4?p^Uy82|yjn=(|w>)S-;N8x24m%ILc> z0Mwz3ei{ov9m?pZaRAhzjD8vqKpo2HrwIVmp^Sc-2tXam=%*h5s6!e3Gzow@l+jO< z0jNV6{WJxDI+W2*Qvs+$8GSbmfVv?7^wV^}3?ZYRW(pn3=%-mihcfzUw$P!Bewrh6 zD5Ia|3LVPmryqq5W%ScLp+gz{G+*dYMn5eOI+W2*3xy74^wS~$>QF{M{RCJfWc1Tw z0P0XiKP>^E4rTPyQUK~uMn5eBpblm9({cdnP)0wk0H6+K^xaAT>d{!I+W2*y8);}8U3^e zfI5`XcfSBohdx8!B>Rw9m?ptg8K(NAXps6!e3^cw(mD5LMr0#JuOLqDAZoEP$52rmFohcf!< zA^>$Lqn|DTP=_-5=`sLyD5IaQ08ocA`speFbtt2st^rVoGWzLv0P0XiKm7qf9m?pZ z>j2cDjDGqPfI5`XPl*83p^SdI0Z0@w`spSBbtt2sZUIn-GWzK@0Cgy%pY8xqhcf!< zE&z2XqwnqkP?rsm9gqW%6OapF3&;(~1F!?+1>^(R1M&k3015&M0SW_(0Ez;N0g3}k z07?Q%0ZIeP0LlW&0m=g^04f4xfJ%VMfGU8hfNFs1fEs|BfLegsfI5J>fO>%XfChku zfJOiZfFqzWpb4NUpc%jk&>Y|lXaR5mxB}b&1ke&72ebmT2Dk$}0G@z0fVO~kfcAh6 zfR2DpfX;v}053pSKsSIlzz5JB;0x#h=n3cr=ne1#^a1z-`T`Vy0Duw@2nYfM15|(z zKqw##paz5kA^;jdBtQ$$0rY?Aw1sDw&0~iY!2N(~S0GJ5)0Wb+L888Jf6)+7j9WVnh6EF)f8!!hj7w{us z9$-FT0bn6u5#T4lV!#r>Qou66a=;3}O28_>YQP%6&w#anb%6DN4ST2>=S%3)lzP4>$lg2si{d3^)Qf3djb?4#)w>3CIPo1>^?g z0oVcZ0`dXu0r>$100jYs0EGcX07U`C0LYh_K+c)~7l0Qa7=Z1LZM6u1KEZlm9li&d z?LYKeW&(Xz98e433g`+@0kEHA-~0)Hb-=dz9v~n31=|(d6x$Qq65A2m5Ze#i4$CYF zC=DnJC=aLzs0642s0OG3K)VpN0R-R!Py=wE!+m5W0Q=xsz&*e@zZjNcI1(b^%fUxc_+l<8gxYU;M@Bw2^9~3ZI-d zsEo${q6_d?nF3YP`28ctRFSndsFWsEuq-f6)~QPuZx0zx7_9%LVcY4i)0<@V>S^nl!oUT=Mpp+}J++L#)u6r_ zwir~wYIp|GRL^J%hPNC*X)<5_-UeAacs|iwyr%)4kcC$=L@>1>65iCH(>hyWnUsaM zgDA^cmh=l%n`A-Y3kaGuX{c%v)HI}FLzzx1b7<(`Sg%pTdJP>Ujuc@>bzmozF-$T) zi84qP65`a@(Wz-*aFCN@uv0Ttb5&q-CuNYMvUy;$#!Z?vYNTr1sEINK8$`T3e7u9c zrjyAW>o;m%-!XOaZ^ykmdU&Nz*y!5?sZ+F$HW;9j$b8_ zM$Md?G<9}pg6?aanjm%DBUTj@4Ue#DRE!hekrAn9#6Hm~S(hLa)Lqu7p>x9~&W;UP zd!#1#--~09Z>QBqn`H1>2bHO$YhFWtvV`NrBDXpZp>Z;k+cKKWUexK zaBw%3hVA6WFtxsuQmYJA8Pc;u20N_QWYB5g@#j!uawZ|W%G!1Im3I_xDoKwfNiUPB zwP;(6Dh)DJxyov4b&6nBh%#DZ!qwh4en_Y`sg)WuAOczB1BE-1oGlVqyptt<%Pk$O0YB@s!I^gLzqjn~ODB{0)o;M7&F_)f> z!AO|lLBLf8Ea_xUOO1pX9t12M9MUS}AL-CSXcl<9BQshAOhLj7o5fWo^?|S31?@;( z9ZskWH0m_bCKbHf2Hsf(uVo7|!ONf6k=pX{5Gj=!eVCGSr~bE&kR76whPc#h5OABMnuNtbN?VWvYLT6$c@%puWQw(}<=l0+a>HLGpPsFo?V@qA%nCPg}3$5qxa zMTT!hIAI3EgQbH5Cp0QyRs*MFMSDus#n8G&NkN#hduIY+d~yS=v@qHTtAJ>jgu#?9 z2r3>DqQWJmnoa$I(}H&4)*zv@w*)I-h8+=YQis4{No!tE6|n^{gFoT0A5?b~YB3c-% zR)#9X2!`<#KWm0BX;|PVHdD}{g_a*iRa$ncDixE6TGPt>s0?GFK^^i<4>NV;hI5(Qs&zdTyQ&~6JX!LsnGK)8>S39pO4~lHvgK2e^tvE3 z(V9jvs^C&UdOwQ}d9Z6EPX@<4tg;2iP(jFM>X~UFoSIUnyRW$Nnd^67gGR%WuOhxO z)Kvz3Kph;d)Ok>Uyt=E_TZ!l=Kgmdm;VQ@1@KGYa8*=g$c*E>%{P|c zI6vffrz9(wuUeBSlG+$2oOr$lKAiw>j@AalB}1JSKAM4TFMgKKu``@EShG&aa6ONN zmagbCT+bt+rOS#8*Yil|V^C_1YB&{^-1q6qxSrP;;4-0B0VmtxEMkaKt&ti8L(5kI z%Ag>Xo-x8lP2h@ktSVT18AWYU87w|O2NtFv)T@J(@PQSpxR@J6KU4 zCK05TSSvUBuAM|wIm6SD)*Pf%+F%8qcuQ@Xh`Y)xy9rSyQyC0!=@$-CY1iHI(I)v} zDUBVP`Ou<$IR&96RA*3|!XlIE?<(URH2s||+=EV?czJ_c0u9ut; zkId?%8=%n6f96Bzk(o=F#u&yL#iHR$9ST0f`v>?*M56*6$*vkohiS`(SeZ;s{6e%|WA>7t2j>l$}WCEOnd?O2L~|VH2V*Bn>rSahk_8zON-HJ3)Ab}tYcehVS3f& z-3F@M$dX+Ts>}vzT%3H>B-X5?fDrpO-q4Z;ACA}-4i17aP4n2EVu1sp$3s8Vz=xnT ztP^HhE2lB?OZ^(FY~c(R51Ozfi-$1`ZzjXL#_?tmb}&^0#=(RFNi*7gQ*47O!^Z+c z4eH>uT7>!V`^k`*6Q;Qr^IBUzeCeQicnw^q#gDncftj6mkq&uK-S6+z+(LN11{RO$ zR2Vz9rOR73!YkkrA83v=X#XK0R2iQ6G4~nPDE0I~Y(!7dnCV7j{1_xz`1Rt)Ri=qf zH+LEvfRLZINN@UJ`S2wO(_2GY;X`g=8gotNO3S;AurR#|jwQPty438$^acpa2M1tM z#ZzhN z=|3MOjbw0%D?+VTsABQVE*?VpNtz^1%YA6ns*I5#Fnd5(rq#-p9!B};>vU)BR`?KZ zSTf;vy_2e$T(W}D$o-bqOo=s$rE?qjuyRJHf~;s1w&SIH=EfRAcz8Ds7b|e?IapOnJ`kJ1(gwFOpwPPp*-U$5Qx>JLjzFhZ){e zg@l&f?fgH`%AMfY1m}k}nbO2k%VcKAo~?kDiV>c4QJXU1E>7HOzx`~5fJ9(ZUSx#jt#>CzGW+*~HS|_85MNyq!@8uNZ*Eu!p$`eNOA|`|5g#=L-}bx@o1%m(V7TFq%JsG6aDpM#8p<$ zqGbTqQQVmDb#+l=O)EpkhG`c*N}n`wHM6_QI(O;pk+LN-iebiJRggvrm!*u+A#hF3 zOvMGury_85)ZDQYCf2iXu`8X>u%?wWydZ3i52fX1s>(`Lwy2S9Fc-fggy;Y2-hM98pCozw){3k!(Hg?g>f3S5iSkmyAZWHYgSFtI1P6v_}>PQvL2d>iohHjE%NvzYf`sb_yLku=N#Azr;@_Yg=NDMHKpVTLFB zuu`>jaQ^3U!^b)B9>Pf2Uu3^)KolfIU&AP#~2+L3@=&2+q+X= z%e1^>^Y?JVdzzvn1L2&zG*V0UT7C#%ujNv}E2H^iWfGATT5e&W%A`!64;sbNTir4| z18dFT5E!l21mlxYVm!omr6xO-VRMO(=ias?@T{Lu)KV!gTj&S6R@3Q zYE;@#Qy89IO7oE}%L(yLMvY1t@|A7oR{s8Z2y106+@xhxr#RJ|vdR|mLAQZj7)Azs z{4dR?7vQ}j9-i{<9l!T&(TtEE*i+mxXExIEr$5qe++>7}EvhqGh`mMJJ^?2L;c9MZ zvNsmOnRXT2xsYOi%_t(18R8Xuz){Ag)ikcMUK!>8YFjcwb}aa+wJq<5W(&=ubPCdc zKnRbm!R;m~*q~`FCuFw^@=2hgUzkd(NI5sLd_08PBF&XGca|iI3I^UXHWn4WaDp@G?wqOA>D#E0b1PXY#B;{N3ET3>fl_f$vlff=l zC%X=A>AsA0%W(enoo@^+{n&h~jwIwY%KCu{p!H1V)(AgwC2q;csY^Uh}Wk z!eKAz(*f4_FjN^0cU4<1fW>ja(UXGP#dOBj4w1I~Bp z(l8Jj#iBN`L5>X0I9M|kk;!6V-kz3mOlQsD5S!8a7p$prT*elD|5_RQ4^}HKvn`Cz zYzyNv*TSreTq%Z*e?#Q|!IU_wmH!P5o5F^yR!-p#t0I1#@cviTzxD=nJf^@0WB6Um zom4?#O07ERUuG>H^}xnXaF=}MyZ{jiGhBkRyQ(5}+Ei{4t8m_;lF#bbuWuvyP1tBv zPf3x9TZk8F(s%+1H(E0l$?(oEYnBxmo^^1QiLNg>N^(+)iY7&PmEi_zxV2tq>u}%ZgxDHz<9%9Vgf$Pmz(pF-4r#n*!#WEy z__l_Xgm4cTR5?Xs3s+i6n8vupy$dbu-AUfj(g7B}W&)3EZ88h&O*EZE>{!6V1kjW#jx4k(x}z&DTZuE7Yn0|l=2!MCXS zYY8mnOzU81y^c30%wgdQZYEqnlJ?~c=CE*}XOD}Sr}SygUHOy@XRtv=F?U51t*>ZO zPN@gOTahy7OOIy4^d`mDoM}f=m}RrsX3{+rDrur)+0K{DLWxis`BNSBzmxYn2>DU} zJNazPgyyg7eLeZKXit#{(|x4mdo7bXj+qemVJVV4w3d+HxdhWqcmV_4K#?@b{s)9< ze_lM@g-<%GL#cK_aqy0zU>LukBjWuD{LSi(tUUz4;w()<2kQybU7T6BG{b9q>3q)3 z+D1t^%al9|q4k96d}P(SwO$6RJ!>sY_j7L65~ejZWS+Ec@d$Tiiwp76sA_H&@L`Nj z8>u#`;Egcsku@2gmnmXnB`GeBOL&mdDq=-UtB8;P_NU*ZK_%T#vLxO0sI@*!cRgy| zYBYoOsI?ZRb7Zo9Pf1N^UXNO9VY=&4i;hsx_EIaSSO6p+DXd$KvMabr3tVX(gr!+q zlPGgyyWYhk+UQL70vYdtD8iuwJo zl0pitwoni6cVrV0yn`I>8HX1XXz@;4s|nLvFfFoz_|iug8P;B_vG? zB^O#<<#gBd)>@cpYkH|_NSG;WdWkUIHNCYXcBZZAxrLc{jTs3uk&a)6%f!!$+t~aM zJj~mLzkE7V&WPX~FN54}IENo-px_EjXL<=pw)hz@bx=iEs!IC#E-%~;(Gr3Vhwb6Qw zF69m^nP*j_gsFqm-Ax#wrPoH&U59crE#Fh{W@H0=3OrdglZ%$OayY#ADmg%l4yzPX@Khp^raS1I7@c*&m3vAko$wWAQYt6QlL zOXWQtwYWhosECAH@HOg4>FGTnwD2oAsR>zYCo#IpzV{97{J4+H zMm#kv-trDj0(03=c$0uZrDPq{iYg~3l-{JDG(K8O2=|AC!MnzlTC^_tz1dc@GP5x0 z(?ws^+AK&+ir1^t+)u38m+=<)bjVO``Mzxa zlua1C{z7L+{S<@cRW`FZTTSp-t?ZiN4*$Rnpb)xw_0B1*kGlUIjztd z!VD(F)^wZL$n=h&%wS6`{2y5Bd8Pa|bf&HO(pP>s(wfmG!#n4Y(9(BR0im%=U^v`$!7G9`C;M4`2>9l! zn3-$7yTQ?xAovoC29BQWlPsx6MaxHQSo&o41ArmXn)Js9YkU}C)U(f`C2NW#(G}iT z1J?%N@Xv3APz7h~PRyC%cN8uEiXvP~5nncg=`h^KlWIv|O{16z4QU*qts#WZjNw~O zlKhrjvixlcFuTEzVM-q&OHPKeRTd^EgvnuwPo@2HLRj`iC#$|Sgc*Lx#~MPD0Y0>? zh>U}713Pu9*A7{F7|rBUy8jF3U^Cv+v$ke=Aj<<;9?0@QmItytkmZ3a4`g{D%L7>+ z$nrpz2eLen<$){@WO*RV16dx(@<5gcvOJLGfh-SXc_7OJSsuvpK$ZuxJdovqEDvOP zAj<<;9?0@QmItytkmZ3a4`g{D%L7>+_|JKOJWIREv_+Y}*M+t(M?DJGsD9u;jFgHt zuAlJ6%P!6wZ!qUK_ZFY}nd7x=esuCHlfxXZvS885{F~q*A^xM~KOd<6_{YWOcya1k zzhJ&0=D592&W*d&_oaBk$LD?Z_7zr1@fLq6Wp7UTo4Ud<^A=g~3Y5lhLiFV;0wA#n5w?hV*Xt`C@ zmBaH)q4w?EPbf=jTpVo29*?ZyPguOvV#2oDbs{|dTf+0dBAjn4Vf@8v6IR}pC4`mV zz>_e$V)GGh*FM^{(RKTLvsY6ezsLFO_-ScJ&p|)ud*enupBfh5+g*~jiVj?stM=d2 zm5dnQuir!3ba3(Ms%2rcVPH@%+fhbZE%ej2)@nCey!zdFwP!4I@vLK8SN+#&!s4@J zgl!KmM0onwgymnJn=roEjfC;n=|^~Z3kfg(JYjatu_4^9Gt?)lT9ddsKhPdyUbN^Q zF^zWh9=))^l?2-H?A@p*$NJJXQ+6zHX#9+}x<2{Q(vthBYl~WM$A-nzCP5D;W!DU) zb@Qm`g}>rxSvq6UE{&gyca^hKFHLMpSX}#=u?)DgxRGjMtxt9Lgik~p}lSQ$mA6lQSaYs%-pCcM7@s8>v8UO80~QB z{?l;}?o!V&+45&wwT#MVhUF~ff0j1Cp>%R?aFsU7Rc%l9A7xZ_0P0?=Q@I>d z)ztO8Yu;5yo>RvST(B6xt^jsAZPyP4yd$)Y!d)gx=dtqDm>(r;? ztZNZYa@w`Q^7-@6&!inYj-5Vs+ji=ys+o7=v;^96*|~?x#0s=&{)jdseb>@zZ$8~| z+4ZAKxW_Q(@e8vP7XRf7VcUBK6PEr)PQvm}-%J?a_U(l6Uyu=A-c`cN_ZUl+n*dKEd9i}gyrvApD@1LbqV8tYeQIh z+p-f@{>BP~*|o4K;dZU0ih?tG4nCYnm6bzi_TEdW-^pDIPd}B@o`zZ3w?{bB?m4o* z9Y3uY?K;xohmO@-(T>?(cNyZofV#h1S-7NOFm3VRO$CMTTUzIa?YcU%4!OiPyz{W_ z{8fa-7kCi1y?1@W(wpoF%kNo+aK6uk^PeHSycdL*|B5iXj*KGQt~b)SFNM@~;G2_| z+gGBV>w3&Qy)w$Ich>peoU+UOX%Omk{_i~UjFfPelq#_6=}`#Gw5JM+@Ep3mEEzIK(iIa%XTg&$|oHvP&sy|u@e zwsG5C^5H&r+NMI_BF{yWXq%$v>&Uh?74gMld#Ff1O5{Jx`F^h=_`8ep5=HrExn0Iq z+^$xRw8!m+pH|lNq<)nutb6u)FzvqPX*cnMmk(_obb2hAM!(p`RgE56lt-4IRo^o$V7q_Eb589XBb$zmk`-<%^Mf#N@ zzgF;d6a0&Kc@+wY^3MpnrU<(dsbc*4B2x;zqRMg=$6ccTlPjujR749kQ@}NOO?yfUvw$tE+dHdv( zkD!4Az6>7O^g2~8Z(989{>wDrGtINWF`NbrtleVv)K)a0e3^+yLUdHIzH6P!Gi<1$ zYgohmsz+2&w)o*X1-em%UFU&n_xmEQ=i5UHi}Z4lf2QDz7W^}Kc?Sye@|%?vcD)mJ z9igF(7OZg2{|61Lp%_)JLn9i}lD_u&`)8^O_vk(&?@$`NZT-jrb-&Qy>dSxbdF3z- z+O9lZE#fE*Qnd+;4VX@Y>XmwWWlAj?WFH*xgI-C4vaQ_Sx%OZY*Ng4$B0UxPp?t>o zp7YnMFUm_0<-g)~6{s%kil^a;bGJ;snv+KCzCCKtiosOb65iKmA5Sm38|!$lj8M=6W`xY^wt_w+ke}|~D*bsT4Vkge zaplFHBEDQ~*NgP8MgBO>_qm|pKPAe0%gYb-5O(ja&8D8E3p*{ePnm47&md^N)KrPdG;pC`6|NHO#MnX~#rgYH+sMGQC^}8g>0@ zg~d}&(x^#mo6ZmWK%+X(dSzc!PNT~8)_J>4q560CdVjv(nCfr+IV8sWGS&Zne|>=k zdqwMruE}{o8Qc!K6lo-65~u3?xqKQ1<-n!$to)cpK`scdxoy28c#Q3?t z%qA@=>+ zJ6xOYN&L5En_cwS1k&SVtka*(6Nz{C`_HdccuBlE4~QIlZzSm$-`Q=a?+nszMeWY- zP4!5dgZHkr_wXd1^9GUmjSCacf=zy^`8ryJqlCV-NVh@c+rW8xv=+PqIzD=vVV}y-JCEA34w7 zAi;Z6l(SfrJD1zBwjH;tfG@-i+UzBriK6+~&SP5dCjR>?G}r595x>ah&*#f}lU})( zzuKjqMSQ=QB42OoL%K)wIy~>ePU6%4>6^+Y2NCb7i@qrG*%I&O`45hLd{2ab3w=$I zE`jHJSV{0~6TDYNIVX6z`u5xocZINP0_l5w$g$CvZV`ol;;`6tWl7(i6RtJSn?U@# zF4cBdP9lCwH*MY*c!l)Nf9P8I`yWWpJ#L>?-n>kD&aF_p@ysv>0@e9-kALg@f+ZItpDper1!4yL;ETh zBfXmq8yGm@H`43%v-8zl>xmH7r%ZoOr0Xm4jp95xY6{-Pyqp>hc)3ff2|J+wF}p&E zLU-zJ?gGV$;%w`yRgWAYid!d#q09Rl#*Dl0F}1w`^~CO!}PccC4DRs0gcZy)maq=gjjtRuDYn1n&r5&VaI_ z+_&70quGUB^@-xNvHi+Fs*!+_mB!`0Rf+_-Y`Z-7jSUHCdv=+};$jfLwr1egq9j08 z<7AKJgNWko<=6eLo*{~jGe;GZy&;PJ)&5vfYbUhJ%J;fpwFn0b{XvoLg~)eZ@I(vV z8ls#wqTGDKj(Wl_M-q^8;i3|;u$_#Vf8;L@5-@FZjqa{jNWeAEW5?hBPL#GSOr>cN zqAYqt_F}n`nn=rA(0P4 z#&cTmmJ#J7igFJLJAjYb)rj5LlCT zXyh9@6 z)#G4VXpgTh$J`=>hjR(n-y$sC=^BLP`*4tOp5BD<8XFQ;&LBU+%B|d$FgvccC)}=M zwC+CF%KQGRL_NCe56qr$g|`1|cax1D`qFm2ujXm_`aShHy|8Gp(dVgrZ^d<^`yQt) zy41WEek%`k?0ES1#UUMN^$+tL28U0h1%{8B{EloOER;tQrjIB?c)G)c<-1*sFdl_1 zVZ3A35mwHdXM~meu{~jSObjE;uBQWNF@02zsIrA<o=nzQ|-f6CMow>2A-eEoljvZ)4jHiL^@4m36wcV`z=rO=I`n zxKC?Foc;68aRaS(suSjeQ36Ce@Hi3!mSN{^M*|z zG~0{NA0HmwNOK>XJ?&(RvQHgT=#LN^Ql!DNCvIMO zNRa};<@5*c6T2ogmX)bD)a^}>>%)tO5)-!ePHeC#AX~!Iu%iQ446;dh`RAFRelA=n z;c2Bl_fI@cOt|E7efYAM3O5#RU+Tv6U!2@nx?GdpSiY&*+>mGU)6WTvcV|n=%h^C# zxrcX9W=GpZ%Is1MaeG#H)|HQ2Y)Fnh3-{hQ7C>^fX#eW>hDu@+Hg9&}p)MyVN_Lx z8|t??5I2@?>0URM@5;vnK~6go7woA?#Qn z?Ak}8tM547q&cO=6L~*QI9`-St-BqRt@JNczjSEb+`cBNdm(E&a5=1-3--Bu>roe~ zHM}!aonMe@^E`-d;5m*)9-i8~X2%{ha`|LKVw{%<{e*siNViYq^AS7?1n(eG&T>)i zGhs(3ZkMwiHMW@fAm@oZ)VS`&Gf%hKrMD?G2%e-$6>&fWb zOLA_QK=s8h`sc25fa+FEJ6 z!F!mObE3Q`cMP{Ooysd?3mtEv8n@q6qhFQR&7%-Vs+c2RwY5xaizg!M2BTL}Fz zk#4uh_Z#OKmrd}_u!VB%~ci9%DhR2hB+PQxwN-|9)FN8g(S*j#tgyG)ntq^|>lXy zMnx|PtzWiQQpof_iF7wbz5{}%rQkg-%4s6Xh4U9^$Jk=RuEx|*bN}MbcdApvl<sieSVE=T&O_}348Y3y&FRfKMtz8`4ManU;Jc4m&0&AqSDXn>n){*B6f)nuV1B6 zZ|c|FFiuUQ?&lduet>??!WBXvEz-Rc`A!L*_ky>TC})u~~7W2Vx`|H1&RAdP?Y%czCdEr{rFkADi*4RPR(BH7{m#0UlA<*^q zzG4fg!K+@8E`t)O!Sk}|(~#aGR0;iak#4KV_ek)}7raVQ&I?hlpRfb^AG50zHH`G1 za%WsFYFK)x_C$3%YM|bcZ5KsR!|{P58^}LX!_mzXBL|;`dfqOz-eEB{Y`l8bHBJ1?gd?7ytse!>p0 zli5`k@;@9hvlsYj+vJ7i>U&bdsXU3}s@hP)_1HuEWDBX`ey-8CE?=XDhhD4mZthDB z_m*v&v-k})+}wNq{9Fa3vmf-c3d+4EAKKXw+LMKGLVsJN^A`Eu3Lfw;Ehfr){MMpFV*M%d9yLmo zoin?X+;o*Uh?e zrE21(@!2oPm79DoE&279JYY=rqf5h=%li&{*vIwx1$mzdUvkyaw3qu8YvFl!^?iBo z>>kxNbt@q61(z_c8uH3}9&h6v)2flY=cGBb^mBg^s)W9iNGBKhRGeo`Tfw`9m-7NH z+puzl9j8lkyK>me19tb8uc}m8u5_=wv;XHC@_$+yxaw7Npe5uq=wnyZCt}CYYjqNJ$z3*=JAqf@ay+l;N`w_NqDU;lPeW_xdme|StZ6@nqoV+3LGjYwxkTtL5eS9u{ zto-CR5&p&XKZ8A(?o>XJueabi!g+@m6y^Lb%Ka$pSj+8lDkcvI?{0gr`2=}D;*#~+ zA5O{xo}95M^|qlrVEz8#dzXBX2Xvay>fQZ!a>WVTfu)D+lPikaZ4SxzOx}0+Lhp)W zcgy=$zNQ)DbV2U_BH-%k?8`*BROsLEbmI!~eD>W1&oj>Z0NM}BSz1+;tKxP{$|3C9 zAP*RRddiIz?c@R1^4#d%Q7;d8wW9A_c^P@Y)sl)kN0-S17L|6IAqRi@kGiPkeWGn~z-Cvz4NW z=X$v^Jb$T#)edr{&M{*3%T97-ME7dPo~)HCgX&hOc(0IL=~sAC^;$M^rEjCH{ogke zp-YmUrGxD(-wMIgS@1Rzm@)Gr-3jZ(iijD*2`cn&XaZf8F}>Q%-Zde(^gwtGmoH$E*G36uLNf zFLS(H1pTyMJ-{5d&-41(^R7B6zNgM7=hhMB?W8zi+r8$Q<2-*QbDZQk_EAM!^C z?LxD^cWiuvwsUf5^1G`IZGHaDnGY`tP`5shdynq-fHuunxk6lFxUTX`bj1hfJ!v`r zFjBedxIMKG6f3%R^Z>%+RSDl-k?{0~2+#k8aK74v^EV=_ye1V0FMk~2cDWI5S6!-f z_N<{hG?fOcJpE>#eNOvyFLP;3wT9I9;~$$zGk4l;@b2ep3;sYmd37jNwNz*7IidQV z4~4GMmJzRR3|df@HZcu(Q-5qTTFtTbi0u;x?y)`A_1chPUWCVo5x(7(@bt9^&;N#S zzTt%PZy~%qJ>lgC6K>ZA!t6R%j0VTMR^KX)H^)9^wq zt9tcoNP{k)Y%^$i3=Q}-S0%^C#i`#-k2+r>TT6Be+1!t#|h^*5ni4H z;pNXK%&uYe3AZbdhJ6Ux-0$xKR8zFtt~vLLP}O<;rRa)A8o2%E)gKC;rHb$}-u`X= zroC2m&2d6glKRy1z4qdyJ?(U5X=3%$d1&j+XX7U<2&axS=8VX_Wu=Rc>Q%k9ohK3& z-|9v9_WgvX4<|f-OTzg&5ys!vh4Av;5MKT~!tHV*+^&{1d|7qfxjGMN$CTy zp>boM<|(p)26xF9d-KCXs%%vMko;LY+NX1qZl|WbpuVabN0)B$qF&2wVs13rKt1!f zuQ0Iq3)i%n|ts27OxAPLVy+kES*HmVYu~eA62d&aWn{ypQ&T zmw$yYyXqDr+^%6%Bde9rcTyPDwV#v_=&q$~oC<4thNKmv@b6 z-^E|{ZD}~2_VnNJN5qQmv|IfnuOs?Zplz$q(0AT`lRA|=y3KjoNtd9Y=h4gCv?44% zqYz=+cf=E(KAiCUO9|(@PB_0W;pKfIy!^d{+clYRyXMl!@old@{$fM*is`a3c8h6v zr=4pI`&!UY+b$tPqDIl69c7jse_fvjgtmGR{>y#ZyFt@V@o>MH_blIb7h-PE_Jx%* zOB8NOo%1w1b-U3xm#|sCcJlb(L0H_e3SrxeWFstnKX=0Nw`xKdUqUg$`Fjyw-p_=W zA56GibqTj?C)L@EDl@5-8;vTP_q0~gn?@w~EqnXalZL5$*S$H{f(E~Bd}?#!FI3sT z^bZxPE~b9Z$Jeblx)1ev?7HMREk`?C>6s_!MIqYaOyHk66W+M!raTz8`tV1>;(Pxf zZ2QXsgr}cNc>d#r^PMA%zexka%hM2EzL9Xdf(f@PQaTPuA?-A_L7nKv^{MZ6Q|{WM z9nAXn@!eZ>YgWV@Z<{#c*6wZ{lj6D7Rw{h2oH^d6-^+0gY?JQ$Zd0<#ks=P}57$u7 zb4R;Yzj4K!-gEhragSnblj0Lg?p+y|Hz_`1>D;+TU6SH#yZLz}%JZ9#gM$C5IXy4m zloV(7nUA})EwkUvyq(uC={|K{|Ayx6+)o|Maqh3qRB_tYWBKN1H0WrD5@ohIP``(r z%j_NajP@=Q;amRYI@-&2;N<<`v*5nr6%!owlWC8ulZ}NVp3xqo3MzjYy@&SboWIS1 zBeiLddQXZ@uDp)+s1jB7k5O=ZVDTMdyNgJFp6A!(5qx_DKNaPj<>e28`+d=_Ed_;L z9ck#}&!75s-A*HF&+0$!^b^?6&wQCa`Bxg;P4{g7dB$${_K|x;{Ds&)SEPS0@=pYTcQ-JDb+5g&QzAcTav~|R=f@5f8MDb^b=Wn19XQoEouQ-5) zufBI|A%hu2^UpjE( z?N%bbMQnd2(hm^%<(zL-5yAgll($%ve@@s1*K?R%^Qdw3kyD@BZKI}Ty?(V_(SsUB zjQ>laUkKL?b!|R(IY^^yr&O5}?nw2c;wCOw4EN1eKei20bz;G`|rUPE=NRV$_+ zDnWG(#@_F`$BXL9pS}CLb43yFEwESve%l|>}y%GE!MR`|6`8$POCxu;F+OPSF zt=kjaXl#A2u$wo+XiU4S#ly>XrqQMjPh+ZYq^5nQn!6Vrrlv-pauunXml_Yqsu-^P zM2%6Mew(oDFKTSwsYRPcCTc9T@zAA%b*VA`mx8TkK*-__V*6m8etCA0e}~|!E%daZVn)AGDLx*dg0*PdXn@ z``x!a+OA(7+E05w@kMk&+OO!V96fykY0QN@36pZ2r7;`odymjQr!hv3zs)An*AV$H3cl%_-_@3vw<9MnziA$BS3z50my8areX8^V zx65?sgkQS!mMx=04m@5sJ<>pjC_0xs_{(2(NDg_Oan2nf{W|BUi0O3D-D0In8c)(e z!?w?>6gq+qa?R$y=FVI?sOXvHTON7RLAH(S)R4~>@y=rVa*=+X$p1j_Z4~@{czFpn zqWsaquKU8SEp)h@PT9RfWjZ{Zv>)E&BptT&!Jf;X-_T*L!hUTzJd6 l=t_4;(^ z?DO5LPjjL}dpv0nSEvacTJ6|S+Ppj+nmwq!DY7sf@+9E$UY}uf$lVD2q{dT3e3aN; zN~EtT^1BPZwu0YPl-Hk^|HWR|)mYedl>{Dt8|Hhm7U}BaQ0-8~HN@k2?amX2E+H*P zEvqqQ*j3{EzFVc}rx!`H`kitF`^+Vc*Q_7ieq;sWnA1OZAb57pwO}a*$zgneS2l)GQpF<;oVgXrFL|6}6e zTqJVurnsSt7m(14#l~Lv;6#G@Ug=q;bU6~xBfCra>J3Ssaq|W`mcB!JZQH3kykIox zaqgg@#+3HNclGH-Umo`$zU7?{uMIjR!c#)87U^O|zH^+XOjp6H6y>xQ<$4J__6fTx z6J0mg3HJ43i1vPqZY#4nk%+e=`uV{UI85Q9Dp<8PQ3b>|oe*nBg36t93;BILQO4Up ze>pvX1oW;N-zRbuQFI*s>u;Cg{^f-$D(E{!h%jF0e-!C{6#2#rp8JBgnJA}|D0h;u zBSzS@kZA8reOzP91fp}FFm3cnTN3$emp)~}jU*z@XJ@UBwTZgOTh}dnXOPf5TV)A% z+Y^;(Or@}Vi%GDzLv-=keM!(VsG0TSsy&TYu@U=p!j)3H>{SrT5- zX8Xe`b|maz&PfAXRE*a5PxKR4l4i}=Eb?r>9-)j(EaHo2*LwSjIab%taUT!3Ey5HHx zDsQ5R-|w2^pd*PG@}+l4m%AkVmo>vm`cEL?&41Z-uhl%Fe!Dzp@Soj8*i-12iF6A@ zzE^_BN$~oKatxx}X2K4+u*;3;`jvd+zZ1gWRn4^h>k!?O{P*52m_>ApW|W?mGmPkp zkBZ-2u^Q1v{XM>T3rq zh$s3MKX+c;{5{c^-*wP_3-p8Mc{`OeJ|((Uz89)g&z>WT(1@+W*VGQ_K~>}X z{W|EghAJJe$Qz8gO8wfnugNK^O}jfs7nFqt(k@5y@0om~EcGnb(W_pp4Ry}>_Ri}M zCR(Xc8Rz_uDiany*hZNC{dvOD^*cm(zEXtqcoNRrm+*4l6JG8N!tEG9xLwt#cdz!2 z%DHQ3@Vhf(KX)z2@1fFKP3>3wP}6k)O(rzTbCo>ukcpEyD=Y`z|Cr-6_KJ#S+frLKv@;6Jh0C zZAo~!M+mp0C*gKoqb}EaI+qA4O1rDB-_pd)q<+~u+gDc1p}jOu{WoSmNxNS^x#?J+ z)3oc!Vi%v?J3%`H+zF2iA3MZDuur2VM5aGpTG8+gIO$Y<`xy5GSv^2nD5jc#D=aqm*q(`2x+9XN32 z>6Ngo|BXBumsw!8=vH-1VKErVX-`d^atyTGQp0a;l>w#p*30gvM-y6$8wu@ixk5Ny z65-|!5bEQ+nQ*=>gv+@=Xl|1lp&awW3FR{UTJe+gx-9-74jT0jSM6$D2V_U-n_mWP zu+Xo(PAtkEOuaQ*n)5D#$))7Zy6N}9D5U?9i9JI>H(I?`|LQ-WKITvTiL@>lwIutv zhRJF|tFZ#%`i_LtDHA%^-Ap*2VTAhb-$}Tf+l1yC8W76SmS*@b*OGn_WT5?zKQmwL ztN6a4(rWXjN|>S^tCn%Y3bb5)rTZnffX>tDL(5d#KzH5T_j_MngLz<{=l!`K%zo!E z*5=YVnCw(lW-V_7BW5lA(mY@;p;c@hp?$fRgzCxy37zXLC)DS~Z$f=1JRvkE)soQM z>wgR>#})#V>s=m^Ev=d4E*ei1-|QZ2eplM?^Rxrvr%S{^HhZs{-9GmE@{4n#^cs0E z?e_j>O8U|;t!?hC=8czN(yjEcrkHCm#z|73w$6qt zzu6_L#Ym>)RlMt*t^Z6V8l)RzQ%BsJ4f0R7{aTx11ah4Qtp|c0gJk=g<1c1xsQ5hn z*J9~~BMoWQwaCRCTEXh`RVS5{CTGjX84ek#D_ zj0Z0F6i|-hYM@*>?Dg8F$6ic#iX!qGUi`3$Y$1yM{AG6*N)g$CR{Dc>@yOs;Imv<9 zm4=^9O3tbm5W~BcuSR<;iLSUarl@qtj^7mzKYx7o`;Az|)q}5&1z3S0t&(pI|Ly-7 zscJ}d%b5x~=OA7|ee&yp`lb<}IXMkLbBoyL=U; z5AlZZ8FHmVC2FzOV_(4O_+mI$hCWBp_b8XMa446%Knyu{AXf*(sq4j!Ugrrhcgt3H z&pHCpC21EA-I9l>!u?&h6u(21_}QOXPUR3eey7iJD`kj?`=r<0{{uuQ2ddf6I0u^> zLk_(4YlF=f^ZJpYa#)qI{|R*s+}r>;^jVC)ja-hBEauKcj!VcD4KYlqWa)z@h$->? zZh^~)axc|8yL|@ji6RSN0(SuUbio>TuRAln`gU0a?rE>S(FFAFHyfi3kpI8h; zZdkR(c&8^sGM-NU;TBlUu=xc{vrU)Dpso(*Dmb6)!RVWTIZl|%{yk1PRw35}5UEt?wra$K z=;`E+;Sxb0`qY}bB{&*H$EFzzEM!2W&&w)f-xrL&Qyl1)oCncDr;XIY-3 zJ(J$v9txtSHv`PC4FS>RW{sHrS3nf`>wM@^FA!<%-B>it4x+n88Jj0hh3NAe27Fp1 z2hrO$OTJrZ3(-;iGpfC9u&%`ZD%4HDIZgC&KwtKC1DbOmb4MeGGIAw@XqH^lrK13% z?8T3IZXE(q&Ew0f{G32kt#tqN%3~lZSZI*jPzIvl^vgANQXpC=XRohY0-`aW7M{8x z4I;7OYOV(VK=j9dgkz-H^MO{gzCNdu$GJ-Mkwjm1O>@{vbA6D5^`~65AX+mi=+mNC zAj(y`=MP~Zx@s_CGLZ#Qt&PWIrQIO9w9)jasuGCyUrUwwIUhu^=k3xI+(6{*`JTyO z_j@(Tl&GEsBFkq!6usRF5ZKM>vh^F+Is&Al@xbdc>{MD`?bcCCW2yS4y>N$M`XByS~`xuQ$PJhW${~ zO~$zv&gbr6^sUF7!d%^2Lm2i$#=YSq0;%ZJ~T_;RnW}Hceq)>pR9{=byz38+);S z$No1?XUg)>xu@uJAALV#PA2A_M-Efua$*9!Rg@%FM=}AWdUvLdp1|iZFf zH{5=~je-WoFJz#RJR@Lyl{!m`=1gXMB)83Z`|>g4Z4vlkWfPCtc=!DCLn&3v#vNMw zj}APD^#u0sp)QV_dnJxO4(MBqIj=Cc3OUXo*K~%*ADwVSK8^_(yijqOyc)y%;5y*I z8f%6p=rEJf`NjBOyIMO_W<29}bd~zEJU_-4o)Nw8ueG<@jDVM`upUvg^BL~~3Tv-gy&*ijv-f@Qa>hyV8p$^0A zoqEW6-baRazFbF6IG*9HD6g(F`NQ}(dG!nQ-NN`!G}vVqb(QhU+>^YZ_Z#Ck=Y(s^ z<-3euKV?QHJOXPB_MdXP&vH1|h(6hz??M^OnaAa74?vE^$W_Ad5-u)Kn!cUkwN6sr z@Xv3C_v6bwFAr6A-MA@!6{|b^VuFXhAH#EbKFV-~GQ%66o%PMNh4FtP(cU~_7~`Lo zR^gqnoAKXhAk#SDHr590??atD&UK=X68Z*U&N|H1;5eE`AXhHKJFW54V)7G)_s(vh z@YO&jV94j&XYcJ}0tS2=+FQatzK*!ZJ(|W0@3OY9N!v+=w`;tow$coS7y6-a$P)Ja zaf&Pa@TZF5S-0h%yIhI&GWM^a?gY-U`P7F!ztES<8H>56kYglrwXx^rgZ1--+2jMGQ5um{N2VU zGrSj9zh3h;V|Y&&n~6=fz-o6R;}Q`oP>fSnpx~0P3=FZW#I;L0>t{S%tZN$f1HjE&qUD!RyHHb02~GlJc+e8QI`$Hbc61{d;hz zAG)upMjz}Y%4XfDoB~$eO~pm*^(N-0=69ulf#iE{;m@ z_(|w`=>@_a7ZFY$LAd!Q!ubUe&VM_hdCp@AmtRXLSL-N3x#o=mziZ$84jQxfH8{7& zr$}7~Hp=Nl<_xd~_tTr+ynQksoGS*eU32XcIC||Awfas2d$IO;BQ9EimC}uN6~pcTXI= zX-*BS395@4Y%c+}Asx1_t_xsswzAmwhs$8T3*_`uzpuaX_142Z&R+>#&rT-v_@n8B z(|;h`d?KNKT0;r-S5+c3&vz){@*fe(^<9o|TQUOj&)HZx@)CPM`r{$X`R>Sgb*PdM5m<|T+ zlg8I7x9IcIirN)!MiaUo_npw=-g$)TCpi*s{sEzWQ)LMCcVh^b=R>%B0pYmb5RR)6 zg8r<}dS~znLRY!nDY0bl->|1;Zp&>k@C$R*IQ4BbY`8V|e%6csNS8u-kr|Z63*`&;r!1NF0X{p{MEAv$F-7hTow>INq5S!z#kw; zsdCgacYvUC+lvogy#N8^y~C>u>%cepr$l1yAn@9@JNqbaHMr)k-`~=d0&7=^OV)&2 zfo)ub`WrJvFo}pPl$8(F-*l-v>s!=!Lf49faL2zBs^2`DaPvP1=T}2G|4oF;+eNti zZbG?&<`Rx;JMiZvJ>oA=2H{@uENijt5PZ#Xnf}2~5NPbQCV$i=@OR#^dg1{a*f{;U zSZT&naO)iZeM8q0SZ6g^?3A_(*gd>Gdi{+3u&_Z|v%J+>KT>qBUezUq(De&5LXXeP zAylv9M!5M}LjAVc5zfDgaCtq1=I75O9G4y8xa$7*egA(I>@{pRPU(3G&eDD)W#5XRkc!`y2?cDIVB$=I!76VcU#|>L}8w?9*ExtiQiV-1+a?;X-YY{NMX?TTjnj zI2ihVE`qfLb7$>oqdvV=?+Ez?&V4_(z^bcilEIeD|LgegzBM<$=Y^ml@88+ zgRRnw>cH7U=c7judp!qTH{kJ|sNaF}pU_Vm{n`5@)4Uy+{}j2tB9{vUe07qS${zs1 zo}+Y|lr(^6VXkW&U!)kFlH$fi;5r(Qr=y;|KQW!R=KQvfK!0m4&tw?puRtz2 zEm*f2L>R#_&c=oRyu?#t=PUPrauI~k{i`}yaR%VhF|S^S`IiL|if4pOB+p^f-RZw;jZZ*W#@Fk`DIOr)In>?u z)g%x++S6|Fc`gXd56qQ4!hXMPHO`)JV+`~+O-UK9N+(BBaAqA;zAFne9? zxU$JtZoGlWIg8rV66_(upL+Yo@Y3y$Vm}D)nA$$iXFPx~o*nNoJb>AC=qYjb*837ltj)Q^3?iu$wff6%-*%&$YP-^is4 z@xKZK6;y2?A@f9s&DI?dzs@V6W`+^OUC-*3G^~d>{eqxPS5zVPhE&PDJaLHil9Dai z@&IC0s+}r)ZbHmEhv|I&Qi!QPu2PWT4lz|N(^uB-!?hP4w?+L!oPUmfa_Fy#c`cZ4 zg8b};D^!0iTc}U1v*Pm4X zgoOFQV=YtT~9Rb%aLLj1*cQwhEq#OIEX40%}z@fnR-+L@BLuEOKXQU3tvi#fj< zY4lgayp5P2gj})6RSButri(*bFT$27otsrGdm**o_gjyMBc$-OhX)PMhUAXB{OMK= zkR15#_60XjNFMo6am!SIr0Z4R8fBy*DFdeL8?+0O0!=gvin<`l^MP#L^@q6b#^ZUY zSH}7O`9-4t3(Px$`5TezI>%)-fcWT@wH)pYV?Y1p^w=kpE)uJ-*6B;O#u4)e>zXeP z8%7qIMQ(blV@w!7E0Z-BGzn3RkB}K@N%Z$jth{$3nJiGat@1{^l;}BGz5DQky{|Q` zhx+=Q?l{ibqK_T=#$e7Q%uPd%%gD8hgz4Uuj<6~s0S=RLPJFyUJU@?X3ZH0BT=-XZ zk8MsSPA;={URm~nteG>&pp3mQ_{t6Y%iDTF$%^f(IxIHLA$B1a&37)b_oaSYw)$&b z9@gF1e~LPDoJ&Wa63%zI2Ik~p?kePHK(3oaAhuW`W7a?H@1NWJle?-(K>KxfL(k*H zcg$fgyPK8GB&6R$t^P0F zNTB8A>wjL06P~oLor`(}@hNQ=+}jjSHZCk)bnZnj@yhI6%7`uz&p1!phcYBK@HU;!4L*KiYqky?#$dSNtZ5u-Pa~y(mKE5RUO=oXRl^8-oU0Za- z?i?e*`I5OcJ;@~S;YkO{pe_<%p(WcB_>1tynPz+3${>D8vov~+k0!o>r5kTg5F@Kt)!H%aKDk>xJEqe$qwrpZ%129l6p3&!7?U_?UBf9e0@iZMH%Ae6EhfgMg>Dsv$dd&&{{kwC1m)Y~RRJu@6-GcD9HjHjBVIMF5 zcS%vmaja*sKL~YZIMJ*#^-+pTaw zBN6J$=f;1SNQ45dPv=vf5Mfe~;8N-bBHXm2$K{D05jr*Kl-`*~gvO@4A7_>kp{CO7 z1G$5+_Q(Em)Gfd{L-cuuzPB)E3g$jS4rS!h0->_1nZoVe5PUz(YA-$|`F>05fL zu%V^9?(x0R;1&lBK1a60y6$Cly*4JW@^#Ma)_beKYR^sO4%b9QHevv$(Iy(iz&7C8h&q~7i-XUBLdp$eNH6a{FGU2!Y)+!BeSNQ4+{)rv# zg5|D}c%m6^_9HTnJ@rKkR2 zA~$DNzb<{4Ze&`O8J|dKO-v_T|1{xr<%FAiOE{k}LVb_UBwWr3!sW96ukbI2-ax`} zm4NB_r~9vLod)X_bF#c0FMyks>F0|Z^uSeRQo82k6j&eV>T!R+BdodlcE!@>$8P?4FxhL&LA*@Or z5&gM#6ReQj<{iP?1XdODn~rRa19LV1+Y4@{fWd?+Y z3DwmOBy=uq1mS#^5bAqNkI}|m zt>0Le94Z5iUcXD1-+chNhEO3nJcrPFG?>tSmk*)3!{UUSdrLTVkAp7f{l&5U5ygcWDjofp8I zb-hX5)!8s7bV}0C(50Z>yhxO>_&7|mo^kQb+;AAas9==tr#3?C_u+*0wLTE4Ge1x0 z9De|zKG&xZ>RY~^(46J1Ky!zP0p;*B0?KuZ5Y^9~VsqQY$Sk){>}QemBhws}t5csg z5QTC4rM{+>6LVv^_^tzcW ztE^nDax;?5vQLr74^kzw>fZgbOs*u8FFgNe?LmFC!jUHa>pBqte<<9A(o^^i=|E=9+ z1%|Yr2NnP7vZd}-(7Cq&)aP9#P+!N9KyyqQfadaAfO2@X0OfMp4;j0prseiCgXCo+ zgSU z<%7eIIv{nP%O%Zc<&b>hZe8%~c1YT}JyOMHA|%$GPv5uc4I~;K@Ytp(0|`$}et$co z3<-OMvzmgXAR%g>qOCCGZ>4?q?`W!Mj|0*S?MmuXmEg2aresy`$9b2Z`*_RCN=4d+IqPbT_iaybPZV&}mLpz6>WDE`1I!E{WrK(7n%tj|TvM;3_puR@O%HrJn!O*A zo_}>1I?Wl94j36MA5jfSq7{4dqzkbg$9^5^JaFzj`h4Jg_sC+76PGL5A2}W(*E>j= z7|ic_9}B5N#yUS3yaQ70c~ZC3oA6x`b}U_t-U?Aw{ww*SL5GB!7!CN;^@7wFdizsAHceI`<8IzM$^{%=wME637vQ zT=|f)b>wE53VBHB6>nNJNdT#uXU(O)>p`mFp$=^u_H~+RnWp1hUqY(bzI!?s*!{f! z{`u#VhLCdN4o^^@1u2;UA1_%rKuX+_+!JQmSabjOsV)QOSRU##9({jcP9x@8AqTs^ zlxqN_Ji5G?Fb0q+xoBGDHa?{4%9_3P3Wn6h%;ZyR;~>>6p<&y*vyiG2cS7daTS%R_ zRkFcj0HjJ=d!0;ZgH-WDTCX0Rf|PG{Ro+Lsxq6iSdZhgesB6YK3H0ef-ec^&JT|;)5X7wbJ=Gk9}MLCrizX&qHePnbsXMPeLkh zvGnT)U6AUvBRwyY{XXDqrqFyY9#S29ragaCkM%b8MVyZPdZu#^2cr-Byinf;%xS`0 z_BiEGMXtR6y|3|K{ci{U+kyXf;J+RCZwLN=c7Tb}c(6O;dOE}J@r{j|`m?jf&c$xXb+ocTezR#yY(G?8Os4!1){7c6FyuJLQ!`B#p-Ai3PW0DxZ zABUQu9sKx{Y%QS7(Im84^8s#}> z;YWt|i?{!XfW7{c*6Y~+jJi`er;9!r=&Q=*WGi5e^^ z_&hyE@LW5lGV3f8`b{S6y)wguM5~pYKJ<|Z_7odg_SK9D+I8pA{3R+((9nt^V?hoR zcxrr|asTs7VC>AE6D4w36|oPfE5NzA=(C3NJuHPeYccmWa@Zl)PewTP;LdHW5sdKL zc0aq1FB#z)r7@uiNsM5e-I`3jtxV{P-UTjCo0*X2yMxQBO_&gc4U?U1b(!FVwK56| z(wShjEF+T#HB8ViEw2oFO|0tJuSMN%oLh=M_UPM-IfpPeA36RY*EU8_YX1C8W-=q( zt|g{7Gm#Mn?aLZ-%$5;cUU{a7Z^7`JzjQxY?a%OsB^8Bi7{r7+2HA}LRmX%p5xmd3 zXwN-hY0iYKN^Ceh-Q{nk{bi`*{sUotBI+tehDV`HB&$r0f&=yE1~*r{hdt9AWq$YHx+)J!beG$+8dE9%DkkA2YHo z%V9!`A3oN*x0VUrvhv2HW>E z48LS~luBn3!_U#uTo~{K>oe@{LETZDOGKaL=(`$obTPLZISw-%R}v!}88kZZPdp>^ z4O@F%IDirEDj0ZGV zb4Hlj6DG}c|4grBzs`Mso7crNVH)qxZmm#CguRF@vm diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23.i b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23.i deleted file mode 100644 index fdf63759..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 20 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.3 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23_out.e b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-23_out.e deleted file mode 100644 index b9a0ddeb8b06cea4546ae3f746a8f81b38f5778a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159724 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 diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4.i b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4.i deleted file mode 100644 index 8fe88ffa..00000000 --- a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4.i +++ /dev/null @@ -1,92 +0,0 @@ -# This is a simple MOOSE tensor mechanics input script for testing the herder -dimension = 2 # Putting this variable outside the block to test - -#_* Variables Block -n_elem_x = 20 -n_elem_y = 10 # Testing comments in the variables block -e_modulus = 2000000000.0 -# Comment line to test -p_ratio = 0.35 # Another comment to test with -e_type = QUAD4 -time_end = 3 -#** - -[GlobalParams] - displacements = 'disp_x disp_y' -[] - -[Mesh] - [generated] - type = GeneratedMeshGenerator - dim = ${dimension} - nx = ${n_elem_x} - ny = ${n_elem_y} - xmax = 2 - ymax = 1 - elem_type = ${e_type} - [] -[] - -[Modules/TensorMechanics/Master] - [all] - add_variables = true - generate_output = 'vonmises_stress strain_xx strain_yy strain_xy strain_zz' - [] -[] - -# -# Added boundary/loading conditions -# https://mooseframework.inl.gov/modules/tensor_mechanics/tutorials/introduction/step02.html -# -[BCs] - [bottom_x] - type = DirichletBC - variable = disp_x - boundary = bottom - value = 0 - [] - [bottom_y] - type = DirichletBC - variable = disp_y - boundary = bottom - value = 0 - [] - [Pressure] - [top] - boundary = top - function = 1e7*t - [] - [] -[] - -[Materials] - [elasticity] - type = ComputeIsotropicElasticityTensor - youngs_modulus = ${e_modulus} - poissons_ratio = ${p_ratio} - [] - [stress] - type = ComputeLinearElasticStress - [] -[] - -# consider all off-diagonal Jacobians for preconditioning -[Preconditioning] - [SMP] - type = SMP - full = true - [] -[] - -[Executioner] - type = Transient - # we chose a direct solver here - petsc_options_iname = '-pc_type' - petsc_options_value = 'lu' - end_time = ${time_end} - dt = 1 -[] - -[Outputs] - exodus = true -[] \ No newline at end of file diff --git a/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4_out.e b/dependencies/mooseherder/tests/output/sim-workdir-4/sim-4_out.e deleted file mode 100644 index dede9443bea0fa5cdfd39d07bd04d11920f3de6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105840 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≥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 diff --git a/dependencies/mooseherder/tests/sweepreader_test.py b/dependencies/mooseherder/tests/sweepreader_test.py deleted file mode 100644 index bcabf69c..00000000 --- a/dependencies/mooseherder/tests/sweepreader_test.py +++ /dev/null @@ -1,34 +0,0 @@ -''' -============================================================================== -TEST: SweepReader - -Authors: Lloyd Fletcher -============================================================================== -''' -import pytest -from mooseherder.sweepreader import SweepReader -from mooseherder.directorymanager import DirectoryManager -import tests.herdchecker as hc - - -@pytest.fixture -def dir_manager() -> DirectoryManager: - this_manager = DirectoryManager(hc.NUM_DIRS) - this_manager.set_base_dir(hc.OUTPUT_PATH) - return this_manager - - -@pytest.fixture -def sweep_reader(dir_manager) -> SweepReader: - return SweepReader(dir_manager,hc.NUM_PARA) - - -def test_init_sweep_reader(sweep_reader: SweepReader) -> None: - assert sweep_reader is not None - assert sweep_reader._dir_manager is not None - assert sweep_reader._n_para_read == hc.NUM_PARA - assert len(sweep_reader._output_files) == 0 - - -def test_read_output_key(sweep_reader: SweepReader) -> None: - pass diff --git a/docs/requirements.txt b/docs/requirements.txt deleted file mode 100644 index b7bf23a2..00000000 --- a/docs/requirements.txt +++ /dev/null @@ -1,9 +0,0 @@ -numpy -mooseherder -pyvale -scikit-learn -tkinter -math -pathlib -joblib -shutil \ No newline at end of file From 3a37fb100ea3b0c7f81acf5caa5d394a61733299 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 10 Jun 2025 10:04:26 +0100 Subject: [PATCH 47/48] Removed moose-config.json to untrack --- moose-config.json | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 moose-config.json diff --git a/moose-config.json b/moose-config.json deleted file mode 100644 index 15d8faf6..00000000 --- a/moose-config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "main_path": "/Users/vc6725/projects/moose", - "app_path": "/Users/vc6725/projects/proteus", - "app_name": "proteus-opt" -} \ No newline at end of file From a407882ed6a421ee0904ecd1353e6618c8c87ee8 Mon Sep 17 00:00:00 2001 From: iomags2211 Date: Tue, 10 Jun 2025 10:04:57 +0100 Subject: [PATCH 48/48] Untracked moose-config.json --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8113245e..72cf5d55 100644 --- a/.gitignore +++ b/.gitignore @@ -162,4 +162,5 @@ cython_debug/ # Icarus-specific files examples/example_outputs src/icarus.egg-info/PKG-INFO -.vscode \ No newline at end of file +.vscode +moose-config.json \ No newline at end of file