5 &(h,u,v,f,at,lt,dt,tra05,tra06,liubor,nptfr,numliq,klog,mask,mesh
49 INTEGER,
INTENT(IN) :: KLOG, NPTFR
51 INTEGER,
INTENT(IN) :: NUMLIQ(nptfr)
52 INTEGER,
INTENT(IN) :: LIUBOR(nptfr)
53 TYPE(bief_mesh),
INTENT(INOUT) :: MESH
54 TYPE(bief_obj),
INTENT(IN) :: H,U,V,F,S
55 TYPE(bief_obj),
INTENT(INOUT) :: MASK, TRA05,TRA06
56 INTEGER,
INTENT(IN) :: LT
57 DOUBLE PRECISION,
INTENT(IN) :: AT,DT
61 INTEGER K,N,I,IFRLIQ,IELEB,IFILE
63 DOUBLE PRECISION PI, ANG,RV0,RV1,RT0,RT1, RATE, QCV,CV,CA,
64 & mfbar,mfvb,mftb, mfgrd,mfvt,mftt,mass0, dw,dv,taw, nv,nt
65 DOUBLE PRECISION,
ALLOCATABLE :: QF(:),QA(:),QV(:)
66 CHARACTER(LEN=250) CELL
70 INTRINSIC adjustl,trim
86 & mesh%IFABOR%I,f,u,v,qf,qa,qv,h,s,lt)
89 IF( lt.LE.1 .AND.
ntotclog.GT.0 )
THEN 95 CALL os(
'X=C ', x=
t3, c=1.d0)
98 CALL os(
'X=0 ', x=tra05 )
99 DO ieleb = 1,mesh%NELEB
100 k = mesh%IKLBOR%I(ieleb)
102 & tra05%R(ieleb) = mask%ADR(8)%P%R(ieleb)
104 CALL vector(tra06,
'=',
'MASVEC ',
105 &
ielbor(11,1),1.d0,
t3,
t3,
t3,
t3,
t3,
t3,mesh,.true.,tra05)
116 IF(ncsize.EQ.1.OR.ipid.EQ.0)
THEN 123 WRITE(ifile,300,advance=
'NO') trim(adjustl(
lines%HTXT))
126 IF(
lines%CELLS(ifrliq)%NVAL.EQ.0 )
THEN 127 lines%CELLS(ifrliq)%NVAL = 8
128 ALLOCATE(
lines%CELLS(ifrliq)%TXT(8))
129 ALLOCATE(
lines%CELLS(ifrliq)%UNT(8))
130 ALLOCATE(
lines%CELLS(ifrliq)%VAL(8))
132 WRITE(cell,
'(I12)') ifrliq
133 lines%CELLS(ifrliq)%TXT(1) =
'FRAZIL(' 134 & // trim(adjustl(cell)) //
')' 135 lines%CELLS(ifrliq)%UNT(1) =
'SI' 136 lines%CELLS(ifrliq)%TXT(2) =
'WIDTH_V(' 137 & // trim(adjustl(cell)) //
')' 138 lines%CELLS(ifrliq)%UNT(2) =
'M' 139 lines%CELLS(ifrliq)%TXT(3) =
'WIDTH_H(' 140 & // trim(adjustl(cell)) //
')' 141 lines%CELLS(ifrliq)%UNT(3) =
'M' 142 lines%CELLS(ifrliq)%TXT(4) =
'CLG_AREA(' 143 & // trim(adjustl(cell)) //
')' 144 lines%CELLS(ifrliq)%UNT(4) =
'M^2' 145 lines%CELLS(ifrliq)%TXT(5) =
'IMASS_V(' 146 & // trim(adjustl(cell)) //
')' 147 lines%CELLS(ifrliq)%UNT(5) =
'G' 148 lines%CELLS(ifrliq)%TXT(6) =
'IMASS_H(' 149 & // trim(adjustl(cell)) //
')' 150 lines%CELLS(ifrliq)%UNT(6) =
'G' 151 lines%CELLS(ifrliq)%TXT(7) =
'CLG_VOL(' 152 & // trim(adjustl(cell)) //
')' 153 lines%CELLS(ifrliq)%UNT(7) =
'M^3' 154 lines%CELLS(ifrliq)%TXT(8) =
'CLG_MAS(' 155 & // trim(adjustl(cell)) //
')' 156 lines%CELLS(ifrliq)%UNT(8) =
'SI' 157 WRITE(ifile,302,advance=
'NO') (
' ' //
158 & trim(adjustl(
lines%CELLS(ifrliq)%TXT(k))), k=1,8)
161 WRITE(ifile,300,advance=
'NO') trim(adjustl(
lines%HUNT))
163 WRITE(ifile,302,advance=
'NO')
164 & (
' ' // trim(adjustl(
lines%CELLS(i)%UNT(k)))
178 CALL os(
'X=Y ', x=
t2, y=h )
192 rate = 2.d0*sin(ang)*sin(ang)*(1.d0)/( 1.d0-
clog_ef )/ang
201 CALL os(
'X=0 ', x=tra05 )
202 DO ieleb = 1,mesh%NELEB
203 k = mesh%IKLBOR%I(ieleb)
205 & tra05%R(ieleb) = mask%ADR(8)%P%R(ieleb)
209 CALL vector(tra06,
'=',
'FLUBDF ',
210 &
ielbor(11,1),1.d0,
t1,
t1,
t1,u,v,v,mesh,.true.,tra05)
212 IF( ncsize.GT.1 ) qcv =
p_dsum(qcv)
217 CALL vector(tra06,
'=',
'MASVEC ',
218 &
ielbor(11,1),1.d0,
t2,
t2,
t2,
t2,
t2,
t2,mesh,.true.,tra05)
220 IF( ncsize.GT.1 ) ca =
p_dsum(ca)
229 CALL vector(tra06,
'=',
'MASVEC ',
230 &
ielbor(11,1),1.d0,
t1,
t1,
t1,
t1,
t1,
t1,mesh,.true.,tra05)
232 IF( ncsize.GT.1 ) cv =
p_dsum(cv)
234 IF( ca.GT.0.d0 )
THEN 286 IF(ncsize.EQ.1.OR.ipid.EQ.0)
THEN 287 WRITE(
lines%CELLS(ifrliq)%VAL(1),303) cv
297 WRITE(
lines%CELLS(ifrliq)%VAL(4),303) taw
300 & qcv * ( 1.d0-
clog_ef ) * dt *
306 WRITE(
lines%CELLS(ifrliq)%VAL(5),303) mfbar
308 WRITE(
lines%CELLS(ifrliq)%VAL(6),303) mfgrd
310 WRITE(
lines%CELLS(ifrliq)%VAL(8),303) mass0
371 IF(ncsize.EQ.1.OR.ipid.EQ.0)
THEN 372 WRITE(
lines%CELLS(i)%VAL(1),303) cv
382 WRITE(
lines%CELLS(i)%VAL(4),303) taw
385 & qcv * ( 1.d0-
clog_ef ) * dt *
391 WRITE(
lines%CELLS(i)%VAL(5),303) mfbar
393 WRITE(
lines%CELLS(i)%VAL(6),303) mfgrd
395 WRITE(
lines%CELLS(i)%VAL(8),303) mass0
405 IF(ncsize.EQ.1.OR.ipid.EQ.0)
THEN 406 WRITE(
lines%HVAL,303) at
408 & trim(adjustl(
lines%HVAL))
411 & (
' ' // trim(adjustl(
lines%CELLS(i)%VAL(k)))
429 IF( liubor(k).EQ.klog )
THEN double precision clog_vdist
double precision, dimension(:), allocatable clog_volum
type(bief_obj), pointer t2
type(str_line_type) lines
double precision clog_vdiam
double precision clog_tdist
double precision clog_tdiam
double precision, dimension(:), allocatable clog_vlgth
character(len=72) titicecas
type(bief_obj), target iceloc
subroutine section_khione(MESH, IKLE, NELMAX, IFABOR, F, U, V, QVC, CA, CV, H, S, LT)
integer, dimension(:), allocatable numclog
double precision, dimension(:), allocatable clog_tlgth
subroutine, public clogged_on_bar(RFR0, RFR1, DB, BAR, NBAR, ANG1, FM1, FMT)
subroutine borice(H, U, V, F, AT, LT, DT, TRA05, TRA06, LIUBOR, NPTFR, NUMLIQ, KLOG, MASK, MESH, S)
type(bief_obj), target icetype
integer function ielbor(IELM, I)
type(bief_file), dimension(maxlu_ice) ice_files
double precision, dimension(:), allocatable clog_twdth
type(bief_obj), pointer t1
double precision function p_dsum(MYPART)
subroutine vector(VEC, OP, FORMUL, IELM1, XMUL, F, G, H, U, V, W, MESH, MSK, MASKEL, LEGO, ASSPAR)
double precision, dimension(:), allocatable clog_vwdth
double precision clog_theta
double precision function bief_sum(X)
subroutine os(OP, X, Y, Z, C, IOPT, INFINI, ZERO)
type(bief_obj), pointer t3