Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions Manuals/FDS_User_Guide/FDS_User_Guide.tex
Original file line number Diff line number Diff line change
Expand Up @@ -9266,11 +9266,18 @@ \subsection*{Reading the Fields}
\end{lstlisting}
and FDS will read, for example, \ct{CHID_uvw_t1_m1.csv} through \ct{CHID_uvw_t1_m16.csv} in the order of the \ct{MESH} lines (note that a \ct{MULT} line for the meshes may also be used).

\section{Unfreezing the Initial Flow Field}
\subsection{Unfreezing the Initial Flow Field}
\label{info:FREZ}

It may be useful to allow the solid phase to respond to an established flow field at the start of a simulation. This could be accomplished with the normal restart functionality; however, this limits the number of changes that can be made to the model before a restart is made. The \ct{UNFREEZE_TIME} parameter on the \ct{MISC} line can be used for this purpose. When set, the initial flow field is frozen with the options \ct{FREEZE_VELOCITY} and \ct{SOLID_PHASE_ONLY} set until the simulation time exceeds \ct{UNFREEZE_TIME}.

It may be useful to allow the solid phase to respond to an established flow field at the start of a simulation. This could be accomplished with the normal restart functionality; however, this limits the number of changes that can be made to the model before a restart is made. The \ct{UNFREEZE_TIME} parameter on the \ct{MISC} line can be used for this purpose. When set, the initial flow field is frozen with the options \ct{FREEZE_VELOCITY}, \ct{SOLID_PHASE_ONLY}, and \ct{LOCK_TIME_STEP} set until the simulation time exceeds \ct{UNFREEZE_TIME}. It may also be useful to set the initial time step \ct{DT} to a larger value. It may be necessary to set \ct{LIMITING_DT_RATIO} to a lower value than the default if the fixed \ct{DT} while the flow field is frozen is much larger than that calculated by the stability conditions. An example configuration with a frozen flow field is shown below.
\begin{lstlisting}
&TIME DT=1.0, T_END=120.0, LIMITING_DT_RATIO=1e-6 /
&MISC UNFREEZE_TIME=90, /
&CSVF UVWFILE ='CHID_uvw_t1_m1.csv',
TMPFILE ='CHID_tmp_t1_m1.csv',
SPECFILE='CHID_spec_t1_m1.csv' /
\end{lstlisting}
The example will read in an initial flow field using the \ct{CSVF} files, then allow the solids to heat for 90 seconds at a time step of 1 seconds (90 time steps total). The flow field will then be unfrozen for the remaining 30 seconds of simulation time.

\section{Gravity}
\label{info:GVEC}
Expand Down
11 changes: 11 additions & 0 deletions Source/main.f90
Original file line number Diff line number Diff line change
Expand Up @@ -641,6 +641,7 @@ PROGRAM FDS
IF (UNFREEZE_TIME > 0._EB) THEN
FREEZE_VELOCITY=.TRUE.
SOLID_PHASE_ONLY=.TRUE.
LOCK_TIME_STEP=.TRUE.
ENDIF

IF (MY_RANK==0 .AND. VERBOSE) CALL VERBOSE_PRINTOUT('Starting the time-stepping')
Expand Down Expand Up @@ -683,6 +684,16 @@ PROGRAM FDS
IF ((UNFREEZE_TIME > 0._EB).AND.(T>UNFREEZE_TIME)) THEN
FREEZE_VELOCITY=.FALSE.
SOLID_PHASE_ONLY=.FALSE.
LOCK_TIME_STEP=.FALSE.

UNFREEZE_DT_LOOP: DO NM=LOWER_MESH_INDEX,UPPER_MESH_INDEX
CALL CHECK_STABILITY(DT,DT_NEW,T,NM)
ENDDO UNFREEZE_DT_LOOP
IF (N_MPI_PROCESSES>1) THEN
CALL MPI_ALLGATHERV(MPI_IN_PLACE,0,MPI_DATATYPE_NULL,DT_NEW(1:NMESHES),&
COUNTS,DISPLS,MPI_DOUBLE_PRECISION,MPI_COMM_WORLD,IERR)
ENDIF
DT = MINVAL(DT_NEW)
ENDIF

!================================================================================================================================
Expand Down
3 changes: 2 additions & 1 deletion Source/velo.f90
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ MODULE VELO
PRIVATE

PUBLIC VELOCITY_PREDICTOR,VELOCITY_CORRECTOR,NO_FLUX,BAROCLINIC_CORRECTION,MATCH_VELOCITY,MATCH_VELOCITY_FLUX,&
VELOCITY_BC,COMPUTE_VISCOSITY,VISCOSITY_BC,VELOCITY_FLUX,VELOCITY_FLUX_CYLINDRICAL
VELOCITY_BC,COMPUTE_VISCOSITY,VISCOSITY_BC,VELOCITY_FLUX,VELOCITY_FLUX_CYLINDRICAL,&
CHECK_STABILITY


CONTAINS
Expand Down
Loading