1 Introduction

Tissue engineering (TE) is a rapidly evolving biotechnology field that aims to reconstruct and regenerate tissue lost to trauma or disease [1]. One of the most important aspects of TE is the design and fabrication of the scaffold [2]. TE scaffolds provide a temporary platform to hold bioactive molecules and facilitate the growth of neotissue. An ideal scaffold should have a porous structure which guides tissue formation and be composed of a biodegradable material that can safely resorb inside the body [3]. Other attributes which need to be addressed with regard to the design of TE scaffolds include biocompatibility, mechanical properties, and degradation rate. These last three attributes are, at least partially, dependent on the inner architecture of a porous scaffold. Conventional and subtractive methods for fabricating TE scaffolds and medical devices (e.g., molds for porous particulate materials, salt leaching or other porogens, and electrospun weaves) allow for some control over porosity and pore size but prohibit fine control of scaffold geometry [4]. Scaffolds with stochastic porosity lack repeatability in fabrication, potentially contain isolated void spaces, and present issues involving anisotropic degradation, tissue ingrowth, and stress distribution.

Many TE researchers are turning to additive manufacturing (AM), also referred to as 3D printing, technologies to fabricate complex scaffolds designed in Computer Aided Design (CAD) software [58]. Using these methodologies, pore geometry is not dependent on the stochastic spatial distribution of pores or porogens; instead, pore geometry can be designed and printed. Indeed [911], these new manufacturing technologies are driving an increasing amount of research on pore geometry. In general, the size and shape of pores within the scaffold must balance mechanical integrity with bioactive molecule delivery, tissue infusion, and degradation characteristics [5, 12]. Pores should be gently curving and minimally tortuous so as not to hinder cell in-migration [13, 14]. They should also be interconnected to encourage vascularization [15] and highly permeable to permit the inflow of nutrients, bioactive molecules, and disposal of metabolic waste [16]. Issues of flow in a scaffold are relevant both in vivo and perhaps even more so where shear forces may occur during in vitro (e.g., bioreactor) pre-culturing of a TE scaffold. Finally, the pore design should be easily created and rendered in the 3D modeling software (i.e., CAD software) and scaffold fabrication setup and monitoring software (i.e., Computer Aided Manufacture or CAM software).

Non-intersecting, triply periodic minimal surfaces (TPMS) offer an attractive foundation for the design of smooth, curved, interconnected pore networks [1719]. One TPMS in particular, the gyroid (also known as Schoen’s G surface), was presented by Alan Schoen in 1970 [20]. Since then, gyroid structures have been found to occur naturally in many different systems including block copolymers [21, 22], butterfly wing scales [23, 24], and cell membranes [25, 26]. The gyroid surface can be described implicitly by a relatively simple nodal equation [27]. The surface itself separates 3D space into two complex and intertwined, but separate, phases. Subsequently, one phase is established as a solid network of struts, while the second phase is void and constitutes the porous volume. Due to their mathematical complexion, gyroid-type porous structures are extremely manipulable and computationally efficient.

In this paper, we demonstrate an algorithm for creating gyroid-type porous structures with user-defined pore size, strut size, and/or percent porosity based on Schoen’s gyroid triply periodic minimal surface. A primary advantage of this method is that it provides the engineer/clinician the ability to define exact pore and strut sizes. Often, too much emphasis is placed on percent porosity when quantifying the geometry of TE scaffolds, while feature dimensions are largely ignored. Figure 1 illustrates the inadequacy of using porosity alone as a measure of scaffold geometry. Full control over the pore and strut dimensions makes it easier to tune scaffolds for optimal tissue ingrowth, mechanical properties, and degradation characteristics. We will show in this study that the gyroid surface can be used to create a wide range of porous configurations ranging from approximately 2–98% porous.

Fig. 1
figure 1

Comparison of two different porous spherical architectures with the same external dimensions (i.e., diameter) and the same percent porosity

2 Porous scaffold design

2.1 Level surfaces

The level set method is a tool for representing a closed curve using a level set function, Φ. In two dimensions, the level set function takes negative values inside the curve and positive values outside. The level set method can be expanded to three dimensions, whereby the level set function is used to represent a closed surface and takes negative values inside the surface and positive values outside. Values that lie directly on the surface take the value zero and form the zero level set. Using this method, Φ is defined at every point in a space, not just on the surface, leading to the creation of a 3D scalar field. At each point, the function specifies a scalar value which indicates whether the point is inside, outside, or on the surface:

