Commit b9f0d92f authored by Kevin Dugan's avatar Kevin Dugan

Adding configure files

parent 90ecd9a2
......@@ -207,3 +207,12 @@ python/peacock/tests/postprocessor_tab/TestPostprocessorPluginManager_test_scrip
!python/peacock/tests/**/gold/*.png
!python/peacock/icons/**/*.*
!python/peacock/tests/**/input/*.*
# Giraffe/Nek5000
autom4te.cache/
config.guess
config.sub
configure
install-sh
config.status
giraffe.mk
#!/bin/sh
autoreconf --install
automake --add-missing --copy >/dev/null 2>&1
@CASENAME@
@GIRAFFE_EXAMPLE_ABS@
# == Source and destination directories ============================================================
VPATH := @abs_srcdir@/Nek5000/core:@abs_srcdir@/Nek5000/core/cmt:@abs_srcdir@/Nek5000/core/3rd_party:@abs_srcdir@/Nek5000/jl:@abs_srcdir@/src_nek
srcdir := @abs_srcdir@
GIRAFFE_EXAMPLE ?= @abs_srcdir@/examples/integration_example
builddir := $(GIRAFFE_EXAMPLE)
nek_objdir := $(GIRAFFE_EXAMPLE)/nek_obj
nek_includedir := $(GIRAFFE_EXAMPLE)/include
# == Discovered by autoconf script
CASENAME ?= $(shell basename $(GIRAFFE_EXAMPLE))
nek_CFLAGS := $(libmesh_CFLAGS)
nek_INCLUDES := -I$(builddir) -I$(nek_includedir) -I$(srcdir)/Nek5000/core -I$(srcdir)/Nek5000/core/cmt -I$(srcdir)/Nek5000/core/3rd_party -I$(srcdir)/Nek5000/jl -I$(srcdir)/src_nek
nek_CPPFLAGS := $(libmesh_CPPFLAGS) @DEFS@ @nek_DEFS@ $(nek_INCLUDES)
nek_LDFLAGS := @LDFLAGS@
nek_LIBS := $(libmesh_LIBS)
nek_FFLAGS := @FFLAGS@ @FCFLAGS_f@ $(subst -D, @FC_DEFINE@, @DEFS@ @nek_DEFS@) $(nek_INCLUDES)
nek_FLIBS := $(libmesh_LIBS)
nek_debug_flags := @nek_debug_flags@
nek_opt_flags := @nek_opt_flags@
nek_real8_flags := @nek_real8_flags@
jl_prefix := @jl_prefix@
# == FORTRAN objects ===============================================================================
nek_drive_obj := $(addprefix $(nek_objdir)/, $(addsuffix .$(obj-suffix), drive))
nek_core_f_obj := $(addprefix $(nek_objdir)/, $(addsuffix .$(obj-suffix), \
drive1 drive2 plan4 bdry coef conduct connect1 connect2 \
dssum edgec eigsolv gauss genxyz navier1 makeq navier0 \
navier2 navier3 navier4 prepost speclib map2 turb mvmesh ic \
ssolv planx mxm_wrapper hmholtz gfdm_par gfdm_op gfdm_solve \
subs1 subs2 genbox gmres hsmg convect induct perturb navier5 \
navier6 navier7 navier8 fast3d fasts calcz postpro \
cvode_driver vprops qthermal cvode_aux makeq_aux papi nek_in_situ \
readat_new nek_moose))
nek_case_f_obj := $(addprefix $(nek_objdir)/, $(addsuffix .$(obj-suffix), $(CASENAME)))
nek_math_obj := $(addprefix $(nek_objdir)/, $(addsuffix .$(obj-suffix), math))
nek_blas_obj := $(addprefix $(nek_objdir)/, $(addsuffix .$(obj-suffix), @nek_blas_obj@)) # blas.o | null
nek_cmt_obj := $(addprefix $(nek_objdir)/, $(addsuffix .$(obj-suffix), @nek_cmt_obj@)) # drive1_cmt.o ... | cmt_dummy.o
nek_lapack_obj := $(addprefix $(nek_objdir)/, $(addsuffix .$(obj-suffix), @nek_lapack_obj@)) # dsygv.o ssygv.o | null
nek_mpi_obj := $(addprefix $(nek_objdir)/, $(addsuffix .$(obj-suffix), @nek_mpi_obj@)) # byte_mpi.o comm_mpi.o | byte_mpi.o comm_mpi.o mpi_dummy.o
nek_mxm_obj := $(addprefix $(nek_objdir)/, $(addsuffix .$(obj-suffix), @nek_mxm_obj@)) # mxm_std.o | mxm_std.o mxm_bgq.o
nek_neknek_obj := $(addprefix $(nek_objdir)/, $(addsuffix .$(obj-suffix), @nek_neknek_obj@)) # singlmesh.o | multimesh.o
nek_flib_obj := $(nek_core_f_obj) $(nek_math_obj) $(nek_blas_obj) $(nek_cmt_obj) \
$(nek_lapack_obj) $(nek_mpi_obj) $(nek_mxm_obj) $(nek_neknek_obj) \
$(nek_case_f_obj)
# == C objects =====================================================================================
nek_core_c_obj := $(addprefix $(nek_objdir)/, $(addsuffix .$(obj-suffix), \
byte chelpers nek_comm finiparser iniparser dictionary))
jl_core_obj := $(addprefix $(nek_objdir)/, $(patsubst %, $(jl_prefix)%.$(obj-suffix), \
gs sort sarray_transfer sarray_sort gs_local crystal comm tensor fail fcrystal))
jl_interp_obj := $(addprefix $(nek_objdir)/, $(patsubst %, $(jl_prefix)%.$(obj-suffix), \
findpts findpts_local obbox poly lob_bnd findpts_el_3 findpts_el_2))
jl_cgs_obj := $(addprefix $(nek_objdir)/, $(patsubst %, $(jl_prefix)%.$(obj-suffix), @jl_cgs_obj@))
nek_clib_obj := $(nek_core_c_obj) $(jl_core_obj) $(jl_interp_obj) $(jl_cgs_obj)
# == MOOSE app flags and objects ==================================================================
# Recursive definition (= rather than :=) is probably the right usage, since they're probably
# defined here after they're referenced by MOOSE makefile
ADDITIONAL_CPPFLAGS = $(libmesh_CPPFLAGS) @DEFS@ # Used by pattern rules in moose/framework/build.mk
ADDITIONAL_INCLUDES = $(nek_INCLUDES) # Used by pattern rules in moose/framework/build.mk (through app_INCLUDES)
ADDITIONAL_LIBS = $(nek_LIBS) $(nek_FLIBS) # Used during linking in moose/framework/app.mk
ADDITIONAL_APP_OBJECTS = $(nek_flib_obj) $(nek_clib_obj) # Added to dependencies in moose/framework/app.mk
# == Rules =========================================================================================
nek5000: $(nek_drive_obj) $(nek_flib_obj) $(nek_clib_obj)
@echo "Linking Executable "$@"..."
@$(libmesh_LIBTOOL) --tag=F77 $(LIBTOOLFLAGS) --mode=link --quiet \
$(libmesh_F77) $(libmesh_FFLAGS) -o $@ $^ $(libmesh_LIBS) $(libmesh_LDFLAGS) $(nek_LIBS) $(nek_LDFLAGS) $(nek_FLIBS)
$(nek_case_f_obj): $(nek_objdir)/%.$(obj-suffix): $(GIRAFFE_EXAMPLE)/%.f $(GIRAFFE_EXAMPLE)/SIZE | $(nek_objdir)
@echo "Nek5000 Compiling Fortran (in "$(METHOD)" mode) "$<"..."
@$(libmesh_LIBTOOL) --tag=F77 $(LIBTOOLFLAGS) --mode=compile --quiet \
$(libmesh_F77) $(nek_FFLAGS) $(nek_real8_flags) -c $< -o $@
$(nek_drive_obj) $(nek_core_f_obj) $(nek_cmt_obj) $(nek_math_obj) $(nek_mxm_obj): $(nek_objdir)/%.$(obj-suffix): %.f $(GIRAFFE_EXAMPLE)/SIZE | $(nek_objdir)
@echo "Nek5000 Compiling Fortran (in "$(METHOD)" mode) "$<"..."
@$(libmesh_LIBTOOL) --tag=F77 $(LIBTOOLFLAGS) --mode=compile --quiet \
$(libmesh_F77) $(nek_FFLAGS) $(nek_real8_flags) -c $< -o $@
$(nek_mpi_obj) $(nek_neknek_obj): $(nek_objdir)/%.$(obj-suffix): %.f $(GIRAFFE_EXAMPLE)/SIZE mpiheader | $(nek_objdir)
@echo "Nek5000 Compiling Fortran (in "$(METHOD)" mode) "$<"..."
@$(libmesh_LIBTOOL) --tag=F77 $(LIBTOOLFLAGS) --mode=compile --quiet \
$(libmesh_F77) $(nek_FFLAGS) $(nek_real8_flags) -c $< -o $@
$(nek_core_c_obj): $(nek_objdir)/%.$(obj-suffix): %.c | $(nek_objdir)
@echo "Nek5000 Compiling C (in "$(METHOD)" mode) "$<"..."
@$(libmesh_LIBTOOL) --tag=CC $(LIBTOOLFLAGS) --mode=compile --quiet \
$(libmesh_CC) $(nek_CPPFLAGS) $(nek_CFLAGS) -MMD -MP -MF $@.d -MT $@ -c $< -o $@
$(jl_core_obj) $(jl_interp_obj) $(jl_cgs_obj): $(nek_objdir)/$(jl_prefix)%.$(obj-suffix): %.c | $(nek_objdir)
@echo "Nek5000 Compiling C (in "$(METHOD)" mode) "$<"..."
@$(libmesh_LIBTOOL) --tag=CC $(LIBTOOLFLAGS) --mode=compile --quiet \
$(libmesh_CC) $(nek_CPPFLAGS) $(nek_CFLAGS) -MMD -MP -MF $@.d -MT $@ -c $< -o $@
mpiheader: | $(nek_includedir)
ifneq ($(findstring mpi_dummy.o, $(nek_mpi_obj)),)
cp $(srcdir)/Nek5000/core/mpi_dummy.h $(nek_includedir)/mpif.h
else
rm -rf $(srcdir)/Nek5000/core/mpif.h $(nek_includedir)/mpif.h
endif
$(nek_objdir) $(nek_includedir):
mkdir -p $@
PHONY: mpiheader
This diff is collapsed.
SESSION.NAME
integration_example.f
C Dimension file to be included
C
C HCUBE array dimensions
C
parameter (ldim=3)
parameter (lx1=5,ly1=lx1,lz1=lx1,lelt=960,lelv=lelt)
parameter (lxd=8,lyd=lxd,lzd=lxd)
parameter (lelx=1,lely=1,lelz=1)
parameter (lzl=3 + 2*(ldim-3))
parameter (lx2=lx1-2)
parameter (ly2=ly1-2)
parameter (lz2=lz1-2)
parameter (lx3=lx1)
parameter (ly3=ly1)
parameter (lz3=lz1)
parameter (lp = 32)
parameter (lelg = 1000)
c
c parameter (lpelv=lelv,lpelt=lelt,lpert=3) ! perturbation
c parameter (lpx1=lx1,lpy1=ly1,lpz1=lz1) ! array sizes
c parameter (lpx2=lx2,lpy2=ly2,lpz2=lz2)
c
parameter (lpelv=1,lpelt=1,lpert=1) ! perturbation
parameter (lpx1=1,lpy1=1,lpz1=1) ! array sizes
parameter (lpx2=1,lpy2=1,lpz2=1)
c
c parameter (lbelv=lelv,lbelt=lelt) ! MHD
c parameter (lbx1=lx1,lby1=ly1,lbz1=lz1) ! array sizes
c parameter (lbx2=lx2,lby2=ly2,lbz2=lz2)
c
parameter (lbelv=1,lbelt=1) ! MHD
parameter (lbx1=1,lby1=1,lbz1=1) ! array sizes
parameter (lbx2=1,lby2=1,lbz2=1)
C LX1M=LX1 when there are moving meshes; =1 otherwise
parameter (lx1m=lx1,ly1m=ly1,lz1m=lz1)
parameter (ldimt= 4) ! 3 passive scalars + T
parameter (ldimt1=ldimt+1)
parameter (ldimt3=ldimt+3)
c
c Note: In the new code, LELGEC should be about sqrt(LELG)
c
PARAMETER (LELGEC = 1)
PARAMETER (LXYZ2 = 1)
PARAMETER (LXZ21 = 1)
PARAMETER (LMAXV=LX1*LY1*LZ1*LELV)
PARAMETER (LMAXT=LX1*LY1*LZ1*LELT)
PARAMETER (LMAXP=LX2*LY2*LZ2*LELV)
PARAMETER (LXZ=LX1*LZ1)
PARAMETER (LORDER=3)
PARAMETER (MAXOBJ=4,MAXMBR=LELT*6)
PARAMETER (lhis=100) ! # of pts a proc reads from hpts.in
! Note: lhis*np > npoints in hpts.in
C
C Common Block Dimensions
C
PARAMETER (LCTMP0 =2*LX1*LY1*LZ1*LELT)
PARAMETER (LCTMP1 =4*LX1*LY1*LZ1*LELT)
C
C The parameter LVEC controls whether an additional 42 field arrays
C are required for Steady State Solutions. If you are not using
C Steady State, it is recommended that LVEC=1.
C
PARAMETER (LVEC=1)
C
C Uzawa projection array dimensions
C
parameter (mxprev = 40)
parameter (lgmres = 40)
C
C Split projection array dimensions
C
parameter(lmvec = 1)
parameter(lsvec = 1)
parameter(lstore=lmvec*lsvec)
c
c NONCONFORMING STUFF
c
parameter (maxmor = lelt)
C
C Array dimensions
C
COMMON/DIMN/NELV,NELT,NX1,NY1,NZ1,NX2,NY2,NZ2
$,NX3,NY3,NZ3,NDIM,NFIELD,NPERT,NID
$,NXD,NYD,NZD
c automatically added by makenek
parameter(lxo = lx1) ! max output grid size (lxo>=lx1)
c automatically added by makenek
parameter(lpart = 62000) ! max number of particles
c automatically added by makenek
integer ax1,ay1,az1,ax2,ay2,az2
parameter (ax1=1,ay1=1,az1=1,ax2=1,ay2=1,az2=1) ! running averages
c automatically added by makenek
parameter (lxs=1,lys=lxs,lzs=(lxs-1)*(ldim-2)+1) !New Pressure Preconditioner
c automatically added by makenek
parameter (lfdm=0) ! == 1 for fast diagonalization method
c automatically added by makenek
common/IOFLAG/nio ! for logfile verbosity control
c automatically added by makenek
integer toteq
parameter(toteq = 1 ) ! Number of conserved variables
c IFCMT=FALSE then toteq=1
c automatically added by makenek
integer lelcmt
parameter(lelcmt = 1 ) ! # of cmt elements
c IFCMT=FALSE then lelcmt=1
This source diff could not be displayed because it is too large. You can view the blob instead.
****** PARAMETERS *****
2.610000 NEKTON VERSION
3 DIMENSIONAL RUN
118 PARAMETERS FOLLOW
1.00000 p001 DENSITY
1.00000 p002 VISCOS
0.00000 p003 : : : BETAG
0.00000 p004 : : : GTHETA
0.00000 p005 : : : PGRADX
0.00000 p006
1.00000 p007 RHOCP
1.00000 p008 CONDUCT
0.00000 p009
0.00000 p010 FINTIME
50.000 p011 NSTEPS
-0.00100 p012 DT
0.00000 p013 IOCOMM
0.00000 p014 IOTIME
100.0 p015 IOSTEP
0.00000 p016 PSSOLVER: 0=default
0.00000 p017
0.00000 p018 GRID < 0 --> # cells on screen
0.00000 p019 INTYPE
0.00000 p020 NORDER
1.00000E-06 p021 DIVERGENCE
1.00000E-08 p022 HELMHOLTZ
0.00000 p023 NPSCAL
0.00000E-08 p024 TOLREL
0.00000E-08 p025 TOLABS
2.00000 p026 COURANT/NTAU
2.00000 p027 TORDER
0.00000 p028 TORDER: mesh velocity (0: p28=p27)
0.00000 p029 = magnetic visc if > 0, = -1/Rm if < 0
0.00000 p030 > 0 ==> properties set in uservp()
0.00000 p031 NPERT: #perturbation modes
0.00000 p032 #BCs in re2 file, if > 0
100.000 p033 : : : MXGEOM
100.000 p034 : : : MAXNEW
0.10000E-03 p035 : : :
0.10000E-03 p036 : : : XMAGNET
0.10000E-01 p037 : : : NGRIDS
0.00000 p038 : : : NORDER2
0.00000 p039 : : : NORDER3
0.00000 p040
0.00000 p041 1-->multiplicative SEMG
0.00000 p042 0=gmres/1=pcg
0.00000 p043 0=semg/1=schwarz
0.00000 p044 0=E-based/1=A-based prec.
0.00000 p045 Relaxation factor for DTFS
0.00000 p046 reserved
0.00000 p047 vnu: mesh matieral prop.
0.00000 p048 : : : PGEOM
0.00000 p049 : : : MIXLFAC
0.00000 p050 : : : MAXCGFS
0.00000 p051
0.00000 p052 IOHIS
0.00000 p053
0.00000 p054 fixed flow rate dir: |p54|=1,2,3=x,y,z
0.00000 p055 vol.flow rate (p54>0) or Ubar (p54<0)
0.00000 p056 : : :
0.00000 p057 : : :
0.00000 p058
0.00000 p059 !=0 --> full Jac. eval. for each el.
0.00000 p060 !=0 --> init. velocity to small nonzero
0.00000 p061
0.00000 p062 >0 --> force byte_swap for output
0.00000 p063 =8 --> force 8-byte output
0.00000 p064 =1 --> perturbation restart
1.00000 p065 #iofiles (eg, 0 or 64); <0 --> sep. dirs
4.00000 p066 output : <0=ascii, else binary
4.00000 p067 restart: <0=ascii, else binary
0.00000 p068 iastep: freq for avg_all (0=iostep)
0.00000 p069 : : : frequency of srf dump
0.00000 p070 : : :
0.00000 p071 : : :
0.00000 p072 : : :
0.00000 p073
0.00000 p074 verbose Helmholtz
0.00000 p075 : : :
0.00000 p076 : : : p77 = Oscillation frequency (omega
0.00000 p077 : : :
0.00000 p078 : : :
0.00000 p079 : : :
0.00000 p080 : : :
0.00000 p081 : : :
0.00000 p082 : : :
0.00000 p083
0.00000 p084 !=0 --> sets initial timestep if p12>0
0.00000 p085 dt ratio if p84 !=0, for timesteps>0
0.00000 p086 reserved
0.00000 p087 : : :
0.00000 p088 : : :
0.00000 p089 : : : coarse grid weighting (default=1
0.00000 p090 : : :
0.00000 p091 : : :
0.00000 p092
20.00000 p093 Number of previous pressure solns saved
5.00000 p094 start projecting velocity after p94 step
5.00000 p095 start projecting pressure after p95 step
0.00000 p096 : : : which saving algorithm 1 = disca
0.00000 p097 : : : 0 == > no iterative refinement
0.00000 p098
3.00000 p099 dealiasing: <0--> off/3--> old/4--> new
0.00000 p100
0.00000 p101 Number of additional modes to filter
1.00000 p102 Dump out divergence at each time step
0.00000 p103 weight of stabilizing filter (.01)
0.00000 p104 : : :
0.00000 p105 : : :
0.00000 p106
0.00000 p107 !=0 --> add to h2 array in hlmhotz eqn
0.00000 p108 : : :
0.00000 p109 : : :
0.00000 p110 : : :
0.00000 p111 : : :
0.00000 p112 : : :
0.00000 p113 : : :
0.00000 p114 : : :
0.00000 p115
0.00000 p116 !=0: x elements for fast tensor product
0.00000 p117 !=0: y elements for fast tensor product
0.00000 p118 !=0: z elements for fast tensor product
4 Lines of passive scalar data follows2 CONDUCT; 2RHOCP
1.00000 1.00000 1.00000 1.00000 1.00000
1.00000 1.00000 1.00000 1.00000
1.00000 1.00000 1.00000 1.00000 1.00000
1.00000 1.00000 1.00000 1.00000
13 LOGICAL SWITCHES FOLLOW
T IFFLOW
T IFHEAT
T IFTRAN
T T F F F F F F F F F IFNAV & IFADVC (convection in P.S. fields)
F F T T T T T T T T T T IFTMSH (IF mesh for this field is T mesh)
F IFAXIS
F IFSTRS
F IFSPLIT
F IFMGRID
F IFMODEL
F IFKEPS
F IFMVBD
F IFCHAR
2.00000 2.00000 -0.950000 -0.450000 XFAC,YFAC,XZERO,YZERO
**MESH DATA** 6 lines are X,Y,Z;X,Y,Z. Columns corners 1-4;5-8
-480 3 480 NELT,NDIM,NELV
1 PRESOLVE/RESTART OPTIONS *****
rod12.run1 U
7 INITIAL CONDITIONS *****
C Default
C Default
C Default
C Default
C Default
C Default
C Default
***** DRIVE FORCE DATA ***** BODY FORCE, FLOW, Q
4 Lines of Drive force data follow
C
C
C
C
***** Variable Property Data ***** Overrrides Parameter data.
1 Lines follow.
0 PACKETS OF DATA FOLLOW
***** HISTORY AND INTEGRAL DATA *****
0 POINTS. Hcode, I,J,H,IEL
***** OUTPUT FIELD SPECIFICATION *****
6 SPECIFICATIONS FOLLOW
T COORDINATES
T VELOCITY
T PRESSURE
T TEMPERATURE
F TEMPERATURE GRADIENT
0 PASSIVE SCALARS
***** OBJECT SPECIFICATION *****
0 Surface Objects
0 Volume Objects
0 Edge Objects
0 Point Objects
c-----------------------------------------------------------------------
C
C USER SPECIFIED ROUTINES:
C
C - boundary conditions
C - initial conditions
C - variable properties
C - local acceleration for fluid (a)
C - forcing function for passive scalar (q)
C - general purpose routine for checking errors etc.
C
c-----------------------------------------------------------------------
subroutine uservp (ix,iy,iz,eg)
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'
integer e,f,eg
udiff =0.
utrans=0.
return
end
c-----------------------------------------------------------------------
! Sets the force term in the momentum equation. Use this to set body
! forces such as gravity. Note that ffx, ffy, and ffz will later be
! multiplied by the density.
subroutine userf (ix,iy,iz,eg)
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'
ffx=0.0
ffy=0.0
ffz=0.0
return
end
c-----------------------------------------------------------------------
subroutine userq (ix,iy,iz,eg)
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'
integer e,f,eg
c e = gllel(eg)
qvol = 0.0
return
end
c-----------------------------------------------------------------------
subroutine userchk
include 'SIZE'
include 'TOTAL'
include 'NEKMOOSE'
real sint, sint1, sarea, sarea1, wtmp
integer e, f
n1=nelt*lx1*ly1*lz1
n2=nelt*lx2*ly2*lz2
pmin=glmin(pr,n2)
pmax=glmax(pr,n2)
wmin=glmin(vz,n1)
wmax=glmax(vz,n1)
tmin=glmin(t,n1)
tmax=glmax(t,n1)
ifflow=.false.
c if (istep.eq.0) then
c call rzero(t,n1)
c endif
sint1=0.0
sarea1=0.0
do e=1,lelt
do f=1,6
call surface_int(sint,sarea,t,e,f)
if (cbc(f,e,1).eq.'W ') then
sint1=sint1+sint
sarea1=sarea1+sarea
endif
enddo
enddo
call gop(sint1,wtmp,'+ ',1)
call gop(sarea1,wtmp,'+ ',1)
temp_nek=sint1/sarea1
sint1=0.0
sarea1=0.0
do e=1,lelt
do f=1,6
call surface_int(sint,sarea,flux_recon,e,f)
if (cbc(f,e,1).eq.'W ') then
sint1=sint1+sint
sarea1=sarea1+sarea
endif
enddo
enddo
call gop(sint1,wtmp,'+ ',1)
call gop(sarea1,wtmp,'+ ',1)
flux_moose=sint1/sarea1
call heat_balance(flux_moose)
if (nid.eq.0) then
write(6,*)"*** Temperature: ",tmin," - ",tmax
write(6,*)"*** Average Temperature: ",temp_nek,coeff_tij(1,1)
write(6,*)"*** Average Flux: ",flux_moose,coeff_fij(1,1)
endif
c-----------------------------------------------
c This is for testing -----------
c call flux_reconstruction()
c call nek_expansion()
c call nek_diag()
c if (nid.eq.0) write(6,*)" *** Expansion done"
c call nek_testp()
c call exitt()
c--------------------------------
c This is to test coefficients with MOOSE --
c do i0=1,n_legendre
c do j0=1,m_fourier
c if (nid.eq.0) write(6,*)"C(",i0,",",j0,")=",
c & coeff_fij(i0,j0)
c enddo
c enddo
c------------------------------------------
return
end
c-----------------------------------------------------------------------
subroutine userbc (ix,iy,iz,iside,ieg)
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'
include 'NEKMOOSE'
integer e,ieg
real ucx, ucy, ucz, ucy_e, yy
e=gllel(ieg)
zz = zm1(ix,iy,iz,e)
xx = xm1(ix,iy,iz,e)
yy = ym1(ix,iy,iz,e)
rr = sqrt(xx**2 + yy**2)
ux = 0.0
uy = 0.0
uz = 1.0
temp = 0.0
flux = flux_recon(ix,iy,iz,e) !flux_moose
return
end
c-----------------------------------------------------------------------
subroutine useric (ix,iy,iz,ieg)
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'
integer idum, e
save idum
data idum / 0 /
if (idum.eq.0) idum = 99 + nid
eps = .35
uz=0.0
uy=0.0
ux=0.0
temp=0
return
end
c-----------------------------------------------------------------------
subroutine usrdat
include 'SIZE'
include 'TOTAL'
return
end
c-----------------------------------------------------------------------
subroutine usrdat2
include 'SIZE'
include 'TOTAL'
include 'NEKMOOSE'
c param(66) = 4. ! These give the std nek binary i/o and are
param(67) = 4. ! good default values
ifuservp=.false.
c Will this be overwritten -----------------
if (nid.eq.0) write(6,*)"*** Setting polynomial orders ..."
n_legendre=10
m_fourier=5
c-----------------------------------------------
return
end
c-----------------------------------------------------------------------
subroutine usrdat3
include 'SIZE'
include 'TOTAL'
c
return
end
c-----------------------------------------------------------------------
subroutine heat_balance(fflux)
include 'SIZE'
include 'TOTAL'
real sint, sint1, sarea, sarea1, wtmp, fflux
real cache(lx1,ly1,lz1,lelt),dtdz(lx1,ly1,lz1,lelt),
& dtdy(lx1,ly1,lz1,lelt),
& dtdx(lx1,ly1,lz1,lelt)
integer e, f
n1=nelt*lx1*ly1*lz1
n2=nelt*lx2*ly2*lz2
nxyz=lx1*ly1*lz1
call gradm1(dtdx,dtdy,dtdz,t(1,1,1,1,1))
sint1=0.0
sarea1=0.0
do e=1,lelt
do i=1,nxyz
cache(i,1,1,e)=t(i,1,1,e,1)*vz(i,1,1,e)
enddo
do f=1,6
call surface_int(sint,sarea,cache,e,f)
if (cbc(f,e,1).eq.'O ') then
sint1=sint1+sint
sarea1=sarea1+sarea
endif
enddo
enddo
call gop(sint1,wtmp,'+ ',1)
test_flux=sint1
sint1=0.0
sarea1=0.0
do e=1,lelt
do f=1,6
call surface_int(sint,sarea,dtdz,e,f)
if (cbc(f,e,1).eq.'v ') then
sint1=sint1+sint
sarea1=sarea1+sarea
endif
enddo
enddo
call gop(sint1,wtmp,'+ ',1)
call gop(sarea1,wtmp,'+ ',1)
flux_inlet=sint1
sint1=0.0
sarea1=0.0
do e=1,lelt
do f=1,6
call surface_int(sint,sarea,vz,e,f)
if (cbc(f,e,1).eq.'W ') then
sarea1=sarea1+sarea
endif
enddo
enddo
call gop(sarea1,wtmp,'+ ',1)
if (nid.eq.0) then
rr_loss=
& flux_inlet*param(8)/(test_flux+flux_inlet*param(8))
write(6,*)"*** Heat balance: ",
& sarea1*fflux,test_flux+flux_inlet*param(8)
write(6,*)"*** Heat loss: ",rr_loss*100.0," %"
endif
return
end
c-----------------------------------------------------------------------
# Minimal Nek-wrapped MOOSE application.
# MOOSE Requires a mesh and a variable even
# if they are not used.
[Mesh]
type = GeneratedMesh
dim = 1
nx = 1
[]
[Variables]
[./u]
[../]