aspen 发表于 2005-6-22 08:29

ARBY4 - Reduced Basis Fluid Flow Code

ARBY4 is version 4 of ARBY, a reduced basis code for fluid flow.

The reduced basis idea is related to the finite element method. In the finite element method, a completely arbitrary basis is set up. The reduced basis method seeks, instead, to use a much smaller set of basis functions which somehow represent the most typical behaviors of the solution.

Such a basis set might be determined by computing lots of solution vectors, or from theoretical considerations. It can also be determined by taking the state equations, repeatedly differentiating them with respect to a parameter, and solving the resulting systems. This then allows a sort of Taylor expansion of the solution with the parameter acting as the independent variable.

In a true Taylor expansion, the coefficients of the basis vectors are strictly determined by the size of the increment in the independent variable. But in this approach, it is assumed that although the Taylor coefficients may quickly become inaccurate, the corresponding Taylor basis vectors will still be useful for representing the solution. It remains, then, to determine the now unknown coefficients.

Files you may copy include:

arby4.f90, the source code.
test08.in, sample input.
test08.out, sample output.

The list of routines includes:

ARBY4 solves a fluid flow problem which has several parameters.
DIFFPRB estimates the jacobian of the reduced function, using finite differences.
DIFSENFL computes a central difference estimate for the first NCOFRB
DIFSENRB estimates the reduced sensitivities using finite differences.
FLOWBC computes the specified boundary values at a given position.
FPBCRB evaluates the jacobian of the reduced boundary conditions.
FPFERB evaluates the reduced basis jacobian directly.
FPFL computes the jacobian of the Navier Stokes residual function
FPIRB computes the jacobian of the reduced basis solution GRB
FPRB evaluates the reduced basis jacobian directly.
FXBCRB evaluates the reduced boundary conditions.
FXFERB evaluates the finite element portion of the reduced function.
FXFL computes the residual of the Navier Stokes equations,
FXFL2RB projects a full residual into a reduced residual.
FXIRB computes the residual of the reduced basis solution GRB
FXRB evaluates the boundary conditions and finite element equations
GETGSEN computes the coefficients of the sensitivity matrix S,
GETBCRB computes the vectors that will be placed into the set
GETFERB computes the finite element reduced basis vectors
GETSENFL computes the matrix SENFL of sensitivity vectors.
GETSENRB computes the value of the reduced sensitivities by
GFL2RB projects a full solution vector GFL into GRB, the
GRB2FL computes the full solution GFL represented by a set of
HELLO prints the program name, date of revision, time and date,
HELP prints out a list of the interactive commands which the
INIT sets problem data to default values.
NEWTFL is given an initial estimate of the solution of the full
NEWTRB is given an initial estimate of the solution of the reduced
OPTDIFFL optimizes the full problem, without gradient information.
OPTDIFRB optimizes the reduced problem, without gradient information.
PICFL carries out simple iteration on the full Navier Stokes equations.
PICMFERB evaluates the simple iteration matrix for a reduced problem.
PICMFL computes the Picard iteration matrix for the full Navier Stokes equations.
PICRB carries out simple iteration on the reduced Navier Stokes equations.
PICVFERB computes the finite element portion of the right hand
PICVFL computes the right hand side for Picard iteration on the
REYSEN sets up the right hand side RHS associated with the ISEN-th
TEST2 compares U, V, and P for the full solution and the reduced
TEST3 verifies that RB*RFACT = SENFL
TEST4 ???
TEST5 is given the QR factors of the reduced basis matrix, and
PRUVPFL prints the values of velocity and pressure for all nodes
PRUVPRB prints the values of the reduced velocity and pressure
UVPRB is given:
BMPCST evaluates the cost of the bump control.
BMPSPL sets up or updates the spline data that describes the bump.
BSP computes the value and spatial derivatives of the linear basis
CAPCHR accepts a STRING of characters and replaces any lowercase
CAVITY sets up the standard driven cavity problem.
CAVITY2 sets up the H C Lee driven cavity problem.
CHANNL sets up the standard channel problem.
CHRCTD accepts a string of characters, and tries to extract a
CHRCTI accepts a STRING of characters and reads an integer
CHRDB1 accepts a string of characters and removes all
CHRUP2 copies STRING into STRNG2, up to, but not including, the
DDETFL computes the determinant of a double precision band matrix
DDETRB computes the determinant of a double precision matrix
DELHMS returns the number of seconds between TIME1 and TIME2.
DFACFL factors a double precision band matrix by elimination.
DFACRB factors a double precision dense matrix.
DIFSET computes the NCOF coefficients for a centered finite difference
DISCST computes the discrepancy integrals for the pressure,
DSOLFL solves the linear system
DSOLRB solves the linear system
DVEQ returns .TRUE. if the N elements of the double precision
DVNEQ returns .TRUE. if any of the N elements of the double precision
FACT computes the (real) factorial of a nonnegative integer.
GETCST is given the value of the solution, GFL, the target
GQUAD1 returns the weights and abscissas for a 1 dimensional,
GRID computes the X or Y coordinate of the I-th gridpoint.
INTPRS interpolates the pressure at the midside nodes.
L2NORM computes the "big" L2 norm of the velocity over the flow region,
LBASE evalualates the IVAL-th Lagrange polynomial based
LEQI is a case insensitive comparison of two strings for
LEQIDB is a case insensitive comparison of two strings for
NBINOM calculates the number of combinations of M things taken N
NRMFLO returns norms of a flow solution or flow residual.
PCVAL evaluates a piecewise constant function at a given point.
PLDX evaluates the derivative of a piecewise linear function with
PLDX1 evaluates the X derivative of the piecewise linear
PLTOPN opens the plotting file.
PLVAL evaluates a piecewise linear function at a given point.
PLVAL1 evaluates the piecewise linear polynomial which is 1
PQDX evaluates the derivative of a piecewise quadratic function with
PQDX1 evaluates the X derivative of the piecewise quadratic
PQVAL evaluates a piecewise quadratic function at a given point.
PQVAL1 evaluates the piecewise quadratic polynomial which is 1
PRBMAT prints all nonzero entries of rows ILO to IHI, columns JLO to
PRDAT prints the problem information.
PRDMAT prints out a portion of a dense matrix.
PRELEM prints out data about one or more elements.
PRFXFLN prints out the norm of a full residual.
PRGRB prints out the reduced basis solution.
PRINDX prints out the integer variables that define the
PRMATFL prints entries from a matrix A associated with a full
PRPAR prints out the current parameters.
PRSENN prints out the norms of the sensitivities.
PRVECFL prints out some entries of a vector indexed by node number.
PRVECRB prints out entries ILO through IHI of a vector.
PRXY prints the X and Y coordinates of each node.
QBF evaluates a particular quadratic basis function at a point
REFBSP evaluates one of the three linear basis functions,
REFQBF evaluates one of the six quadratic basis functions,
SETBAN computes NLBAND, the lower band width of the Jacobian matrix
SETGEO is given a set of flow parameters in PAR, and an
SETLOG determines some data that depends on the user input.
SETNOD assigns numbers to the nodes and elements, decides which
SETPFL computes the value of the finite element basis functions at
SETPRB is given:
SETQ3 sets the abscissas and weights for a three point quadrature
SETXY sets the X and Y coordinates of the nodes.
STEP sets up a forward facing step problem.
TARGET is called to save the current parameters and solution
TRANS calculates the biquadratic transformation which maps the
UVPFL evaluates the velocities and pressure, and their X and Y
UVPNRM returns the "norm" of the solution. Here, the norm of
UVPQFL evaluates the velocities and pressure, and their X and Y
UVPQRB is given:
WRDIS writes information to a file which can be used to create
WRTEC writes out information which can be used for with the
XOFXSI is given the XSI, ETA coordinates of a point in an
DASUM takes the sum of the absolute values of the entries of
DAXPY adds a multiple of one vector to another.
DCOPY copies a vector X to a vector Y.
DDOT forms the dot product of two vectors.
DGBTF2 ???
DGBTRF ???
DGBTRS ???
DGEMM ???
DGEMV ???
DGEQR2 computes a QR factorization of a real m by n matrix A:
DGEQRF computes a QR factorization of a real M-by-N matrix A:
DGER ???
DGETF2 ???
DGETRF ???
DGETRS ???
DLAPY2 returns sqrt(x**2+y**2), avoiding overflow.
DLARF ???
DLARFB ???
DLARFT ???
DLASWP ???
DNRM2 returns the euclidean norm of a vector.
DORG2R ???
DORGQR ???
DSCAL scales a vector by a constant.
DSWAP interchanges two vectors.
DTBSV ???
DTRMM ???
DTRMV ???
DTRSM ???
IDAMAX FINDS THE INDEX OF ELEMENT HAVING MAX. ABSOLUTE VALUE.
ILAENV ???
LSAME ???
XERBLA is an error handler for the LAPACK routines.
DLAMCH ???
DLAMC1 ???
DLAMC2 ???
DLAMC3 is intended to force A and B to be stored prior to doing
DLAMC4 ???
DLAMC5 ???
DLARFG ???

tonan_888@163.c 发表于 2023-11-7 10:54

{:3_53:}{:3_53:}{:3_53:}
页: [1]
查看完整版本: ARBY4 - Reduced Basis Fluid Flow Code