Revision 7a9629f010442923ca7d6ca179b4f511abe0a9bc authored by wenqing on 03 February 2023, 17:46:14 UTC, committed by wenqing on 03 February 2023, 17:46:14 UTC
Use inclined elements in ComponentTransport See merge request ogs/ogs!4228
AnalyticalJacobianAssembler.h
/**
* \file
* \copyright
* Copyright (c) 2012-2023, OpenGeoSys Community (http://www.opengeosys.org)
* Distributed under a Modified BSD License.
* See accompanying file LICENSE.txt or
* http://www.opengeosys.org/project/license
*
*/
#pragma once
#include "AbstractJacobianAssembler.h"
namespace BaseLib
{
class ConfigTree;
}
namespace ProcessLib
{
struct LocalCoupledSolutions;
//! Assembles the Jacobian matrix using a provided "analytical" method from the
//! local assembler.
class AnalyticalJacobianAssembler final : public AbstractJacobianAssembler
{
public:
//! Assembles the Jacobian, the matrices \f$M\f$ and \f$K\f$, and the vector
//! \f$b\f$.
//! In this implementation the call is only forwarded to the respective
//! method of the given \c local_assembler.
void assembleWithJacobian(LocalAssemblerInterface& local_assembler,
double const t, double const dt,
std::vector<double> const& local_x,
std::vector<double> const& local_xdot,
std::vector<double>& local_M_data,
std::vector<double>& local_K_data,
std::vector<double>& local_b_data,
std::vector<double>& local_Jac_data) override;
void assembleWithJacobianForStaggeredScheme(
LocalAssemblerInterface& local_assembler, double const t,
double const dt, Eigen::VectorXd const& local_x,
Eigen::VectorXd const& local_xdot, int const process_id,
std::vector<double>& local_M_data, std::vector<double>& local_K_data,
std::vector<double>& local_b_data,
std::vector<double>& local_Jac_data) override;
};
} // namespace ProcessLib
Computing file changes ...