13 self, namespace, output, subdirectory, template_prefix, output_path
15 nUnknowns = self.
d[
"NUMBER_OF_UNKNOWNS_PADDED"]
16 nUnknownsPad = self.
d[
"NUMBER_OF_UNKNOWNS_PADDED"]
17 nAuxVar = self.
d[
"NUMBER_OF_AUXILIARY_VARIABLES"]
18 nAuxVarPad = self.
d[
"NUMBER_OF_AUXILIARY_VARIABLES"]
19 nData = self.
d[
"NUMBER_OF_DATA"]
20 nDataPad = self.
d[
"NUMBER_OF_DATA_PADDED"]
21 nDof = self.
d[
"NUMBER_OF_DOF"]
22 nDofPad = self.
d[
"NUMBER_OF_DOF_PADDED"]
23 nDof3D = self.
d[
"NUMBER_OF_DOF_3D"]
24 nDim = self.
d[
"DIMENSIONS"]
28 self.
d[
"lQiSize"] = -1
29 self.
d[
"lQiNextSize"] = -1
30 self.
d[
"lPiSize"] = -1
31 self.
d[
"lFiSize"] = -1
32 self.
d[
"lSiSize"] = -1
33 self.
d[
"lQhiSize"] = -1
34 self.
d[
"lFhiSize"] = -1
35 self.
d[
"lShiSize"] = -1
36 self.
d[
"gradQSize"] = -1
37 self.
d[
"PSiSize"] = -1
39 if self.
d[
"IS_LINEAR"]:
40 self.
d[
"lQiSize"] = nDataPad * (nDof**nDim)
41 self.
d[
"lQhiSize"] = nDataPad * (nDof**nDim)
42 self.
d[
"lFiSize"] = nDim * (nDof**nDim) * nUnknownsPad
43 self.
d[
"lFhiSize"] = nUnknownsPad * (nDof**nDim) * nDim
44 if self.
d[
"USE_SOURCE"]:
45 self.
d[
"lSiSize"] = nUnknownsPad * (nDof**nDim)
46 self.
d[
"lShiSize"] = nUnknownsPad * (nDof**nDim)
48 self.
d[
"gradQSize"] = nUnknownsPad * (nDof**nDim) * nDim
49 if self.
d[
"USE_POINT_SOURCE"]:
50 self.
d[
"PSiSize"] = (nDof + 1) * (nDof**nDim) * nUnknownsPad
52 self.
d[
"lQiSize"] = nDataPad * (nDof ** (nDim + 1))
53 self.
d[
"lQhiSize"] = nDataPad * (nDof**nDim)
54 if self.
d[
"USE_FLUX"]:
55 self.
d[
"lFiSize"] = nUnknownsPad * (nDof ** (nDim + 1)) * nDim
56 self.
d[
"lFhiSize"] = nUnknownsPad * (nDof**nDim) * nDim
57 if self.
d[
"USE_SOURCE"]
or self.
d[
"USE_NCP"]:
58 self.
d[
"lSiSize"] = nUnknownsPad * (nDof ** (nDim + 1))
59 self.
d[
"lShiSize"] = nUnknownsPad * (nDof**nDim)
61 self.
d[
"gradQSize"] = nUnknownsPad * (nDof**nDim) * nDim
64 self.
d[
"BndFaceSize"] = nDataPad * (nDof * nDof3D)
65 self.
d[
"BndFaceTotalSize"] = 2 * nDim * self.
d[
"BndFaceSize"]
66 self.
d[
"BndFluxSize"] = nUnknownsPad * (nDof * nDof3D)
67 self.
d[
"BndFluxTotalSize"] = 2 * nDim * self.
d[
"BndFluxSize"]
70 headfile_template=template_prefix +
"CellData.template.h",
71 cppfile_template=template_prefix +
"CellData.template.cpp",
72 classname=output_path +
"/CellData",
74 subdirectory=subdirectory +
".",
76 default_overwrite=
True,
77 apply_iteratively=
True,
79 output.add(generated_kernels)
80 output.makefile.add_h_file(output_path +
"/CellData.h", generated=
True)
81 output.makefile.add_cpp_file(output_path +
"/CellData.cpp", generated=
True)