12#ifndef BELFEM_CL_JCFUNCTION_USERDEFINED_HPP
13#define BELFEM_CL_JCFUNCTION_USERDEFINED_HPP
70 MatFunc2 * mUserJcFunction2 = nullptr ;
71 MatFunc3 * mUserJcFunction3 = nullptr ;
93 eval(
const real normB,
const real angle )
const override ;
112 mUserJcFunction2 = Function ;
124 mUserJcFunction3 = Function ;
136 jc_user_2(
const real normB,
const real angle )
const
138 return mUserJcFunction2( mMaterial, normB, angle );
145 jc_user_3(
const real normB,
const real angle,
const real T )
const
147 return mUserJcFunction3( mMaterial, normB, angle, T );
155 "2-parameter user function is not set" );
157 return jc_user_2( normB, angle );
164 "3-parameter user function is not set" );
166 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:270
void set_dependency(const JcParameter aParameter)
Mark function as depending on a parameter.
Definition cl_JcFunction.cpp:20
void set_jc_function(MatFunc3 *Function)
Set the user-defined function pointer (3-parameter version).
Definition cl_JcFunction_UserDefined.hpp:122
real eval(const real normB, const real angle) const override
Evaluate the function (2-parameter version).
Definition cl_JcFunction_UserDefined.hpp:152
JcFunctionUserDefined(Material *Mat)
Constructor.
Definition cl_JcFunction_UserDefined.hpp:79
void set_jc_function(MatFunc2 *Function)
Set the user-defined function pointer (2-parameter version).
Definition cl_JcFunction_UserDefined.hpp:110
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:234
real MatFunc2(const Material *, const real, const real)
Definition cl_Material.hpp:233
double real
Definition typedefs.hpp:36