https://mooseframework.inl.gov
WaveSpeed.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* This file is part of the MOOSE framework
3 //* https://mooseframework.inl.gov
4 //*
5 //* All rights reserved, see COPYRIGHT for full restrictions
6 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
7 //*
8 //* Licensed under LGPL 2.1, please see LICENSE for details
9 //* https://www.gnu.org/licenses/lgpl-2.1.html
10 
11 #include "WaveSpeed.h"
12 #include "libmesh/utility.h"
13 #include "RankTwoTensor.h"
14 #include "RankFourTensor.h"
15 #include "SymmetricRankTwoTensor.h"
17 
18 registerMooseObject("SolidMechanicsApp", WaveSpeed);
19 
22 {
24  params.addClassDescription("Calculate the wave speed as $E / \\sqrt{\\rho}$ where $E$ is the "
25  "effective stiffness, and $\\rho$ is the material density.");
26  params.addParam<std::string>("base_name",
27  "Optional parameter that allows the user to define "
28  "multiple mechanics material systems on the same "
29  "block, i.e. for multiple phases");
30 
31  return params;
32 }
33 
35  : Material(parameters),
36  _wave_speed(declareProperty<Real>("wave_speed")),
37  _material_density(getMaterialPropertyByName<Real>("density")),
38  _effective_stiffness(getMaterialPropertyByName<Real>("effective_stiffness"))
39 {
40 }
41 
42 void
44 {
45  // Effective stiffness is sqrt(equivalent_youngs_modulus)
47 }
static InputParameters validParams()
Definition: WaveSpeed.C:21
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
registerMooseObject("SolidMechanicsApp", WaveSpeed)
const MaterialProperty< Real > & _effective_stiffness
Effective stiffness of element: function of material properties and element size. ...
Definition: WaveSpeed.h:38
This material computes the wave speed for dynamic simulations using the Young&#39;s modulus (or equivalen...
Definition: WaveSpeed.h:20
unsigned int _qp
const MaterialProperty< Real > & _material_density
Density of the material.
Definition: WaveSpeed.h:35
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
WaveSpeed(const InputParameters &parameters)
Definition: WaveSpeed.C:34
void addClassDescription(const std::string &doc_string)
MaterialProperty< Real > & _wave_speed
The wave speed material generated here.
Definition: WaveSpeed.h:32
virtual void computeQpProperties()
Definition: WaveSpeed.C:43