Next Article in Journal
Simulating Mold Filling in Compression Resin Transfer Molding (CRTM) Using a Three-Dimensional Finite-Volume Formulation
Next Article in Special Issue
Prediction of the Fiber Orientation State and the Resulting Structural and Thermal Properties of Fiber Reinforced Additive Manufactured Composites Fabricated Using the Big Area Additive Manufacturing Process
Previous Article in Journal
Simulation of the Oxygen Permeability of a Composite Container
Previous Article in Special Issue
Fibre Length Reduction in Natural Fibre-Reinforced Polymers during Compounding and Injection Moulding—Experiments Versus Numerical Prediction of Fibre Breakage
Article Menu

Export Article

J. Compos. Sci. 2018, 2(2), 22; https://doi.org/10.3390/jcs2020022

Article
Multi-Objective Patch Optimization with Integrated Kinematic Draping Simulation for Continuous–Discontinuous Fiber-Reinforced Composite Structures
1
Karlsruhe Institute of Technology (KIT), 76131 Karlsruhe, Germany
2
Western University, London, ON N6A 5B9, Canada
*
Author to whom correspondence should be addressed.
Received: 26 February 2018 / Accepted: 21 March 2018 / Published: 30 March 2018

Abstract

:
Discontinuous fiber-reinforced polymers (DiCoFRP) in combination with local continuous fiber reinforced polymers (CoFRP) provide both a high design freedom and high weight-specific mechanical properties. For the optimization of CoFRP patches on complexly shaped DiCoFRP structures, an optimization strategy is needed which considers manufacturing constraints during the optimization procedure. Therefore, a genetic algorithm is combined with a kinematic draping simulation. To determine the optimal patch position with regard to structural performance and overall material consumption, a multi-objective optimization strategy is used. The resulting Pareto front and a corresponding heat-map of the patch position are useful tools for the design engineer to choose the right amount of reinforcement. The proposed patch optimization procedure is applied to two example structures and the effect of different optimization setups is demonstrated.
Keywords:
multi-objective optimization; draping simulation; local reinforcement; evolutionary algorithm; patch optimization

1. Introduction

Discontinuous fiber reinforced polymers (DiCoFRP) offer a greater degree of design freedom than continuous fiber reinforced polymers (CoFRP). However, CoFRP offer higher properties in terms of stiffness and strength. Hence, the combination of both material classes provides the potential to utilize both the mechanical properties of CoFRP as well as the high degree of design freedom of DiCoFRP (cf. Figure 1) [1].
During the product development process, optimization techniques are applied to create design proposals within a given design space. The main objective of the optimization is to utilize the material performance, where different approaches have been developed for CoFRP and DiCoFRP. The most common approach for laminate optimization of CoFRP structures is a three-step process presented by Altair [2] and implemented in their commercial optimization tool OptiStruct. The approach consists of a free size, a size and a stacking optimization. A more general approach is the combination of stacking sequence with shape optimization within one single optimization run [3]. Due to the higher degree of design freedom, DiCoFRP require different optimization strategies. Therefore, topology optimization is used to create design proposals [4]. Topology optimization can also be used for nonlinear structural behavior, which can be caused by geometrical or material nonlinearity [5]. Traditional topology optimization was designed for isotropic materials. To regard the anisotropy of DiCoFRP, which is both process and topology dependent, some adjustments in the optimization procedure are necessary. In [6,7] an approach to optimize DiCoFRP parts is presented, where local fiber volume content and local thickness are used as optimization parameters. Another field of DiCoFRP optimization is the shape optimization, which is based on given parameters [8]. In contrast to topology optimization, shape optimization does not create a new total design but creates parameter-based changes of the component’s form. Shape optimization methods can be split into CAD-based (Computer-Aided Design) methods and mesh-based methods [3,8].
For a common component design process, it is often not purposeful nor sufficient to consider only one objective for the optimization. The most common approach to consider more than one objective is the use of the weighted sum method. However, this method has the drawback that weighting factors include user preferences in the optimization procedure [8,9]. Consequently, the result of the optimization is not necessarily the overall optimal solution. Thus, the optimization should be able to handle more than one objective to create a Pareto front as the basis of decision-making.
The manufacturability of a virtually optimized composite structure is a crucial precondition for the usability of optimization results. In multi-objective optimization, the consideration of manufacturing constraints ensures that all compared solutions are producible. This reduces the possibility of errors in the Pareto front. Therefore, manufacturing constraints such as large areas of identical thickness, smooth changes in thickness and maximum number of contiguous layers with identical material orientation are often included in structural optimization [3,10,11,12]. Zuo et al. [10] used a symmetry constraint to improve the quality of the topology optimization results. Zhou et al. [13] introduced a method to incorporate a tool opening direction constraint as well as an extrusion direction constraint. However, these approaches do not consider the interaction between process and structural design. For that purpose, an information transfer between the different simulation steps needs to be utilized, as realized in continuous composite CAE chains [14,15] (Computer-Aided Engineering). Due to the enormous computational effort, optimization based on process and structural simulation has scarcely been addressed so far. Kaufmann et al. [16] introduce a draping knowledge database to include manufacturing costs in the design process of slightly curved laminated CoFRP structures. To consider optimized manufacturable fiber orientations in structural simulation, Kärger et al. [17,18] introduce a continuous CAE workflow with integrated draping optimization, but do not consider structural optimization. Bulla et al. [19] propose a ply-wise structural optimization, where initial draping simulations are performed for the non-optimized plies to assume conceivable fiber orientations. This approach, however, does not consider the backward influence of the optimized ply structure on the draping results.
The optimization of combined DiCoFRP and CoFRP has hardly been studied. An approach for the size and position optimization of a single reinforcement patch on slightly curved geometries is shown by Zehnder and Ermanni [20]. Thereby, the patch contour is created by a parametrized CAD model and used as basis input for mesh generation. Contrary to our approach, the method does not incorporate a draping simulation. Hence, geometry-dependent patch alignment and fiber orientations are not considered directly within the finite-element-based optimization framework, but intermediate mesh generation via CAD is necessary. With the structural optimization of a patch layup for a sailing boat, Zehnder et al. [21] present another use case, where they did not focus on manufacturability or draping, but on finding the optimum ply layup. Therefore, the structure is divided into several patches and the local stacking sequence is used as optimization parameter. Mathias et al. [22] used a genetic algorithm for the optimization of composite repair patches for 2D aluminum components. Mejlej et al. [23] present the optimization of local reinforcements for the automated fiber placement process, based on two different genetic algorithms. Another strategy to combine CoFRP with DiCoFRP is the use of local tow reinforcements. Jansson et al. [24] present a genetic algorithm coupled with a surrogate model to find the optimum layup for a given structure supported by a local unidirectional tow path. None of these optimization approaches includes draping simulation methods to consider the geometry-dependent position and orientation of the local CoFRP reinforcements.
Evolutionary algorithms have been successfully applied to several different engineering use cases [4]. Skordos et al. [25] used the combination of an evolutionary algorithm with a kinematic draping simulation to improve the draping quality of a given layup. In their approach, the draping starting point and direction are used as design parameters, while the shear angle is used as optimization objective. A more advanced draping optimization approach is proposed by Chen et al. [26]. They use an FE-based draping simulation and optimize the arrangement of lateral clamping by applying evolutionary algorithms to minimize the shear angle. Those process optimization approaches, however, do not consider the structural performance. Those use cases show that engineering problems can be solved efficiently with evolutionary algorithms. In the present work, an optimization strategy for unidirectional CoFRP patch reinforcements on complexly curved DiCoFRP structures is presented. Manufacturing constraints in terms of fiber orientations and manufacturable patch positions and sizes are taken into account during the optimization procedure. To model fiber orientations with dependence on varying patch positions, a kinematic draping simulation is integrated into the optimization algorithm. To automatically consider multiple objectives regarding patch usage and structural performance within one single optimization run, a genetic algorithm is used and combined with the kinematic draping simulation. The defined optimization problem combines shape and topology optimization, where the change of patch size is a kind of shape optimization, while the positioning of the patch can be assigned to the field of topology optimization.

