Keywords

1 Introduction

The 4D printing technology is defined as “3D printing plus time” and it allows a 3D-printed structure to change its shape and configuration over time in responding to external stimuli [1]. This change can be called transformation. Interdisciplinary 4D printing research, therefore, involves studies on smart materials, 3D printing technology, and transformation [1]. Numerous studies have been conducted on 4D printing and smart materials and have invented novel ways to print with these materials [2,3,4,5]. There are significant smart material research works related to shape memory alloys and shape memory polymers [5, 6]. There are several highlighted applications of smart material products. By partnering with Autodesk and Stratasys, Tibbits et al. proposed a universal folding technique for 4D printing [7, 8]. Yao et al. presented a 4D printing system named bioPrint using natural actuators to create a transformable film [9]. Sydney Gladman et al. developed a bio-printing system of hydrogel architectures inspired by botanical plants in nature [10].

Despite noticeable research in the realm of 4D printing, limited works exist on information models and repositories to support the design model with domain knowledge, such as smart material types, response types, response conditions, response behaviors, and material properties. A product information modeling has been proposed for managing product lifecycles, covering various facets from engineering specifications to physical properties [11]. Having information models and repositories is essential to systematizing and integrating the modeling of 4D printed (smart) products [1]. As part of 4D information modeling, the smart material behavior includes its type, orientation, range, and speed as well. Also, the transformation representation should be integrated with the corresponding smart material information and model visualization.

This paper presents an ontological knowledge graph framework for the 4D printed product design information model and repository, which doesn’t exist yet. This paper examines whether the 4D printed product design data with the instances and relationships can be represented as knowledge graph. These data can be stored in a graph database as an information model or repository. Graph database enable retrieval of the graph topology and properties that are not available in traditional relational database system [12]. In this research, we studied different types of 4D printing designs and built abstract models of basic elements in Sect. 2.1 in the context of engineering mechanics. Section 2.2 explains an ontological formalism based on Gruber and Olsen’s EngMath ontology [13] with an elongated homogeneous rod as an example. The formalism can be extended to analyze other 4D printed design primitives once we have a governing equation. In this research, the ontological knowledge graph framework includes 4D primitive shapes, basic mechanical equations, ontological formalism, which contains relationships and equation parameters for transformation, and an output with a graph database format. Section 3 discusses the elongated homogenous rod case study in detail and how the framework can be used to design a rod in a model visualization software.

2 Ontological Graph Representation

2.1 Primitives and Engineering Mechanics

After reviewing the existing literature on 4D printing methods and products, we abstracted the possible geometric shapes into three groups, as shown in Table 1. In the table, the 4D printed product primitives (i.e., rob, one-layer, and 3D free-form) are listed in the first column, and these primitives are identified by three geometric shape groups shown in the second column. These abstracted shapes simplify 4D printed products into static or dynamic mechanical systems, such as the first-order terms and the strain-displacement relationships.

Table 1. 4D printed product primitives.

A 4D printed product usually has two states of transformation. The first is the initial state before the stimuli, and the second is the end state, which is the result of the stimuli over time. The primitive shapes shown in the table are the initial state of these 4D printed products. And the possible 4D printed product’s geometric shapes, regardless of state, are listed in the second column. In this research, we did not include multi-material patterns, such as origami [17].

2.2 Knowledge Graphs and Ontological Formalism

The literature suggests that the transformation of 4D printed products mainly depends on geometric shapes and smart material properties. By printing the smart materials with different primitives, we can obtain different 4D printing product behavior (i.e., transformation). Essentially, printing primitives with different material properties can cause the 4D printed product to behave differently.

We construct an ontological knowledge graph of 4D printed products with shape-changing properties from the primitives. Gruber and Olsen have described EngMath ontology for mathematical expressions [13]. To initialize our EngMath ontology, we adapted the Latex and built similar sentences as shown in Table 2.

Due to the transformation ability of 4D printed products, force and displacement are critical extrinsic properties of the design. The shape-changing characteristics of 4D printed products can be explained by force as the reason for the reaction of smart materials under stimuli, and the displacement is the consequence of that response.

Table 2. Sentence example of ontological formulism for a rod primitive.

