OGS
LIE/SmallDeformation/CreateSmallDeformationProcess.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include <memory>
7#include <optional>
8#include <string>
9#include <vector>
10
11namespace BaseLib
12{
13class ConfigTree;
14}
15namespace MeshLib
16{
17class Mesh;
18}
19namespace ParameterLib
20{
21struct CoordinateSystem;
22struct ParameterBase;
23} // namespace ParameterLib
24namespace ProcessLib
25{
27class Process;
28class ProcessVariable;
29} // namespace ProcessLib
30
31namespace ProcessLib
32{
33namespace LIE
34{
35namespace SmallDeformation
36{
37template <int DisplacementDim>
38std::unique_ptr<Process> createSmallDeformationProcess(
39 std::string const& name,
40 MeshLib::Mesh& mesh,
41 std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
42 std::vector<ProcessVariable> const& variables,
43 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
44 std::optional<ParameterLib::CoordinateSystem> const&
45 local_coordinate_system,
46 unsigned const integration_order,
47 BaseLib::ConfigTree const& config);
48
49} // namespace SmallDeformation
50} // namespace LIE
51} // namespace ProcessLib
Base class for Jacobian assemblers.
std::unique_ptr< Process > createSmallDeformationProcess(std::string const &name, MeshLib::Mesh &mesh, std::unique_ptr< ProcessLib::AbstractJacobianAssembler > &&jacobian_assembler, std::vector< ProcessVariable > const &variables, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, unsigned const integration_order, BaseLib::ConfigTree const &config)
A local coordinate system used for tensor transformations.