2. Draping Simulation

2.1. Suitability of Existing Draping Simulation Methods for Optimization

Since the fiber structure determines the mechanical properties of the final part, it is important to predict the fiber architecture by draping simulation. In principle, the available draping simulation approaches can be separated in two fields, kinematic (also known as mapping approaches) and mechanical methods [27]. Both approaches have been developed with a different focus. Mechanical approaches are based on constitutive models and offer higher prediction accuracy of the actual material behavior [28,29,30,31]. Therefore, a good knowledge of the material behavior is essential. Compared to this, kinematic approaches offer only an approximate prediction of the material behavior and, thus, do not require material characterization. Moreover, kinematic approaches are usually very efficient. Due to the lack of exact modeling of the material behavior, it is not possible to predict wrinkling by kinematic draping simulation. The drawbacks and advantages of kinematic methods have been extensively studied by multiple authors [32,33,34,35,36]. A main disadvantage of kinematic draping simulation is the dependence of the simulation result on the choice of the starting point and of the initial path of the kinematic algorithm [37,38].
Due to the high number of simulations performed during optimization, a very efficient draping algorithm is needed. Since kinematic draping simulation requires small computation times, it is, from a computational point of view, more suitable for optimization workflows than constitutive-based draping simulation. Furthermore, the optimization shall work as a suggestion for the designer and not as a final verification. Hence, a mechanical draping simulation must be performed afterwards to ensure manufacturability of the optimized patch setup without forming defects like wrinkling, fiber fracture or gapping. This is similar to topology optimization, where a verification simulation is needed to ensure the load-bearing capacity of the optimized topology [8]. The focus of the draping simulation within the presented optimization workflow is the calculation of the final patch geometry, while the prediction of forming defects is not yet relevant. Therefore, kinematic draping simulation is chosen to be sufficient for the aspired purpose. The drawbacks regarding the dependence on the initial starting point are not highly important, since all possible starting points are taken into account by the proposed optimization workflow, see Section 3.2.

2.2. Kinematic Draping Algorithm to Be Embedded in the Optimization Workflow

The general assumption of kinematic draping simulation is the inextensibility of the material in fiber direction. Depending on the type of fiber reinforcement, the deformation of the material is assumed as pure shear or simple shear along the fiber direction. While woven fabrics deform in pure shear, unidirectional reinforcements are assumed to deform in simple shear, as shown in Figure 2. In simple shear, the distance between adjacent fibers is assumed to be constant [27].
Starting point, patch orientation, patch length and width are the necessary input parameters for the kinematic draping simulation. Another required input is the geometry of the initial component, on which the patch is going to be draped. The first step is to create the initial paths A and B on the part surface, starting from the given starting point (cf. Figure 3a). Thereby, A is the initial path in fiber direction, while B is perpendicular to the fiber direction.
For the calculation of the next node a<i+1> from the current node a<i>, a number of constraints need to be fulfilled. Firstly, the distance between both nodes is set to be equal to the defined mesh size m
| a i + 1 a i | = m .
Furthermore, the node a<i+1> has to be on the initial component surface
a 3 i + 1 = F ( a 1 i + 1 , a 2 i + 1 ) ,
where a 1 i + 1 ,   a 2 i + 1 and a 3 i + 1 are the x, y, z components of the new node and F(x, y) represents the surface of the initial component. Additionally, it has to be ensured that the given global patch direction α is maintained. With these assumptions all nodes along the initial paths A and B can be calculated.
Based on these initial paths, all other nodes can be calculated. From the assumption of simple shear (Figure 2) the following equations can be derived for the parallel paths
| a A ( i + 1 ) ,     B ( j + 1 ) a A ( i + 1 ) , B ( j ) | = m ,
| a A ( i + 1 ) , B ( j + 1 ) a A ( i ) , B ( j + 1 ) | = m ,   w i t h   i = 1 ,   2 ,   l 0 m   ,     j = 1 ,   2 , w 0 m .
Equations (3) and (4) represent that the distance between the fibers as well as the fiber length is constant during the draping process. Hereby a A ( i + 1 ) , B ( j ) is the next node on path A, while a A ( i ) , B ( j + 1 ) is the closest node on path B (cf. Figure 3b, l0) the initial patch length and w0 the initial patch width. Again, the node has to be on the part surface, which is represented by Equation (2).
Rearrangement of Equations (2)–(4) leads to the following system of equations
0 = ( a 1 A ( i + 1 ) ,     B ( j + 1 ) a 1 A ( i + 1 ) , B ( j ) ) 2 + ( a 2 A ( i + 1 ) ,     B ( j + 1 ) a 2 A ( i + 1 ) , B ( j ) ) 2 + ( a 3 A ( i + 1 ) ,     B ( j + 1 ) a 3 A ( i + 1 ) , B ( j ) ) 2 m 2
0 = ( a 1 A ( i + 1 ) ,     B ( j + 1 ) a 1 A ( i ) , B ( j + 1 ) ) 2 + ( a 2 A ( i + 1 ) ,     B ( j + 1 ) a 2 A ( i ) , B ( j + 1 ) ) 2 + ( a 3 A ( i + 1 ) ,     B ( j + 1 ) a 3 A ( i ) , B ( j + 1 ) ) 2 m 2
0 = a 3 A ( i + 1 ) ,   B ( j + 1 ) F ( a 1 A ( i + 1 ) ,   B ( j + 1 ) , a 2 A ( i + 1 ) ,   B ( j + 1 ) ) ,
which has to be solved for all nodes. The presented kinematic draping approach is implemented in MatLab and embedded in the optimization workflow.

