BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
cl_JcFunction_ModifiedKim.hpp
Go to the documentation of this file.
1/*
2 * BELFEM -- The Berkeley Lab Finite Element Framework
3 * Copyright (c) 2026, The Regents of the University of California,
4 * through Lawrence Berkeley National Laboratory (subject to receipt of any required
5 * approvals from the U.S. Dept. of Energy). All rights reserved.
6 *
7 * Developers: Christian Messe, Gregory Giard
8 *
9 * See the top-level LICENSE file for the complete license and disclaimer.
10 */
11
12#ifndef BELFEM_CL_JCFUNCTIONMODIFIEDKIM_HPP
13#define BELFEM_CL_JCFUNCTIONMODIFIEDKIM_HPP
14
15#include "cl_JcFunction.hpp"
16
17namespace belfem
18{
19 namespace material
20 {
21//------------------------------------------------------------------------------
22
60 {
61 const real mJc0 ;
62 const real mB0 ;
63 const real mK2 ;
64 const real mAlpha ;
65
66 public:
67
81 const real jc0,
82 const real B0,
83 const real k2,
84 const real alpha ) :
85 mJc0( jc0 ), mB0( B0 ), mK2( k2 ), mAlpha( alpha )
86 {
89 }
90
94 ~JcFunctionModifiedKim() override = default;
95
110 real
111 eval( const real normB, const real angle ) const override
112 {
113 real c = std::cos( angle );
114 real c2 = c * c;
115 real s2 = 1.0 - c2;
116
117 return mJc0 /
118 std::pow( 1. +
119 std::sqrt( ( mK2 * s2 + c2 ) ) * normB / mB0, mAlpha );
120
121 }
122 };
123 }
124}
125#endif //BELFEM_CL_JCFUNCTIONMODIFIEDKIM_HPP
Base class hierarchy for critical current density (Jc) and n-value functions.
void set_dependency(const JcParameter aParameter)
Mark function as depending on a parameter.
Definition cl_JcFunction.cpp:20
JcFunction()=default
Default constructor.
real eval(const real normB, const real angle) const override
Evaluate Jc at given field and angle.
Definition cl_JcFunction_ModifiedKim.hpp:111
JcFunctionModifiedKim(const real jc0, const real B0, const real k2, const real alpha)
Constructor for modified Kim model.
Definition cl_JcFunction_ModifiedKim.hpp:80
~JcFunctionModifiedKim() override=default
Destructor.
Definition cl_BhCurve.cpp:19
@ angleNxB
Definition cl_JcFunction.hpp:82
@ normB
Definition cl_JcFunction.hpp:81
USER GUIDES:
Definition cl_Capacitor.cpp:16
@ alpha
Definition cl_Material.hpp:161
double real
Definition typedefs.hpp:36