2. Benchmark solution#

2.1. Calculation method#

The reference solution is analytical.

Let \(M(x,y,z)\) be a point in space, we impose on it a translation \(T\) of vector \((\mathit{tx},\mathit{ty},\mathit{tz})\), and a rotation \(R\) of angle \(\alpha\) (in radians) whose axis passes through \(P(\mathit{px},\mathit{py},\mathit{pz})\) and has the direction \(D(\mathit{dx},\mathit{dy},\mathit{dz})\).

So \(M\) becomes \({M}_{T}\) after the translation: \({M}_{T}(x+\mathit{tx},y+\mathit{ty},z+\mathit{tz})\).

\({M}_{T}\) becomes \({M}_{\mathit{TR}}\) after rotation:

\({M}_{\mathit{TR}}\mathrm{=}P+\mathrm{cos}\alpha \mathrm{\cdot }P{M}_{T}+(1\mathrm{-}\mathrm{cos}\alpha )\mathrm{\cdot }({\mathit{PM}}_{T}\mathrm{\cdot }D)\mathrm{\cdot }D+\mathrm{sin}\alpha \mathrm{\cdot }(D\mathrm{\wedge }{\mathit{PM}}_{T})\)

with \({M}_{T}\mathrm{=}M+T\)

Scaling an ech factor gives:

\({M}_{\mathit{TRE}}\mathrm{=}\mathit{ech}\mathrm{\cdot }{M}_{\mathit{TR}}\)

The base change functionality expects user data from two orthogonal vectors in 3D (a single vector in 2D) as input. This data is completed in order to generate a direct orthogonal base, in 3D or 2D. Tests are carried out to verify whether the input data will make it possible to define a direct orthogonal base. A normalization of the vectors of the base is then carried out.

In 3D, we therefore expect the data from \(U\) and \(V\), the first two vectors of the new base:

\(W(x,y,z)\mathrm{=}U(x,y,z)\mathrm{\wedge }V(x,y,z)\)

\(\mathrm{\Rightarrow }B\mathrm{=}(U,V,W)\): matrix formed by the base vectors

\(M(U,V,W)\mathrm{=}{B}^{T}M(x,y,z)\)

In 2D, the second vector of the base is generated by rotating the vector entered by the user by 90°.

This base change can be combined with scaling and translation, for example.

The programming of these transformations is done differently in 3D and in 2D, in order to optimize each of these two cases.

2.2. Reference quantities and results#

We will check the new coordinates of the points \(\mathit{P1}\), \(\mathit{P7}\) and \(\mathit{P8}\) in 3D (\(\mathit{P1}\), \(\mathit{P3}\) and \(\mathit{P4}\) in 2D).

2.3. Uncertainties about the solution#

The uncertainties come from the numerical precision in*Code_Aster* (platform dependency) and in the calculation of the reference analytical solution. We can therefore consider a criterion of relative precision of the order of \(1.E\mathrm{-}13\) in the tests.

2.4. Bibliographical references#

Without use.