This paper will use the rod primitive as an example of a 4D printed product primitive (Table 1). There can be elongation or bending, and this research will focus on elongation. The specific displacement of a 4D printed product depends on its constraints, such as the fixed locations and the printed product internal printing path pattern, which is another complex topic that will be discussed in another paper. Below is a list of the vocabulary of ontology that serves for the knowledge graph nodes and the relationships in the ontological knowledge graph. The node name is in lowercase, while the relationship is in uppercase. Each begins with a colon to highlight that it is ontological formalism vocabulary of nodes and relationships. Some example vocabulary is shown below.

  • :physical_dimension represents the equation variables that have dimensions.

  • :PROPORTIONAL represents the equation variables’ interactions, which are proportional.

  • :INVERSELY_PROPORTIONAL represents the equation variables’ interactions, which are inversely proportional.

An elongated homogenous rod has a displacement function (Eq. 1) based on Leo [18].

$$ u_{{\text{x}}} \left( L \right) - u_{{\text{x}}} \left( 0 \right) = \Delta u_{{\text{x}}} = \frac{L}{YA} \, f = Stiffness * f $$
(1)

\(u_{x} \left( L \right)\) is the displacement at endpoint location \(L\) along the axis x, \(u_{x} \left( 0 \right)\) is the displacement at endpoint location \(L = 0\) along the axis x, and \(\Delta u_{{\text{x}}}\) is the difference between two endpoints, which is the whole deflection of the rod. The rod length is \(L\), the rob material’s Young’s module is \(Y\), the rod’s cross-sectional area is \(A\) that doesn’t change along the length, and \(f\) is the only load applied to the linear elastic rod. The coefficient \(\frac{L}{YA}\) is also called the rod’s stiffness. This paper uses \(Stiffness\) directly to avoid confusion with strain. Table 2 shows the detailed vocabulary of the ontological formalism using the rod example, which includes the aforementioned dimension parameters and the displacement function in the last line.

A web-based tool called arrows.app is used to construct the knowledge graphs [19]. As we pre-define the above class nodes and relationships as the vocabulary, we can construct a rod primitive knowledge graph as shown in Fig. 1. Since there is no published literature on ontological knowledge graphs for 4D printed products, this knowledge graph is an attempt to integrate 4D printed products displacement with the material property ontologically.

Fig. 1.
figure 1

A knowledge graph example of the rod primitive displacement equation with pre-defined node and relationship vocabulary.

3 Demonstration with an Elongated Homogenous Rod Case

Here an elongated homogenous rod case is used to illustrate how the ontological knowledge graph framework can be applied to representing 4D printed product design and transformation. To visualize the rod model and its transformation, some assumptions are made to simplify the rod model. Using a matrix form (Eq. 2), strain-displacement relationship is used to compute the displacement of the rod. In Eq. 2, S is strain. The static equilibrium is written in indicial notations (Eq. 3).