3. Multi-Objective Patch Optimization Workflow

3.1. Genetic Algorithms for Multi-Objective Optimization

The field of evolutionary algorithms consist of several different strategies, like genetic algorithms, evolutionary strategies, genetic programming, and evolutionary programming [39]. The most popular type of evolutionary algorithm is the genetic algorithm, which is why both are often used synonymously. Contrary to other evolutionary algorithm (e.g., evolutionary strategies), for genetic algorithm mutation is not the primary search operator and therefore a recombination step is included, to propose solutions based on prior solutions. Since a genetic algorithm is applied here, this section will only focus on this method.
A genetic algorithm consists of the three main steps recombination, mutation, and replacement (also known as selection) [40]. The genetic algorithm workflow, adapted for the purpose of this work, is shown in Figure 7. A set of possible solutions is called population, where one parameter set is called individual. The initial population is created with a random distribution within the search space. After a fitness calculation of each individual, a replacement process is applied to select the individuals for the next generation. In our work, we will demonstrate the influence of the used replacement mechanism. Therefore, an elitist method is compared with a below-limit method. For the elitist method, only the best solutions are passed on from one generation to the next. Referred to Figure 4, this means, only front 1 with solution q1 will be preserved, since fitness 1 and 2 for solution q1 are better than for solution q2. This method is likely to lower the diversity in a population, but converges faster to a final front. With the below-limit method also a number of dominated individuals is passed on from one generation to the next. In the given example in Figure 4, front 2 would also be kept in the population. This helps to maintain diversity in the set of solutions, but convergence is usually slower than for the elitist method.
In the recombination phase, a crossover operator is applied to create new individuals (offspring) based on existing individuals. The optimization algorithm is used with two different crossover operators. Both operators use a binary representation for the design variables and a bit-switching crossover. Bit-switching means that a number of bits is exchanged between the parents to create new offspring. The number of used parents is two for both crossover types. Each crossover type is characterized by the crossover parameter μ, which represents the number of bit switching operations. The first used crossover operator is the multi-point parametrized binary (cf. Figure 5). Here each design variable is treated individually, hence the total number of switched bits is related to the number of design variables. If the crossover parameter μ is set to one, for each parameter one bit is switched.
The second crossover parameter used in this work is the multi-point binary crossover, where the vector of design variables u is represented as one bit string (cf. Figure 6). This means that the number of crossover operations is independent of the number of design variables. Since the crossover is applied to the whole vector of design variables at once, it is possible that some variables are changed at more than one bit, while other variables remain unchanged.
The diversity in the population is maintained by the incorporation of a mutation step. The mutation scheme applied here uses also the binary representation of the design variables. Thereby one random bit of a design variable is changed with a given probability β .
There are two general approaches to create new populations: the generational and the steady-state approach. In the generational approach, the new generation created only with the offspring replaces the parents’ generation. In contrast, the steady-state approach applies a replacement mechanism to select the individuals form the parents’ generation and the offspring for the next generation. The steady-state strategy is applied here, since it is more likely to converge [41]. Furthermore, a niching pressure is used to ensure a diversity along the Pareto front and a more regular distribution. Therefore, the solutions are pre-sampled before the actual replacement mechanism is encountered. This means that in a given area only one solution remains “selectable” during the replacement process.

3.2. Patch Optimization Workflow with Embedded Kinematic Draping Simulation

The multi-objective patch optimization problem is defined by
M i n i m i z e   F ( u ) = [ F 1 ( u ) ,   F 2 ( u ) ] T ,   u   ϵ   U ,
where the objective function F1 is the global strain energy, the objective function F2 is the patch usage in terms of patch length, and
u = [ x , y , l , α ] T
is the vector of design variables consisting of patch position (x, y), patch length l and angle α of the patch orientation, see Figure 7b. The optimization is performed within the following boundary conditions:
x m i n < x i < x m a x
y m i n < y i < y m a x
l m i n < l i < l m a x ,     w i t h   s t e p s i z e   l s t e p
α m i n < α i < α m a x ,     w i t h   s t e p s i z e   α s t e p .
The minimization of the strain energy can be seen as a maximization of the total part stiffness. For linear–elastic material behavior, the strain energy can be defined by
W ε global =   Ω σ T ε   d V   =   1 2 i = 1 n P i T d i ,
where P i and d i are the nodal forces and nodal displacements of a finite element model with n element nodes.
The objective of the optimization is to find a solution u which minimizes all objective functions. Here, the objective functions F1 and F2 depend on each other, which means that improving one objective will impair another. For such cases, Villfredo Pareto described the idea to find a set of optimal solutions, the so-called Pareto set or Pareto front. Contrary to most multi-objective optimizations, no weighting function will be used in our approach. In this way, all combinations of optimal solutions stay preserved and solutions do not get lost due to enforced weighting of the multiple objective functions.
The general approach of the patch optimization workflow is shown in Figure 7a. Firstly, the initial population of design variable sets u i is created with uniform random distribution for each parameter within the given design space. Secondly, the initial fitness calculation is performed, where the kinematic draping simulation (see Section 2.2) is integrated into the fitness calculation step of the multi-objective genetic algorithm (Figure 7c). The draping simulation is used to create the necessary input for the structural simulation, in terms of position and fiber orientation of the formed CoFRP patch. Furthermore, the draping simulation is used to return the fitness value F2. Fitness value F2 represents the amount of used patch length. Since the random selection of design variables u may create patch lengths, which overlap the boundaries of the geometry, two different scenarios have to be distinguished:
  • The patch fits completely on the DiCoFRP component: Here the patch usage is equal to the design parameter, representing the patch length.
  • The patch does not fit completely on the DiCoFRP component: Here the patch is cut at the boarder of the component and the resulting length is returned as F2.
