예제 #1
0
unsigned int RBAssemblyExpansion::get_n_output_terms(unsigned int index) const
{
  if(index >= get_n_outputs())
    libmesh_error_msg("Error: We must have index < n_outputs in get_Q_l.");

  return cast_int<unsigned int>
    (_output_assembly_vector[index].size());
}
예제 #2
0
ElemAssembly& RBAssemblyExpansion::get_output_assembly(unsigned int output_index,
                                                       unsigned int q_l)
{
  if( (output_index >= get_n_outputs()) || (q_l >= get_n_output_terms(output_index)) )
    libmesh_error_msg("Error: We must have output_index < n_outputs and " \
                      << "q_l < get_n_output_terms(output_index) in get_output_assembly.");

  return *_output_assembly_vector[output_index][q_l];
}
예제 #3
0
unsigned int RBThetaExpansion::get_n_output_terms(unsigned int index) const
{
  if(index >= get_n_outputs())
  {
    libMesh::err << "Error: We must have index < n_outputs in get_Q_l."
                 << std::endl;
    libmesh_error();
  }
  return _output_theta_vector[index].size();
}
예제 #4
0
void RBAssemblyExpansion::perform_output_boundary_assembly(unsigned int output_index,
                                                           unsigned int q_l,
                                                           FEMContext& context)
{
  if( (output_index >= get_n_outputs()) || (q_l >= get_n_output_terms(output_index)) )
    libmesh_error_msg("Error: We must have output_index < n_outputs and " \
                      << "q_l < get_n_output_terms(output_index) in perform_output_boundary_assembly.");

  libmesh_assert(_output_assembly_vector[output_index][q_l]);

  return _output_assembly_vector[output_index][q_l]->boundary_assembly(context);
}
예제 #5
0
Number RBThetaExpansion::eval_output_theta(unsigned int output_index,
                                           unsigned int q_l,
                                           const RBParameters & mu)
{
  if ((output_index >= get_n_outputs()) || (q_l >= get_n_output_terms(output_index)))
    libmesh_error_msg("Error: We must have output_index < n_outputs and " \
                      << "q_l < get_n_output_terms(output_index) in eval_output_theta.");

  libmesh_assert(_output_theta_vector[output_index][q_l]);

  return _output_theta_vector[output_index][q_l]->evaluate( mu );
}