wiki:sns:intactgh:beginner_ex_4
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
wiki:sns:intactgh:beginner_ex_4 [2024/01/19 15:11] – graham | wiki:sns:intactgh:beginner_ex_4 [2024/01/31 12:13] (current) – [Hide CAD Model] graham | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ======Ex-4: Orthotropic Materials: Transformation Workflow | + | ======Ex-4: |
🧰The Rhino and Grasshopper files used in this example can be downloaded below: | 🧰The Rhino and Grasshopper files used in this example can be downloaded below: | ||
- | {{: | + | {{: |
- | This example demonstrates a workflow for correctly orienting fiber directions | + | This example demonstrates a workflow for correctly orienting fiber directions |
* The key steps involved in setting up the simulation are explained here. | * The key steps involved in setting up the simulation are explained here. | ||
Line 14: | Line 14: | ||
* An initial solid box is centered at the origin and rotations are applied in each world plane (XY, YZ, ZX) to yield an arbitrarily oriented surface | * An initial solid box is centered at the origin and rotations are applied in each world plane (XY, YZ, ZX) to yield an arbitrarily oriented surface | ||
- | * The surfaces of interest along with their normal are extracted (normal to align our Z-axis and longitudinal direction to align our fiber direction or X-axis) | + | * For the automated transformations (using only Grasshopper) the surfaces of interest along with their normal are extracted (normal to align our Z-axis and longitudinal direction to align our fiber direction or X-axis) |
* Note, the oriented box geometry and surfaces should be baked for future use in simulation. | * Note, the oriented box geometry and surfaces should be baked for future use in simulation. | ||
+ | {{: | ||
=====Transformations===== | =====Transformations===== | ||
+ | Note, that there are many ways to approach getting a transformation for an input to an orthotropic material block, and only two quick options are shown here. The most important part is that the end transformation result must represent the total transformation from the standard global XYZ to whatever the desired orientation is. If multiple transformations are done sequentially the corresponding matrices will need to be multiplied in the correct order, as described here. | ||
- | =====Example Simulation Setup===== | + | ===Transformation Multiplication: |
- | Now, for a composite material, add an Orthotropic Material Block from the Comp& | + | |
- | * Create a " | + | [C] = [A]*[B] |
- | * Attach to the rotate 3D block a "Unit Z" object to the Axis (X) and a slider (a) to Angle (A) in order to set the rotation angle about the specified axis (note, can attach slider (a) to a " | + | |
- | | + | |
- | This will align the stronger " | + | where, |
- | Using the geometry | + | * [C] Is the final transformation |
+ | * [A] Is a simple rotation | ||
+ | * [B] Flips about an axis | ||
+ | |||
+ | In this setup, | ||
+ | |||
+ | ==== Manual Transformation ==== | ||
+ | |||
+ | For the first method, | ||
+ | |||
+ | - Create a " | ||
+ | - Right-click and select "Set one Plane" | ||
+ | - Select an origin point | ||
+ | - Select a X-axis direction point (fiber direction) | ||
+ | - Select | ||
+ | - Connect this plane component to the target plane of the " | ||
+ | - This transformation can then be used for an orthotropic material or the matrix can be stored and multiplied if needed. | ||
+ | |||
+ | These steps are demonstrated in a short video here along with some additional visualization. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | ==== Automated Transformation ==== | ||
+ | |||
+ | Now, here is a second method of obtaining the transformation matrix for an orthotropic material on an arbitrarily oriented plane. This method is essentially just getting two direction vectors, one for normal direction | ||
+ | |||
+ | - Extract surface/ | ||
+ | - Repeat this process for the surface/ | ||
+ | - Create a "Plane Normal" | ||
+ | - Attach this plane to the "Align Plane" and also attach the fiber direction vector to the direction input. (B) | ||
+ | - Use the " | ||
+ | - This will yield the transformation matrix as before, remaining steps are the same as for the manual method. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ====Multiple Transformations==== | ||
+ | |||
+ | As described in the transformation multiplication section, if we have successive transformations we need to multiply them together. An example is given here: | ||
+ | - Attach the transformations to the " | ||
+ | - Attach the matrices to the multiply component in the correct order (check the multiplication section or use visualization as a check) | ||
+ | - Use the resultant/ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Here the resultant matrix [B]=[A2]*[A1] where [A2] is rotating about the newly oriented z' axis and [A1] is aligning the xyz' axis to the fiber direction. Note that with this ordering the xyz' axis is oriented first then we rotate that oriented system for simulating alternate fiber orientations such as [-45, 45] plies. | ||
+ | |||
+ | =====Visualization===== | ||
+ | |||
+ | Lastly, the oriented system can be visualized as seen in previous sections via a " | ||
+ | |||
+ | {{: | ||
+ | |||
+ | =====Example Simulation Setup===== | ||
+ | |||
+ | With these transformations, | ||
+ | |||
+ | Specifically, | ||
* Attach the corresponding geometries to the corresponding component, restraint, or load block. | * Attach the corresponding geometries to the corresponding component, restraint, or load block. | ||
* Attach the orthotropic material to the component block | * Attach the orthotropic material to the component block | ||
- | * Set the axis for the Torque Load block by clicking "Set one Line" and choosing the two endpoints | + | * Set a pressure load on the +x' face of the plate of -1e6 |
- | * Attach a slider set to -20 for the " | + | |
- | =====Solver and Visualization Setup===== | + | {{: |
- | | + | ====Solver and Visualization Setup==== |
+ | |||
+ | | ||
* Set the target resolution (Res) to 150K by attaching a number slider with a value of 150000 | * Set the target resolution (Res) to 150K by attaching a number slider with a value of 150000 | ||
* Use the default direct solver type (St) | * Use the default direct solver type (St) | ||
* Use the default basis order (B) of 1 for linear elements (basis order = 2 for quadratic elements) | * Use the default basis order (B) of 1 for linear elements (basis order = 2 for quadratic elements) | ||
- | * Create a Stress Solver object as shown in (b) | + | * Create a Stress Solver object as shown in |
* Connect the solver settings (SS) | * Connect the solver settings (SS) | ||
* Connect the oriented plate component (C) | * Connect the oriented plate component (C) | ||
* Connect the plate restraint surface (R) | * Connect the plate restraint surface (R) | ||
* Connect the plate pressure load (L) | * Connect the plate pressure load (L) | ||
- | * Hit solve to compute the solution | + | * Solve |
- | * Create a visualization block (d) and connect the solver output to it | + | * Create a visualization block and connect the solver output to it |
- | * Optionally, users can connect the visualization settings block %%(c)%% for customizing the views | + | * Optionally, users can connect the visualization settings block |
* Right-click on the visualize block and choose the simulation output for display (e.g., total displacement) | * Right-click on the visualize block and choose the simulation output for display (e.g., total displacement) | ||
* Again optionally, users can add a deflection scale input to scale the visualized displacement as desired | * Again optionally, users can add a deflection scale input to scale the visualized displacement as desired | ||
- | |||
- | {{: | ||
- | |||
- | |||
=====Hide CAD Model===== | =====Hide CAD Model===== | ||
* To better visualize you can hide the geometry in Rhino or set the display to wireframe. This will prevent the object from interfering with the visualization of the simulation. | * To better visualize you can hide the geometry in Rhino or set the display to wireframe. This will prevent the object from interfering with the visualization of the simulation. | ||
- | The displacement distribution resulting from this static simulation example is displayed below. The maximum displacement is near .5 mm. To load the simulation results later, create a simulation reader block, right-click, | + | The displacement distribution resulting from this static simulation example is displayed below. The maximum displacement is near 0.07 mm for fibers aligned along the x' (no second rotation). For the 45-degree CW rotation, it should be closer to 0.53 mm. To load the simulation results later, create a simulation reader block, right-click, |
{{: | {{: |
wiki/sns/intactgh/beginner_ex_4.1705702272.txt.gz · Last modified: 2024/01/19 15:11 by graham