22 class DifferentiableSolver;
23 class DifferentiableBlockSolver;
24 class BoundaryConditionManager;
25 class DirichletBoundaryConditions;
43 const std::vector<FieldState>& params,
const TimeInfo& time_info,
const DifferentiableSolver& solver,
44 const DirichletBoundaryConditions& bcs,
size_t unknown_state_index = 0);
62 std::vector<FieldState>
block_solve(
const std::vector<WeakForm*>& residual_evals,
63 const std::vector<std::vector<size_t>> block_indices,
const FieldState& shape_disp,
64 const std::vector<std::vector<FieldState>>& states,
65 const std::vector<std::vector<FieldState>>& params,
const TimeInfo& time_info,
66 const DifferentiableBlockSolver* solver,
67 const std::vector<const BoundaryConditionManager*>& bc_managers);
Accelerator functionality.
gretl::State< FEFieldPtr, FEDualPtr > FieldState
typedef
SMITH_HOST_DEVICE auto max(dual< gradient_type > a, double b)
Implementation of max for dual numbers.
std::vector< FieldState > block_solve(const std::vector< WeakForm * > &residual_evals, const std::vector< std::vector< size_t >> block_indices, const FieldState &shape_disp, const std::vector< std::vector< FieldState >> &states, const std::vector< std::vector< FieldState >> ¶ms, const TimeInfo &time_info, const DifferentiableBlockSolver *solver, const std::vector< const BoundaryConditionManager * > &bc_managers)
Solve a block nonlinear system of equations as defined by the vector of weak form.
FieldState solve(const WeakForm &weak_form, const FieldState &shape_disp, const std::vector< FieldState > &states, const std::vector< FieldState > ¶ms, const TimeInfo &time_info, const DifferentiableSolver &solver, const DirichletBoundaryConditions &bcs, size_t unknown_state_index)
Solve a nonlinear system of equations as defined by the weak form, assuming that the field indexed by...