33 #include "libmesh/parsed_fem_function.h"
58 std::string base_physics_name =
"ParsedVelocitySource";
60 source_function_string =
61 input(
"Physics/"+base_physics_name+
"/source_function",
64 if (source_function_string ==
"0")
65 std::cout <<
"Warning! Zero ParsedVelocitySource specified!" << std::endl;
71 this->velocity_source_function.reset
72 (
new libMesh::ParsedFEMFunction<libMesh::Number>
73 (*system, this->source_function_string));
78 (
const libMesh::Point& point,
79 const libMesh::Real time,
81 libMesh::NumberVectorValue& F,
82 libMesh::NumberTensorValue *dFdU)
84 libmesh_assert(velocity_source_function.get());
86 libMesh::DenseVector<libMesh::Number> output_vec(3);
88 (*velocity_source_function)(c, point, time,
96 for (
unsigned int i=0; i != 3; ++i)
97 for (
unsigned int j=0; j != 3; ++j)
100 if (F(0) || F(1) || F(2))
const PhysicsName incompressible_navier_stokes
Physics class for Incompressible Navier-Stokes.
virtual void read_input_options(const GetPot &input)
Read options from GetPot input file.
void set_time_evolving_vars(libMesh::FEMSystem *system)
Sets velocity variables to be time-evolving.
~ParsedVelocitySourceBase()
bool compute_force(const libMesh::Point &point, const libMesh::Real time, const AssemblyContext &c, libMesh::NumberVectorValue &F, libMesh::NumberTensorValue *dFdU=NULL)
INSTANTIATE_INC_NS_SUBCLASS(ParsedVelocitySourceBase)
ParsedVelocitySourceBase()