Geometry Analysis The Creation of Adam, Michelangelo (http://en.wikipedia.org/wiki/Michelangelo) Isogeometric Analysis: Forward Integration of CAD and FEA Cottrell 2009 The Creation of Adam, Michelangelo (http://en.wikipedia.org/wiki/Michelangelo) NURBS-Surface Representation in Kratos ● NURBS paraphernalia ● ● ● ● ● Differences in FEM and IGA Data structure for NURBS in Kratos ● ● ● ● ● 2D Laplacian Temperature Problem Post-Processing Closest-Point-Search ● ● ● GiD interface KRATOS adaptation NURBS-Elements Isogeometric Laplace Solver ● ● Nomenclature B-Splines NURBS Point-to-Surface map Closest Point Future work NURBS - Nomenclature Control Points define the geometry and the variables will be defined at the control points ● The parameter domain is given by knot vectors: ● e.g.: ξ=[0,0,0,0.5,1,1,1] η=[0,0,0,1,1,1] (1,0) The control net conforms the geometry but is not interpolatory (1,1) The elements are defined by knot spans η (0,0) (1,0) ξ Isogeometric Analysis: Forward Integration of CAD and FEA Cottrell 2009 Actual geometry B-Splines B-Spline basis functions are defined recursively with the Coxde-Bor recursion formula: N i , 0 (ξ)= { 1 if ξi≤ξ< ξi+ 1 0 otherwise For p = 1,2,3,... they are defined by: ξ−ξ i ξi+ p+1 −ξ N i , p (ξ)= N (ξ)+ N (ξ) ξi + p −ξ i i , p −1 ξi+ p +1−ξi +1 i +1, p−1 Isogeometric Analysis: Forward Integration of CAD and FEA Cottrell 2009 From B-Splines to NURBS NURBS shape function p Ri ( ξ)= N i , p (ξ)⋅w i N i , p ( ξ)⋅wi p Ri (ξ)= W (ξ) n with W ( ξ)=∑ N i , p ( ξ)⋅w i i=1 n ∑i =1 N i , p (ξ)⋅wi NURBS-Surface basis function as vector product of two NURBS-curves: N i , p (ξ) M j , q (η)⋅wi , j p, q Ri , j (ξ , η)= n m ∑i =1 ∑ j =1 N i , p (ξ) M j , q (η)⋅wi , j And the final surface description: n m C (ξ , η)=∑ ∑ Ri , j ( ξ , η)⋅B i , j i=1 j=1 p, q Isogeometric Analysis: Forward Integration of CAD and FEA Cottrell 2009 IGA vs. FEA Isogeometric Analysis Exact Geometry Control Points Control Variables Basis does not interpolate control points and variables NURBS basis High, easily controlled continuity hpk-refinement space Pointwise positive basis Convex hull property Variation diminishing in the presence of discontinous data Isogeometric Analysis: Forward Integration of CAD and FEA Cottrell 2009 IGA vs. FEA Practical Point-of-View IGA Standard FEA » Defined data sizes as the element definitions are clearly defined with respect to the number of nodes » Undefined data sizes as each NURBS-Patch may have a different number of Control Points per element Functions handle known data dimensions Additional entity in IGA Functions need to adapt to the actual data dimensions knots, weigths Data structure for NURBS in Kratos Number of Control Points= 5 2 Degree= 2 1 Point 1,1 coords: 0.0,0.0,0.0 Point 1,2 coords: 1.0,0.0,0.0 ... Point 2,1 coords: 0.0,0.0,1.0 Point 2,2 coords: 1.0,0.0,1.0 ... . Number of knots in U= 8 knot 1 value=0.0 knot 2 value=0.0 ... Number of knots in V= 4 knot 1 value=0.0 knot 2 value=0.0 ... Rational weights: 1.0 0.70710678118654757 1.0 ... Use GiD information to create an NURBSObject in Kratos view text Data structure for NURBS in Kratos Kratos Vector mKnotsXi GiD Knots U Vector mKnotsEta Knots V Vector mWeights Rational Weights Int mPolynomialDegreeP Degree (1st) Int mPolynomialDegreeQ Degree (2nd) Int mNumberOfCPsU Number of Control Points(1st) Int mNumberOfCPsV Number of Control Points (2nd) Read in via python Further data structures in Kratos to define a NURBS-surface: Int mNumberOfGeometries ● Double mUpperXi ● Double mLowerXi ● Double mUpperEta ● Double mLowerEta ● Computed member variables Data structure for NURBS in Kratos » Control Points read-in in seperate mdpa-file. Kratos ModelPart will be created Control Points numeration: Data structure for NURBS in Kratos ● Elements are defined on knot spans. Parameter domain: Physical space: The Control Points which have to be considered for a element [ξ j , ξ j+1 ] x [ ηk , ηk+1 ] are [CP j− p ... CP j ] x [CP k −q ... CP k ] Isogeometric Laplace Solver » Using NURBS-description to solve a 2D Laplacian Temperature Problem: Note: The Control Points where the dirichlet B.C.s are set are interpolated and therefore conform with the geometry! Temperature at the Control Points 1,1 and 2,1 will be fixed to 10 Temperature at the Control Points 1,5 and 2,5 will be fixed to 0 Isogeometric Laplace Solver Use of the adapted Element-Type NurbsPoisson2D and the StaticPoissonSolver for computing the solution of the 2D-Laplacian Problem in Kratos. As result, the Temperature at the Control Points will be obtained. Problem: No postprocess for NURBS in GiD Solution: 1) Use GiD to generate a Triangle-Mesh with the same Geometry as the NURBS geometry 2) Compute the ζ- and η- values for each Node 3) Interpolate the Temperature at every Node 4) Use Standard-Postprocess from GiD Isogeometric Laplace Solver Final solution obtained for a standard Laplacian Temperature Problem. Achievements: ● ● Solving directly on the NURBS-description of the geometry Using NURBS-basis functions for computation Point-To-Surface map Final goal in scope of this thesis: Use of NURBS-Geometry in the embedded fluid-structure solver. Get distance of a Point to a NURBS-surface Procedure: 1) Define the middle of the element as initial guess. 2) Compute d0 = xPoint – x0 3) Compute scalar product d0 * gi0 4) Minimize scalar product with a multi-dimensional NewtonRaphson technique: Δ x n :=−( J ( x n )⁻ ¹)⋅f ( x n ) x n+1 =x n + Δ x n Closest-Distance Search 1) Set dmin = 100000 For each element: 2) Initialize x ⁰=x ( ξmid , ηmid ) 3) Compute closest point 4) If dele < dmin : dmin = dele Note: For elements where d ele ⊥ g ξ and/or d ele ⊥ gη the algorithm might yield values for ξ and η which lie outside of the element boundaries. Assign the closest possible values to ξ and η What is missing? In the scope of my tesis: ● Spatial search (bins_dynamic_objects) Ideas for future work: ● ● ● ● Signing of distance (Inside or outside of structure) Inclusion of the NURBSApplication into the embedded fluid-solver Trimmed NURBS Multiple Patches ● Boundary Conditions ● Continuity at transitions ... ● 3D Computation (Plates, Shells,...) ● NURBS-based post-processing ● Refinement strategies (hpk) Thank you for your attention!
© Copyright 2024 ExpyDoc