Subsequent to draping simulation, a structural simulation computes the fitness value F1, which represents the compliance of the component, quantified by the global strain energy. The structural simulation is performed by using the finite element software Abaqus.
For the optimization algorithm, the open access software toolkit Dakota is used, an implementation of the Sandia National Laboratories [42]. The Dakota toolkit provides diverse operators for genetic algorithms (as the ones described in Section 3.1) as well as an interface between analysis code and optimization methods. Within the optimization loop, two termination criteria can be used: A maximum number of iterations n and a convergence metric.

3.3. Convergence Criteria

Since multi-objective optimization has the goal to predict a wide range of the Pareto front, more than one criterion is needed to properly characterize the performance. Hence, three criteria are introduced to evaluate the convergence rate, the quantity of solutions, and the diversity:
  • Dominated area for the evaluation of the convergence rate. The dominated area is defined as the area enclosed by the current front and the extreme points k 1 and k 2 and therefore represents the progress of the optimization, cf. Figure 8. The extreme points are defined by
    k i = [ F 1 ( u i ) ,   F 2 ( u i ) ] T ,   i 1 , 2
    k 1 = { k | F 1 ( u 1 ) > F 1 ( u )     u U }
    k 2 = { k | F 2 ( u 2 ) > F 2 ( u )     u U } .
  • Number of solutions along the Pareto front.
  • Patch length distribution. The patch length is modeled as a discrete design variable. Therefore, the percentage share of the patch length partitions along the Pareto front is used to describe the distribution along the front.
To evaluate the global strain objective in conjunction with the patch usage objective, the patch position (including patch length) is visualized by means of a heat-map, which weights the resulting fitness values. Therefore, the results along the Pareto front are summarized in a weighted form. The weighting factor ω i is calculated by
ω i = ( F 1 ( u i ) F 1 , max ( u max 1 ) · F 2 ( u i ) F 2 , max ( u max 2 ) ) 1 ,   i = 1 n ,
with n as the number of individuals on the Pareto front. F 1 , max is the maximum value observed for fitness 1, and F 2 , max the maximum value observed for fitness 2. The weighting is normalized and plotted on a uniform mesh, which is only used for visualization purposes (cf. Figure 15).
Beside the performance evaluation, the heat map is a useful tool for the designer to find the areas in which the reinforcement is most effective. Thereby, areas with high patch concentration (cf. red regions in Figure 15) should be preferred over those with a lower patch concentration (cf. blue regions in Figure 15).

4. Application Examples

4.1. Problem Description and Optimization Parameter

The proposed algorithm will be demonstrated by two example structures. The first demonstrator part is a flat plate (Figure 9 left), the second test case is a curved structure (Figure 9 right). For both structures a bending load is applied. The design area for the patch placement is in both cases the top side. All optimization runs are conducted with the fix number of two patches. Both problems are modeled with shell elements and linear elastic material behavior.
The plate structure A is used to demonstrate the general capability of the method to solve the patch optimization problem. Furthermore, it is used to compare the crossover types and select the more suitable one for the detailed studies with the curved structure B. Table 1 gives an overview of the conducted optimization runs, where the optimization operators for mutation, replacement and niching (cf. Section 3.1) are systematically varied for structure B. All configurations of B are compared with a basis setup B-Opt 1.

4.2. Results and Discussion for the Flat Plate Example

For the crossover comparison, the basis setup A-Opt 1 (Table 1) is used as benchmark. To characterize the distribution within the search space, all solutions are arranged in groups with patch-length steps of 25 mm, from 0 mm to 425 mm maximum patch length for example A. The division into the seventeen groups will also be used for A-Opt-2. Since the resulting patch length for example B is longer, a division into 26 groups of 25 mm each is used. The distribution of the results within the search space for example A is shown in Figure 10a. The presented figure shows that solutions with smaller total patch length are more likely to appear. This is also demonstrated by the percentage share of all A-Opt 1 results in Figure 10c. In the given example, the shortest possible patch length is 25 mm, therefore patch usage group 1 remains empty. Furthermore, four reference points are given in Figure 10a, which correspond to the patch configurations shown in Figure 10b. These points shall help to evaluate the optimization results.
The configurations A-Opt 1 and A-Opt 2 are used to show the general ability of the proposed algorithm to solve the patch optimization problem. Furthermore, the results will be used to select the crossover type (parameterized binary or multi-point binary, cf. Section 3.1) used for the curved structure. Comparing the Pareto fronts, both optimizations converge to a similar front (cf. Figure 11a) which allows the assumption that the proposed approach runs stable.
The convergence rate, represented by the increase of the dominated area (Figure 11b), is significantly higher for the multi-point binary crossover (A-Opt 2) than for the parameterized binary crossover (A-Opt 1). This is due to the fact that the multi-point binary crossover can change a design variable on several bits, while other design variables remain unchanged. Consequently, the multi-point binary crossover has a more pronounced global search than the parametrized binary crossover, which only applies one change per variable. Comparing the number of solutions found on the final Pareto front, the multi-point binary crossover also has a better performance. Both heat maps show the similar result that a reinforcement on the left side of the plate will create the best result in terms of the total strain energy (Figure 11e,f). This can also be seen by the proposed reference points (cf. Figure 10b) where configuration 4 is the best solution, in terms of strain energy minimization. Comparing the distribution of the solutions on the Pareto front of A-Opt 1 (cf. Figure 11d) with the distribution of all solutions of A-Opt 1 (Figure 10c), it can be seen that the qualitative distribution is very similar. As for A-Opt 1, the solutions along the Pareto front of A-Opt 2 also show a tendency to smaller total patch lengths. However, the more global variability of A-Opt 2 yields slightly longer patches on average.
Summarizing the crossover effects, the multi-point binary crossover offers a better performance in terms of convergence rate and number of found solutions. Since both final Pareto fronts are quite similar, the multi-point binary crossover is used to perform the optimization runs with the curved structure.

4.3. Results and Discussion for the Curved Structure Example

