1. Building a Hex Mesh

First, we are going to construct a structured hex mesh. The hex mesh will span from 0 meters to 4000 m, 4000 m, and 3000 m, for the x/y/z coordinates respectively. For both consistency and rapid parameter manipulation, these can be stored in variables. In LaGriT, variables are assigned using the `define` keyword. ``` define / X0 / 0. define / X1 / 4000. define / Y0 / 0. define / Y1 / 4000. define / Z0 / 0. define / Z1 / 3000. define / NX / 51 define / NY / 51 define / NZ / 26 define / MONAME / mohex ``` Above, the spatial domain (`X0,X1,Y0,...`), element density (`NX/NY/NZ`), and mesh name (`MONAME`) have been defined. Next, we will create an empty mesh object, with element type `hex`, using the [`cmo / create`](../../docs/commands/cmo/cmo_create.md) command: ``` cmo / create / MONAME / / / hex ``` Due to the variable assignment of `MONAME <- mohex` above, this command is translated internally as: ``` cmo / create / mohex / / / hex ``` This empty object can then be populated with nodes and elements. The [`createpts / brick`](../../docs/commands/createpts/CRTPTBRICK.md) command will generate a defined number of hex elements across a defined domain. ``` createpts / brick / xyz / NX NY NZ / X0 Y0 Z0 / X1 Y1 Z1 / 1 1 1 ``` `NX` number of hex elements, along with their corresponding vertices, have been created in the spatial domain spanning `X0->X1`, along with `NY` elements in the Y domain and `NZ` elements in the Z domain. Optionally, [save the mesh object](../../docs/commands/DUMP2.md): ``` dump / avs / tmp_hex_01.inp / MONAME ``` This file can be rendered in certain scientific 3D visualization applications, such as [ParaView](https://www.paraview.org).