Smith  0.1
Smith is an implicit thermal structural mechanics simulation code.
Public Member Functions | List of all members
smith::MultiphysicsTimeIntegrator Class Reference

Time integrator for multiphysics problems, coordinating multiple weak forms. More...

#include <multiphysics_time_integrator.hpp>

Collaboration diagram for smith::MultiphysicsTimeIntegrator:
Collaboration graph
[legend]

Public Member Functions

 MultiphysicsTimeIntegrator (std::shared_ptr< FieldStore > field_store, const std::vector< std::shared_ptr< WeakForm >> &weak_forms, std::shared_ptr< smith::CoupledSystemSolver > solver, std::shared_ptr< WeakForm > cycle_zero_weak_form=nullptr, std::shared_ptr< smith::CoupledSystemSolver > cycle_zero_solver=nullptr)
 Construct a new MultiphysicsTimeIntegrator object. More...
 
std::pair< std::vector< FieldState >, std::vector< ReactionState > > advanceState (const TimeInfo &time_info, const FieldState &shape_disp, const std::vector< FieldState > &states, const std::vector< FieldState > &params) const override
 Advance the multiphysics state by one time step. More...
 
- Public Member Functions inherited from smith::StateAdvancer
virtual ~StateAdvancer ()
 destructor
 

Detailed Description

Time integrator for multiphysics problems, coordinating multiple weak forms.

Definition at line 40 of file multiphysics_time_integrator.hpp.

Constructor & Destructor Documentation

◆ MultiphysicsTimeIntegrator()

smith::MultiphysicsTimeIntegrator::MultiphysicsTimeIntegrator ( std::shared_ptr< FieldStore field_store,
const std::vector< std::shared_ptr< WeakForm >> &  weak_forms,
std::shared_ptr< smith::CoupledSystemSolver solver,
std::shared_ptr< WeakForm cycle_zero_weak_form = nullptr,
std::shared_ptr< smith::CoupledSystemSolver cycle_zero_solver = nullptr 
)

Construct a new MultiphysicsTimeIntegrator object.

Parameters
field_storeField store containing the fields.
weak_formsList of weak forms to coordinate.
solverThe block solver to use.
cycle_zero_weak_formOptional weak form for initial acceleration solve at cycle 0.
cycle_zero_solverOptional solver paired with cycle_zero_weak_form for the cycle-0 solve. If null, the integrator falls back to the main solver supplied here.

Definition at line 19 of file multiphysics_time_integrator.cpp.

Member Function Documentation

◆ advanceState()

std::pair< std::vector< FieldState >, std::vector< ReactionState > > smith::MultiphysicsTimeIntegrator::advanceState ( const TimeInfo time_info,
const FieldState shape_disp,
const std::vector< FieldState > &  states,
const std::vector< FieldState > &  params 
) const
overridevirtual

Advance the multiphysics state by one time step.

Parameters
time_infoCurrent time information.
shape_dispShape displacement field.
statesCurrent state fields.
paramsParameter fields.
Returns
std::pair<std::vector<FieldState>, std::vector<ReactionState>> Updated states and reactions.

Implements smith::StateAdvancer.

Definition at line 32 of file multiphysics_time_integrator.cpp.


The documentation for this class was generated from the following files: