libMesh
|
This class provides a specific system class. More...
#include <fem_physics.h>
Public Member Functions | |
FEMPhysics () | |
Constructor. More... | |
virtual | ~FEMPhysics ()=default |
Destructor. More... | |
virtual bool | eulerian_residual (bool request_jacobian, DiffContext &context) override |
Adds a pseudo-convection contribution on elem to elem_residual, if the nodes of elem are being translated by a moving mesh. More... | |
virtual bool | mass_residual (bool request_jacobian, DiffContext &) override |
Subtracts a mass vector contribution on elem from elem_residual. More... | |
virtual std::unique_ptr< DifferentiablePhysics > | clone_physics ()=0 |
Copy of this object. More... | |
virtual void | clear_physics () |
Clear any data structures associated with the physics. More... | |
virtual void | init_physics (const System &sys) |
Initialize any data structures associated with the physics. More... | |
virtual bool | element_time_derivative (bool request_jacobian, DiffContext &) |
Adds the time derivative contribution on elem to elem_residual. More... | |
virtual bool | element_constraint (bool request_jacobian, DiffContext &) |
Adds the constraint contribution on elem to elem_residual. More... | |
virtual bool | side_time_derivative (bool request_jacobian, DiffContext &) |
Adds the time derivative contribution on side of elem to elem_residual. More... | |
virtual bool | side_constraint (bool request_jacobian, DiffContext &) |
Adds the constraint contribution on side of elem to elem_residual. More... | |
virtual bool | nonlocal_time_derivative (bool request_jacobian, DiffContext &) |
Adds any nonlocal time derivative contributions (e.g. More... | |
virtual bool | nonlocal_constraint (bool request_jacobian, DiffContext &) |
Adds any nonlocal constraint contributions (e.g. More... | |
virtual void | time_evolving (unsigned int var, unsigned int order) |
Tells the DiffSystem that variable var is evolving with respect to time. More... | |
bool | is_time_evolving (unsigned int var) const |
virtual bool | side_mass_residual (bool request_jacobian, DiffContext &) |
Subtracts a mass vector contribution on side of elem from elem_residual. More... | |
virtual bool | nonlocal_mass_residual (bool request_jacobian, DiffContext &c) |
Subtracts any nonlocal mass vector contributions (e.g. More... | |
virtual bool | damping_residual (bool request_jacobian, DiffContext &) |
Subtracts a damping vector contribution on elem from elem_residual. More... | |
virtual bool | side_damping_residual (bool request_jacobian, DiffContext &) |
Subtracts a damping vector contribution on side of elem from elem_residual. More... | |
virtual bool | nonlocal_damping_residual (bool request_jacobian, DiffContext &) |
Subtracts any nonlocal damping vector contributions (e.g. More... | |
virtual void | init_context (DiffContext &) |
virtual void | set_mesh_system (System *sys) |
Tells the DifferentiablePhysics that system sys contains the isoparametric Lagrangian variables which correspond to the coordinates of mesh nodes, in problems where the mesh itself is expected to move in time. More... | |
const System * | get_mesh_system () const |
System * | get_mesh_system () |
virtual void | set_mesh_x_var (unsigned int var) |
Tells the DifferentiablePhysics that variable var from the mesh system should be used to update the x coordinate of mesh nodes, in problems where the mesh itself is expected to move in time. More... | |
unsigned int | get_mesh_x_var () const |
virtual void | set_mesh_y_var (unsigned int var) |
Tells the DifferentiablePhysics that variable var from the mesh system should be used to update the y coordinate of mesh nodes. More... | |
unsigned int | get_mesh_y_var () const |
virtual void | set_mesh_z_var (unsigned int var) |
Tells the DifferentiablePhysics that variable var from the mesh system should be used to update the z coordinate of mesh nodes. More... | |
unsigned int | get_mesh_z_var () const |
bool | _eulerian_time_deriv (bool request_jacobian, DiffContext &) |
This method simply combines element_time_derivative() and eulerian_residual(), which makes its address useful as a pointer-to-member-function when refactoring. More... | |
bool | have_first_order_vars () const |
const std::set< unsigned int > & | get_first_order_vars () const |
bool | is_first_order_var (unsigned int var) const |
bool | have_second_order_vars () const |
const std::set< unsigned int > & | get_second_order_vars () const |
bool | is_second_order_var (unsigned int var) const |
Public Attributes | |
bool | compute_internal_sides |
compute_internal_sides is false by default, indicating that side_* computations will only be done on boundary sides. More... | |
Protected Attributes | |
System * | _mesh_sys |
System from which to acquire moving mesh information. More... | |
unsigned int | _mesh_x_var |
Variables from which to acquire moving mesh information. More... | |
unsigned int | _mesh_y_var |
unsigned int | _mesh_z_var |
std::vector< unsigned int > | _time_evolving |
Stores unsigned int to tell us which variables are evolving as first order in time (1), second order in time (2), or are not time evolving (0). More... | |
std::set< unsigned int > | _first_order_vars |
Variable indices for those variables that are first order in time. More... | |
std::set< unsigned int > | _second_order_vars |
Variable indices for those variables that are second order in time. More... | |
std::map< unsigned int, unsigned int > | _second_order_dot_vars |
If the user adds any second order variables, then we need to also cache the map to their corresponding dot variable that will be added by this TimeSolver class. More... | |
This class provides a specific system class.
It aims to generalize any system, linear or nonlinear, which provides both a residual and a Jacobian.
This class is part of the new DifferentiableSystem framework, which is still experimental. Users of this framework should beware of bugs and future API changes.
Definition at line 44 of file fem_physics.h.
|
inline |
Constructor.
Definition at line 51 of file fem_physics.h.
|
virtualdefault |
Destructor.
|
inherited |
This method simply combines element_time_derivative() and eulerian_residual(), which makes its address useful as a pointer-to-member-function when refactoring.
Definition at line 96 of file diff_physics.C.
References libMesh::DifferentiablePhysics::element_time_derivative(), and libMesh::DifferentiablePhysics::eulerian_residual().
Referenced by libMesh::EulerSolver::element_residual(), libMesh::Euler2Solver::element_residual(), and libMesh::NewmarkSolver::element_residual().
|
virtualinherited |
Clear any data structures associated with the physics.
Definition at line 28 of file diff_physics.C.
References libMesh::DifferentiablePhysics::_time_evolving.
Referenced by libMesh::DifferentiableSystem::clear().
|
pure virtualinherited |
Copy of this object.
User should override to copy any needed state.
Implemented in libMesh::DifferentiableSystem, and SigmaPhysics.
Referenced by libMesh::DifferentiableSystem::attach_physics(), and libMesh::DifferentiableSystem::push_physics().
|
inlinevirtualinherited |
Subtracts a damping vector contribution on elem
from elem_residual.
This method is not used in first-order-in-time problems. For second-order-in-time problems, this is the \( C(u,\ddot{u})\ddot{u} \) term. This method is only called for UnsteadySolver-based TimeSolvers.
If this method receives request_jacobian = true, then it should compute elem_jacobian and return true if possible. If elem_jacobian has not been computed then the method should return false.
If the problem has no damping, the default "do-nothing" is correct. Otherwise, this must be reimplemented.
Reimplemented in SecondOrderScalarSystemFirstOrderTimeSolverBase, and SecondOrderScalarSystemSecondOrderTimeSolverBase.
Definition at line 360 of file diff_physics.h.
Referenced by libMesh::EulerSolver::element_residual(), libMesh::Euler2Solver::element_residual(), and libMesh::NewmarkSolver::element_residual().
|
inlinevirtualinherited |
Adds the constraint contribution on elem
to elem_residual.
If this method receives request_jacobian = true, then it should compute elem_jacobian and return true if possible. If elem_jacobian has not been computed then the method should return false.
Users may need to reimplement this for their particular PDE.
To implement the constraint 0 = G(u), the user should examine u = elem_solution and add (G(u), phi_i) to elem_residual in elem_constraint().
Reimplemented in CoupledSystem, and NavierSystem.
Definition at line 144 of file diff_physics.h.
Referenced by libMesh::EulerSolver::element_residual(), libMesh::SteadySolver::element_residual(), libMesh::Euler2Solver::element_residual(), libMesh::NewmarkSolver::element_residual(), and libMesh::EigenTimeSolver::element_residual().
|
inlinevirtualinherited |
Adds the time derivative contribution on elem
to elem_residual.
If this method receives request_jacobian = true, then it should compute elem_jacobian and return true if possible. If elem_jacobian has not been computed then the method should return false.
Users need to reimplement this for their particular PDE.
To implement the physics model du/dt = F(u), the user should examine u = elem_solution and add (F(u), phi_i) to elem_residual in elem_time_derivative().
Reimplemented in SecondOrderScalarSystemFirstOrderTimeSolverBase, FirstOrderScalarSystemBase, HeatSystem, CoupledSystem, L2System, ElasticitySystem, ElasticitySystem, HeatSystem, LaplaceSystem, CurlCurlSystem, LaplaceSystem, PoissonSystem, LaplaceSystem, LaplaceSystem, CurlCurlSystem, SolidSystem, NavierSystem, SigmaPhysics, and HeatSystem.
Definition at line 125 of file diff_physics.h.
Referenced by libMesh::DifferentiablePhysics::_eulerian_time_deriv(), libMesh::SteadySolver::element_residual(), and libMesh::EigenTimeSolver::element_residual().
|
overridevirtual |
Adds a pseudo-convection contribution on elem
to elem_residual, if the nodes of elem
are being translated by a moving mesh.
This function assumes that the user's time derivative equations (except for any equations involving unknown mesh xyz coordinates themselves) are expressed in an Eulerian frame of reference, and that the user is satisfied with an unstabilized convection term. Lagrangian equations will probably require overriding eulerian_residual() with a blank function; ALE or stabilized formulations will require reimplementing eulerian_residual() entirely.
Reimplemented from libMesh::DifferentiablePhysics.
Reimplemented in SolidSystem.
Definition at line 38 of file fem_physics.C.
References libMesh::DifferentiablePhysics::_mesh_sys, libMesh::DifferentiablePhysics::_mesh_x_var, libMesh::DifferentiablePhysics::_mesh_y_var, libMesh::DifferentiablePhysics::_mesh_z_var, libMesh::FEMContext::get_element_qrule(), libMesh::FEMContext::interior_gradient(), libMesh::invalid_uint, libMesh::DifferentiablePhysics::is_time_evolving(), libMesh::libmesh_assert(), libMesh::libmesh_real(), libMesh::make_range(), libMesh::DiffContext::n_vars(), and libMesh::UnsteadySolver::old_nonlinear_solution().
|
inlineinherited |
Definition at line 506 of file diff_physics.h.
References libMesh::DifferentiablePhysics::_first_order_vars.
Referenced by libMesh::DifferentiableSystem::have_first_order_scalar_vars().
|
inlineinherited |
Definition at line 613 of file diff_physics.h.
References libMesh::DifferentiablePhysics::_mesh_sys.
Referenced by libMesh::FEMSystem::build_context().
|
inlineinherited |
Definition at line 619 of file diff_physics.h.
References libMesh::DifferentiablePhysics::_mesh_sys.
|
inlineinherited |
Definition at line 625 of file diff_physics.h.
References libMesh::DifferentiablePhysics::_mesh_x_var.
Referenced by libMesh::FEMSystem::build_context().
|
inlineinherited |
Definition at line 631 of file diff_physics.h.
References libMesh::DifferentiablePhysics::_mesh_y_var.
Referenced by libMesh::FEMSystem::build_context().
|
inlineinherited |
Definition at line 637 of file diff_physics.h.
References libMesh::DifferentiablePhysics::_mesh_z_var.
Referenced by libMesh::FEMSystem::build_context().
|
inlineinherited |
Definition at line 519 of file diff_physics.h.
References libMesh::DifferentiablePhysics::_second_order_vars.
Referenced by libMesh::DifferentiableSystem::add_second_order_dot_vars(), libMesh::DiffContext::DiffContext(), libMesh::Euler2Solver::element_residual(), libMesh::DifferentiableSystem::have_second_order_scalar_vars(), and libMesh::FEMContext::pre_fe_reinit().
|
inlineinherited |
Definition at line 500 of file diff_physics.h.
References libMesh::DifferentiablePhysics::_first_order_vars.
Referenced by libMesh::DifferentiableSystem::have_first_order_scalar_vars().
|
inlineinherited |
Definition at line 513 of file diff_physics.h.
References libMesh::DifferentiablePhysics::_second_order_vars.
Referenced by libMesh::EulerSolver::element_residual(), and libMesh::DifferentiableSystem::have_second_order_scalar_vars().
|
inlinevirtualinherited |
Reimplemented in libMesh::FEMSystem, HeatSystem, CoupledSystem, L2System, ElasticitySystem, ElasticitySystem, HeatSystem, LaplaceSystem, CurlCurlSystem, LaplaceSystem, PoissonSystem, LaplaceSystem, LaplaceSystem, CurlCurlSystem, SolidSystem, NavierSystem, SigmaPhysics, and HeatSystem.
Definition at line 406 of file diff_physics.h.
|
virtualinherited |
Initialize any data structures associated with the physics.
Definition at line 35 of file diff_physics.C.
References libMesh::DifferentiablePhysics::_time_evolving, and libMesh::System::n_vars().
Referenced by libMesh::DifferentiableSystem::init_data().
|
inlineinherited |
Definition at line 509 of file diff_physics.h.
References libMesh::DifferentiablePhysics::_first_order_vars.
|
inlineinherited |
Definition at line 522 of file diff_physics.h.
References libMesh::DifferentiablePhysics::_second_order_vars.
Referenced by libMesh::FirstOrderUnsteadySolver::compute_second_order_eqns().
|
inlineinherited |
true
iff variable var
is evolving with respect to time. In general, the user's init() function should have set time_evolving() for any variables which behave like du/dt = F(u), and should not call time_evolving() for any variables which behave like 0 = G(u). Definition at line 260 of file diff_physics.h.
References libMesh::DifferentiablePhysics::_time_evolving, and libMesh::libmesh_assert().
Referenced by eulerian_residual(), libMesh::FEMSystem::init_context(), mass_residual(), and libMesh::DifferentiablePhysics::nonlocal_mass_residual().
|
overridevirtual |
Subtracts a mass vector contribution on elem
from elem_residual.
If this method receives request_jacobian = true, then it should compute elem_jacobian and return true if possible. If elem_jacobian has not been computed then the method should return false.
Many problems can use the reimplementation in FEMPhysics::mass_residual which subtracts (du/dt,v) for each transient variable u; users with more complicated transient problems will need to reimplement this themselves.
Reimplemented from libMesh::DifferentiablePhysics.
Reimplemented in SecondOrderScalarSystemFirstOrderTimeSolverBase, SecondOrderScalarSystemSecondOrderTimeSolverBase, FirstOrderScalarSystemBase, ElasticitySystem, ElasticitySystem, and NavierSystem.
Definition at line 200 of file fem_physics.C.
References libMesh::DiffContext::elem_solution_rate_derivative, libMesh::DiffContext::get_dof_indices(), libMesh::DiffContext::get_elem_jacobian(), libMesh::DiffContext::get_elem_residual(), libMesh::FEMContext::get_element_fe(), libMesh::FEMContext::get_element_qrule(), libMesh::FEAbstract::get_JxW(), libMesh::FEGenericBase< OutputType >::get_phi(), libMesh::FEMContext::interior_rate(), libMesh::DifferentiablePhysics::is_time_evolving(), libMesh::make_range(), libMesh::QBase::n_points(), and libMesh::DiffContext::n_vars().
|
inlinevirtualinherited |
Adds any nonlocal constraint contributions (e.g.
some components of constraints in scalar variable equations) to elem_residual
If this method receives request_jacobian = true, then it should also modify elem_jacobian and return true if possible. If the Jacobian changes have not been computed then the method should return false.
Users may need to reimplement this for PDEs on systems to which SCALAR variables with non-transient equations have been added.
Definition at line 233 of file diff_physics.h.
Referenced by libMesh::EulerSolver::nonlocal_residual(), libMesh::SteadySolver::nonlocal_residual(), libMesh::Euler2Solver::nonlocal_residual(), libMesh::EigenTimeSolver::nonlocal_residual(), and libMesh::NewmarkSolver::nonlocal_residual().
|
inlinevirtualinherited |
Subtracts any nonlocal damping vector contributions (e.g.
any first time derivative coefficients in scalar variable equations) from elem_residual
If this method receives request_jacobian = true, then it should also modify elem_jacobian and return true if possible. If the Jacobian changes have not been computed then the method should return false.
Definition at line 394 of file diff_physics.h.
Referenced by libMesh::EulerSolver::nonlocal_residual(), libMesh::Euler2Solver::nonlocal_residual(), and libMesh::NewmarkSolver::nonlocal_residual().
|
virtualinherited |
Subtracts any nonlocal mass vector contributions (e.g.
any time derivative coefficients in scalar variable equations) from elem_residual
If this method receives request_jacobian = true, then it should also modify elem_jacobian and return true if possible. If the Jacobian changes have not been computed then the method should return false.
Many problems can use the reimplementation in FEMPhysics::mass_residual which subtracts (du/dt,v) for each transient scalar variable u; users with more complicated transient scalar variable equations will need to reimplement this themselves.
Definition at line 57 of file diff_physics.C.
References libMesh::DiffContext::elem_solution_rate_derivative, libMesh::FEType::family, libMesh::DiffContext::get_dof_indices(), libMesh::DiffContext::get_elem_jacobian(), libMesh::DiffContext::get_elem_residual(), libMesh::DiffContext::get_elem_solution(), libMesh::DiffContext::get_system(), libMesh::DifferentiablePhysics::is_time_evolving(), libMesh::make_range(), libMesh::DiffContext::n_vars(), libMesh::SCALAR, libMesh::Variable::type(), and libMesh::System::variable().
Referenced by libMesh::EulerSolver::nonlocal_residual(), libMesh::Euler2Solver::nonlocal_residual(), libMesh::EigenTimeSolver::nonlocal_residual(), and libMesh::NewmarkSolver::nonlocal_residual().
|
inlinevirtualinherited |
Adds any nonlocal time derivative contributions (e.g.
some components of time derivatives in scalar variable equations) to elem_residual
If this method receives request_jacobian = true, then it should also modify elem_jacobian and return true if possible. If the Jacobian changes have not been computed then the method should return false.
Users may need to reimplement this for PDEs on systems to which SCALAR variables have been added.
Definition at line 214 of file diff_physics.h.
Referenced by libMesh::EulerSolver::nonlocal_residual(), libMesh::SteadySolver::nonlocal_residual(), libMesh::Euler2Solver::nonlocal_residual(), libMesh::EigenTimeSolver::nonlocal_residual(), and libMesh::NewmarkSolver::nonlocal_residual().
|
inlinevirtualinherited |
Tells the DifferentiablePhysics that system sys
contains the isoparametric Lagrangian variables which correspond to the coordinates of mesh nodes, in problems where the mesh itself is expected to move in time.
The system with mesh coordinate data (which may be this
system itself, for fully coupled moving mesh problems) is currently assumed to have new (end of time step) mesh coordinates stored in solution, old (beginning of time step) mesh coordinates stored in _old_nonlinear_solution, and constant velocity motion during each time step.
Activating this function ensures that local (but not neighbor!) element geometry is correctly repositioned when evaluating element residuals.
Currently sys
must be *this
for a tightly coupled moving mesh problem or nullptr to stop mesh movement; loosely coupled moving mesh problems are not implemented.
This code is experimental. "Trust but verify, and not in that order"
Definition at line 569 of file diff_physics.h.
References libMesh::DifferentiablePhysics::_mesh_sys.
Referenced by SolidSystem::init_data().
|
inlinevirtualinherited |
Tells the DifferentiablePhysics that variable var
from the mesh system should be used to update the x coordinate of mesh nodes, in problems where the mesh itself is expected to move in time.
The system with mesh coordinate data (which may be this system itself, for fully coupled moving mesh problems) is currently assumed to have new (end of time step) mesh coordinates stored in solution, old (beginning of time step) mesh coordinates stored in _old_nonlinear_solution, and constant velocity motion during each time step.
Activating this function ensures that local (but not neighbor!) element geometry is correctly repositioned when evaluating element residuals.
Definition at line 589 of file diff_physics.h.
References libMesh::DifferentiablePhysics::_mesh_x_var.
Referenced by SolidSystem::init_data().
|
inlinevirtualinherited |
Tells the DifferentiablePhysics that variable var
from the mesh system should be used to update the y coordinate of mesh nodes.
Definition at line 597 of file diff_physics.h.
References libMesh::DifferentiablePhysics::_mesh_y_var.
Referenced by SolidSystem::init_data().
|
inlinevirtualinherited |
Tells the DifferentiablePhysics that variable var
from the mesh system should be used to update the z coordinate of mesh nodes.
Definition at line 605 of file diff_physics.h.
References libMesh::DifferentiablePhysics::_mesh_z_var.
Referenced by SolidSystem::init_data().
|
inlinevirtualinherited |
Adds the constraint contribution on side
of elem
to elem_residual.
If this method receives request_jacobian = true, then it should compute elem_jacobian and return true if possible. If elem_jacobian has not been computed then the method should return false.
Users may need to reimplement this for their particular PDE depending on the boundary conditions.
To implement a weak form of the constraint 0 = G(u), the user should examine u = elem_solution and add (G(u), phi_i) boundary integral contributions to elem_residual in side_constraint().
Reimplemented in LaplaceSystem, LaplaceSystem, LaplaceSystem, and NavierSystem.
Definition at line 195 of file diff_physics.h.
Referenced by libMesh::EulerSolver::side_residual(), libMesh::SteadySolver::side_residual(), libMesh::Euler2Solver::side_residual(), libMesh::EigenTimeSolver::side_residual(), and libMesh::NewmarkSolver::side_residual().
|
inlinevirtualinherited |
Subtracts a damping vector contribution on side
of elem
from elem_residual.
If this method receives request_jacobian = true, then it should compute elem_jacobian and return true if possible. If elem_jacobian has not been computed then the method should return false.
For most problems, the default implementation of "do nothing" is correct; users with boundary conditions including first time derivatives may need to reimplement this themselves.
Definition at line 378 of file diff_physics.h.
Referenced by libMesh::EulerSolver::side_residual(), libMesh::Euler2Solver::side_residual(), and libMesh::NewmarkSolver::side_residual().
|
inlinevirtualinherited |
Subtracts a mass vector contribution on side
of elem
from elem_residual.
If this method receives request_jacobian = true, then it should compute elem_jacobian and return true if possible. If elem_jacobian has not been computed then the method should return false.
For most problems, the default implementation of "do nothing" is correct; users with boundary conditions including time derivatives may need to reimplement this themselves.
Definition at line 320 of file diff_physics.h.
Referenced by libMesh::EulerSolver::side_residual(), libMesh::Euler2Solver::side_residual(), libMesh::EigenTimeSolver::side_residual(), and libMesh::NewmarkSolver::side_residual().
|
inlinevirtualinherited |
Adds the time derivative contribution on side
of elem
to elem_residual.
If this method receives request_jacobian = true, then it should compute elem_jacobian and return true if possible. If elem_jacobian has not been computed then the method should return false.
Users may need to reimplement this for their particular PDE depending on the boundary conditions.
To implement a weak form of the source term du/dt = F(u) on sides, such as might arise in a flux boundary condition, the user should examine u = elem_solution and add (F(u), phi_i) boundary integral contributions to elem_residual in side_constraint().
Reimplemented in ElasticitySystem, ElasticitySystem, CurlCurlSystem, CurlCurlSystem, and SolidSystem.
Definition at line 174 of file diff_physics.h.
Referenced by libMesh::EulerSolver::side_residual(), libMesh::SteadySolver::side_residual(), libMesh::Euler2Solver::side_residual(), libMesh::EigenTimeSolver::side_residual(), and libMesh::NewmarkSolver::side_residual().
|
virtualinherited |
Tells the DiffSystem that variable var is evolving with respect to time.
In general, the user's init() function should call time_evolving() with order 1 for any variables which behave like du/dt = F(u), with order 2 for any variables that behave like d^2u/dt^2 = F(u), and should not call time_evolving() for any variables which behave like 0 = G(u).
Most derived systems will not have to reimplement this function; however any system which reimplements mass_residual() may have to reimplement time_evolving() to prepare data structures.
Definition at line 41 of file diff_physics.C.
References libMesh::DifferentiablePhysics::_first_order_vars, libMesh::DifferentiablePhysics::_second_order_vars, and libMesh::DifferentiablePhysics::_time_evolving.
Referenced by libMesh::DifferentiableSystem::add_second_order_dot_vars(), SigmaPhysics::init_data(), CurlCurlSystem::init_data(), and HeatSystem::init_data().
|
protectedinherited |
Variable indices for those variables that are first order in time.
Definition at line 548 of file diff_physics.h.
Referenced by libMesh::DifferentiablePhysics::get_first_order_vars(), libMesh::DifferentiablePhysics::have_first_order_vars(), libMesh::DifferentiablePhysics::is_first_order_var(), and libMesh::DifferentiablePhysics::time_evolving().
|
protectedinherited |
System from which to acquire moving mesh information.
Definition at line 531 of file diff_physics.h.
Referenced by eulerian_residual(), libMesh::DifferentiablePhysics::get_mesh_system(), libMesh::FEMSystem::mesh_position_get(), libMesh::FEMSystem::mesh_position_set(), libMesh::FEMSystem::numerical_jacobian(), and libMesh::DifferentiablePhysics::set_mesh_system().
|
protectedinherited |
Variables from which to acquire moving mesh information.
Definition at line 536 of file diff_physics.h.
Referenced by eulerian_residual(), libMesh::DifferentiablePhysics::get_mesh_x_var(), libMesh::FEMSystem::mesh_position_get(), libMesh::FEMSystem::numerical_jacobian(), and libMesh::DifferentiablePhysics::set_mesh_x_var().
|
protectedinherited |
Definition at line 536 of file diff_physics.h.
Referenced by eulerian_residual(), libMesh::DifferentiablePhysics::get_mesh_y_var(), libMesh::FEMSystem::mesh_position_get(), libMesh::FEMSystem::numerical_jacobian(), and libMesh::DifferentiablePhysics::set_mesh_y_var().
|
protectedinherited |
Definition at line 536 of file diff_physics.h.
Referenced by eulerian_residual(), libMesh::DifferentiablePhysics::get_mesh_z_var(), libMesh::FEMSystem::mesh_position_get(), libMesh::FEMSystem::numerical_jacobian(), and libMesh::DifferentiablePhysics::set_mesh_z_var().
|
protectedinherited |
If the user adds any second order variables, then we need to also cache the map to their corresponding dot variable that will be added by this TimeSolver class.
Definition at line 560 of file diff_physics.h.
Referenced by libMesh::DifferentiableSystem::add_second_order_dot_vars(), and libMesh::DifferentiableSystem::get_second_order_dot_var().
|
protectedinherited |
Variable indices for those variables that are second order in time.
Definition at line 553 of file diff_physics.h.
Referenced by libMesh::DifferentiablePhysics::get_second_order_vars(), libMesh::DifferentiablePhysics::have_second_order_vars(), libMesh::DifferentiablePhysics::is_second_order_var(), and libMesh::DifferentiablePhysics::time_evolving().
|
protectedinherited |
Stores unsigned int to tell us which variables are evolving as first order in time (1), second order in time (2), or are not time evolving (0).
Definition at line 543 of file diff_physics.h.
Referenced by libMesh::DifferentiablePhysics::clear_physics(), libMesh::DifferentiablePhysics::init_physics(), libMesh::DifferentiablePhysics::is_time_evolving(), and libMesh::DifferentiablePhysics::time_evolving().
|
inherited |
compute_internal_sides
is false by default, indicating that side_* computations will only be done on boundary sides.
If compute_internal_sides is true, computations will be done on sides between elements as well.
Definition at line 156 of file diff_physics.h.