For the second optimization example B, the multi-point binary crossover is kept constant, while the optimization parameters for mutation, replacement and niching are systematically varied to show their influence on the performance of the optimization. Like the plate structure A, the Pareto fronts obtained for the different setups (cf. Table 1) are compared with predefined reference points to evaluate the results (cf. Figure 12). Thereby, the patch reinforcement of reference point 4 ends at the constraint area, while the reinforcement from point 3 is limited by the part geometry.
Comparing the different mutation settings, the higher mutation (B-Opt 2) creates a slightly better result regarding stiffness maximization for large patch lengths (cf. Figure 13). This is due to the fact that the changes applied by the mutation operator work similar to the crossover process, and therefore increase the search power of the optimization. The dominated area does not converge faster compared to the low mutation (Figure 13b), but starts at a higher value. When looking at the number of found solutions, as a second quality criterion, the number of found solutions at the final front is higher for the higher mutation rate (cf. Figure 13c). Comparing the heat maps, it can be seen that both optimization runs end up in similar results (cf. Figure 16a,b). The better performance in terms of finding the extreme point regarding stiffness maximization is not visible in the heat map (Figure 16b), since only a small proportion of solutions is in the extreme area, and is therefore underrepresented within the heat map. This also shows that the heat map is an additional tool, but should not be considered as the only basis of decision, but always in combination with the Pareto front.
Comparing the results obtained by calculation B-Opt 1, B-Opt 3 (replacement type below-limit, where also dominated individuals are passed to the next generation), and B-Opt 4 (with niching), no significant change regarding the Pareto front and the convergence rate can be seen (cf. Figure 14 and Figure 15 each (a) and (b)). The difference in the results of the different setups becomes more obvious comparing the heat maps (cf. Figure 16). Here can be seen that the distribution of the resulting patch positions is more balanced (reflected in a more pronounced symmetrical picture in the heat map), when more fronts are taken into account (B-Opt 3) or a niching pressure is applied (B-Opt 4). This effect results from a higher diversity of the found solutions along the Pareto front.
For the given example, a reinforcement covering the position of the structural kink has a large effect on the total component’s stiffness. This becomes evident when comparing reference points 2 and 3 (cf. Figure 12) as well as in the heat maps, represented by the red areas (cf. Figure 16c,d). The red areas in the heat maps for B-Opt 1 and B-Opt 2 are smaller compared to those of B-Opt 3 and B-Opt 4, resulting from a lower diversity, and therefore an allocation of solutions with smaller patch length.
Summarizing the results obtained with the curved structure, all optimizations converge to a similar final Pareto front, showing that the proposed approach is capable to solve the patch optimization problem. Furthermore, it could be seen that a higher mutation rate is likely to improve the ability of finding extreme points regarding stiffness maximization. However, the diversity of the solutions is still low, which results in a more asymmetrical heat map. Utilizing the heat maps, the best results could be achieved by incorporating a niching pressure and using the below limit replacement method. This was demonstrated by a more symmetrical picture in the heat map. The effect on the convergence rate was found to be small for the proposed configurations, except for the higher mutation rate, which creates a slightly higher convergence rate, represented by the dominated area. Based on this, a higher mutation rate is suggested if the finding of extreme solutions (maximum stiffness) has a higher preference. Additionally, a niching pressure and a below limit replacement are helpful to achieve a more balanced Pareto front and therefore more suitable heat maps.

5. Conclusions

To optimize local continuous fiber reinforcements, the consideration of manufacturing constraints creates an essential benefit for the quality of the optimization results. By integrating draping simulation in the structural optimization workflow, more feasible optimization results can be achieved. The computed optimal size, position and orientation of the continuous fiber tapes can directly be implemented in the manufacturing process. For that purpose, the presented tape optimization workflow incorporates an efficient kinematic draping simulation method. Furthermore, the tape optimization algorithm is performed with multiple objectives to consider the minimal material consumption and the maximal structural stiffness simultaneously; therefore, a genetic algorithm with which a non-weighting approach could be realized. The resulting Pareto front, created by the multi-objective optimization procedure, is a helpful tool for the design engineer in the decision-making process. A heat-map, resulting from the Pareto front, has been introduced to further support the designer by visualizing areas that are important for patch reinforcement. Furthermore, the heat-maps are a useful tool, when interpreting the performance of the algorithm in terms of providing results with a wide diversity in the search space.
Comparing the influence of different settings for the genetic algorithm, the operators’ crossover, mutation, replacement, and niching and their influence on the algorithm’s performance have been demonstrated for two different use cases. Both examples show that for the evaluation of multi-objective optimization problems more than one performance criteria is necessary. Thus, convergence performance, number of found solutions, and the distribution within the search space are used to describe and compare the general behavior.
The first example was used to initially verify the general capability of the optimization algorithm and to compare two different crossover approaches. It could be demonstrated that the multi-point binary crossover converges fast and is likely to find a larger number of solutions on the Pareto front.
A curved structure was used a second example. Thereby, the influence of different mutation rate, replacement type, and niching pressure on the algorithm’s performance was demonstrated. By comparing the Pareto fronts, it could be demonstrated that the proposed approach is capable of accurately solving the patch optimization problem, since all optimization runs converge to a similar front. A higher mutation rate has shown a positive effect by finding extreme points regarding stiffness maximization. This is underrepresented within the heat map, since only a small proportion of solutions is in the extreme area. The niching pressure improved the diversity along the front significantly, which could be seen in a more pronounced symmetrical heat map. This underlines the importance of using more than one criteria for the evaluation of the optimization results, like a combination of Pareto front and heat map. Overall, a higher mutation rate is suggested when the finding of extreme solutions has a higher preference. Additionally, a niching pressure and a below-limit replacement are suggested when focusing on a more balanced distribution of the results along the front.

Acknowledgments

The research documented in this manuscript has been funded by the German Research Foundation (DFG) within the International Research Training Group “Integrated engineering of continuous-discontinuous long fiber reinforced polymer structures“ (GRK 2078). The support by the German Research Foundation (DFG) is gratefully acknowledged. Additionally, the work is part of the research of the Young Investigator Group (YIG) “Tailored Composite Materials for Lightweight Vehicles”, funded by the Vector Stiftung.

Author Contributions

