libMesh
|
The Biharmonic class encapsulates most of the data structures necessary to calculate the biharmonic residual and Jacobian, auxiliary quantities, to take a timestep, and to output the state – biharmonic solution and vectors of auxiliary quantities. More...
#include <biharmonic.h>
Classes | |
class | JR |
Biharmonic's friend class definition. More... | |
Public Types | |
enum | InitialStateEnum { STRIP = 0, ROD = 1, BALL = 2 } |
enum | FreeEnergyEnum { DOUBLE_WELL = 1, DOUBLE_OBSTACLE = 2, LOG_DOUBLE_WELL = 3, LOG_DOUBLE_OBSTACLE = 4 } |
enum | ReadFlags { READ_HEADER = 1, READ_DATA = 2, READ_ADDITIONAL_DATA = 4, READ_LEGACY_FORMAT = 8, TRY_READ_IFEMS = 16, READ_BASIC_ONLY = 32 } |
Define enumeration to set properties in EquationSystems::read() More... | |
enum | WriteFlags { WRITE_DATA = 1, WRITE_ADDITIONAL_DATA = 2, WRITE_PARALLEL_FILES = 4, WRITE_SERIAL_FILES = 8 } |
Define enumeration to set properties in EquationSystems::write() More... | |
Public Member Functions | |
Biharmonic (ReplicatedMesh &mesh) | |
Constructor retrieves command-line options, setting defaults, if necessary. More... | |
~Biharmonic () | |
Destructor. More... | |
bool | verbose () |
Real | dt0 () |
Real | dt () |
void | viewParameters () |
void | init () |
Initialize all the systems. More... | |
void | step (const Real &dt=-1.0) |
void | output (int timestep, const Real &t, Real &o_t, bool force=false) |
void | run () |
virtual void | clear () |
Restores the data structure to a pristine state. More... | |
virtual void | reinit () |
Handle any mesh changes and reinitialize all the systems on the updated mesh. More... | |
virtual void | enable_default_ghosting (bool enable) |
Enable or disable default ghosting functors on the Mesh and on all Systems. More... | |
void | update () |
Updates local values for all the systems. More... | |
unsigned int | n_systems () const |
bool | has_system (const std::string &name) const |
template<typename T_sys > | |
const T_sys & | get_system (const std::string &name) const |
template<typename T_sys > | |
T_sys & | get_system (const std::string &name) |
template<typename T_sys > | |
const T_sys & | get_system (const unsigned int num) const |
template<typename T_sys > | |
T_sys & | get_system (const unsigned int num) |
const System & | get_system (const std::string &name) const |
System & | get_system (const std::string &name) |
const System & | get_system (const unsigned int num) const |
System & | get_system (const unsigned int num) |
virtual System & | add_system (const std::string &system_type, const std::string &name) |
Add the system of type system_type named name to the systems array. More... | |
template<typename T_sys > | |
T_sys & | add_system (const std::string &name) |
Add the system named name to the systems array. More... | |
void | delete_system (const std::string &name) |
Remove the system named name from the systems array. More... | |
unsigned int | n_vars () const |
std::size_t | n_dofs () const |
std::size_t | n_active_dofs () const |
virtual void | solve () |
Call solve on all the individual equation systems. More... | |
virtual void | adjoint_solve (const QoISet &qoi_indices=QoISet()) |
Call adjoint_solve on all the individual equation systems. More... | |
virtual void | sensitivity_solve (const ParameterVector ¶meters) |
Call sensitivity_solve on all the individual equation systems. More... | |
void | build_variable_names (std::vector< std::string > &var_names, const FEType *type=nullptr, const std::set< std::string > *system_names=nullptr) const |
Fill the input vector var_names with the names of the variables for each system. More... | |
void | build_solution_vector (std::vector< Number > &soln, const std::string &system_name, const std::string &variable_name="all_vars") const |
Fill the input vector soln with the solution values for the system named name . More... | |
void | build_solution_vector (std::vector< Number > &soln, const std::set< std::string > *system_names=nullptr) const |
Fill the input vector soln with solution values. More... | |
std::unique_ptr< NumericVector< Number > > | build_parallel_solution_vector (const std::set< std::string > *system_names=nullptr) const |
A version of build_solution_vector which is appropriate for "parallel" output formats like Nemesis. More... | |
void | get_vars_active_subdomains (const std::vector< std::string > &names, std::vector< std::set< subdomain_id_type >> &vars_active_subdomains) const |
Retrieve vars_active_subdomains , which indicates the active subdomains for each variable in names . More... | |
void | get_solution (std::vector< Number > &soln, std::vector< std::string > &names) const |
Retrieve the solution data for CONSTANT MONOMIALs. More... | |
void | build_elemental_solution_vector (std::vector< Number > &soln, std::vector< std::string > &names) const |
Retrieve the solution data for CONSTANT MONOMIALs. More... | |
std::vector< std::pair< unsigned int, unsigned int > > | find_variable_numbers (std::vector< std::string > &names, const FEType *type=nullptr) const |
Finds system and variable numbers for any variables of type corresponding to the entries in the input 'names' vector. More... | |
std::unique_ptr< NumericVector< Number > > | build_parallel_elemental_solution_vector (std::vector< std::string > &names) const |
Builds a parallel vector of CONSTANT MONOMIAL solution values corresponding to the entries in the input 'names' vector. More... | |
void | build_discontinuous_solution_vector (std::vector< Number > &soln, const std::set< std::string > *system_names=nullptr, const std::vector< std::string > *var_names=nullptr, bool vertices_only=false) const |
Fill the input vector soln with solution values. More... | |
template<typename InValType > | |
void | read (const std::string &name, const XdrMODE, const unsigned int read_flags=(READ_HEADER|READ_DATA), bool partition_agnostic=true) |
Read & initialize the systems from disk using the XDR data format. More... | |
void | read (const std::string &name, const XdrMODE mode, const unsigned int read_flags=(READ_HEADER|READ_DATA), bool partition_agnostic=true) |
template<typename InValType > | |
void | read (const std::string &name, const unsigned int read_flags=(READ_HEADER|READ_DATA), bool partition_agnostic=true) |
void | read (const std::string &name, const unsigned int read_flags=(READ_HEADER|READ_DATA), bool partition_agnostic=true) |
void | write (const std::string &name, const XdrMODE, const unsigned int write_flags=(WRITE_DATA), bool partition_agnostic=true) const |
Write the systems to disk using the XDR data format. More... | |
void | write (const std::string &name, const unsigned int write_flags=(WRITE_DATA), bool partition_agnostic=true) const |
virtual bool | compare (const EquationSystems &other_es, const Real threshold, const bool verbose) const |
virtual std::string | get_info () const |
void | print_info (std::ostream &os=libMesh::out) const |
Prints information about the equation systems, by default to libMesh::out. More... | |
const MeshBase & | get_mesh () const |
MeshBase & | get_mesh () |
void | allgather () |
Serializes a distributed mesh and its associated degree of freedom numbering for all systems. More... | |
void | enable_refine_in_reinit () |
Calls to reinit() will also do two-step coarsen-then-refine. More... | |
void | disable_refine_in_reinit () |
Calls to reinit() will not try to coarsen or refine the mesh. More... | |
bool | refine_in_reinit_flag () |
bool | reinit_solutions () |
Handle any mesh changes and project any solutions onto the updated mesh. More... | |
virtual void | reinit_systems () |
Reinitialize all systems on the current mesh. More... | |
const Parallel::Communicator & | comm () const |
processor_id_type | n_processors () const |
processor_id_type | processor_id () const |
Static Public Member Functions | |
static std::string | get_info () |
Gets a string containing the reference information. More... | |
static void | print_info (std::ostream &out=libMesh::out) |
Prints the reference information, by default to libMesh::out . More... | |
static unsigned int | n_objects () |
Prints the number of outstanding (created, but not yet destroyed) objects. More... | |
static void | enable_print_counter_info () |
Methods to enable/disable the reference counter output from print_info() More... | |
static void | disable_print_counter_info () |
Public Attributes | |
Parameters | parameters |
Data structure holding arbitrary parameters. More... | |
Protected Types | |
typedef std::map< std::string, System * >::iterator | system_iterator |
Typedef for system iterators. More... | |
typedef std::map< std::string, System * >::const_iterator | const_system_iterator |
Typedef for constant system iterators. More... | |
typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
Data structure to log the information. More... | |
Protected Member Functions | |
void | increment_constructor_count (const std::string &name) |
Increments the construction counter. More... | |
void | increment_destructor_count (const std::string &name) |
Increments the destruction counter. More... | |
Protected Attributes | |
std::map< std::string, System * > | _systems |
Data structure holding the systems. More... | |
bool | _refine_in_reinit |
Flag for whether to call coarsen/refine in reinit(). More... | |
bool | _enable_default_ghosting |
Flag for whether to enable default ghosting on newly added Systems. More... | |
const Parallel::Communicator & | _communicator |
Static Protected Attributes | |
static Counts | _counts |
Actually holds the data. More... | |
static Threads::atomic< unsigned int > | _n_objects |
The number of objects. More... | |
static Threads::spin_mutex | _mutex |
Mutual exclusion object to enable thread-safe reference counting. More... | |
static bool | _enable_print_counter = true |
Flag to control whether reference count information is printed when print_info is called. More... | |
Private Member Functions | |
template<typename InValType > | |
void | _read_impl (const std::string &name, const XdrMODE, const unsigned int read_flags, bool partition_agnostic=true) |
Actual read implementation. More... | |
void | _add_system_to_nodes_and_elems () |
This function is used in the implementation of add_system, it loops over the nodes and elements of the Mesh, adding the system to each one. More... | |
void | _remove_default_ghosting (unsigned int sys_num) |
This just calls DofMap::remove_default_ghosting() but using a shim lets us forward-declare DofMap. More... | |
Private Attributes | |
unsigned int | _dim |
unsigned int | _N |
Real | _kappa |
Real | _theta |
Real | _theta_c |
Real | _tol |
bool | _growth |
bool | _degenerate |
bool | _cahn_hillard |
bool | _netforce |
FreeEnergyEnum | _energy |
int | _log_truncation |
bool | _verbose |
InitialStateEnum | _initialState |
Point | _initialCenter |
Real | _initialWidth |
Real | _dt0 |
Real | _dt |
Real | _t0 |
Real | _T |
Real | _t1 |
Real | _cnWeight |
std::string | _ofile_base |
std::string | _ofile |
std::unique_ptr< ExodusII_IO > | _exio |
Real | _o_dt |
int | _o_count |
ReplicatedMesh & | _mesh |
JR * | _jr |
Friends | |
class | JR |
The Biharmonic class encapsulates most of the data structures necessary to calculate the biharmonic residual and Jacobian, auxiliary quantities, to take a timestep, and to output the state – biharmonic solution and vectors of auxiliary quantities.
The main reason for this design is to have a data structure that has all of the necessary data in one place, where all of the calculation subroutines can access these data. Currently these data are split up among several interdependent objects with no clear hierarchy between them: mesh, equation system, equation system bundle, residual/Jacobian calculator.
Since no object contains all others and the data are distributed among many objects, the natural control and data flow resides outside of these objects and is typically implemented in main(). We, however, would like to split the calculation into natural chunks – subroutines – while retaining these subroutines access to the common necessary data – biharmonic parameters, mesh and time interval sizes, etc. Thus, class Biharmonic. Finally, making Biharmonic inherit from EquationSystems makes it possible to include it in the most common callbacks that do not pass back a user context, but only an EquationSystems object.
Definition at line 45 of file biharmonic.h.
|
protectedinherited |
Typedef for constant system iterators.
Definition at line 581 of file equation_systems.h.
|
protectedinherited |
Data structure to log the information.
The log is identified by the class name.
Definition at line 117 of file reference_counter.h.
|
protectedinherited |
Typedef for system iterators.
Definition at line 576 of file equation_systems.h.
Enumerator | |
---|---|
DOUBLE_WELL | |
DOUBLE_OBSTACLE | |
LOG_DOUBLE_WELL | |
LOG_DOUBLE_OBSTACLE |
Definition at line 54 of file biharmonic.h.
Enumerator | |
---|---|
STRIP | |
ROD | |
BALL |
Definition at line 49 of file biharmonic.h.
|
inherited |
Define enumeration to set properties in EquationSystems::read()
Enumerator | |
---|---|
READ_HEADER | |
READ_DATA | |
READ_ADDITIONAL_DATA | |
READ_LEGACY_FORMAT | |
TRY_READ_IFEMS | |
READ_BASIC_ONLY |
Definition at line 83 of file equation_systems.h.
|
inherited |
Define enumeration to set properties in EquationSystems::write()
Enumerator | |
---|---|
WRITE_DATA | |
WRITE_ADDITIONAL_DATA | |
WRITE_PARALLEL_FILES | |
WRITE_SERIAL_FILES |
Definition at line 93 of file equation_systems.h.
Biharmonic::Biharmonic | ( | ReplicatedMesh & | mesh | ) |
Constructor retrieves command-line options, setting defaults, if necessary.
It then builds the mesh using these options, then the equations systems around it, and, finally, sets up the output. We recommend that this be used through the factory Create function, which allocates the mesh. In that case don't forget to call Destroy at the end, to free the mesh up.
Definition at line 14 of file biharmonic.C.
References _cahn_hillard, _cnWeight, _degenerate, _dim, _dt0, _energy, _exio, _growth, _initialCenter, _initialState, _initialWidth, _jr, _kappa, _log_truncation, _mesh, _N, _netforce, _o_dt, _ofile, _ofile_base, _T, _t0, _t1, _theta, _theta_c, _tol, _verbose, BALL, libMesh::MeshTools::Generation::build_cube(), libMesh::MeshTools::Generation::build_line(), libMesh::MeshTools::Generation::build_square(), libMesh::command_line_value(), libMesh::command_line_vector(), DOUBLE_OBSTACLE, DOUBLE_WELL, libMesh::EDGE2, libMesh::HEX8, LOG_DOUBLE_OBSTACLE, LOG_DOUBLE_WELL, libMesh::on_command_line(), libMesh::out, libMesh::QUAD4, ROD, and STRIP.
|
inline |
|
privateinherited |
This function is used in the implementation of add_system, it loops over the nodes and elements of the Mesh, adding the system to each one.
The main reason to separate this part is to avoid coupling this header file to mesh.h, and elem.h.
Definition at line 1376 of file equation_systems.C.
References libMesh::EquationSystems::_mesh, libMesh::MeshBase::element_ptr_range(), and libMesh::MeshBase::node_ptr_range().
Referenced by libMesh::EquationSystems::add_system().
|
privateinherited |
Actual read implementation.
This can be called repeatedly inside a try-catch block in an attempt to read broken files.
name | Name of the file to be read. |
read_flags | Single flag created by bitwise-OR'ing several flags together. |
partition_agnostic | If true then the mesh and degrees of freedom will be temporarily renumbered in a partition agnostic way so that files written using "n" mpi processes can be re-read on "m" mpi processes. |
This program implements the output of an EquationSystems object. This warrants some documentation. The output file essentially consists of 11 sections:
1.) A version header (for non-'legacy' formats, libMesh-0.7.0 and greater). 2.) The number of individual equation systems (unsigned int) for each system 3.) The name of the system (string) 4.) The type of the system (string) handled through System::read(): +-------------------------------------------------------------+ | 5.) The number of variables in the system (unsigned int) | | | | for each variable in the system | | | | 6.) The name of the variable (string) | | | | 7.) Combined in an FEType: | | - The approximation order(s) of the variable (Order | | Enum, cast to int/s) | | - The finite element family/ies of the variable | | (FEFamily Enum, cast to int/s) | | | | end variable loop | | | | 8.) The number of additional vectors (unsigned int), | | | | for each additional vector in the equation system object | | | | 9.) the name of the additional vector (string) | +-------------------------------------------------------------+ end system loop for each system, handled through System::read_{serialized,parallel}_data(): +--------------------------------------------------------------+ | 10.) The global solution vector, re-ordered to be node-major | | (More on this later.) | | | | for each additional vector in the equation system object | | | | 11.) The global additional vector, re-ordered to be | | node-major (More on this later.) | +--------------------------------------------------------------+ end system loop
Note that the actual IO is handled through the Xdr class (to be renamed later?) which provides a uniform interface to both the XDR (eXternal Data Representation) interface and standard ASCII output. Thus this one section of code will read XDR or ASCII files with no changes.
Definition at line 143 of file equation_systems_io.C.
References libMesh::EquationSystems::_mesh, libMesh::EquationSystems::add_system(), libMesh::Xdr::close(), libMesh::ParallelObject::comm(), libMesh::Xdr::data(), libMesh::MeshBase::fix_broken_node_and_element_numbering(), libMesh::EquationSystems::get_mesh(), libMesh::EquationSystems::get_system(), libMesh::MeshTools::Private::globally_renumber_nodes_and_elements(), libMesh::EquationSystems::init(), libMesh::libmesh_assert(), mesh, libMesh::ParallelObject::processor_id(), libMesh::EquationSystems::read(), libMesh::EquationSystems::READ_ADDITIONAL_DATA, libMesh::EquationSystems::READ_BASIC_ONLY, libMesh::EquationSystems::READ_DATA, libMesh::EquationSystems::READ_HEADER, libMesh::System::read_header(), libMesh::EquationSystems::READ_LEGACY_FORMAT, libMesh::Xdr::reading(), libMesh::System::set_basic_system_only(), libMesh::Xdr::set_version(), libMesh::EquationSystems::TRY_READ_IFEMS, and libMesh::EquationSystems::update().
|
privateinherited |
This just calls DofMap::remove_default_ghosting() but using a shim lets us forward-declare DofMap.
Definition at line 1387 of file equation_systems.C.
References libMesh::EquationSystems::get_system().
Referenced by libMesh::EquationSystems::add_system().
|
inlineinherited |
Add the system named name
to the systems array.
Definition at line 662 of file equation_systems.h.
References libMesh::EquationSystems::_add_system_to_nodes_and_elems(), libMesh::EquationSystems::_enable_default_ghosting, libMesh::EquationSystems::_remove_default_ghosting(), libMesh::EquationSystems::_systems, libMesh::EquationSystems::n_systems(), and libMesh::Quality::name().
|
virtualinherited |
Add the system of type system_type
named name
to the systems array.
Definition at line 345 of file equation_systems.C.
References libMesh::EquationSystems::_systems, libMesh::EquationSystems::get_system(), and libMesh::Quality::name().
Referenced by libMesh::EquationSystems::_read_impl(), assemble_and_solve(), build_system(), libMesh::RBEIMConstruction::init_data(), main(), libMesh::ErrorVector::plot_error(), TimeSolverTestImplementation< NewmarkSolver >::run_test_with_exact_soln(), RationalMapTest< elem_type >::setUp(), setup(), FETest< order, family, elem_type >::setUp(), SlitMeshRefinedSystemTest::setUp(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), EquationSystemsTest::testAddSystem(), SystemsTest::testAssemblyWithDgFemContext(), SystemsTest::testBlockRestrictedVarNDofs(), SystemsTest::testBoundaryProjectCube(), DofMapTest::testConstraintLoopDetection(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), EquationSystemsTest::testDisableDefaultGhosting(), SystemsTest::testDofCouplingWithVarGroups(), MixedDimensionMeshTest::testDofOrdering(), MixedDimensionRefinedMeshTest::testDofOrdering(), MixedDimensionNonUniformRefinement::testDofOrdering(), MixedDimensionNonUniformRefinementTriangle::testDofOrdering(), MixedDimensionNonUniformRefinement3D::testDofOrdering(), DofMapTest::testDofOwner(), MeshInputTest::testDynaReadPatch(), MeshInputTest::testExodusCopyElementSolution(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), EquationSystemsTest::testInit(), EquationSystemsTest::testPostInitAddElem(), EquationSystemsTest::testPostInitAddRealSystem(), EquationSystemsTest::testPostInitAddSystem(), SystemsTest::testProjectCube(), SystemsTest::testProjectCubeWithMeshFunction(), SystemsTest::testProjectLine(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), SystemsTest::testProjectMatrix3D(), SystemsTest::testProjectSquare(), EquationSystemsTest::testRefineThenReinitPreserveFlags(), EquationSystemsTest::testReinitWithNodeElem(), EquationSystemsTest::testRepartitionThenReinit(), and WriteVecAndScalar::testWrite().
|
virtualinherited |
Call adjoint_solve
on all the individual equation systems.
By default this function solves each system's adjoint once, in the reverse order from that in which they were added. For more sophisticated decoupled problems the user may with to override this behavior in a derived class.
Definition at line 466 of file equation_systems.C.
References libMesh::EquationSystems::get_system(), libMesh::libmesh_assert(), and libMesh::EquationSystems::n_systems().
Referenced by libMesh::UniformRefinementEstimator::_estimate_error().
|
inherited |
Serializes a distributed mesh and its associated degree of freedom numbering for all systems.
Definition at line 274 of file equation_systems.C.
References libMesh::EquationSystems::_mesh, libMesh::MeshBase::allgather(), libMesh::DofMap::distribute_dofs(), libMesh::MeshBase::element_ptr_range(), libMesh::System::get_dof_map(), libMesh::EquationSystems::get_system(), libMesh::MeshBase::is_serial(), libMesh::EquationSystems::n_systems(), libMesh::MeshBase::node_ptr_range(), libMesh::DofMap::prepare_send_list(), and libMesh::System::reinit_constraints().
|
inherited |
Fill the input vector soln
with solution values.
The entries will be in variable-major format (corresponding to the names from build_variable_names()
). If systems_names!=nullptr, only include data from the specified systems. If vertices_only == true, then for higher-order elements only the solution at the vertices is computed. This can be useful when plotting discontinous solutions on higher-order elements and only a lower-order representation is required.
Definition at line 1049 of file equation_systems.C.
References libMesh::Variable::active_on_subdomain(), dim, libMesh::DofMap::dof_indices(), libMesh::System::get_dof_map(), libMesh::index_range(), libMesh::libmesh_assert(), libMesh::System::n_vars(), libMesh::FEInterface::nodal_soln(), libMesh::System::update_global_solution(), libMesh::System::variable(), libMesh::System::variable_name(), and libMesh::System::variable_type().
Referenced by libMesh::MeshOutput< MeshBase >::write_discontinuous_equation_systems(), libMesh::ExodusII_IO::write_discontinuous_exodusII(), libMesh::GMVIO::write_discontinuous_gmv(), and libMesh::ExodusII_IO::write_element_data_from_discontinuous_nodal_data().
|
inherited |
Retrieve the solution data for CONSTANT MONOMIALs.
If names
is populated, only the variables corresponding to those names will be retrieved. This can be used to filter which variables are retrieved.
This is the more appropriately-named replacement for the get_solution() function defined above.
Definition at line 883 of file equation_systems.C.
References libMesh::EquationSystems::build_parallel_elemental_solution_vector().
Referenced by libMesh::EquationSystems::get_solution(), and libMesh::ExodusII_IO::write_element_data().
|
inherited |
Builds a parallel vector of CONSTANT MONOMIAL solution values corresponding to the entries in the input 'names' vector.
This vector is approximately uniformly distributed across all of the available processors.
The related function build_elemental_solution_vector() is implemented by calling this function and then calling localize_to_one() on the resulting vector.
Definition at line 957 of file equation_systems.C.
References libMesh::ParallelObject::_communicator, libMesh::EquationSystems::_mesh, libMesh::MeshBase::active_local_element_ptr_range(), libMesh::Variable::active_on_subdomain(), libMesh::NumericVector< T >::build(), libMesh::NumericVector< T >::close(), libMesh::ParallelObject::comm(), libMesh::CONSTANT, libMesh::System::current_local_solution, libMesh::DofMap::dof_indices(), libMesh::EquationSystems::find_variable_numbers(), libMesh::System::get_dof_map(), libMesh::EquationSystems::get_system(), libMesh::index_range(), libMesh::NumericVector< T >::init(), libMesh::libmesh_assert(), libMesh::MeshBase::max_elem_id(), libMesh::MONOMIAL, libMesh::MeshBase::n_elem(), libMesh::ParallelObject::n_processors(), libMesh::PARALLEL, libMesh::ParallelObject::processor_id(), libMesh::NumericVector< T >::set(), libMesh::System::solution, libMesh::System::update(), and libMesh::System::variable().
Referenced by libMesh::EquationSystems::build_elemental_solution_vector().
|
inherited |
A version of build_solution_vector which is appropriate for "parallel" output formats like Nemesis.
Definition at line 590 of file equation_systems.C.
References libMesh::ParallelObject::_communicator, libMesh::EquationSystems::_mesh, libMesh::EquationSystems::_systems, std::abs(), libMesh::MeshBase::active_local_element_ptr_range(), libMesh::Variable::active_on_subdomain(), libMesh::NumericVector< T >::add(), libMesh::NumericVector< T >::build(), libMesh::NumericVector< T >::close(), libMesh::ParallelObject::comm(), libMesh::System::current_local_solution, dim, distance(), libMesh::DofMap::dof_indices(), end, libMesh::FEInterface::field_type(), libMesh::NumericVector< T >::first_local_index(), libMesh::System::get_dof_map(), libMesh::index_range(), libMesh::NumericVector< T >::init(), libMesh::NumericVector< T >::last_local_index(), libMesh::libmesh_assert(), libMesh::MeshBase::local_nodes_begin(), libMesh::MeshBase::local_nodes_end(), libMesh::MeshBase::max_node_id(), libMesh::MeshBase::mesh_dimension(), libMesh::System::n_vars(), libMesh::FEInterface::n_vec_dim(), libMesh::FEInterface::nodal_soln(), libMesh::System::number(), libMesh::PARALLEL, libMesh::NumericVector< T >::set(), libMesh::System::solution, libMesh::TOLERANCE, libMesh::TYPE_VECTOR, libMesh::System::update(), libMesh::System::variable(), and libMesh::System::variable_type().
Referenced by libMesh::EquationSystems::build_solution_vector(), and libMesh::MeshOutput< MeshBase >::write_nodal_data().
|
inherited |
Fill the input vector soln
with solution values.
The entries will be in variable-major format (corresponding to the names from build_variable_names()
). If systems_names!=nullptr, only include data from the specified systems.
Definition at line 826 of file equation_systems.C.
References libMesh::EquationSystems::build_parallel_solution_vector().
|
inherited |
Fill the input vector soln
with the solution values for the system named name
.
soln
will only be assembled on processor 0, so this method is only applicable to outputting plot files from processor 0. Definition at line 578 of file equation_systems.C.
Referenced by libMesh::MeshOutput< MeshBase >::write_equation_systems().
|
inherited |
Fill the input vector var_names
with the names of the variables for each system.
If type
is passed, only variables of the specified type will be populated. If systems_names!=nullptr, only include names from the specified systems.
Definition at line 476 of file equation_systems.C.
References libMesh::EquationSystems::_systems, dim, end, libMesh::FEInterface::field_type(), libMesh::EquationSystems::get_mesh(), libMesh::MeshBase::mesh_dimension(), libMesh::EquationSystems::n_vars(), libMesh::FEInterface::n_vec_dim(), and libMesh::TYPE_VECTOR.
Referenced by libMesh::MeshOutput< MeshBase >::write_discontinuous_equation_systems(), libMesh::ExodusII_IO::write_discontinuous_exodusII(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::Nemesis_IO::write_element_data(), libMesh::ExodusII_IO::write_element_data(), libMesh::ExodusII_IO::write_element_data_from_discontinuous_nodal_data(), libMesh::MeshOutput< MeshBase >::write_equation_systems(), libMesh::Nemesis_IO::write_nodal_data(), and libMesh::MeshOutput< MeshBase >::write_nodal_data().
|
virtualinherited |
Restores the data structure to a pristine state.
Definition at line 75 of file equation_systems.C.
References libMesh::EquationSystems::_systems, libMesh::Parameters::clear(), and libMesh::EquationSystems::parameters.
Referenced by main(), and libMesh::EquationSystems::~EquationSystems().
|
inlineinherited |
Parallel::Communicator
object used by this mesh. Definition at line 94 of file parallel_object.h.
References libMesh::ParallelObject::_communicator.
Referenced by libMesh::__libmesh_petsc_diff_solver_jacobian(), libMesh::__libmesh_petsc_diff_solver_monitor(), libMesh::__libmesh_petsc_diff_solver_residual(), libMesh::__libmesh_tao_equality_constraints(), libMesh::__libmesh_tao_equality_constraints_jacobian(), libMesh::__libmesh_tao_gradient(), libMesh::__libmesh_tao_hessian(), libMesh::__libmesh_tao_inequality_constraints(), libMesh::__libmesh_tao_inequality_constraints_jacobian(), libMesh::__libmesh_tao_objective(), libMesh::MeshRefinement::_coarsen_elements(), libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::PetscLinearSolver< Number >::_petsc_shell_matrix_get_diagonal(), libMesh::SlepcEigenSolver< libMesh::Number >::_petsc_shell_matrix_get_diagonal(), libMesh::PetscLinearSolver< Number >::_petsc_shell_matrix_mult(), libMesh::SlepcEigenSolver< libMesh::Number >::_petsc_shell_matrix_mult(), libMesh::PetscLinearSolver< Number >::_petsc_shell_matrix_mult_add(), libMesh::EquationSystems::_read_impl(), libMesh::MeshRefinement::_refine_elements(), libMesh::MeshRefinement::_smooth_flags(), libMesh::DofMap::add_constraints_to_send_list(), add_cube_convex_hull_to_mesh(), libMesh::PetscDMWrapper::add_dofs_helper(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::TransientRBConstruction::add_IC_to_RB_space(), libMesh::ImplicitSystem::add_matrix(), libMesh::RBConstruction::add_scaled_matrix_and_vector(), libMesh::DynaIO::add_spline_constraints(), libMesh::System::add_vector(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::TransientRBConstruction::allocate_data_structures(), libMesh::RBConstruction::allocate_data_structures(), libMesh::TransientRBConstruction::assemble_affine_expansion(), libMesh::FEMSystem::assemble_qoi(), libMesh::MeshCommunication::assign_global_indices(), libMesh::DofMap::attach_matrix(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::PetscDMWrapper::build_section(), libMesh::PetscDMWrapper::build_sf(), libMesh::System::calculate_norm(), libMesh::DofMap::check_dirichlet_bcid_consistency(), libMesh::RBConstruction::compute_Fq_representor_innerprods(), libMesh::RBConstruction::compute_max_error_bound(), libMesh::Nemesis_IO_Helper::compute_num_global_elem_blocks(), libMesh::Nemesis_IO_Helper::compute_num_global_nodesets(), libMesh::Nemesis_IO_Helper::compute_num_global_sidesets(), libMesh::RBConstruction::compute_output_dual_innerprods(), libMesh::RBConstruction::compute_residual_dual_norm_slow(), libMesh::RBSCMConstruction::compute_SCM_bounds_on_training_set(), libMesh::Problem_Interface::computeF(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::MeshTools::create_bounding_box(), libMesh::DofMap::create_dof_constraints(), libMesh::MeshTools::create_nodal_bounding_box(), libMesh::MeshRefinement::create_parent_error_vector(), libMesh::MeshTools::create_processor_bounding_box(), libMesh::MeshTools::create_subdomain_bounding_box(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::DofMap::distribute_dofs(), DMlibMeshFunction(), DMlibMeshJacobian(), DMlibMeshSetSystem_libMesh(), DMVariableBounds_libMesh(), libMesh::DTKSolutionTransfer::DTKSolutionTransfer(), libMesh::MeshRefinement::eliminate_unrefined_patches(), libMesh::RBEIMConstruction::enrich_RB_space(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::RBConstruction::enrich_RB_space(), libMesh::EpetraVector< T >::EpetraVector(), AssembleOptimization::equality_constraints(), libMesh::WeightedPatchRecoveryErrorEstimator::estimate_error(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::RBEIMConstruction::evaluate_mesh_function(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_fraction(), libMesh::MeshRefinement::flag_elements_by_error_tolerance(), libMesh::MeshRefinement::flag_elements_by_mean_stddev(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::DofMap::gather_constraints(), libMesh::MeshfreeInterpolation::gather_remote_data(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::DofMap::get_info(), libMesh::ImplicitSystem::get_linear_solver(), AssembleOptimization::inequality_constraints(), AssembleOptimization::inequality_constraints_jacobian(), libMesh::LocationMap< T >::init(), libMesh::TimeSolver::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::EigenSystem::init_matrices(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), libMesh::RBEIMConstruction::initialize_rb_construction(), integrate_function(), libMesh::MeshTools::libmesh_assert_consistent_distributed(), libMesh::MeshTools::libmesh_assert_consistent_distributed_nodes(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_new_node_procids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_flags(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_object_ids(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_p_levels(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::MeshTools::libmesh_assert_valid_unique_ids(), libMesh::libmesh_petsc_preconditioner_apply(), libMesh::libmesh_petsc_snes_fd_residual(), libMesh::libmesh_petsc_snes_jacobian(), libMesh::libmesh_petsc_snes_mffd_residual(), libMesh::libmesh_petsc_snes_postcheck(), libMesh::libmesh_petsc_snes_residual(), libMesh::libmesh_petsc_snes_residual_helper(), libMesh::MeshRefinement::limit_level_mismatch_at_edge(), libMesh::MeshRefinement::limit_level_mismatch_at_node(), libMesh::MeshRefinement::limit_overrefined_boundary(), libMesh::MeshRefinement::limit_underrefined_boundary(), main(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshCommunication::make_elems_parallel_consistent(), libMesh::MeshRefinement::make_flags_parallel_consistent(), libMesh::MeshCommunication::make_new_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_new_nodes_parallel_consistent(), libMesh::MeshCommunication::make_node_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_unique_ids_parallel_consistent(), libMesh::MeshCommunication::make_nodes_parallel_consistent(), libMesh::MeshCommunication::make_p_levels_parallel_consistent(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::TransientRBConstruction::mass_matrix_scaled_matvec(), libMesh::FEMSystem::mesh_position_set(), LinearElasticityWithContact::move_mesh(), libMesh::DistributedMesh::n_active_elem(), libMesh::MeshTools::n_active_levels(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::DofMap::n_constrained_dofs(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::CondensedEigenSystem::n_global_non_condensed_dofs(), libMesh::MeshTools::n_levels(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::MeshTools::n_p_levels(), libMesh::BoundaryInfo::n_shellface_conds(), libMesh::DistributedMesh::parallel_max_elem_id(), libMesh::DistributedMesh::parallel_max_node_id(), libMesh::ReplicatedMesh::parallel_max_unique_id(), libMesh::DistributedMesh::parallel_max_unique_id(), libMesh::DistributedMesh::parallel_n_elem(), libMesh::DistributedMesh::parallel_n_nodes(), libMesh::SparsityPattern::Build::parallel_sync(), libMesh::MeshTools::paranoid_n_levels(), libMesh::petsc_auto_fieldsplit(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::DofMap::print_dof_constraints(), FEMParameters::read(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::read_header(), libMesh::RBEvaluation::read_in_vectors_from_multiple_files(), libMesh::System::read_legacy_data(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::System::read_SCALAR_dofs(), libMesh::XdrIO::read_serialized_bc_names(), libMesh::XdrIO::read_serialized_bcs_helper(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::XdrIO::read_serialized_nodes(), libMesh::XdrIO::read_serialized_nodesets(), libMesh::XdrIO::read_serialized_subdomain_names(), libMesh::System::read_serialized_vector(), libMesh::MeshRefinement::refine_and_coarsen_elements(), libMesh::DistributedMesh::renumber_dof_objects(), LinearElasticityWithContact::residual_and_jacobian(), OverlappingAlgebraicGhostingTest::run_ghosting_test(), OverlappingCouplingGhostingTest::run_sparsity_pattern_test(), libMesh::DofMap::scatter_constraints(), libMesh::CheckpointIO::select_split_config(), libMesh::TransientRBConstruction::set_error_temporal_data(), libMesh::RBEIMConstruction::set_explicit_sys_subvector(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::PetscDiffSolver::setup_petsc_data(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::split_mesh(), libMesh::BoundaryInfo::sync(), libMesh::MeshRefinement::test_level_one(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), libMesh::MeshRefinement::test_unflagged(), SystemsTest::testBlockRestrictedVarNDofs(), PointLocatorTest::testLocator(), BoundaryInfoTest::testMesh(), SystemsTest::testProjectCubeWithMeshFunction(), CheckpointIOTest::testSplitter(), libMesh::MeshTools::total_weight(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::MeshfreeSolutionTransfer::transfer(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::RBConstruction::truth_assembly(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::TransientRBConstruction::update_RB_initial_condition_all_N(), libMesh::RBEIMConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_RB_system_matrices(), libMesh::RBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_residual_terms(), libMesh::RBConstruction::update_residual_terms(), libMesh::NameBasedIO::write(), libMesh::XdrIO::write(), libMesh::VTKIO::write_nodal_data(), libMesh::RBEvaluation::write_out_vectors(), libMesh::TransientRBConstruction::write_riesz_representors_to_files(), libMesh::RBConstruction::write_riesz_representors_to_files(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), libMesh::XdrIO::write_serialized_nodesets(), libMesh::RBDataSerialization::RBEvaluationSerialization::write_to_file(), libMesh::RBDataSerialization::TransientRBEvaluationSerialization::write_to_file(), libMesh::RBDataSerialization::RBEIMEvaluationSerialization::write_to_file(), and libMesh::RBDataSerialization::RBSCMEvaluationSerialization::write_to_file().
|
virtualinherited |
true
when this equation system contains identical data, up to the given threshold. Delegates most of the comparisons to perform to the responsible systems Definition at line 1217 of file equation_systems.C.
References libMesh::EquationSystems::_systems, libMesh::System::compare(), end, libMesh::EquationSystems::get_system(), libMesh::EquationSystems::n_systems(), and libMesh::out.
Referenced by do_compare().
|
inherited |
Remove the system named name
from the systems array.
Definition at line 431 of file equation_systems.C.
References libMesh::EquationSystems::_systems, and libMesh::Quality::name().
|
staticinherited |
Definition at line 106 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::LibMeshInit::LibMeshInit().
|
inlineinherited |
Calls to reinit() will not try to coarsen or refine the mesh.
Definition at line 534 of file equation_systems.h.
References libMesh::EquationSystems::_refine_in_reinit.
Referenced by EquationSystemsTest::testRefineThenReinitPreserveFlags().
|
inline |
|
inline |
|
virtualinherited |
Enable or disable default ghosting functors on the Mesh and on all Systems.
Standard ghosting is enabled by default. If disabled, default ghosting will also be disabled on any later added systems.
Unless other equivalent ghosting functors have been added, removing the default coupling functor is only safe for explicit solves, and removing the default algebraic ghosting functor is only safe for codes where no evaluations on neighbor cells (e.g. no jump error estimators) are done.
Definition at line 312 of file equation_systems.C.
References libMesh::EquationSystems::_enable_default_ghosting, libMesh::DofMap::add_default_ghosting(), libMesh::EquationSystems::get_mesh(), libMesh::EquationSystems::get_system(), mesh, libMesh::EquationSystems::n_systems(), and libMesh::DofMap::remove_default_ghosting().
Referenced by EquationSystemsTest::testDisableDefaultGhosting().
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
Definition at line 100 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
|
inlineinherited |
Calls to reinit() will also do two-step coarsen-then-refine.
Definition at line 529 of file equation_systems.h.
References libMesh::EquationSystems::_refine_in_reinit.
|
inherited |
Finds system and variable numbers for any variables of type
corresponding to the entries in the input 'names' vector.
Definition at line 904 of file equation_systems.C.
References end, libMesh::libmesh_assert(), libMesh::System::n_vars(), libMesh::Quality::name(), libMesh::System::number(), libMesh::System::variable_name(), and libMesh::System::variable_type().
Referenced by libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::Nemesis_IO::write_element_data(), and libMesh::Nemesis_IO::write_nodal_data().
|
staticinherited |
Gets a string containing the reference information.
Definition at line 47 of file reference_counter.C.
References libMesh::ReferenceCounter::_counts, and libMesh::Quality::name().
Referenced by libMesh::ReferenceCounter::print_info().
|
virtualinherited |
Definition at line 1278 of file equation_systems.C.
References libMesh::EquationSystems::_systems, end, and libMesh::EquationSystems::n_systems().
Referenced by libMesh::EquationSystems::print_info().
|
inlineinherited |
Definition at line 645 of file equation_systems.h.
References libMesh::EquationSystems::_mesh.
|
inlineinherited |
Definition at line 637 of file equation_systems.h.
References libMesh::EquationSystems::_mesh.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::EquationSystems::_read_impl(), assemble(), LinearElasticity::assemble(), assemble_1D(), assemble_biharmonic(), assemble_cd(), assemble_elasticity(), assemble_ellipticdg(), assemble_helmholtz(), assemble_laplace(), assemble_mass(), assemble_matrices(), assemble_matrix_and_rhs(), assemble_poisson(), assemble_SchroedingerEquation(), assemble_shell(), assemble_stokes(), assemble_wave(), assembly_with_dg_fem_context(), libMesh::EquationSystems::build_variable_names(), LinearElasticity::compute_stresses(), compute_stresses(), LargeDeformationElasticity::compute_stresses(), libMesh::EquationSystems::enable_default_ghosting(), libMesh::AdjointRefinementEstimator::estimate_error(), fill_dirichlet_bc(), libMesh::MeshFunction::init(), LaplaceYoung::jacobian(), LargeDeformationElasticity::jacobian(), libMesh::EquationSystems::reinit_solutions(), LaplaceYoung::residual(), LargeDeformationElasticity::residual(), run_timestepping(), scale_mesh_and_plot(), libMesh::MeshfreeSolutionTransfer::transfer(), libMesh::DirectSolutionTransfer::transfer(), libMesh::DTKSolutionTransfer::transfer(), transform_mesh_and_plot(), libMesh::EquationSystems::write(), libMesh::MeshOutput< MeshBase >::write_discontinuous_equation_systems(), libMesh::MeshOutput< MeshBase >::write_equation_systems(), libMesh::Nemesis_IO_Helper::write_nodal_solution(), write_output(), and write_output_solvedata().
|
inherited |
Retrieve the solution data for CONSTANT MONOMIALs.
If names
is populated, only the variables corresponding to those names will be retrieved. This can be used to filter which variables are retrieved.
Definition at line 873 of file equation_systems.C.
References libMesh::EquationSystems::build_elemental_solution_vector().
|
inlineinherited |
name
. The template argument defines the return type. For example, const SteadySystem & sys = eq.get_system<SteadySystem> ("sys"); is an example of how the method might be used Definition at line 776 of file equation_systems.h.
References libMesh::EquationSystems::_systems, and libMesh::Quality::name().
|
inlineinherited |
name
. Definition at line 803 of file equation_systems.h.
References libMesh::Quality::name().
|
inlineinherited |
name
. The template argument defines the return type. For example, const SteadySystem & sys = eq.get_system<SteadySystem> ("sys"); is an example of how the method might be used Definition at line 757 of file equation_systems.h.
References libMesh::EquationSystems::_systems, and libMesh::Quality::name().
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::EquationSystems::_read_impl(), libMesh::EquationSystems::_remove_default_ghosting(), add_M_C_K_helmholtz(), libMesh::EnsightIO::add_scalar(), libMesh::RBSCMConstruction::add_scaled_symm_Aq(), libMesh::EquationSystems::add_system(), libMesh::EnsightIO::add_vector(), libMesh::EquationSystems::adjoint_solve(), libMesh::EquationSystems::allgather(), apply_initial(), assemble(), LinearElasticity::assemble(), assemble_1D(), assemble_biharmonic(), assemble_cd(), assemble_elasticity(), assemble_ellipticdg(), assemble_helmholtz(), assemble_laplace(), assemble_mass(), assemble_matrices(), assemble_matrix_and_rhs(), assemble_poisson(), assemble_SchroedingerEquation(), assemble_shell(), assemble_stokes(), assemble_wave(), assembly_with_dg_fem_context(), libMesh::ExactSolution::attach_exact_deriv(), libMesh::ExactSolution::attach_exact_hessian(), libMesh::ExactSolution::attach_exact_value(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::compare(), libMesh::ExactSolution::compute_error(), LinearElasticityWithContact::compute_stresses(), LinearElasticity::compute_stresses(), compute_stresses(), LargeDeformationElasticity::compute_stresses(), libMesh::GMVIO::copy_nodal_solution(), SolidSystem::element_time_derivative(), libMesh::EquationSystems::enable_default_ghosting(), libMesh::ExactSolution::error_norm(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::ErrorEstimator::estimate_errors(), libMesh::ExactSolution::ExactSolution(), fill_dirichlet_bc(), libMesh::DTKAdapter::find_sys(), libMesh::RBEIMConstruction::get_explicit_system(), libMesh::EquationSystems::init(), init_cd(), SolidSystem::init_data(), init_sys(), initialize(), LaplaceYoung::jacobian(), LargeDeformationElasticity::jacobian(), line_print(), libMesh::RBSCMConstruction::load_matrix_B(), main(), libMesh::RBSCMConstruction::perform_SCM_greedy(), libMesh::EquationSystems::reinit_solutions(), libMesh::EquationSystems::reinit_systems(), LaplaceYoung::residual(), LargeDeformationElasticity::residual(), run_timestepping(), SolidSystem::save_initial_mesh(), libMesh::EquationSystems::sensitivity_solve(), SolidSystem::side_time_derivative(), libMesh::EquationSystems::solve(), MixedDimensionMeshTest::testDofOrdering(), MixedDimensionRefinedMeshTest::testDofOrdering(), MixedDimensionNonUniformRefinement::testDofOrdering(), MixedDimensionNonUniformRefinementTriangle::testDofOrdering(), MixedDimensionNonUniformRefinement3D::testDofOrdering(), SlitMeshRefinedSystemTest::testRestart(), libMesh::EquationSystems::update(), libMesh::Nemesis_IO_Helper::write_element_values(), libMesh::Nemesis_IO_Helper::write_nodal_solution(), libMesh::EnsightIO::write_scalar_ascii(), and libMesh::EnsightIO::write_vector_ascii().
|
inlineinherited |
name
. Definition at line 795 of file equation_systems.h.
References libMesh::Quality::name().
|
inlineinherited |
num
. The template argument defines the return type. For example, const SteadySystem & sys = eq.get_system<SteadySystem> (0); is an example of how the method might be used Definition at line 731 of file equation_systems.h.
References libMesh::EquationSystems::_systems, end, and libMesh::EquationSystems::n_systems().
|
inlineinherited |
num
. Definition at line 819 of file equation_systems.h.
|
inlineinherited |
num
. The template argument defines the return type. For example, const SteadySystem & sys = eq.get_system<SteadySystem> (0); is an example of how the method might be used Definition at line 706 of file equation_systems.h.
References libMesh::EquationSystems::_systems, end, and libMesh::EquationSystems::n_systems().
|
inlineinherited |
num
. Definition at line 811 of file equation_systems.h.
|
inherited |
Retrieve vars_active_subdomains
, which indicates the active subdomains for each variable in names
.
Definition at line 841 of file equation_systems.C.
References libMesh::EquationSystems::_systems, libMesh::Variable::active_subdomains(), and end.
Referenced by libMesh::Nemesis_IO::write_element_data(), libMesh::ExodusII_IO::write_element_data(), and libMesh::ExodusII_IO::write_element_data_from_discontinuous_nodal_data().
|
inlineinherited |
true
if the system named name
exists within this EquationSystems object. Definition at line 694 of file equation_systems.h.
References libMesh::EquationSystems::_systems, and libMesh::Quality::name().
Referenced by libMesh::EnsightIO::add_scalar(), libMesh::EnsightIO::add_vector(), libMesh::ExactSolution::compute_error(), libMesh::ExactSolution::error_norm(), and main().
|
inlineprotectedinherited |
Increments the construction counter.
Should be called in the constructor of any derived class that will be reference counted.
Definition at line 181 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
|
inlineprotectedinherited |
Increments the destruction counter.
Should be called in the destructor of any derived class that will be reference counted.
Definition at line 194 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
|
virtual |
Initialize all the systems.
Reimplemented from libMesh::EquationSystems.
Definition at line 213 of file biharmonic.C.
References _dt, _o_count, _verbose, libMesh::TriangleWrapper::init(), and libMesh::out.
|
inherited |
Definition at line 1362 of file equation_systems.C.
References libMesh::EquationSystems::_systems, and end.
Referenced by main(), and write_output_solvedata().
|
inherited |
Definition at line 1346 of file equation_systems.C.
References libMesh::EquationSystems::_systems, and end.
Referenced by Biharmonic::JR::bounds(), and Biharmonic::JR::residual_and_jacobian().
|
inlinestaticinherited |
Prints the number of outstanding (created, but not yet destroyed) objects.
Definition at line 83 of file reference_counter.h.
References libMesh::ReferenceCounter::_n_objects.
|
inlineinherited |
Definition at line 100 of file parallel_object.h.
References libMesh::ParallelObject::_communicator.
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::DofMap::add_constraints_to_send_list(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DistributedMesh::add_elem(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::DistributedMesh::add_node(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::FEMSystem::assembly(), libMesh::AztecLinearSolver< T >::AztecLinearSolver(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::DistributedMesh::clear(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::UnstructuredMesh::create_pid_mesh(), libMesh::MeshTools::create_processor_bounding_box(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::EnsightIO::EnsightIO(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::Nemesis_IO_Helper::initialize(), libMesh::DistributedMesh::insert_elem(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_new_node_procids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::DofMap::local_variable_indices(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshBase::partition(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::DofMap::prepare_send_list(), libMesh::DofMap::print_dof_constraints(), libMesh::NameBasedIO::read(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::XdrIO::read_header(), libMesh::CheckpointIO::read_nodes(), libMesh::System::read_parallel_data(), libMesh::System::read_SCALAR_dofs(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::System::read_serialized_vector(), libMesh::DistributedMesh::renumber_dof_objects(), OverlappingFunctorTest::run_partitioner_test(), libMesh::DofMap::scatter_constraints(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), CheckpointIOTest::testSplitter(), WriteVecAndScalar::testWrite(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::VTKIO::write_nodal_data(), libMesh::System::write_parallel_data(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), and libMesh::XdrIO::write_serialized_nodesets().
|
inlineinherited |
Definition at line 652 of file equation_systems.h.
References libMesh::EquationSystems::_systems.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::EquationSystems::add_system(), libMesh::EquationSystems::adjoint_solve(), libMesh::EquationSystems::allgather(), libMesh::ExactSolution::attach_exact_deriv(), libMesh::ExactSolution::attach_exact_hessian(), libMesh::ExactSolution::attach_exact_value(), libMesh::EquationSystems::compare(), libMesh::GMVIO::copy_nodal_solution(), libMesh::EquationSystems::enable_default_ghosting(), libMesh::ErrorEstimator::estimate_errors(), libMesh::ExactSolution::ExactSolution(), libMesh::DTKAdapter::find_sys(), libMesh::EquationSystems::get_info(), libMesh::EquationSystems::get_system(), libMesh::EquationSystems::init(), main(), libMesh::EquationSystems::reinit_solutions(), libMesh::EquationSystems::reinit_systems(), libMesh::EquationSystems::sensitivity_solve(), libMesh::EquationSystems::solve(), and libMesh::EquationSystems::update().
|
inherited |
Definition at line 1331 of file equation_systems.C.
References libMesh::EquationSystems::_systems, and end.
Referenced by libMesh::EquationSystems::build_variable_names().
void Biharmonic::output | ( | int | timestep, |
const Real & | t, | ||
Real & | o_t, | ||
bool | force = false |
||
) |
Definition at line 251 of file biharmonic.C.
References _exio, _o_count, _o_dt, _ofile, _verbose, and libMesh::out.
Referenced by run().
|
inherited |
Prints information about the equation systems, by default to libMesh::out.
Definition at line 1314 of file equation_systems.C.
References libMesh::EquationSystems::get_info().
Referenced by assemble_and_solve(), do_compare(), main(), and libMesh::operator<<().
|
staticinherited |
Prints the reference information, by default to libMesh::out
.
Definition at line 87 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().
|
inlineinherited |
Definition at line 106 of file parallel_object.h.
References libMesh::ParallelObject::_communicator.
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::EquationSystems::_read_impl(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DistributedMesh::add_elem(), libMesh::BoundaryInfo::add_elements(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::DistributedMesh::add_node(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::FEMSystem::assembly(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::DistributedMesh::clear(), libMesh::ExodusII_IO_Helper::close(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::compute_communication_map_parameters(), libMesh::Nemesis_IO_Helper::compute_internal_and_border_elems_and_internal_nodes(), libMesh::RBConstruction::compute_max_error_bound(), libMesh::Nemesis_IO_Helper::compute_node_communication_maps(), libMesh::Nemesis_IO_Helper::compute_num_global_elem_blocks(), libMesh::Nemesis_IO_Helper::compute_num_global_nodesets(), libMesh::Nemesis_IO_Helper::compute_num_global_sidesets(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::ExodusII_IO_Helper::create(), libMesh::DistributedMesh::delete_elem(), libMesh::DistributedMesh::delete_node(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DistributedMesh::DistributedMesh(), libMesh::DofMap::end_dof(), libMesh::DofMap::end_old_dof(), libMesh::EnsightIO::EnsightIO(), libMesh::RBEIMConstruction::evaluate_mesh_function(), libMesh::MeshFunction::find_element(), libMesh::MeshFunction::find_elements(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::DofMap::first_dof(), libMesh::DofMap::first_old_dof(), libMesh::Nemesis_IO_Helper::get_cmap_params(), libMesh::Nemesis_IO_Helper::get_eb_info_global(), libMesh::Nemesis_IO_Helper::get_elem_cmap(), libMesh::Nemesis_IO_Helper::get_elem_map(), libMesh::DofMap::get_info(), libMesh::Nemesis_IO_Helper::get_init_global(), libMesh::Nemesis_IO_Helper::get_init_info(), libMesh::Nemesis_IO_Helper::get_loadbal_param(), libMesh::DofMap::get_local_constraints(), libMesh::Nemesis_IO_Helper::get_node_cmap(), libMesh::Nemesis_IO_Helper::get_node_map(), libMesh::Nemesis_IO_Helper::get_ns_param_global(), libMesh::Nemesis_IO_Helper::get_ss_param_global(), libMesh::SparsityPattern::Build::handle_vi_vj(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), HeatSystem::init_data(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::ExodusII_IO_Helper::initialize_element_variables(), libMesh::ExodusII_IO_Helper::initialize_global_variables(), libMesh::ExodusII_IO_Helper::initialize_nodal_variables(), libMesh::DistributedMesh::insert_elem(), libMesh::DofMap::is_evaluable(), libMesh::SparsityPattern::Build::join(), libMesh::DofMap::last_dof(), libMesh::TransientRBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBEIMEvaluation::legacy_write_offline_data_to_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBSCMEvaluation::legacy_write_offline_data_to_files(), libMesh::RBEIMEvaluation::legacy_write_out_interpolation_points_elem(), libMesh::MeshTools::libmesh_assert_consistent_distributed(), libMesh::MeshTools::libmesh_assert_consistent_distributed_nodes(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_object_ids(), libMesh::DofMap::local_variable_indices(), main(), libMesh::MeshRefinement::make_coarsening_compatible(), AugmentSparsityOnInterface::mesh_reinit(), libMesh::MeshBase::n_active_local_elem(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::DofMap::n_local_dofs(), libMesh::System::n_local_dofs(), libMesh::MeshBase::n_local_elem(), libMesh::MeshBase::n_local_nodes(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::BoundaryInfo::n_shellface_conds(), libMesh::SparsityPattern::Build::operator()(), libMesh::DistributedMesh::own_node(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::DofMap::print_dof_constraints(), libMesh::Nemesis_IO_Helper::put_cmap_params(), libMesh::Nemesis_IO_Helper::put_elem_cmap(), libMesh::Nemesis_IO_Helper::put_elem_map(), libMesh::Nemesis_IO_Helper::put_loadbal_param(), libMesh::Nemesis_IO_Helper::put_node_cmap(), libMesh::Nemesis_IO_Helper::put_node_map(), libMesh::NameBasedIO::read(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::CheckpointIO::read(), libMesh::ExodusII_IO_Helper::read_elem_num_map(), libMesh::ExodusII_IO_Helper::read_global_values(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::read_header(), libMesh::RBEvaluation::read_in_vectors_from_multiple_files(), libMesh::System::read_legacy_data(), libMesh::ExodusII_IO_Helper::read_node_num_map(), libMesh::System::read_parallel_data(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::System::read_SCALAR_dofs(), libMesh::XdrIO::read_serialized_bc_names(), libMesh::XdrIO::read_serialized_bcs_helper(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::System::read_serialized_data(), libMesh::XdrIO::read_serialized_nodes(), libMesh::XdrIO::read_serialized_nodesets(), libMesh::XdrIO::read_serialized_subdomain_names(), libMesh::System::read_serialized_vector(), libMesh::System::read_serialized_vectors(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::DofMap::scatter_constraints(), libMesh::CheckpointIO::select_split_config(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::LaplaceMeshSmoother::smooth(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), MeshInputTest::testDynaReadElem(), MeshInputTest::testDynaReadPatch(), MeshInputTest::testExodusCopyElementSolution(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), SystemsTest::testProjectMatrix3D(), BoundaryInfoTest::testShellFaceConstraints(), CheckpointIOTest::testSplitter(), WriteVecAndScalar::testWrite(), libMesh::MeshTools::total_weight(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::Parallel::Packing< Node * >::unpack(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::DTKAdapter::update_variable_values(), libMesh::NameBasedIO::write(), libMesh::XdrIO::write(), libMesh::CheckpointIO::write(), libMesh::EquationSystems::write(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO::write_element_data(), libMesh::ExodusII_IO_Helper::write_element_values(), libMesh::ExodusII_IO_Helper::write_element_values_element_major(), libMesh::ExodusII_IO_Helper::write_elements(), libMesh::ExodusII_IO::write_global_data(), libMesh::ExodusII_IO_Helper::write_global_values(), libMesh::System::write_header(), libMesh::ExodusII_IO::write_information_records(), libMesh::ExodusII_IO_Helper::write_information_records(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), libMesh::VTKIO::write_nodal_data(), libMesh::UCDIO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data_discontinuous(), libMesh::ExodusII_IO_Helper::write_nodal_values(), libMesh::Nemesis_IO_Helper::write_nodesets(), libMesh::ExodusII_IO_Helper::write_nodesets(), libMesh::RBEvaluation::write_out_vectors(), write_output_solvedata(), libMesh::System::write_parallel_data(), libMesh::RBConstruction::write_riesz_representors_to_files(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bc_names(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::System::write_serialized_data(), libMesh::XdrIO::write_serialized_nodes(), libMesh::XdrIO::write_serialized_nodesets(), libMesh::XdrIO::write_serialized_subdomain_names(), libMesh::System::write_serialized_vector(), libMesh::System::write_serialized_vectors(), libMesh::ExodusII_IO_Helper::write_sideset_data(), libMesh::Nemesis_IO_Helper::write_sidesets(), libMesh::ExodusII_IO_Helper::write_sidesets(), libMesh::ExodusII_IO::write_timestep(), libMesh::ExodusII_IO_Helper::write_timestep(), and libMesh::ExodusII_IO::write_timestep_discontinuous().
|
inherited |
Definition at line 72 of file equation_systems_io.C.
References libMesh::EquationSystems::_mesh, libMesh::MeshRefinement::clean_refinement_flags(), libMesh::DECODE, libMesh::Quality::name(), libMesh::READ, and libMesh::EquationSystems::read().
|
inlineinherited |
|
inlineinherited |
|
inherited |
Read & initialize the systems from disk using the XDR data format.
This format allows for machine-independent binary output.
Set which sections of the file to read by bitwise OR'ing the EquationSystems::ReadFlags enumeration together. For example, to read all sections of the file, set read_flags to: (READ_HEADER | READ_DATA | READ_ADDITIONAL_DATA)
If XdrMODE is omitted, it will be inferred as READ for filenames containing .xda or as DECODE for filenames containing .xdr
name | Name of the file to be read. |
read_flags | Single flag created by bitwise-OR'ing several flags together. |
mode | Controls whether reading is done in binary or ascii mode. |
partition_agnostic | If true then the mesh and degrees of freedom will be temporarily renumbered in a partition agnostic way so that files written using "n" mpi processes can be re-read on "m" mpi processes. This renumbering is not compatible with meshes that have two nodes in exactly the same position! |
Definition at line 90 of file equation_systems_io.C.
References libMesh::EquationSystems::_mesh, libMesh::MeshRefinement::clean_refinement_flags(), libMesh::Quality::name(), libMesh::out, and libMesh::EquationSystems::TRY_READ_IFEMS.
Referenced by libMesh::EquationSystems::_read_impl(), main(), libMesh::EquationSystems::read(), and SlitMeshRefinedSystemTest::testRestart().
|
inlineinherited |
Definition at line 539 of file equation_systems.h.
References libMesh::EquationSystems::_refine_in_reinit.
|
virtualinherited |
Handle any mesh changes and reinitialize all the systems on the updated mesh.
Definition at line 121 of file equation_systems.C.
References libMesh::EquationSystems::reinit_solutions(), and libMesh::EquationSystems::reinit_systems().
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), assemble_and_solve(), libMesh::AdjointRefinementEstimator::estimate_error(), main(), run_timestepping(), SlitMeshRefinedSystemTest::setUp(), EquationSystemsTest::testPostInitAddElem(), EquationSystemsTest::testPostInitAddRealSystem(), EquationSystemsTest::testPostInitAddSystem(), SystemsTest::testProjectCube(), SystemsTest::testProjectLine(), SystemsTest::testProjectSquare(), EquationSystemsTest::testRefineThenReinitPreserveFlags(), EquationSystemsTest::testReinitWithNodeElem(), and EquationSystemsTest::testRepartitionThenReinit().
|
inherited |
Handle any mesh changes and project any solutions onto the updated mesh.
Definition at line 133 of file equation_systems.C.
References libMesh::EquationSystems::_mesh, libMesh::EquationSystems::_refine_in_reinit, libMesh::MeshRefinement::coarsen_elements(), libMesh::MeshBase::contract(), libMesh::DofMap::distribute_dofs(), libMesh::MeshBase::element_ptr_range(), libMesh::MeshRefinement::face_level_mismatch_limit(), libMesh::System::get_dof_map(), libMesh::EquationSystems::get_mesh(), libMesh::EquationSystems::get_system(), libMesh::EquationSystems::n_systems(), libMesh::MeshBase::node_ptr_range(), libMesh::MeshRefinement::overrefined_boundary_limit(), libMesh::System::prolong_vectors(), libMesh::MeshRefinement::refine_elements(), libMesh::System::reinit_constraints(), libMesh::System::restrict_vectors(), and libMesh::MeshRefinement::underrefined_boundary_limit().
Referenced by libMesh::EquationSystems::reinit().
|
virtualinherited |
Reinitialize all systems on the current mesh.
Definition at line 266 of file equation_systems.C.
References libMesh::EquationSystems::get_system(), and libMesh::EquationSystems::n_systems().
Referenced by libMesh::EquationSystems::reinit().
void Biharmonic::run | ( | ) |
Definition at line 287 of file biharmonic.C.
References _dt, _t0, _t1, _verbose, libMesh::out, output(), libMesh::Real, and step().
|
virtualinherited |
Call sensitivity_solve
on all the individual equation systems.
By default this function solves each sensitivity system once, in the order in which in which they were added. For more sophisticated decoupled problems the user may with to override this behavior in a derived class.
Definition at line 456 of file equation_systems.C.
References libMesh::EquationSystems::get_system(), libMesh::libmesh_assert(), and libMesh::EquationSystems::n_systems().
|
virtualinherited |
Call solve
on all the individual equation systems.
By default this function solves each equation system once, in the order they were added. For more sophisticated decoupled problems the user may with to override this behavior in a derived class.
Definition at line 446 of file equation_systems.C.
References libMesh::EquationSystems::get_system(), libMesh::libmesh_assert(), and libMesh::EquationSystems::n_systems().
Referenced by libMesh::UniformRefinementEstimator::_estimate_error().
void Biharmonic::step | ( | const Real & | dt = -1.0 | ) |
|
inherited |
Updates local values for all the systems.
Definition at line 334 of file equation_systems.C.
References libMesh::EquationSystems::get_system(), and libMesh::EquationSystems::n_systems().
Referenced by libMesh::EquationSystems::_read_impl(), and main().
|
inline |
void Biharmonic::viewParameters | ( | ) |
Definition at line 166 of file biharmonic.C.
References _cahn_hillard, _cnWeight, _degenerate, _dim, _dt0, _energy, _growth, _initialCenter, _initialState, _initialWidth, _kappa, _log_truncation, _N, _netforce, _o_dt, _ofile_base, _T, _t0, _t1, _theta, _theta_c, _tol, _verbose, BALL, int, libMesh::out, ROD, and STRIP.
|
inherited |
Definition at line 366 of file equation_systems_io.C.
References libMesh::ENCODE, libMesh::Quality::name(), libMesh::WRITE, and libMesh::EquationSystems::write().
|
inherited |
Write the systems to disk using the XDR data format.
This format allows for machine-independent binary output.
Set the writing properties using the EquationSystems::WriteFlags enumeration. Set which sections to write out by bitwise OR'ing the enumeration values. Write everything by setting write_flags to: (WRITE_DATA | WRITE_ADDITIONAL_DATA)
If XdrMODE is omitted, it will be inferred as WRITE for filenames containing .xda or as ENCODE for filenames containing .xdr
name | Name of the file to be read. |
write_flags | Single flag created by bitwise-OR'ing several flags together. |
mode | Controls whether reading is done in binary or ascii mode. |
partition_agnostic | If true then the mesh and degrees of freedom will be temporarily renumbered in a partition agnostic way so that files written using "n" mpi processes can be re-read on "m" mpi processes. This renumbering is not compatible with meshes that have two nodes in exactly the same position! |
This program implements the output of an EquationSystems object. This warrants some documentation. The output file essentially consists of 11 sections:
1.) The version header. 2.) The number of individual equation systems (unsigned int) for each system 3.) The name of the system (string) 4.) The type of the system (string) handled through System::read(): +-------------------------------------------------------------+ | 5.) The number of variables in the system (unsigned int) | | | | for each variable in the system | | | | 6.) The name of the variable (string) | | | | 7.) Combined in an FEType: | | - The approximation order(s) of the variable (Order | | Enum, cast to int/s) | | - The finite element family/ies of the variable | | (FEFamily Enum, cast to int/s) | | | | end variable loop | | | | 8.) The number of additional vectors (unsigned int), | | | | for each additional vector in the equation system object | | | | 9.) the name of the additional vector (string) | +-------------------------------------------------------------+ end system loop for each system, handled through System::write_{serialized,parallel}_data(): +--------------------------------------------------------------+ | 10.) The global solution vector, re-ordered to be node-major | | (More on this later.) | | | | for each additional vector in the equation system object | | | | 11.) The global additional vector, re-ordered to be | | node-major (More on this later.) | +--------------------------------------------------------------+ end system loop
Note that the actual IO is handled through the Xdr class (to be renamed later?) which provides a uniform interface to both the XDR (eXternal Data Representation) interface and standard ASCII output. Thus this one section of code will write XDR or ASCII files with no changes.
Definition at line 378 of file equation_systems_io.C.
References libMesh::EquationSystems::_mesh, libMesh::EquationSystems::_systems, libMesh::Xdr::data(), libMesh::get_io_compatibility_version(), libMesh::EquationSystems::get_mesh(), libMesh::MeshTools::Private::globally_renumber_nodes_and_elements(), libMesh::libmesh_assert(), mesh, libMesh::ParallelObject::processor_id(), libMesh::Xdr::set_version(), libMesh::EquationSystems::WRITE_ADDITIONAL_DATA, libMesh::EquationSystems::WRITE_DATA, libMesh::EquationSystems::WRITE_PARALLEL_FILES, and libMesh::Xdr::writing().
Referenced by main(), libMesh::ErrorVector::plot_error(), SlitMeshRefinedSystemTest::testRestart(), libMesh::EquationSystems::write(), libMesh::NameBasedIO::write_equation_systems(), and write_output().
|
friend |
Definition at line 110 of file biharmonic.h.
|
private |
Definition at line 95 of file biharmonic.h.
Referenced by Biharmonic(), and viewParameters().
|
private |
Definition at line 103 of file biharmonic.h.
Referenced by Biharmonic(), and viewParameters().
|
protectedinherited |
Definition at line 112 of file parallel_object.h.
Referenced by libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::ParallelObject::comm(), libMesh::ParallelObject::n_processors(), libMesh::ParallelObject::operator=(), and libMesh::ParallelObject::processor_id().
|
staticprotectedinherited |
Actually holds the data.
Definition at line 122 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info(), libMesh::ReferenceCounter::increment_constructor_count(), and libMesh::ReferenceCounter::increment_destructor_count().
|
private |
Definition at line 95 of file biharmonic.h.
Referenced by Biharmonic(), and viewParameters().
|
private |
Definition at line 92 of file biharmonic.h.
Referenced by Biharmonic(), Biharmonic::JR::JR(), and viewParameters().
|
private |
|
private |
Definition at line 102 of file biharmonic.h.
Referenced by Biharmonic(), dt0(), step(), and viewParameters().
|
protectedinherited |
Flag for whether to enable default ghosting on newly added Systems.
Default value: true
Definition at line 593 of file equation_systems.h.
Referenced by libMesh::EquationSystems::add_system(), and libMesh::EquationSystems::enable_default_ghosting().
|
staticprotectedinherited |
Flag to control whether reference count information is printed when print_info is called.
Definition at line 141 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), and libMesh::ReferenceCounter::print_info().
|
private |
Definition at line 96 of file biharmonic.h.
Referenced by Biharmonic(), and viewParameters().
|
private |
Definition at line 106 of file biharmonic.h.
Referenced by Biharmonic(), and output().
|
private |
Definition at line 95 of file biharmonic.h.
Referenced by Biharmonic(), and viewParameters().
|
private |
Definition at line 100 of file biharmonic.h.
Referenced by Biharmonic(), and viewParameters().
|
private |
Definition at line 99 of file biharmonic.h.
Referenced by Biharmonic(), and viewParameters().
|
private |
Definition at line 101 of file biharmonic.h.
Referenced by Biharmonic(), and viewParameters().
|
private |
Definition at line 113 of file biharmonic.h.
Referenced by Biharmonic(), and step().
|
private |
Definition at line 93 of file biharmonic.h.
Referenced by Biharmonic(), and viewParameters().
|
private |
Definition at line 97 of file biharmonic.h.
Referenced by Biharmonic(), and viewParameters().
|
private |
Definition at line 111 of file biharmonic.h.
Referenced by Biharmonic().
|
staticprotectedinherited |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 135 of file reference_counter.h.
|
private |
Definition at line 92 of file biharmonic.h.
Referenced by Biharmonic(), and viewParameters().
|
staticprotectedinherited |
The number of objects.
Print the reference count information when the number returns to 0.
Definition at line 130 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().
|
private |
Definition at line 95 of file biharmonic.h.
Referenced by Biharmonic(), and viewParameters().
|
private |
Definition at line 108 of file biharmonic.h.
|
private |
Definition at line 107 of file biharmonic.h.
Referenced by Biharmonic(), output(), and viewParameters().
|
private |
Definition at line 105 of file biharmonic.h.
Referenced by Biharmonic(), and output().
|
private |
Definition at line 105 of file biharmonic.h.
Referenced by Biharmonic(), and viewParameters().
|
protectedinherited |
Flag for whether to call coarsen/refine in reinit().
Default value: true
Definition at line 587 of file equation_systems.h.
Referenced by libMesh::EquationSystems::disable_refine_in_reinit(), libMesh::EquationSystems::enable_refine_in_reinit(), libMesh::EquationSystems::refine_in_reinit_flag(), and libMesh::EquationSystems::reinit_solutions().
|
protectedinherited |
Data structure holding the systems.
Definition at line 571 of file equation_systems.h.
Referenced by libMesh::EquationSystems::add_system(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::EquationSystems::build_variable_names(), libMesh::EquationSystems::clear(), libMesh::EquationSystems::compare(), libMesh::EquationSystems::delete_system(), libMesh::EquationSystems::get_info(), libMesh::EquationSystems::get_system(), libMesh::EquationSystems::get_vars_active_subdomains(), libMesh::EquationSystems::has_system(), libMesh::EquationSystems::n_active_dofs(), libMesh::EquationSystems::n_dofs(), libMesh::EquationSystems::n_systems(), libMesh::EquationSystems::n_vars(), and libMesh::EquationSystems::write().
|
private |
Definition at line 102 of file biharmonic.h.
Referenced by Biharmonic(), and viewParameters().
|
private |
Definition at line 102 of file biharmonic.h.
Referenced by Biharmonic(), run(), and viewParameters().
|
private |
Definition at line 102 of file biharmonic.h.
Referenced by Biharmonic(), run(), and viewParameters().
|
private |
Definition at line 93 of file biharmonic.h.
Referenced by Biharmonic(), and viewParameters().
|
private |
Definition at line 93 of file biharmonic.h.
Referenced by Biharmonic(), and viewParameters().
|
private |
Definition at line 94 of file biharmonic.h.
Referenced by Biharmonic(), and viewParameters().
|
private |
Definition at line 98 of file biharmonic.h.
Referenced by Biharmonic(), init(), output(), run(), verbose(), and viewParameters().
|
inherited |
Data structure holding arbitrary parameters.
Definition at line 557 of file equation_systems.h.
Referenced by add_M_C_K_helmholtz(), assemble_biharmonic(), assemble_cd(), assemble_ellipticdg(), assemble_helmholtz(), assemble_poisson(), assemble_SchroedingerEquation(), assemble_shell(), assemble_stokes(), assemble_wave(), libMesh::ExactSolution::attach_exact_deriv(), libMesh::ExactSolution::attach_exact_hessian(), libMesh::ExactSolution::attach_exact_value(), libMesh::NewmarkSystem::clear(), libMesh::EquationSystems::clear(), libMesh::FrequencySystem::clear_all(), compute_jacobian(), compute_residual(), LinearElasticityWithContact::compute_stresses(), LargeDeformationElasticity::compute_stresses(), libMesh::EquationSystems::EquationSystems(), fill_dirichlet_bc(), libMesh::ExactErrorEstimator::find_squared_element_error(), libMesh::ImplicitSystem::get_linear_solve_parameters(), libMesh::FEComputeData::init(), init_cd(), HeatSystem::init_data(), libMesh::FrequencySystem::init_data(), init_sys(), Biharmonic::JR::InitialDensityBall(), Biharmonic::JR::InitialDensityRod(), Biharmonic::JR::InitialDensityStrip(), Biharmonic::JR::initialize(), initialize(), LargeDeformationElasticity::jacobian(), line_print(), main(), libMesh::FrequencySystem::n_frequencies(), libMesh::NewmarkSystem::NewmarkSystem(), libMesh::NonlinearImplicitSystem::NonlinearImplicitSystem(), LargeDeformationElasticity::residual(), LinearElasticityWithContact::residual_and_jacobian(), run_timestepping(), libMesh::FrequencySystem::set_current_frequency(), libMesh::FrequencySystem::set_frequencies(), libMesh::FrequencySystem::set_frequencies_by_range(), libMesh::FrequencySystem::set_frequencies_by_steps(), libMesh::NewmarkSystem::set_newmark_parameters(), libMesh::NonlinearImplicitSystem::set_solver_parameters(), setup(), FETest< order, family, elem_type >::setUp(), SolidSystem::side_time_derivative(), libMesh::CondensedEigenSystem::solve(), libMesh::EigenSystem::solve(), libMesh::FrequencySystem::solve(), libMesh::LinearImplicitSystem::solve(), libMesh::RBConstruction::solve_for_matrix_and_rhs(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), MeshInputTest::testExodusCopyElementSolution(), SystemsTest::testProjectCube(), SystemsTest::testProjectCubeWithMeshFunction(), SystemsTest::testProjectLine(), SystemsTest::testProjectSquare(), EquationSystemsTest::testRepartitionThenReinit(), and libMesh::WrappedFunction< Output >::WrappedFunction().