$$\Phi \left( {x,y,z} \right) - {\text{C}} = \left\{ {\begin{array}{ll} <\!{0,} &\quad {{\text{inside}}} \\ {0,} &\quad {{\text{on}}} \\>\!{0,} &\quad {{\text{outside.}}} \\ \end{array} } \right.$$
(1)

For example, a sphere is represented implicitly by the zero level set of the algebraic function:

$${\Phi _{{\text{Sphere}}}}={x^2}+{y^2}+{z^2} - {r^2}$$
(2)

where r is the radius of the sphere. Figure 2 displays a two-dimensional scalar field for Φ Sphere at z = 0, with r = 3.5 and within the bounds x = y = [–4, 4]. The surface of the sphere is constructed on the zero level set of Φ Sphere; that is, everywhere Φ Sphere = 0. All of the points inside of the surface have negative values, while all of the points outside of the surface are positive.

Fig. 2
figure 2

Two-dimensional slice of the surface of a sphere represented by the zero level set with r = 3.5 at z = 0 in algebraic scalar field Φ Sphere

2.2 The gyroid surface

Schoen identified gyroid surfaces as belonging to a family known as triply periodic minimal surfaces [20]. The gyroid can be described implicitly, to the first order of approximation, by the nodal equation [27]:

$${\Phi _G}=\sin \left( {Nx} \right)\cos \left( {Ny} \right)+\sin \left( {Nz} \right)\cos \left( {Nx} \right)+\sin \left( {Ny} \right)\cos \left( {Nz} \right) - C.$$
(3)

The gyroid surface is only truly minimizing when the level constant, C, is zero. In this case, the mean curvature everywhere on the surface becomes zero. With non-zero values of C, the mean curvature also becomes non-zero but remains constant over the entire surface. Using this approximation, the mean curvature loses its constancy [28] but such an effect bears no consequence in the development of TE scaffolds. Figure 3 displays a two-dimensional scalar field for Φ G at z = 0, with C = 0.67, N = 0.67π and within the bounds x = y = [−4, 4]. The surface of the gyroid is constructed on the zero level set, Φ G = 0.

Fig. 3
figure 3

Two-dimensional slice of the surface of a gyroid represented by the zero level set with C = 0.67 and N = 0.67π at z = 0 in algebraic scalar field Φ G

2.3 Combining implicit surfaces

Boolean operations can be used to combine two or more scalar fields. For example, the sphere in Fig. 2 can be made porous with pore architecture derived from the gyroid in Fig. 3 by taking the maximum scalar value at each point and reconstructing the surface along the new zero level set (Fig. 4):

Fig. 4
figure 4

Two-dimensional slice of the surface of a sphere with gyroid-type porous architecture represented by the zero level set at z = 0 in algebraic scalar field Φ SphereG

$${\Phi _{{\text{Spher}}{{\text{e}}_G}}}=\max \left( {{\Phi _{{\text{Sphere}}}},~{\Phi _G}} \right).$$
(4)

Figure 5 illustrates the process of combining surfaces using scalar fields in three dimensions: (A) a sphere with radius = 3.5 [analogous to Fig. 2]; (B) a gyroid surface with its inside colored red and its outside colored blue [analogous to Fig. 3]; (C) an overlay of a gyroid surface and a sphere; (D) a sphere partitioned into two separate phases by a gyroid surface; (E) a cutaway of that partitioned sphere at z = 0 [analogous to Fig. 4]; and (F) a sphere with a gyroid pore architecture after the blue phase is voided. This could be done with virtually any shape implant, including the arbitrary shape of a defect site-specific scaffold.

Fig. 5
figure 5

Illustration of the process of combining surfaces using their scalar fields in three dimensions (see inline text for explanation)

2.4 Signed distance fields for arbitrarily-shaped objects

The object to be made porous, Φobject, can be a shape defined by an implicit function (such as a sphere, cylinder, ellipsoid, etc.), but this is not a requirement. It is possible to use an arbitrarily-shaped object, such as CT-derived bone anatomy. Since there is no governing equation to describe the surface of an arbitrarily-shaped object, the scalar field must be determined manually. In this case, we implemented a custom algorithm in MATLAB® (MathWorks, Natick, MA) to calculate the signed distance field of a polygonal mesh. This algorithm iterates through every point in a bounded space and determines its distance to the surface, as well as whether the point is inside, outside, or on the surface [29]. Points inside of the surface are assigned negative distance values, while points outside of the surface remain positive and points on the surface are equal to zero by definition. The surface of the object which was discretely defined by a polygonal mesh becomes implicitly described by the zero level set of its signed distance field.

The signed distance field is a special case of a scalar field where each value gives the exact geometric distance to the zero level set. This is different than the scalar fields described in Sects. 2.1, 2.2, and 2.3 which give the algebraic distance to the zero level set. However, since both types of scalar fields capture their surfaces implicitly as zero level sets, they can be used interchangeably within the methods described here.

2.5 Modulating the gyroid architecture

The period of the gyroid surface can be modulated analogously to a simple sine or cosine wave. For example, with a period coefficient N = 2π, the gyroid surface is periodic in all three directions with a period, or unit side length, of 1. By scaling the period, the size and number of pores can be tailored.

The gyroid can be further modulated by changing the level constant, C. When C = 0, the surface divides space into two congruent domains, each with a 50% volume fraction of the space. By adding or subtracting a non-zero constant, C, from the scalar field, the zero level set is shifted and porosities ranging from approximately 2–98% can be obtained. Figure 6 demonstrates how varying C changes the geometry and porosity, n, of the gyroid structure.

Fig. 6
figure 6

Illustration of the effect of the level constant, C, on the geometry and porosity, n, of the gyroid unit cell

2.6 Porosity, pore size, and strut size

Porosity, n, is expressed as a decimal fraction in terms of the solid volume, V S, and the total volume, V T, where the total volume constitutes the sum of the solid and porous volumes:

$$n~=\left( {1 - \frac{{{V_{\text{S}}}}}{{{V_{\text{T}}}}}} \right).$$
(5)

Another important parameter for describing the gyroid is the ratio of the pore dimension, d p, to the strut dimension, d s, and is represented by ξ:

$$\xi =\frac{{{d_{\text{p}}}}}{{{d_{\text{s}}}}}.$$
(6)

This ratio is of particular interest, because like porosity, it is a function of the level constant, C, independent of the period coefficient, N, which makes it easy to draw direct relationships between the implicit equation and the resultant geometry.

In the absence of a closed-form solution, these dimensions were determined by virtual measurements. The pore and strut dimensions were measured along the space diagonal [1 1 1] of a unit cell of the porous gyroid structure (Fig. 7). The unit cell was constructed by installing the gyroid architecture with N = 2π in a unit cube with bounds x = y = z = [0, 1] and level constant, C n , using the level set method previously described. To achieve high accuracy, a grid size of 749 × 749 × 749 was used. A cubic grid with odd dimensions is required to have scalar values that lie directly on the space diagonal.

Fig. 7
figure 7

Illustrations of the pore and strut dimensions of the gyroid unit cell along the space diagonal [1 1 1]

The marching cube algorithm was used to extract a polygonal mesh of the isosurface from the scalar field [30]. For porosity calculations, the solid volume is the volume enclosed by the polygonal mesh and was calculated using the divergence theorem [31], while the total volume is equal to the unit side length cubed.

2.7 Computation of parameters

Using a polynomial fit (R 2 = 1.0000), a direct relationship is drawn between the level constant, C, and porosity (as a decimal fraction), n (Fig. 8):

Fig. 8
figure 8

(left) Level constant as a function of pore/strut ratio and porosity for gyroid shapes with polynomial fits; (right) Surface area per unit volume as a function of porosity showing increase in surface area as porosity and level constant increase

$$C=0.7864{n^3} - 1.1798{n^2} - 2.5259n+1.4597.$$
(7)

Alternatively, the level constant can be calculated from the ratio of the pore dimension to the strut dimension, ξ (R 2 = 0.9996; Fig. 8):

$$C=~ - 0.0006{\xi ^5}+0.0162{\xi ^4} - 0.1722{\xi ^3}+0.9142{\xi ^2} - 2.5329\xi +1.7889.$$
(8)

Once the level constant has been determined, it can be used to help calculate the appropriate period coefficient, N. First, the level constant is related to the pore and strut dimensions (independently) for the period coefficient, N 0 = 2π (Fig. 9). The following models give the pore and strut dimensions, respectively, as a function of C with N 0 = 2π (both R 2 = 0.9999):

Fig. 9
figure 9

Pore and strut dimensions as a function of level constant for the gyroid shapes with polynomial fits

$$d_{\text{p}}^{2\pi }=~ - 11.7311{C^5} - 0.1307{C^4} - 1.7987{C^3}+0.2070{C^2} - 186.9928C+433.0114$$
(9)
$$d_{\text{s}}^{2\pi }=~11.7311{C^5} - 0.0466{C^4}+1.7987{C^3}+0.0175{C^2}+186.9928C+433.0937.$$
(10)

The pore and strut dimensions scale linearly by N. Therefore, the output of either model can be related to the appropriate desired value, d p or d s, to calculate a scale factor, γ:

$$\gamma =\frac{{d_{\text{p}}^{2\pi }}}{{{d_{\text{p}}}}}=\frac{{d_{\text{s}}^{2\pi }}}{{{d_{\text{s}}}}}$$
(11)

which can then be used to determine the proper period coefficient, N:

$$N=~\gamma {N_0}=~\gamma 2\pi .$$
(12)

To fully define the gyroid architecture, two of the following three input parameters must be specified: pore size, strut size, and porosity.

3 Poly(propylene fumarate) test specimens

3.1 Resin formulation

For all of the experiments, specimens were fabricated using a poly(propylene fumarate) (PPF)-based resin. PPF is a bioresorbable and photocrosslinkable polyester [1] and was synthesized via a chain-growth mechanism [32, 33]. To reduce the viscosity for 3D printing, PPF (Mn = 1500 Da, PDI = 1.6) was diluted with diethyl fumarate (DEF, Sigma–Aldrich, St. Louis, MO) in a 1:1 ratio. Photoinitiators Irguacure 819 and Irgacure 784 (BASF, Ludwigshafen, Germany) were added in concentrations of 3.0 and 0.4% by mass, respectively. Finally, 0.7% oxybenzone (Sigma–Aldrich) was added to mitigate light scattering within layers.

3.2 Cast PPF cylinders

Solid cylinders were cast from PPF resin using transparent glass tubes with 4.5 mm inner diameter. Tubes were loaded with PPF resin and placed into a ProCure 350 UV chamber (3D-Systems, Rock Hill, SC) for 480 min to ensure a fully crosslinked network. After curing, PPF cylinders were removed from the glass tubes and cut to approximately 9.0 mm height.

3.3 3D printed PPF cylinders

Solid cylinders with a diameter of 4.5 mm were additively manufactured from PPF resin using an EnvisionTEC Perfactory Micro Advantage 3D printer (EnvisionTEC, Dearborn, MI). The printer was configured with the following parameters: layer thickness = 50 µm, irradiance = 350 mW/dm2, and layer projection time = 180 s. Cylinders were oriented vertically and at a 45° angle. After printing, cylinders were immediately rinsed with acetone, 70% ethanol (v/v), and distilled water for 30 s each using wash bottles. Cylinders were then post-cured for 480 min at ambient conditions in a ProCure 350 UV chamber.

3.4 3D printed PPF porous cubes

Porous PPF cubes were designed with 10 mm side length and a pore architecture consisting of 400 µm struts and 1400 µm pores, resulting in a designed porosity of 88.2%. Porous cubes were additively manufactured from PPF resin on an EnvisionTEC Perfactory P3 Mini Multi Lens 3D printer. The build parameters were: layer thickness = 50 µm, irradiance = 350 mW/dm2, and layer projection time = 30 s. Porous cubes were oriented vertically, at a 45° angle, and at a 90° angle. After printing, porous cubes were cleaned and post-cured per the same protocol as the solid cylinders.

4 Compression testing

Compressive mechanical properties were evaluated by uniaxial unconfined compression on a TestResources load frame with a 250 lbf load cell (TestResources, Shakopee, MN). All samples were compressed at a rate of 1.0% strain per second. Young’s Moduli and compressive stiffness were calculated according to the slope of the linear portion of the stress–strain curve and the yield strength was evaluated with a 0.2% offset. ANOVA methods were used to compare quantitative data across two or more groups (Minitab Inc., State College, PA, USA). Data are presented as mean ± standard deviation from n = 6 sample groups for solid cylinders and n = 8 groups for porous cubes.

5 Results and discussion

The compressive mechanical properties of cast and additively manufactured PPF solid cylinders are shown in Fig. 10. The cast cylinders exhibited an average Young’s Modulus of 593 ± 31 MPa and an average yield stress of 37 ± 1 MPa. Compared to both 3D printed groups, the cast specimens exhibited significantly higher mechanical properties (P < 0.005). Neither the average Young’s Modulus of the 3DP-Vertical (481 ± 29 MPa) and 3DP-45° (456 ± 39 MPa) nor the average yield stress of the 3DP-Vertical (29 ± 2 MPa) and 3DP-45° (27 ± 4 MPa) were significantly different than each other. The drop in mechanical strength between the cast and 3D printed specimens could be due to the layer-based process with which the 3D printed specimens were fabricated. The lack of a measurable difference between the two 3D printed orientations is an encouraging demonstration of mechanical isotropy in layer-fabricated parts. It must be noted, however, that the 3D printed solid cylinders were fabricated with an increased exposure time of 180 s per layer. The long exposure time was necessary to overcome the capillary force between the part and the 3D printer vat, a problem common to mask projection stereolithography [34], and may serve to strengthen the bond between layers.

Fig. 10
figure 10

Young’s Modulus and yield stress of solid PPF cylinders that were cast and 3D printed at different orientations. Significance indicated refers to P < 0.005; (upper right) photograph of cast PPF cylinders; (lower right) photograph of 3D printed solid PPF cylinders oriented vertically and at a 45° angle

Porous PPF specimens which were designed with gyroid architecture and 3D printed are shown in Fig. 11. Specimens with a cubic shape were manufactured at three orientations: vertical, 45°, and 90°. In Fig. 12, the compressive mechanical properties of the three groups are shown. There was no significant difference found between the vertically oriented specimens and the 90° oriented specimens in any metric; however, the specimens oriented at 45° were significantly different in all three metrics (P < 0.005). With an average stiffness of 7.94 ± 0.63 MPa, the specimens oriented at 45° were approximately 30% less stiff than the other two orientations. The yield stress (0.54 ± 0.05 MPa) and ultimate stress (0.69 ± 0.04 MPa) were each approximately 15% lower than the vertical and 90° orientations.

Fig. 11
figure 11

(left) 10 mm 3D printed porous PPF cubes with 400 µm struts and 1400 µm pores. L to R build orientation: vertical, 45°, and 90°; (middle) CAD model: close-up of pore architecture; (right) SEM image of 3D printed PPF cube (scale bar 1.0 mm)

Fig. 12
figure 12

Young’s Modulus, yield stress, and ultimate stress of porous PPF cubes that were 3D printed at different orientations. Significance indicated refers to P < 0.005

In Fig. 13, a human vertebra is used to demonstrate how gyroid-type porous architecture can be imposed onto an arbitrarily-shaped anatomical object. The vertebra was chosen for this example because it is a complex yet common anatomical shape, although any shape which is described by a polygonal mesh is sufficient. The 3D vertebra model was reconstructed from a CT scan and exported as an STL file. Using the mesh data in the STL file, a signed distance field was generated to implicitly describe the surface of the vertebra. The scalar field of the vertebra was then intersected with the scalar field of the gyroid surface. Subsequent discretization of the new scalar field resulted in a surface describing the vertebra with porous gyroid architecture. In this model, the gyroid architecture features a strut size of 200 μm, a pore size of 700 μm, and an overall porosity of 88.2% (N = 1.9138π, C = −1.1445).

Fig. 13
figure 13

(left) CAD model of solid human vertebra; (right) CAD model of the same vertebra with a gyroid-type porous architecture that has 200 µm struts and 700 µm pores

6 Conclusion

Computer-assisted reconstructive techniques (i.e., CAD/CAM) have been shown to be superior to manual fabrication methods since the early 2000s [35, 36]. With the continued advancement of 3D printers and resorbable biomaterials [37], computer-assisted procedures can positively impact not just reconstructive medicine, but regenerative medicine. While the gyroid and other triply periodic minimal surfaces have been previously linked to tissue engineering scaffolds, this is, to our knowledge, the first presentation of the gyroid surface which directly addresses feature dimensions other than percent porosity, such as strut diameter, pore size, and surface area. This design philosophy greatly increases the capacity of the gyroid as tool in tissue engineering. The ability to tailor the geometry of the solid and porous phases of a tissue engineering scaffold using virtual CAD techniques such as those presented in this paper, paired with 3D printing technologies, will empower researchers and clinicians to design and fabricate scaffolds with mechanical, degradation, and tissue-guiding properties that current implant CAD and conventional implant CAM methods cannot attain.