Initialization.h
Go to the documentation of this file.
1 // This file is part of the MercuryDPM project (https://www.mercurydpm.org).
2 // Copyright (c), The MercuryDPM Developers Team. All rights reserved.
3 // License: BSD 3-Clause License; see the LICENSE file in the root directory.
4 
5 #include "Mercury3D.h"
6 #include "cmath"
7 
11 class Initialization : public Mercury3D {
12 protected:
13  double radius = 50e-6;
14  double density = 1050;
15  double elasticModulus = 23.6e8;
16  double poissonRatio = 0.4;
17  double latentHeat = 56.4e3;// /(1-pow(1-relMoltenLayerThicknessMax,3));
18  double solidHeatCapacity = 1200;
20  double temperatureInterval = 20;
21  double meltingTemperature = 451.15;
22  double thermalConductivity = 0.12;
23  double thermalConvection = 150;
24  double emmisivity = 0.9;
26  double surfaceTension = 34.4e-3;
27  double activationEnergy = 32.5e3;
28  double mass = density*4./3.*constants::pi*pow(radius,3);
29  double dissipation = 0.9;
30  double referenceViscosity = 1e-2;
31  double gravity = -9.81;
32  double timeStep = 19e-9;
33 
34  void setScaleFactor (double scaleFactor) {
35  this->scaleFactor = scaleFactor;
37  surfaceTension *= sqrt(scaleFactor); //0.035 * 1e-3 * sqrt(scaleMass);// * 2e-3;
38  referenceViscosity *= sqrt(scaleFactor); //2e-4 * sqrt(scaleMass);
43  }
44 
45  double getScaleFactor() {
46  return scaleFactor;
47  }
48 
49 private:
50  double scaleFactor = 1.0;
51 };
52 
AnnoyingScalar sqrt(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:134
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Definition: Initialization.h:11
double getScaleFactor()
Definition: Initialization.h:45
double activationEnergy
Definition: Initialization.h:27
double latentHeat
Definition: Initialization.h:17
void setScaleFactor(double scaleFactor)
Definition: Initialization.h:34
double poissonRatio
Definition: Initialization.h:16
double thermalConductivity
Definition: Initialization.h:22
double liquidHeatCapacity
Definition: Initialization.h:19
double thermalConvection
Definition: Initialization.h:23
double scaleFactor
Definition: Initialization.h:50
double solidHeatCapacity
Definition: Initialization.h:18
double mass
Definition: Initialization.h:28
double radius
Definition: Initialization.h:13
double temperatureInterval
Definition: Initialization.h:20
double timeStep
Definition: Initialization.h:32
double meltingTemperature
Definition: Initialization.h:21
double density
Definition: Initialization.h:14
double elasticModulus
Definition: Initialization.h:15
double dissipation
Definition: Initialization.h:29
double ambientTemperature
Definition: Initialization.h:25
double surfaceTension
Definition: Initialization.h:26
double emmisivity
Definition: Initialization.h:24
double referenceViscosity
Definition: Initialization.h:30
This adds on the hierarchical grid code for 3D problems.
Definition: Mercury3D.h:16
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 pow(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:625
const Mdouble pi
Definition: ExtendedMath.h:23
Definition: MortaringCantileverCompareToNonMortaring.cpp:176