Skip to content

Simongz1/MARLINS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MARLINS Code (Microstructure-Aware Reactive Lagrangian INtegrated Shock Code)

Fork "ml" to create a new MOOSE-based application.

For more information see: https://mooseframework.inl.gov/getting_started/new_users.html#create-an-app

Code developed and maintained by Simon Gonzalez, Koslowski Group, Purdue University

The Microstructure-Aware Reactive Lagrangian INtegrated Shock Code (MARLINS Code) is a MOOSE-based application that provides a series of tools to peform shock response analysis for generated or imported PBX microstructures using a Lagrangian approach with stabilized shock tracking, kinetics models, equation of state models for reactants and products, melting, and thermal transport.

To see the required modules to install and run the application, the use of the lates Linux MOOSE distribution is recomended, which can be installed using conda following these instructions: MOOSE-Linux Install Using Conda.

A pre-packaged python interface is provided to generated input files based on a series of prompts, which allow the user to controll:

  1. The microstructure to load (RANDOM, GENERATED, LOADED).
  2. The binder and HE properties.
  3. The different simulation paramters such as reactive model configuration, scaling, mesh size, output frequency.
  4. Some paramters, such as EOS, kinetics, plasticity, are preset, but can be adapted to special needs.

To make use of the prepackaged scripts, users must copy the files /pyscripts/generate_input.py, /bash/sbatch_template, the template input at /inputs/distributions_template.i, and the csv files at /csv should all be located inside the same directory. In case a particular architecture or file distribution is required, the provided files must be edited to provide accurate absolute paths for all modifications.

Prepackaged scripts to generate P-x, P-t, Hugoniot, Pop-plot, and calculate run to detonation distances are available under /pyscripts/, where prompts can be followed.

Eulerian capabilities using the Finite Volume method base objects provided by MOOSE (see Finite Volume MOOSE) are currently under development and implementation. Input files for two-phase hydrodynamic shock compression of a low density cavity are available under /inputs/, and the finite volume objects (Functors, Kernels. AuxKernels) are available under the /fv*/ directories.

This application makes use of Automatic Differentiation (AD) to form the jacobian matrix of the system of nonlinear partial differential equations. The use of AD, design decissions, installation, and considerations, can be accessed here. Some capabilities of the Lagrangian system integrate AD and non-AD features, while the Eulerian system is fully implemented using AD-only features.

About

Microstructure Aware Reactive Lagrangian INtegrated Shock Code - MOOSE Based Application

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors