BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
cl_JcFunction.hpp File Reference

Base class hierarchy for critical current density (Jc) and n-value functions. More...

#include "typedefs.hpp"
#include "cl_Bitset.hpp"
Include dependency graph for cl_JcFunction.hpp:

Go to the source code of this file.

Classes

class  belfem::material::JcFunction
 Base class for critical current density (Jc) and n-value functions. More...

Namespaces

namespace  belfem
 USER GUIDES:
namespace  belfem::material

Typedefs

typedef Bitset< static_cast< uint >(JcParameter::UNDEFINED) > belfem::material::JcDependency
 Bitset for tracking Jc function dependencies.

Enumerations

enum class  belfem::material::JcParameter { belfem::material::normB = 1 , belfem::material::angleNxB = 2 , belfem::material::T = 3 , belfem::material::UNDEFINED = 4 }
 Parameters that Jc (or n) can depend on. More...

Detailed Description

Base class hierarchy for critical current density (Jc) and n-value functions.

This file defines the abstract base class JcFunction and its parameter system for representing field-, angle-, and temperature-dependent properties in high-temperature superconductors (HTS).

Usage

JcFunction objects are created by MaterialFactory and assigned to Material objects. The Material takes ownership and is responsible for deletion:

// Create analytical Jc function (modified Kim model)
JcFunction* jc = factory.create_jc_function(
1e9, // Jc0 [A/m²]
5.0, // B0 [T]
0.5, // k² anisotropy
2.0 // α exponent
);
material->set_jc_function(jc); // Material takes ownership
// Or create from database file ( same creator for jc and n tables )
JcFunction* n_value = factory.create_jc_function(
"path/to/n_value_data.h5", "n"
);
material->set_n_function(n_value); // Material takes ownership

Derived Classes

  • JcFunctionModifiedKim: Analytical model with field and angle dependence
  • JcFunctionDatabase: Lookup table with field, angle, and temperature dependence

Important Notes

  1. OWNERSHIP: Material takes ownership - do NOT delete manually
  2. UNITS: Jc in [A/m²], B in [T], angle in [rad], T in [K]
  3. Same class used for both Jc and n-value (identical dependencies)
  4. Constant values stored directly in Material, not as JcFunction objects

Dependencies:

  • normB: Magnitude of magnetic field [T]
  • angleNxB: Angle between surface normal and field [rad]
  • T: Temperature [K]