$$ S = \left[ {\begin{array}{*{20}c} {S_{1} } \\ {S_{2} } \\ {S_{3} } \\ {S_{4} } \\ {S_{5} } \\ {S_{6} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {S_{{11}} } \\ {S_{{22}} } \\ {S_{{33}} } \\ {2S_{{23}} } \\ {2S_{{13}} } \\ {2S_{{12}} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {\frac{\partial }{{\partial x_{1} }}} & 0 & 0 \\ 0 & {\frac{\partial }{{\partial x_{2} }}} & 0 \\ 0 & 0 & {\frac{\partial }{{\partial x_{3} }}} \\ 0 & {\frac{\partial }{{\partial x_{3} }}} & {\frac{\partial }{{\partial x_{2} }}} \\ {\frac{\partial }{{\partial x_{3} }}} & 0 & {\frac{\partial }{{\partial x_{1} }}} \\ {\frac{\partial }{{\partial x_{2} }}} & {\frac{\partial }{{\partial x_{1} }}} & 0 \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {u_{1} } \\ {u_{2} } \\ {u_{3} } \\ \end{array} } \right] $$
(2)
$$ T_{{ji,j}} + f_{{V_{i} }} = \left[ {\begin{array}{*{20}c} {\frac{\partial }{{\partial x_{1} }}} & 0 & 0 & 0 & {\frac{\partial }{{\partial x_{3} }}} & {\frac{\partial }{{\partial x_{2} }}} \\ 0 & {\frac{\partial }{{\partial x_{2} }}} & 0 & {\frac{\partial }{{\partial x_{3} }}} & 0 & {\frac{\partial }{{\partial x_{1} }}} \\ 0 & 0 & {\frac{\partial }{{\partial x_{3} }}} & {\frac{\partial }{{\partial x_{2} }}} & {\frac{\partial }{{\partial x_{1} }}} & 0 \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {T_{{11}} } \\ {T_{{22}} } \\ {T_{{33}} } \\ {T_{{23}} } \\ {T_{{13}} } \\ {T_{{12}} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} {f_{{V_{1} }} } \\ {f_{{V_{2} }} } \\ {f_{{V_{3} }} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} 0 \\ 0 \\ 0 \\ \end{array} } \right] $$
(3)

For a small strain, the rod only deflects in one direction, and the force on the rod is equally distributed. Integrating Eq. 3 into Eq. 2 drives Eq. 4.

$$ S_{1} = \frac{{du_{1} }}{{dx_{1} }} = \frac{1}{Y}T_{1} = \frac{1}{Y}\frac{f}{A} = \frac{L}{YA}*\frac{f}{L} = Stiffness*\frac{f}{L} $$
(4)

Primitives can be built in a 3D modeling tool such as Rhino [20] and a graphical algorithm editor, grasshopper3D [21] using the parameters listed in Table 3. Grasshopper3D allows the transformed rod primitives to be programmed by governing Eq. 4.

Table 3. The rod parameters are used as the example from [22].

A grasshopper3D program for modeling a rod primitive is shown in Fig. 2. This rod primitive is shown on the upper right side of Fig. 2 in the Rhino window. In the Rhino window, the red rod is the initial state rod without the loaded force, while the green rod is the transformed shape after a loaded force, which is derived from the stimuli. As grasshopper3D is a unit-less application, as is in Rhino, the parameter units are changed from SI units to Imperial units in the modeling process for the visualization. The rod primitive starts with the geometric data (e.g., diameter (1 inch) and length (12 inch)). Then 800 psi Young’s modulus and 0.24 N force are applied for the transformation. An ontological knowledge graph framework can aid in the modeling and visualization process of 4D printed products, in terms of real design adjustments. The research team is currently developing a knowledge-based plug-in module to support engineers in reaching feasible 4D printed product design alternatives that consider transformation behavior and design intention.

Fig. 2.
figure 2

Programming components of a rod primitive with a pre-defined force 0.24 lbf.

To integrate graph database into this framework, a web-based tool, arrows.app is used and it supports converting the knowledge graph to several formats compatible with graph databases, such as neo4j, for native graph storage and processing. Table 4 shows the output of the Cypher format. Then a graph database is built in the neo4j server by running this clause, and it is shown in Fig. 3. The detailed meaning of clause and more experiments will be reported in a separated article.

Table 4. The cypher query clause is exported from the graph tool arrows.app.
Fig. 3.
figure 3

A graph demonstration in the neo4j graph database.

4 Conclusion

In this article, we presented an ontological knowledge graph framework. An elongated homogeneous rod case was presented to describe how the framework is utilized to represent of the 4D printed product model and its transformation behavior. Gruber and Olson’s EngMath ontology has been extended as an ontological vocabulary. The vocabulary was used as the basis to construct a knowledge graph. The knowledge graphs were used to visualize the model behavior in the grasshoper3D and Rhino, and the model data was converted to neo4j script to be imported as a graph database. The aim of this research project is to realize a data repository for 4D printed products and support the 4D/smart product design process. How the process is benefited by the data repository will be discussed in the future. To realize such information system and repository, the presented knowledge graph framework can be utilized as the basic information representation formalism. However, to improve the framework’s usability, more cases should be studied, such as more primitives and dynamic states of the transformation. Also, currently, the ontological knowledge graph captures an abstract model of the transformation. The effectiveness of such knowledge graph framework in terms of supporting design efficiency to reach 4D printed product design alternatives is an interesting study topic remaining. This study result will be reported separately. Additional smart material should also be included in the framework to verify its usability.