57 TYPE(t_region
),
POINTER :: regions(:)
60 INTEGER :: ireg, ipatch
63 CHARACTER(10) :: keys(4)
64 CHARACTER(256) :: fname
67 INTEGER :: n1, n2, ioff, ijbeg, ijend, errorflag
71 REAL(RFREAL) :: vals(4)
78 global => regions(1)%global
81 'RFLO_ReadBcOutflowSection.F90' )
98 patch => regions(ireg)%levels(1)%patches(ipatch)
100 IF ((
patch%bcType>=bc_outflow .AND. &
101 patch%bcType<=bc_outflow+bc_range) .AND. &
102 regions(ireg)%procid==global%myProcid .AND. &
103 regions(ireg)%active==active)
THEN
105 IF (
patch%mixt%bcSet .eqv. .true.) &
106 CALL
errorstop( global,err_patch_overspec,&
107 __line__,
'Outflow boundary.' )
110 patch%mixt%nSwitches = 2
111 IF (
patch%bcCoupled == bc_external)
THEN
112 patch%mixt%distrib = bcdat_distrib
114 patch%mixt%distrib = distrib
117 ALLOCATE(
patch%mixt%switches(
patch%mixt%nSwitches), &
119 global%error = errorflag
120 IF (global%error /= 0) CALL
errorstop( global,err_allocate,&
124 IF (defined(1).eqv..true.)
THEN
125 patch%mixt%switches(bcswi_outflow_type) = bcopt_subsonic
127 patch%mixt%switches(bcswi_outflow_type) = bcopt_supersonic
129 patch%mixt%switches(bcswi_outflow_type) = bcopt_mixed
132 __line__,
'(outflow type).' )
135 IF (defined(3).eqv..true.)
THEN
137 patch%mixt%switches(bcswi_outflow_model) = bcopt_default
139 patch%mixt%switches(bcswi_outflow_model) = bcopt_model1
141 patch%mixt%switches(bcswi_outflow_model) = bcopt_default
145 IF (
patch%mixt%switches(bcswi_outflow_type) /= bcopt_supersonic)
THEN
146 IF (
patch%mixt%distrib==bcdat_constant .AND. &
147 .NOT. (defined(2).eqv..true.)) CALL
errorstop( global,err_bcval_missing,&
151 IF (
patch%mixt%switches(bcswi_outflow_model) == bcopt_model1)
THEN
152 IF (.NOT. (defined(4).eqv..true.)) CALL
errorstop( global,err_bcval_missing, &
153 __line__,
'BC_OUTFLOW: specify NRCOEF for model 1' )
157 patch%mixt%bcSet = .true.
168 patch => regions(ireg)%levels(1)%patches(ipatch)
170 IF ((
patch%bcType>=bc_outflow .AND. &
171 patch%bcType<=bc_outflow+bc_range) .AND. &
172 regions(ireg)%procid==global%myProcid .AND. &
173 regions(ireg)%active==active)
THEN
174 switch =
patch%mixt%switches(bcswi_outflow_type)
176 switch = bcopt_supersonic
179 IF ((
patch%bcType>=bc_outflow .AND. &
180 patch%bcType<=bc_outflow+bc_range) .AND. &
181 switch/=bcopt_supersonic .AND. &
182 regions(ireg)%procid==global%myProcid .AND. &
183 regions(ireg)%active==active)
THEN
187 IF (
patch%mixt%switches(bcswi_outflow_model) == bcopt_model1)
THEN
193 IF (
patch%mixt%distrib == bcdat_distrib)
THEN
197 ijbeg = indij( 0, 0,ioff)
198 ijend = indij(n1,n2,ioff)
203 ALLOCATE(
patch%mixt%vals(
patch%mixt%nData,ijbeg:ijend), &
205 global%error = errorflag
206 IF (global%error /= 0) CALL
errorstop( global,err_allocate,&
211 IF (
patch%mixt%distrib==bcdat_distrib .AND. &
212 patch%bcCoupled /=bc_external )
THEN
218 patch%mixt%vals(bcdat_outflow_press,:) = vals(2)
221 IF (
patch%mixt%switches(bcswi_outflow_model) == bcopt_model1)
THEN
222 IF (vals(4) < 0._rfreal) CALL
errorstop( global,err_illegal_value, &
223 __line__,
'BC_OUTFLOW: NRCOEF cannot be negative' )
224 patch%mixt%vals(bcdat_outflow_nrcoef,:) = vals(4)
subroutine rflo_readbcoutflowsection(regions)
subroutine rflo_readbcfromfile(global, fname, patch)
subroutine registerfunction(global, funName, fileName)
**********************************************************************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 brbeg
subroutine readpatchsection(global, fileID, nvals, keys, vals, brbeg, brend, prbeg, prend, distrib, profType, fname, defined)
**********************************************************************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 USE ModDataTypes USE prend
**********************************************************************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 USE ModDataTypes USE prbeg
Vector_n min(const Array_n_const &v1, const Array_n_const &v2)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)