forked from idaholab/moose
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
update IGA example (refs idaholab#18768)
- Loading branch information
1 parent
53c8854
commit 37aaa83
Showing
8 changed files
with
4,368 additions
and
75 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
42 changes: 42 additions & 0 deletions
42
...es/tensor_mechanics/doc/content/modules/tensor_mechanics/examples/cframe_iga.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
# Isogeometric Analysis in MOOSE | ||
|
||
This example illustrates using [!ac](IGA) within MOOSE framework to perform a simulation. This example simulates | ||
loads applied to a "c-frame" to determine the maximum principal stress. | ||
|
||
## Creating IGA Mesh | ||
|
||
To create the mesh file included int this example a Coreform Cubit license is needed. | ||
Coreform Cubit is a product released and maintained by Coreform, LLC. | ||
A free to use [Cubit Learn license](https://coreform.com/products/coreform-cubit/free-meshing-software/) can be acquired. | ||
|
||
!alert! note title=Mesh Generation with Cubit | ||
The following is not required to run the example, but is required to | ||
generate the input mesh that is included in the example. To execute | ||
the Cubit journal file in batch from the command line use the | ||
following command: | ||
|
||
``` | ||
coreform_cubit -batch cframe_build.jou | ||
``` | ||
!alert-end! | ||
|
||
Within the journal file, see [!ref](cframe_jou), there are unique commands that will generate a uspline on the discretized mesh. | ||
|
||
- Line 35 sets the degree and continuity of the uspline | ||
- As of this writing, the max degree supported by libmesh is 2. | ||
- All continuity must equal p-1 where p is the degree. | ||
- Line 36 constructs the uspline using the geometry as a basis. | ||
- Line 37 fits the uspline that was built to the geometry. | ||
|
||
!listing examples/cframe_iga/cframe_build.jou id=cframe_jou caption=Complete Coreform Cubit file for generating [!ac](IGA) input mesh | ||
|
||
## MOOSE-IGA Simulation | ||
|
||
Performing the simulation utilizing the mesh created above does not require much with respect to the MOOSE input, simply | ||
load the mesh from a file and select utilize the RATIONAL_BERNSTEIN element family as shown in [!ref](moose-iga-input). | ||
Exporting using the VTK format (`vtk = true`) input will output in a format that will capture the higher-order nature | ||
of the [!ac](IGA) based elements using Paraview visualization. | ||
|
||
!listing examples/cframe_iga/cframe_iga.i id=moose-iga-input caption=Complete input file for running example problem with [!ac](IGA) in MOOSE. | ||
|
||
!media tensor_mechanics/cframe_iga.png id=moose-iga-vtk caption=Maximum principal stress for "c-frame" example utilizing [!ac](IGA) in MOOSE. |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
25 changes: 25 additions & 0 deletions
25
modules/tensor_mechanics/examples/cframe_iga/gold/cframe_iga_out_001.pvtu
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
<?xml version="1.0"?> | ||
<VTKFile type="PUnstructuredGrid" version="0.1" byte_order="LittleEndian" header_type="UInt32" compressor="vtkZLibDataCompressor"> | ||
<PUnstructuredGrid GhostLevel="1"> | ||
<PPointData RationalWeights="RationalWeights"> | ||
<PDataArray type="Float64" Name="RationalWeights"/> | ||
<PDataArray type="Float64" Name="von_mises"/> | ||
<PDataArray type="Float64" Name="Max_Princ"/> | ||
<PDataArray type="Float64" Name="stress_xx"/> | ||
<PDataArray type="Float64" Name="stress_yy"/> | ||
<PDataArray type="Float64" Name="stress_zz"/> | ||
<PDataArray type="Float64" Name="disp_x"/> | ||
<PDataArray type="Float64" Name="disp_y"/> | ||
<PDataArray type="Float64" Name="disp_z"/> | ||
</PPointData> | ||
<PCellData> | ||
<PDataArray type="Int32" Name="libmesh_elem_id"/> | ||
<PDataArray type="Int32" Name="subdomain_id"/> | ||
<PDataArray type="Int32" Name="processor_id"/> | ||
</PCellData> | ||
<PPoints> | ||
<PDataArray type="Float64" Name="Points" NumberOfComponents="3"/> | ||
</PPoints> | ||
<Piece Source="cframe_iga_out_001_0.vtu"/> | ||
</PUnstructuredGrid> | ||
</VTKFile> |
Oops, something went wrong.