64 TYPE(t_region
),
POINTER :: regions(:)
67 INTEGER :: ireg,
i,
j,
k,
n
70 CHARACTER(2*CHRLEN+17) :: fname
73 INTEGER ::
status(mpi_status_size)
75 INTEGER :: ilev, iregfile, ipc, jpc, kpc, ndumcells, ioff, ijoff, ijk
78 INTEGER :: ndimc, ndimn, nrvar, errorflag
79 INTEGER,
ALLOCATABLE :: ivar(:,:)
81 REAL(RFREAL),
POINTER :: cv(:,:), sivel(:), sjvel(:), skvel(:)
82 REAL(RFREAL),
ALLOCATABLE :: rvar(:,:), cvfile(:,:), svelfile(:,:)
88 global => regions(1)%global
91 'RFLO_WriteSolution.F90' )
100 ALLOCATE( ivar(5,1),stat=errorflag )
101 ALLOCATE( rvar(nrvar,1),stat=errorflag )
102 global%error = errorflag
103 IF (global%error /= 0) CALL
errorstop( global,err_allocate,__line__ )
107 IF (global%myProcid == masterproc)
THEN
111 IF (global%flowType == flow_unsteady)
THEN
112 IF (global%solutFormat == format_ascii)
THEN
113 WRITE(fname,
'(A,1PE11.5)') trim(global%outDir)//trim(global%casename)//
'.sola_', &
115 OPEN(if_solut,file=fname,
form=
'formatted',
status=
'unknown', &
117 ELSE IF (global%solutFormat == format_binary)
THEN
118 WRITE(fname,
'(A,1PE11.5)') trim(global%outDir)//trim(global%casename)//
'.solb_', &
120 OPEN(if_solut,file=fname,
form=
'unformatted',
status=
'unknown', &
123 CALL
errorstop( global,err_unknown_format,__line__ )
125 rvar(1,1) = global%currentTime
126 rvar(2,1) = 1._rfreal
131 IF (global%solutFormat == format_ascii)
THEN
132 WRITE(fname,
'(A,I6.6)') trim(global%outDir)//trim(global%casename)//
'.sola_', &
134 OPEN(if_solut,file=fname,
form=
'formatted',
status=
'unknown', &
136 ELSE IF (global%solutFormat == format_binary)
THEN
137 WRITE(fname,
'(A,I6.6)') trim(global%outDir)//trim(global%casename)//
'.solb_', &
139 OPEN(if_solut,file=fname,
form=
'unformatted',
status=
'unknown', &
142 CALL
errorstop( global,err_unknown_format,__line__ )
144 rvar(1,1) = 0._rfreal
145 rvar(2,1) = global%resInit
149 rvar(3,1) = global%moduleVar(1)
152 global%error = errorflag
153 IF (global%error /= 0) &
154 CALL
errorstop( global,err_file_open,__line__,
'File: '//trim(fname) )
160 IF (global%myProcid == masterproc)
THEN
166 DO ireg=1,global%nRegions
170 ilev = regions(ireg)%currLevel
176 ndimc = ijkend - ijkbeg + 1
181 ndimn = (regions(ireg)%levels(ilev)%grid%ipc+1)* &
182 (regions(ireg)%levels(ilev)%grid%jpc+1)* &
183 (regions(ireg)%levels(ilev)%grid%kpc+1)
187 IF (regions(ireg)%procid==global%myProcid .OR. &
188 global%myProcid==masterproc)
THEN
189 ALLOCATE( cvfile(cv_mixt_neqs,ndimc),stat=errorflag )
190 global%error = errorflag
191 IF (global%error /= 0) CALL
errorstop( global,err_allocate,__line__ )
193 IF (regions(ireg)%mixtInput%moveGrid)
THEN
194 ALLOCATE( svelfile(3,ndimn),stat=errorflag )
195 global%error = errorflag
196 IF (global%error /= 0) CALL
errorstop( global,err_allocate,__line__ )
202 IF (regions(ireg)%procid == global%myProcid)
THEN
203 cv => regions(ireg)%levels(ilev)%mixt%cv
209 ijk = indijk(
i,
j,
k,ioff,ijoff)
210 cvfile(1,
n) = cv(cv_mixt_dens,ijk)
211 cvfile(2,
n) = cv(cv_mixt_xmom,ijk)
212 cvfile(3,
n) = cv(cv_mixt_ymom,ijk)
213 cvfile(4,
n) = cv(cv_mixt_zmom,ijk)
214 cvfile(5,
n) = cv(cv_mixt_ener,ijk)
218 IF (regions(ireg)%mixtInput%moveGrid)
THEN
219 sivel => regions(ireg)%levels(ilev)%grid%siVel
220 sjvel => regions(ireg)%levels(ilev)%grid%sjVel
221 skvel => regions(ireg)%levels(ilev)%grid%skVel
227 ijk = indijk(
i,
j,
k,inoff,ijnoff)
228 svelfile(1,
n) = sivel(ijk)
229 svelfile(2,
n) = sjvel(ijk)
230 svelfile(3,
n) = skvel(ijk)
239 IF (global%myProcid == masterproc)
THEN
241 ivar(2,1) = regions(ireg)%levels(ilev)%grid%ipc
242 ivar(3,1) = regions(ireg)%levels(ilev)%grid%jpc
243 ivar(4,1) = regions(ireg)%levels(ilev)%grid%kpc
244 ivar(5,1) = regions(ireg)%nDumCells
250 IF (global%myProcid == masterproc)
THEN
252 IF (regions(ireg)%procid /= masterproc)
THEN
253 CALL mpi_recv( cvfile,cv_mixt_neqs*ndimc,mpi_rfreal, &
254 regions(ireg)%procid,ireg, &
255 global%mpiComm,
status,global%mpierr )
256 IF (global%mpierr /=0 ) CALL
errorstop( global,err_mpi_trouble,__line__ )
258 IF (regions(ireg)%mixtInput%moveGrid)
THEN
259 CALL mpi_recv( svelfile,3*ndimn,mpi_rfreal, &
260 regions(ireg)%procid,ireg, &
261 global%mpiComm,
status,global%mpierr )
262 IF (global%mpierr /=0 ) CALL
errorstop( global,err_mpi_trouble,__line__ )
267 cv_mixt_neqs,ndimc,cvfile )
269 IF (regions(ireg)%mixtInput%moveGrid)
THEN
276 IF (regions(ireg)%procid == global%myProcid)
THEN
277 CALL mpi_send( cvfile,cv_mixt_neqs*ndimc,mpi_rfreal,masterproc,ireg, &
278 global%mpiComm,global%mpierr )
279 IF (global%mpierr /=0 ) CALL
errorstop( global,err_mpi_trouble,__line__ )
281 IF (regions(ireg)%mixtInput%moveGrid)
THEN
282 CALL mpi_send( svelfile,3*ndimn,mpi_rfreal,masterproc,ireg, &
283 global%mpiComm,global%mpierr )
284 IF (global%mpierr /=0 ) CALL
errorstop( global,err_mpi_trouble,__line__ )
290 IF (
ALLOCATED(cvfile))
THEN
291 DEALLOCATE( cvfile,stat=errorflag )
292 global%error = errorflag
293 IF (global%error /= 0) CALL
errorstop( global,err_deallocate,__line__ )
295 IF (
ALLOCATED(svelfile))
THEN
296 DEALLOCATE( svelfile,stat=errorflag )
297 global%error = errorflag
298 IF (global%error /= 0) CALL
errorstop( global,err_deallocate,__line__ )
305 IF (global%myProcid == masterproc)
THEN
306 CLOSE(if_solut,iostat=errorflag)
307 global%error = errorflag
308 IF (global%error /= 0) &
309 CALL
errorstop( global,err_file_close,__line__,
'File: '//trim(fname) )
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE idcend
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE jpnbeg
subroutine rflo_writedatafileint(global, fileId, form, nDim1, nDim2, ivar)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE kpnbeg
subroutine registerfunction(global, funName, fileName)
int status() const
Obtain the status of the attribute.
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE jpnend
subroutine rflo_getnodeoffset(region, iLev, iNodeOffset, ijNodeOffset)
subroutine rflo_getdimensdummy(region, iLev, idcbeg, idcend, jdcbeg, jdcend, kdcbeg, kdcend)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE kdcbeg
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE ipnbeg
subroutine rflo_getcelloffset(region, iLev, iCellOffset, ijCellOffset)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE idcbeg
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE form
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE jdcend
subroutine rflo_getdimensphysnodes(region, iLev, ipnbeg, ipnend, jpnbeg, jpnend, kpnbeg, kpnend)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE jdcbeg
subroutine rflo_writesolution(regions)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine rflo_writedatafilereal(global, fileId, form, nDim1, nDim2, var)
subroutine deregisterfunction(global)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE ipnend