Next: Prophet Options
Up: Prophet Commands
Previous: SOLVE
- Summary
- Synopsis
- Argument List
- Argument Descriptions
------------------------------------
Summary:
This command allows user to specify to Prophet a new system of partial
differential equations (PDEs) and associated boundary conditions (BCs),
interface constraints (ICs), and auxiliary functions. The PDE system
description must be complete, including all necessary operators (PDE terms,
BCs, ICs, and functions) needed to completely specify the system. If the
geometric and physical operators known to Prophet are insufficient to fully
describe the PDE system of interest, one or more new operator routines will
have to be created and compiled into Prophet.
------------------------------------
Synopsis:
system name=system_name
+ sysvars=var1,var2,var3,...
+ term0=R*geo_op.phy_op(in1,...|out1,...)@{region1,...}
+ ...
+ termNT-1=R*geo_op.phy_op(in1,...|out1,...)@{region1,...}
+ tmpvars=tmp1,tmp2,tmp3,...
+ func0=R*phy_op(in1,...|out1,...)@{region1,...}
+ ...
+ funcNF-1=R*phy_op(in1,...|out1,...)@{region1,...}
+ init0=''field:expression''
+ ...
+ initN-1=''field:expression''
------------------------------------
Argument List:
- NAME
- SYSVARS
- TERM0, TERM1, ...
- TMPVARS
- FUNC0, FUNC1, ...
- INIT0, INIT1, ...
------------------------------------
Argument Descriptions:
The following list itemizes the valid arguments, their units, and their
meaning.
NAME: [string]
name of the PDE system to be defined.
SYSVARS: [string]
-separated, ordered list of the solution variables for the PDE
system. The PDE terms (see below) will be ordered in the matrix
equation according to the order of the associated solution variavles in
the SYSVARS list.
TERM0, TERM1, ...: [string]
of a single term of the PDE system. Prophet currently
limits PDE systems to 78 PDE terms, named term0...term77.
For region-based PDE terms, the general form is:
termi=R*geo_op.phy_op(in1,in2,...|out1,out2,...)@{region1,region2,...}
For boundary conditions or interface constraints, the general form is:
termi=R*geo_op.phy_op(in1,in2,...|out1,out2...)@{reg1/reg2,reg3/reg4,...}
- R: any real number, with a minus sign if appropriate (minus sign
by itself is invalid)
- geo_op: one of the geometric operators known to Prophet
- phy_op: one of the physical operators (a.k.a., flux routines)
known to Prophet
- in1,in2,...: comma-separated list of sysvars, tmpvars, and other
defined fields needed to compute this PDE term. If there are no
input fields, "0" (the number zero) should precede the vertical
bar.
- out1,out2,...: comma-separated list of sysvars (PDEs) in which
this term appears
- region1,region2,...: comma-separated list of regions in which this
term is relevant
- reg1/reg2,reg3/reg4...: comma-separated list of boundaries or
interfaces (written as two region names, or a region name and a
boundary name, separated by a slash "/") to which this term should
be applied
TMPVARS: [string]
-separated, ordered list of the temporary (auxiliary) variables
computed and possibly used in the PDE system. These variables can not
involve differential operators, or they must be part of the PDE system.
The temporary variables are computed in the order given by [the TMPVARS
list | the FUNC statements], so a TMPVAR must be listed first if it is
used in the computation of another TMPVAR.
FUNC0, FUNC1, ...: [string]
funci=R*phy_op(in1,in2,...|out1,out2,...)@{region1,region2,...}
- R: any real number, with a minus sign if appropriate (minus sign
by itself is invalid)
- phy_op: one of the physical operators (a.k.a., flux routines)
known to Prophet
- in1,in2,...: comma-separated list of sysvars, tmpvars, and other
defined fields needed to compute this function. If there are no
input fields, "0" (the number zero) should precede the vertical
bar
- out1,out2,...: comma-separated list of tmpvars that this function
computes
- region1,region2,...: comma-separated list of regions in which this
function is relevant
INIT0, INIT1, ...: [string]
command to initialize fields. If a field already
exists at the time the system is executed, the initialization
is not performed. The basic syntax is
initN=''FieldName:Expression''
for which N is an integer, ``FieldName''
is the name of the field to be initialized, and ``Expression''
evaluates to the initial value of that field. Currently,
Prophet is limited to 57 initialization functions. Example of usage:
init3="mn:0.19"
The above will check to see if the
field mn exists; if it doesn't, the field will be created and
given the initial value of 0.19.
SPAWN: [string]
list of field names which should be created on the domain
when this system is solved, if they are not already
present. Another feature of the spawn variable is conditional
creation. A variable may be marked as being necessary if
another variable exists. For example,
+ spawn=''psi,boronActive:boron''
In this example, ``psi'' is always created, but ``boronActive''
is created only if ``boron'' is present.
NFUNC: [integer]
keyword should no longer be used, as it is
unnecessary. Prophet has learned how to count the number of
functions. The previous meaning was the specification of the
number of function terms in the PDE system.
NTERM: [integer]
keyword should no longer be used, as it is unnecessary. Prophet has learned to
count the number of terms on its own. The previous meaning was
the specification of the number of PDE terms in
the PDE system.
------------------------------------
Next: Prophet Options
Up: Prophet Commands
Previous: SOLVE
Prophet Development
Mon Jul 1 14:45:00 PDT 2002