Benedikt Fengler performed the major part of the work in terms of method development and implementation. He also wrote the first draft of the paper. Luise Kärger initiated the research subject, supervised the method development, supported the discussion of simulation results and thoroughly revised the paper. Andrew Hrymak supervised the method development and result discussion during a research stay at Western University. Frank Henning supervised the work in terms of composite process knowledge and relevance of the addressed subjects.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Bücheler, D.; Trauth, A.; Damm, A.; Böhlke, T.; Henning, F.; Kärger, L.; Seelig, T.; Weidenmann, K.A. Processing of continuous-discontinuous-fiber-reinforced thermosets. In Proceedings of the SAMPE Europe Conference, Stuttgart, Germany, 14–16 November 2017. [Google Scholar]
  2. Zhou, M.; Kemp, M.; Yancey, R.; Mestres, E.; Mouillet, J. Applications of Advanced Composite Simulation and Design Optimization. Altair Eng. 2011. [Google Scholar]
  3. Allaire, G.; Delgado, G. Stacking sequence and shape optimization of laminated composite plates via a level-set method. J. Mech. Phys. Solids 2016, 97, 168–196. [Google Scholar] [CrossRef]
  4. Saitou, K.; Izui, K.; Nishiwaki, S.; Papalambros, P. A Survey of Structural Optimization in Mechanical Product Development. J. Comput. Inf. Sci. Eng. 2005, 5, 214–226. [Google Scholar] [CrossRef]
  5. Huang, X.; Xie, Y.M. Topology optimization of nonlinear structures under displacement loading. Eng. Struct. 2008, 30, 2057–2068. [Google Scholar] [CrossRef]
  6. Qian, C.C.; Harper, L.T.; Turner, T.A.; Warrior, N.A. Structural optimisation of random discontinuous fibre composites: Part 1—Methodology. Compos. Part A Appl. Sci. Manuf. 2015, 68, 406–416. [Google Scholar] [CrossRef]
  7. Qian, C.C.; Harper, L.T.; Turner, T.A.; Warrior, N.A. Structural optimisation of random discontinuous fibre composites: Part 2—Case study. Compos. Part A Appl. Sci. Manuf. 2015, 68, 417–424. [Google Scholar] [CrossRef]
  8. Harzheim, L. Strukturoptimierung: Grundlagen und Anwendungen, 2nd ed.; Europa-Lehrmittel: Haan-Gruiten, Germany, 2014. [Google Scholar]
  9. Marler, R.T.; Arora, J.S. The weighted sum method for multi-objective optimization: New insights. Struct. Multidiscip. Optim. 2010, 41, 853–862. [Google Scholar] [CrossRef]
  10. Zuo, K.; Chen, L.; Zhang, Y.; Yang, J. Manufacturing- and machining-based topology optimization. Int. J. Adv. Manuf. Tech. 2006, 27, 531–536. [Google Scholar] [CrossRef]
  11. Sørensen, S.N.; Lund, E. Topology and thickness optimization of laminated composites including manufacturing constraints. Struct. Multidiscip. Optim. 2013, 48, 249–265. [Google Scholar] [CrossRef]
  12. Zein, S.; Madhavan, V.; Dumas, D.; Ravier, L.; Yague, I. From stacking sequences to ply layouts: An algorithm to design manufacturable composite structures. Compos. Struct. 2016, 141, 32–38. [Google Scholar] [CrossRef]
  13. Zhou, M.; Fleury, R.; Shyy, Y.; Thomas, H.; Brennan, J. Progress in Topology Optimization with Manufacturing Constraints. In Proceedings of the 9th AIAA/ISSMO Symposium on Multidisciplinary Analysis and Optimization, Atlanta, GA, USA, 4–6 September 2002. [Google Scholar]
  14. Hohberg, M.; Kärger, L.; Henning, F.; Hrymak, A. Process Simulation of Sheet Molding Compound (SMC) as key for the integrated Simulation Chain. In Proceedings of the Simulation of Composites—Ready for Industry 4.0? Hamburg, Germany, 24–27 October 2016; pp. 61–67. [Google Scholar]
  15. Kärger, L.; Bernath, A.; Fritz, F.; Galkin, S.; Magagnato, D.; Oeckerath, A.; Schön, A.; Henning, F. Development and validation of a CAE chain for unidirectional fibre reinforced composite components. Compos. Struct. 2015, 132, 350–358. [Google Scholar] [CrossRef]
  16. Kaufmann, M.; Zenkert, D.; Åkermo, M. Cost/weight optimization of composite prepreg structures for best draping strategy. Compos. Part A Appl. Sci. Manuf. 2010, 41, 464–472. [Google Scholar] [CrossRef]
  17. Kärger, L.; Galkin, S.; Dörr, D.; Schirmaier, F.; Oeckerath, A.; Wolf, K. Continuous CAE chain for composite design, established on an HPC system and accessible via web-based user-interfaces. In Proceedings of the NAFEMS World Congress, Stockholm, Sweden, 11–14 June 2017. [Google Scholar]
  18. Kärger, L.; Galkin, S.; Zimmerling, C.; Dörr, D.; Linden, J.; Oeckerath, A.; Wolf, K. Forming optimisation embedded in a CAE chain to assess and enhance the structural performance of composite components. Compos. Struct. 2018. [Google Scholar] [CrossRef]
  19. Bulla, M.; Beauchense, E.; Ehrhart, F.; Trickov, V. A holistic simulation driven composite design process. Proc. NAFEMS Semin. Simul. 2014, in press. [Google Scholar]
  20. Zehnder, N.; Ermanni, P. Optimizing the shape and placement of patches of reinforcement fibers. Compos. Struct. 2007, 77, 1–9. [Google Scholar] [CrossRef]
  21. Zehnder, N.; Ermanni, P. A methodology for the global optimization of laminated composite structures. Compos. Struct. 2005, 72, 311–320. [Google Scholar] [CrossRef]
  22. Mathias, J.; Balandraud, X.; Grediac, M. Applying a genetic algorithm to the optimization of composite patches. Comput. Struct. 2006, 84, 823–834. [Google Scholar] [CrossRef]
  23. Mejlej, V.G.; Falkenberg, P.; Türck, E.; Vietor, T. Optimization of Variable Stiffness Composites in Automated Fiber Placement Process using Evolutionary Algorithms. Procedia CIRP 2017, 66, 79–84. [Google Scholar] [CrossRef]
  24. Jansson, N.; Wakeman, W.D.; Månson, J.E. Optimization of hybrid thermoplastic composite structures using surrogate models and genetic algorithms. Compos. Struct. 2007, 80, 21–31. [Google Scholar] [CrossRef]
  25. Skordos, A.A.; Sutcliffe, M.P.F.; Klintworth, J.W.; Adolfsson, P. Multi-Objective Optimisation of Woven Composite Draping using Genetic Algorithms. In Proceedings of the 27th International Conference SAMPE Europe, Paris, France, 27–29 March 2006. [Google Scholar]
  26. Chen, S.; Harper, L.T.; Endruweit, A.; Warrior, N.A. Formability optimisation of fabric preforms by controlling material draw-in through in-plane constraints. Compos. Part A Appl. Sci. Manuf. 2015, 76, 10–19. [Google Scholar] [CrossRef]
  27. Lim, T.; Ramakrishna, S. Modelling of composite sheet forming: A review. Compos. Part A Appl. Sci. Manuf. 2002, 33, 515–537. [Google Scholar] [CrossRef]
  28. Spencer, A.J.M. Theory of fabric-reinforced viscous fluids. Compos. Part A Appl. Sci. Manuf. 2000, 31, 1311–1321. [Google Scholar] [CrossRef]
  29. Boisse, P.; Aimène, Y.; Dogui, A.; Dridi, S.; Gatouillat, S.; Hamila, N.; Khan, M.A.; Mabrouki, T.; Morestin, F.; Vidal-Sallé, E. Hypoelastic, hyperelastic, discrete and semi-discrete approaches for textile composite reinforcement forming. Int. J. Mater. Form. 2010, 3, 1229–1240. [Google Scholar] [CrossRef]
  30. Dörr, D.; Schirmaier, F.J.; Henning, F.; Kärger, L. A viscoelastic approach for modeling bending behavior in finite element forming simulation of continuously fiber reinforced composites. Compos. Part A Appl. Sci. Manuf. 2017, 94, 113–123. [Google Scholar] [CrossRef]
  31. Schirmaier, F.J.; Dörr, D.; Henning, F.; Kärger, L. A macroscopic approach to simulate the forming behaviour of stitched unidirectional non-crimp fabrics (UD-NCF). Compos. Part A Appl. Sci. Manuf. 2017, 102, 322–335. [Google Scholar] [CrossRef]
  32. Sharma, S.B.; Sutcliffe, M.P.F. Draping of woven fabrics: Progressive drape model. Plast. Rubber Compos. 2013, 32, 57–64. [Google Scholar] [CrossRef]
  33. Yang, B.; Jin, T.; Bi, F.; Li, J. A Geometry Information Based Fishnet Algorithm for Woven Fabric Draping in Liquid Composite Molding. Mater. Sci. 2014, 20, 513–521. [Google Scholar] [CrossRef]
  34. Smiley, A.J.; Pipes, R.B. Analysis of the Diaphragm Forming of Continuous Fiber Reinforced Thermoplastics. J. Thermoplast. Compos. Mater. 1988, 1, 298–321. [Google Scholar] [CrossRef]
  35. Long, A.C.; Rudd, C.D. A simulation of reinforcement deformation during the production of preforms for liquid moulding processes. Proc. Inst. Mech. Eng. Part B J. Eng. Manuf. 1994, 208, 269–278. [Google Scholar] [CrossRef]
  36. Pickett, A.K.; Creech, G.; Luca, P.D. Simplified and advanced simulation methods for prediction of fabric draping. Rev. Eur. Elem. 2012, 14, 677–691. [Google Scholar] [CrossRef]
  37. Van West, B.P.; Pipes, R.B.; Keefe, M. A Simulation of the Draping of Bidirectional Fabrics over Arbitrary Surfaces. J. Text. Inst. 1990, 81, 448–460. [Google Scholar] [CrossRef]
  38. Vanclooster, K.; Lomov, S.V.; Verpoest, I. Simulating and validating the draping of woven fiber reinforced polymers. Int. J. Mater. Form. 2008, 1, 961–964. [Google Scholar] [CrossRef]
  39. Bäck, T. Evolutionary Algorithms in Theory and Practice: Evolution Strategies, Evolutionary Programming, Genetic Algorithms; Oxford University Press: Oxford, UK, 1996. [Google Scholar]
  40. Coello, C.A. A Short Tutorial on Evolutionary Multiobjective Optimization. In International Conference on Evolutionary Multi-Criterion Optimization; Springer: Berlin/Heidelberg, Germany, 2001; pp. 21–40. [Google Scholar]
  41. Giger, M. Representation Concepts in Evolutionary Algorithm-Based Structural Optimization. Ph.D. Thesis, Zürich, Switzerland, 2007. [Google Scholar]
  42. Adams, B.M.; Bauman, L.E.; Bohnhoff, W.J.; Dalbey, K.R.; Ebeida, M.S.; Eddy, J.P.; Eldred, M.S.; Hough, P.D.; Hu, K.T.; Jakeman, J.D.; et al. Dakota, A Multilevel Parallel Object-Oriented Framework for Design Optimization, Parameter Estimation, Uncertainty Quantification, and Sensitivity Analysis: Version 6.0 User’s Manual. July 2014; Updated November 2015 (Version 6.3). Sandia Technical Report SAND2014-4633. Available online: https://dakota.sandia.gov/content/citing-dakota (accessed on 13 March 2017). [Google Scholar]
