Commits

Jozsef Bakosi authored 1c8b5ff840b
Add Dirichlet BC masks This changes how Dirichlet BCs are expected from the user. Instead of listing the side set ids, each scalar component must now be listed for each side set. This gives more control over the the individual component and collects all scalar component under compflow. Example: problem slot_cyl compflow depvar u material gamma 1.66666666666667 end end bc_dirichlet sideset 1 1 1 1 1 1 1 end sideset 2 1 1 1 1 1 1 end sideset 3 1 1 1 1 1 1 end sideset 4 1 1 1 1 1 0 end sideset 5 1 1 1 1 1 1 end sideset 6 1 1 1 1 1 0 end end end This prescribes Dirichlet BCs for sidesets 1-6 and specifies a mask (0 or 1) for each scalar components whether to set Dirichlet BCs or not. This prescribes Dirichlet BCs for all flow components for sidesets 1-6 and sets scalar Dirichlet BCs for sidesets 1,2,3, and 5. The actual BC value is evaluated internally, as defined by the problem, in this case slot_cyl. For user-defined problems and time-dependent Dirichlet BCs the mask will still be useful, to prescribe Dirichlet BCs component-wise, but the BC value must be defined in some other way. Other, related, changes: * Remove the disjoint check from the parser's grammar. * Sideset ids are now stored as ints instead of strings. * Remove some unused problem types. * Tested most of this code with a street canyon case which includes dispersion of a transported scalar from a point source and the slotted cylinder case. * Renamed BC type tags to more readable ones. * The solver now does not interrogate inputdeck< tag::param, tag::transport >, which will be eliminated in the future. The number of scalar components solved for is set based on the problem configuration in the grammar. * Add transported scalar to history output. * Add a "physics" scalar source for problem type POINT_SRC, besides the existing "math" source term. * For local time stepping, the converge criterion now checks if the residual is larger than 0.0. This is needed to prescribe convergence criterion for a scalar that has not yet been released. * Field output now includes the analytic solution (if defined for a problem). * Problem source terms now return a vector and this can be of variable size, since some will define flow variables only, some will also prescribe scalars. Calling code will have deal with this. * Add slot_cyl test problem.