<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Mater.</journal-id>
<journal-title>Frontiers in Materials</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Mater.</abbrev-journal-title>
<issn pub-type="epub">2296-8016</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">879614</article-id>
<article-id pub-id-type="doi">10.3389/fmats.2022.879614</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Materials</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Crossing Scales: Data-Driven Determination of the Micro-scale Behavior of Polymers From Non-homogeneous Tests at the Continuum-Scale</article-title>
<alt-title alt-title-type="left-running-head">Amores et&#xa0;al.</alt-title>
<alt-title alt-title-type="right-running-head">Crossing Scales in Data-Driven Characterization of Polymers</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Amores</surname>
<given-names>V&#xed;ctor J.</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1686435/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Mont&#xe1;ns</surname>
<given-names>Francisco J.</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1773643/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Cueto</surname>
<given-names>El&#xed;as</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/114316/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Chinesta</surname>
<given-names>Francisco</given-names>
</name>
<xref ref-type="aff" rid="aff4">
<sup>4</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1240624/overview"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>E.T.S. de Ingenier&#xed;a Aeron&#xe1;utica y del Espacio</institution>, <institution>Universidad Polit&#xe9;cnica de Madrid</institution>, <addr-line>Madrid</addr-line>, <country>Spain</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Department of Mechanical and Aerospace Engineering</institution>, <institution>Herbert Wertheim College of Engineering</institution>, <institution>University of Florida</institution>, <addr-line>Gainesville</addr-line>, <addr-line>FL</addr-line>, <country>United States</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>Aragon Institute of Engineering Research (I3A)</institution>, <institution>Universidad de Zaragoza</institution>, <addr-line>Zaragoza</addr-line>, <country>Spain</country>
</aff>
<aff id="aff4">
<sup>4</sup>
<institution>ESI GROUP Chair &#x26; PIMM Laboratory</institution>, <institution>ENSAM Institute of Technology</institution>, <addr-line>Paris</addr-line>, <country>France</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/558721/overview">Norbert Huber</ext-link>, Helmholtz-Zentrum Hereon, Germany</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1691126/overview">Alexander Lion</ext-link>, Munich University of the Federal Armed Forces, Germany</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1695795/overview">Kerstin Weinberg</ext-link>, University of Siegen, Germany</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: V&#xed;ctor J. Amores, <email>victorjesus.amores@upm.es</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Computational Materials Science, a section of the journal Frontiers in Materials</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>31</day>
<month>05</month>
<year>2022</year>
</pub-date>
<pub-date pub-type="collection">
<year>2022</year>
</pub-date>
<volume>9</volume>
<elocation-id>879614</elocation-id>
<history>
<date date-type="received">
<day>19</day>
<month>02</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>22</day>
<month>03</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2022 Amores, Mont&#xe1;ns, Cueto and Chinesta.</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Amores, Mont&#xe1;ns, Cueto and Chinesta</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>We propose an efficient method to determine the micro-structural entropic behavior of polymer chains directly from a sufficiently rich non-homogeneous experiment at the continuum scale. The procedure is developed in 2 stages: First, a Macro-Micro-Macro approach; second, a finite element method. Thus, we no longer require the typical stress-strain curves from standard homogeneous tests, but we use instead the applied/reaction forces and the displacement field obtained, for example, from Digital Image Correlation. The approach is based on the P-spline local approximation of the constituents behavior at the micro-scale (<italic>a priori</italic> unknown). The sought spline vertices determining the polymer behavior are first pushed up from the micro-scale to the integration point of the finite element, and then from the integration point to the element forces. The polymer chain behavior is then obtained immediately by solving a linear system of equations which results from a least squares minimization error, resulting in an inverse problem which crosses material scales. The result is physically interpretable and directly linked to the micro-structure of the material, and the resulting polymer behavior may be employed in any other finite element simulation. We give some demonstrative examples (academic and from actual polymers) in which we demonstrate that we are capable of recovering &#x201c;unknown&#x201d; analytical models and spline-based constitutive behavior previously obtained from homogeneous tests.</p>
</abstract>
<kwd-group>
<kwd>hyperelasticity</kwd>
<kwd>data-driven modeling</kwd>
<kwd>polymers</kwd>
<kwd>digital image correlation</kwd>
<kwd>machine learning</kwd>
<kwd>splines</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>Modern applications and the easiness of 3D printing of polymers even at the micro-scale (e.g., <italic>via</italic> dual-photon polymerization), have renewed the interest in large deformation modeling of these entropic materials. Polymeric materials can now be found in a wide range of biomedical applications (stents, sutures, spinal cages, soft tissue implants, and tissue engineering scaffolds, &#x2026; ), see <xref ref-type="bibr" rid="B7">Bergstr&#xf6;m and Hayman&#xa0;(2016)</xref>. Even most human soft biological tissues, which are made of a matrix (elastine, proteoglycans) plus fibers (collagen), withstand large reversible deformations within the physiological range, and therefore, use hyperelasticity as ground for more complex aspects; <xref ref-type="bibr" rid="B11">Chagnon&#xa0;et&#xa0;al.&#xa0;(2015)</xref>, <xref ref-type="bibr" rid="B10">Chagnon&#xa0;et&#xa0;al.&#xa0;(2017)</xref>. As the simplest procedure to guarantee true elasticity (reversible, non-dissipative processes) the cornerstone in hyperelasticity is the free energy function, the state function, from which the stresses are uniquely derived from the strains (or vice-versa), regardless of path. Since the 3D strain energy function cannot be measured directly, the classical approach in constitutive modeling establishes a predefined form for the free energy. This function typically contains some parameters that are adjusted according to the experimentally (stress-strain) observed material behavior. Although it is relatively simple to tune model parameters to predict (up to a desirable precision) a single experimental curve, determining the parameters that produce accurate results for different modes of deformation is not trivial, as it is apparent from the unaccountable number of hyperelastic models available; <xref ref-type="bibr" rid="B38">Volokh&#xa0;(2016)</xref>. Theoretically, if the proposed model is correct, this set of parameters should exist and although determined for specific tests they should predict well other modes of deformation. In practice, when parameters are obtained from a single experimental curve, they fail to generalize to other deformation states; this is the reason why in practice multiple tests are recommended to determine the parameters of the free energy function (<xref ref-type="bibr" rid="B29">Marckmann and Verron,&#xa0;2006</xref>, 3, p.12). Using multiple tests to calibrate the parameters alleviates the deviations of the model for other modes of deformation (at the cost of accuracy for a given test), but at the same time it raises the question of whether the proposed form for the free energy really captures the physical phenomena behind experimental data or this assumed form is just a complex interpolation scheme that adapts its parameters to fit the curves used during calibration. We remark that if the physics behind were accurately represented, a single curve should be sufficient to capture the general multiaxial behavior of isotropic, incompressible polymers under reversible deformations.</p>
<p>This kind of problems has encouraged many researchers to pursue different approaches. One of them is the model-free data-driven computing paradigm. In this approach, basic conservation laws and essential constraints are satisfied but the constitutive laws are eliminated in the benefit of data; <xref ref-type="bibr" rid="B23">Kirchdoerfer and Ortiz&#xa0;(2016)</xref>, <xref ref-type="bibr" rid="B24">Kirchdoerfer and Ortiz&#xa0;(2018)</xref>, <xref ref-type="bibr" rid="B13">Eggersmann&#xa0;et&#xa0;al.&#xa0;(2019)</xref>, <xref ref-type="bibr" rid="B21">Iba&#xf1;ez&#xa0;et&#xa0;al.&#xa0;(2017)</xref>, <xref ref-type="bibr" rid="B20">Iba&#xf1;ez&#xa0;et&#xa0;al.&#xa0;(2018)</xref>. Regarding the leading role of data for some of these references, works that address the efficient handling of data have also been published, see <xref ref-type="bibr" rid="B39">Zheng&#xa0;et&#xa0;al.&#xa0;(2020)</xref>, <xref ref-type="bibr" rid="B25">Korzeniowski and Weinberg&#xa0;(2021)</xref>. On the other hand, other approaches attempt to surrogate the constitutive law with an input-output relation through Artificial neural networks (ANNs), <xref ref-type="bibr" rid="B32">Nguyen-Thanh&#xa0;et&#xa0;al.&#xa0;(2020)</xref>, <xref ref-type="bibr" rid="B28">Liu&#xa0;et&#xa0;al.&#xa0;(2020)</xref>. Both approaches (model-free data-driven and surrogate-like ones) show promising results, however, the predictive capability of models that <italic>just</italic> rely on data is strongly dependent on the amount and quality of data being employed. In addition, since there is no expression for the free energy function most of those models are very difficult to interpret from a physical standpoint. It seems clear that an approach solely based on data might not be the best option for this kind of problems (the more the model needs to learn, the more data is required). This need for introducing physics information in full data-driven models has led to other works based on Physics-informed neural networks (PINNs) <xref ref-type="bibr" rid="B28">Liu&#xa0;et&#xa0;al.&#xa0;(2020)</xref> and on thermodynamically consistent data-driven approaches; <xref ref-type="bibr" rid="B18">Gonz&#xe1;lez&#xa0;et&#xa0;al.&#xa0;(2018)</xref>. Still, the increased generality of those approaches increase the amount of data required when compared to classical constitutive modeling techniques and their interpretability is much less direct. To summarize, an optimal approach for the constitutive modeling of polymers should: 1) include information about the physical equations without assuming a fixed given form for the free energy function; 2) use data to complement what we know about the physical phenomena and fill in the gaps in our knowledge, but without using more data than actually needed; 3) interpretability is also very important because understanding the solution and being able to identify its physical meaning avoids many pitfalls allowing us to search for the answer within a smaller solution space and identify spurious solutions. Interpretability also facilitates the imposition of desired (physics-based) requirements to the sought solution, for example, smoothness, monotonic increase or decrease, isotropy, etc.</p>
<p>With all those requirements in mind we developed the WYPiWYG (What-You-Prescribe is What-You -Get) approach to constitutive modelling, <xref ref-type="bibr" rid="B26">Latorre and Mont&#xe1;ns&#xa0;(2013)</xref>, based on some seminal ideas from the Sussman-Bathe model for isotropic, incompressible materials, <xref ref-type="bibr" rid="B35">Sussman and Bathe&#xa0;(2009)</xref>. The WYPiWYG approach determines the free energy function or its contributions, but in contrast to classical phenomenological models, which presume a form for the energy function and fit the model parameters to the experimental data, our approach starts with some basic fundamental assumptions about the material behavior (isotropy/anisotropy, Valanis-Landel decomposition, invariant-based contributions to the energy function) and then obtains numerically the constitutive equation from equilibrium using a local approximation scheme based on splines. This local approximation philosophy is similar to the way shape functions in finite elements interpolate the displacement field, instead of computing coefficients of predefined analytical functions as in the Navier and Rayleigh methods. The generality of this approach is demonstrated on the models elaborated for anisotropic materials, <xref ref-type="bibr" rid="B27">Latorre and Mont&#xe1;ns&#xa0;(2014)</xref>, auxetic materials <xref ref-type="bibr" rid="B12">Crespo and Mont&#xe1;ns&#xa0;(2018)</xref> and models for the active and passive response of skeletal muscle, <xref ref-type="bibr" rid="B31">Moreno&#xa0;et&#xa0;al.&#xa0;(2020)</xref>. So far phenomenological WYPiWYG hyperelasticity circumvents the need to prescribe the shape of the energy function while maintaining the same model interpretability that the phenomenological models have. However, the amount of data required to characterize the behavior of polymeric materials is similar to the amount of data required by other parametric phenomenological models like the Ogden Model, <xref ref-type="bibr" rid="B33">Ogden&#xa0;(1972)</xref>.</p>
<p>Other alternative to phenomenological models are those based on the micro-structure which employ additional information about the structure of polymers to get better predictive capabilities with fewer data. Most micro-structural models assume that the polymer is fully entropic and thus all the work employed in its deformation directly translates into a variation of its entropy. This physical insight has been exploited by researches, leading to well known models as the Neo-Hookean model, <xref ref-type="bibr" rid="B16">Flory and Rehner&#xa0;(1943)</xref>; <xref ref-type="bibr" rid="B17">Gent&#xa0;(1989)</xref>; <xref ref-type="bibr" rid="B37">Treloar&#xa0;(1975)</xref>, and the 8-chain model, <xref ref-type="bibr" rid="B6">Arruda and Boyce&#xa0;(1993)</xref>. The expressions of those models depend just on the first invariant of the Green-Cauchy tensor, <inline-formula id="inf1">
<mml:math id="m1">
<mml:msubsup>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and some material parameters, but in contrast to the phenomenological ones, the material parameters are linked to the micro-structure resulting in some additional physical insight. Although they were conceived to be characterized from a simple extension test, the results on other modes of deformation are not satisfactory, even with the additional information about the microstructural behavior. This fall from expectations added up to the conclusions of Mooney and its Mooney plots <xref ref-type="bibr" rid="B30">Mooney&#xa0;(1940)</xref>, which showed that <inline-formula id="inf2">
<mml:math id="m2">
<mml:msubsup>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> was not the right (or at least the unique) variable to describe the polymer behavior due to the controversial slope <italic>C</italic>
<sub>2</sub> that consistently appeared on simple extension experimental data.</p>
<p>The extension of the WYPiWYG approach to microstructural modelling with the aim of overcoming those dificulties resulted in a Macro-Micro-Macro (MMM) approach to obtain the polymer constituents behavior directly from experimental data with no assumptions about its analytical form or parameters to calibrate; <xref ref-type="bibr" rid="B3">Amores&#xa0;et&#xa0;al.&#xa0;(2020)</xref>. Just some basic assumptions were made: 1) homogenization of the chains free energy to obtain the free energy of the continuum <inline-formula id="inf3">
<mml:math id="m3">
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mi>d</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>S</mml:mi>
</mml:math>
</inline-formula>, and 2) the computation of the micro-stretch variable is obtained from the continuum stretch tensor, <italic>&#x3bb;</italic>
<sub>
<italic>ch</italic>
</sub> &#x3d;&#xa0;<bold>
<italic>r</italic>
</bold> &#x22c5;<bold>
<italic>U</italic>
</bold> &#x22c5;<bold>
<italic>r</italic>
</bold> (a non-affine measure of deformation in agreement with the lack of relevant contribution of chains orientation change in the entropy reduction). The MMM approach predicts well any general deformation mode requiring just a single experimental curve to characterize the chain behavior, see (<xref ref-type="bibr" rid="B3">Amores&#xa0;et&#xa0;al.,&#xa0;2020</xref>, Figure&#xa0;3). Since a similar Data-Driven MMM framework using the affine deformation measure <inline-formula id="inf4">
<mml:math id="m4">
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi mathvariant="bold-italic">r</mml:mi>
</mml:math>
</inline-formula> was not able to offer the same results, in <xref ref-type="bibr" rid="B4">Amores&#xa0;et&#xa0;al.&#xa0;(2021)</xref> we questioned the affine micro stretch assumption from theoretical grounds, which seems to be the most popular in micro-structural models; <xref ref-type="bibr" rid="B37">Treloar&#xa0;(1975)</xref>, <xref ref-type="bibr" rid="B6">Arruda and Boyce&#xa0;(1993)</xref>, <xref ref-type="bibr" rid="B1">Alastru&#xe9;&#xa0;et&#xa0;al.&#xa0;(2009)</xref>, <xref ref-type="bibr" rid="B34">S&#xe1;ez&#xa0;et&#xa0;al.&#xa0;(2011)</xref>, <xref ref-type="bibr" rid="B22">Khi&#xea;m and Itskov&#xa0;(2016)</xref>. In that same work the non-affine measure of deformation <italic>&#x3bb;</italic>
<sub>
<italic>ch</italic>
</sub> &#x3d;&#xa0;<bold>
<italic>r</italic>
</bold> &#x22c5;<bold>
<italic>U</italic>
</bold> &#x22c5;<bold>
<italic>r</italic>
</bold> did show to be in accordance with the &#x201c;controversial&#x201d; <italic>C</italic>
<sub>2</sub> slope observed by Mooney that up to the date could not be successfully explained from the classical statistical theory.</p>
<p>The framework presented in <xref ref-type="bibr" rid="B3">Amores&#xa0;et&#xa0;al.&#xa0;(2020)</xref> seems to be in accordance with both the chain statistical theory and experimental results, but needs homogeneous tests to characterize the chain behavior. Hence, our work here is to pursue a more general approach by employing arbitrary continuum non-homogeneous tests and using Digital Image Correlation (DIC), crossing scales from the continuum to the polymer constituent macromolecules.</p>
<p>The procedure consists of linking two stages. One is the previously introduced MMM method, and the other one is to link that method to a finite element analysis of non-homogeneous continuum problems continuum problems, see (Cite to <xref ref-type="fig" rid="F1">Figure 1</xref>) outline. We assume in the latter that the non-homogeneous field of displacements (<italic>via</italic> DIC), plus the test loads (<italic>via</italic> load cell) are known, the input data could be either 1D, 2D or 3D depending on the case, but it is important to note that in 2D and 1D, it should be possible to employ reasonable assumptions to determine the principal stretches and stresses in the eliminated directions (incompressibility plus plane stress allow to determine both the stretch and the stress out of the plane just from the plane information). Then, the polymer chain behavior is modeled by P-splines, which vertices are to be determined&#x2014;P-splines are penalyzed interpolating B-splines to guarantee smoothness; see <xref ref-type="bibr" rid="B14">Eilers and Marx&#xa0;(2021)</xref>. That structure (the unknown vertices) are transferred to the continuum scale <italic>via</italic> integration in all the material directions and the result attached to the finite element integration point (the continuum constitutive behavior). Hence, the nodal forces of the finite element are set as a direct, explicit function of the unknown P-spline vertices of the polymer chains and the prescribed deformation gradient. By a least squares formulation, a <italic>linear</italic> system of equations is established, which allows for the immediate determination (i.e., simply solving a linear system of equations) of the P-spline vertices of the chain behavior from the macroscopic loads in the specimen and the macroscopic field of deformation. The physics equations present on the procedure include at the FEM level the compatibility equations (computing the strain quantities from the displacement field) and the equilibrium equations (null force residual), incompressible hyperelasticity with volumetric-deviatoric decoupling at the integration point level, properly including the micro-macro connections (energy homogenization and affine micro-stretch) at the chain level.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>On the right side the FEM part (green contour), from bottom to top there are different levels, first at the solid level, the nodal displacement vector, <bold>
<italic>u</italic>
</bold>, the nodal internal forces, <bold>
<italic>f</italic>
</bold>
<sub>int</sub>, and the external nodal forces, <bold>
<italic>f</italic>
</bold>
<sub>ext</sub>, are encountered. Second, at the element level, the elemental nodal displacement vector, <bold>
<italic>u</italic>
</bold>
<sup>
<italic>e</italic>
</sup>, the elemental nodal internal forces, <inline-formula id="inf44">
<mml:math id="m63">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, and the elemental external nodal forces, <inline-formula id="inf45">
<mml:math id="m64">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>. Finally, the integration point (at the macro-scale) characterized by the Right Green Cauchy tensor <bold>
<italic>C</italic>
</bold>, and the PK2 stress tensor, <bold>
<italic>S</italic>
</bold>, at this point. On the left hand side the Macro-Micro-Macro approach (magenta contour), the general idea would be &#x201c;zooming&#x201d; (hence the magnifying glass) on the integration point and consider that for polymeric materials, the chains oriented in a certain direction (representative direction) suffer a deformation described by the continuum stretches ellipsoid (upper left). The <italic>a priori</italic> unknown chain mechanical behavior, <inline-formula id="inf46">
<mml:math id="m65">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> (bottom left), will be evaluated for each direction and the effect in each representative direction will be integrated for all the representative directions on the reference unit micro-sphere (center left) to obtain the continuum principal stress components. Finally, the Macro-Micro transition (center of the figure) dictates how the continuum energy is obtained from the constituents free energy and how the micro-structural stretches (non-affine chain stretch) are obtained from the continuum deformation measures. From a more practical perspective: 1) The Macro-Micro-Macro approach expresses the continuum principal stresses in terms of the unknown P-Spline vertices for the constituents mechanical behavior, <inline-formula id="inf47">
<mml:math id="m66">
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>, and 2) A classical FEM assembly process is employed to write nodal equilibrium equations from the information at the integration points, <inline-formula id="inf48">
<mml:math id="m67">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>. The substeps involved are: 1.1) The continuum strain, <bold>
<italic>C</italic>
</bold>, tensor defines the micro-structural deformations, <italic>&#x3bb;</italic>
<sub>
<italic>ch</italic>
</sub> on the representative directions; 1.2) The micro-mechanical behavior (unknown <italic>a priori</italic>) is evaluated in all the representative directions in terms of the unknown vertices <inline-formula id="inf49">
<mml:math id="m68">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf50">
<mml:math id="m69">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>; 1.3) The constituents mechanical behavior in all directions is integrated over the unit micro-sphere to obtain the continuum principal stresses at the integration point, <inline-formula id="inf51">
<mml:math id="m70">
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>; 2.1) The integration point stress <inline-formula id="inf52">
<mml:math id="m71">
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> is integrated over the element volume to obtain the elemental nodal internal forces, <inline-formula id="inf53">
<mml:math id="m72">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>; 2.2) The elemental nodal internal forces are assembled to obtain the nodal internal forces of the solid, <inline-formula id="inf54">
<mml:math id="m73">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>; 2.3) The unknown vertices are determined from equilibrium, <inline-formula id="inf55">
<mml:math id="m74">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>.</p>
</caption>
<graphic xlink:href="fmats-09-879614-g001.tif"/>
</fig>
<p>In the following sections we introduce the procedure, first using a continuum hyperelastic formulation and then the micromechanical one. We also demonstrate the applicability through an academic example and an example using the well-known Treloar&#x2019;s rubber.</p>
</sec>
<sec id="s2">
<title>2 Methodology</title>
<sec id="s2-1">
<title>2.1 Detailed Procedure Description</title>
<p>One way to obtain the displacement-based finite element formulation is through the principle of virtual work, which for the quasi-static case reads <italic>&#x3b4;W</italic> &#x3d;&#xa0;<italic>&#x3b4;W</italic>
<sub>int</sub> &#x2212;&#xa0;<italic>&#x3b4;W</italic>
<sub>ext</sub> &#x3d;&#xa0;0. Considering a conventional FEM discretization and interpolation of the displacement field, both virtual works (internal and external) could also be expressed in terms of the internal and external nodal forces, <inline-formula id="inf5">
<mml:math id="m5">
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>W</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:math>
</inline-formula> or equivalently <bold>
<italic>f</italic>
</bold>
<sub>int</sub> &#x3d;&#xa0;<bold>
<italic>f</italic>
</bold>
<sub>ext</sub>. To conclude, a weighted integration of the equilibrium equation leads to an alternative expression for the virtual work, see (<xref ref-type="disp-formula" rid="e1">Eq.&#xa0;1</xref>), that if compared with <inline-formula id="inf6">
<mml:math id="m6">
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>W</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:math>
</inline-formula> provides an expression for the internal and external nodal forces. The expression for the weighted integration of the equilibrium equation in the reference configuration can be expressed as:<disp-formula id="e1">
<mml:math id="m7">
<mml:msub>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mo>&#x2297;</mml:mo>
<mml:mo>&#x2207;</mml:mo>
</mml:mrow>
</mml:mfenced>
<mml:mo>:</mml:mo>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold-italic">u</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi mathvariant="bold-italic">b</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
</mml:math>
<label>(1)</label>
</disp-formula>where <italic>&#x3b4;</italic>
<bold>
<italic>u</italic>
</bold> and <bold>
<italic>u</italic>
</bold> are the virtual displacement field, and the displacement field, respectively, <bold>
<italic>P</italic>
</bold>, the 1st PK (First Piola-Kirchhoff) stress tensor, <bold>
<italic>b</italic>
</bold> the volumetric forces and <bold>
<italic>t</italic>
</bold> the surface forces. The symbol &#x2297; represents the dyadic production, so <inline-formula id="inf7">
<mml:math id="m8">
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mo>&#x2297;</mml:mo>
<mml:mo>&#x2207;</mml:mo>
</mml:mrow>
</mml:mfenced>
<mml:mo>:</mml:mo>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold-italic">u</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mo>:</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
</mml:math>
</inline-formula> is the internal virtual work density.</p>
<sec id="s2-1-1">
<title>2.1.1 Internal Force Term</title>
<p>As it has already been mentioned, a FEM discretization for the internal force term, <italic>&#x222b;</italic>
<sub>&#x3a9;</sub>
<bold>
<italic>P</italic>
</bold>: &#x2207;<italic>&#x3b4;</italic>
<bold>
<italic>u</italic>
</bold>
<italic>d</italic>&#x3a9;, and the interpolation of the displacement field in the reference unit element, <inline-formula id="inf8">
<mml:math id="m9">
<mml:mi>&#x3b4;</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mmultiscripts>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3be;</mml:mi>
</mml:mrow>
<mml:none/>
<mml:none/>
<mml:mprescripts/>
<mml:none/>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mmultiscripts>
</mml:mrow>
</mml:mfenced>
<mml:mi>&#x3b4;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> leads to the expression for the nodal internal forces, see (<xref ref-type="disp-formula" rid="e13">Eq.&#xa0;13</xref>). Note that <inline-formula id="inf9">
<mml:math id="m10">
<mml:msup>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mmultiscripts>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3be;</mml:mi>
</mml:mrow>
<mml:none/>
<mml:none/>
<mml:mprescripts/>
<mml:none/>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mmultiscripts>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> are the shape functions, <italic>&#x3b4;</italic>
<bold>
<italic>u</italic>
</bold>
<sup>
<italic>a</italic>
</sup> the virtual displacement vector for the node <italic>a</italic>, and that in <inline-formula id="inf10">
<mml:math id="m11">
<mml:mi>&#x3b4;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, <italic>a</italic> &#x3d;&#xa0;1, &#x2026;&#xa0;, <italic>n</italic>
<sub>
<italic>n</italic>
</sub> and <italic>i</italic> indicates the spatial dimension (<italic>i</italic> &#x3d;&#xa0;1, 2 in 2D). The expressions for the internal forces are described with depth underneath, (<xref ref-type="disp-formula" rid="e2">Eq.&#xa0;2</xref>) and (<xref ref-type="disp-formula" rid="e3">Eq.&#xa0;3</xref>):<disp-formula id="e2">
<mml:math id="m12">
<mml:mtable class="align">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mo>:</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mo>:</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x25a1;</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mo>:</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi>d</mml:mi>
<mml:mo>&#x25a1;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2297;</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mmultiscripts>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3be;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:none/>
<mml:mprescripts/>
<mml:none/>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mmultiscripts>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:msubsup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(2)</label>
</disp-formula>where all the variables with subscript <italic>j</italic> are computed in the integration point <italic>j</italic>. The previous equations can be rewritten doing the sum over the DOF of the element (<italic>n</italic>
<sub>
<italic>dofs</italic>
</sub> &#x3d;&#xa0;<italic>n</italic>
<sub>
<italic>n</italic>
</sub> &#xd7;&#xa0;2 in the 2D solid elements) instead of doing the sum over the nodes:<disp-formula id="e3">
<mml:math id="m13">
<mml:msub>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mo>:</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>dofs</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:mi>&#x3b4;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(3)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e3">Eq.&#xa0;3</xref>, <italic>i</italic> is the index that runs through the local degrees of freedom in the element, for the cases studied here (2D plane stress problems) <italic>i</italic> &#x3d;&#xa0;1, &#x2026;&#xa0;, 2<italic>n</italic>
<sub>
<italic>n</italic>
</sub>, <italic>&#x3b4;u</italic>
<sub>
<italic>i</italic>
</sub> is the virtual displacement at the local degree of freedom <italic>i</italic> and <inline-formula id="inf11">
<mml:math id="m14">
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> is a second order tensor that projects the contribution of <bold>
<italic>P</italic>
</bold>
<sub>
<italic>j</italic>
</sub> to the <italic>ith</italic> local degree of freedom. Regarding <inline-formula id="inf12">
<mml:math id="m15">
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, for <italic>i</italic> &#x3d;&#xa0;2, <inline-formula id="inf13">
<mml:math id="m16">
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> is the projector for the second local degree of freedom of the element, this DOF corresponds to the first node of the element <italic>a</italic> &#x3d;&#xa0;1 and the second dimension 2, therefore, <inline-formula id="inf14">
<mml:math id="m17">
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2297;</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mmultiscripts>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3be;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:none/>
<mml:mprescripts/>
<mml:none/>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mmultiscripts>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>. If <italic>i</italic> &#x3d;&#xa0;3 instead, <inline-formula id="inf15">
<mml:math id="m18">
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> is the projector for the third local degree of freedom of the element, which corresponds to the second node of the element <italic>a</italic> &#x3d;&#xa0;2 and the first dimension 1, therefore, <inline-formula id="inf16">
<mml:math id="m19">
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2297;</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mmultiscripts>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3be;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:none/>
<mml:mprescripts/>
<mml:none/>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mmultiscripts>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>. Now <xref ref-type="disp-formula" rid="e3">Eq.&#xa0;3</xref> is rewritten in matrix form to identify the components of the internal force vector:<disp-formula id="e4">
<mml:math id="m20">
<mml:mtable class="align">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>dofs</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:mi>&#x3b4;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x2026;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>dofs</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3b4;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>&#x3b4;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>dofs</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(4)</label>
</disp-formula>where<disp-formula id="e5">
<mml:math id="m21">
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
<p>Since the PK1 tensor is a two-leg tensor placed in 2 configurations at the same time (material in the right and spatial in the left), it might be more suitable to rewrite the term <inline-formula id="inf17">
<mml:math id="m22">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> in terms of the PK2 (Second Piola&#x2013;Kirchhoff) stress tensor, <bold>
<italic>S</italic>
</bold>, which lies completely in material configuration, <bold>
<italic>P</italic>
</bold> &#x3d;&#xa0;<bold>
<italic>XS</italic>
</bold>, being <bold>
<italic>X</italic>
</bold> &#x3d;&#xa0;<italic>&#x2202;</italic>
<sup>
<italic>t</italic>
</sup>
<bold>
<italic>x</italic>
</bold>/<italic>&#x2202;</italic>
<sup>0</sup>
<bold>
<italic>x</italic>
</bold> the deformation gradient:<disp-formula id="e6">
<mml:math id="m23">
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>:</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">y</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">y</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(6)</label>
</disp-formula>
</p>
<p>In order to simplify the notation we define <inline-formula id="inf18">
<mml:math id="m24">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2254;</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">y</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>, on the other hand the double contraction will be computed using the Voigt notation. Note that <italic>S</italic>
<sub>3</sub> &#x3d;&#xa0;0 since we are considering the case of plane stress and that the components in the Voigt notation are with respect to the principal directions of deformation/stress. Then, we write in principal directions (denoted as the <italic>X</italic>
<sub>
<italic>ppal</italic>
</sub> system of representation)<disp-formula id="e7">
<mml:math id="m25">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>22</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ppal</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ppal</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(7)</label>
</disp-formula>
</p>
<p>To compute the principal stress components of a polymeric and quasi-incompressible material, we assume that the volumetric and deviatoric contributions of the energy can be separated (a typical assumption in quasi-incompressibility), <inline-formula id="inf19">
<mml:math id="m26">
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold-italic">A</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="script">U</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="script">W</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>, where the volumetric term <inline-formula id="inf20">
<mml:math id="m27">
<mml:mi mathvariant="script">U</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> is just a penalization function, being <inline-formula id="inf21">
<mml:math id="m28">
<mml:mi>J</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>det</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold-italic">X</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi>V</mml:mi>
<mml:mo>/</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi>V</mml:mi>
</mml:math>
</inline-formula> the volume ratio, and <inline-formula id="inf22">
<mml:math id="m29">
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">I</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> the Green-Lagrange strain tensor. A typical choice for the penalization could be <inline-formula id="inf23">
<mml:math id="m30">
<mml:mi mathvariant="script">U</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3ba;</mml:mi>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>J</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> with the bulk modulus, <italic>&#x3ba;</italic>, selected such that the stress produced by a volumetric deformation grows rapidly. If an estimation for the shear modulus of the material, <italic>&#x3bc;</italic>, is known, <italic>&#x3ba;</italic>/<italic>&#x3bc;</italic>&#x223c;10<sup>4</sup>, might suffice to ensure the satisfaction of the quasi-incompressibility condition <italic>J</italic> &#x3d;&#xa0;<italic>&#x3bb;</italic>
<sub>1</sub> &#x22c5;&#xa0;<italic>&#x3bb;</italic>
<sub>2</sub> &#x22c5;&#xa0;<italic>&#x3bb;</italic>
<sub>3</sub> &#x2248;&#xa0;1. The decoupling of the energy in a volumetric and deviatoric energy results in a similar decoupling for the PK2 stress tensor, <bold>
<italic>S</italic>
</bold> &#x3d;&#xa0;<bold>
<italic>S</italic>
</bold>
<sup>
<italic>v</italic>
</sup> &#x2b;&#xa0;<bold>
<italic>S</italic>
</bold>
<sup>
<italic>d</italic>
</sup>. We note that <bold>
<italic>S</italic>
</bold>
<sup>
<italic>v</italic>
</sup> and <bold>
<italic>S</italic>
</bold>
<sup>
<italic>d</italic>
</sup> are not the volumetric and deviatoric part, respectively, of a second order tensor <bold>
<italic>S</italic>
</bold> (as obtained from the respective mathematical operators), but <bold>
<italic>S</italic>
</bold>
<sup>
<italic>v</italic>
</sup> is the contribution to <bold>
<italic>S</italic>
</bold> that comes from the volumetric energy <inline-formula id="inf24">
<mml:math id="m31">
<mml:mi mathvariant="script">U</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, and <bold>
<italic>S</italic>
</bold>
<sup>
<italic>d</italic>
</sup> is the contribution to <bold>
<italic>S</italic>
</bold> that comes from the deviatoric energy, <inline-formula id="inf25">
<mml:math id="m32">
<mml:mi mathvariant="script">W</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>:<disp-formula id="e8">
<mml:math id="m33">
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="bold-italic">A</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="script">U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>J</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="bold-italic">A</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="bold-italic">A</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(8)</label>
</disp-formula>
<disp-formula id="e9">
<mml:math id="m34">
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mi>J</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:munder>
<mml:munder>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2297;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(9)</label>
</disp-formula>where <bold>
<italic>N</italic>
</bold>
<sub>
<italic>i</italic>
</sub> are the principal referential directions of deformation, <inline-formula id="inf26">
<mml:math id="m35">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x2202;</mml:mi>
<mml:mi mathvariant="script">W</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>&#x2202;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf27">
<mml:math id="m36">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>, the isochoric stretches. As we have already mentioned the test cases are plane stress and therefore, <inline-formula id="inf28">
<mml:math id="m37">
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mo>:</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2297;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>:<disp-formula id="e10">
<mml:math id="m38">
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:math>
<label>(10)</label>
</disp-formula>
</p>
<p>From the previous equation, the pressure term could be isolated and introduced in the equations for <italic>S</italic>
<sub>1</sub> and <italic>S</italic>
<sub>2</sub>:<disp-formula id="e11">
<mml:math id="m39">
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:mspace width="1em"/>
<mml:mi mathvariant="normal">f</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mspace width="0.28em"/>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2</mml:mn>
</mml:math>
<label>(11)</label>
</disp-formula>
</p>
<p>Once the principal stretches are known for a particular integration point, the principal PK2 stress components in that same point could be determined through evaluation of the deviatoric contribution derivatives. When the stress tensor has been computed in all the integration points of the element, the internal nodal forces for that element are computed using (<xref ref-type="disp-formula" rid="e4">Eq.&#xa0;4</xref>). On the other hand, if the functions for the deviatoric contribution derivatives are unknown, a cubic P-Spline local approximation can be employed, see <xref ref-type="bibr" rid="B2">Amores&#xa0;et&#xa0;al.&#xa0;(2019)</xref>, <xref ref-type="bibr" rid="B14">Eilers and Marx&#xa0;(2021)</xref>. The B-splines (or its penalized version, P-splines) are one of the approaches for expressing any general function <italic>y</italic>(<italic>x</italic>) as the product of a set of known basis functions (cubic in this case), <inline-formula id="inf29">
<mml:math id="m40">
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> and it&#x2019;s <italic>a priori</italic> unknown corresponding weights (also called vertices), <inline-formula id="inf30">
<mml:math id="m41">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>, if the number of vertices of the B-Spline is <italic>n</italic>
<sub>vert</sub>, the expression for the unknown function is a scalar product, <inline-formula id="inf31">
<mml:math id="m42">
<mml:mi>y</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>vert</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>. In contrast to the basis of features proposed in <xref ref-type="bibr" rid="B15">Flaschel&#xa0;et&#xa0;al.&#xa0;(2021)</xref>, where a basis of preassumed functions is used, the local B-Spline basis is general with no assumptions about the possible function expressions (the only assumption would be that locally the function is at most a cubic function when cubic B-Splines are used). Additionally, the local P-Spline approximation in this work is typically performed directly on the derivatives so there is no need to compute derivatives of the approximated function. With the mentioned P-Spline for the derivative of the energy function, the principal stresses could then be represented as <inline-formula id="inf32">
<mml:math id="m43">
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> where <inline-formula id="inf33">
<mml:math id="m44">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> is a vector defined with 1D P-Splines basis vector (<inline-formula id="inf34">
<mml:math id="m45">
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>, <inline-formula id="inf35">
<mml:math id="m46">
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>), see <xref ref-type="sec" rid="s3-1">Section&#xa0;3.1</xref> and <xref ref-type="sec" rid="s3-2">Section&#xa0;3.2</xref> for specific expressions of this vector. Therefore, depending on the approach that is used to compute the continuum principal stresses, the unknown vertices, <inline-formula id="inf36">
<mml:math id="m47">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>, could represent the derivative of the energy either on the macro-structure or in the micro-structure:<disp-formula id="e12">
<mml:math id="m48">
<mml:mtable class="align" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">y</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>:</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mspace width="1em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>22</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ppal</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>22</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mmultiscripts>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:none/>
<mml:mprescripts/>
<mml:none/>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:mmultiscripts>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(12)</label>
</disp-formula>and for the element local degree of freedom <italic>i</italic>
<disp-formula id="e13">
<mml:math id="m49">
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msubsup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mmultiscripts>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:none/>
<mml:mprescripts/>
<mml:none/>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:mmultiscripts>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>which means that every component of the elemental nodal force vector is obtained as the product of a known row multiplied by the unknown vertices, or expressed in a different manner:<disp-formula id="e14">
<mml:math id="m50">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>where <inline-formula id="inf37">
<mml:math id="m51">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> is a known matrix, given in square brackets in <xref ref-type="disp-formula" rid="e13">Eq.&#xa0;13</xref>.</p>
</sec>
<sec id="s2-1-2">
<title>2.1.2 External Forces Term</title>
<p>In case the body forces and the tractions are not zero, the external force vector for each element, <inline-formula id="inf38">
<mml:math id="m52">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> has also to be computed and assembled into <bold>
<italic>f</italic>
</bold>
<sub>ext</sub>, looking at the right hand side of (<xref ref-type="disp-formula" rid="e1">Eq.&#xa0;1</xref>).<disp-formula id="e15">
<mml:math id="m53">
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi mathvariant="bold-italic">b</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
<label>(15)</label>
</disp-formula>
<disp-formula id="e16">
<mml:math id="m54">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x22c0;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
<label>(16)</label>
</disp-formula>
</p>
<p>On the previous equations, the reaction forces on the boundary where displacements are imposed are accounted in the traction term, for the sake of simplicity we are going to consider that those nodal reaction forces are known, while this is not typically the case in a experimental setting, instead, the total reaction forces are known rather than the nodal forces. To deal with this fact, 2 different approaches can be followed: 1) take another artificial boundary far enough from the original one in which we can suppose that the reaction force is evenly distributed according to the Saint-Venant&#x2019;s principle or 2) consider two independent set of equations one for the free dofs and other for the DOF with fixed displacements, in the fixed displacement DOF the resultant of the internal forces equals the reaction force at each of the boundaries.</p>
</sec>
<sec id="s2-1-3">
<title>2.1.3 System of Linear Equations for the P-Spline Vertices</title>
<p>The problem to solve is an overdetermined linear system of equations <inline-formula id="inf39">
<mml:math id="m55">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>, where <inline-formula id="inf40">
<mml:math id="m56">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> are the unknown vertices of the P-Spline that approximates the derivative of the energy function at the macro-scale (phenomenological energy function) or the derivative of the energy function of the constituents at the micro-scale. The solution process consists of finding the vertices, <inline-formula id="inf41">
<mml:math id="m57">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>, that minimizes the mean square error, MSE, in the force residual:<disp-formula id="e17">
<mml:math id="m58">
<mml:mi>M</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(17)</label>
</disp-formula>
</p>
<p>The solution for the previous minimization problem is analytical and result in the mentioned linear system of equations:<disp-formula id="e18">
<mml:math id="m59">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>;</mml:mo>
<mml:mspace width="1em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mspace width="0.28em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(18)</label>
</disp-formula>
</p>
<p>As we have already mentioned, one of the advantages of using the P-Spline-based local approximation is that although we do not assume the form of the energy function, additional requirements can be added to the solution, a typical one is smoothness, which can be translated into a penalization on the second order finite differences of the P-spline vertices, if the solution obtained is not monotonically increasing, this property could also be imposed by iterative penalization on the vertices that do not satisfy the condition see <xref ref-type="bibr" rid="B2">Amores&#xa0;et&#xa0;al.&#xa0;(2019)</xref>, <xref ref-type="bibr" rid="B14">Eilers and Marx&#xa0;(2021)</xref>. With all the penalizations, the general system of equations to solve would be:<disp-formula id="e19">
<mml:math id="m60">
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>;</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">&#x3a9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">&#x3a9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(19)</label>
</disp-formula>where <bold>
<italic>W</italic>
</bold> is a diagonal matrix that weights the relative importance of the equations in <inline-formula id="inf42">
<mml:math id="m61">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>, <bold>
<italic>D</italic>
</bold>
<sub>1</sub> and <bold>
<italic>D</italic>
</bold>
<sub>2</sub> are the first and second differences matrices respectively, <bold>&#x3a9;</bold>
<sub>2</sub> and <bold>&#x3a9;</bold>
<sub>1</sub>, are also diagonal weight matrices for the penalizations in the second and first differences of the vertices, note that k indicates the step of the iterative penalization for monotonic smoothing. When all the intervals are monotonically increasing the weighting matrix <inline-formula id="inf43">
<mml:math id="m62">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">&#x3a9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:math>
</inline-formula> and that penalization automatically disappears. In contrast to the overdetermined system of linear equations produced by piecewise approximation presented in this work, the methodology in <xref ref-type="bibr" rid="B15">Flaschel&#xa0;et&#xa0;al.&#xa0;(2021)</xref> employs a basis of functions which extend over the whole function domain, although this procedure seems similar to the local one, the global support typically leads to dense solutions which are less interpretable. For the sake of interpretability <xref ref-type="bibr" rid="B15">Flaschel&#xa0;et&#xa0;al.&#xa0;(2021)</xref> proposes a sparsity promotion with <italic>&#x2113;</italic>
<sub>
<italic>p</italic>
</sub> regularization, but at the price of requiring a fixed point iteration procedure to obtain the solution and introducing <italic>p</italic> as an hyperparameter that has also to be determined in the solution process. On the other hand, the additional matrices added to the system matrix in our work ensure smoothness of the solution (making the solution more robust against noise) and allows penalization in monotonicity if required (this penalization has not been required for the examples presented in this article).</p>
</sec>
</sec>
</sec>
<sec id="s3">
<title>3 Results</title>
<sec id="s3-1">
<title>3.1 Toy Example: Recovering an Analytical Neo-Hookean With a P-Spline for the Continuum Free Energy</title>
<p>In this section we are going to demonstrate just the FEM part of the methodology using a P-Spline based approximation for the functions that form the deviatoric continuum free energy. The experimental data is a virtual test (FEM results) of an analytical quasi-incompressible Neo-Hookean model with parameters <italic>&#x3bc;</italic> &#x3d;&#xa0;3.5&#xa0;MPa and <italic>&#x3ba;</italic> &#x3d;&#xa0;1 &#xd7;&#xa0;10<sup>5</sup>&#xa0;MPa. The FEM model employed for the virtual tests is a 2D plate with a hole on plane stress conditions. The solicitation is an imposed displacement in the upper border with <italic>u</italic> &#x3d;&#xa0;4. The dimensions of the plate and the mesh employed in the simulation is shown in <xref ref-type="fig" rid="F2">Figure&#xa0;2</xref>, the elements are quadratic quadrilaterals with nine integration points. The formulation employed for plane stress in large deformations is detailed in <xref ref-type="sec" rid="s10">Supplementary&#xa0;Appendix&#xa0;SA</xref>, the reader can also find the details about the Neo-Hookean material model in <xref ref-type="sec" rid="s10">Supplementary&#xa0;Appendix&#xa0;SB</xref>. Regarding the software employed, Julia programming language, <xref ref-type="bibr" rid="B8">Bezanson&#xa0;et&#xa0;al.&#xa0;(2017)</xref> has been used, in particular the package FerriteFem.jl, see <xref ref-type="bibr" rid="B9">Carlsson and Ekre&#xa0;(2021)</xref>, for the FEM simulations and <xref ref-type="bibr" rid="B5">Amores&#xa0;(2022)</xref> for the P-Splines functionality.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>FEM model used during virtual tests. The elements employed are quadratic quadrilateral with nine integration points.</p>
</caption>
<graphic xlink:href="fmats-09-879614-g002.tif"/>
</fig>
<p>A typical assumption made on the phenomenological approach for isotropic incompressible solids is the Valanis Landel decomposition, <inline-formula id="inf56">
<mml:math id="m75">
<mml:mi mathvariant="script">W</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c9;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3c9;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3c9;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>. With that assumption, the expressions for the principal PK2 stresses can be obtained in terms of an unknown function <inline-formula id="inf57">
<mml:math id="m76">
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>:<disp-formula id="e20">
<mml:math id="m77">
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mspace width="1em"/>
<mml:mi mathvariant="normal">f</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mspace width="0.28em"/>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2</mml:mn>
</mml:math>
<label>(20)</label>
</disp-formula>
</p>
<p>Once <inline-formula id="inf58">
<mml:math id="m78">
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> is obtained, the principal stresses are determined for any deformation state under the plane stress hypothesis or the contribution to the principal stresses coming from the deviatoric energy for any general case (not in plane stress), see (<xref ref-type="disp-formula" rid="e8">Eq.&#xa0;8</xref>), this is all that can be determined from a constitutive point of view because for an incompressible solid, the pressure does not come from the constitutive equation but from equilibrium conditions. Using P-splines, the unknown function can be written in terms of some known basis functions and some unknown vertices in a similar manner that it is done in FEM formulation with the displacement field:<disp-formula id="e21">
<mml:math id="m79">
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>vert</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x2026;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>vert</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo>&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>vert</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(21)</label>
</disp-formula>
</p>
<p>With the previous expression, the principal stresses could be written as:<disp-formula id="e22">
<mml:math id="m80">
<mml:mtable class="align">
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd/>
<mml:mtd columnalign="left">
<mml:mi mathvariant="normal">f</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mspace width="0.28em"/>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(22)</label>
</disp-formula>
<disp-formula id="e23">
<mml:math id="m81">
<mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ppal</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
<label>(23)</label>
</disp-formula>
<disp-formula id="e24">
<mml:math id="m82">
<mml:mtable class="align" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">y</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>22</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ppal</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ppal</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>22</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mmultiscripts>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:none/>
<mml:mprescripts/>
<mml:none/>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:mmultiscripts>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(24)</label>
</disp-formula>
</p>
<p>Referring again to <xref ref-type="disp-formula" rid="e13">Eq.&#xa0;13</xref>, internal nodal forces of the element can be written as the product of a known matrix by a vector of unknown vertices:<disp-formula id="e25">
<mml:math id="m83">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:math>
<label>(25)</label>
</disp-formula>
</p>
<p>Doing the assembly of the internal nodal forces of the elements in the mesh:<disp-formula id="e26">
<mml:math id="m84">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x22c0;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x22c0;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:math>
<label>(26)</label>
</disp-formula>
</p>
<p>From the overdetermined linear system of equations <inline-formula id="inf59">
<mml:math id="m85">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> we can solve for <inline-formula id="inf60">
<mml:math id="m86">
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>:<disp-formula id="e27">
<mml:math id="m87">
<mml:mtable class="align">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>;</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">&#x3a9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">&#x3a9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(27)</label>
</disp-formula>
</p>
<p>The number of vertices has to be enough to capture the complexity of the curve, typically <italic>n</italic>
<sub>vert</sub> &#x3d;&#xa0;14 suffice, but additional vertices can be added. If more and more vertices are added, the number of equations required to determine them increases and the problem can become ill-conditioned, this is solved by the smoothing term which adds the information of smooth transition between vertices and links the vertices to its neighbours. In the homogeneous case, just a single equation is obtained for every load/displacement step, therefore, in order to obtain information for the function on the considered domain (from the minimum principal stretch to the maximum principal stretch on the simulation), it would be necessary to sweep a whole range of load/displacement steps. On the other hand, for the non-homogeneous case, in principle, it would be possible to employ just a single load/displacement step if the step under consideration is rich enough (in this case, just the last step, <italic>u</italic> &#x3d;&#xa0;4 was used). In case that additional information is needed to determine the function on the considered range, it is also possible to add more steps between <italic>u</italic> &#x3d;&#xa0;0 and <italic>u</italic> &#x3d;&#xa0;4. Since the initial solution was directly monotonically increasing, &#x3a9;<sub>1</sub> &#x3d;&#xa0;<bold>0</bold> and it was not necessary to follow an iterative process, <inline-formula id="inf61">
<mml:math id="m88">
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> was directly obtained from the simple initial system of equations:<disp-formula id="e28">
<mml:math id="m89">
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>;</mml:mo>
<mml:mspace width="1em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">&#x3a9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mspace width="0.28em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(28)</label>
</disp-formula>
</p>
<p>With the vertices obtained, the P-Spline could be reconstructed and compared to the original one, see <xref ref-type="fig" rid="F3">Figure 3</xref>.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Comparison of the Neo-Hookean <inline-formula id="inf107">
<mml:math id="m148">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>NH</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> and the <inline-formula id="inf108">
<mml:math id="m149">
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> obtained from the non-homogeneous virtual test.</p>
</caption>
<graphic xlink:href="fmats-09-879614-g003.tif"/>
</fig>
<p>Since the function <inline-formula id="inf62">
<mml:math id="m90">
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> has been reverse-engineered exactly, the values for the free energy partial derivatives for any state of deformation can be determined, and will be exactly equal to those obtained with the original Neo-Hookean model. If desired, the FEM simulations can be run again with the reversed-engineered derivatives of the energy function and the <italic>&#x3c3;</italic>
<sub>VM</sub> plot could be compared with the one obtained for the original analytical Neo-Hookean, see <xref ref-type="fig" rid="F4">Figure 4</xref>. As it can be seen in <xref ref-type="fig" rid="F4">Figure 4</xref> the plots are exactly the same as it might be expected from having obtained the exact same <italic>&#x3c9;</italic>&#x2032; as the one from the original Neo-Hookean.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Plot comparing the results of <italic>&#x3c3;</italic>
<sub>VM</sub> for the reference Neo-Hookean continuum model and the reverse-engineered one. <bold>(A)</bold> <italic>&#x3c3;</italic>
<sub>VM</sub> using the Neo-Hookean model. <bold>(B)</bold> <italic>&#x3c3;</italic>
<sub>VM</sub> using the <inline-formula id="inf109">
<mml:math id="m150">
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> reverse-engineered from the non-homogeneous virtual test.</p>
</caption>
<graphic xlink:href="fmats-09-879614-g004.tif"/>
</fig>
<p>In this particular example, the matrix of the system <inline-formula id="inf64">
<mml:math id="m92">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>, presents a null eigenvalue with its corresponding associated eigenvector, i.e., there is a certain subspace of possible solutions <inline-formula id="inf65">
<mml:math id="m93">
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> (containing just the direction of the eigenvector associated to the null eigenvalue) such that added to the solution, <inline-formula id="inf66">
<mml:math id="m94">
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>, produce null effect on the independent term, <bold>
<italic>b</italic>
</bold>
<sub>sys</sub> and therefore <inline-formula id="inf67">
<mml:math id="m95">
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, for an arbitrary scalar <italic>&#x3b1;</italic>, is also a solution of the system. Looking at <xref ref-type="disp-formula" rid="e20">Eq.&#xa0;20</xref>, to not produce any effect, such function has to satisfy the condition <inline-formula id="inf68">
<mml:math id="m96">
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>/</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mspace width="1em"/>
<mml:mo>&#x2200;</mml:mo>
<mml:mspace width="0.28em"/>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>. Regarding the functions that satisfy this condition, there is a specific form of function that complies (which at the same time must be smooth due to the regularization) <inline-formula id="inf69">
<mml:math id="m97">
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mspace width="1em"/>
<mml:mo>&#x2200;</mml:mo>
<mml:mspace width="0.28em"/>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>. The only way two functions of different independent variables can be equal <inline-formula id="inf70">
<mml:math id="m98">
<mml:mo>&#x2200;</mml:mo>
<mml:mspace width="0.28em"/>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> is that those functions are constant <inline-formula id="inf71">
<mml:math id="m99">
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2192;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
</mml:math>
</inline-formula>. Since the shape of the eigenvector associated to the null eigenvalue exactly matches the shape of the function, <inline-formula id="inf72">
<mml:math id="m100">
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
</mml:math>
</inline-formula>, we would like to understand physically the origin of this null contribution to the system. Looking at <xref ref-type="disp-formula" rid="e8">Eq.&#xa0;8</xref>, we can see that the pressure term is of the form <inline-formula id="inf73">
<mml:math id="m101">
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>/</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, the same form of the term resulting from introducing an additional <inline-formula id="inf74">
<mml:math id="m102">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> to the function <inline-formula id="inf75">
<mml:math id="m103">
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>. From a more general perspective we can see that this indetermination comes from the split of the energy into a volumetric and a deviatoric contribution:<disp-formula id="e29">
<mml:math id="m104">
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>;</mml:mo>
<mml:mspace width="1em"/>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="bold-italic">C</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="double-struck">P</mml:mi>
<mml:mo>:</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="double-struck">P</mml:mi>
<mml:mo>:</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">&#x2223;</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
<label>(29)</label>
</disp-formula>where <bold>
<italic>C</italic>
</bold> &#x3d;&#xa0;<bold>
<italic>X</italic>
</bold>
<sup>
<italic>T</italic>
</sup>
<bold>
<italic>X</italic>
</bold> is the right Cauchy-Green tensor and <inline-formula id="inf76">
<mml:math id="m105">
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:math>
</inline-formula> is the fourth order projector tensor, see <xref ref-type="sec" rid="s10">Supplementary&#xa0;Appendix&#xa0;SB</xref>. Since <inline-formula id="inf77">
<mml:math id="m106">
<mml:mi mathvariant="double-struck">P</mml:mi>
<mml:mo>:</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:math>
</inline-formula>, from (<xref ref-type="disp-formula" rid="e29">Eq.&#xa0;29</xref>) it can be seen that there are multiple <inline-formula id="inf78">
<mml:math id="m107">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">&#x2223;</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x2202;</mml:mi>
<mml:mi mathvariant="script">W</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>&#x2202;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">d</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> that produce the same <bold>
<italic>S</italic>
</bold>
<sup>
<italic>d</italic>
</sup> and the undetermined part has the form of a volumetric-like PK2 stress tensor. Any contribution of this form has no effect on the solution since it is going to be finally eliminated by the projector <inline-formula id="inf79">
<mml:math id="m108">
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:math>
</inline-formula>.</p>
</sec>
<sec id="s3-2">
<title>3.2 Micro-Mechanical Approach Based on the Non-Affine Deformation Chain Model</title>
<p>In this section the complete methodology described in <xref ref-type="sec" rid="s2">Section&#xa0;2</xref> (Macro-Micro-Macro first, FEM second) is demonstrated. In contrast to the procedure described in <xref ref-type="sec" rid="s3-1">Section&#xa0;3.1</xref>, here the P-Spline will approximate the derivative of the chain energy function <inline-formula id="inf80">
<mml:math id="m109">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> (mechanical behavior of the material constituents at the micro-scale) rather than the continuum contributions to the energy. The experimental data is obtained from a virtual (FEM simulation) using the analytical structure-based material model in <xref ref-type="bibr" rid="B3">Amores&#xa0;et&#xa0;al.&#xa0;(2020)</xref>. To be more precise, the <inline-formula id="inf81">
<mml:math id="m110">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> that will be employed to perform the virtual test is the one obtained for the Treloar test data for unfilled rubber, <xref ref-type="bibr" rid="B36">Treloar&#xa0;(1944)</xref>, that function is displayed in (<xref ref-type="bibr" rid="B3">Amores&#xa0;et&#xa0;al.,&#xa0;2020</xref>, Figure B.1). The FEM model employed for the virtual tests is again the 2D plate with a hole on plane stress conditions with an imposed displacement in the upper border (<italic>u</italic> &#x3d;&#xa0;8). All the required dimensions and the mesh employed in the simulation is shown in <xref ref-type="fig" rid="F2">Figure&#xa0;2</xref>. The reader can find further details about the non-affine deformation chain material model in <xref ref-type="sec" rid="s10">Supplementary&#xa0;Appendix&#xa0;SC</xref> and <xref ref-type="bibr" rid="B3">Amores&#xa0;et&#xa0;al.&#xa0;(2020)</xref>, a discussion about the suitability of the non-affine stretch employed in the model (free-fluctuating network assumption) is presented in <xref ref-type="bibr" rid="B4">Amores&#xa0;et&#xa0;al.&#xa0;(2021)</xref>.</p>
<p>In <xref ref-type="bibr" rid="B3">Amores&#xa0;et&#xa0;al.&#xa0;(2020)</xref> a way was established to compute the strain energy function of the continuum with an homogenization of the micro-structural chain free energy function in polymeric like materials under the assumption of incompressibility (<italic>&#x3bb;</italic>
<sub>1</sub> &#x22c5;&#xa0;<italic>&#x3bb;</italic>
<sub>2</sub> &#x22c5;&#xa0;<italic>&#x3bb;</italic>
<sub>3</sub> &#x3d;&#xa0;1):<disp-formula id="e30">
<mml:math id="m111">
<mml:mi mathvariant="script">W</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mi>d</mml:mi>
<mml:mi>S</mml:mi>
</mml:math>
<label>(30)</label>
</disp-formula>
</p>
<p>For FEM simulations even pure incompressible solids are simulated with the quasi-incompressible material framework:<disp-formula id="equ1">
<mml:math id="m112">
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold-italic">A</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="script">U</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="script">W</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</disp-formula>in which <inline-formula id="inf82">
<mml:math id="m113">
<mml:mi mathvariant="script">U</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> is a penalization function that leads to incompressibility for <italic>&#x3ba;</italic> &#x2192;&#xa0;<italic>&#x221e;</italic> like <inline-formula id="inf83">
<mml:math id="m114">
<mml:mi mathvariant="script">U</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mi>k</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>J</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> and where <inline-formula id="inf84">
<mml:math id="m115">
<mml:mi mathvariant="script">W</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> is the same as the one used in pure incompressibility but with the deviatoric stretches instead of the total ones:<disp-formula id="e31">
<mml:math id="m116">
<mml:mtable class="align">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="script">W</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mi>d</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>:</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mo>&#x2297;</mml:mo>
<mml:mi mathvariant="bold-italic">r</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(31)</label>
</disp-formula>
<disp-formula id="e32">
<mml:math id="m117">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mi>d</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:msubsup>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>S</mml:mi>
</mml:math>
<label>(32)</label>
</disp-formula>
</p>
<p>The unknown function that will be approximated using P-Splines is <inline-formula id="inf85">
<mml:math id="m118">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>, as described above, the P-Splines representation expresses the unknown function in terms of some known basis vector multiplied by a vector of unknown vertices:<disp-formula id="e33">
<mml:math id="m119">
<mml:mtable class="align">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>vert</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x2026;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>vert</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mo>&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>vert</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(33)</label>
</disp-formula>
</p>
<p>Introducing the expression for <inline-formula id="inf86">
<mml:math id="m120">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> in (<xref ref-type="disp-formula" rid="e32">Eq.&#xa0;32</xref>) and then all the derivatives of the form <inline-formula id="inf87">
<mml:math id="m121">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> in (<xref ref-type="disp-formula" rid="e11">Eq.&#xa0;11</xref>) a expression for the principal stresses in terms of the vertices that define the Polymeric-chain response function can be obtained:<disp-formula id="e34">
<mml:math id="m122">
<mml:mtable class="align">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:msubsup>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mi>d</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="1em"/>
<mml:mi mathvariant="normal">f</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mspace width="0.28em"/>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(34)</label>
</disp-formula>
</p>
<p>Note that the previous integral in the microsphere is computed by a numerical quadrature, <inline-formula id="inf88">
<mml:math id="m123">
<mml:msub>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>f</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold-italic">r</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>d</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold-italic">r</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:msubsup>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> an that although <inline-formula id="inf89">
<mml:math id="m124">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> depends on <inline-formula id="inf90">
<mml:math id="m125">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, <inline-formula id="inf91">
<mml:math id="m126">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf92">
<mml:math id="m127">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, since <inline-formula id="inf93">
<mml:math id="m128">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:math>
</inline-formula>, there are just 2 independent variables. Again a procedure similar to the one in the toy example, <xref ref-type="sec" rid="s3-1">Section&#xa0;3.1</xref>, is followed:<disp-formula id="e35">
<mml:math id="m129">
<mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ppal</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(35)</label>
</disp-formula>
<disp-formula id="e36">
<mml:math id="m130">
<mml:mtable class="align" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mi mathvariant="normal">y</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2207;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>22</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ppal</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ppal</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd/>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>22</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mmultiscripts>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>row</mml:mtext>
</mml:mrow>
<mml:none/>
<mml:mprescripts/>
<mml:none/>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:mmultiscripts>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(36)</label>
</disp-formula>
</p>
<p>Looking at the previous matrix equation and using again (<xref ref-type="disp-formula" rid="e13">Eq.&#xa0;13</xref>), it is straightforward to write the internal vector force for an element as<disp-formula id="e37">
<mml:math id="m131">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(37)</label>
</disp-formula>where <inline-formula id="inf94">
<mml:math id="m132">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> is a matrix. Now in the same way that the components that the components of <inline-formula id="inf95">
<mml:math id="m133">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> can be assembled to obtain the global internal forces vector, <bold>
<italic>f</italic>
</bold>
<sub>int</sub>. The rows of <inline-formula id="inf96">
<mml:math id="m134">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> can be assembled to obtain a global internal force matrix <inline-formula id="inf97">
<mml:math id="m135">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>.<disp-formula id="e38">
<mml:math id="m136">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x22c0;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x22c0;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(38)</label>
</disp-formula>
</p>
<p>At that point it is important to note that if compared to the procedure followed in <xref ref-type="sec" rid="s3-1">Section&#xa0;3.1</xref>, now the internal force term is linked with the unknown vertices that correspond to the constituents behavior at the micro-scale. With that approach we show that scales can be crossed and information in one scale can be pushed up to other scales, that of course taking into account that the macro to micro connection has already been established.</p>
<p>From the overdetermined linear system of equations <inline-formula id="inf98">
<mml:math id="m137">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> a solution can be obtained for <inline-formula id="inf99">
<mml:math id="m138">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>:<disp-formula id="e39">
<mml:math id="m139">
<mml:mtable class="aligned" columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>;</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">&#x3a9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">&#x3a9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(39)</label>
</disp-formula>
</p>
<p>The discussion about the number of vertices and steps of load/displacement required in <xref ref-type="sec" rid="s3-1">Section&#xa0;3.1</xref> is also applicable here. In this particular case, just the last step of deformation (<italic>u</italic> &#x3d;&#xa0;8) was used. Again, in case that additional information is needed to determine the function on the considered range, it is also possible to add more steps between <italic>u</italic> &#x3d;&#xa0;0 and <italic>u</italic> &#x3d;&#xa0;8. Since the initial solution was directly monotonically increasing, &#x3a9;<sub>1</sub> &#x3d;&#xa0;<bold>0</bold> and it was not necessary to follow an iterative process, <inline-formula id="inf100">
<mml:math id="m140">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> was directly obtained from the simple initial system of equations:<disp-formula id="e40">
<mml:math id="m141">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>;</mml:mo>
<mml:mspace width="1em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">&#x3a9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mspace width="0.28em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>sys</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="normal">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(40)</label>
</disp-formula>
</p>
<p>With the vertices obtained, the P-Spline could be reconstructed and compared it to the original one, see <xref ref-type="fig" rid="F5">Figure 5</xref>.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Plot comparing <inline-formula id="inf110">
<mml:math id="m151">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> extracted from (<xref ref-type="bibr" rid="B3">Amores&#xa0;et&#xa0;al.,&#xa0;2020</xref>, Figure B.1) and the reverse-engineered <inline-formula id="inf111">
<mml:math id="m152">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> obtained with the methodology described in the article.</p>
</caption>
<graphic xlink:href="fmats-09-879614-g005.tif"/>
</fig>
<p>As it is shown in <xref ref-type="fig" rid="F5">Figure&#xa0;5</xref>, the <inline-formula id="inf101">
<mml:math id="m142">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> extracted from (<xref ref-type="bibr" rid="B3">Amores&#xa0;et&#xa0;al.,&#xa0;2020</xref>, Figure B.1) and the one obtained through the methodology described in the paper are practically identical. Looking closely, there are some small deviations close to <inline-formula id="inf102">
<mml:math id="m143">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:math>
</inline-formula> on the compression range. As it has already been mentioned, the origin of those deviations is the eigenvector linked to an almost zero eigenvalue on the reduced matrix of the system, this matter has been carefully justified at the end of <xref ref-type="sec" rid="s3-1">Section&#xa0;3.1</xref>. With the obtained <inline-formula id="inf103">
<mml:math id="m144">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> the partial derivatives of the free energy can be determined for any state of deformation, with them, it is possible to re-run the FEM simulations and compare for example, the <italic>&#x3c3;</italic>
<sub>VM</sub> plot. <xref ref-type="fig" rid="F6">Figure&#xa0;6</xref> compares the <italic>&#x3c3;</italic>
<sub>VM</sub> with <inline-formula id="inf104">
<mml:math id="m145">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> extracted from (<xref ref-type="bibr" rid="B3">Amores&#xa0;et&#xa0;al.,&#xa0;2020</xref>, Figure B.1) and the <inline-formula id="inf105">
<mml:math id="m146">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> with the methodology described in this paper. As we can see, although the functions are slightly different, that discrepancy has no effect on the final stresses, this is so because the additional spurious term that appears in the solution corresponds to a pressure term (in the cauchy stress sense) and therefore, it will not appear in the final computed stress due to the projector <inline-formula id="inf106">
<mml:math id="m147">
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:math>
</inline-formula>.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Plot comparing the results of <italic>&#x3c3;</italic>
<sub>VM</sub> for the reference micro-mechanical model in <xref ref-type="bibr" rid="B3">Amores&#xa0;et&#xa0;al.&#xa0;(2020)</xref> that uses (<xref ref-type="bibr" rid="B3">Amores&#xa0;et&#xa0;al.,&#xa0;2020</xref>, Figure B.1) and the reverse-engineered one described in the article. <bold>(A)</bold> <italic>&#x3c3;</italic>
<sub>VM</sub> using the <inline-formula id="inf112">
<mml:math id="m153">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> obtained for unfilled rubber, <xref ref-type="bibr" rid="B36">Treloar&#xa0;(1944)</xref> extracted from (<xref ref-type="bibr" rid="B3">Amores&#xa0;et&#xa0;al.,&#xa0;2020</xref>, Figure B.1). <bold>(B)</bold> <italic>&#x3c3;</italic>
<sub>VM</sub> using the <inline-formula id="inf113">
<mml:math id="m154">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> reverse-engineered from the non-homogeneous virtual test using the methodology described in this article.</p>
</caption>
<graphic xlink:href="fmats-09-879614-g006.tif"/>
</fig>
</sec>
</sec>
<sec id="s4">
<title>4 Conclusion</title>
<p>We have proposed a numerical method for determining both the continuum free energy and the polymer macromolecules behavior from arbitrary non-homogeneous DIC-based tests at the continuum scale. The procedure consists of a combination of our Macro-Micro-Macro approach and a Finite Element model. As a novel contribution of this approach, we show that by crossing scales transferring the microscale unknowns to the finite element formulation it is possible to determine the mechanical chain behavior from non-homogeneous experiments at the continuum scale by simply solving a linear system of equations (i.e., in an even more efficient manner than the subsequent simulations of the polymer behavior). Another key aspect is that Penalized B-splines (P-splines) preserve the general form of the energy function while retaining sufficient tools for enforcing specific desired conditions on the sought functions. The methodology at hand recovers the analytical free energies used as starting point in the virtual tests. Therefore, any finite element simulation performed with the reversed-engineered energy function will provide identical results to the original material model. From the authors perspective, this new approach opens new possibilities for data-driven characterization of the micro-structure from non-homogeneous tests at the macro-scale. Further research has to be conducted to evaluate the generalization of the approach in <xref ref-type="bibr" rid="B3">Amores&#xa0;et&#xa0;al.&#xa0;(2020)</xref> to more complex material behaviors from which the applicability of this same methodology has to be assessed.</p>
</sec>
</body>
<back>
<sec id="s5">
<title>Data Availability Statement</title>
<p>The raw data supporting the conclusion of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec id="s6">
<title>Author Contributions</title>
<p>VA: Conceptualization, methodology, software, and writing original draft. FM: Conceptualization, methodology, funding acquisition, and supervision. EC: Methodology and supervision. FC: Conceptualization, methodology, funding acquisition, and supervision. All authors contributed to manuscript revision, read, and approved the submitted version.</p>
</sec>
<sec id="s7">
<title>Funding</title>
<p>
<inline-graphic xlink:href="fmats-09-879614-fx1.tif"/>This project has received funding from the European Union&#x2019;s Horizon 2020 research and innovation programme under the Marie Sk&#x142;odowska-Curie Grant Agreement No. 101007815.</p>
</sec>
<sec sec-type="COI-statement" id="s8">
<title>Conflict of Interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s9">
<title>Publisher&#x2019;s Note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<sec id="s10">
<title>Supplementary Material</title>
<p>The Supplementary Material for this article can be found online at: <ext-link ext-link-type="uri" xlink:href="https://www.frontiersin.org/articles/10.3389/fmats.2022.879614/full#supplementary-material">https://www.frontiersin.org/articles/10.3389/fmats.2022.879614/full&#x23;supplementary-material</ext-link>
</p>
<supplementary-material xlink:href="Presentation1.pdf" id="SM1" mimetype="application/pdf" xmlns:xlink="http://www.w3.org/1999/xlink"/>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Alastru&#xe9;</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Mart&#xed;nez</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Doblar&#xe9;</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Menzel</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>Anisotropic Micro-sphere-based Finite Elasticity Applied to Blood Vessel Modelling</article-title>. <source>J. Mech. Phys. Sol.</source> <volume>57</volume>, <fpage>178</fpage>&#x2013;<lpage>203</lpage>. <pub-id pub-id-type="doi">10.1016/J.JMPS.2008.09.005</pub-id> </citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Amores</surname>
<given-names>V. J.</given-names>
</name>
<name>
<surname>Ben&#xed;tez</surname>
<given-names>J. M.</given-names>
</name>
<name>
<surname>Mont&#xe1;ns</surname>
<given-names>F. J.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Average-chain Behavior of Isotropic Incompressible Polymers Obtained from Macroscopic Experimental Data. A Simple Structure-Based WYPiWYG Model in Julia Language</article-title>. <source>Adv. Eng. Softw.</source> <volume>130</volume>, <fpage>41</fpage>&#x2013;<lpage>57</lpage>. <pub-id pub-id-type="doi">10.1016/j.advengsoft.2019.01.004</pub-id> </citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Amores</surname>
<given-names>V. J.</given-names>
</name>
<name>
<surname>Ben&#xed;tez</surname>
<given-names>J. M.</given-names>
</name>
<name>
<surname>Mont&#xe1;ns</surname>
<given-names>F. J.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Data-driven, Structure-Based Hyperelastic Manifolds: A Macro-Micro-Macro Approach to Reverse-Engineer the Chain Behavior and Perform Efficient Simulations of Polymers</article-title>. <source>Comput. Structures</source> <volume>231</volume>, <fpage>106209</fpage>. <pub-id pub-id-type="doi">10.1016/J.COMPSTRUC.2020.106209</pub-id> </citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Amores</surname>
<given-names>V. J.</given-names>
</name>
<name>
<surname>Nguyen</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Mont&#xe1;ns</surname>
<given-names>F. J.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>On the Network Orientational Affinity assumption in Polymers and the Micro-macro Connection through the Chain Stretch</article-title>. <source>J. Mech. Phys. Sol.</source> <volume>148</volume>, <fpage>104279</fpage>. <pub-id pub-id-type="doi">10.1016/J.JMPS.2020.104279</pub-id> </citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Amores</surname>
<given-names>V.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>PSPlines</article-title>. <pub-id pub-id-type="doi">10.5281/zenodo.6084053</pub-id> </citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Arruda</surname>
<given-names>E. M.</given-names>
</name>
<name>
<surname>Boyce</surname>
<given-names>M. C.</given-names>
</name>
</person-group> (<year>1993</year>). <article-title>A Three-Dimensional Constitutive Model for the Large Stretch Behavior of Rubber Elastic Materials</article-title>. <source>J. Mech. Phys. Sol.</source> <volume>41</volume>, <fpage>389</fpage>&#x2013;<lpage>412</lpage>. <pub-id pub-id-type="doi">10.1016/0022-5096(93)90013-6</pub-id> </citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bergstr&#xf6;m</surname>
<given-names>J. S.</given-names>
</name>
<name>
<surname>Hayman</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>An Overview of Mechanical Properties and Material Modeling of Polylactide (PLA) for Medical Applications</article-title>. <source>Ann. Biomed. Eng.</source> <volume>44</volume>, <fpage>330</fpage>&#x2013;<lpage>340</lpage>. <pub-id pub-id-type="doi">10.1007/S10439-015-1455-8/TABLES/2</pub-id> </citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bezanson</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Edelman</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Karpinski</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Shah</surname>
<given-names>V. B.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Julia: A Fresh Approach to Numerical Computing</article-title>. <source>SIAM Rev.</source> <volume>59</volume>, <fpage>65</fpage>&#x2013;<lpage>98</lpage>. <pub-id pub-id-type="doi">10.1137/141000671</pub-id> </citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Carlsson</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Ekre</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Ferrite.jl</article-title>. </citation>
</ref>
<ref id="B10">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Chagnon</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Ohayon</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Martiel</surname>
<given-names>J.-L.</given-names>
</name>
<name>
<surname>Favier</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Modeling</surname>
<given-names>D. F. H.</given-names>
</name>
<name>
<surname>Chagnon</surname>
<given-names>G.</given-names>
</name>
<etal/>
</person-group> (<year>2017</year>). &#x201c;<article-title>Hyperelasticity Modeling for Incompressible Passive Biological Tissues</article-title>,&#x201d; in <source>Biomechanics of Living Organs</source>. <publisher-name>Academic Press (Elsevier)</publisher-name>, <fpage>3</fpage>&#x2013;<lpage>30</lpage>. <pub-id pub-id-type="doi">10.1016/B978-0-12-804009-6.00001-8</pub-id> </citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chagnon</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Rebouah</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Favier</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Hyperelastic Energy Densities for Soft Biological Tissues: A Review</article-title>. <source>J. Elast</source> <volume>120</volume>, <fpage>129</fpage>&#x2013;<lpage>160</lpage>. <pub-id pub-id-type="doi">10.1007/S10659-014-9508-Z</pub-id> </citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Crespo</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Mont&#xe1;ns</surname>
<given-names>F. J.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>A Continuum Approach for the Large Strain Finite Element Analysis of Auxetic Materials</article-title>. <source>Int. J. Mech. Sci.</source> <volume>135</volume>, <fpage>441</fpage>&#x2013;<lpage>457</lpage>. <pub-id pub-id-type="doi">10.1016/J.IJMECSCI.2017.11.038</pub-id> </citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Eggersmann</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Kirchdoerfer</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Reese</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Stainier</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Ortiz</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Model-Free Data-Driven Inelasticity</article-title>. <source>Comput. Methods Appl. Mech. Eng.</source> <volume>350</volume>, <fpage>81</fpage>&#x2013;<lpage>99</lpage>. <pub-id pub-id-type="doi">10.1016/J.CMA.2019.02.016</pub-id> </citation>
</ref>
<ref id="B14">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Eilers</surname>
<given-names>P. H. C.</given-names>
</name>
<name>
<surname>Marx</surname>
<given-names>B. D.</given-names>
</name>
</person-group> (<year>2021</year>). <source>Practical Smoothing: The Joys of P-Splines</source>. <publisher-name>Cambridge University Press</publisher-name>. <pub-id pub-id-type="doi">10.1017/9781108610247</pub-id> </citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Flaschel</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Kumar</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>De Lorenzis</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Unsupervised Discovery of Interpretable Hyperelastic Constitutive Laws</article-title>. <source>Comput. Methods Appl. Mech. Eng.</source> <volume>381</volume>, <fpage>113852</fpage>. <pub-id pub-id-type="doi">10.1016/J.CMA.2021.113852</pub-id> </citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Flory</surname>
<given-names>P. J.</given-names>
</name>
<name>
<surname>Rehner</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>1943</year>). <article-title>Statistical Mechanics of Cross&#x2010;Linked Polymer Networks II. Swelling</article-title>. <source>J. Chem. Phys.</source> <volume>11</volume>, <fpage>521</fpage>&#x2013;<lpage>526</lpage>. <pub-id pub-id-type="doi">10.1063/1.1723792</pub-id> </citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gent</surname>
<given-names>A. N.</given-names>
</name>
</person-group> (<year>1989</year>). <article-title>Rubberlike Elasticity-A Molecular Primer, by James E. Mark and Burak Erman, John Wiley &#x26; Sons, New York, 1988, 196 Pp</article-title>. <source>J. Polym. Sci. C Polym. Lett.</source> <volume>27</volume>, <fpage>405</fpage>&#x2013;<lpage>406</lpage>. <pub-id pub-id-type="doi">10.1002/POL.1989.140271012</pub-id> </citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gonz&#xe1;lez</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Chinesta</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Cueto</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Thermodynamically Consistent Data-Driven Computational Mechanics</article-title>. <source>Continuum Mech. Thermodyn.</source> <volume>31</volume> (<issue>1</issue>), <fpage>239</fpage>&#x2013;<lpage>253</lpage>. <pub-id pub-id-type="doi">10.1007/S00161-018-0677-Z</pub-id> </citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Holzapfel</surname>
<given-names>G. A.</given-names>
</name>
</person-group> (<year>2002</year>). <article-title>Nonlinear Solid Mechanics: a Continuum Approach for Engineering Science</article-title>. <source>Meccanica</source> <volume>37</volume>, <fpage>489</fpage>&#x2013;<lpage>490</lpage>. <pub-id pub-id-type="doi">10.1023/a:1020843529530</pub-id> </citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Iba&#xf1;ez</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Abisset-Chavanne</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Aguado</surname>
<given-names>J. V.</given-names>
</name>
<name>
<surname>Gonzalez</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Cueto</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Chinesta</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>A Manifold Learning Approach to Data-Driven Computational Elasticity and Inelasticity</article-title>. <source>Arch. Computat Methods Eng.</source> <volume>25</volume>, <fpage>47</fpage>&#x2013;<lpage>57</lpage>. <pub-id pub-id-type="doi">10.1007/S11831-016-9197-9/FIGURES/11</pub-id> </citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Iba&#xf1;ez</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Borzacchiello</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Aguado</surname>
<given-names>J. V.</given-names>
</name>
<name>
<surname>Abisset-Chavanne</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Cueto</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Ladev&#xe8;ze</surname>
<given-names>P.</given-names>
</name>
<etal/>
</person-group> (<year>2017</year>). <article-title>Data-driven Non-linear Elasticity: Constitutive Manifold Construction and Problem Discretization</article-title>. <source>Comput. Mech.</source> <volume>60</volume>, <fpage>813</fpage>&#x2013;<lpage>826</lpage>. <pub-id pub-id-type="doi">10.1007/S00466-017-1440-1</pub-id> </citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Khi&#xea;m</surname>
<given-names>V. N.</given-names>
</name>
<name>
<surname>Itskov</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Analytical Network-Averaging of the Tube Model:</article-title>. <source>J. Mech. Phys. Sol.</source> <volume>95</volume>, <fpage>254</fpage>&#x2013;<lpage>269</lpage>. <pub-id pub-id-type="doi">10.1016/J.JMPS.2016.05.030</pub-id> </citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kirchdoerfer</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Ortiz</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Data-driven Computational Mechanics</article-title>. <source>Comput. Methods Appl. Mech. Eng.</source> <volume>304</volume>, <fpage>81</fpage>&#x2013;<lpage>101</lpage>. <pub-id pub-id-type="doi">10.1016/J.CMA.2016.02.001</pub-id> </citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kirchdoerfer</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Ortiz</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Data-driven Computing in Dynamics</article-title>. <source>Int. J. Numer. Meth. Engng</source> <volume>113</volume>, <fpage>1697</fpage>&#x2013;<lpage>1710</lpage>. <pub-id pub-id-type="doi">10.1002/NME.5716</pub-id> </citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Korzeniowski</surname>
<given-names>T. F.</given-names>
</name>
<name>
<surname>Weinberg</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>A Multi-Level Method for Data-Driven Finite Element Computations</article-title>. <source>Comput. Methods Appl. Mech. Eng.</source> <volume>379</volume>, <fpage>113740</fpage>. <pub-id pub-id-type="doi">10.1016/J.CMA.2021.113740</pub-id> </citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Latorre</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Mont&#xe1;ns</surname>
<given-names>F. J.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Extension of the Sussman-Bathe Spline-Based Hyperelastic Model to Incompressible Transversely Isotropic Materials</article-title>. <source>Comput. Structures</source> <volume>122</volume>, <fpage>13</fpage>&#x2013;<lpage>26</lpage>. <pub-id pub-id-type="doi">10.1016/J.COMPSTRUC.2013.01.018</pub-id> </citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Latorre</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Mont&#xe1;ns</surname>
<given-names>F. J.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>What-You-Prescribe-Is-What-You-Get Orthotropic Hyperelasticity</article-title>. <source>Comput. Mech.</source> <volume>53</volume>, <fpage>1279</fpage>&#x2013;<lpage>1298</lpage>. <pub-id pub-id-type="doi">10.1007/S00466-013-0971-3</pub-id> </citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Tao</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Du</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Learning Nonlinear Constitutive Laws Using Neural Network Models Based on Indirectly Measurable Data</article-title>. <source>J. Appl. Mech. Trans. ASME</source> <volume>87</volume>. <pub-id pub-id-type="doi">10.1115/1.4047036/1083320</pub-id> </citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Marckmann</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Verron</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>Comparison of Hyperelastic Models for Rubber-like Materials</article-title>. <source>Rubber Chem. Techn.</source> <volume>79</volume>, <fpage>835</fpage>&#x2013;<lpage>858</lpage>. <pub-id pub-id-type="doi">10.5254/1.3547969</pub-id> </citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mooney</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>1940</year>). <article-title>A Theory of Large Elastic Deformation</article-title>. <source>J. Appl. Phys.</source> <volume>11</volume>, <fpage>582</fpage>&#x2013;<lpage>592</lpage>. <pub-id pub-id-type="doi">10.1063/1.1712836</pub-id> </citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Moreno</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Amores</surname>
<given-names>V. J.</given-names>
</name>
<name>
<surname>Ben&#xed;tez</surname>
<given-names>J. M.</given-names>
</name>
<name>
<surname>Mont&#xe1;ns</surname>
<given-names>F. J.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Reverse-engineering and Modeling the 3D Passive and Active Responses of Skeletal Muscle Using a Data-Driven, Non-parametric, Spline-Based Procedure</article-title>. <source>J. Mech. Behav. Biomed. Mater.</source> <volume>110</volume>, <fpage>103877</fpage>. <pub-id pub-id-type="doi">10.1016/J.JMBBM.2020.103877</pub-id> </citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nguyen-Thanh</surname>
<given-names>V. M.</given-names>
</name>
<name>
<surname>Zhuang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Rabczuk</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A Deep Energy Method for Finite Deformation Hyperelasticity</article-title>. <source>Eur. J. Mech. - A/Solids</source> <volume>80</volume>, <fpage>103874</fpage>. <pub-id pub-id-type="doi">10.1016/J.EUROMECHSOL.2019.103874</pub-id> </citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ogden</surname>
<given-names>R. W.</given-names>
</name>
</person-group> (<year>1972</year>). <article-title>Large Deformation Isotropic Elasticity - on the Correlation of Theory and experiment for Incompressible Rubberlike Solids</article-title>. <source>Proc. R. Soc. Lond. A.</source> <volume>326</volume>, <fpage>565</fpage>&#x2013;<lpage>584</lpage>. <pub-id pub-id-type="doi">10.1098/RSPA.1972.0026</pub-id> </citation>
</ref>
<ref id="B34">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>S&#xe1;ez</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Alastru&#xe9;</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Pe&#xf1;a</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Doblar&#xe9;</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Mart&#xed;nez</surname>
<given-names>M. A.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Anisotropic Microsphere-Based Approach to Damage in Soft Fibered Tissue</article-title>. <source>Biomech. Model. Mechanobiol</source> <volume>11</volume>, <fpage>595</fpage>&#x2013;<lpage>608</lpage>. <pub-id pub-id-type="doi">10.1007/S10237-011-0336-9</pub-id> </citation>
</ref>
<ref id="B35">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sussman</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Bathe</surname>
<given-names>K.-J.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>A Model of Incompressible Isotropic Hyperelastic Material Behavior Using Spline Interpolations of Tension-Compression Test Data</article-title>. <source>Commun. Numer. Meth. Engng.</source> <volume>25</volume>, <fpage>53</fpage>&#x2013;<lpage>63</lpage>. <pub-id pub-id-type="doi">10.1002/CNM.1105</pub-id> </citation>
</ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Treloar</surname>
<given-names>L. R. G.</given-names>
</name>
</person-group> (<year>1944</year>). <article-title>Stress-Strain Data for Vulcanized Rubber under Various Types of Deformation</article-title>. <source>Rubber Chem. Techn.</source> <volume>17</volume>, <fpage>813</fpage>&#x2013;<lpage>825</lpage>. <pub-id pub-id-type="doi">10.5254/1.3546701</pub-id> </citation>
</ref>
<ref id="B37">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Treloar</surname>
<given-names>L. R. G.</given-names>
</name>
</person-group> (<year>1975</year>). <source>The Physics of Rubber Elasicity</source>. <publisher-name>OUP Oxford</publisher-name>, <fpage>322</fpage>. </citation>
</ref>
<ref id="B38">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Volokh</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2016</year>). <source>Mechanics of Soft Materials</source>. <publisher-loc>Singapore</publisher-loc>: <publisher-name>Springer</publisher-name>, <volume>337</volume>. </citation>
</ref>
<ref id="B39">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zheng</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Ye</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Multi-Level K-D Tree-Based Data-Driven Computational Method for the Dynamic Analysis of Multi-Material Structures</article-title>. <source>Int. J. Mult. Comp. Eng.</source> <volume>18</volume>, <fpage>421</fpage>&#x2013;<lpage>438</lpage>. <pub-id pub-id-type="doi">10.1615/INTJMULTCOMPENG.2020035167</pub-id> </citation>
</ref>
</ref-list>
<sec id="s11">
<title>Glossary</title>
<def-list>
<def-item>
<term id="G1-fmats.2022.879614">
<bold>&#x3a9;</bold>
<sub>1</sub>
</term>
<def>
<p>Weight matrix for the first differences</p>
</def>
</def-item>
<def-item>
<term id="G2-fmats.2022.879614">
<bold>&#x3a9;</bold>
<sub>2</sub>
</term>
<def>
<p>Weight matrix for the second differences</p>
</def>
</def-item>
<def-item>
<term id="G3-fmats.2022.879614">
<bold>
<italic>A</italic>
</bold>
</term>
<def>
<p>Green Lagrange strain tensor</p>
</def>
</def-item>
<def-item>
<term id="G4-fmats.2022.879614">
<bold>
<italic>b</italic>
</bold>
</term>
<def>
<p>Volumetric forces</p>
</def>
</def-item>
<def-item>
<term id="G5-fmats.2022.879614">
<bold>
<italic>C</italic>
</bold>
</term>
<def>
<p>Right Cauchy Green tensor</p>
</def>
</def-item>
<def-item>
<term id="G6-fmats.2022.879614">
<bold>
<italic>D</italic>
</bold>
<sub>1</sub>
</term>
<def>
<p>First differences matrix</p>
</def>
</def-item>
<def-item>
<term id="G7-fmats.2022.879614">
<bold>
<italic>D</italic>
</bold>
<sub>2</sub>
</term>
<def>
<p>Second differences matrix</p>
</def>
</def-item>
<def-item>
<term id="G8-fmats.2022.879614">
<inline-formula id="inf114">
<mml:math id="m155">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ext</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</term>
<def>
<p>Element external nodal forces</p>
</def>
</def-item>
<def-item>
<term id="G9-fmats.2022.879614">
<inline-formula id="inf115">
<mml:math id="m156">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>int</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</term>
<def>
<p>Element internal nodal forces</p>
</def>
</def-item>
<def-item>
<term id="G10-fmats.2022.879614">
<bold>
<italic>f</italic>
</bold>
<sub>ext</sub>
</term>
<def>
<p>External nodal forces</p>
</def>
</def-item>
<def-item>
<term id="G11-fmats.2022.879614">
<bold>
<italic>f</italic>
</bold>
<sub>int</sub>
</term>
<def>
<p>Internal nodal forces</p>
</def>
</def-item>
<def-item>
<term id="G12-fmats.2022.879614">
<bold>
<italic>N</italic>
</bold>
<sub>
<italic>i</italic>
</sub>
</term>
<def>
<p>Principal referential direction of deformation number <italic>i</italic>
</p>
</def>
</def-item>
<def-item>
<term id="G13-fmats.2022.879614">
<bold>
<italic>P</italic>
</bold>
</term>
<def>
<p>PK1 (First Piola-Kirchhoff) stress tensor</p>
</def>
</def-item>
<def-item>
<term id="G14-fmats.2022.879614">
<bold>
<italic>r</italic>
</bold>
</term>
<def>
<p>Arbitrary direction of the unit sphere in the reference configuration</p>
</def>
</def-item>
<def-item>
<term id="G15-fmats.2022.879614">
<bold>
<italic>S</italic>
</bold>
</term>
<def>
<p>PK2 (Second Piola-Kirchhoff) stress tensor</p>
</def>
</def-item>
<def-item>
<term id="G16-fmats.2022.879614">
<bold>
<italic>t</italic>
</bold>
</term>
<def>
<p>Surface forces</p>
</def>
</def-item>
<def-item>
<term id="G17-fmats.2022.879614">
<bold>
<italic>u</italic>
</bold>
</term>
<def>
<p>Displacement field</p>
</def>
</def-item>
<def-item>
<term id="G18-fmats.2022.879614">
<bold>
<italic>u</italic>
</bold>
<sup>
<italic>a</italic>
</sup>
</term>
<def>
<p>Displacement vector of node <italic>a</italic>
</p>
</def>
</def-item>
<def-item>
<term id="G19-fmats.2022.879614">
<bold>
<italic>W</italic>
</bold>
</term>
<def>
<p>Weight matrix for the system of equation</p>
</def>
</def-item>
<def-item>
<term id="G20-fmats.2022.879614">
<bold>
<italic>X</italic>
</bold>
</term>
<def>
<p>Gradient of deformation tensor, <bold>
<italic>X</italic>
</bold> &#x3d;&#xa0;<italic>&#x2202;</italic>
<sup>
<italic>t</italic>
</sup>
<bold>
<italic>x</italic>
</bold>/<italic>&#x2202;</italic>
<sup>0</sup>
<bold>
<italic>x</italic>
</bold>
</p>
</def>
</def-item>
<def-item>
<term id="G21-fmats.2022.879614">
<bold>
<italic>&#x2207;</italic>
</bold>
</term>
<def>
<p>Nabla operator, <bold>
<italic>&#x2207;</italic>
</bold> &#x3d;&#xa0;<italic>&#x2202;</italic>
<sub>
<italic>i</italic>
</sub>
<bold>
<italic>e</italic>
</bold>
<sub>
<italic>i</italic>
</sub>
</p>
</def>
</def-item>
<def-item>
<term id="G22-fmats.2022.879614">
<bold>
<italic>&#x3b4;</italic>
</bold>
<bold>
<italic>u</italic>
</bold>
</term>
<def>
<p>Virtual displacement field</p>
</def>
</def-item>
<def-item>
<term id="G23-fmats.2022.879614">
<bold>
<italic>&#x3b4;W</italic>
</bold>
</term>
<def>
<p>Virtual work</p>
</def>
</def-item>
<def-item>
<term id="G24-fmats.2022.879614">
<bold>
<italic>&#x3b4;W</italic>
</bold>
<sub>ext</sub>
</term>
<def>
<p>External virtual work</p>
</def>
</def-item>
<def-item>
<term id="G25-fmats.2022.879614">
<bold>
<italic>&#x3b4;W</italic>
</bold>
<sub>int</sub>
</term>
<def>
<p>Internal virtual work</p>
</def>
</def-item>
<def-item>
<term id="G26-fmats.2022.879614">
<bold>&#x393;</bold>
</term>
<def>
<p>Area in the reference configuraion</p>
</def>
</def-item>
<def-item>
<term id="G27-fmats.2022.879614">
<bold>
<italic>&#x3ba;</italic>
</bold>
</term>
<def>
<p>Bulk modulus</p>
</def>
</def-item>
<def-item>
<term id="G28-fmats.2022.879614">
<inline-formula id="inf116">
<mml:math id="m157">
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:math>
</inline-formula>
</term>
<def>
<p>Fourth order projector tensor <inline-formula id="inf117">
<mml:math id="m158">
<mml:mi mathvariant="double-struck">P</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>3</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2297;</mml:mo>
<mml:mi mathvariant="bold-italic">C</mml:mi>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G29-fmats.2022.879614">
<sup>0</sup>
<bold>
<italic>&#x3be;</italic>
</bold>
</term>
<def>
<p>Local coordinates for the unit reference element</p>
</def>
</def-item>
<def-item>
<term id="G30-fmats.2022.879614">
<bold>
<italic>&#x3bc;</italic>
</bold>
</term>
<def>
<p>Shear modulus</p>
</def>
</def-item>
<def-item>
<term id="G31-fmats.2022.879614">
<inline-formula id="inf130">
<mml:math id="m170">
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:math>
</inline-formula>
</term>
<def>
<p>volume in the reference configuraion</p>
</def>
</def-item>
<def-item>
<term id="G32-fmats.2022.879614">
<inline-formula id="inf131">
<mml:math id="m171">
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:math>
</inline-formula>
</term>
<def>
<p>volume in the reference configuraion</p>
</def>
</def-item>
<def-item>
<term id="G33-fmats.2022.879614">
<inline-formula id="inf132">
<mml:math id="m172">
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
</mml:math>
</inline-formula>
</term>
<def>
<p>Continuum free energy function</p>
</def>
</def-item>
<def-item>
<term id="G34-fmats.2022.879614">
<bold>
<italic>&#x3c8;</italic>
</bold>
<sub>
<bold>
<italic>ch</italic>
</bold>
</sub>
</term>
<def>
<p>Chain free energy function</p>
</def>
</def-item>
<def-item>
<term id="G35-fmats.2022.879614">&#x25a1;</term>
<def>
<p>Volume of the unit reference element</p>
</def>
</def-item>
<def-item>
<term id="G36-fmats.2022.879614">
<inline-formula id="inf118">
<mml:math id="m159">
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>
</term>
<def>
<p>B-Spline basis function corresponding to the vertex <bold>
<italic>i</italic>
</bold>
</p>
</def>
</def-item>
<def-item>
<term id="G37-fmats.2022.879614">
<bold>
<italic>h</italic>
</bold>
<sup>
<bold>
<italic>a</italic>
</bold>
</sup>
</term>
<def>
<p>Shape function of node <italic>a</italic> in the reference unit element</p>
</def>
</def-item>
<def-item>
<term id="G38-fmats.2022.879614">
<inline-formula id="inf119">
<mml:math id="m160">
<mml:msubsup>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</term>
<def>
<p>First principal invariant of <bold>
<italic>C</italic>
</bold>, <inline-formula id="inf120">
<mml:math id="m161">
<mml:msubsup>
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G39-fmats.2022.879614">
<bold>
<italic>J</italic>
</bold>
</term>
<def>
<p>Volume ratio <inline-formula id="inf121">
<mml:math id="m162">
<mml:mi>J</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>det</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G40-fmats.2022.879614">
<inline-formula id="inf122">
<mml:math id="m163">
<mml:msubsup>
<mml:mrow>
<mml:mi>J</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</term>
<def>
<p>Jacobian of the element <bold>
<italic>e</italic>
</bold> at integration point <bold>
<italic>j</italic>
</bold>
</p>
</def>
</def-item>
<def-item>
<term id="G41-fmats.2022.879614">
<bold>
<italic>MSE</italic>
</bold>
</term>
<def>
<p>Mean square error</p>
</def>
</def-item>
<def-item>
<term id="G42-fmats.2022.879614">
<bold>
<italic>n</italic>
</bold>
<sub>
<bold>dofs</bold>
</sub>
</term>
<def>
<p>Number of DOFs per element</p>
</def>
</def-item>
<def-item>
<term id="G43-fmats.2022.879614">
<bold>
<italic>n</italic>
</bold>
<sub>
<bold>vert</bold>
</sub>
</term>
<def>
<p>Number of vertices of the BSpline</p>
</def>
</def-item>
<def-item>
<term id="G44-fmats.2022.879614">
<bold>
<italic>n</italic>
</bold>
<sub>
<bold>
<italic>el</italic>
</bold>
</sub>
</term>
<def>
<p>Number of elements</p>
</def>
</def-item>
<def-item>
<term id="G45-fmats.2022.879614">
<bold>
<italic>n</italic>
</bold>
<sub>
<bold>
<italic>n</italic>
</bold>
</sub>
</term>
<def>
<p>Number of nodes</p>
</def>
</def-item>
<def-item>
<term id="G46-fmats.2022.879614">
<bold>
<italic>n</italic>
</bold>
<sub>
<bold>
<italic>qp</italic>
</bold>
</sub>
</term>
<def>
<p>Number of quadrature points per element</p>
</def>
</def-item>
<def-item>
<term id="G47-fmats.2022.879614">
<bold>
<italic>n</italic>
</bold>
<sub>
<bold>
<italic>qS</italic>
</bold>
</sub>
</term>
<def>
<p>Number of quadrature points on the microspheres</p>
</def>
</def-item>
<def-item>
<term id="G48-fmats.2022.879614">
<bold>
<italic>P</italic>
</bold>
<sub>
<bold>
<italic>ch</italic>
</bold>
</sub>
</term>
<def>
<p>Chain mechanical behavior function, <bold>
<italic>P</italic>
</bold>
<sub>
<bold>
<italic>ch</italic>
</bold>
</sub> &#x3d;&#xa0;<italic>d&#x3c8;</italic>
<sub>
<italic>ch</italic>
</sub>/<italic>d&#x3bb;</italic>
<sub>
<italic>ch</italic>
</sub>
</p>
</def>
</def-item>
<def-item>
<term id="G49-fmats.2022.879614">
<bold>
<italic>r</italic>
</bold>
<sub>
<bold>
<italic>i</italic>
</bold>
</sub>
</term>
<def>
<p>Director cosine of the vector <bold>
<italic>r</italic>
</bold> with respect to <bold>
<italic>N</italic>
</bold>
<sub>
<italic>i</italic>
</sub>
</p>
</def>
</def-item>
<def-item>
<term id="G50-fmats.2022.879614">
<bold>
<italic>S</italic>
</bold>
<sub>
<bold>
<italic>i</italic>
</bold>
</sub>
</term>
<def>
<p>Principal value <italic>i</italic> of the PK2 stress tensor</p>
</def>
</def-item>
<def-item>
<term id="G51-fmats.2022.879614">
<bold>
<italic>w</italic>
</bold>
<sub>
<bold>
<italic>j</italic>
</bold>
</sub>
</term>
<def>
<p>Quadrature weight for the integration point <italic>j</italic> of the element</p>
</def>
</def-item>
<def-item>
<term id="G52-fmats.2022.879614">
<inline-formula id="inf123">
<mml:math id="m164">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</term>
<def>
<p>Quadrature weight for the integration point <italic>j</italic> on the sphere</p>
</def>
</def-item>
<def-item>
<term id="G53-fmats.2022.879614">
<inline-formula id="inf124">
<mml:math id="m165">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">C</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</term>
<def>
<p>Affine chain stretch, <inline-formula id="inf125">
<mml:math id="m166">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msqrt>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G54-fmats.2022.879614">
<inline-formula id="inf126">
<mml:math id="m167">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>
</term>
<def>
<p>Deviatoric principal stretch <italic>i</italic>
</p>
</def>
</def-item>
<def-item>
<term id="G55-fmats.2022.879614">
<bold>
<italic>&#x3bb;</italic>
</bold>
<sub>
<bold>
<italic>ch</italic>
</bold>
</sub>
</term>
<def>
<p>Non-affine chain stretch, <italic>&#x3bb;</italic>
<sub>
<italic>ch</italic>
</sub> &#x3d;&#xa0;<bold>
<italic>r</italic>
</bold> &#x22c5;<bold>
<italic>U</italic>
</bold> &#x22c5;&#xa0;<italic>r</italic>
</p>
</def>
</def-item>
<def-item>
<term id="G56-fmats.2022.879614">
<bold>
<italic>&#x3bb;</italic>
</bold>
<sub>
<bold>
<italic>i</italic>
</bold>
</sub>
</term>
<def>
<p>Principal stretch <italic>i</italic>
</p>
</def>
</def-item>
<def-item>
<term id="G57-fmats.2022.879614">
<inline-formula id="inf127">
<mml:math id="m168">
<mml:mi mathvariant="bold-script">U</mml:mi>
</mml:math>
</inline-formula>
</term>
<def>
<p>Volumetric contribution to the free energy function</p>
</def>
</def-item>
<def-item>
<term id="G58-fmats.2022.879614">
<inline-formula id="inf128">
<mml:math id="m169">
<mml:mi mathvariant="bold-script">W</mml:mi>
</mml:math>
</inline-formula>
</term>
<def>
<p>Deviatoric contribution to the free energy function</p>
</def>
</def-item>
</def-list>
</sec>
</back>
</article>