Giter Site home page Giter Site logo

idaholab / malamute Goto Github PK

View Code? Open in Web Editor NEW
9.0 8.0 24.0 20.53 MB

Advanced manufacturing modeling and simulation

Home Page: https://mooseframework.inl.gov/malamute

License: GNU Lesser General Public License v2.1

Makefile 2.09% C++ 89.91% Python 7.58% Shell 0.42%
advanced-manufacturing finite-element-method finite-volume-method moose-framework multiphysics object-oriented simulation

malamute's Introduction

MALAMUTE

MALAMUTE (MOOSE Application Library for Advanced Manufacturing UTilitiEs) performs calculations for an array of physics applicable to the domain of advanced manufacturing. The MALAMUTE website for documentation can be found at https://mooseframework.inl.gov/malamute.

MALAMUTE is based on the MOOSE framework, with more information on MOOSE to be found at https://mooseframework.inl.gov.

Copyright 2021 - 2024, Battelle Energy Alliance, LLC

malamute's People

Contributors

cticenhour avatar dewenyushu avatar dschwen avatar giudgiud avatar inl-labtrack avatar jiangwen84 avatar laagesen avatar lindsayad avatar loganharbour avatar lynnmunday avatar mengnanli91 avatar sapitts avatar sudiptabiswas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

malamute's Issues

Momentum equations of melt pool

In GitLab by @cticenhour on Oct 6, 2021, 10:47

See idaholab/valhalla#3 for original issue. Description repeated below.

Reason

MALAMUTE needs to solve momentum equations of melt pool.

Design

  • Add Darcy term, surface tension and Marangoni force.
  • Add fluid properties material
  • Add thermal convection term due to fluid motion.

Impact

Add new features.

Add coverage configuration

In GitLab by @loganharbour on Oct 25, 2021, 18:28

Reason

A coverage configuration allows the coverage requirements to be changed on a per-commit basis and introduces transparency on these requirements.

Design

Add a .coverage file.

Impact

More transparency for coverage requirements and ease in changing the requirements.

Debug testing failure

In GitLab by @cticenhour on Oct 6, 2021, 11:40

See idaholab/valhalla#6 for original issue. Description repeated below.

Bug Description

Max time parameter is violated on test melt_pool_fluid.fluid on CIVET

Steps to Reproduce

Inconsistent - seen mainly on CIVET for around the last month (February 2021) or so: https://moosebuild.hpc.inl.gov/job/309917/

Impact

Submodule updates not being merged to master.

Add recoil pressure in INS

In GitLab by @cticenhour on Oct 6, 2021, 10:48

See idaholab/valhalla#4 for original issue. Description repeated below.

Reason

For melt pool dynamics, recoil pressure needs to be included.

Design

The include of recoil pressure would make divergence of velocity nonzero near the interface, so some additional terms need to add to INS equations.

Impact

Add new features.

Consolidate the simple geometries sps examples [!11 merged]

In GitLab by @sapitts on Aug 4, 2022, 13:18

Merges convert_shellscript_to_test_33 -> devel

Consolidates the single square block inputs into a single file for yttria and a second single file for graphite. Several of the input files in this folder were small variations on the electro-thermal-mechanical problem for yttria which did not require separate input files.

The shell script originally included in this directory was used only to generate a demonstrative plot for the LDRD poster. The temperature variations in the shell script and plotting capability are not needed to help advance the research in this area.
Closes #33

Add thermal and electric conductances as a function of temperature and mechanical load

In GitLab by @cticenhour on Dec 14, 2021, 15:43

This issue is a reproduction of the archived freya#7 for SQA purposes. Please refer to that issue for any extended discussion that may exist beyond this description.

Reason

