4#ifndef initial_conditions_h
5#define initial_conditions_h
7#include <deal.II/base/function.h>
8#include <deal.II/base/point.h>
9#include <deal.II/lac/vector.h>
11#include <prismspf/config.h>
12#include <prismspf/core/type_enums.h>
13#include <prismspf/user_inputs/user_input_parameters.h>
15PRISMS_PF_BEGIN_NAMESPACE
36 const fieldType &field_type,
43 vector_value(
const dealii::Point<dim> &p, dealii::Vector<double> &value)
const override;
46 const unsigned int index;
55 const fieldType &field_type,
57 : dealii::Function<dim>((field_type == fieldType::VECTOR) ? dim : 1)
59 , user_inputs(&_user_inputs)
65 dealii::Vector<double> &value)
const
68 dealii::Vector<double> vector_value(dim);
71 for (
unsigned int i = 0; i < dim; i++)
73 custom_initial_condition.set_initial_condition(index,
102 const unsigned int &component,
103 const dealii::Point<dim> &point,
104 double &scalar_value,
105 double &vector_component_value,
109PRISMS_PF_END_NAMESPACE
Forward declaration of user-facing implementation.
Definition initial_conditions.h:89
customInitialCondition()=default
Constructor.
void set_initial_condition(const unsigned int &index, const unsigned int &component, const dealii::Point< dim > &point, double &scalar_value, double &vector_component_value, const userInputParameters< dim > &user_inputs) const
Function that passes the value/vector and point that are set in the initial condition.
Function for user-implemented initial conditions. These are only ever calculated for explicit time de...
Definition initial_conditions.h:30
initialCondition(const unsigned int &_index, const fieldType &field_type, const userInputParameters< dim > &_user_inputs)
Constructor.
Definition initial_conditions.h:54
void vector_value(const dealii::Point< dim > &p, dealii::Vector< double > &value) const override
Scalar/Vector value.
Definition initial_conditions.h:64