Figure 1. Example of a local continuous fiber reinforced composites (CoFRP, black) reinforced discontinuous fiber reinforced composites (DiCoFRP, white) structure (obtained from [1]).
Figure 1. Example of a local continuous fiber reinforced composites (CoFRP, black) reinforced discontinuous fiber reinforced composites (DiCoFRP, white) structure (obtained from [1]).
Jcs 02 00022 g001
Figure 2. Assumptions of the simple shear deformation behavior of unidirectional fiber reinforcements: constant fiber length l0 and constant fiber distance (from [27]).
Figure 2. Assumptions of the simple shear deformation behavior of unidirectional fiber reinforcements: constant fiber length l0 and constant fiber distance (from [27]).
Jcs 02 00022 g002
Figure 3. Node calculation, starting from the initial paths A and B (a), and for all further nodes (b).
Figure 3. Node calculation, starting from the initial paths A and B (a), and for all further nodes (b).
Jcs 02 00022 g003
Figure 4. Classification of intermediated results in different fronts, here front 1 is equal to the Pareto front.
Figure 4. Classification of intermediated results in different fronts, here front 1 is equal to the Pareto front.
Jcs 02 00022 g004
Figure 5. Workflow for the multi-point parameterized binary crossover for μ = 1 .
Figure 5. Workflow for the multi-point parameterized binary crossover for μ = 1 .
Jcs 02 00022 g005
Figure 6. Workflow of the multi-point binary crossover for μ = 2 .
Figure 6. Workflow of the multi-point binary crossover for μ = 2 .
Jcs 02 00022 g006
Figure 7. Integration of the fitness calculation in the genetic optimization algorithm of the Dakota tool box (a), used to solve the patch optimization problem (b) by applying the two-step fitness calculation (c).
Figure 7. Integration of the fitness calculation in the genetic optimization algorithm of the Dakota tool box (a), used to solve the patch optimization problem (b) by applying the two-step fitness calculation (c).
Jcs 02 00022 g007
Figure 8. Dominated area calculation for generation i (black solid line) and i + 1 (grey dotted line), and the maximum points k1 and k2 (red dots).
Figure 8. Dominated area calculation for generation i (black solid line) and i + 1 (grey dotted line), and the maximum points k1 and k2 (red dots).
Jcs 02 00022 g008
Figure 9. Loading conditions and geometrical dimensions of the optimization test cases: Flat plate with bending load (a) and curved structure with bending load (b), boundary conditions are represented by the red areas (A1 and A2).
Figure 9. Loading conditions and geometrical dimensions of the optimization test cases: Flat plate with bending load (a) and curved structure with bending load (b), boundary conditions are represented by the red areas (A1 and A2).
Jcs 02 00022 g009
Figure 10. (a) Distribution of all calculated individuals in the search space of A-Opt 1 in comparison with four reference solutions. The blue points represent the final Pareto front; (b) Patch configurations of four reference solutions; (c) The red bars illustrate the resulting percentage share of all individuals (blue and grey dots in (a)) for each patch-usage group with a step-length of 25 mm.
Figure 10. (a) Distribution of all calculated individuals in the search space of A-Opt 1 in comparison with four reference solutions. The blue points represent the final Pareto front; (b) Patch configurations of four reference solutions; (c) The red bars illustrate the resulting percentage share of all individuals (blue and grey dots in (a)) for each patch-usage group with a step-length of 25 mm.
Jcs 02 00022 g010
Figure 11. Comparison of the results of the two crossover processes A-Opt 1 (parameterized binary crossover) and A-Opt 2 (multi-point binary crossover): (a) Comparison of the final Pareto fronts, (b) the dominated area for the evaluation of the convergence behavior, (c) development of the number of elements on the current Pareto front for each generation, (d) percentage share of the solutions along the Pareto front (blue dots in (a)) for each length-group with a step-length of 25 mm, (e) heat map for A-Opt 1, (f) heat map for A-Opt 2.
Figure 11. Comparison of the results of the two crossover processes A-Opt 1 (parameterized binary crossover) and A-Opt 2 (multi-point binary crossover): (a) Comparison of the final Pareto fronts, (b) the dominated area for the evaluation of the convergence behavior, (c) development of the number of elements on the current Pareto front for each generation, (d) percentage share of the solutions along the Pareto front (blue dots in (a)) for each length-group with a step-length of 25 mm, (e) heat map for A-Opt 1, (f) heat map for A-Opt 2.
Jcs 02 00022 g011
Figure 12. Comparison of the Pareto fronts obtained for the curved structure, and predefined reference points to classify the results.
Figure 12. Comparison of the Pareto fronts obtained for the curved structure, and predefined reference points to classify the results.
Jcs 02 00022 g012
Figure 13. Comparison of the results for the variation of the mutation (B-Opt 1: low mutation rate, B-Opt 2: high mutation rate): (a) comparison of the final Pareto fronts, (b) the dominated area for the evaluation of the convergence behavior, (c) development of the elements on the current Pareto front for each generation, (d) percentage share of the solutions along the Pareto front for each length-group.
Figure 13. Comparison of the results for the variation of the mutation (B-Opt 1: low mutation rate, B-Opt 2: high mutation rate): (a) comparison of the final Pareto fronts, (b) the dominated area for the evaluation of the convergence behavior, (c) development of the elements on the current Pareto front for each generation, (d) percentage share of the solutions along the Pareto front for each length-group.
Jcs 02 00022 g013
Figure 14. Comparison of the results for the variation of the replacement type (B-Opt 1: elitist replacement, B-Opt 3: below-limit replacement): (ad) as in Figure 13.
Figure 14. Comparison of the results for the variation of the replacement type (B-Opt 1: elitist replacement, B-Opt 3: below-limit replacement): (ad) as in Figure 13.
Jcs 02 00022 g014
Figure 15. Comparison of the results for no-niching and niching (B-Opt 1: no-niching, B-Opt 4: niching): (ad) as in Figure 13.
Figure 15. Comparison of the results for no-niching and niching (B-Opt 1: no-niching, B-Opt 4: niching): (ad) as in Figure 13.
Jcs 02 00022 g015
Figure 16. Top view of the generated heat-maps for the results obtained along the Pareto front (red: high patch concentration, blue: low patch concentration): (a) basic setup (B-Opt 1), (b) higher mutation rate (B-Opt 2), (c) change of replacement type (B-Opt 3), (d) niching pressure (B-Opt 4).
Figure 16. Top view of the generated heat-maps for the results obtained along the Pareto front (red: high patch concentration, blue: low patch concentration): (a) basic setup (B-Opt 1), (b) higher mutation rate (B-Opt 2), (c) change of replacement type (B-Opt 3), (d) niching pressure (B-Opt 4).
Jcs 02 00022 g016
Table 1. Overview of the used optimization parameter (A = Optimization problem “plate”, B = optimization problem “curved structure”).
Table 1. Overview of the used optimization parameter (A = Optimization problem “plate”, B = optimization problem “curved structure”).
NameStructureCrossoverMutationReplacementNiching
A-Opt 1PlateParameterized binaryHighElitistNo
A-Opt 2PlateMulti-point binaryHighElitistNo
B-Opt 1Curved shellMulti-point binaryLowElitistNo
B-Opt 2Curved shellMulti-point binaryHighElitistNo
B-Opt 3Curved shellMulti-point binaryLowBelow limitNo
B-Opt 4Curved shellMulti-point binaryLowElitistYes

© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
J. Compos. Sci. EISSN 2504-477X Published by MDPI AG, Basel, Switzerland RSS E-Mail Table of Contents Alert
Back to Top