12#ifndef BELFEM_CL_JCFUNCTION_USERDEFINED_HPP
13#define BELFEM_CL_JCFUNCTION_USERDEFINED_HPP
72 MatFunc2 * mUserJcFunction2 = nullptr ;
73 MatFunc3 * mUserJcFunction3 = nullptr ;
95 eval(
const real normB,
const real angle )
const override ;
114 mUserJcFunction2 = Function ;
126 mUserJcFunction3 = Function ;
138 jc_user_2(
const real normB,
const real angle )
const
140 return mUserJcFunction2( mMaterial, normB, angle );
147 jc_user_3(
const real normB,
const real angle,
const real T )
const
149 return mUserJcFunction3( mMaterial, normB, angle, T );
157 "2-parameter user function is not set" );
159 return jc_user_2( normB, angle );
166 "3-parameter user function is not set" );
168 return jc_user_3( normB, angle, T );
#define BELFEM_ERROR(aCheck,...)
Definition assert.hpp:264
Base class hierarchy for critical current density (Jc) and n-value functions.
Definition petsctools.hpp:27
Base class for all materials in BELFEM.
Definition cl_Material.hpp:279
void set_dependency(const JcParameter aParameter)
Mark function as depending on a parameter.
Definition cl_JcFunction.cpp:20
JcFunction()=default
Default constructor.
void set_jc_function(MatFunc3 *Function)
Set the user-defined function pointer (3-parameter version).
Definition cl_JcFunction_UserDefined.hpp:124
real eval(const real normB, const real angle) const override
Evaluate the function (2-parameter version).
Definition cl_JcFunction_UserDefined.hpp:154
JcFunctionUserDefined(Material *Mat)
Constructor.
Definition cl_JcFunction_UserDefined.hpp:81
void set_jc_function(MatFunc2 *Function)
Set the user-defined function pointer (2-parameter version).
Definition cl_JcFunction_UserDefined.hpp:112
JcFunctionUserDefined(const JcFunctionUserDefined &)=delete
~JcFunctionUserDefined() override=default
JcFunctionUserDefined & operator=(const JcFunctionUserDefined &)=delete
Definition cl_BhCurve.cpp:19
@ angleNxB
Definition cl_JcFunction.hpp:82
@ normB
Definition cl_JcFunction.hpp:81
@ T
Definition cl_JcFunction.hpp:83
USER GUIDES:
Definition cl_Capacitor.cpp:16
real MatFunc3(const Material *, const real, const real, const real)
Definition cl_Material.hpp:243
real MatFunc2(const Material *, const real, const real)
Definition cl_Material.hpp:242
double real
Definition typedefs.hpp:36