Cincotti et al (2007) AIChE Journal vol53 no 3 uses thermal and electric conductances that depend on applied mechanical load and temperature (Equations 8 - 12). These equations should be added as functions (requesting values from the materials in freya#6) so that they can be applied to the interface kernels for thermal and electric contact.

Design

Add thermal and electric conductance functions that depend on temperature and mechanical load (the latter defined by the user as a constant value). Harmonic means of thermal and electric conductivity as well as hardness for the two materials in contact need to be evaluated by this object. Interface conditions also need to be modified to accept functions for the transfer coefficient.

Impact

Improves solutions for Cincotti validation effort, and adds infrastructure needed for future cases with plunger and die assembly.

Update inputs in response to PR #22927 in MOOSE

In GitLab by @snschune on Dec 12, 2022, 16:39

Description

The HomogenizedThermalConductivity was changed and it's used quite a bit in Malamute.
Changes are straight-forward and capability is preserved.

Steps to Reproduce

Check out MOOSE PR #22927 and attempt to test MALAMUTE.

Impact

Prevents usage of any input file that uses HomogenizedThermalConductivity

Add Baldr code to MALAMUTE [!6 merged]

In GitLab by @cticenhour on Dec 23, 2021, 14:50

Merges integrate-baldr -> devel

This MR adds code formerly residing in Baldr to MALAMUTE. The MALAMUTE Makefile was also updated to accommodate the new code and new module dependencies.

Note: Baldr tests fail with the current MOOSE submodule version, so they are skipped for now until they can be fixed. This requires a drop in the minimum coverage until they are fixed up.

Refs #5

Example input file for simplified model with plasticity

In GitLab by @cticenhour on Dec 14, 2021, 16:06

This issue is a reproduction of the archived freya#24 for SQA purposes. Please refer to that issue for any extended discussion that may exist beyond this description.

Reason

We need an example input file using a plasticity material model that will be similar to the plasticity model developed from the mesoscale simulations.

Design

Use the plasticity capabilities within tensor mechanics.

Impact

New capability.

Preliminary SPS multiscale input files

In GitLab by @cticenhour on Dec 14, 2021, 15:26

This issue is a reproduction of the archived freya#2 for SQA purposes. Please refer to that issue for any extended discussion that may exist beyond this description.

Reason

Adding simplified, temperature only, input files at both the engineering scale and microscale are required to identify the challenges and potential fixes to multiscale modeling in yittria

Design

Input files only at this first stage, ideally using the internal MOOSE mesh capabilities

Impact

Start to implementing the multiscale / multiapp functionality needed for modeling SPS

Add Valhalla code to MALAMUTE [!2 merged]

In GitLab by @cticenhour on Oct 6, 2021, 15:11

Merges valhalla-transition -> devel

This PR adds code formerly residing in Valhalla to MALAMUTE. The MALAMUTE Makefile and documentation configuration were also updated to accommodate the new code and new module dependencies. The repository issue templates were also moved to the correct location.

Refs #1

Closes #2

Closes #3

Closes #4

Refs #5

Closes #6

MALAMUTE needs example/demonstration and getting started documentation

In GitLab by @cticenhour on Oct 12, 2021, 11:27

Reason

Currently, placeholders are in place for examples/demonstration problems and the getting started page. These need to be added so that new users can better navigate the capability available to them.

Design

  • Replace doc/content/demonstration/Placeholder.md with summary documents for the current MALAMUTE examples.
  • Replace doc/content/getting_started/Placeholder.md with getting started instructions
  • Add links to both from the home page and/or navigation.

Impact

Make MALAMUTE easier to use for new users

Thermal Conductance Interface Conditions

In GitLab by @cticenhour on Dec 14, 2021, 15:37

This issue is a reproduction of the archived freya#4 for SQA purposes. Please refer to that issue for any extended discussion that may exist beyond this description.

Reason

In order to realistically model SPS assemblies, both thermal and electrical conductance need to be properly handled at material interfaces.

Design

An electrical conductance condition already exists within ELK (ElectricalContactResistance), so a thermal conductance condition is needed. This is described in detail in Cincotti et al, Figure 4. A new InterfaceKernel for dissimilar materials would need to be made to duplicate the condition outlined there.

Impact

New capability.

Add Freya code to MALAMUTE [!5 merged]

In GitLab by @cticenhour on Dec 14, 2021, 17:21

Merges integrate-freya -> devel

This MR adds code formerly residing in Freya to MALAMUTE. The MALAMUTE Makefile and documentation configuration were also updated to accommodate the new code and new module dependencies. Issues relevant to the history retained by moving over Freya objects, tests, and input files have been re-created in MALAMUTE for SQA reference and compliance.

Closes #5

Closes #9

Closes #10

Closes #11

Closes #12

Closes #13

Refs #14

Closes #15

Closes #16

Closes #17

Closes #19

Refs #20

Closes #21

Closes #22

Closes #23

Closes #24

Closes #25

Closes #26

Refs #29

Closes #31

Closes #32

Basic Radiative Heat Flux BC

In GitLab by @cticenhour on Dec 14, 2021, 15:39

This issue is a reproduction of the archived freya#5 for SQA purposes. Please refer to that issue for any extended discussion that may exist beyond this description.

Reason

In order to fully duplicate the results in the Cincotti paper validation, a radiative heat flux boundary condition is needed. This is general enough that it could be added to the MOOSE heat conduction module. For expediency, though, putting it in Freya for now is ideal.

Design

The condition outlined in Cincotti et al, Figure 4 needs to be implemented.

Impact

New capability.

Add updated phase-field model example file

In GitLab by @cticenhour on Dec 14, 2021, 15:59

This issue is a reproduction of the archived freya#20 for SQA purposes. Please refer to that issue for any extended discussion that may exist beyond this description.

Reason

The phase-field model has been updated to include multiple defect species and the effect of defect species charge as well as applied electric field. An example file of the updated model needs to be added to facilitate multi-scale integration.

Design

See reason.

Impact

Example of new phase field capability for facilitation of multi-scale development

Deprecated and documentation broken on CIVET

In GitLab by @cticenhour on Apr 21, 2022, 12:31

Bug Description

CIVET is breaking on the scheduled deprecated target (https://moosebuild.hpc.inl.gov/job/443495/), as well as the documentation target on main (https://moosebuild.hpc.inl.gov/job/443393/).

Steps to Reproduce

  1. Build malamute, run tests (./run_tests --error-deprecated).
  2. Build malamute, build documentation (cd doc; ./moosedocs.py build)

Impact

High - documentation is not being updated on the website.
Deprecated code is a low impact currently, but needs to be fixed.

Energy conservation equation of melt pool

In GitLab by @cticenhour on Oct 6, 2021, 10:46

See idaholab/valhalla#2 for original issue. Description repeated below.

Reason

MALAMUTE needs to solve energy conservation equation of melt pool.

Design

Create:

  • A Heat source kernel to compute laser heating and heat loss on the fluid/metal interface.
  • A kernel to regularize gradient and curvature.
  • Materials to compute thermal properties and mushy zone properties.

Impact

Add new features.

Add engineering material properties as a function of temperature

In GitLab by @cticenhour on Dec 14, 2021, 15:41

This issue is a reproduction of the archived freya#6 for SQA purposes. Please refer to that issue for any extended discussion that may exist beyond this description.

Reason

Cincotti et al (2007) AIChE Journal vol53 no 3 includes thermophysical properties as a function of temperature: heat capacity, thermal condutivity, electrical resistivity, and coefficient of thermal expansion. These figures (7 and 8) should be digitized and added to Freya for enable verification of the engineering scale model against this paper.

Design

Add separate thermal, electrical, and mechanical property classes which depend on temperature

Impact

Easy of verification effort reproducibility

Mechanical Particle Contact

In GitLab by @cticenhour on Dec 14, 2021, 15:57

This issue is a reproduction of the archived freya#19 for SQA purposes. Please refer to that issue for any extended discussion that may exist beyond this description.

Reason

Capture the MOOSE-based work that Al completed to generate a power law type constitutive model for the yttria powder mechanics

Design

Include the input files, meshes, plotting scripts, and key results from the two and four particle contact models

Impact

Maintain accessibility of Al's work as he transitions to a new position

Build failures with changes related to the electromagnetics module

In GitLab by @cticenhour on Jun 30, 2022, 14:39

This is a adjusted reproduction of idaholab/freya#30 for SQA purposes


Bug Description

MALAMUTE fails to build in its current state if the changes related to the electromagnetics module are merged. See https://civet.inl.gov/job/1050922/ and idaholab/moose#17641

Steps to Reproduce

Set MOOSE submodule to the cticenhour/electromagnetics branch in the PR linked above, and attempt to build MALAMUTE.

Impact

MALAMUTE will be nonfunctional when this change occurs unless it is patched.

Update to AD

In GitLab by @cticenhour on Dec 14, 2021, 15:47

Reason

As material properties become non-linear, MALAMUTE needs to use AD to make development easier. Making this issue as a catch-all for this effort.

Design

InterfaceKernels --> ADInterfaceKernels

Materials --> ADMaterials

And <is_ad> templating as needed if dual versions are desired.

Impact

No change to external APIs, but more flexibility and ease of development.

Removing unused parameters in tests for MOOSE changes

In GitLab by @cticenhour on Jun 30, 2022, 14:37

This is a reproduction of idaholab/freya#31 for MALAMUTE SQA purposes


Bug Description

Due to new changes in the way moose handles default behavior for unused parameters, multiple freya tests are now hitting errors for their unused parameters

Steps to Reproduce

The specific input files are viewable in the attached MR, and can be seen on the civet job here: https://civet.inl.gov/job/1077110/

Impact

The Moose update will not be mergeable until this change is made, so it is of a high importance.

Remove former Freya checked in shell script for isoPlastic test

In GitLab by @cticenhour on Jul 13, 2022, 09:05

Reason

As part of !5, a script for temperature dependent runs is being checked in at

examples/sps/multiapp/diemodel/electrothermomechs/simple_geometries/run_isoPlastic_all_temperature.sh

This should more likely be a set of tests, or some other method that allows us not to have to check in a random script and keeps the capability tested.

Design

See above

Impact

Removes extraneous files from MALAMUTE and enhances testing

Cubit interface bias mesh doesn't label right_side_graphite completely

In GitLab by @cticenhour on Dec 14, 2021, 15:56

This issue is a reproduction of the archived freya#18 for SQA purposes. Please refer to that issue for any extended discussion that may exist beyond this description.

Bug Description

In the current version of cincotti_validation_interfacekernels_version.jou, we set some sidesets within if statements corresponding to the sample number being meshed. As an example, see the relevant code here (L106 - L109) for sample three. These example lines contain only vertical externally-facing surfaces, and they are missing externally-facing horizontal surfaces within the graphite region. This leads to a no-flux condition being defined on those missing surfaces in Freya, rather than the preferred radiation condition.

Steps to Reproduce

Examine the sideset output of this file in cubit while setting model_sample_type to 3 or 4.

Impact

Causes temperature discrepancies in solutions when comparing interface-biased cases using this file with non-biased meshes created previously.

Dr. Sinter specific input files and mesh

In GitLab by @cticenhour on Dec 14, 2021, 16:01

This issue is a reproduction of the archived freya#21 for SQA purposes. Please refer to that issue for any extended discussion that may exist beyond this description.

Reason

Validation comparisons of the Freya code require geometry and input files that align with the specifics of the CAES Dr. Sinter machine.

Design

Add mesh script, mesh, and corresponding input files

Impact

Will add capability to run engineering scale simulations for direct comparison with the CAES Dr. Sinter machine

Deprecated testing failure

In GitLab by @cticenhour on Dec 14, 2021, 16:07

This issue is a reproduction of the archived freya#27 for SQA purposes. Please refer to that issue for any extended discussion that may exist beyond this description.

Bug Description

Deprecated code test failure on SideFluxIntegral object. See https://moosebuild.hpc.inl.gov/job/360243/

Steps to Reproduce

Replace the object in input files with the identified replacement.

Impact

Removes usage of deprecated MOOSE objects.

Fixup breaking tests due to ElectrostaticContactCondition update

In GitLab by @cticenhour on Dec 14, 2021, 15:54

This issue is a reproduction of the archived freya#13 for SQA purposes. Please refer to that issue for any extended discussion that may exist beyond this description.

Bug Description

Freya is breaking tests due to recent ELK update, which updated the ElectrostaticContactCondition object.

Steps to Reproduce

Run tests with current devel and see failures.

Impact

Prevents Freya from updating, should be fixed ASAP.

Dr. Sinter Experimental Data Processing

In GitLab by @cticenhour on Dec 14, 2021, 16:04

This issue is a reproduction of the archived freya#22 for SQA purposes. Please refer to that issue for any extended discussion that may exist beyond this description.

Reason

Validation comparisons against CAES Dr. Sinter machine experiments require data in a usable form for comparison with Freya models (and usage in models, in the case of voltage/current sources).

Design

Add python script that can take as input .CSV output files from the Dr. Sinter experiments and processes them into .CSV files adequate for comparison and usage in Freya simulations. Also add plotting capability for viewing of processed data over time.

Impact

Enables validation simulation comparisons with experimental data.

New moosebuild will break tests

In GitLab by @cticenhour on Feb 22, 2022, 11:37

Bug Description

"New moosebuild" will break tests on CIVET due to OS, gcc, and mpich changes. Any failing tests should be fixed up before that changeover finishes.

The current failing tests are exodiffs:

  • test:melt_pool_fluid.fluid
  • test:gradient_regularization.gradient_regularization

New formerly freya tests being added in !5 had one failure due to a convergence issue:

  • test:bcs/radiation_heat_loss.simple_radiation

Steps to Reproduce

Open a terminal and perform the following:

% ssh rod.hpc.inl.gov
% new_moosebuild
% module load moose-libmesh-vtk python
% <clone current malamute>
% <build malamute>
% ./run_tests -j8

Impact

MALAMUTE will stop updating if this isn't fixed.

Broken documentation

In GitLab by @cticenhour on Dec 14, 2021, 16:08

This issue is a reproduction of the archived freya#28 for SQA purposes. Please refer to that issue for any extended discussion that may exist beyond this description.

Bug Description

Freya docs are broken due to a duplicate image conflict resulting from the development of the electromagnetics module:

RENDER ERROR: Multiple pages with a name that ends with 'two_block.png' were found:
  media/two_block.png
  large_media/electromagnetics/two_block.png
/opt/civet/build_1/freya/doc/content/verification/thermal_contact_verification.md:339
   ┌───────────────────────────────────────────────────────────────────────────────────────────────┐
339│                                                                                               │
340│                                                                                               │
   └───────────────────────────────────────────────────────────────────────────────────────────────┘
Traceback (most recent call last):
  File "/opt/civet/build_1/freya/moose/python/MooseDocs/base/renderers.py", line 77, in render
    el = func(parent, token, page) if func else parent
  File "/opt/civet/build_1/freya/moose/python/MooseDocs/extensions/media.py", line 151, in createMaterialize
    tag = self.createHTML(parent, token, page)
  File "/opt/civet/build_1/freya/moose/python/MooseDocs/extensions/media.py", line 141, in createHTML
    node = self.translator.findPage(src)
  File "/opt/civet/build_1/freya/moose/python/MooseDocs/base/Translator.py", line 223, in findPage
    raise exceptions.MooseDocsException(msg)
MooseDocs.common.exceptions.MooseDocsException: Multiple pages with a name that ends with 'two_block.png' were found:
  media/two_block.png
  large_media/electromagnetics/two_block.png

Steps to Reproduce

Try to build Freya docs with current MOOSE submodule.

Impact

Docs will not build correctly until fixed.

Update MooseDocs and add issue templates [!1 merged]

In GitLab by @cticenhour on Sep 2, 2021, 11:46

Merges sqa-init-1 -> devel

This MR:

  • Updates the base MooseDocs config for malamute (adds newer syntax for content and appsyntax, adds MOOSE shortcuts and acronym locations)
  • Initializes MooseDocs SQA
  • Adds documentation website links
  • Adds gitlab issue templates for bugs and feature requests

Closes #1

Fixup complete geometry inputs

In GitLab by @cticenhour on Dec 14, 2021, 16:21

This issue is a brief summary of discussion results in freya!36 for SQA purposes. Please refer to that merge request for any extended discussion that may exist beyond this description.

Reason

Electro-thermal-mechanical input file is broken and should be removed, the nodalcontact test is missing a mesh file, and the goofycontact input should be tested.

Design

Remove electrothermomechanical input file, fixup electrothermal nodalcontact test, add electrothermal goofycontact test.

Impact

Better coverage, removal of un-needed inputs, and fixed up broken tests.

Fix SQA documentation and add code coverage link [!7 merged]

In GitLab by @cticenhour on Dec 23, 2021, 22:50

Merges fixup-doco-27 -> devel

The root of the documentation failure is a tensor mechanics module design spec added in idaholab/moose#18721. The fix is to make sure ${MOOSE_DIR}/modules/doc/content/help/finite_element_concepts/nodal_patch_recovery.md is included in the MooseDocs config file for MALAMUTE. ${MOOSE_DIR}/modules/doc/content couldn't be added by itself, because that requires links to other modules that MALAMUTE doesn't currently depend on.

The implementation of this fix was taken from idaholab/blackbear#286

This MR also adds a link to the code coverage on the MALAMUTE website navigation.

Closes #27

Refs #28

MALAMUTE needs to be initialized and set up for automated testing and MOOSE updates

In GitLab by @cticenhour on Aug 31, 2021, 19:06

Reason

MALAMUTE is not yet initialized as an INL MOOSE-based application.

Design

The following needs to be performed to close this issue:

  • Initialization of template MOOSE application source code from the MOOSE repository
  • Addition of INL copyright information and MALAMUTE code headers
  • First commit and creation of devel and main branches
  • Initialization of CIVET testing of merge requests and branches
  • Addition of MOOSE submodule
  • Initialization of MooseDocs documentation and software quality assurance (SQA) infrastructure
  • Addition of bug fix and feature request issue templates

Impact

The beginning of MALAMUTE! The creation of this issue also serves as the beginning of issue tracking and eventual INL SQA compliance.

Add tests for two way coupling (lots of particles) input files

In GitLab by @cticenhour on Dec 14, 2021, 16:14

This issue is a brief summary of discussion results in freya!46 for SQA purposes. Please refer to that merge request for any extended discussion that may exist beyond this description.

Reason

The two way coupling input files added in freya!46 are untested.

Design

Add RunApp tests for the two way coupling input files using lots of particles.

Impact

Better coverage.

Transition Valhalla, Baldr, and Freya codes to MALAMUTE

In GitLab by @cticenhour on Oct 6, 2021, 11:38

Reason

In order to create MALAMUTE, Valhalla, Baldr, and Freya need to be transitioned to this code base.

Design

Move Valhalla, Baldr, and Freya code to MALAMUTE. Preserve git history and issue history as much as possible for SQA.

Impact

New MALAMUTE features.

Removal of "master/slave" notation for member variables and objects

In GitLab by @cticenhour on Dec 14, 2021, 15:50

This issue is a reproduction of the archived freya#11 for SQA purposes. Please refer to that issue for any extended discussion that may exist beyond this description.

Reason

Prompted by recent MOOSE and societal discussions, it's more important than ever to address old patterns and conventions of our work and make changes that get us to a point of technical clarity while also achieving inclusion for those who develop on our code base. "master/slave" naming conventions for objects and member variables is something that must be addressed.

Design

Removal of "master" and "slave" in all Freya objects, if used, and replacement with something like "primary" and "secondary". "neighbor" seems to be the currently used paired name in Freya to "master", and this may be better suited to becoming "secondary" if "primary" is chosen. A change to "neighbor" is therefore somewhat optional.

Impact

No functionality change...only changes to documentation, parameter names, and class member names.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.