Flow123d
jenkins-Flow123d-linux-release-multijob-282
|
#include <darcy_flow_mh_output.hh>
Classes | |
class | OutputFields |
Public Member Functions | |
DarcyFlowMHOutput (DarcyFlowMH_Steady *flow, Input::Record in_rec) | |
~DarcyFlowMHOutput () | |
void | output () |
Calculate values for output. More... | |
const OutputFields & | get_output_fields () |
Static Public Attributes | |
static Input::Type::Record | input_type |
Private Member Functions | |
void | make_side_flux () |
void | make_element_scalar () |
void | make_element_vector () |
void | make_sides_scalar () |
void | make_node_scalar_param () |
Calculate nodes scalar, store it in double* node_scalars instead of node->scalar. More... | |
void | make_node_scalar () |
void | make_corner_scalar (vector< double > &node_scalar) |
void | make_neighbour_flux () |
void | output_internal_flow_data () |
void | compute_l2_difference () |
void | water_balance () |
double | calc_water_balance () |
Private Attributes | |
DarcyFlowMH_Steady * | darcy_flow |
Mesh * | mesh_ |
Input::Record | in_rec_ |
Accessor to the input record for the DarcyFlow output. More... | |
vector< double > | corner_pressure |
VectorSeqDouble | ele_pressure |
VectorSeqDouble | ele_piezo_head |
VectorSeqDouble | ele_flux |
std::vector< double > | l2_diff_pressure |
std::vector< double > | l2_diff_velocity |
std::vector< double > | l2_diff_divergence |
Vec | vec_corner_pressure |
DOFHandlerMultiDim * | dh |
MappingP1< 1, 3 > | map1 |
MappingP1< 2, 3 > | map2 |
MappingP1< 3, 3 > | map3 |
FE_P_disc< 1, 1, 3 > | fe1 |
FE_P_disc< 1, 2, 3 > | fe2 |
FE_P_disc< 1, 3, 3 > | fe3 |
OutputFields | output_fields |
OutputTime * | output_stream |
FILE * | balance_output_file |
Temporary solution for writing balance into separate file. More... | |
FILE * | raw_output_file |
Raw data output file. More... | |
Actually this class only collect former code from postprocess.* This code depends on values stored in mesh and has to be changed to use fields or other data provided by interface to darcy_flow. We have to relay on the interface in order to allow different implementation of darcy_flow.
Principal functionalities of current postprocess are:
Further functionality of this class should be:
Definition at line 69 of file darcy_flow_mh_output.hh.
DarcyFlowMHOutput::DarcyFlowMHOutput | ( | DarcyFlowMH_Steady * | flow, |
Input::Record | in_rec | ||
) |
Definition at line 102 of file darcy_flow_mh_output.cc.
DarcyFlowMHOutput::~DarcyFlowMHOutput | ( | ) |
Definition at line 174 of file darcy_flow_mh_output.cc.
|
private |
|
private |
Temporary hack. Calculate approximation of L2 norm for: 1) difference between regularized pressure and analytical solution (using FunctionPython) 2) difference between RT velocities and analytical solution 3) difference of divergence
TODO: 1) implement field objects 2) implement DG_P2 finite elements 3) implement pressure postprocessing (result is DG_P2 field) 4) implement calculation of L2 norm for two field (compute the norm and values on individual elements as P0 field)
Definition at line 690 of file darcy_flow_mh_output.cc.
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Calculate nodes scalar, store it in double* node_scalars instead of node->scalar.
< tmp variable for storing particular distance node –> element, node –> side*/
Iterators
< number of nodes in the mesh */
< index of each node */
< sum elements joined to node */
< sum sides joined to node */
< sum distances to all joined elements */
< Sum distances to all joined sides */
tmp variables, will be replaced by ini keys TODO include them into ini file
< scalar is counted via elements*/
< scalar is counted via sides */
init arrays
first pass - calculate sums (weights)
< get Node pointer from element */
< get nod index from mesh */
< get Node pointer from element */
< get nod index from mesh */
second pass - calculate scalar
< get Node pointer from element */
< get nod index from mesh */
TODO - calculate it again or store it in prior pass
< get Node pointer from element */
< get nod index from mesh */
TODO - calculate it again or store it in prior pass
free memory
Definition at line 302 of file darcy_flow_mh_output.cc.
|
private |
|
private |
void DarcyFlowMHOutput::output | ( | ) |
Calculate values for output.
Definition at line 193 of file darcy_flow_mh_output.cc.
|
private |
|
private |
Calculate and output water balance over material subdomains and boudary fluxes. Works only for steady flow.
TODO:
Definition at line 422 of file darcy_flow_mh_output.cc.
|
private |
Temporary solution for writing balance into separate file.
Definition at line 188 of file darcy_flow_mh_output.hh.
|
private |
Pressure head (in [m]) interpolated into nodes. Provides P1 approximation. Indexed by element-node numbering.
Definition at line 160 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 152 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 175 of file darcy_flow_mh_output.hh.
|
private |
Average flux in barycenter of every element. Indexed as elements in the mesh.
Definition at line 169 of file darcy_flow_mh_output.hh.
|
private |
Piezo-metric head (in [m]) in barycenter of elements (or equivalently mean pressure over every element). Indexed by element indexes in the mesh.
Definition at line 164 of file darcy_flow_mh_output.hh.
|
private |
Pressure head (in [m]) in barycenters of elements (or equivalently mean pressure over every element). Indexed by element indexes in the mesh.
Definition at line 162 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 179 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 180 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 181 of file darcy_flow_mh_output.hh.
|
private |
Accessor to the input record for the DarcyFlow output.
Definition at line 156 of file darcy_flow_mh_output.hh.
|
static |
Definition at line 99 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 172 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 172 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 172 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 176 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 177 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 178 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 153 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 183 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 185 of file darcy_flow_mh_output.hh.
|
private |
Raw data output file.
Definition at line 190 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 174 of file darcy_flow_mh_output.hh.