BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
belfem_user_api.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// The plugin API. A user-defined material, defect or source function needs
13// only this header.
14//
15// NEVER include cl_Vector.hpp or cl_Matrix.hpp here, or any class that uses
16// them: the plugin API is backend-free by contract, and every header listed
17// below compiles standalone with neither BELFEM_ARMADILLO nor BELFEM_BLAZE
18// defined (the three entry headers carry the same note).
19//
20// gTbulk is only declared here (globals.hpp); a plugin that instantiates the
21// power laws takes it as an undefined symbol that the host resolves at load.
22
23#ifndef BELFEM_USER_API_HPP
24#define BELFEM_USER_API_HPP
25#include "typedefs.hpp"
26#include "constants.hpp"
27#include "globals.hpp"
28#include "fn_sprint.hpp"
29#include "assert.hpp"
30#include "cl_Bitset.hpp"
31#include "cl_Cell.hpp"
32#include "cl_Material.hpp"
35#include "cl_JcFunction.hpp"
37#include "cl_SourceFunction.hpp"
38#include "powerlaws.hpp"
39#endif //BELFEM_USER_API_HPP
Base class hierarchy for critical current density (Jc) and n-value functions.
Wrapper functions for polynomial-based material property evaluation.
Inline E–J resistivity models for HTS materials and their Jacobians.