WaveBEM: Unsteady Nonlinear Potential Flow Solver for Ship-Wave Interaction.
SurfaceSmoothing Class Reference

#include <surface_smoothing.h>

Public Member Functions

 SurfaceSmoothing (Vector< double > &euler_vector, Vector< double > &curvature_vector, const DoFHandler< 2, 3 > &dh, const Mapping< 2, 3 > &mapping)
 Smooth all dofs in. More...
 
void update_reference ()
 Whenever the underlying dh. More...
 
void fix_boundary_values ()
 All boundaries are fixed to. More...
 
void assemble_system ()
 Assemble the Laplace. More...
 
void assemble_system (const Vector< double > &curvature)
 
void solve_system ()
 Solve the system. More...
 
void smooth ()
 Perform the full smoothing. More...
 
void compute_curvatures (Vector< double > &curvatures)
 Compute curvatures at the. More...
 
void apply_curvatures (const Vector< double > &curvatures, const std::vector< bool > &boundary_dofs)
 Apply curvatures at the. More...
 

Private Attributes

Vector< double > & euler_vector
 
Vector< double > & curvature_vector
 
const DoFHandler< 2, 3 > & dh
 
const Mapping< 2, 3 > & mapping
 
Vector< double > reference_identity
 
std::vector< bool > boundary_dofs
 
std::map< unsigned int, double > boundary_values
 
Vector< double > solution
 
Vector< double > rhs
 
ConstraintMatrix constraints
 
SparsityPattern sparsity
 
SparseMatrix< double > matrix
 
SparseMatrix< double > mass_matrix
 

Detailed Description

Definition at line 19 of file surface_smoothing.h.

Constructor & Destructor Documentation

SurfaceSmoothing::SurfaceSmoothing ( Vector< double > &  euler_vector,
Vector< double > &  curvature_vector,
const DoFHandler< 2, 3 > &  dh,
const Mapping< 2, 3 > &  mapping 
)

Smooth all dofs in.

Definition at line 37 of file surface_smoothing.cc.

Member Function Documentation

void SurfaceSmoothing::apply_curvatures ( const Vector< double > &  curvatures,
const std::vector< bool > &  boundary_dofs 
)

Apply curvatures at the.

Definition at line 229 of file surface_smoothing.cc.

void SurfaceSmoothing::assemble_system ( )

Assemble the Laplace.

Definition at line 119 of file surface_smoothing.cc.

void SurfaceSmoothing::assemble_system ( const Vector< double > &  curvature)

Definition at line 125 of file surface_smoothing.cc.

void SurfaceSmoothing::compute_curvatures ( Vector< double > &  curvatures)

Compute curvatures at the.

Definition at line 212 of file surface_smoothing.cc.

void SurfaceSmoothing::fix_boundary_values ( )

All boundaries are fixed to.

Definition at line 107 of file surface_smoothing.cc.

void SurfaceSmoothing::smooth ( )

Perform the full smoothing.

Definition at line 92 of file surface_smoothing.cc.

void SurfaceSmoothing::solve_system ( )

Solve the system.

Definition at line 203 of file surface_smoothing.cc.

void SurfaceSmoothing::update_reference ( )

Whenever the underlying dh.

Definition at line 49 of file surface_smoothing.cc.

Member Data Documentation

std::vector<bool> SurfaceSmoothing::boundary_dofs
private

Definition at line 115 of file surface_smoothing.h.

std::map<unsigned int, double> SurfaceSmoothing::boundary_values
private

Definition at line 116 of file surface_smoothing.h.

ConstraintMatrix SurfaceSmoothing::constraints
private

Definition at line 121 of file surface_smoothing.h.

Vector<double>& SurfaceSmoothing::curvature_vector
private

Definition at line 110 of file surface_smoothing.h.

const DoFHandler<2,3>& SurfaceSmoothing::dh
private

Definition at line 111 of file surface_smoothing.h.

Vector<double>& SurfaceSmoothing::euler_vector
private

Definition at line 109 of file surface_smoothing.h.

const Mapping<2,3>& SurfaceSmoothing::mapping
private

Definition at line 112 of file surface_smoothing.h.

SparseMatrix<double> SurfaceSmoothing::mass_matrix
private

Definition at line 125 of file surface_smoothing.h.

SparseMatrix<double> SurfaceSmoothing::matrix
private

Definition at line 124 of file surface_smoothing.h.

Vector<double> SurfaceSmoothing::reference_identity
private

Definition at line 114 of file surface_smoothing.h.

Vector<double> SurfaceSmoothing::rhs
private

Definition at line 119 of file surface_smoothing.h.

Vector<double> SurfaceSmoothing::solution
private

Definition at line 118 of file surface_smoothing.h.

SparsityPattern SurfaceSmoothing::sparsity
private

Definition at line 123 of file surface_smoothing.h.


The documentation for this class was generated from the following files: