BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
cl_Material.hpp File Reference
#include "globals.hpp"
#include <cmath>
#include "typedefs.hpp"
#include "constants.hpp"
#include "assert.hpp"
#include "cl_Bitset.hpp"
#include "cl_Cell.hpp"
#include "cl_JcFunction.hpp"
#include "powerlaws.hpp"
Include dependency graph for cl_Material.hpp:

Go to the source code of this file.

Classes

class  belfem::Material
 Base class for all materials in BELFEM. More...

Namespaces

namespace  belfem
 USER GUIDES:
namespace  belfem::material

Typedefs

typedef Bitset< static_cast< size_t >(MaterialDependency::UNDEFINED) > belfem::MaterialDependencyBitset
 Bitset for tracking material property dependencies.
typedef real belfem::MatFunc1(const Material *, const real)
typedef real belfem::MatFunc2(const Material *, const real, const real)
typedef real belfem::MatFunc3(const Material *, const real, const real, const real)
typedef real belfem::DefectFunc(const real, const real, const real, const real)
typedef real belfem::HeatFunc(const real, const real, const real, const real)

Enumerations

enum class  belfem::MaterialType {
  belfem::UserDefined , belfem::Ferro , belfem::HTS , belfem::PureMetal ,
  belfem::LookupAlloy , belfem::CompositeAlloy , belfem::NonMetal
}
 Material classification based on physical behavior. More...
enum class  belfem::MaterialDependency {
  belfem::T = 0 , belfem::normB = 1 , belfem::angleBxJ = 2 , belfem::angleNxB = 3 ,
  belfem::normH = 4 , belfem::normJ = 5 , belfem::Jc = 6 , belfem::rho = 7 ,
  belfem::UNDEFINED = 8
}
 Dependencies that material properties can have. More...
enum class  belfem::MaterialProperty {
  belfem::density = 0 , belfem::E = 1 , belfem::nu = 2 , belfem::cp = 3 ,
  belfem::lambda = 4 , belfem::mu = 5 , belfem::rho = 6 , belfem::alpha = 7 ,
  belfem::Rp02 = 8 , belfem::debye = 9 , belfem::rho_i = 10 , belfem::kohler_trans = 11 ,
  belfem::kohler_long = 12 , belfem::T_crit = 13 , belfem::M = 14 , belfem::Gamma = 15 ,
  belfem::R = 16 , belfem::T_max = 17 , belfem::ref_density = 18 , belfem::T_ref_density = 19 ,
  belfem::gamma = 20 , belfem::beta = 21 , belfem::q = 22 , belfem::debye0K = 23 ,
  belfem::rho_i_ref = 24 , belfem::T_ref_rho_i = 25 , belfem::A_bloch_gruen = 26 , belfem::n_bloch_gruen = 27 ,
  belfem::RRR = 28 , belfem::rho_0 = 29 , belfem::layer_thickness = 30 , belfem::ec = 31 ,
  belfem::jc = 32 , belfem::n = 33 , belfem::Tcurie = 34 , belfem::A_electron_magnon = 35 ,
  belfem::A_spin_disorder = 36 , belfem::grueneisen = 37 , belfem::density_correction = 38 , belfem::rho0_pure = 39 ,
  belfem::UNDEFINED = 40
}
 All material properties that can be defined. More...
enum class  belfem::ResistivityLaw { belfem::PowerLaw = 0 , belfem::Piecewise = 1 , belfem::Riva = 2 }
 E-J law used for a superconductor's resistivity. More...

Functions

string belfem::to_string (const MaterialProperty aProperty)
 Convert material property enum to string.
unit belfem::get_unit (const MaterialProperty aProperty)
 Get the SI unit for a material property.

Variables

constexpr real belfem::gTAlphaSwitchMax = 273.15
 Upper bound for the thermal expansion split temperature [K].
constexpr size_t belfem::gNumNonConstantMaterialProperties = static_cast< size_t >( MaterialProperty::T_crit )
 Number of non-constant material properties.
constexpr size_t belfem::gNumMaterialProperties = static_cast< size_t >( MaterialProperty::UNDEFINED )
 Total number of material properties.