https://mooseframework.inl.gov
Mass.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 // This post processor returns the mass value of an element. It is used
11 // to check that mass is conserved (per the evolving density calculation)
12 // when volume changes occur.
13 //
14 #include "Mass.h"
15 
16 #include "metaphysicl/raw_type.h"
17 
18 registerMooseObject("SolidMechanicsApp", Mass);
19 registerMooseObject("SolidMechanicsApp", ADMass);
20 
21 template <bool is_ad>
24 {
26  params.addClassDescription(
27  "Computes the mass of the solid as the integral of the density material property");
28  params.set<bool>("use_displaced_mesh") = true;
29  return params;
30 }
31 
32 template <bool is_ad>
35  _density(getGenericMaterialProperty<Real, is_ad>("density"))
36 {
37 }
38 
39 template <bool is_ad>
40 Real
42 {
43  return MetaPhysicL::raw_value(_density[_qp]);
44 }
45 
46 template class MassTempl<false>;
47 template class MassTempl<true>;
MassTempl(const InputParameters &parameters)
Definition: Mass.C:33
virtual Real computeQpIntegral()
Definition: Mass.C:41
T & set(const std::string &name, bool quiet_mode=false)
auto raw_value(const Eigen::Map< T > &in)
static InputParameters validParams()
Definition: Mass.C:23
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void addClassDescription(const std::string &doc_string)
This postprocessor computes the mass by integrating the density over the volume.
Definition: Mass.h:18
registerMooseObject("SolidMechanicsApp", Mass)