12#ifndef CL_MATERIALFACTORY_HPP
13#define CL_MATERIALFACTORY_HPP
76 Map < string ,Material * > mMaterialsMap ;
81 create_materials(
const input::Section * aSection,
const bool aBuildTables );
97 const bool aBuildTables =
true );
136 const bool aBuildTables =
true );
244 Map <string, Material *> &
393 const string & aLabel,
394 const string & aShape,
401 inline Map <string, Material *> &
404 return mMaterialsMap ;
Base class hierarchy for critical current density (Jc) and n-value functions.
void check_unused_input(const input::Section *aSection, const string &aLabel, const string &aShape, const Cell< string > &aKeys, const Cell< string > &aSections)
refuse any key or subsection the resolved material shape does not read
Definition cl_MaterialFactory.cpp:556
static BuiltinKind builtin_kind(const string &aName)
Classify a builtin name the way create_material() resolves it.
Definition cl_MaterialFactory.cpp:663
BuiltinKind
Definition cl_MaterialFactory.hpp:141
Map< string, Material * > & materials()
Definition cl_MaterialFactory.hpp:402
MaterialFactory()=default
Material * create_material(const string &aLabel, const real aRRR=BELFEM_QUIET_NAN, const bool aBuildTables=true)
Create a material by label.
Definition cl_MaterialFactory.cpp:629
static bool is_pure_metal_label(const string &aLabel)
Whether a name is an alias of a builtin pure metal.
Definition cl_MaterialFactory.cpp:735
material::BhCurve * create_bh_curve(const string &aPath, const string &aLabel)
Create a B-H curve from file for ferromagnetic materials.
Definition cl_MaterialFactory.cpp:809
void print_material_list(std::ostream &aStream)
Definition cl_MaterialFactory.cpp:750
static bool curve_tolerates_builtin(const string &aValue)
Whether a 'builtin' value may stand beside a b-h curve.
Definition cl_MaterialFactory.cpp:743
~MaterialFactory()=default
material::JcFunction * create_jc_function(const real aJc0, const real aB, const real aBc, const real aK)
Create a Jc function using the modified Kim analytical model.
Definition cl_MaterialFactory.cpp:818
Base class for all materials in BELFEM.
Definition cl_Material.hpp:270
B-H curve for ferromagnetic materials.
Definition cl_BhCurve.hpp:61
Base class for critical current density (Jc) and n-value functions.
Definition cl_JcFunction.hpp:135
USER GUIDES:
Definition cl_Capacitor.cpp:16
double real
Definition typedefs.hpp:36
#define BELFEM_QUIET_NAN
Definition typedefs.hpp:86