-
Notifications
You must be signed in to change notification settings - Fork 1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
12 changed files
with
202 additions
and
1 deletion.
There are no files selected for viewing
15 changes: 15 additions & 0 deletions
15
modules/fsi/doc/content/source/interfacekernels/ADPenaltyVelocityContinuity.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,15 @@ | ||
# ADPenaltyVelocityContinuity | ||
|
||
!syntax description /InterfaceKernels/ADPenaltyVelocityContinuity | ||
|
||
This object is meant for use in coupling the Navier-Stokes fluid equations with | ||
solid mechanics equations at a fluid-structure interface. In that context this | ||
object imposes both continuity of stress and continuity of material velocity via | ||
a penalty condition. For more information on the error of penalty methods, | ||
please see [CoupledPenaltyInterfaceDiffusion.md]. | ||
|
||
!syntax parameters /InterfaceKernels/ADPenaltyVelocityContinuity | ||
|
||
!syntax inputs /InterfaceKernels/ADPenaltyVelocityContinuity | ||
|
||
!syntax children /InterfaceKernels/ADPenaltyVelocityContinuity |
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
22 changes: 22 additions & 0 deletions
22
modules/fsi/doc/content/source/kernels/ConvectedMeshPSPG.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,22 @@ | ||
# ConvectedMeshPSPG | ||
|
||
!syntax description /Kernels/ConvectedMeshPSPG | ||
|
||
This object adds the pressure-stabilized Petrov-Galerkin term to the pressure | ||
equation corresponding to the [ConvectedMesh.md] object. It implements the | ||
weak form | ||
|
||
\begin{equation} | ||
\int \nabla \psi \dot \left(\tau \dot{\vec{d}}\right) dV | ||
\end{equation} | ||
|
||
where $\nabla \psi$ is the gradient of the pressure test function, $\tau$ is a | ||
stabilization parameter computed automatically by the `navier_stokes` base class | ||
`INSBase`, and $\dot{\vec{d}}$ is the time derivative of the displacement | ||
vector. | ||
|
||
!syntax parameters /Kernels/ConvectedMeshPSPG | ||
|
||
!syntax inputs /Kernels/ConvectedMeshPSPG | ||
|
||
!syntax children /Kernels/ConvectedMeshPSPG |
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
23 changes: 23 additions & 0 deletions
23
modules/heat_conduction/doc/content/source/bcs/GaussianWeldEnergyFluxBC.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,23 @@ | ||
# GaussianWeldEnergyFluxBC | ||
|
||
!syntax description /BCs/GaussianWeldEnergyFluxBC | ||
|
||
This boundary condition computes an influx of energy from a laser spot with a | ||
Gaussian spatial profile. The flux is given by | ||
|
||
\begin{equation} | ||
-2r_{eff}F_0\exp{-r_{eff}r_p^2/R^2} | ||
\end{equation} | ||
|
||
where $r_eff$ is an effective radius used to specify the radial distribution of | ||
beam energy, $F_0$ is the average heat flux of the laser, and $r_p$ is the | ||
normed distance from the point at which we're evaluating the flux to the | ||
centerpoint of the laser. This functional form of the laser flux is taken from | ||
[!cite](noble2007use). The negative sign on the flux indicates that the flux is | ||
incoming. | ||
|
||
!syntax parameters /BCs/GaussianWeldEnergyFluxBC | ||
|
||
!syntax inputs /BCs/GaussianWeldEnergyFluxBC | ||
|
||
!syntax children /BCs/GaussianWeldEnergyFluxBC |
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
32 changes: 32 additions & 0 deletions
32
modules/navier_stokes/doc/content/modules/navier_stokes/laser_welding.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,32 @@ | ||
# 3D laser welding | ||
|
||
The input file below can be used to model a full rotation of a laser spot around | ||
the surface of a cubic representation of a welding material. This input, whose | ||
results are published in [!cite](lindsay2021automatic), | ||
reproduces a model outlined in [!cite](noble2007use). A simple Laplacian | ||
equation is used to model the displacement field. The incompressible | ||
Navier-Stokes equations are solved for mass, momentum, and energy. These | ||
equations are run on the displaced mesh such that a mesh convection term (see | ||
[INSADConvectedMesh.md]) must be added to correct the material | ||
velocity. Both SUPG and PSPG stabilizations are used in this input. | ||
|
||
This simulation is driven by the rotating laser spot, whose effect is introduced | ||
via the [GaussianWeldEnergyFluxBC.md] object. In addition to this incoming heat | ||
flux, an outgoing radiative heat flux is modeled using [FunctionRadiativeBC.md]. | ||
Evaporation of material from the liquefied material surface helps | ||
drive momentum changes at the surface of the condensed phase; this effect is incorporated via the | ||
[INSADVaporRecoilPressureMomentumFluxBC.md] object. These surface momentum and velocity | ||
changes are then translated into mesh displacement | ||
through the [INSADDisplaceBoundaryBC.md] object. We also introduce | ||
[INSADDummyDisplacedBoundaryIntegratedBC.md] objects in order to fill the | ||
sparsity dependence of the surface displacement degrees of freedom on the | ||
surface velocity degrees of freedom before the Jacobian matrix is assembled | ||
prior to executing nodal boundary conditions. This sparsity filling is necessary | ||
in order to prevent new nonzero allocations from occurring when the | ||
`INSADDisplaceBoundaryBC` nodal boundary conditions are executed. No-slip | ||
boundary conditions are applied at all surfaces other than at the `front` | ||
surface where the laser spot is applied. The `back` surface is held at a | ||
constant temperature of 300 Kelvin. Zero displacements are applied at the `back` | ||
surface. Material properties are based on 304L stainless steel. | ||
|
||
!listing modules/navier_stokes/test/tests/finite_element/ins/laser-welding/3d.i |
22 changes: 22 additions & 0 deletions
22
modules/navier_stokes/doc/content/source/bcs/INSADDisplaceBoundaryBC.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,22 @@ | ||
# INSADDisplaceBoundaryBC | ||
|
||
!syntax description /BCs/INSADDisplaceBoundaryBC | ||
|
||
This boundary condition displaces a boundary in proportion to a coupled | ||
velocity. It is a strongly enforced boundary condition on every displacement | ||
node with a residual of the form | ||
|
||
\begin{equation} | ||
u - (u_{old} + \Delta t \vec{v}_i) | ||
\end{equation} | ||
|
||
where $u$ denotes a given displacement vector component, $u_{old}$ is the | ||
previous timestep's value of the displacement, $\Delta t$ is the timestep, and | ||
$\vec{v}_i$ is a component of the coupled velocity vector, where $i$ denotes the | ||
component. | ||
|
||
!syntax parameters /BCs/INSADDisplaceBoundaryBC | ||
|
||
!syntax inputs /BCs/INSADDisplaceBoundaryBC | ||
|
||
!syntax children /BCs/INSADDisplaceBoundaryBC |
17 changes: 17 additions & 0 deletions
17
.../navier_stokes/doc/content/source/bcs/INSADDummyDisplaceBoundaryIntegratedBC.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,17 @@ | ||
# INSADDummyDisplaceBoundaryIntegratedBC | ||
|
||
!syntax description /BCs/INSADDummyDisplaceBoundaryIntegratedBC | ||
|
||
This object adds the sparsity dependence of the surface displacement degress of | ||
freedom on surface velocity degrees of freedom introduced by the nodal boundary | ||
condition [INSADDisplaceBoundaryBC.md]. This sparsity must be added before | ||
nodal boundary conditions are executed because the Jacobian matrix is assembled | ||
prior to nodal boundary condition execution. At that time, if there is unused | ||
sparsity in the matrix it is removed by PETSc. Hence the use of this object to | ||
prevent new nonzero allocations during execution of `INSADDisplaceBoundaryBC`. | ||
|
||
!syntax parameters /BCs/INSADDummyDisplaceBoundaryIntegratedBC | ||
|
||
!syntax inputs /BCs/INSADDummyDisplaceBoundaryIntegratedBC | ||
|
||
!syntax children /BCs/INSADDummyDisplaceBoundaryIntegratedBC |
19 changes: 19 additions & 0 deletions
19
.../navier_stokes/doc/content/source/bcs/INSADVaporRecoilPressureMomentumFluxBC.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,19 @@ | ||
# INSADVaporRecoilPressureMomentumFluxBC | ||
|
||
!syntax description /BCs/INSADVaporRecoilPressureMomentumFluxBC | ||
|
||
This object adds a flux to the Navier-Stokes momentum equation of the form | ||
|
||
\begin{equation} | ||
\hat{n} p_r | ||
\end{equation} | ||
|
||
where $\hat{n}$ is the surface unit normal and $p_r$ is the recoil pressure that | ||
represents the pressure impulse due to evaporation of material from the liquid | ||
material we're a boundary condition for. | ||
|
||
!syntax parameters /BCs/INSADVaporRecoilPressureMomentumFluxBC | ||
|
||
!syntax inputs /BCs/INSADVaporRecoilPressureMomentumFluxBC | ||
|
||
!syntax children /BCs/INSADVaporRecoilPressureMomentumFluxBC |
21 changes: 21 additions & 0 deletions
21
modules/navier_stokes/doc/content/source/kernels/INSADConvectedMesh.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,21 @@ | ||
# INSADConvectedMesh | ||
|
||
!syntax description /Kernels/INSADConvectedMesh | ||
|
||
`INSADConvectedMesh` implements the corresponding weak form for the components of | ||
the term: | ||
|
||
\begin{equation} | ||
-\rho \left(\frac{\partial\vec{d_m}}{\partial t} \cdot \nabla\right) \vec{u} | ||
\end{equation} | ||
|
||
where $\rho$ is the density, $\vec{d_m}$ is the fluid mesh displacements, and | ||
$\vec{u}$ is the fluid velocity. This term is essential for obtaining the | ||
correct convective derivative of the fluid in cases where the fluid mesh is | ||
dynamic, e.g. in simulations of fluid-structure interaction. | ||
|
||
!syntax parameters /Kernels/INSADConvectedMesh | ||
|
||
!syntax inputs /Kernels/INSADConvectedMesh | ||
|
||
!syntax children /Kernels/INSADConvectedMesh |